Arnt Gulbrandsen
About meAbout this blog

Thanks, Devuan

Sometimes one friend or another has computer problems. I am pleasantly surprised by the number of times these problems might have affected me but do not, because I've switched to Devuan everywhere. No more Debian, no more Ubuntu, even my minimac runs Devuan now.

Devuan, for those who do not know, is Debian with an absolute rejection of systemd. Some devuan people also dislike anything else that's new, but I don't mind that. Haters somehow always find something to hate, and at some point I seem to have learned to let them hate.

Devuan has something I like: The unix tradition of valuing simplicity over a complete feature ticklist, and it has the debian package repository. Simple, mostly good enough. Sometimes the unix tradition sucks, for example syslog and text log files aren't really good enough, but simplicity is a feature that I personally value highly.

In a few years unix will be fifty years old, and I think that at that point, devuan will be the pinnacle of unix.

Open source is succeeding, and rms is unhappy

This summer Dropbox released an image compression thing called Lepton, effectively a better way to encode JPEG (same principles, same pixel results, considerably better execution of various implementation aspects). Dropbox didn't have to do that. But one does nowadays, it's become part of modern programming culture. Using and releasing open source is a best practice, as the buzzword goes.

Around the same time Richard M. Stallman posted a condemnation of companies that both support free software and teach classes in use of nonfree software. Condemnation is the word he chooses, not my choice. No fraternisation with the enemy!

That enemy is us, now. The enemy is those who follow today's conventional best practices. A stealth-mode startup I am talking to has ten projects on github, because the CTO there has decided that whatever good programmers consider good is what shall be done in his realm. Most of the projects are forks, some with PRs for upstream, others described as the code in this fork isn't really suitable for upstream, but take it if you want. Good, polite behaviour, best practice indeed, and very different from the GNU purity that rms requires.

What is left of rms' following if the good programmers are declared to be enemies? The outlook for the GNU project is poor.

It's the attitude, not the wording

Once upon a time, a clever young programmer submitted a middling patch to the linux kernel. Not directly, it went to a subsystem maintainer who merged it with other code of his own and perhaps from other people, put his name on it and sent it to Linus. The young programmer's name was not visible. That was a bit of luck, because there was a bad bug in the code, the kind of bug that causes blaming, finger-pointing and angry email.

Only Linus, that maintainer and I knew that the young programmer was myself, and Linus never said an unkind word and didn't tell anyone who wrote the code either, so noone could email me and tell me their thoughts.

Fast forward twenty years, to when Sarah Sharp decided to stop contributing to the linux kernel. Sarah wrote good code for the kernel. I was sad to hear that she left, sadder about the reasons.

A lot of people blame Linus and his swearing for her leaving. I think that's unfair to Sarah, unfair to Linus, and worst of all, I think that we in the open source community hurt our community when we do that. Even if Linus' swearing hurt Sarah.

Linus has his faults. For example. when someone from Redhat wanted kdbus into the kernel, Linus' response showed good technical judgement, but it was also heated, loud and negative. Certainly not ideal. However, the fair comparison is not against an ideal. Linus' response ought to be compared to a standard professional response, plausibly something like oh, this code is poor, on the other hand that major stakeholder wants it merged. After a few rounds of squabbling and some cleanup the code is accepted.

That would be professional behaviour. That sort of professionalism is how a good, clueful CTO ends up with 22,000 messy lines of PHP despite a clear mandate from the board to prioritise quality. How teams end up selecting MongoDB over PostgreSQL. Possibly that's how Windows NT got graphics drivers in the kernel.

Linus won't tolerate that sort of professionalism, instead he'll swear and scream. Is that worse? I think not. It may or may not be better, but it's not worse. But because Linus behaves that way and attracts criticism for his loud swearing, some of the less notable opensource contributors escape criticism, and some of them are mean and spiteful as well as loud.

Saying fuck isn't that bad. In my opinion it's about as bad as being late for a meeting. A mean attitude is worse, much worse.

Since people focus on Linus' swearing, though, Linus' swearing opens the door to meanness and spite. A minor fault enables a major.

The year of linux on the desktop

Clearly, 2016 is the year of linux on the desktop. I bought a new box and everything just worked. My three screens all work without needing any configuration, the fans are silent normally but spin up if needed, the temperature sensors all deliver reasonable results.

(Well, pulseaudio doesn't work.)

Two headlines on Hacker News

This headline appeared in my Hacker News feed this morning: Why systemd is taking over. I fear it's right, systemd is taking over, and it's not good. I had a terrible time getting linux to work on my new laptop, which is why I have sworn to try Devuan on that laptop as soon as it's installable.

But what is systemd taking over, exactly? The next headline was Chromebooks spank Windows and might have added while traditional linux laptops disappear from view. Half my friends have switched to Mac laptops and last September I couldn't find a single ten-inch laptop with ≥4G RAM and capable of running linux. Not even one.

Depressing.

Custom filofax paper

The two pictures show things I usually bring along in my hand luggage on the plane. Guess which one the security screeners want to look at most often.

Correct! The razor gets a brief glance or no attention at all (usually), the organiser looks odd on their screens and is often inspected. Mine was going to become a 9600bps modem when it grew up, as I have told many a security screener.

Ever since I got my first duplex printer I've made my own paper for it. Nothing very fancy, really. Four constraints only: ⓐ I like to write on the right-hand side, ⓑ occasionally I want to measure something so there should be a ruler, […More…]

The Openlinux Lizard

One evening in November 1998, drinking with some of the trolls at Suetelane Paludo's place, I ranted grievously about how installing linux still sucked. I'd spent the day installing a new server. In typical Trolltech fashion, the discussion quickly turned to what we could do about it. We decided that noone at Red Hat or Debian would talk to us because Trolltech was so very evil, Suse suffered from NIH syndrome, but we could talk to Caldera (ie. the German team Caldera formed by buying LST) and maybe get something done.

I put together a proposal (a single-page email, just text). Ralf Flaxa and Stefan Probst at Caldera immediately accepted it.

What followed was great. […More…]

Linux on the ARM Chromebook: Not quite yet

Installing ubuntu on the Chromebook was really simple, and the result works in principle, but it's not usable. Too many missing packages, some random crashes (while using Unity), and the Chromebook doesn't sleep properly.

KDE (kubuntu-desktop) seems to work better than Unity/Gnome, but not well enough for production use, not even by a twenty-year linux veteran such as myself. I don't want to spend much time hacking on it now, so I'll try again in a few months.

An ARM Chromebook arrived

The thing weighs nothing and feels cheap, but not badly made. I sort of like the way it feels — it's well engineered, but its flimsiness urges me to set up proper backups on day one. My reaction surprises me, but I like the compromise. Hardware does break, it's good to face that.

The SD card I need to install linux still hasn't arrived.

Ubuntu 12.10 on the Nokia Booklet

The Nokia Booklet will not resume from sleep using 12.10 and I cannot find the problem. 12.04 works, so today is the day when I learn whether my backup regime really works. (Update: It worked oh so slowly. I assume it's time to stop upgrading linux on this laptop and get a new one soonish, so I ordered an ARM Chromebook.)

Linux tarsnap wrapper

Here is the shell script I use to back up my linux laptop. The odd word you'll see in the source is the laptop's name.

Key points: Full backup of the entire file system (tarsnap itself skips /proc and /sys), automatic gradual deletion of old backups, simplicity.

I so want tarsnap for Android.

I have used linux for 20 years now

I just realised it. I had had a small linux partition for a few months, but on the 6th of August I added this to the todo list for the Sinclair Spectrum emulator JPP : These will not get done. Ever. I'm done with JPP. (I wrote JPP on MSDOS, using the wonderful TopSpeed Modula 2, but MSDOS was in my past.) Having written that, I reformatted my hard drive to 100% linux and started ferrying floppies home from university. Several days later, 20 years ago today, I had a working all-linux system. Since then, my home directory has been on linux, except for two forays into freebsd.

20 years. Wow.

More on Ubuntu 12.04 and the Nokia Booklet

I've written earlier that Ubuntu 12.04 runs well on the Nokia Booklet. True, it does. But I glossed over the pain of installing. Sorry.

My first problem was that I had installed an SSD, and the 3.0 linux kernel, the chipset and the SSD weren't friends. The installer would die immediately after partitioning the disk.

I got around that by booting ubuntu (actually kubuntu) from a USB stick, choosing try kubuntu, connecting to a wireless network, opening a terminal and […More…]

Linux, SCH, Crucial C300, and it works

I had replaced the Nokia Booklet, but somehow it replaced its replacement again. Something about its shape, about the keyboard. Whatever it is, the Booklet wants me to use it, and the replacement gathers dust. I'll try again when Apple releases retina macbooks, because 1GB RAM is really not enough.

The retima macbooks aren't here yet, so I tried to install Ubuntu 12.04 on the Nokia. It didn't work very well with the SSD I had installed. Apparently the Crucial C300 (or perhaps the Intel SCH controller) doesn't like a trim command of 1Mbyte or more, so the kernel reports a timeout during data set management, resets the drive, and from that point things don't work very well at all.

The only workaround is to boot into a live file system, open a console window, fdisk the disk (or do something else to make the kernel notice the disk), locate a file called /sys/…/scsi_disk/…/provisioning_mode, and write unmap into it. Then install linux as usual. Once you boot, write the same echo -n unmap > /sys/…/provisioning_mode command into /etc/rc.local so it's run at boot. I think the disabled provisioning mode would be more appropriate, but the kernel ignored me when I tried to set that, so…

A minor security bug in Ubuntu

This has two parts.

First, sudo, which ubuntu encourages using rather than su. Sudo can be set up to allow users to do just some things as root rather than everything, by editing the file /etc/sudoers.

Second, various Ubuntu programs that run as root. Some expect that the user's $PATH starts with /sbin and /usr/sbin, and run programs without specifying the complete file name.

If a user has limited sudoers privileges, then various Ubuntu-supplied programs can often be tricked into granting the user complete root access.

For example, sudo apt-get install firefox will run either ldconfig or start-stop-daemon (I forget). Not every package has this problem, but many enough to make it a FAQ.

I feel sure that whoever reports this will be told by the sudoers maintainers that the problem is with e.g. apt-get, and by the apt-get people that the problem is with sudoers. Both are reasonable responses, but I'd rather write code than argue. So all I'll do is publish this.

Sharing keyboard across Mac and Linux

Computers are good. More computers are better. But more keyboards are not. Swapping keyboards all the time was how I first ruined my wrists, almost twenty years ago.

That's why now, with a Mac Mini under and a linux box near my working desk, I definitely don't want to use two keyboards. One is the right number, and Synergy is the way to share keyboard and mouse. […More…]

tcpdump on Mikrotik

Mikrotik RouterOS doesn't have a tcpdump command. It has solutions for most/all of the problems I like to solve with tcpdump, though. […More…]

Clueless in the cloud

What Amazon wrote:

We have noticed that one or more of your instances are running on a host degraded due to hardware failure. [...]

The host needs to undergo maintenance and will be taken down [...]

What Amazon might have written:

Thought you were clever, eh? Running that fancy Cassandra cluster? I bet you didn't expect your redundant copies on several Cassandra nodes to really be stored on the same crummy drive. […More…]

Android WLAN roaming breakage

We have two access points at home, and wireless clients can roam freely, keeping their IP address.

Most clients can. Android phones and tables could not. For example, if a Motorola Xoom (Android 3.0) was in range of both APs, then it would switch to the other AP every 3-4 seconds.

The problem was that one AP was set to support only 802.11g, while the other was set to support b/g. Setting both to G-only solved the problem. The Xoom now connects quickly and keeps its connection (so long as it remains still at least).

The ReadyNAS broke down

After a few years of service, my ReadyNAS NV+ broke one day. The hardware was fine, but the software had painted itself into a corner and didn't want to boot at all.

Googling showed that lots of other people have been bitten by the same bug. I phoned support. The support person told me that my box was out of warranty, and would I please post to a web forum and I'm sure someone will help you. I could tell from his voice that he didn't really believe that.

I eventually moved the drives to a linux box. LVM (on ubuntu 10.04) recognised the drives automagically and ext3 let me mount the file system, so I bought a new Synology NAS and copied the data to it.

When I did a factory reinstallation (the hard way) the ReadyNAS booted without problems. From now on I'll use it to back up other devices, nothing more.

ReadyNAS runs linux, of sorts

It's debian. apt-get install works. But they removed some files without telling dpkg, and edited some, too.

For example, they removed the man pages. Why? It's a NAS: Disk is the one resource it has in abundance, and the man pages aren't even big.

Foo.

Linux on the Nokia Booklet 3G

My previous laptop (a Lifebook P7210) grew bad-tempered. Investigate or replace? Stupid question considering how much netbooks cost.

My new laptop is a Nokia Booklet 3G, a moderately expensive netbook with good battery lifetime, a 3G modem, a high-resolution screen and no fan. Ubuntu 10.10 runs well […More…]

Making Maven compile faster

jam -g is the best make system I've ever used. Best for the simple reason that when the build fails, it usually fails quickly. I start the build, and a second later I'm already looking at my mistake. That feature outweighs any and all drawbacks.

Sadly, I don't use jam very often at the moment. I mostly use maven 2, which starts the build by determining from first principles which source files to use and which libraries to download. In practice the set needed hasn't changed in the past minutes, […More…]

Software patents not all bad

So Paul Allen sues over patents and I'm sure he'll attract a lot of flak for that. But a side issue interests me particularly: The patents were originally awarded to Interval Research, a tech R&D firm founded by Allen and former Xerox executive David Liddle in 1992. The firm was folded in 2000, and the patents were later transferred to Interval Licensing. […More…]

Warning: untrusted versions of the following packages…

Three million web forum postings contain wrong, misguided or overly complex solutions, so here:

When ubuntu complains WARNING: untrusted versions of the following packages will be installed, that's because of bad data in the keyring for ubuntu packages, which is part of the package ubuntu-keyring. […More…]