Working offline using git

I don’t have access to the internet at home right now. This is making me surprisingly productive, yet I have the need for source code management. Setting up a local Subversion server is not really an alternative, because I do not even have a network set up yet. I further want to easily exchange code between my workstation and my laptop using a humble USB stick, having a way of merging conflicting changes if necessary.

Remembering a talk of Torvalds (do watch it if you have the time, it’s quite entertaining), I thought that git might be just the tool for the job.

Luckily, I already had it installed on both machines, so all I had to do was to learn to use it. There’s great documentation in the form of man pages, so it wasn’t really a problem to learn about it offline. After a few minutes, I knew enough to get me started.

It works just great: You can turn any local directory into a git repository and work there, committing, reverting and branching all you like. If you want to work somewhere else, you clone the repository and then pull from it whenever it changes. For instance: I worked on my workstation, then pulled from this repository on the repository on my USB stick and finally pulled from the USB stick repository on my laptop. Whenever you pull changes, you are able to inspect the changes and merge selectively.

I’m pretty determined to work on all of my projects using git in the future, probably using git-svn at first.

About Flattr

Content creators have to be paid for their work – that’s been a prominent problem for the past few years. While the entertainment industry clings to dying business models, a few geeks from Sweden have come up with the, in my opinion, best solution to this problem. Flattr is one of those brilliant yet simple ideas making you wonder why you didn’t come up with it.

It works like this:

  • You sign up with Flattr and pay them at least €2 per month
  • You click on Flattr buttons installed by content creators on their blogs and such
  • At the end of each month, the amount you pay is equally divided among the Flattr buttons you clicked

Your financial situation doesn’t change a bit when clicking a Flattr button. When I see a donate button on the website of e.g. an open source project, I have a weak desire to donate a few bucks. But then my reasoning sets in: “Do I like it that much?” “Didn’t I plan to save money?”. When clicking a Flattr button on the other hand, I don’t lose any money. I lose my monthly amount anyway – even if I didn’t click any buttons, it’s given to charity.

You only pay for things you like. When you go to the movies and didn’t like what you saw, you’ve already paid the entrance fee and seen the commercials – you can’t take it back. Nor can you reasonably reward a movie you liked a lot other than spreading the word. This might have lead to an entertainment industry that produces a lot of cheap crap and focuses on marketing.

Nonetheless, Flattr is, in my opinion, not there yet. For instance, there is no mechanism to give a larger portion of your amount to one thing: Imagine there is a Flattr button on each article in a blog and there is a single one on the GNOME website. You can only click each button once, so the blog can get flattred more often, although GNOME was certainly much more work. Another question is how Flattr can be combined with social networking sites: Imagine you follow someone interesting on Twitter, but he doesn’t have a blog – how to flattr that?

Well, Flattr is still in it’s beta phase and it does look very promising so far. I really hope it spreads, it might boost great things like open source software and independent games.

Centering monospaced fonts

My blog’s header used to look like this:

I thought using a monospaced font was a good idea – I’m a programmer (and a bit retro) after all. Yet I couldn’t help but wonder what looks wrong there. Did you spot the problem?

I don’t have a very sharp eye for fonts, so my only way of detecting monospaced fonts is by checking whether the characters in subsequent lines are aligned, like this:

I centered the text on my header, which messed things up:

That looked just weird, I’m sorry about that. I wasn’t able to give up yet, so I tried to fool around with a pre block. It did align the characters properly, but there was no word wrap and no links, so I gave up and used a proportional font. I’m quite sure that my colour selection is a clear enough sign of geekiness 🙂

What’s wrong with Nintendo?

Both the Nintendo DS and the Nintendo Wii are great devices, and currently amongst the most interesting to program for. This becomes evident from the fact that there is quite a large Homebrew community producing excellent applications such as Colors!.

You’d think that Nintendo does everything they can to turn their products into popular development platforms in order to attract new developers and offer software beyond games, for which there is evidently a demand. They don’t. They don’t even make money from it, other people do. What does Nintendo do? They spend money on ridiculous restriction mechanisms that are cracked in an instant.

It’s quite obvious why they do it: If the console can run Homebrew, it can run copyrighted material as well. However, they shouldn’t solve this problem by trying to lock their customers out of their own devices, that’s mental (although sadly quite common these days). I believe to have the right to run whatever kind of software I like on a device that I own.

Nintendo’s Shop Channels are certainly a step in the right direction, but they’re still doing it wrong:

  • You can’t transfer software you once purchased to another console, even if it breaks. Why not bind the software to the Wii/DS account instead of the piece of hardware? If this was the case, I would have bought tons of SNES titles on the Wii Shop Channel, but I won’t spend a cent on software if I’m that likely to lose it soon.
  • They do not offer much software, let alone much besides games. I’d suggest opening up the Shop Channel to independent developers and offering a software card so that pre-Nintendo DSi owners can use the software as well. Nintendo could keep a fair share of each developer’s revenue for themselves, naturally not charging for free applications.

Please Nintendo, stop fighting Homebrew and start selling it!