Archive for the 'Software' Category

A new year…

…a new blog.

I wasn’t neglecting this blog enough, so I decided I needed to make another one.

No, seriously, this all makes perfect sense in my head. Really.


Movember: Day 16

Day 16

Still trying to get this thing symmetrical. Still failing.

The good news is that my laptop is upgraded and restored to the point where I can at least post this. The ironic news is that the gDesklets CPU monitor is showing a consistent 20% usage by the gDesklets CPU monitor (and, to be fair, a few other desklets). So… am I back to the old days of a bare desktop and no way to know much load my machine is under except by the heat coming from the grille on the side? Or will I find a more efficient CPU monitor? Stay tuned!

No comments


Ahhh, gDesklets. This makes it feel like uni, when pimping your desktop was basically a diploma course.

No comments

Karmic Koala

I’m in the middle of upgrading Ubuntu on my laptop.

Well, no, that’s not entirely true. I’ve finished upgrading, and now I’m waiting for my home directory to rsync from the server that I backed it up to. It’s moving steadily at about 100MB a minute, which seems sort of slow, but not surprisingly so given how crufty everything in between is, and I’m definitely not going to investigate it before it’s done.

I did actually go to the effort of putting /home on a different partition when I installed it originally, so that I could upgrade it and keep my home directory in place, but I also formatted it as Reiser, which I think has possibly been at the root of some performance and drive-clicking problems, so I’ve reformatted both partitions as ext4, which is presumably somewhat better supported in Ubuntu, being the default filesystem, except that there’s this vague rumour that it occasionally corrupts very large files, except that nobody can reproduce it and they’re starting to think that the reports are bogus, but of course the nature of software is that it’ll never fail when you’re actually looking at it, so now it’s niggling in the back of everyone’s mind that one day all your stuff might be corrupted.

Wasn’t there a time when these things were simple?

No, now that I think about it. It’s always been this complicated. But it’s sure as fuck not getting any simpler.

No comments

Unified communication

A familiar part of being an online-dweller in the Web 2.0 world is that moment when you have to make a decision along the lines of “should I express this thought as a blog post, a tweet, a Facebook status update, an email, a forum post, an edit to a wiki, a…”

I assume I’m not the first to have the follow-up thought: “why do I have to decide?” We seem to have ended up with a handful of semi-standard ways to communicate with a wide audience, none of which serves exactly the same purpose, but with the result of having to either choose between them (which restricts the audience) or redundantly post to all of them (which fragments the resulting discussion).

Got my Google Wave invite last week, and so far I haven’t done much with it, but it does seem to be an attempt to face the problem of unifying a bunch of different ways to communicate – albeit by adding another different way to communicate.

I was about to say that the drawback of Wave is that it’s another instance of Google Owns All The World’s Data (at least we can be grateful that it’s not Microsoft), but I just checked the Wikipedia page (naturally) and apparently the plan is to eventually let anyone run a Wave server. So that’ll be interesting to watch.

Anyway, the point I was getting to was that I recently started having random thoughts about what a Grand Unified Social Network would look like. That led me to the Wikipedia page (again, naturally) on distributed social networks, but so far the term seems to refer mainly to attempts to get Facebook contact lists and whatnot into the open. Okay, maybe that’s just because the term is “distributed social network” not “distributed communication network” or something, but still.

What I’m vaguely imagining (and I’m more or less making this up as I go) is something where I post some data (say, a tweet/status-update-like message, but whatever) to my local Grand Unified Social Network Server (uh… GUSNS?) with some kind of visibility settings. Depending on the visibility settings, it pushes and/or makes it visible to other users on the same local server, and/or pushes it upstream to some kind of GUSNS hub in a vaguely DNSey way, which distributes it to other users. It might be attached to an existing message/user/object, like a conversation thread. And, unless it’s explicitly public, it’s encrypted using a key known to the circle of people to whom it’s supposed to be visible.

Okay, that description makes even less sense than it did in my head. Obviously I haven’t been thinking about this long enough.

Maybe I should go and read up on Wave and XMPP and whatnot and see if this is all just already done.

1 comment

Further descent into geekdom

So I installed BSD for the first (successful) time yesterday.

My setup at home, as of a few weeks ago, was as follows.

  1. Wireless router with four Ethernet ports.
  2. My laptop, running Ubuntu, which generally connects via wireless.
  3. Tina’s second-hand desktop, also running Ubuntu, with a PCI wireless card (because at the time it seemed cooler than running a long Ethernet cable).
  4. A server that stayed on most of the time, connected to one of the Ethernet ports, running some mutant Xubuntu-like monstrosity that had been upgraded half a dozen times. SSH and BitTorrent from the outside world were directed here. The machine itself was a Pentium 3 or something, chosen because it could get away with just a heat sink over the CPU so it was pretty quiet and (I think, although I never actually measured it) low-power.
  5. My gaming rig, now essentially obsolete, but still with the best video card in the house. Dual-boot Windows XP and Kubuntu, connected via Ethernet.
  6. A couple of random boxes that I used for now-defunct projects and haven’t bothered to get off my desk yet.

Tina’s desktop (3) had had a slightly flaky hard drive for a while. A few weeks ago it finally gave up and refused to boot, although it was still mostly readable. I have a few spare drives lying around and could probably have just swapped it out, but on an impulse I bought an ex-lease box from an online auction instead. Pretty cheap too – $235 including delivery for a Pentium 4 3.0 GHz, 2 gig RAM, DVD writer. Yeah, there’s a risk with buying stuff ex-lease, but at a price like that I’m not arguing.

Anyway, it turned out to be a good decision ’cause the server (4) died about a week later. Actually it may have already died, I hadn’t been using it much, and it had been temperamental for a while, but it was a couple of weeks ago that I finally realised it wasn’t booting at all. It’s had some other hardware issues too, so although I like the fact that it’s so quiet, I don’t really trust it to keep working with a new HDD.

So I got a new hard drive ($125 for a 500GB IDE drive?! That’s like 25c a gig), stuck it in Tina’s former desktop, and installed FreeBSD 7.0 (which came out last week) on it. I spent most of Sunday coming to terms with the little differences between BSD and Linux, and getting a few things up and running.

Thoughts so far? It feels more responsive than Ubuntu, although I’m probably going to switch to a lighter-weight window manager than Gnome; maybe Enlightenment, if I can get my head around it. I’m trying to SSH to it at the moment from work, and the connection keeps dropping, although that could just be my ISP going through one of its IP-address-shuffling frenzies. Will have to keep an eye on that. The central configuration of nearly everything in rc.conf seems really elegant, although I’m sure there are quirks that reveal themselves over time. I’ve installed a couple of things with ports, and it seems quite powerful. The whole system feels much more like a coherent whole than Linux.

So is there a world of pain waiting for me just around the corner?

1 comment

More ugly CAPTCHA hacks

I’ve just implemented the vision-impaired CAPTCHA workaround that I discussed before, wherein (what a great word) the image’s alternate text contains a second word, which, if you enter it, puts your comment in the moderation queue. It’d be nice if you got a message to that effect, but I couldn’t immediately see how to do that, so for now your comment will seem to disappear into the √¶ther.

So I’m expecting one of three things to happen.

  1. The thousands of vision-impaired readers I’ve picked up over the last two weeks since I introduced CAPTCHAs will break their silence and start leaving insightful (no pun intended) comments in droves.
  2. Every spambot in existence will try submitting the alt text, and my inbox will be pummeled into oblivion with moderation emails offering various anatomical enlargements.
  3. Deathly silence.

My money’s on 3. Stay tuned.

No comments

Captcha update

My custom CAPTCHA implementation is up and running. It’s currently a horrible collection of hacks into CapCC to call a Python script, so it’s in no state to distribute to anyone but myself at the moment. I might improve that situation at some point.

I have no idea how strong it is, other than a vague impression that I wouldn’t like to have to try to crack it. No vision-impaired option yet, but I’m probably going to do the moderation thing that I mentioned in my earlier post.

Coincidentally, Slashdot just reported (the news is actually a couple of weeks old) that Yahoo’s CAPTCHA has been broken with 35% accuracy.

No comments

A geeky interlude

Just wrote this in Lisp:

(defmacro dotimes-nested ((&rest vars) &body body)
  (if (null vars)
      `(progn ,@body)
      `(dotimes (,(caar vars) ,(cadar vars))
        (dotimes-nested ,(cdr vars)

I think I’m in love.

1 comment

Degree Confluence mashup

I’ve hacked together a Degree Confluence Project Google Maps mashup here. Warning: if you’re anything like me, this can turn into a serious time sink.


Next Page »