Developers’ Weblog

Sponsored by
HostEurope Logo

Developers’ Weblog

All 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

light bulbs

28.12.2008 by tg@

Yesternight, not only my server crashed in the softupdates code again (*sigh* two RAID 1 rebuilds and a lot of fsck(8)), but also one of these energy saving light bulbs (13W). This proves that they do not have a longer lifetime than regular bulbs.

I oppose the planned ban of regular light bulbs, because, although almost(!) all of mine are energy saving ones, some of the propaganda apparently is wrong, plus they are not good in situations where the light switch is used very often, or when the light is only on for very short amounts, such as in the entrance area of an appartement (say 1½ m²).

What did I do? Meh, just some bootloader hacking.

Today, we gained arc4random_buf(3), arc4random_uniform(3) in libc and arc4random_atexit(), which is undocumented, but called from _exit(2) and all exec-style functions via execve(2) and exect(2). Since omalloc(3) needs arc4random(3) anyway, it is no real overhead, but a great way to make modelling the pool stuff even more difficult. Thusly, arc4random_pushk(3) retires in favour of arc4random_pushb(3) but stays as cpp(1) define.

Riding on the minor bump, mempcpy(3) stpcpy(3) stpncpy(3) GNU style were added as well.

Next plans are: rewrite src/lib/csu for pcc, make a port of uw-imapd with (maybe LTMIRMAKE?), make the pine and alpine ports use it, make the php-imap extension work with it again, further improve src/kern/ stuff and maybe www/mk/

More deep changes are however still postponed until OpenBSD is merged better.

I also fixed makefs(8) again ☺

MirOS @ 25C3 Updates

25.12.2008 by tg@
Tags: event

Word has reached me that Benny and Przemek are both suffering from illness (nothing bad, just a cold, don't worry) and thusly will not be attending the congress either.

As gecko2@ is currently preparing his machines, we believe he will uphold our representation at the event. Please join the IRC channel or the mailing list if you have any questions.

To these who do: happy celebrating!

I have just placed a couple of MirOS CDs and flyers (English and French only though ☺) in the hands of a friend while helping him to move to Berlin. Either him or Benny (bsiegert@) or Andreas (gecko2@) will distribute them at 25C3, or we’ll place them somewhere. I (tg@) will not attend, replaced (ahoka@) probably neither. You might be able to track down Benny in between some of the talks if you have any questions regarding MirPorts and MirOS, though.

To these who do, happy celebrating! is an mksh(1) shell script able to convert from Subversion repositories (remote access via URLs, needs installed svn client) to RCS/CVS repositories (local access via pathnames, needs installed rcs(1) ci(1) co(1) GNU RCS, as well as cvs(1) GNU CVS, for rcsfile(5) handling). For more information, see the included help as well as the commit message.

If you have any improvements or requests regarding this script, please contact me or the miros-discuss@ mailing list. There is a discussion thread for it.

In case you didn’t, read cvs(GNU) a.k.a. The Cederqvist! Another source of CVS tricks is courtesy of «ThunderChicken:#cvs» and includes some from myself.

The 13.rcs(PSD) documentation and rcsintro(1) are online as well!


17.12.2008 by tg@

Today I updated a couple of things (Perl, OpenSSL, OpenSSH, libpng, Lynx, Sendmail) in MirOS-current. Should be pretty much all needed, and stuff should still be working.

XFree86® 4.8.0 is out, we’ll update once we have human resources to do it.

The next snapshot may not contain the newer X11 unless stable. If imported and stable before the #11 release (whose criteria include OpenBSD merge), it’ll be used there.

Today I’ve got an interview at a potential new employer. *crosses fingers* Wish me luck. Or employ me. (Donations to be used for travel and accomodation for “events” are still desired for all of us developers.)

mksh R36b

14.12.2008 by tg@
Tags: mksh

mksh R36b is out, grab it while it’s still hot ☺ There’s an impressive change list for a mere bug-fix version, and this is the first one where ahoka@ has contributed directly. Upgrade is recommended for all users. The new memory allocator has been backed out for stability.

MirOS-current has mksh R36b plus some changes from mksh-current, mostly renaming set -o utf8-hack to set -o utf8-mode denoting said technology is solid after ages of testing. MirOS-stable has R36b.

wb bleu (X40)

10.12.2008 by tg@
Tags: hardware

Yay, the IBM X40 is back. No explanatory letter, just an invoice over 0 € (funny), but it works. The BIOS clock was off by an hour, I suppose they have booted a Windows® – maybe its “driver” has fixed the graphics chip. So I can go back trying to build a working snapshot again.

And never boot a GNU/Linux, especially not KNOPPIX!

PACKSTATION rules! Even though I yet have to figure out how to use it for sending out a snail mail package.

Maybe I should just go and get stuff for soldering odem back to life, though. Anyone want to buy an otherwise perfectly fine working IBM X40 with docking station and laptop bag? It’s not used much even by the previous owner (french company) and in good state.

We have Mirzilla Firetapir now, but I need to figure out how to get a cleanly separated xorg-reachover port for MidnightBSD done… unless I’ll be porting XFree86® (client part only) over.

I’ll still be using nwt this evening for recreation. And the win2k box nocd has RANDEX in Cygwin, using tinyirc, irssi, and mirsirc. I should definitively create a webpage on the site here for randex. Maybe make a tinyirc port – once it can deal with SIGWINCH…

Some search engine bait: Tom Kohnen, thanks for your old nwt laptop. The MirOS OPTU-8 encoding does UTF-8 (WTF-8?) and CESU-8, while OPTU-16 can do UTF-16 in pcc. Mirzilla Firetapir is the Vutral name for Mozilla Firefox, ports/www/firesomething. Vutral too helped to invent the MirOS RANDEX protocol (entropy exchange over IRC), which has nothing to do with the Win32 worm, just random numbers. My graphician – smultron – needs to expand mksh and I suggested, besides letter spelling (em ka es ha, or for the English, em kay es aytch), or the “polish/klingon variant” (m’ksh), or the official expansion “MirBSD Korn Shell”, he call it “MidnightBSD Korn Shell”. The invalid ones were “make shell” or em kay shell, this is something else. On a side note, we’ll be having a logo for mksh(1) soonish.

website updates

04.12.2008 by tg@

If you look carefully, you might notice small changes to the website, both HTML and RSS versions. Enjoy!

Netcraft confirms: my IBM X40 is dying

27.11.2008 by tg@
Tags: hardware

Well, maybe not Netcraft. But I couldn't resist the joke, having been a regular Slashdot reader for years, seeing its quality sink, until I suddenly could not login any more with lynx(1), best browser ever.

This morning, I tried to power it on from cold state, and could not even see that password (machine + IDE) prompt. After I typed blindly, I was able to use Fn-F7 (seems as if it's not enabled that early in the boot process), but only for less than one second each try, despite unplugging the AC power supply again. Well, I made it through the boot and shut down the box cleanly again, but it confirms that it's not a heat issue. But what else could it have been? At first I thought that maybe the PSU sent too much current or something, but that's also not it. Perhaps Tonnerre is right and it's all Knoppix' fault ;)

Looks like I'm going to do some hacking on nwt today...

Laptops – IBM X40 vs MiTAC 4023

26.11.2008 by tg@
Tags: hardware bug

Today, I intended to do some hacking too, maybe on that new allocator for mksh again. However, I never came that far.

Michael "tazz" Kristensen decided he'd try MirBSD. He wanted to boot from a USB stick, before he found out his computer couldn't (now what a surprise, if you ask me...). Since he has a GNU/Linux and GNU grub running, I'd thought we could use memdisk (from SYSLINUX) to boot off the ISO as if it were a hard disc. I ended up making him a hard disc image with a small FAT12 partition (just IO.SYS, MSDOS.SYS, COMMAND.COM and BOOT.COM – a.k.a. /usr/mdec/boot) and a small 4.2FFS MirBSD partition (just bsd.rd), which worked. However, I first needed to produce a test hard disc (image) into which I could place GNU grub, memdisk and the fake disc image. For that, I booted Knoppix 4.0.2, and from then on (coïncidentally or not) strange things started to happen...

My shiny new IBM ThinkPad X40 started to blank the screen while I was typing (so it wasn't a screen saver issue). Fn-F7, waiting for half a minute or so, and Fn-F7 again brought back the screen. It did not come from moving, and it's not the inverter (I checked with a flashlight, the TFT is really out). Anyway, it continued to work for quite a while. Sadly, the intervals it would work eventually got as short as a few seconds. I found out that unplugging the AC power supply helped... for a while. The intervals eventually got down there as well. Cleaning the fan I tried, but it does not seem like a heat issue either.


I cannot simply afford another laptop. I bought this one because it was popular with the OpenBSD people... while the hardware is working nicely, the TFT is a tad small, the keyboard is an absolute shame, and the "mouse" buttons... well, let's just not talk about any IBM laptops, okay? — Nevertheless, I need it for work, development, and other (private or not) things. Fuck.

This wlog entry has been written on a MiTAC 4023 laptop. While it only has a DSTN (or STN?) LCD, 12 MiB RAM, a Cyrix 486DLC CPU with, I believe, 33 MHz, it works (despite the aged custom MirBSD #8-current single-user-only mostly-crunchgen(1)d installation).

Tom "nwt" Kohnen, einer der beiden Luxemburger, von denen ich viel halte, wenn Du wüßtest, wie oft Dein alter Laptop, den Du für wertloser als den Nike-Sticker, mit dem er beklebt ist, gehalten hast, mir schon den Arsch gerettet hat... Leider bist Du nicht mehr im IRC, aber falls Du dies liest, fühl Dir gedankt!

pcc and Win32

25.11.2008 by tg@
Tags: pcc snippet unicode

I think I’m quite finished with the Unicode stuff. You can now do really weird things like this:

今日は(const struct person *$kunde)
        printf("Γεια σου %ls!", $kunde->имя);

ISO C99 permits it.

On the other hand, pcc on Win32 appears broken, cannot be compiled either natively (e.g. due to use of “long long” and other bogus things which may be C99 but not MS-C90) nor cross from GNU/Cygwin32 (because the Win32 port seems to be orphaned and, even if I try to fix these things, it doesn’t work for me). So I couldn't get it to build a simple MessageBoxW() hello world programme.

I wonder what the reception of my patch will be. I wish support for wchar_t were a release goal, then I could try to tap into that BSD func *smile* but anyway, I was just bored, and we need wchar_t support in pcc anyway, and better I do it than some ISO-2022-JP fanboy. And that above example… well, three more lines of code, so that you can actually write “int blöd;” ipv “int bl\u00F6d;” ☻☺ I think it’s worth it, even if such can confuse the hell out of people trying to read your code.

This thread contains the patches (three versions, until now… use today’s please), in case you want to help testing.

All 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

MirOS Logo