I have parted with FVWM. Not that I was dissatisfied with more than 12 years of using it and organically growing its configuration. I was not.
But I was recently shown i3 which, despite not being Awesome, is indeed awesome. Particularly in the usability of its default, which I found did not require many a tweak. I was however a bit confused at first, then impressed, when I realised that the auto-generated configuration took into account my Dvorak keymap, and updated the keybindings so the keys would be the same as those on a QWERTY keyboard. That’s thoughtfullness.
The next great thing about i3 (save for
$mod+Return to start a term anywhere, anytime), is dmenu. At a press of the relevant binding (equivalent to
$mod+d on an 200-year-old keymap), one gets to enter a one-line entry where any command can be entered for execution, with incremental completion.
Dmenu is also nice due to its modularity. It takes a list of strings that can be completed on
stdin, and outputs the typed or selected string on
stdout, for consumption by whatever script called it.
I figured that it should be possible to handle URLs in a dmenu script. It is actually pretty trivial, and the friend who convinced me to take the jump also provided such a script, which would simply open the typed URL. But I wasn’t entirely satisfied, as recent years of browser usage taught me to expect URL completion. So I looked into ways of doing it.
Popt has a poptReadConfigFile() which is described as doing the following
The file specified by fn is opened and parsed as a popt configuration file. This allows programs to use program-specific configuration files.
What’s unclear is whether it can only be used to enable aliases, or if it can also be used as a general-purpose configuration file to replace the command-line interface, and if so, what format it should be in.
As no documentation I could find explains it one way or the other, I resorted to reading the code.
The short answer is no. Popt (1.16) cannot read command line parameters from an rc configuration file.
It is bad practice to use
make install. Period.
Why? Because it installs files everywhere on your system—if you’re lucky, only in
/usr/local—with no guaranteed way to cleanly remove them afterwards.
Yet, sometimes, there is no other option, for example if some software is not packaged for your Unix of choice and you don’t have time to do it yourself. There are some easy and rather straightforward ways around it, which I usually recommend to beginners.
It happened again today. So I recommended the use of
/opt/PKG-VER as an installation prefix and stow(8) to make the software seamlessly available to the rest of the system. Nothing fancy or novel, but I thought I’d share the summary email in the hope it would help others.
The following was initially posted on Pump.io, before I realised that this might benefit from a more preservable/visible format.
Frustrated with only interacting with my ownCloud calendar through the native web interface, I finally decided to look for a replacement application that I could run locally. Khal ended up being it, with vdirsyncer for two-way CalDAV sync with ownCloud.
Coupled with watdo, by the same author as vdirsyncer, for todo.txt-like management of CalDAV tasks (
VTODO), I can now do all my schedule and tasks management from the comfort of my own terminal, even without any connectivity!
CAcert is an SSL Certificate Authority based on the establishment of a web-of-trust à la PGP: rather than charging to issue certificates to anyone, it issues them only to members who have been vouched for by enough other trustworthy members (assurers).
For historical reasons, they were included in the Debian ca-certificates package. It was however recently removed, for justified reasons (CAcert is conducting an audit, and withdrew their demand for inclusion in the Mozilla chain until it’s done). Most other distributions mirror from this package to ship their root certificate, and have also dropped CAcert as a consequence.
This is however a bit annoying, as many sites started popping up warnings due to their root certificate not being in the trusted chain of the OS anymore. Until, maybe, they are reinstalled but disabled by default, I quickly wrote up a tiny script that downloads CAcert’s root certificates, and re-registers them. It’s quick and dirty, and only does an MD5 sum to make check they are the right ones, so use at your own risks.
Some publishers, particularly the IEEE, require that the columns on the last page of an article are balanced, so it looks pretty. The problem is that the break is usually needed in the middle of the bibliography, for which less layout-control is available. Fortunately, there are some specific specific solutions for various cases, and one which works for most: flushend.
After a lot of humming, I decided that it wasn’t very practical to use a different platform for every blog I was running on the same machine. Some more puffing led me to conclude that WordPress was the best candidate to replace the likes of SimplePHPBlog and Blogsum. I still have an odd Nanoblogger to migrate, but it is easily maintained and keeps to itself for the moment.
In the process, I had to find ways to import data from the old platforms, and massage it into something that WordPress can work with.
An edited version of this article originally appeared in The Conversation. It was also translated into Polish by Mateusz Siemiński.
One evening when I was young, my father confiscated my radio because I was playing it too loud (I wasn’t). Fortunately, I had a bunch of broken down receivers in my room, so I built a new one. This was probably the start of my maker’s carreer.
The Maker movement has recently been gaining a lot of momentum, as evidenced by the number of events, Maker Faires, popping up around the world—Sydney is hosting its first Mini Maker Faire this Sunday at the Powerhouse Museum. Yet, in many aspects, makers have been around for a while, from amateur radio operators adjusting their rig to allow clearer communication with more remote contacts to software hackers rewriting their printer’s driver so it works the way they want it to, not forgetting the casual DIYer building a vertical garden out of found material.
All share the common trait that they had a need but, rather than asking somebody else to address it (buying a better radio, printer or, well, bigger house) they took matters into their own hands, and fixed it. As it turns out, it’s not that hard and quite rewarding—a study recently found that people value IKEA furniture more if built by themselves than by anyone else, imagine what it would be without the pre-cut boards, or instructions for that matter!
git has many useful features in git log(1) and git blame(1) to display the history of a file, or who contributed each line in said file, respectively. However, it might be useful to get the full history not of a file or a line but, say, a function (that is, more than one line in a coherent structure). This can be interesting for things such as displaying all the authors of a given function.
PXE-booting OpenBSD is easy and well documented. Unfortunately, it is not the case when more than just one OpenBSD install has to be made available through PXE. Using PXELINUX for multiplexing purposes has potential but the documentation is scarce, unsuccessful, or require patching the PXE loader.
One trick which works is to boot from a floppy disk image, using memdisk.