LCA: Static analysis with GCC plugins

February 7, 2010

Seen on LWN: a fascinating article about static analysis done using GCC plugins.

There are a few interesting plugins in the works. One of them is the LLVM compiler, which can be plugged in to perform the back-end functions for GCC. Another is milepost, which uses a brute-force approach to figure out the optimal settings of the command-line flags for a specific body of code. Then, there are "the hydras," which are Taras’s work. These plugins take an interesting approach, in that the actual analysis work is done in JavaScript scripts. The idea was originally seen as amusing – "wouldn’t it be fun to put Spidermonkey into GCC?" – but it has actually worked out well. JavaScript is a relatively nice, concise language which makes it easy to implement the needed capabilities.

Comments Off

Misa Digital Guitar makes your Rock Band Peripherals feel inadequate

January 22, 2010

Seen on LWN: a look at a Linux-based guitar.

OK, so not only am I suffering from a terrible case of gadget lust, but I find fascinating some of the comments like this one:

actually all it does is make it easier for talentless people to claim how good they are at playing guitar, when they aren’t playing at all. get a real guitar if you’re serious or go back to the guitar hero b/s.

I think it’s an interesting idea that because an instrument isn’t "real" guitar, then it doesn’t count. Clearly a game like Guitar Hero is different from a real guitar — the Rock Band instruments are all simplified versions of the real thing. But the idea that you don’t have any skill as a musician because your instrument is in a nontraditional form seems a little untenable..

Comments Off

Learning is Childsplay

January 3, 2010

Seen on LWN, a review of Childsplay.

After I finished my recent articles on Teaching with Tux and Learning with Gcompris, I received a couple of suggestions from readers that I take a look at Childsplay. I spent some time looking at Childsplay and if you have small children, I think you should too. As soon as I started the program, it started to play it’s theme song and my 18 month old son came running, and he still comes running every time he hears that music. For most parents and educators, my review of this program could end right here, but I suspect that I should probably write a bit more.

Comments Off

adieu Google

December 13, 2009

Lately there’s been some fuss about Google’s new privacy policy, with this post by Joey Hess (on Planet Debian) and Slashdot‘s article about Google’s new opt-out policy.

Joey Hess writes:

With the decade over, and Google rolling out all manner of tracking cookies and javascript, it’s time to move on. Just keeping on top of the torrent of privacy-affecting changes Google is making, and trying to parse the real meaning in the chirpy googlespeak announcements has become more work than the value their search engine adds. (This was the last straw.)

At least for now, I’ll be using Duck Duck Go for search. It’s small, quirky, has features the big competition lacks, and works well enough for my mostly moderate and occasionally intense needs. Sorta like Google in 1999.

While I am in favor of privacy, have not been thrilled with Google’s behavior, and have come to resent the attitude of Google employees and officers, I have to say Duck Duck Go does not meet my search needs. Neither does Bing. Neither does Google, when it comes right down to it. Search is hard, and there are a lot of tricky bits. (Try searching for the Haskell type signature "Int#". For a while it was nearly impossible to find the emacs package "magit", as all you could get were results for "magic".)

So for the time being I’m still using Google Search. With luck, in time everything will just magically get better..

Comments Off

Dive Into Python 3 available

November 24, 2009

Yes, yes, a bit late. But: Mark Pilgrim’s excellent Dive Into Python has been adapted to Python 3, and is now available under CC-A-SA license (seen on LWN).

Case Study: Porting chardet to Python 3 documents my (ultimately successful) effort to port a non-trivial library from Python 2 to Python 3. It may help you; it may not. There’s a fairly steep learning curve, since you need to kind of understand the library first, so you can understand why it broke and how I fixed it. A lot of the breakage centers around strings.

Comments Off

Build an Automatic Tagger in 200 lines with BOSS

November 24, 2009

No idea where I came across this, but it’s an interesting read: building an automatic tagger in 200 lines with BOSS.

Here’s another way to use it:

tagger viksi$ python classify.py apple microsoft bill gates steve ballmer windows vista xp

microsoft

tagger viksi$ python classify.py apple microsoft steve jobs ipod iphone macbook

apple

classify combines the above steps into an application that, given two tags and some text, will return which tag more likely describes the text. Or, in command line form, ‘python classify.py [tag1] [tag2] [some free text]‘ => ‘tag1′ or ‘tag2′

Machine learning has only caught on a little bit in the personal computing space, and only in web-based services like Google Search and Amazon/Netflix-style "you might also like" features. Is that about to change? I’m skeptical..

Comments Off

Joey Hess – couchdb

November 19, 2009

Seen on Planet Debian: Joey Hess, author of ikiwiki, takes a look at couchdb. As ikiwiki is the inspiration for one of my side projects, it’s important to me what he has to say on the subject of backends.

Couchdb is very unlike a distributed VCS, and yet it’s moved from traditional database country much closer to VCS land. It’s document oriented, not normalized; the data stored in it has significant structure, but is also in a sense freeform. It doesn’t necessarily preserve all history, but it does support multiple branches, merging, and conflict resolution.

I’m still not sure that Couchdb is good for the sort of things I want a backend for — history-aware computing still seems to me to need complete history, and for that you need a VCS (or build your own). Still, interesting times..

Comments Off

Gnaughty – Fast and Easy Porn Downloader

November 15, 2009

Seen on the FTP-master New feed: Gnaughty, Fast and Easy Porn Downloader.

Gnaughty is a program to automatically download adult sex content, i.e. porn movies and pictures, from a known internet porn directory.

Providing a friendly interface, users who feel like having some porn can have it served fastly and directly to their desktop.

This is deeply fascinating for a lot of reasons. Central to all of them is the fact that pornography, being taboo, is nevertheless a fairly important part of the computing experience for many users. As a result, the market is underserved by companies who can’t address the topic without breaking the taboo — a constraint that "the open source community" can address because there is no company.

Other interesting, related topics include bug 283578, about the hot-babe package and how gnaughty contributes/discontributes to the ongoing discussion about sexism in open source; the role of Sourceforge in this whole process; how the name "gnaughty" relates to the taboo nature of its own function; and the charming perspective-altered screenshot that shows on the Sourceforge page.

Comments Off

Free N900

November 14, 2009

OK, no joke: LUST. I want an N900 so bad I can almost taste it. Um, anyhow, seen on LWN.

KDE.News has a report from the Maemo Summit, where Nokia handed out 300 N900 phones to developers. "However, it is not the hardware which is most interesting to us – it is the software. The N900 runs Maemo, a Debian Linux based operating system for high-end smart phones. Compared to pretty much all competition, the N900 offers a very open software platform and provides a terminal application by default."

Comments Off

Toward a freer Android

November 11, 2009

This article on LWN surveys the Android landscape now that "the dust has mostly settled after Google’s shutdown of the Cyanogen build".

Solving the rest of the problems should not be all that hard. If the gmail application never becomes available, mail can be read through IMAP instead – and that might just inspire some people to help improve the somewhat painful email application currently shipped with Android.

The article reads (to me) as a mostly positive "to arms!" with regard to Android. But in the intervening month, I think it’s become clear that Android isn’t a "real" open source platform, and doesn’t really sit well in the Linux ecosystem. Personally I’m still feeling burned about Android, but I have a lot of hope for the N900 and new versions of Maemo.

Comments Off