Category: technology

Meditate on this

August 13th, 2009 — 11:29am

A koan from Anton van Straaten:

The venerable master Qc Na was walking with his student, Anton. Hoping to prompt the master into a discussion, Anton said “Master, I have heard that objects are a very good thing – is this true?” Qc Na looked pityingly at his student and replied, “Foolish pupil – objects are merely a poor man’s closures.”

Chastised, Anton took his leave from his master and returned to his cell, intent on studying closures. He carefully read the entire “Lambda: The Ultimate…” series of papers and its cousins, and implemented a small Scheme interpreter with a closure-based object system. He learned much, and looked forward to informing his master of his progress.

On his next walk with Qc Na, Anton attempted to impress his master by saying “Master, I have diligently studied the matter, and now understand that objects are truly a poor man’s closures.” Qc Na responded by hitting Anton with his stick, saying “When will you learn? Closures are a poor man’s object.” At that moment, Anton became enlightened.

Comment » | technology

Two weak analogies, and hating bad things

January 7th, 2009 — 1:06am

So after half-a-year being overwhelmed by the magnitude of the cross-country move and by life with the two small excellent tyrants we brought with us, I’m trying to be more civilized again, which means, y’know, communicating with humans. As I mentioned a bit ago, I’m pro-Twitter; Facebook, on the other hand, I well and truly hate in the special lathered way that nerds can loathe technology that offends us by failing at the things we care about most. [I’m convinced that this strain of nerd-hate for badly designed things is the source of most or all great inventions, but I’ll talk about that some other time.]

For whatever reason, two analogies that occur to me regularly are:

Facebook : Extroverts :: Twitter : Introverts


Facebook : Windows :: Twitter : Unix

The former analogy is driven by the one-way nature of Twitter following and the simplicity of their model, which put so much less burden on the target of one’s interest than the seventeen infuriating ways that Facebook flaps its annoyances in your face when somebody decides to enter your sphere.

The latter analogy is less complete, and driven mainly by my complete inability to grasp what the hell Facebook is actually supposed to be offering me at any time; it seems directly patterned after the typical Windows model of endless gray dialog boxes, each offering slightly different permutations of a subset of whatever you think you’re trying to do, and now with an extra layer of whooshy visual noise slathered all over it. FB doesn’t get within a time zone of “do one thing, and do it well”; it’s a weird walled-garden mockery of the real Internet, a joyless replica of AOL and Prodigy and all the other obsoleted competitors.

I can’t completely defend my irrational and entire loathing for the FB. God knows I haven’t ultimately spent that much time trying to navigate its baffling cryptic shit-pile of an interface (though, god also knows, it’s been more than enough), and I’ll grant that maybe I’m just doing it wrong. But I’m sticking to my guns in re: hating it, despite having re-activated my account today (killed in a fit of biliousness a few months back) because people I like joined up. The awful creepy targeted ads; the dozens of insultingly moronic ‘applications’ constantly fapped in my face (how many god-damned quizzes can you people do in a given day?); the grotesquely disingenous combination of blocking useful information before ‘friending’ but burying you in infinite inane detail post-‘friend’ing… how the christ did these half-wits end up winning the social network sweepstakes and a license to print money, when so many other crap sites have failed tracelessly?

So: why not join twitter? The barrier is very low; it just doesn’t demand a lot of you before you can start flinging quickie aphorisms at me (by web browser, or various small client programs, or from SMS or iPhone apps). Think of it as a micro-blog, or as a group instant messaging session that’s asynchronous and particularly easy to involve others in. You can just say stuff; I’ll be listening at @aboyko.

Nevermind the hypocrisy/absurdity of writing 500 words on this stupid topic, never you mind it a bit.

Comment » | media, technology

Rube Goldberg helps me read ext2 on Mac OS X

October 6th, 2008 — 12:17pm

Every now and again I find myself wanting to read an ext2/ext3-formatted disk from a Linux box on a Mac. Once there was an OS X kernel module that sort of worked, in the sense that it often would mount an ext2 disk on OS X successfully, but the years have not been kind to it, and at this point it’s mainly good for being the only way I know to induce a kernel panic on Leopard.

Happily, though, we live in a weird sort of future where a surprisingly effective way to solve the problem is to run a Linux virtual machine (say, Ubuntu 8.04) on your Mac, and hand it the USB drive with the Linux filesystem. Being a cheapskate, and having no other real VM needs at the moment, I just downloaded Sun’s free VirtualBox (rather than VMWare or Parallels) and grabbed the current Ubuntu ISO. The only trick at all to mounting an external USB2 drive in the VM was to grant the VM access to the USB device by creating a “USB Device Filter”:

which must be done while the drive is connected, but while the VM is not booted. (When you plug in the drive, Mac OS X will complain about the Linux drive being unreadable and offer to format it, but pay it no mind, and tell it to ignore the problem).

I think I’m entirely over my initial reaction, which was that this approach must be Worse somehow than using the unstable & unmaintained ext2fsx kernel module to achieve the “same” result with less code (and also not working). Yes, this VM approach uses more moving parts, but with the advantage of running the actual filesystem in its original context (i.e. with some presumption of correctness), with the only particular risk being added by whatever trickery is needed to pass USB through to the VM.

Anyhow, yay VirtualBox, and yay for Good Enough solutions.

Comment » | technology

Barcode scanning for five-year-olds

September 22nd, 2008 — 2:30am

My kid’s taking it to the next level, as far as tracking his reading habits on GoodReads. All the typing of book titles was boring the young lad, though, and so we just dropped just under fifteen bucks on eBay, shipped, for one of them CueCat USB barcode scanners. You may remember that name attached to an intellectual property brou-ha-ha a couple years back, since the gadgets were part of some sort of scammy spyware company’s get-rich-quick-through-encrypted-barcode-scanning scheme that, astonishingly, didn’t pan out, round about the same time people realized you could trivially hack them to be more generally usable.

Anyhow, turns out there were a zillion of the gadgets made, and apparently after the company went under, you could buy a lot of 500,000 @ $0.30 or something. Some fine enterprising dude on eBay bought a batch, hacks them so they’re fully decrypted, and sells ’em steadily for under $10 plus shipping. Based on our experience so far, if you’re in the business of adding big piles of books to GoodReads or LibraryThing or what-have-you, or you have a five-year-old who is, you could do worse.

But so now my kid is constantly dragging stacks of books over to the computer, plugging in the scanner, and pulling in the ISBNs. I figure in another decade the kid will be so good at wanding barcodes that he’ll rise to the top of the retail job heap and be crowned King Of The Mall before he’s 17. I’ll be so proud, I might get a t-shirt made.

Comment » | technology

iPhone client for WordPress

July 27th, 2008 — 1:30am

It’s possible that the availability of an iphone client for WordPress will make me more likely to write here, in the same way that the availability of a saw in my garage will make me likely to build an armoire. Still, how can l keep from trying it?

Comment » | meta, technology

Video iChat behind a wireless router: what’s the least you have to do?

June 24th, 2008 — 8:34pm

Say you’ve got two people with Macs running Leopard, both behind wireless routers. Let’s say for the sake of argument that these routers are the absurdly ubiquitous Linksys WRT54G routers. What’s the least you have to do to make video chat work between them?

Near as I can tell, the answer is not, alas, “Nothing.” Audio chat seems to work with no fiddling, but for video to work, you have to do this:

  • log into the administrative interface of one of the routers. Not on both ends of the chat; just one.
  • Under the “Applications & Gaming” tab, go to “Port Triggering”.
  • Based on the guidance from this article, add a row that looks like this, opening a range of the ten UDP ports 16393-16402 (only one of which will apparently be used for a single video conference at a time):

    Oddly, in the Linksys interface, you don’t specify which protocol you’re configuring this triggering for, but it’s UDP.
  • Save your settings and you’re set.

Port triggering involves some sort of cleverness that saves you from having to specify the IP address of the particular machine you’re chatting on; I interpret it to mean that when a machine uses a port going outbound, it opens the same port inbound to that machine.

Apparently iChat under Mac OS X 10.4 wanted to use quite a few more ports, and was consequently a lot more hassle. So: if you’re still on Tiger, stop being on Tiger. If you’re on Windows, well, enjoy your first-person-shooter video games or whatever it is people do on Windows.

It’s not clear to me whether this would “just work” if I were using Apple-branded routers. Something tells me the answer would make me feel bad, and then good, and then kind of sheepishly guilty.

And anyhow, the above enabled my first experience using a laptop with a built-in camera for a video chat (with travelling family), and it was great. I think I might, more and more, be liking technology again, rather than loathing it; possibly influenced by my new environment.

Comment » | technology

Back to top