Grphs, Chrts, Plts

My latest project is a collection of graphs. Vowels are so web 1.0 I had to leave them out. It should update every even day. Grab the first three here.

8 February, 19:41 | Stuff I made | 0 Comments

Books

I've read a few books recently and decided to give them each a tiny review along with an amazon link in the futile hope that someone will buy one and I'll make a few quids. :P

The God Delusion (Richard Dawkins)
Richard Dawkins' latest (AFAIK). As an atheist myself, I didn't find a whole lot of new ideas here, however it is much more structured and well argued than the thoughts floating in my head. Chapter 5 on the (possible) origins of religion is quite interesting. Being a biologist, he discusses evolution, which is a subject I enjoy, quite a bit. Overall I think it's a wonderful book, I would like to see whether a religious person would be convinced by it. Recommendation: buy!

How to Win Every Argument (Madsen Pirie)
Despite the promising title, this book is basically just a list of fallacies with examples (In the book's defense that is pretty much written on the back cover). While not a bad book, I expected a bit more from a book with a title like that. Recommendation: borrow or skip.

Tricks of the Mind (Derren Brown) (didn't find it on amazon)
I had no idea who Derren Brown was when I bought it (I needed a third book in a 3 for 2 purchase at Waterstones) but it promised to talk about the psychology of magic which seemed rather interesting. In the end I found it rather uninteresting except for a terrific chapter about memory. The chapter disproving some supernatural crap seemed out of place (besides the people who believe in mediums and such probably can't read anyway). Recommendation: skip.

His Dark Materials (Philip Pullman)
Being a rather unoriginal person I read the trilogy after seeing the movie (and reading that the books were way better on some website) like everybody else. The first volume, Northern Lights, was my favorite. It takes place in a steampunkish universe of airships and mechanical technology. The book is much better than the movie and has a story that makes sense. The second part, The Subtle Knife, was nice too but IMO lacked the "magical feeling" of the first book because it takes place in another universe. The first few chapters also have no connection to the first book which I found annoying. In my mind the finale book, The Amber Spyglass, recaptured the missing magic from the first book, especially in the universe Mary visits (which by the way is mentioned in The God Delusion (p156 if you were wondering)). However I found the ending to be quite disappointing. It seemed to be a wonderful buildup without a satisfying climax. Recommendation: buy.

A History of the World in 6 Glasses (Tom Standage)
This book visits human history sequentially in 6 parts assigning a drink to each period. Beer from very long ago to slightly less very long ago, wine from then to the middle ages, spirits until a bit after the new world, coffee after that, tea during the British empire and cola to the present. While mostly preoccupied with the western world and skipping over long periods, I found the book to be quite excellent. The fact that the book is ordered chronologically is a big (if somewhat obvious) plus. The appendix even tells you how to taste some of the ancient drinks yourself (not that I'd recommend it, they mostly sound like they would taste rather awful). Recommendation: buy!

I'll review Survival of the Sickest (Sharon Moalem) when I'm done reading it though from the first two chapters I can say it will probably get a buy.
Feel free to send me free books and I'll give them each a tiny review at least as long as one of these. :P

Tags:
3 February, 04:01 | Misc | 0 Comments

Rock Paper Scissors game

Play my wonderful Rock Paper Scissors game now or the universe will die of entropy.
(It will anyway.)

Tags:
17 January, 22:45 | Stuff I made | 0 Comments

More greasemonkey goodness

I found another wonderful Greasemonkey script for Facebook: Facebook custom app hider which allows you to get rid of all the crap people put in their profiles. This seems to be getting quite out of hand recently, even minimizing all their apps I would still have a huge amount of space wasted.

Tags:
11 December, 21:40 | Misc, Technologic | 0 Comments

F-Spot facebook plugin

Woohoo, at long last F-Spot has a export plugin for Facebook. I did have to compile version 0.4.1 though because the plugin doesn't seem to work with 0.4.0 which is the one in the Ubuntu repositories. But that's no big deal (except for the mono-dev clutter) .
The likeliness level of seeing my photos on Facebook is therefore now um... likely.

Tags:
10 December, 20:02 | Misc, Technologic | 1 Comments

BBC Ads

The BBC news site now has ads for overseas readers. Thankfully,
this greasemonkey script will make everything right again.

Tags:
10 December, 16:03 | Misc | 0 Comments

Tomboy encryption plugin-like thing

Here's a little python program I made to ROT13 notes in Tomboy automagically. To use it, type the magic word (SECRET here) at the end of a note and after a short wait your note will be encoded / decoded. :)
It uses a daemonize function I found here.
It will crash in notes that have bullets (or other unicode characters I assume) because I'm currently too lazy to learn enough about unicode to fix it. :P

import dbus, gobject, dbus.glib

bus = dbus.SessionBus()
obj = bus.get_object("org.gnome.Tomboy","/org/gnome/Tomboy/RemoteControl")
tomboy = dbus.Interface(obj, "org.gnome.Tomboy.RemoteControl")

def onNoteSaved(n):
	title = tomboy.GetNoteTitle(n)
	contents = tomboy.GetNoteContents(n,utf8_strings=True)
	if contents.endswith("SECRET"):
		code = contents.find("\n\n")
		code = contents[code:-3]
		crypt = code.encode('rot13')
		con = title+crypt
		tomboy.SetNoteContents(n,con,utf8_strings=True)
	
bus.add_signal_receiver(onNoteSaved,dbus_interface="org.gnome.Tomboy.RemoteContr
ol",signal_name="NoteSaved")

def daemonize(func):
    import os
    import sys
    try: 
        pid = os.fork() 
        if pid > 0:
            sys.exit(0) 
    except OSError, e: 
        print >>sys.stderr, "fork #1 failed: %d (%s)" % (e.errno, e.strerror) 
        sys.exit(1)
    os.chdir("/") 
    os.setsid() 
    os.umask(0) 
    try: 
        pid = os.fork() 
        if pid > 0:
            print "Daemon PID %d" % pid 
            sys.exit(0) 
    except OSError, e: 
        print >>sys.stderr, "fork #2 failed: %d (%s)" % (e.errno, e.strerror) 
        sys.exit(1) 
    func()
    
daemonize(gobject.MainLoop().run)

Tags:
26 November, 00:41 | Personal, Technologic | 0 Comments

Quickies

Top 5 tracks

Links

Souless sell out

Push the button(s)

Made with gedit
My FOAF document
Created on Ubuntu
XFN Friendly