KiBi is my hero of the day. I’ve long wondered why I couldn’t select fixed-misc as font on my workstation at the dayjob, which is running Kubuntu Hardon Heroin. (Luckily, I managed to avoid upgrading to Prolonged Pain.) Now I guess that’ll work again.
My work laptop (running testing) also has got this X.org thingy. My keyboard layout now has got a grml branch (named after the person who first cursed about the insane idea of those toy-breaking boys to rearrange the keycodes) that works with it. Since Debian is marginally more sane than Kubuntu, in contrast to the gnu branch I use on my orkstation, the grml branch still has Meta on the left Alt key, not Mode_switch, as it still works in uxterm, which reduces the diff between the MAIN branch (HEAD) on XFree86® and this beast.
And finally: X.org defaults to a black screen and disabled mouse pointer until an application first requests it. Totally unacceptable for evilwm(1) users, and letting people think it crashed, to boot. The Arch Linux guys found this, among others; the fix is: startx(1) users edit /etc/X11/xinit/xserverrc to add -retro behind the X, or copy the file to ~/.xserverrc and change it there:
#!/bin/sh exec /usr/bin/X -retro -nolisten tcp "$@"
For display managers, similar files exist in /etc/kde4/kdm and related places.
Update: Also, newer xterm(1) justify an update to ~/.Xresources for we can finally get rid of cut buffers, and get a blinking underline cursor to boot!
On the other front, worked on Debian packaging, and upstream on pax(1) and jupp, with more things to follow (especially in mksh). Also fixed about ⅔ Linux klibc architectures and learned why I’m a BSD developer despite all the bad parts of it ☺ and fixed fakeroot with pax(1) on Hurd… incidentally in code originally designed to support the Linux pax. My dayjob’s keeping me busy, but I’ve got plans to run mksh(1) through Sonar, in addition to the static code analysēs done by (once again, thanks!) Coverity (commits to mksh pending) and Clang/LLVM scan-build. Uhm, what can I say more, grab me in IRC if you need it. Ah, and some other mksh things coming up that may be of interest to people needing to support legacy scripts.
While wtf(1) always has been a bit central to MirBSD, and the acronym database
has been accessible by CVSweb,
what we never had was a DAU compatible (and shellsnippets
compatible) lookup. This has now changed: the above link to
the acronyms file is a persistent link to its latest version
(well, latest when the website was last recompiled), tooltips
may very well follow soon, and we’ve got an online WTF lookup service.
Contributions to the acronym database are welcome, of course;
just eMail them to tg@mirbsd.org.
Not to stop there, our online
HTML manpage search is also new, shiny, and should replace
the “!mbsdman” DuckDuckGo hash-bang shortly. (Both of
these services offer a DDG search as fallback. Note that DDG is
an external service included herein by linking, under their
request to spread it, and not affiliated with The MirOS Project.
They do, however, donate some advertising money to Debian.)
For all those who didn’t know: only manpages for software in the
MirOS BSD base system and for the MirPorts Framework package tools
are listed, not for third-party applications installable using ports or, recently, pkgsrc®. Still, if you want to have
a peek at a modern classic BSD’s documentation, you’re welcome. (Not
to mention content like re_format(7) and style(9) and that some of
our documentation is much more legible than others.)
And because writing all that perl(1) made me ill, not to mention I don’t even know that language, I’ve hacked a bit more in the mirmake(1) and mksh(1) parts of the MirWebsite, finally implementing pointing out where in the navigation sidebar the visitor currently is.
We also have exciting mksh porting news involving RT trying a larger number of ancient platforms than I dare count, me fixing bugs in Linux klibc and diving into other things, learning more about why I consider me lucky for hacking a BSD operating system… sorry, I want to keep this short as it’s mostly an announcement.
The MirWebsite source code is, of course, also available. Improvements welcome. Except for these three CGIs, our website is fully statically precompiled, and that’s a good thing. Please help in making the CGIs secure.
On MirBSD and other sane OSes, you can just press ^T (Ctrl-T) when dd(1) runs; this sends it a SIGINFO (cf. sigaction(2)) which asks it to display (progress) information to the tty. This includes kFreeBSD, btw.
Update 07.01.2012 – this also works on Hurd. Linux neither has SIGINFO nor (cooked mode tty) support for it.
There’s also pv:
dd if=/dev/mapper/vg01-${customername}--hudson bs=1048576 | \ pv -pter -B 1048576 -s 85899345920 | \ xz -0 >/mnt/ci-${customername}-snap-20120105-lenny.img.xz
I used this At wOrk today to back up a Jenkins VM before upgrading its underlying operating system for evaluation. Here, the -s flag is the total size (in bytes; don’t forget to multiply by 1024 when reading from Linux’ /proc/partitions) so pv can calculate a total and an ETA; -B is the same as bs; and xz is the currently best compressor to use, in any situation, unless you must stay compatible to gzip(1)-only systems. (Except that it’s not under an Open Source licence.)
clpbar might also be worth looking into. XTaran points out sid has this as bar.
PSA: Last of June, 2012, will be a leap second.
This is both a release announcement for the next installment of The MirBSD Korn Shell, mksh R40b, and a follow-up to Sune’s article about small tools of various degrees of usefulness.
I hope I don’t need to say too much about the first part; mksh(1) is packaged in a gazillion of operating environments (dear Planet readers, that of course includes Debian, which occasionally gets a development snapshot; I’ll wait uploading R40c until that two month fixed gcc bug will finally find its way into the packages for armel and armhf. Ah, we’re getting Arch Linux (after years) to include mksh now. (Probably because they couldn’t stand the teasing that Arch Hurd included it one day after having been told about its existence, wondering why it built without needing patches on Hurd…) MSYS is a supposedly supported target now, people are working on WinAPI and DJGPP in their spare time, and Cygwin and Debian packagers have deprecated pdksh in favour of mksh (thanks!). So, everything looking well on that front.
I’ve started a collection of shell snippets some time ago, where most of “those small things” of mine ends up. Even stuff I write at work – we’re an Open Source company and can generally publish under (currently) AGPLv3 or (if extending existing code) that code’s licence. I chose git as SCM in that FusionForge instance so that people would hopefully use it and contribute to it without fear, as it’s hosted on my current money source’s servers. (Can just clone it.) Feel free to register and ask for membership, to extend it (only if your shell-fu is up to the task, KNOPPIX-style scripts would be a bad style(9) example as the primary goal of the project is to give good examples to people who learn shell coding by looking at other peoples’ code).
Maybe you like my editor, too? At OpenRheinRuhr, the Atari people sure liked it as it uses WordStar® like key combinations, standardised across a lot of platforms and vendors (DR DOS Editor, Turbo Pascal, Borland C++ for Windows, …)
ObPromise: a posting to raise the level of ferrophility on the Planet aggregators this wlog reaches (got pix)
My dear MirBSD co-developer Benny did not only get his Doctor title but also recently married. There will be another post detailing this, including better photos of the two Doctors and the cake (with a Dæmon she made herself) on the wlog, but this is some fun beforehand:
Apparently, it is forbidden in France to drive GPL cars. (Without safety valve – but you have to admit the picture was fun. And we were like WTF? since the thing actually meant is LPG in German. Just like UTC is CUT (Coordinated Universal Time) in English, TUC (Temps Universel Coordonné) in French…)
I’m also working on improving our xterm(1) and GNU screen config, and other things. Explaining acronyms on our webpages is also coming some time. Benny is importing weird stuff from TNF for better pkgsrc® support, so there is activity. Just we’ve got dayjobs and a life… and mksh(1) still rocks (pdksh got orphaned in Debian today).
Would MTAs please stop sending hi-bit7 messages to other MTAs which do not advertise 8BITMIME! Recode it to QP or BASE64, damnit! The receiving MTA is entitled to strip the set bit7, which kinda makes things hard to read (while I know how to deal with blvde Stra_e, the advent of UTF-8 makes that blC6de StraC?e, introduces C0 control characters and makes typographic quotation marks into NUL-containing octet sequences (as their UTF-8 representation contains 0x80 octets) which let every sensible MDA terminate the line there). I even filed in the Debian BTS against the BTS (might be Drexim's fault, though).
Would MUAs please default to Quoted-Printable!
And mail hosters should use the same server when retrying delivery, to benefit greylisting. Or at least publish a list of outgoing IPv4 addresses they use for sending. Or use IPv6. Oh, and STARTTLS, while we are on my wishlist.
It's a sad day when the percentage of correctly encoded eMail messages in my INBOX is smaller than that of my Spambox...
No I don’t really know any SQL. In fact, even at vocational school, where we focussed on database normalisation anyway, I tried hard to avoid the topic. Feel free to access here my entire knowledge about SQL ☺ (I did use Amaya, Arena and Arachne though. Liked only Arachne out of these three, and then, only under DOS, not its Unix version. Maybe the WWW could be named AAA instead? But then, lynx(1) is the one true browser…)
Ah, well. While at it… the entirety of my Perl knowledge is here: perltoc(1) with quick links to perlfunc(1).
The entirety of my (X)HTML and ECMAscript knowledge, DE: SELFHTML; although, the spec and DTD helped; and to write my notes on JSON, I took a peek at the formal ECMAscript spec as well… à propos, does anyone know a (good enough) indent(1) equivalent for ECMAscript, as I am trying to strip down some, inherited (GPL, yes) code for a hobby project, but Geo-people seem to produce illegible code?
Our MirBSD online manual pages and other assorted BSD documentation (except of course the merely copied ncurses, lynx etc. documentation and the texinfo generated HTML pages) has just gained a major facelift. They look alike in lynx(1) – best web browser ever – and less(1)/man(1) now, and remind of a DEC VT420 on a CSS capable Buntbrause.
Thanks to our contributor XTaran for aid with the colour scheme!
Since these are generated from catmanpages, heuristics are used for things like where should bold/underline begin/end (since nroff(1) is not always the brightest… but working on that), and hyperlinks can only be generated for other manpage references (whose targets may or may not exist, for example if they aren’t part of MirOS base/XFree86®). But on the other hand, Valid XHTML/1.1 and CSS speaks for itself ☻☺
Another cat posting, about 100 KiB worth of images embedded so follow to the main article to read it, I don’t want Planet readers to suffer from traffic overuse.
Hot and humid (it’s rained a bit overnight, but has almost dried
up quickly) seems to be cat weather. I went to buy breakfast at the
local bakery when three cats lay around the house door in a half
circle – my two black friends from the last posting and their human
can opener’s third owner. When I came back I wondered whether the
small guy wanted to travel:

The big guy has hidden indoors, but needed only very little coaxing
to head back outside in a measured speed:
The car’s owner arrived when I closed the door behind that cat, and not only did the little guy jump off… but also did the third cat… get out from under the car. Huh…
As written about here earlier, cats have a nice life. I walked into my home seeing three cats in a row, all black: two lazing around, the third (with white spots, and belonging to a different neighbour from the other two) ambulating. I went up and got my PocketPC with the already mentioned camera application to take a shoot. Sadly, the more shy cat went away, but I got some pictures of the other two – here they are, internet photo stars ☺ follow the hyperlink to get a large version.
Later I came back from geocaching (2 GC.COM-only, 1 OC-only *yay!* found, one not found due to not taking any hardware with me) the bigger guy lazed around in the bush next to where I usually park my bike. Lucky…
Subversion for Dummies (or visitors of the #cvs IRC channel)
Oh well – someone came into the #cvs channel on IRC without a clue, again. I’ve made a nice picture to show “the competition” (rival, whatever) to newbies (warning, sarcasm ahead)…

SCNR.
But trying to “cvs co” a websvn repository view… honestly!
Yes, I’m biased. And known to be proud of the things I use.
On Day 0, we were at my favourite Jugoslawian restaurant, and
during eating and verpeiling, Andi took some pictures:

Take special note of the fun expressions everyone has…
Day 2, nothing of note at the conference itself – according to Jana, the only interesting talk (that tcpdump(8) GUI) was cancelled, and everything else was PHP and Web 2.0 crap. The food also was different, at least what I got, from Day 1. But it wasn’t as hot as on the previous day, and we did more socialising. I also managed to get the MirBSD ISO distributed some more.
Then I took my fellow DDs Enrico and madamezou geocaching for their first time, together with benz; they then took a Travelbug I found on Day 1 (with rsc) to Italy so it’ll end up in Rome, a next step on its mission.
Other rarely-seen people, such as Dr. Pfeffer, made an appearance, but overall the second day was quite relaxed. Ah, and Benny is a Doctor in Germany now as well.
On Monday, I slept quite a bit ☺


