Google Talk alternatives


Google Talk has been my preferred instant messaging service for years because it federates with other XMPP services. In other words, if someone wants to IM with you, she doesn’t need to sign up with Google; she can sign up with anyone who offers XMPP services or she can install an (open source) XMPP server on her own machine and connect with you with that.

All that is changing. A while back, Google limited XMPP federation, then reinstated it claiming it was done as an anti-spam measure. More recently, the huge Google Hangouts rollout finds XMPP federation at best being shoved to a back seat and at worst being entirely deprecated. Given that now redirects to it’s pretty clear that Google Talk is a deprecated service–so it’s hopeless to hang onto whatever federation Google Talk itself might provide. Federation lost.

Therefore, I will probably be shifting my default online presence from Google Talk to an account provided by someone offering unfettered XMPP service. Candidates include (who I hope have solved their DDoS problems) and DuckDuckGo.

Getting good PDF output from KiCad in Linux

Update: Turns out SVG might be a better base than PostScript for this. See PDF output from KiCad in Linux from SVG.

I’ve tried to get decent PDF output from KiCad‘s Eeschema a few different ways, but what I’ve found to work most reliably is to first export to PostScript (File > Plot > Plot PostScript) and then use the ps2pdf command from ghostscript to convert to PDF. (The Arch wiki has a good writeup on ps2pdf.)

The biggest problems with this are:

  1. It’s a lot of typing to get the conversion to happen (the minutia of which you won’t have memorized).
  2. It leaves you with both a PostScript and a PDF of the document(s), one of which is likely to get out of sync with the other, which may or may not be in sync with the actual schematic, etc.

To help with this, I use the script below. I drop a copy of it into the root of my KiCad projects and edit the OPTIONS as needed for the project. Then whenever I want PDFs of my schematics, I export PostScript from Eeschema and then click on this script in my file manager. Note that running this script will destroy any *.ps files in the directory—that’s by design.


# DESTRUCTIVELY convert all postscript files
# in working directory to PDF.
# Requires ghostscript.

# Mithat Konar 2013 []

OPTIONS="-dOptimize=true -sPAPERSIZE=11x17"

FILES=$(ls -1 *.ps)

for file in $FILES
  ps2pdf $OPTIONS $file && rm $file

I’ve not tried the script on any PostScript files other than those produced by Eeschema, but I’ve got no reason to think it won’t work on other PS files as well.

Processing: Capture is a PImage


Something the documentation on Processing’s Capture class doesn’t mention is that Capture is derived from PImage. I went digging into the Capture source code to figure that out:

public class Capture extends PImage implements PConstants { ...

This means all the methods and fields available to PImage objects should also be available to Capture objects. This makes video processing a lot easier!

Thoughts on Free Communication redux


I’m doing some international traveling at the moment. Wanting to stay in touch with loved ones has me contemplating Thoughts on Free Communication once again. It seems that all the pieces are there … I wish I had the headroom to set something up.

An alternative I hadn’t considered is Mumble+Murmur. An old post from Keshav Khera has turned me onto the idea that gamers might inadvertently lead the way toward decentralized and self-controlled realtime communication, and Mumble+Murmur seems to hold some promise in that area. AFAIK, it doesn’t support video and the Android clients don’t seem so very awesome, but at least one of them is FOSS. Something to look more deeply into.

Custom six-channel DAC

the DAC's guts

Last week I finished delivery of a custom 6-channel DAC for mastering engineer Greg Reierson at Rare Form Mastering. It uses three stereo DAC cards I designed previously for Audio by Van Alstine, Inc. (currently used in their production DACs) and six custom dual-differential gain/filter cards. I designed the gain/filter cards to use an absolute minimum of active stages—something I have consistently found to help subjective performance.

Greg reports that the new DAC is dead silent and delivers noticeably better LF control than his previous setup. We hope to do some gain-stage device (that’s opaque-speak for “opamp”) comparisons down the road to see if things can be improved further. He will be using the new DAC for general monitoring and also to drive his newly acquired Neumann VMS 70 cutting lathe.