Lately I’ve been hopping between projects that use different Rust, Python, and TypeScript package managers, and I kept having to turn back to documentation to keep their subcommands straight when switching from one back to another. So I made this cheat sheet for my own reference, and I might as well share it with the class too… Project dependencies Common package management tasks include: Prepare…
This post is about a portable Unix shell script, socklink.sh , written to keep SSH_AUTH_SOCK working within a long-running tmux session—even when switching between multiple clients that have different SSH agents, whether those clients are simultaneously connected or attaching and detaching over time. I also digresses into what I’ve learned from writing and testing a cross-platform shell script in…
I finally got my hands on the micro:bit , the BBC ’s new educational computer and spiritual successor to the legendary BBC Micro , and I’m absolutely in love with its potential as a platform for learning how to code. A lean (but not mean) learning machine. I like how the parts are all clearly labeled, as if to say: “There is no magic here. Everything that makes this board work can be understood.”…
Recently the Guardian published a story falsely claiming the existence of a backdoor in WhatsApp. They have since edited the article to instead refer to the behavior in question as a vulnerability , but even this is only true in a very specific and limited sense a nuance absent from the paper s bombshell presentation of the finding and which, unfortunately, much of the story s audience will not…
I finally got around to modernizing this old site, which has included moving from WordPress to a statically-generated, Amazon-hosted site based on Pelican and Bootstrap 3 . I’ll write more about the site’s implementation later because I ended up diving into different areas I think are worth documenting, such as extending Pelican via plugins and some specific issues with hosting a static site on…
Recently I had to track down a minor bug in the OpenBSD kernel . I tapped QEMU and GDB as debugging tools for the task, running on Ubuntu 12.04 as the host OS . This combination worked extremely well, so for the record here s how I set it all up. OpenBSD comes equipped with two kernel debugging mechanisms: ddb and kgdb. ddb(4) is an in-kernel debugger, enabled by default in the GENERIC kernel, and…
I love Emacs GDB mode , but I always found it annoying that there is no given key binding (or function which could be directly mapped into a key binding) for switching between the different views given by gdb-many-windows . The usual window and buffer switching functions are insufficient because the GDB windows are flagged as dedicated (so switch-buffer refuses to swap them in place), and in the…
Additional discussion: Hacker News , Reddit I ran into a really fun bug at work yesterday, where I discovered that my C program was branching down logically inconsistent code paths. After drinking another cup of coffee and firing up GDB I realized that somehow, a boolean variable in my code was simultaneously testing as both true and not true. While I cannot reproduce the actual source code here,…
Additional discussion : Hacker News I ve been getting back into Python lately I just wrote a small module that provides support for pointfree style programming with a combination of automatic partial function/method application and operator overloading for function composition: from pointfree import * from operator import add fn = pfmap ( len ) \ >> pfmap ( lambda n : n ** 2 ) \ >> pfreduce ( add…
I just found a great blog post by Martin Kleppmann titled Accounting for Computer Scientists , a succinct introduction to double-entry accounting (although he doesn t refer to it as such) in terms of basic graph theory: Eventually I figured it out: basic accounting is just graph theory. The traditional ways of representing financial information hide that structure astonishingly well, but once I…
I ve been using OpenBSD as a NAT router for a few years now. Here s a guide showing how I got it up and running, in case anyone is interested in doing the same.
I ve been banging my head against the wall on account of different music players which can t play the subset of songs I have encoded as either Vorbis or AAC . So I m slowly converting my entire music library over to MP3 , which works everywhere, even if it s less efficient. But before I go digging through my old CDs I need to identify which albums I have to re-encode. My music is organized in…
Update: I ve expanded the contents of this post into a full guide to running an OpenBSD router on an ALIX board . This is a quick guide to booting the OpenBSD installer on a PC Engines ALIX board with tinyBIOS (such as the ALIX 2d3 ) via PXE , using just the following: PC with two network interfaces. One of these needs to be Ethernet, and the other must connect to the Internet. For example, any…
I just found a great web site providing a better Kindle content search than what s baked into Amazon: eReaderIQ.com . You can search by price, publication date, reading level, and whether the book you want is in the public domain, among other things. For example, this query lists only free Kindle books in the public domain. Very handy.
I had a funny experience yesterday. I don t typically use Microsoft Outlook with my home email account. But it was bundled with the copy of Office 2010 that I installed a few months ago, and I figured: heck, if I have it anyway I might as well hook it up to my personal IMAP account. So I configured Outlook, played with it a bit, then promptly forgot all about it. Fast forward to yesterday evening.…
Ars Technica has a four-part introductory series on logic and argumentation, entitled Getting to QED . In some cases, there is a way to tell good arguments from bad using what is called informal logic. This name distinguishes it from formal logic, which is used in mathematics; natural language is less precise than mathematics, and does not always follow the same rules. Perhaps more surprisingly,…
This guy is the best kind of crazy How am I just finding this now? He s made major progress since filming that video; check out his YouTube channel for more. Seriously man, thumbs up
I m posting this here so I can find it again later, because this one caused a surplus of annoyance before I finally found a solution I have a Windows 7 x64 laptop which would randomly (once or twice a week) set the NTFS dirty bit on its C: drive, causing chkdsk to run at boot and find well, no problem whatsoever. Sometimes this glitch would be heralded by a system tray / notification area message…
Update: Jacob Stanley has a great article on installing gtk2hs on Windows which goes into more detail, including a tutorial on GTK theming. Gtk2hs is my favorite way to do cross-platform GUI programming in Haskell and it s the toolkit to use if you want to work through the examples in the excellent *Real World Haskell* . But the official instructions for building gtk2hs on Windows leave out some…
I wrote a little old-school Windows HTA script to delete the .DS_Store , .Trashes , and ._* junk files and directories typically littered across non- HFS media by Mac OS X: You can download it from my GitHub account if you have a use for this sort of thing. Written and tested with Windows 7 and IE 8; I m not sure how it will work with earlier versions of either. Standard disclaimers apply: use at…
Once again I ve up and moved my whole little site here to a new platform Wordpress 3, this time around, on top of Nginx + PHP - FPM + (obviously) MySQL on FreeBSD 8.1. I think I m making a tradition of tearing down the site and rebuilding it from scratch once every, what, two years? Or maybe I ll actually manage to keep it fresh this time around Heh. Anyway, I could ramble on forever about why I…
Now that Firefox 3.5 is out, I wanted to get it running on my 64-bit Debian 5.0 laptop but there s no 3.5 package in Sid yet , as of July 2, and mozilla.com only carries 32-bit binary tarballs for Linux. So I had to build Firefox 3.5 from source. Fortunately this turned out to be a lot less painful than I had imagined; this post will show you how I did it, in case you re in a similar spot. Build…
One of the things that I really like about pf, the OpenBSD firewall, is how it lets you define dynamic packet filtering rules rules that filter based on your network interfaces current addresses at the time of filtering. For instance, if I want to allow SSH connections to my laptop only from my local network: pass in on xl0 inet proto tcp from (xl0:network) to any \ port ssh flags S/SFRA…
This evening I had the chance to download Google s newly-released (and by released I mean beta hey, it s Google) web browser, Chrome , and give it a try. They weren t kidding when they said V8, the new JavaScript virtual machine in Chrome, should raise the bar for next-generation JavaScript implementations: it s fast. How fast? The above results are from Mozilla s Dromaeo JavaScript performance…
A couple of months ago, I upgraded an old PowerPC machine from OpenBSD 4.2 to 4.3, and I discovered that the new version of pfctl in 4.3 would segfault when reading my old pf.conf file. Some brief poking around with GDB revealed the root of the problem, an uninitialized variable in the new configuration file parser. If you ve been bitten by this as well, here s a patch with the minor change that…
I finally got around to trying the Linux version of Opera 9.50 , the newest version of the Opera web browser. Here s what I think of it after a couple weeks of using Opera 9.50 as my main web browser, particularly how it compares to Firefox 3.0. Things I like in the latest Opera: Tab management, particularly the Create Follower Tab feature: You can make a new tab in which any links from the…
I ve tired of manually pointing my browser at http://www.phys.ufl.edu/weather/ each time I want to check the conditions on campus, so I made a small widget to bring the campus weather report to my NetVibes home page: Fellow Gators can use this widget too – just click here to add it to your NetVibes home page, or here to add it to iGoogle. Or copy the widget s URL to manually add it to any other…
I ve been waiting for this since I was a kid: MacGyver is headed for the theater! And better yet, the show s original creator, Lee David Zlotoff, has obtained the movie rights and will be in control of the film. This is going to be amazing. I have to assume right off the bat that Richard Dean Anderson will be reprising the role of Angus MacGyver just don t skimp on the mullet, ok guys?
I finally tired of WordPress eating up memory on my humble VPS that I d really rather have for my email server and other things, so I tossed it (along with its requisite overkill DBMS back-end, MySQL) out the window in favor of Movable Type static publishing, with the Lighttpd web server and SQLite at the back-end. It was easy enough to scrape together my own template set, and so far I haven t…
After setting up my apartment s OpenBSD based network, I decided it would be handy to have a simple report generator to describe active DHCPD leases. I also wanted to brush up on Perl a bit. This Perl script is the natural result of such circumstances. Run dhcpd-report.pl to generate a plaintext or HTML report of current leases in the DHCPD lease database and reservations in dhcpd.conf . In my…
I just found an excellent video mash-up of Carl Sagan s narration of part of his book Pale Blue Dot , inspired by the famous Voyager 1 photograph of the Earth from halfway across our solar system: Courtesy palebluefilms.com .
I always thought I was a bit of an oddball for choosing the ancient scheduler Remind as my favorite OS X calendar software. But as it turns out, I m not quite as alone as I had assumed. I guess OS X is a bigger draw to Unix geeks than I realized. So I ve decided to publish a tool that I wrote a few months back, a simple little Objective-C command line application that reads the birthdays of all…
It seems to be a commonly experienced problem with the Intel rendition of OS X 10.4 that some power management settings, such as the halfdim pmset parameter (a.k.a., automatically reduce the brightness of the display before display sleep ) may be reset when the system boots. Since I started dual-booting Vista my reboots have increased from about once a week to a few times a day, so I decided to…
The University’s software licensing program proudly furnishes UF engineering students with Microsoft’s latest-and-greatest (with the notable exception of cash cow Microsoft Office). As of Wednesday, latest-and-greatest meant Windows Vista Business Edition*, so I decided to download it and, with the help of Boot Camp, give it a run on my iMac. Here are my notes and impressions, in no particular…
Thank you, Mr. Amend, for giving the dangers of electronic voting machines some much-needed press . The more people who are informed about such a frightening threat to our democratic process, the better. In an attempt to convince a complacently skeptical public of just how much a problem that direct-recording electronic voting machines pose, Jon Stokes of Ars Technica has written a guide, How to…
Probably to help ensure that this doesn’t happen to anyone else, Apple has decided to recall more than a million batteries shipped with its G4 iBook and PowerBook computers from October 2003 through 2006: More information can be found on the Apple web site . On the positive side of this, at least I’m getting a fresh new battery for my two-year-old laptop…
The ABS warning indicator in my Integra started lighting up this week. Following the directions on this forum , I got the car to tell me that there seemed to be a problem with the rear, passenger-side ABS speed sensor. In most ABS -equipped cars, there is a magnetic induction speed sensor at each wheel which allows the antilock controller to determine when a tire begins to slip under heavy…