This year I was at FSCONS, the Free Society Conference and Nordic Summit in Göteborg. First and foremost, this was an opportunity for me to meet some of the GNU hackers I had met earlier this year at GUADEC. The conference itself covered a wide variety of topics. Unlike GUADEC, which is basically all about a single (albeit large) piece of software, FSCONS brings together technology, creative minds, social sciences, philosophy—I never heard people discussing Marshall McLuhan over a beer at 3 a.m. anywhere else.
These are my notes from the GNU Get-Together and from the FSCONS conference. There was a lot more going on there that I won’t mention. . . . → Read More
Following up on my “First Steps” article, I did some more Processing development on Android. I ran into some problems, solved some, and was able to start my ported Processing program inside the emulator.
This article is still not about actual Processing source code. All I did was fiddle with the Android SDK tools some more.
Building Without Eclipse
Eclipse is kind of a resource hog (yeah, I know, “I told you so” just ain’t saying it). Therefore, I took a closer look at the command line tools from the Android SDK to replace it (at least part of the time).
To convert an existing Eclipse Android project to an Ant project that you can build from the command line, use the “android” tool from the SDK:
I got into mobile development recently. I ported an SDL-based game to the Openmoko FreeRunner and to an iPhone 3GS. Now I’m planning to do some Android development on a Motorola Milestone (the European version of the Droid).
I have previously been using the Processing programming environment on the desktop, so I was delighted to learn that it is now available for Android.
(“Processing is an open source programming language and environment for people who want to create images, animations, and interactions.” It won a Prix Ars Electronica award in the “Net Vision / Net Excellence” category in 2005.)
I am by no means an Android or Processing expert. This article serves mainly as documentation for myself about the steps to build a simple application. If it is also useful for others, so much the better.
When gNewSense GNU/Linux migrated their web site from PmWiki to MoinMoin, I volunteered to write a script to get the job done. These were the requirements:
Convert ~1500 pages with attachments without losing any data or formatting
Migrate 4 years worth of revision history (>10000 edits)
Import ~2500 user accounts
The versions that we used on the gNewSense web site were PmWiki 2.1.27 and MoinMoin 1.7.3 (also tested with 1.9.3).
The gNewSense web site after the migration to MoinMoin
I modified the PmWiki engine so that it produces intermediate markup instead of HTML. The intermediate markup is then converted to MoinMoin markup by a Python script.
I decided against writing my own PmWiki parser based on one of the existing scripts listed on the MoinMoin web site. These scripts were written for older PmWiki versions, and getting them to understand all the details of PmWiki markup the way PmWiki does would have been quite a challenge in any case.
By having PmWiki produce intermediate markup, I leave the hard work to PmWiki itself, while still retaining the semantic information that might not be available in the HTML anymore (for example, a Table of Contents might look like any ordered list in HTML; on the markup level, it’s something entirely different).
Maybe you have a blog, a Twitter page, a Flickr photostream, and a bunch of other sites. And maybe when you post to one of your sites, you want the post to appear on all your other sites automatically.
I currently do this with RSS and Atom feeds and some Yahoo Pipes magic.
Flowchart of connected sites
If the web site has an RSS feed (and which site doesn’t?), it is very easy to connect it to Twitter, identi.ca, and other social networks by using Twitterfeed. Basically, you create an account on Twitterfeed, tell it the address of the RSS feed, connect it to your Twitter account (using OAuth), and whenever there is a new post on the RSS feed, it will be posted to Twitter.
In order to connect a site to your Google Profile, you first add a link to it in the profile settings. Make sure to tick the box that says “This is a profile page about me”. Then, on the linked site, you add an XFN link with a rel="me" attribute back to the Google Profile. This can be either a visible link using the <a> tag (which is what Twitter and other sites use for the web link that you specify for your profile page there), or using the <link> tag inside the page header:
When Google launched “Instant Search” earlier today, commentators applauded and/or criticized the way Google predicts what you’re searching for.
If you haven’t seen Instant Search yet, see Google’s announcement or watch a video.
In a nutshell, when you start typing in the search box, a drop-down list appears suggesting possible completions. What’s new and actually quite exciting about Instant Search is that the results page for the topmost completion is automatically displayed in the background. You don’t even have to click the Search button.
So, when I type “p”, the topmost suggested completion is “pandora”. While I’m typing, the search results for “pandora” are displayed, just as if I had pressed Return.
Mike filed the story in the category “from the this-is-a-joke,-right? dept”, so I figure he didn’t buy it entirely. But the story goes to show how screwed up the patent system is, so to hell with it—why not post it anyway, right?
I dug deeper and it turns out that the patent thing was added to the German Wikipedia page on January 3, 2006 by an anonymous user. Here’s the full edit, translated to English by me (emphasis is mine):
The media is full of opinion polls. But knowledge polls would often be much more interesting. For example, if people weren’t asked about their opinion on government reform plans but about what they actually know about these reform plans that they are to judge.
The “Bild” newspaper [Germany's top-selling tabloid] did this today—unintentionally, of course. They asked lots of people what they think about “Google Street View” and whether they will make sure that their houses are not being shown in the controversial offering[1]. (“Google Street View” combines the maps of “Google Maps” with images of entire streets that the company has photographed, and for the first time this year it will show views of 20 German cities.)
The responses of many people that are given a voice by “Bild” show one thing above anything else: how little the respondents know about the offering. Many seem to believe that it consists of live recordings and that Google virtually monitors the whole world around the clock. In addition, people faces and license plates are blurred in the photos.
Here’s how I created the panoramas that I posted to my GUADEC 2010 photo album (on Flickr and on Picasa).
I used the Hugin panorama photo stitcher and did some post-processing using GIMP. Hugin should be available in the repositories of your GNU/Linux distro, and it’s dead simple to use.
These are four pictures I took at the intersection of Grote Halstraat, Hoogstraat, and Gravenstraat in The Hague with a camera phone. I made sure that the pictures have enough overlap. (The Hugin tutorial recommends 20% to 30% overlap.)