One reason you have a mysterious Unix file called 2 (or 1)

Suppose, one day, that you look at the ls of some directory andyou notice that you have an odd file called ' 2 ' (just the digit).If you look at the contents of this file, it probably has nothingthat's particularly odd looking; in fact, it likely looks likeplausible output from a command you might have run.

Congratulations, you've almost certainly fallen victim to a simpletypo, one that's easy to make in interactive shell usage and inBourne shell


Go interfaces and automatically generated functions

I recently read Golang Internals Part 1: Autogenerated functions(and how to get rid of them) ( via ,and also ), which recountshow Minio noticed an autogenerated function in their stack tracesthat was making an on-stack copy of a structure before calling amethod, and worked out how to eliminate this function. Unfortunately,Minio's diagnosis of why this autogenerated function exists at allis not correct (although their solution is the right one). Thismatters partly because the reason why this autogenerated function


The (current) state of Firefox Nightly and old extensions

Back in January in my entry on how ready my Firefox extensionsare for Firefox Electrolysis , Isaid that Firefox's release calendar suggested thatFirefox's development version (aka 'Nightly') would stop supportingold non-Electrolysis extensions some time around June or July. It'snow mid June and some things have happened, but I'm not sure whereMozilla's timeline is on this. So here is what I know.

At the start of May, Firefox Nightly landed bug 135


Why I am not installing your app on my phone

For reasons beyond the scope of this entry, I spent a decent chunkof time today using my phone to amuse myself .Part of that time was reading Twitter, and part of that readinginvolved following links to interesting articles on various places.Quite a number of those places wanted me to install their iPhoneapp instead of reading things on their website, and some of themwere quite obnoxious about it. For example, Medium sticks a prominentnon-dismissable button in the middle of the bottom of the screen,effectively


The difference between ZFS scrubs and resilvers

At one level, asking what the difference is between scrubs andresilvers sounds silly; resilvering is replacing disks, whilescrubbing is checking disks. But if you look at the ZFS code in thekernel things become much less clear, because both scrubs andresilvers use a common set of code to do all their work and it'sactually not at all easy to tell what happens differently betweenthem. Since I have actually dug through this section of ZFS code just the other day , I want to writedown what the


Resilvering multiple disks at once in a ZFS pool adds no real extra overhead

Suppose, not entirely hypothetically, that you have a multi-disk,multi-vdev ZFS pool (in our case usingmirrored vdevs) and you need to migrate this pool from one set ofdisks to another set of disks. If you care about doing relativelylittle damage to pool performance for the duration of the resilvering,are you better off replacing one disk at a time (with repeatedresilvers of the pool), or doing a whole bunch of disk replacementsat once in one big resilver?

As far as


How to see raw USB events on Linux via usbmon

Suppose, not entirely hypothetically ,that you're wondering if your USB keyboard actually does anything for certainkey presses, such as its Fn button plus a normal letter key like's'. One way to try to find out is just to type the key combinationwhile sitting at your shell prompt or in your editor or the like,and see what happens. A more elaborate method is to fire up xev andsee what it says about X events, since there are a number of thingsthat can happen between


Why filing away mailing lists for a while has improved my life

I've been on vacation for the past little while. As part of thisvacation, I carried out my plans to improve my vacations , part of which was using procmail to divert messages from various mailing lists offto files instead of having them delivered to my inbox as I usuallydo. I started out only doing this to mailing lists for work software,like Exim and OmniOS, but as my vacation went on I added the mailinglists for other things that I use. As I hoped and expected, this


One downside of the traditional style of writing Unix manpages

A while back I wrote about waiting for a specific wall-clock timein Unix , which accordingto POSIX you can do by using clock_nanosleep with the CLOCK_REALTIME clock and the TIMER_ABSTIME flag. This is fully supported onLinux ( cf )and not supported on FreeBSD . But here's aquestion: is it supported on Illumos-derived systems?

So, let us consult the Illumos clock_nanosleep manpage . This manpage is verymuch written in the traditional (corporate) style of Unix


My .procmailrc has quietly sort of turned into a swamp

As part of trying to not read some mailing lists for a while , I was recently going through my .procmailrc .Doing this was eye-opening. It's not that my .procmailrc was messyas such, because I don't have rules that are sophisticated enoughto get messy (just a bunch of 'if mail is like , put it intofile Y' filtering rules). Instead, mostly what it had was a wholelot of old, obsolete rules that haven't