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

No, I won’t.

13.05.2008 by tg@

We have lived for 25 years with the seekdir bug, and even if it’s now on slashdot this does not mean we will immediately patch it. Besides, bringing that part of libc in sync with OpenBSD will involve libc and libpthread shlib version major bumps, which is a bit overkill for this diff.

It will go anyway with the upcoming merge of more recent OpenBSD base code. There are more pressing issues. But I have looked into it.

Happy birthday, laffer1!

Whew. We have a new qemu port, but it doesn't boot MirBSD/i386 any more. It almost boots MirBSD/sparc now though. Luckily I could backport the new port's ability to use kqemu. Thanks to Fabrice Bellard and the OpenBSD ports guys for this.

The Zaurus... SL-C3200... it's a neat device, but after I managed to get the pl2303 LKM cross-built (bah!), along with the usual tools mksh(1) and jupp as well as pax(1)mirabilis for the ability to extract my CacheWolf profile onto a (FAT) filesystem - did I mention just how much busybox sucks? - Ewe doesn't work. Meh. Go to OpenBSD/zaurus, enter a SIGBUS in gtk+1.2 - exactly what I want. The gtk+2 version works, but now, X.org plus GTK+2 plus Ewe (Java™ Ranz!) eat up all of the 64 MiB RAM plus initially 4 to 8, later 20 to 40, MiB swap. Not nice. (Some people are said to use a CF card for swap due to it being faster than the internal HDD, a microdrive. Geez.) If I'm cycling with more than say 5 km/h, the moving map hinders parsing the GPS symbols... NMEA 0183 at 4800 bps. But I managed to find another cache before going totally crazy.

After Linux (grml, FrOScon edition) has destroyed my NTFS partition, now the ext2fs driver has managed to impale quite some of my FFS filesystems again. This time, Linux isn't even at fault. (Hm, fsck_ffs(8) and e2fsck seem to have a common ancestor.) The downside however is that my encrypted home is now gone. Totally gone, as in, fsck deleted the dirent, inode, and allocation of blocks.
Yeah, I have backups, but only for the most important things, not for everything, and quite old ones. I have had to restructure my storage use anyway, now's a good time for it. Hah! And that after I chose to use ext2fs ipv msdos for a common data xfer partition between BSD and Win2k due to msdosfs eating up long filenames when a directory has a lot of them, even on OpenBSD 4.3/zaurus FWIW.

While I was quite reluctant to hack anyway recently, or even to idle in IRC or, worse, Jabber, I guess this'll throw me back even more. MirBSD isn't affected, except in further development becoming delayed.

There will most probably be a snapshot of MirBSD-current really soon. But other work (mksh R34, mirmake in Debian, MirEwe, ports, gcc) is postponed; I will try to focus on the more important things (AES vnd(4), improvements for CAcert, merging OpenBSD-current maybe even, but that not before the migration to tear is complete). OTOH, for both MirPorts on !MirBSD and pkgsrc® on MirBSD, I have laid foundation for others to build upon. Maybe they will.

Just a side question: why don't things just work every once in a while? And why, oh Murphy, do things go wrong the worst way possible, always?

MirEwe on MirDarwin?

04.05.2008 by tg@
Tags: geocache

On an unrelated note, mksh needs people running the current development version, to prevent mishaps like the one with the fullwidth characters causing wrong text output. To do that, use AnonCVS like this:
% env CVS_RSH=ssh cvs -qz3 -d _anoncvs@anoncvs.mirbsd.org:/cvs co -PA mksh
Then, as usual, cd mksh && (sh Build.sh && ./test.sh -v) 2>&1 | tee log.txt to build and test it. Then, especially if it fails, send the logs to me.

Ewe is an embedded VM for some Java™ 1.1 compatible stuff. I had to fork it to use it on MirBSD and to be able to fix it. So well. It now builds on gecko2@’s Macbook. Using MirMake, of course *g* It’s even usable… which means that he can now use CacheWolf and his laptop to go geocaching.

Speaking of geocaching: more stats bragging… although a little different this time:
〔fwrtcommitstats removed due to FreeWRT archival〕 gecko2@’s founds and hides
Although only the first two are CacheWolf committers…

Ah, damnit. It freezes the usbserial (Prolific) driver when accessing the serial port. Well, Apple… they don’t even use GNU as(1) either.

… as you could get it. This is because gecko2@ asked for some more cvs commit eMail “spam” ☺

While on the spam topic: do not send an eMail to one of the following addresses: junk@mirbsd.org, junk@mirbsd.org, or junk@mirbsd.de, or, again, <junk@mirbsd.org>, <junk@mirbsd.org>, or <junk@mirbsd.de> (greytrapping)

Luckily, my internet uplink has been stable for more than 4⅓ days now, after repeated phoning (an 0800 number then) and resetting the NTBBA.

Some more statistics:

Geocacheing continues: (Update: images moved here) – now I’ve hidden my first two traditional micros (easy series), and one of them even is sort of a “lost+found” directory virtual cache overload.

BOINC continues, I’m in 9 projects now: BOINC stats
While only 8 projects show up at the moment, this’ll improve once the last project delivers in a result (it were more projects actually, but some don’t even work on hephaistos…) – now the first WCG valid WU returned from MirBSD! (MidnightBSD can’t, because I can’t run brandelf on the signed binaries of the apps… sucks to be FreeBSD derived ☻☺)

Ah, and, by the way: XTaran did not like external links, especially not secure links (https) in my wlog entries, so Planet Symlink doesn’t get them now (as it pulls via RSS), but you can look at it on the wlog.

… but calling does. The bad part is that the internet support number starts with 0900…, which means it cost me 1.69 €/min (and the call took me about 3‥4 minutes), but on the other hand, they quickly fixed the issue, sent me an SMS that they did it (just, sadly, not what it was), and since then, I haven’t been forcefully disconnected any more. This is good.

Now I’ve just got to look if this is stable, then re-measure my bandwidth. And in May, I’ll get even better upload (736 kbps instead of 608 kbps).

Verpeilungsfaktor stories: in our weblog source, we use RFC822 style header lines: “Date”, “Author”, and… “Title”. Not “Subject”. And I wondered why the posting headline wasn’t shown… Since we’re on Planet Symlink now, I try hard to find a matching one for each posting, because it looks stupid there with just the date.

Another one: we use four dashes on a line by themselves for separating log entries; the mksh regression test uses only three, as you can see. And yes, I fell for it (gave me a nice Perl error message over there, and a nice shell script induced error over here).

A last question (rhetorical: no answer needed, just nudging your brain): what do you do with your spare time, if everyone who’d to something together with you either moved away, is working or ill? And: if you were to move away yourself, would the situation improve, worsen or stay the same?

The ttftot42 utility I asked bsiegert@ to port was actually mentioned in some GNU groff documentation as a possible way to use OpenType fonts in ps/pdf manpages. I always liked the Gentium font (which we use for the MirOS CI/CD), and starting from when I first saw it, I hated anything remotely looking like the Courier font, so I guess this means that the PDF version of mksh’s online manpage will soon have a new look.

On an unrelated note:

	ppp[28555]: tun0: LCP: deflink: RecvTerminateReq(206) state = Opened
	ppp[28555]: tun0: LCP: deflink: LayerDown
	ppp[28555]: tun0: LCP: deflink: SendTerminateAck(206) state = Opened
	ppp[28555]: tun0: LCP: deflink: State change Opened --> Stopping
	ppp[28555]: tun0: CCP: deflink: State change Stopped --> Closed
	ppp[28555]: tun0: CCP: deflink: State change Closed --> Initial
	ppp[28555]: tun0: Phase: deflink: open -> lcp
 

(not using pppoe(4), to enable debugging)

For me, this very much looks like my ISP doesn’t like my nose or something and wants the ADSL (ppp(8)+pppoe(8)) session to terminate.

Another unrelated side note: MirOS ports/math/boinc definitively is able to return valid results to some projects (although some of these which work require setting the primary platform to Lunox, but I’m trying to get that bug on their server-side fixed.

Just returning from a week in the south, and feeling well. By sheer verpeil0ring, I was away the whole time that tg@ spent in Basel, just a few kilometers from here. But those holidays were necessary, and I enjoyed them very much. @work, there are new stagiaires of which I don't even know the name but it does not look as if anything had moved during my absence ;).

I am trying to port ttftot42, a nifty utility for converting TrueType fonts to PostScript Type 42 (which seems to be straightforward) and, more interesting for me, can create AFM files for them. Using those fonts in Teχ is only an afm2tfm away then. The last version is from 1999 and needs freetype 1. The author—very responsive indeed!—says this is not yet fixed but promised to send me a hg snapshot. While here, we now have a mercurial (hg) port ;).

when ranting helps

21.04.2008 by tg@

Today’s pcc from anoncvs bootstraps successfully and builds mksh just fine, and is amazingly fast (almost en par with Microsoft’s compiler). Wow, they fixed all the things I ranted about in my earlier postings. Congratulations, pcc team.

Now tcc and TenDRA/Ten15 (schizo) are next (mainstream compilers failing). And LLVM/clang and ACK deserve testing.

I wish ranting would help with my internet connection… gotta fight with the ISP/Telco now.

more rants

20.04.2008 by tg@

I already ranted about pcc… well, I got a reply to my first mail to the pcc list (where the second one cleared up the five things mentioned in the previous posting), a sort of still friendly one-liner, to which I replied with that he should probably read my other mail, to which I only got an unfriendly comment that “you are wrong”. Hah! (Well, I got my “pcc -E” fixed.)

I guess I just cannot recommend to use pcc, and will have to maintain my own set of patches. Trying to get them upstream shipwrecks on a barrier of incompetence, regarding not only autotools but also how a compiler (cc(1) standard interface) must work: at first, on -O (or -O*), pcc did simply an Oflag++; which I mentioned as wrong (adding a fix)… but look for yourself. Oh, and they reply using weird – OpenBSD (latin1) or Windows (cp1252) – encodings on mails properly sent using Unicode (UTF-8), as is the default in sane operating systems like MirOS and Plan 9. Incompetence whereever you look. This matches the interesting UCB hack in mv(1) I recently found… or OpenBSD’s inability to port GNU tools.

Also, I suppose my ISP/Telco is going to get some angered tg@ tomorrow. The NTP Pool scores show that I’m suffering from a lot of network hiccups. This LCP fluctuation kind of sucks, as does the current transfer rate. Just the latency is still surplus, 11.2ms to heise.de (suckers as well, but for totally different reasons) and 18.3ms to google.com (also suckers, for a couple of yet another reasons I think I already elaborated).

pcc sucks

20.04.2008 by tg@

I probably could compile mksh on pcc again… if pcc would compile itself. Hey, this one is about the contrary of OpenBSD or lynx, where development versions are stable… pcc should warn before cvs upping.

Every time I try to build mksh with pcc, either it’s totally b0rked or I have to fix it. Today: ragge doesn’t understand autotools. (He added a test to configure.ac which ① gives a syntax error when failing, ② fails when compiling pcc using pcc as the compiler, ③ doesn’t show up if /lib/cpp exists (on GNU/Linux, I suppose), ④ produces a broken cpp(1) executable if it fails, ⑤ doesn’t even test for the thing it is supposed to check.)

Oh, and the charsets of the mails are b0rken. (WTF windows-1252 when I send UTF-8?) See all the ugly details here (XXX insert link).

Back home again

20.04.2008 by tg@
Tags: hardware mksh

Back home… there just ain’t such place as [::1]… (that’s localhost for all of you who don’t use BSD). Swinging on the bike and going to the ice dealer, the best of them all. It was kind of nice in Switzerland and it’ll be a hard decision for me whether I’m going to move there or not. But after arriving at home, past the bike tour, I fell into sleep pretty soon. Travelling may be interesting, but it sure is tiring.

Too bad I couldn’t find the two geocaches I looked for on the way back.

I hacked some mksh on the train, until I had no power left in the batteries… the laptop literally just went off all suddenly… and continued that until now. We have some quite interesting new features in now, only sad point is that we still can’t hexdump NUL.

I should definitively get my new server (tear) running now, for which the only dependency left ought to be the updated vnd(4) crypto stuff. This will take a while, as I’ll design a new on-disc format as well for improved security (think of keys, IVs, and so on). After that’s done I’ll give y’all a snapshot of MirOS-current, and update a lot of ports.

Maybe I should work on bringing a regular sparc boot floppy into the tree as well – last time, I had to hand-craft one. But it will be lacking.

There’s so much interesting stuff to do. Working on the Zaurus, ALIX, my SPARcstations (still no big monitor yet, so I couldn’t test Miod’s patch to make tvtwo(4/sparc) work yet), more FreeWRT devices… but I can’t neglect my dayjobs either. And I ought to learn to read and fix Perl *sigh*

This sucks: I have network (internet) outages since last night. Sometimes, ppp(8) + pppoe(8) still work when pppoe(4) doesn’t, but most of these times, both are unusable. The rest of the time, I sometimes have huge lags. My ISP (which unfortunately is a telco, but they aren’t completely clueless either) wanted to upgrade me from a 4 Mbit/s connection to a 6 Mbit/s connection as the old product doesn’t even exist any more (and I’ll save 10 €/month now), and the cable length (230m) isn’t an issue either. Testing today (as per the salesman I should have it May 1st, per the acknowledgement mail April 15th) I’ve got about 6 Mbit/s down, but my upstream speed is even reduced! WTF?

Argh! Later on this night, my network connection is so flakey…

Geocacheing in Basel

17.04.2008 by tg@
Tags: geocache

This time I did find a geocache far away from home…

Only two OCs here, sadly…

… in contrast to when I was in Bruxelles, as Benny and gecko2 didn’t seem to want to have time for that (or walk at all, they coerced me into the tram). This time, I went cacheing with Tonnerre, and he kind of lined it.

Time to push opencaching in Switzerland. He said he might even drop some caches (although – jokingly I hope/suppose – his first idea was „Finding Sandro“, where the cache is a person… or his home appartement). Likewise, I’ll push OC (and, a little, TC) whereever I’m going to live or lived.

While here, special greetings to the TGIF@BS meeting which I won’t attend, as I’ll take an earlier train back home tomorrow. It was nice here, much more so than in, for instance, Berlin.

Perl is evil. But knowing the basics of other programming languages helps. I guess I’ll invest some time into learning perl better, so that I can get rid of it (in MirPorts, for example), and better understand what others try to write in it (so it can be converted to mksh if possible, or at least fixed or optimised).

People can be quite annoying at times (mostly in Jabber, but also via eMail or IRC). Hey, if I just don’t reply my current location per eMail, sending another one asking specifically for it again isn’t going to improve my mood. Neither is constantly annoying me with enquiries about whether I’m really gonna move („zügeln“) here or not, after I had already stated I’ll think over it next weekend (or so), since I have a few reasons pro et contra, some of which are orthogonal to what I see here. I concentrate on getting a feel right now. Oh, and texting me one messager after another in Jabber (or, worse, by SMS to my Natel) even if I don’t reply (which, on the other hand, does not imply I’m willing to conversate either!) just gets on my nerves. And: go fucking RTFM, and don’t fucking bother me with „the XXXXU2B controller doesn’t exist, because the vendor website only lists the XXXXU2W“ – if you know any vendor websites you should long know better than to trust them.

For what it’s worth: for building MirEwe, you need very current MirMake (at least 20080411), g++, GTK+1.2, GTK+2, libjpeg, zlib, and their development headers. It should work on GNU/Linux and the BSDs for now. No platform other than i386 has been tested yet, but I’ll take on the Zaurus running OpenBSD, I guess, as I finally got the uplcom(4) working. Ah, and to rebuild the class libraries you need ecj and paxmirabilis/MirCpio – I did the ecj part on Debian and the rest on MirBSD.

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