Articles
-
Writing tools for software developers
August 6, 2021
I’m hardly the first to observe that the further a software developer gets into their career, the more their job requires communicating, as opposed to simply writing excellent code. And as workplaces are starting to get more remote- and async-friendly, that communication tends to become more written than spoken. So developing your writing practice is a critical career skill.
But why give up your excellent coding toolset just because you’re writing in a different language, right? You worked hard to gain your current level of editor wizardry, and writing can benefit from version control just as much as code can.
Here’s a quick list of coder-oriented tools I use for writing.
-
Switching to Tufte CSS
July 14, 2021
Tufte CSS seems pretty popular, and I like a lot of what Tufte advocates about communicating visual information clearly, succinctly and (though this is possibly something of a side benefit) beautifully.
So I’ve switched this thing over to a Tufte-inspired layout. Tada!
-
Running a Docker container as a non root user
April 26, 2020
“Containerbow” by Michael Phillips Photography
The Problem: Docker writes files as
root
Sometimes, when we run builds in Docker containers, the build creates files in a folder that’s mounted into the container from the host (e.g. the source code directory). This can cause us pain, because those files will be owned by the
root
user. When an ordinary user tries to clean those files up when preparing for the next build (for example by usinggit clean
), they get an error and our build fails.There are a few ways we could deal with this problem:
-
Making practise tools for amateur musicals, Linux edition
August 1, 2018
A couple of years ago, I was Musical Director for a local musical theatre production. This year, I got the opportunity to do something similar for a production of Rodgers & Hammerstein’s Cinderella, and I spent quite a bit of time making practise materials for the cast. In the intervening time, I switched from Mac to Linux for my personal machine, so I thought an update on the tools I used might be in order.
-
Making practise tools for amateur musicals
April 23, 2017
Last year I served as the Musical Director for a local musical theatre production. My duties involved teaching the music to the cast so that they could perform from memory on stage, including harmony singing in up to 4 parts.
Because the community group I work with (the Diamond Valley Singers) has a policy of not auditioning the chorus for our shows, we get people of all skill levels joining the cast. Some people have already developed the skills they need to learn the music and sing in parts from memory, while acting and dancing at the same time. Others haven’t, and need as much help as the creative team can provide to get them ready for performance. So I spent quite a lot of time preparing materials to help people practise, including more readable scores and practise backings for all the vocal parts.
Here’s a little run-down of the tools I used to put these materials together. All the software is free, or comes packaged with Mac OSX. Hardware is another story, but investing in even a modest MIDI keyboard made a huge difference to the amount of effort required to get everything done.
-
Welcome to Jekyll!
August 27, 2016
I haven’t done any blogging in quite a while. This is partly because I’ve been running the tech blog at work, and partly because my blogging framework (that one I wrote for fun, but ended up looking a lot like Jekyll) depended on a machine that I had to decommission, and also started looking a lot like Jekyll, only not as reliable or feature-rich.
So I’ve switched to Jekyll. I was actually pretty surprised by the degree of similarity between my format and Jekyll’s. It tells me I didn’t exactly have the wrong idea about that bit.
Out of this whole thing, I’ve learned a few lessons.
-
Using SublimeText with Lilypond
January 2, 2015
I’ve spent a little time recently working on my Lilypond workflow, trying to improve on the process I used when I was arranging a moderately long and complex work last year. I used a tedious process involving hand coding (in Vim, until I decided learning both Vim and Lilypond at the same time was a bad plan), running Lilypond in a terminal, then checking the output in Preview (OSX’s built in PDF viewer).
-
VLC video playback bug on Android KitKat - audio crackles and cuts out
March 29, 2014
VLC media player for Android shows (but apparently isn’t responsible for) a bug with its audio playback when playing video files. Every so often the audio crackles and then cuts out for a second or so. Very annoying as you might imagine.
-
File this under "Things to remember"
March 10, 2014
So it turns out that RaspBMC (now OSMC) now doesn’t run the
cron
daemon by default. Let’s remember that for later. -
RSpec, Rake, Travis and SQLite
November 23, 2013
My Travis builds kept failing because the tests couldn’t see any tables in the database. This was really weird, because I was running
RAILS_ENV=test bundle exec rake db:migrate
as a first task. I was using an in-memory SQLite database, as recommended in the Travis docs. -
How to install libsigc++-2.0 from source in Debian
November 13, 2013
Don’t.
Install this package instead:
apt-get install libsigc++-2.0
If you want to compile something that relies on libsigc++ then you should also install this one:
apt-get install libsigc++-2.0-dev
I hope that helps.
-
How to configure your Fritz!Box VoIP connection with iiNet
August 9, 2013
I just got my new phone connection working with my new router. I thought I’d write it down here in case I need to do it again some time.
-
MacBook charging woes (solved-ish)
June 23, 2013
I had an interesting and slightly scary time with my MacBook Air this morning. Basically, it wouldn’t start. I first noticed it last night, and thought the battery was flat. This turned out to be correct. I popped it on to charge overnight. I noticed that the “charge” light never went orange to indicate charging, but stayed green. I thought nothing of it until this morning when I took the machine off the power adapter, went to turn it on, and it still wouldn’t start.
-
O Sacrum Convivium - Messiaen
February 5, 2013
O Sacrum Convivium by Olivier Messiaen
This video is particularly good for study - it shows you the part of the score that is being sung at the time. That’s awesome.
-
Wanted: A "Books Coming Soon" Service
January 15, 2013
I’d really like to know when Charlie Stross’s next book comes out. In fact, I want to know when all his books come out. And I feel the same way about several other authors. What I need is a service that tells me when one of my favourite authors has a book coming out soon, so I can go out and buy it. Something like this, but more general.
-
How a TV show can threaten public infrastructure
January 7, 2013
From the BBC:
[Old-as-hell Flash video removed – Ed.]
More time-shifting would make this less of a problem :P
Seriously though, can you imagine what would happen if someone was actually trying to hurt that network?
-
I just realised...
December 28, 2012
GitHub’s new “create a file here” feature means that I can post to my blog directly from the GitHub website. As long as I’m willing to type in the YAML template myself, anyway. The template is stored as a Quicksilver shortcut on my home machine - perhaps I should consider making it more widely accessible.
So there are still a couple of tricky bits in this process, but at least now I don’t need a machine with Git installed just to write.
Thanks, GitHub!
-
Mustache
December 18, 2012
As an exercise, I am building a site which involves presenting the same data in a few different ways. The current idea is to use Javascript templates and state pushes to implement the navigation, which gracefully degrades to pre-assembled HTML.
-
Backing up small databases
November 25, 2012
I have a few apps running on my own machines that maintain databases. And I got a bit worried that while most of my documents and my code are backed up to other locations, the databases that run those apps really weren’t backed up at all.
So what’s a quick way that I can copy the structured data, make it easy to restore, distribute it off site, do it in a way that preserves my privacy, and not have to remember to do it?
-
Wonderfully creative, inexpensive minesweepers
November 20, 2012
-
Respect for the classics
November 18, 2012
There are a few things that programmers have pretty much solved. It’s certainly not everything (e.g. here), but we know that there are certain things computers are really good at, and we’ve figured out what some of those things are.
-
A brief ponder
November 7, 2012
I read an article today which got me pondering the idea of hosting this blog on Heroku. That seems incongruous when we’re talking about a site that’s hosted as static HTML, but it would make the deployment process somewhat quicker.
That said, I could probably achieve exactly the same through the clever use of git’s handy event hooks. Which is, of course, exactly how Heroku does its magic.
-
My grandchildren won't need a driver's license
November 7, 2012
I predict that in 50 years, less that 1 car in 50 will be driven by a human. Robots are going to take that job, either as part of the car, or as a separate appliance that works with the car.
-
Arduino-based aquaponic farming
November 2, 2012
Eric Maundu is growing more food than he can eat in the middle of Oakland, California. There’s no arable land there - he’s using a technique called aquaponics, and he’s using Arduinos to monitor his gardens and tell him what they need.
via faircompanies
-
Stuff that's bugging me
November 1, 2012
Here’s a list of things that are irritating me about my self-built blogging tool right now:
-
Migration
August 14, 2012
Over the weekend I decided to get off Wordpress completely and move over to the blog I built with my own ten fingers. The next stage of the experiment is to stop making excuses by calling it an experiment. Use it as the real thing and see how far I get.
-
XSLT plus RSS - not so miraculous
August 11, 2012
In a previous post I waxed lyrical about how great it would be to render an RSS feed in a browser by providing an XSL stylesheet telling the browser how to display it. It was working great when I tried it at home, but when I tried it on my work machine, it fell to pieces.
-
XSLT plus RSS equals The Business
July 27, 2012
The content of the front page of this site is pretty much exactly as the content of the RSS feed, right? So why publish a separate index.html file if I don’t have to? If you look closely, you’ll see that it’s an RSS document. But how do we make it look like the old HTML document? Well, that’s the miracle of XSLT.
-
Get an e-reader for when the zombies come
July 16, 2012
When the zombies come, what will be the thing that gives us an advantage over them? Why, our delicious BRAAAAAINS, of course! And what lets us use our brains to best effect? That would be knowledge. And the lowest-cost, longest-lasting, best bytes-per-cubic-centimetre storage & access device for knowledge?
-
This blog's opinions
June 21, 2012
As I’ve been making this blogging software, I’ve had to make decisions about the way it should work. Naturally, those decisions are the result of my own preferences and beliefs about software, blogging, publishing and reading, and the best way to do them. So it transpires, unexpectedly (at least to me) that when I make things, I find out more about what I think of the world, and about how I think it should be. I learn about myself by examining my output. It seems obvious when I put it that way.
There’s a chapter in Getting Real about making opinionated software. Turns out I’ve been doing it without realising, at least to an extent. And I think it’s one of those things that’s much easier to do when you’re making something by yourself. You get to do it the way you think it should be done. This is also the great benefit of being your only user :)
-
Personal productivity analytics - Gamifying GTD
May 4, 2012
Like many people, I struggle to get the everyday stuff done all the time. Paying the bills, doing the housework, making phone calls and appointments, getting enough exercise. I keep asking myself: what would help me get more motivated to do this stuff?
-
How it all hangs together
April 19, 2012
-
An advance in templating technology
April 12, 2012
There are a few challenges in developing a templating engine, and I think I’ve solved one of them for this framework: including templates inside other templates.
-
Burnie by night
April 4, 2012
My sweetie and I started our sojourn yesterday, to sunny Tasmania. We arrived in Launceston, stayed there for a night, and then spent today driving to Burnie. Not a very long drive under normal circumstances, but we chose the scenic route :)
Here’s a photo I took on our walk this evening. Please excuse the crappy resolution - it turns out I had it set far too low:
-
Testing the build and deploy goodness...
April 2, 2012
If I’m right, then all I have to do is save this file and push it to Github, and then by some Jenkins-y magic it will appear on the blog!
-
So I built a blogging framework...
April 1, 2012
I wrote a post a little while ago about the concept of a blog that uses a version control system (VCS) for storage instead of a relational database, and the benefits that might have.
This is me, trying that idea out. This blog, new and unpolished as it is, has no relational database in the back. Instead, it uses Git for storage, so you can view the source for it on my Github (posts) (templates) (Rake tasks).
-
Using commit-based diff analysis to measure the impact of scoped code changes
March 31, 2012
Measure change in cyclomatic complexity by analysing diffs
- Every decision (e.g. an
if
block) removed is -1 - Every decision added is + 1
- Becomes meaningful when related to story points completed, or a similar measure
- Measures only code that has changed - i.e. the effect that WE are having as a team
- Need to tag commits or something like that, so our measurement tool knows what it should be measuring
- More relevant measurement than a whole-codebase metric, esp. when other teams work on the same codebase
- Faster to measure than a whole-codebase metric, esp. with large codebases
- Every decision (e.g. an
-
Diff-based code inspection
March 30, 2012
Here’s a totally hypothetical problem to consider:
Your team is working with a large, kinda creaky code repository. You want to measure the improvements you’re making in code quality, (cyclomatic complexity etc.), but the impact you make one way or the other will not make a blip when compared to the existing code (think fractions of 1% in the must extreme cases). Not only that, the code base you work on also has other teams working on it, and you don’t want to measure their changes, just your own.
How do you measure the impact your team’s changes have made to code quality (for better or worse) in a meaningful, repeatable way?
I’m thinking …
pastelsdifferential code analysis!Instead of measuring the difference in your code metrics from week to week, you measure the delta that your changes cause to your metrics.
-
An image placement problem to watch out for in Google Chrome
March 22, 2012
Google Chrome has an interesting little thing that it does, where it decides how the page will be laid out before it knows the dimensions of all the elements. For example, if you create a
<div>
tag with a large image in it, Chrome will calculate the height of the div before the image has loaded. That’s right - it figures out the height of the image’s container without necessarily knowing the size of the image. -
Presenting my linkblog
March 18, 2012
With some small trepidation, I present to you a couple of items.
Firstly, my linkblog, in which I point to internet objects of all sorts which I have found interesting, amusing, informative, scary or otherwise worth reading.
Secondly, Grabbit, the web application I have made which runs the aforementioned linkblog. It also forms the centre of a couple of other useful RSS-related applications I use.
-
I love having my own domain name
March 16, 2012
About half an hour ago, I decided I was unhappy with MyOpenID as my OpenID provider. They have been down quite a lot of late (or so it seems to me), and this evening I finally had enough.
-
Building a blog atop a version control platform
February 13, 2012
Most blogging platforms are database-backed: they run with a relational database storing all your posts, and then query the database when it needs to present a post on a web page. You create posts by making
INSERT
commands, and edit withUPDATE
s.This model has some great aspects: it’s pretty fast (though not the fastest), it allows many users to run blogs on the one server (by adding a foreign key named
blog_id
to theposts
table, for example), and it’s easy to query and search, just by using SQL (the web app you’re using to run your blog generally takes care of that for you). You can blog from anywhere, as long has you have a web browser.But there are some weaknesses to this setup as well. For example, it’s hard to track changes (resulting in paragraphs at the end of posts starting with UPDATE: or EDIT:). And unless you work directly on the server (which is risky), you’ll have to use that web app to write your posts. Not a huge burden, unless you happen to be on dialup, or spotty 3G. It’s also hard to back up.
So how do we get around these problems, without getting rid of too many of the advantages that a web app-based blog gives us?
-
Art, sharing and copyright
November 5, 2011
There are some things that Western society usually encourages. Not that other societies don't, but the West is the one I know. Art is held up as a sign of civilised life. Sharing is considered one of the most basic social skills. The rule of law is something we have set up enormous governing entities to try to preserve. Yet we are at a point in our development as a culture where a sharp conflict exists between these three principles: create art and cultural works, share what you have and obey the law.
-
A word on website hosting
October 29, 2011
I’ve had a few people and groups ask me about setting up their own website. After having this conversation a few times, I thought perhaps I should distill the common elements here. So here goes.
-
URL Shortening Sucks When Bandwidth Is Scarce
August 11, 2011
Here’s why: when you click on a link from bit.ly (or ow.ly, or ur1.ca, or arseh.at) your browser has to go and make a request to the server that runs the URL shortener before it can do anything else - before it can even think about loading what you actually want to see. So every short link you click is slower than the unshortened link would be.
And that’s just for starters.
-
Where baby HTTP 404s come from
May 31, 2011
DISCLAIMER: I maintain the code that I refer to in this post, but I didn’t write the code.
I’ve been hunting HTTP 404 errors (that’s the “File Not Found” variety), and today I came across a bit of a puzzler. The non-existent image files were being referred to by a stylesheet as part of a CSS
background:
instruction, but the rule that contained the instruction was never invoked. That is, the rule was for a class name that was never used.How the hell was I getting these image requests if the code that started the requests was never being used?
-
Passion vs detachment
March 24, 2011
I’m confused about something, namely: how you can be both passionate and detached.
-
Protip: Keyboard-activated, cross-browser bookmarks
November 26, 2010
I’m a web developer. That means that I use at least 3 different browsers every day. And maintaining a set of useful bookmarks across all those browsers is a pain in the arse. Also, I tend to prefer typing over mousing. It’s generally quicker. Wouldn’t it be nice to have a set of bookmarks that I can use in any browser, and access from the keyboard?
-
Libraries are gonna have to change
October 24, 2010
Libraries have traditionally been repositories of knowledge - a place that you go to if you want to do some research, find something interesting to read, or just borrow a trashy novel to stave off boredom. I'm thinking of your local lending library here - the kind that lets you borrow a book, read it, and bring it back in a few weeks. They're often funded by local government (at least where I live), and hence are not a profit seeking enterprise, and they usually provide services that are of huge benefit to their local community. I think libraries are fantastic.
I also think that their traditional lending-based service model is doomed.
-
The Offlineable Personal Wiki
May 31, 2010
Some of us are mobile, and have smartphones, and want to take notes of things. Some of us use Evernote, but are a little bit dissatisfied because it’s a bit on the slow side, and a little nervous about giving EvernoteCorp all our data. Some of us like the idea of a wiki, but want to be able to use it on our smartphones when we’re out of range.
Enter the Offlineable Personal Wiki Which Doesn’t Have A Cool Name Yet (OPWWDHACNY). Markdown editing, text file storage, easy mobile app for editing and searching, uses Dropbox or something similar to sync with a webserver for access to other devices. Dropbox allows syncing of any filetype including photos, audio recordings etc, so there’s no technical text-only limitations.
“What about editing collisions,” I hear you cry. Well, that’s the limitation. This is a single-user affair, folks, so editing collisions aren’t a problem.
That’s what some of us want, and I suspect there’s already a few candidates on the way out there. What’s missing is the Offlineable bit.
Go forth. Develop. Profit from my brainwave.
EDIT: Added link to Evernote.
-
Don't be original. Be clear instead.
May 13, 2010
If you’re wondering whether to write that piece, thinking “it’s been done before,” don’t wonder - write it. Don’t hesitate to air an idea just because somebody else has had it before. You’re not original - so what? Even if you don’t have an original idea, you may have an original expression of it. Show the idea your own way and perhaps something valuable will come of it, for you or for somebody else. You may provide somebody with an “Aha!” moment, which others had previously failed to do.
Don’t strive to be original. Nobody’s all that original - human brains don’t work that way. Strive to be clear, because the world needs more clarity. Your uniqueness will show through your work.
-
On simplicity
April 12, 2010
I just had an exchange with a colleague in which we were totally agreed that such-and-such a feature should “be simple.” This was fine, except that we’d neglected to answer an extremely important question: simple for whom?
-
Personal Context - a ramble
March 22, 2010
Personal Context is a concept I (or anyone) might use to help a machine figure out what is interesting to me (them). It uses data sources like:
- what I read, watch and listen to
- where I go, online and off
- who I spend time with or talk to
- things sent to me, and who sent them
- what I write and talk about
- entities whose output I read (people, companies, machines, etc)
- my calendar
It figures out what I’m likely to be interested in, based on metadata like:
- recency
- number of links from important (to me) sources
- what I do at certain times of day or week
- terms I search for often
It displays thing in real time, with the idea that if something is still important, it’s still being linked to. It relies on Jay Rosen’s “back story button” to fill us in. Hence old stuff is culled ruthlessly.
Obviously this requires access to a hell of a lot of personal, maybe sensitive data. That would be a problem for many people. It might be for me - I don’t know yet. [It is. –Ed, 11 years later] But it would be amazing, assuming you could trust it.
Hang on - isn’t this the kind of thing Google has been working in for a decade and more anyway? On the other hand, do we trust Google enough to give them all the info I mentioned before? At this moment the answer seems to be no. So who would we trust? I can’t think of anybody, and neither, I suspect, could most of us.
So how does it change if we don’t have to trust anybody with our data, except perhaps in aggregate? Your own machine does all the crunching, you can access it remotely if you want, and you only download rules for processing, which are the same for everyone, or which you can add noise to (a false trail of data, if you will). Then would you trust the software?
I’ve only just realised that I’d assumed this thing would be open source, and hence open to scrutiny by anybody with enough patience. You can usually assume that by the time an open source product is remotely popular, somebody reasonably smart, cynical and suspicious has given the code a good look over. And if they’re not making noise, you’re probably safe.
Even given all that, it’s still a game of chance to some degree. No system is totally secure, but we get as close as we can.
Hopefully this ramble has proved interesting. If not, better luck on you next reading list item :)
-
Testing out Dave Winer's podcast device idea
March 22, 2010
After that I tried installing the Wordpress app, in which I’m typing this post. The app, it appears, doesn’t support audio uploads. Pics yes, audio no.
Obviously I’ll have to do a bit more work on this, and maybe if I still feel like a Winer fanboy in a couple of days I’ll do a “for poets” howto on the subject.
Edit: I totally didn’t read that last sentence before I posted. The Android keyboard is OK, but its predictive fu is not perfect.
-
Choose your beach-wear wisely
January 12, 2010
I was taking a walk on the beach the other day. The weather was warm, the sun was shining, and the view was simply wonderful. A perfect day for a swim or a tan, or whatever. I’d brought my camera along in case I wanted to take a few landscape shots. A bunch of other people also thought it was a great day for the beach. As I approached there were about 50 people of assorted ages, all over the beach and in the water.
-
LiveCD trouble with Ubuntu 9.10 (Karmic Koala)
December 26, 2009
I replaced the guts of my machine recently (motherboard, CPU, RAM, video) and, having done this, my Ubuntu Intrepid install wouldn't work, because the kernel didn't support the new hardware. So I decided I'd install the latest version (9.10, Karmic Koala) to get a more recent kernel, and hopefully some other goodies. Downloaded the LiveCD on my laptop, burnt a disk, slipped it in the drive, and off we went.
-
Why it's worth giving your developers a new machine this minute
December 21, 2009
I’ve been spending a few days reskinning a web site. It’s not one of those really hard jobs, but it isn’t a walk in the park, either. But I noticed about half a day in that I’d been working on this task for about 3 hours, and I was only just coming up for air. I’d been completely absorbed in what I was doing, to the point where I’d lost track of time, and wasn’t getting distracted at all (which is pretty damn unusual for me). This sounded rather like a state of mind I’d heard of, but never experienced, which is called flow.
-
Education is about knowledge and skills
November 9, 2009
Lately I’ve been given to muse on the Western education system, and it’s occurred to me that it has quite a major deficiency: you can finish a high school course - mathematics for example - without having the skills that the course should be teaching you. In other words, the course is failing its students, letting them down by calling them proficient when they aren’t.
-
The Dark Side of TDD
September 30, 2009
I thought Test-Driven Development would be a good idea. It has been recommended to me many times as a relatively easy way to write solid, maintainable code. A couple of weeks ago, I got the opportunity to start doing TDD at work, so I took it up. As it turns out, it’s frustrating, tedious, and it sure as hell doesn’t make writing code any easier. The material I had read about TDD is, as far as I can tell so far, half true at best.
-
Steve Rubel's "My RSS Database" screencast
September 2, 2009
I just watched this video by Steve Rubel, explaining how he uses Google Reader as a personal database:
-
The Twitter Notifier
August 30, 2009
This is my next side project idea. Feel free to steal it - you’ll probably do it better than me.
It’s been bugging me for a while that I can miss stuff on Twitter. I understand it’s part of the point, but there is stuff that I really don’t want to miss - specifically, messages that address me directly, like DMs (e.g. “d lucasrichter here’s a message”), or @-replies (e.g. “@lucasrichter here’s a message”).
-
My first open-source(ish) development experience
June 2, 2009
I recently got an email from somebody I didn’t know, who had made some improvements to a Greasemonkey script I wrote and put on Userscripts.org.
This would not normally be significant, except that it’s the first time that this has happened to me. It makes me feel that I’ve written something worth having and improving, and hence something potentially useful, regardless of its quality. It might even be an idea that’s worth being proud of, and as far as software ideas go, that’s a new one too.
Hopefully this is something that happens to everyone, but I’m guessing it’s not. So I’d really like to thank the contributor who did this for me. You made my day.
-
Ubuntu is getting closer to normal user-readiness
May 6, 2009
Note the use of the relative term “closer”, folks.
-
Creative Communism? I don't agree.
April 6, 2009
Sorry, Prokofy. Most of your argument got lost amongst all the name-calling.
I don’t think anybody can sensibly suggest that Creative Commons is the solution to all problems with copyright (or -left) and intellectual property. But it’s a lot closer than a standard copyright license to encapsulating the reality of digital media: once I have a copy of something, I can share it for (nearly) free. That’s not going to change soon or quickly.
-
Pattie Maes' Sixth Sense technology: What's stopping this?
March 12, 2009
I was watching this magnificent video about a new technology named Sixth Sense on TED, and while I’m blown away by the use of technology to amazing effect, I can’t believe that this will become a mainstream technology on any timeframe short of generations. Watch the video if you haven’t already, and then we’ll discuss my concerns.
-
Would a mandatory Internet content filter breach human rights?
February 25, 2009
I saw a question on Twitter recently (thanks @andrewsayer) asking whether a mandatory Internet filter “infringes on our human right” (sic). This naturally aroused my curiosity, so I consulted the authoritative document on the matter: the United Nations’ Universal Declaration of Human Rights (UDHR). What I found was interesting, and raised more questions than it answered:
Article 19.
* Everyone has the right to freedom of opinion and expression; this right includes freedom to hold opinions without interference and to seek, receive and impart information and ideas through any media and regardless of frontiers. -
Get a file from your home box via a microblog or IM
January 20, 2009
Here’s the story: I’m stuck behind a corporate firewall and I’m not allowed to SSH to my home box. It sucks, but that’s the situation. The problem is that I want to get a file from home, and currently I can only really do that via SSH. I need a way to get files off my home box that doesn’t involve opening it up to unwanted (possibly malicious) traffic.
One idea is a response bot sitting on either IM or a microblogging site (e.g. Twitter, Identi.ca), or even possibly email. It gets a message containing a file path (which of course I would know by heart… possible pitfall there), and either sends me the file in reply in the case of email or IM, or for a microblog, it uploads the file to an FTP site or box.net or something, and posts me a link. It’s kinda half baked cos I only thought of it 5 minutes ago, but at least now it’s written down somewhere.
-
Why a wiki would make a terrible address book
December 15, 2008
This is a companion post to the one I wrote yesterday. If you haven’t read that yet, it might be worth a look.
So I thought a bit more about wikis and how wonderful they are, and thought, this sounds too good to be true. What are some of the things that are going to piss me off if I use a wiki for my address book?
Come on, there’s got to be something!
-
Why a wiki would make an awesome address book
December 14, 2008
I’ve been thinking a bit about wikis recently, from how I’d use one for a particular project, right through to how I’d implement one. Something hit me recently which may have been obvious to everyone else, but came to me in a flash of light: wikis are so flexible, you can use them for anything. Really. Absolutely anything.
-
Doing text searches on print music
December 1, 2008
I’ve been playing around with Tracker (the Linux text search tool) this morning, because I’ve just received a bunch of sheet music in PDF form, and I wanted to be able to search for songs. And the file naming system used by the providers of these PDFs sucks major arse. So using Tracker to index the songs so I can search for them by title (and, incidentally, lyrics) seemed like a pretty logical thing to do.
But I want more. I want to be able to do this for my hard-copy music as well.
-
Putting links in non-text media
August 28, 2008
I just watched a couple of concept videos by Aza Raskin of Mozilla Labs, and they left me curious, wanting to know more. There were a couple of links at the end of each video that I wanted to visit, but I didn’t. Why not? Too damn hard. So hard, in fact, that writing about it is easier. I would’ve had to cue each video back to the frames with the URLs, then type them! Typing! Frickin’ URLs! I thought the web was past that.
So this experience got me thinking: how can this be made easier? How can I make links in video?
-
Making your iPod co-operate with Linux
August 26, 2008
I recently bought a new iPod Nano (3rd generation) and I decided last night to get it working with my Ubuntu Gutsy box. It took me way too long, so I decided I should spend more time documenting the process to make it worthwhile, so that you might not have to spend so much time on it.
-
Social interaction, our kids and the Internet
August 6, 2008
My darling’s mother is a Luddite. I don’t mean this as a criticism, I only mean that she and I have a significant difference in points of view. Last night we got onto the subject of computers, which meant I was regaled with complaints about how they don’t work and they’re far too expensive for something that does so little.
Unfortunately, I can’t put together a convincing argument on my feet. I just can’t think fast enough and talk at the same time. As such, my attempts to bring her around were spectacularly unsuccessful. What was more interesting, though, was the discourse that followed between my sweetie and I.
-
How draconian can you get?
July 23, 2008
I was looking at the Acceptable Use Policy at The Times Online, where I found the following little gem: