Saturday, 22 December 2007

Christmas Is Coming

OK, I haven't updated for a while, but I've had a lot of deadlines to get past.

So, what has happened in the last month?

Firstly the FSS has run another installfest. I installed Ubuntu on a laptop, filled a portable hard drive with Windows applications and Arthur went on a quest to distribute Ubuntu CDs and biscuits. Was enjoyable :)

Next year the FSS should be hosting some Sheffield LUG meetings (hopefully, if I can sort out room bookings), the ReFreshers fair is coming up (now that we actually have some active members :) ), Arthur has convinced a local computer shop to let him install Ubuntu on their systems (dual booting with Windows) and there is also some
talk about the Music dpeartment getting more Free Software and some Sun Microsystems collaborationy demonstrationy thing. Looks like I'll have my hands full until I hand over power sometime in May

On a personal note I am off to Sandbach soon (maybe even later this evening), and I don't know when I'll be back in Sheffield (probably sooner rather than later. Sheffield > Sandbach). I am (slowly) learning how to use Clutter (from within Python), and hope to get my music visualiser tool to use it (BTW, the link from my old blog post is a pretty old version. It's had quite a few improvements since).

I am trying to make a physics engine, which is proving quite challenging, which I hope to make efficient enough to do some kind of OLPC activity out of, which would be great. I've got some nice bar/string things going, but I'm going to have a proper sit-down-and-think-it-through session sometime.

Other than that, I can't really think of much. Bullar and Ingram came up to visit over the weekend which was cool, although they missed the best bit of Corporation (the main room on a Saturday night) since it didn't open until midnight ( :( ) and by that time Bullar was being his usual drunken self (ie. not taking no for an answer when asking if he can just go to sleep on the pavement after getting carried out of Corporation by the securty people) so Ingram took him home. Ah well.

I may update more freqently now, since I will have little else to do in rural Cheshire.

Thursday, 22 November 2007

Installfest Success :D

Aside from some inevitable technical and organisational issues (valuable experience) it went really well. We had enough people turning up to keep us busy for 3 hours, which is the only thing I was worrying about. I don't know how many laptops we got Ubuntu installed onto, I know at least one (but we had no time to test it, so I just added a Windows entry to GRUB to make sure Vista booted properly and left it for now) and maybe a couple more. Some people have got OpenOffice and things installed on Windows, a couple of people came in after Windows help, so I gave them ClamAV and Spybot Search and Destroy (I know it's not Free Software, and explained that, but sometimes it is better to be friendly and helpful rather than arrogant and alienating) along with a copy of Ubuntu (which they were impressed with on my laptop (Compiz Fusion does it again :P ) I kept saying how I haven't dealt with viruses in years because I'm on Linux but that's what it sounds like). We got through quite a few of Arthur's Gutsy CDs (my CD writer fails :( ). Avatar had a complete mirror of Ubuntu's repositories set up, which was VERY helpful, since running it through a gigabit ethernet switch was much nicer than upgrading a system from Ubuntu Breezy to Ubuntu Gutsy via a 60Kb/s Wifi connection. We got through a load of biscuits and Guru3 and Avatar had a few networked games running whilst I rushed around between computers. Sarah and Jo popped in for a bit too and made up some signs to direct people, thanks guys :*, although Sarah you should have got your laptop out and we'd see if we could get your wireless going (I even brought along my PCMCIA wireless card with Windows drivers :P )

Anyway, yes it was good. I'm going to sort out a room for a couple of week's time when we can have another go (this time with at least one Ubuntu alternate CD ;) )

MASSIVE thanks to everyone who came

Friday, 16 November 2007

Dir En Get Out Of My House

I went to see Dir Emo Grey yesterday. Wow. I wrote up a mini-report of the evening on the Sheffield RockSoc forum:

Well, that was damned awful Smile

After a Gestapo search for cameras and recording equipment, half a million statements about cameras not being allowed but NOT ONE request/form/statement/whatever about me giving consent and permission for their authorised photographers to film/photograph me, we got in and smiled at some of the sillier outfits. Then Raging Speedhorn came on and started shouting at me, which wasn't very nice (I couldn't tell what they were saying, but Emma and I agreed it was probably about rainbows, unicorns and kittens). They left and things got really disturbing.

Every time a stage hand came on to setup a microphone or something everyone started going conpletely insane. That kind of fanatacism is scary, and needs help. Anyway, Dir En Grey came on and I found it amusing how powerful the crowd's collective cheer was. They started playing some pretty below average sounding songs (well, they were below average after I blocked out the vocalist, who had also decided to shout at me. With him they were terrible). Disregarding the headbutting I got I thought it was pretty amusing (well, topless Japanese men shouting at high pitches whilst headbanging with tshirts over their heads generally are), and the vocalist guy's got a really hot body. Plus there was a guy with waist-length hair whirlwinding next to me which made a nice breeze. Then though, the vocalist got up on one of the stage gizmos and started slashing at his chest the stupid emo whore (amid my disgust I did manage to giggle when he couldn't even get it right). All of the bopping little girls were cheering him on, as if it's something cool, then all the lights went down and everyone went quiet since it was meant to be really deep and meaningful or something, so I shouted "EMO!" as loud as I could and went to get some water. I looked across after and saw the vocalist was spazzing out which made me laugh quite a bit (it reminded me of Elliot), then I left since I wasn't going to endorse that kind of obnoxious disregard for responsibility (I'd already lost Emma amid the crowd by that point, and there was no way to get back to the front after I'd got a drink).

I walked up the road and got complemented by some guy about my hair (he said his wife would love it and I should go on X Factor). He shook my hand after I told him I'd rather die than go on X Factor, then I went to the Devonshire Chippy and got a spring roll and chips (chips >= self harm) and waited outside Corp for Emma.

So yes, all in all I was pretty disgusted. I quite liked having a load of female bodies pressed against me (I couldn't bop along myself at the beginnning or else the girl in front of me would think I was trying to anally rape her), since it reminded me of Saturday nights, but I was outraged that some of them might give in to that twisted brainwashing (based on their reaction to the stage crew and the "you're not allowed cameras" people I would say they've already been warped quite a bit) and then get home and harm themselves (probably on a webcam or something too, which would make it worse. Then to rub salt in they'd be broadcasting it using that Microsoft MSN Hotmail Live Windows Messenger Vista thingy). It reminded me of a public execution, but where people were going "Wow, that guy is so cool". Trying to pass that stunt off as art made me die a little inside, and made the bits left alive get angry.

My thoughts on Dir En Grey? Well, if you know someone who doesn't like themselves and you really don't like them either and think that the world would be a better place if they stopped whining on and on about the emotional crap that they think they're going through but actually have no idea about and just shot themselves already then I think it would be a good recommendation to get them to see. If, however, you know someone like that who you DO like, or at least don't dislike enough to wish them dead, then in your shoes I would do everything in my power to stop them getting drawn further and further in and down that ridiculously merciless spiral, part of which is wanting to listen to people screaming then idolising them when they go "You think I'm cool now? Wait until you see this!" *miss attempt to cut onesself* *miss again* *miss again* *actually manage it* *put tshirt on head and spasm out in the manner of an epileptic fit*. If you don't know anyone like that but want to, then pop along and maybe get yourself some underage emo pussy (get a friend to tell them they're fat or something, then they'll assume 1) it's true and 2) that it's a bad thing and then they'll turn on their emo powers, at which point you can step in to offer an understanding shoulder to cry on, then you're in (maybe I should stop going off on disturbing tangents?)). If you don't fit into any of those catagories then I suggest you go to the Devonshire Chippy and the nice guy in there will sell you some chips and spring rolls (and Chicken and Mushroom pies, depending on what you fancy) then impress you with his chip fork flourishes, then amuse you by picking your change up off the floor after failing his money flourish, plus he'll give you water if your friend is feinting outside, unlike the bastards at the wannabe-trendy place next door.

The best thing about tonight? I didn't pay, and thus was not condoning such a blatant display of consumerist culture's ugly reality.

Feel free to reply, but I don't come in here often since forums are just bastardised versions of mailing lists which have no place inside a web browser.

So yes. I really would urge you not to endorse them. Apathy can die in a bin as far as I'm concerned.

I handed in my Physics work today which was nice.

I've also been spicing up my laptop with funky 3D effects. I'm trying out the Avant Window Navigator, which is a big fat rip off of Mac OSX's dock. HOWEVER, it does reduce desktop redundancy which is nice. It doesn't seem to have a very useful system tray, which means I would lose a bit of functionality if I used it exclusively, and also whenever I drag a desktop launcher onto AWN it never seems to stay in place.

The reduction in redundancy is seriously VERY nice. Blingy too (I have the "squishy" effect on, which is the same as the KDE launcher effect next to my mouse pointer :P )

I am using Emerald with Compiz, since emulating Metacity makes me feel dirty. I also have Xwinwrap displaying the glslideshow screensaver for my desktop (although that occasionally quits :( I'll have to look through the options, or if the worst comes to the worst run it in a perpetual for loop). Quite impressive I must say. Plus it is still rather subtle (well, compared to the Airplane effect in Compiz that is :P )

Now I want them to fix the window-flashes-up-momentarily bug that has appeared for some of the effects (which means I can't use Burn on my drop down menus at the moment)

In slightly more productive computer news I'm trying to create an extensible physics simulator for use (amongst other things) on the XO laptop. I'm currently getting help from the developers to get an emulated system up and running (I tried the standard build image but it keeps resetting X at login when I run it in QEMU, KVM doesn't even get very far into the boot process and VirtualBox ONLY supports VMWare-style hard drive thingies, rather than allowing raw images to be used). I'll see if eToys works for me now (it didn't used to) and play around. If it looks good enough to build on then I'll do that, if not then I'll write a new one in Python.

Anyway, that's all for now. I'll be booking rooms tomorrow for a Free Software Society installfest. Should be good hopefully :)

Tuesday, 13 November 2007

Free Software Society Gathering Steam... Sort Of

The Sheffield University Free Software Society is gathering new members and meeting face to face more :) Yay. After a bit of a get together social type thing yesterday where I got to put faces to forum members and got some membership monies in (which I need to give to Dave, our Treasurer). There was going to be a formal, serious meeting in a proper meeting room and stuff today, but due to a power cut on Thursday I was unable to book a room for it, thus making Interval the only real venue available. The problem with that is that there isn't much to do there which wasn't done last night, so I think I'm going to pop along to catch anyone who does turn up, but I'm not expecting much (if anything) to come from it.

A week tomorrow I hope to run an installfest for a few hours, rotating the people attending what will basically be an open room next to the Gallery in the student's union building (where quite a few people use their laptops). These days installing stuff is completely straightforward, only requiring the willingness to do so, thus pretty much anyone can help out as long as there is a guru close to hand in case their expertise is needed. So yes, need to book something for that.

Lots of good crazyness has been going on recently, which is good. Lots of partying, chugging, lolling and generally being a lolman. I hope it continues :)

I am sorting out running some very beginner Python workshop things here at Access Space, which will hopefully be popular (although I think I may need to run them next year due to scheduling, I'm not sure yet). My graphical skillz0rz in the GIMP and Inkscape seem to have gained me some respect, which is good news since I want to run some graphics workshops for the Free Software Society.

OK, I can't think of anything else to say..........


Wednesday, 7 November 2007

Action on the FSS Front

OK, I'm trying to get my ass in gear: We are having an FSS social some time in the next week (looks like Monday at the moment, although Harriet can't make Mondays :( . Every day will be a compromise, so we need to find the best compromise). We're also having a formal meeting some time (depends on responses on our forum and to our email account).

I want to run an installfest, and we might be hosting some LUG meetings in a bit. I'm going to whore myself out for memberships in Physics and Computer Science too, plus as many of my friends as I can.

If you haven't done so already then please join our forum

Thursday, 18 October 2007

Free Software Society Get-together

Not a real meeting as such, not quite a release party, basically we're just having a bit of a meet up in BarOne. I'm currently downloading an Ubuntu 7.10 CD image, but it says it will take at least another 4 hours, which basically makes me unable to offer any written CDs of them :( I hope someone takes along a CD or a laptop with an image, then I should have no problem copying it (as long as my CD drive doesn't go all silly). I'll take along some Fedora and Debian CDs and stuff, so at least I'll be able to offer something.

Oh well... /listens to LUGRadio

Sunday, 14 October 2007

Bicubic Penis Enlargement

I'm sending this from the wonderous world of dialup Internets. Be Un Limited have awful customer service, I really mean it. I think I'm going to send them a letter by snail mail complaining about their email response, although knowing my luck the postage will be astronomical since it'll be to Bangalore. Which reminds me, I must post Loz's two sets of bike lock keys home...

In other business the FSS is running its own forum now (since MyFreeForum have policies which suck like a Dyson), and we should have a mailing list sooner rather than later if Billy from Access Space is able to help us set up the box I took down to be a server. Jake from Access Space is also really interested in the society which is cool, and James is enthusiastic like always.

My timetable for this year is much less harsh than last year (I don't even have any Physics labs this semester), which means I have more time free to advance the society, which has already had a ton of effort poured into it and we haven't even run our first meeting yet. Soon though....

Tuesday, 2 October 2007


I've probably misspelled that title, but oh well. I am currently jumping through a few rather hilariously unfortunate hoops, which is making my life full of trips to banks and less full of heavy drinking and partying.

I have, however, managed to categorise pretty much every idea on the Ubuntu IdeaPool Wiki page, it now just needs someone to go through removing redundant info (and adding those removals to the IdeaPoolHistory page), and to check for existing specs and things. I personally need to go back through a load of my edits and document each removal on the IdeaPoolHistory page (which I didn't know existed before).

My Programming in C course started today, which seems pretty good. I know that from a summer of teaching myself Python I'm going to get pissed off by semicolons and squiggly brackets :P C should be good to learn though, from a low-level and a speed perspective. The lecturer's nice (the guy who interviewed me on the Physics Department open day) and GCC is being used in the backend so there should be no problems getting my programs to run on Ubuntu.

I'm currently in Access Space (I thought James would be in today, but apparently he's not and he will be tomorrow. Yes Harriet, you were right :P ) so I thought I might as well add a blog entry. The place'll be closing soon, so I think I'll head straight to the Student Union and go to a Pagan Society metting (and hopefully suprise Harriet).

Oh well, got to go. Bye :)

PS: I need to file some user interface bugs for cash machines, some are just egregious.

Saturday, 29 September 2007

I <3 U Dell

I am in Sheffield, but I have no Internets :( (Currently using a mixture of dialup, Walkley Library (across the road :) ), the Information Commons and Access Space (the latter being where I am at the moment).

The dialup in question is made possible thanks to Dell, who have got the evil Connexant to stop their stupid policy of pay-for Linux drivers and release them for no cost. Thank you Dell, this is exactly the thing we are after :D

The Free Software Society is off to a great start, with the Freshers' Fair an amazing success. We gave out about 100 CDs (both Ubuntu (packaged 6.06 and self-written 7.04) and a disc of Windows Free Software I made myself) which is around 70GB of data :) I want to do a follow up on that, in case anybody had badly written discs and to hopefully get some more converts.

This week has been pretty amazing. I've been out loads (the only day I stayed in was Thursday, since I thought that Bleach tickets had run out, but apparently there were spares so I could've gone. Oh well). Wednesday we crashed Ranmoor bar, and got completely smashed. Yesterday we managed to get through half a bottle of Absinthe (among other things) playing drinking games and I ended up sleeping in Jo's bed :P Today I seem to have upset Harriet by letting my 'phone's battery die (dramatic, I know) so I didn't get a call from her when we were meant to go swimming, so I think I'm in bad books there. Sorry Harriet T___T. Should be going to Corporation tonight with the RockSoc, which will be cool (I'll be one of the experienced members rather than a fresher, wow I can feel the respect dripping from my brow!).

Yes, so I just thought I'd give an update about what I've been up to. My Plasma installation guide has been quite popular on (at one point being the most popular article of the week!), which is pretty nice :D

So, farewell until I get enough bandwidth to bother updating this blog regularly again.

Wednesday, 19 September 2007

Plasma Testing In Ubuntu

KDE4 certainly is looking incredibly cool. The most exciting part for me is Plasma (the new desktop/panel system) which, although may have problems with theming consistency, is massively extensible and pretty quick too.

One problem for those wanting to try out the still-in-development KDE4 (the release date of which has been set back to December) is that the majority of Plasma's 'plasmoids' (widgets), since they are quite small and easy to change, making (relatively) last-minute changes have more advantages than disadvantages, live in the 'playground' area of the KDE Subversion tree. The playground has such a name since developers are free to play about with the contents without fear of breaking anything for users, the reason being that normal users shouldn't be anywhere near playground programs.

So, if the majority of Plasma's widgets (everything except simple tests like the clock) are in the don't-go-near-there playground, how can they be played about with by non-developers?

This is something I have been pondering for a while. The most obvious way is to get them from the playground, but to do that involves making an entire KDE build environment, checking out the SVN, compiling certain subtrees with certain options, etc. If you don't know what any of that means then trust me, it is even more complicated than it sounds. I tried doing this a couple of times over the past few months but failed.

A second way would be to use a live CD of KDE4, but this obviously isn't ideal as it is a separate system to your regular one, either rebooting or using a segregated and relatively slow virtual machine would be needed.

Since Ubuntu Gutsy, the prerelease version of Ubuntu I am running which should eventually become Ubuntu 7.10 (2007-October), has some prebuilt KDE4 packages, the best solution would be to have these packages include the multitude of Plasma widgets for testing. Well, after a bit of Googling, I found a package plasma-playground in Ubuntu which contains these plasmoids. The plasma-playground package, however, is a source package. This means you can't just install it directly, so after some reading up on the manual pages of some Debian packaging tools I managed to work out how to get them installed.

Installing Extra Plasmoids In Ubuntu Gutsy
First of all, making sure you're on a Gutsy system, install as many packages starting with kde4 that you would like (kde4-base, kde4-games, etc.). You can safely ignore any which end in -dev, but do install kdebase-workspace.

After that run the command "sudo apt-get build-dep plasma-playground", which will install everything needed to build plasma-playground. When that is done make sure your terminal is somewhere that you don't mind saving files to and run "sudo apt-get source plasma-playground" then move to the plasma-playground folder made ("cd plasma-playground-*") then to build this source into a package run the command "sudo dpkg-buildpackage". This will make an Ubuntu package in the parent folder (a file ending in ".deb"), which you should now be able to install. Congratulations, you now have a set of plasmoids to test in KDE4!

To get into KDE4 there are a few ways, but I am currently using one of the disposable test user accounts which I have made for demonstration purposes at the Freshers' Fair, called fss-test. I log in as fss-test using the session Failsafe Terminal. When the terminal comes up, make sure to stay in the default Home folder (for some reason this will not work from anywhere else) and run the command "/usr/lib/kde4/bin/startkde". You should see the KDE splash screen (see below :P )and a load of messages will scroll past in the terminal. A KDE4 session should come up after a bit, and you can try out the plasmoids (move the mouse pointer to the top left of the screen to add them). I have noticed some problems with their rendering, but this is a couple of months from release yet remember :) Oh, and a quick tip: Don't minimise anything. I can't work out how to get minimised windows back yet, since the plasmoid kicker replacement is malfunctioning/not all there yet. Shading windows, by double clicking their titlebar, works well enough though.

I hope that helps people get testing and playing for KDE4, but remember that you will need to rebuild the plasma-playground package
when new versions are published if you want to use them, APT won't do it for you.

PS: I would normally put guides like this onto the community Wiki but this is just a short-term solution until KDE4 is released and fully packaged, so there's not much point. I'll keep the more official support channels as pure as possible, leaving machine-breaking hacks to blogs and the forums (although this isn't too bad since every system change is done through the package manager)

PPS: I think that a certai
n person is haunting me (apologies for the poor-quality images. These were taken of the virtual machine method):

He's even in the default KDE4 splash screen :0 !

Tuesday, 18 September 2007

Just want to share this with you

Aurora makes Rhythmbox look sexified indeed :)

I used to love nostalgia...

Ah, the satisfaction that the above screen gave me :) When I first pressed F12-S to make E-UAE fullscreen I thought just how cool (read: not cool at all) it was to have an Amiga widescreen laptop. I still need to do some proper Workbench hacking to get the masses of customisations installed that I am used to on my real Amigas.

In other news I built an Ubuntu package of Epiphany with Webkit, but switched back to Gecko for the time being. Webkit is superior (especially compared to Gecko's massive memory consumption) but the current Epiphany incarnation is text-only with no CSS or frames or anything, so I'll give it a little time to mature before using it full-time.

I should be heading up to Sheffield in the next couple of days, after sorting out some monetary troubles (starving student and all that). Harriet got some great Free Software Society tshirts, and I need to go crazy with a CD burner before the Freshers' Fair. I sure hope I left a load of Free Software stuff in Sheffield, 'cause I can't find some CDs that would be nice to have.

Oh well. Bed time now (6:30AM). Be sure to check out the Free Software Society forum, since I'm quite lonely on there at the moment.


Monday, 3 September 2007

You don't have to be into violent BDSM to think the GIMP Took Kit is sexy

I came across the Aurora GTK2 engine yesterday, and I have to admit that it is incredibly nice. Seriously. The attention to detail is staggering. It took me a while to find a QT style that I could severely tweak to sort of match it (for Kopete and Amarok, mostly), but after some fiddling I got it looking pretty consistent (although not perfect). I have filed a needs-packaging bug in Launchpad about it, because it really is very nice. Unless there are technical flaws found in it I think it would be great as a default theme (note that the colour scheme is my own. Aurora is actually the first GTK engine I have seen that uses the recently.added recolouring support).

Here's a piccy for you:

Also, some image slicing GUIs have been made, which is cool.

Saturday, 1 September 2007

Cool Tech Preview

Although I used to write them off, it seems Mandriva have been doing some incredibly cool things recently (sorry, I didn't decide to make it Flash-based)

Friday, 31 August 2007

A little toy for you

If you want to play about with a little toy I've been messing around with then you can find it here (but probably not for long, since that's a temporary storage area).

It's a little Python app (requiring pygame to be installed, on Debian systems like Ubuntu this is provided by the python-pygame package) which, when given a band name, connects to and gets related artists, and their related artists, etc. putting them all in a graph weighted to their relative strengths to make a map of musicians (for an explanation of the algorith see below).

This is very buggy, unbelievably inefficient, and could likely cause a lot of stress for, so use sparingly (remember, if someone wants to DOS attack this is not the most efficient way of doing so, so don't think of it at warez or anything because it's not meant to be).

To use:
Extract the archive, then run the file I would recommend running it in a way that can be killed easily (for example from within the Geany IDE, which has an Execute and Stop button), since it is an experiment with threading for me and killing those threads can be annoying if (when) the (increasingly complex) graphics thread dies (although if you do run it from a commandline then you can give it a band name directly, like "./ Children of Bodom")

When the window comes up click on the Artist Entry field to select it, use backspace to get rid of the default text, then enter the artist you want to start with and press return. The program should then start downloading images and relationships between artists, adding them to the graph as it does. The deeper the relationship matching the more accurate the map, at the expense of coverage, the more artists modelled the more accurate the map, at the expense of speed (there's a stupid-ass bug in the total artists down button at the moment because I'm an idiot). You can choose to see images (which, if disabled, will also disable image downloading), text labels and the underlying web of connections (the lighter the strand the stronger the connection). Note that enabling and disabling images shifts the nodes in the rendering of the web only, it doesn't affect the modelling in any way (the artists are modelled with their position as the top-left corner of the image/text, which doesn't change).

What it's doing:
The artists exist in a python dictionary, with various different lists of the keys existing for different purposes (the main one being usableArtists). Connections between artists are stored in a separate dictionary, and pairs of artists with no connection between each other are stored in another dictionary.

The Handling thread goes through a list of artists which are known to exist but who are not yet modelled. It then puts each artist in turn into the dictionary and appropriate lists, creating connections as far as the link depth goes (a link depth of zero only connects the most related artist to each artist, which makes forming closed systems easier (eg. Edguy is most related to Avantasia, Avantasia is most related to Edguy, resulting in only those two being modelled for a link depth of zero)). After the connections have been made it sets up a repulsion between the new artist and every artist which it is not connected to. It continues like this until there are either no more artists left to process (a closed system has been made) or until the total artists limit is reached (cutting short a complete modelling of the given variables).

The Image Fetching thread, as long as images are enabled, fetches images for those artists which haven't been assigned one yet. The Relation Fetching thread does the same thing for artists without relationship information.

The Drawing thread draws the graphics and handles user interaction.

The Force thread goes through the list of modelled artists, setting the force on each to zero and halving their velocities (which gives a little bounce to the system). It then goes through the list of connections, assigning an optimum distance apart for the artists (100% similar artists should be close, 20% similar artists should be further away. The distance is direction-independent), then adds a force to each based on how far away they are from this optimum distance, further away means greater force, and the stronger the connection the stronger the force. This means that weakly related artists will tend to move a good distance apart over time, but if other factors can easily overpower this tendency. The list of repulsions is then gone through, forcing apart any not connected artists which are closer than a certain distance.

The Linear thread constantly updates the movement of the artists, calculating their acceleration based on their experienced force and a set mass, from that calculating their velocity and from that calculating their position (which in turn feeds back to the Force thread)

Well, that's basically it for the time being. There are many bugs with it (due to the repulsion's cut-off point some arms of the map can arc around and become close to other areas to which they have no relation, non-English alphanumeric characters cause problems, the total artists down button is broken, there is a rare tendency for the artists to shoot off and crash PyGame by having extremely massive coordinates and probably a lot more needs seeing to as well) but it is purely experimental at the moment.

And the point of this? Well, firstly I think it is pretty cool. Aside from that I think it would be a nice way of browsing one's music collection. By hooking into the multiple genre tags that gives to artists then this information could be used to map out genres, thus letting users select an area of music they want to listen to, rather than having to specify Speed Metal OR Thrash, and playlists could be defined by drawing a path through the map, moving gradually from one genre to another without obvious jumps. Anyway, that is work for the future. At the moment have fun watching the pictures bounce aroud on strings :)

Thursday, 30 August 2007


User friendliness indeed BT....

Some Cool Graphics Algorithms

Content-aware image resizing (and object removal) (Check out someone's working implementation of this)

There are also a load of cool technology (including videos) here.

How Dare They!

We must put a stop to copyright infringement, it is killing the movie industry! You know who's to blame don't you? It's those damned pirates taking all of their money (and by that I of course mean potentially altering projected future profits)!

Monday, 20 August 2007

Why you shouldn't rely on a single company with closed protocols

One of the many reasons I don't use Skype. If Skype was decentralised then this would not have been an issue, and of course if their excuse is right then the widespread use of a single vendor for computer operating systems is also a bad thing (well duh).

I have ambitious plans to set up a Wifi mesh over part of Sheffield, and things like Voice over IP (Internet telephony) are selling points I would like to use. However, Skype is not something I would like to advocate, mainly due to ethical reasons, but also for practical reasons such as this (plus the fact that a centralised system means everyone must have access to the central server. If two people want to talk to each other through a Wifi mesh they'd have to connect outside the mesh to get to the server, slowing things down and putting extra stress on any outbound gateways, whereas using something like Jingle or SIP (probably the former, since SIP seems a little complicated) can run from a server inside the mesh, keeping things fast and scalable. That is also a reason why I like XMPP/Jabber compared to shitty MSN)

Also, I'd like to link to this story about the CD being 25 years old. The reason? The Phillips engineer they quote says:

"We did this by collaborating openly to agree on a new standard. For Philips, this open innovation was a new approach and it paid off."


"The world was not as globalised as it is today. Our management had told us to be as open as possible and to share everything because that was the only way to have success.

"But we were suspicious and so were their engineers. But after a few days it became clear we could work together."

If there was ever a reason not to use locked-down, proprietary, patent-encumbered, secretive, bollocks formats and protocols it's this. This is a BBC news story, the iPlayer people (who it should be noted have strong ties to Microsoft, for example the "Group Controller at BBC Future Media & Technology", Erik Huggers, used to be Senior Director at Microsoft and a Director of Business Development for them) should be paying attention.

Anyway, yes. I want to start meshing some networks soon, which would be cool. I can't wait to get back to Sheffield and get some stuff done.

PS: I wouldn't want shit-based data storage to explode anywhere near me!

Thursday, 9 August 2007

Way to make my work sound easy there...

I just saw this on a BBC news story:Thought it was pretty funny considering the complexity of the situation.

Anyway, on a more serious note I am cracking on with my Service Pack tool, which is almost fully working now on Debian derived distros, the only problems are 1) The installation script doesn't run properly from the package installer (although it runs fine from a commandline) and 2) The postpone tool is currently used, which isn't particularly widespread yet, so this dependancy must be eliminated (although postpone was used heavily throughout the program it now only exists in the package installation phase). You can usually find a semi-recent version from the Wiki page.

This post has been sitting unposted on my machine for a couple of days while I work on other things, but an interesting thing I'm playing with which you might be interested in is a visualisation program for displaying what is essentially a "map" of music, using to find relations and create a web of interconnected artists. It still needs some physics added to create a proper visual representation (at the moment images and text are dumped randomly on a single screen), but since it is my first venture in the area of networked programs and multithreading I think it has turned out well for a few hours work (this is just a test, so I don't think I'll be releasing it while it still uses, since their servers would take a hammering. The idea is to be able to sort through local music collections, and thus the needed metadata should be inside local files to make the best use of it.) When I have the physics sorted then I'll probably post a video to Google Video showing it off.

Until the next time, erm, yes....

Wednesday, 8 August 2007


Nice one James :D

Tuesday, 7 August 2007

Some phrases should be culled

Although 'screen real estate' is up there, the top dog must be 'bling bling'. With that in mind I've been pimping my laptop in anticipation of the influx of potential new Free Software users in the form of the next academic year's worth of firstyears. I am now running Ubuntu Gutsy, which overall seems to be following the less-dramatic-upgrade tendancy I've seen in Ubuntu (Breezy>Dapper was very pervasive, Dapper>Edgy seemed nice, Edgy>Feisty didn't really seem worth it, Feisty>Gutsy? Dunno yet), but it means that along with working out how to get ATI's crapware to 'work' I can run Compiz Fusion (using XGL, eww) which seems nice, although I really don't like the 'CompizConfig' tool, it is in serious need of some UI lovin' (who in their right mind would provide users an integer system for animations without telling them what animation each number corresponds to? Plus, the amount of conflicting stuff is annoying, like 'minimise effect' not being disabled when minimise/maximise animations are enabled).

I've installed E17 as well, which has changed a bit since I last played around with it. Although it has gained features on the whole the process of configuring the thing is a real mess. The 'shelves' idea is OK I guess, but as far as I can tell I can no longer use the modules as desktop widgets (strange, considering how other desktop systems are moving in the opposite direction) which would be a shame. Still, I have set up a new non-admin user called fss-test and set up a nice enlightenment configuration to use (although Amarok, Rhythmbox, MPD and Exaile all crash for that user :( Banshee seems to be OK so far (Banshee has become very nice recently too I have noticed!), but that's what you get for using pre-release software). I wanted to have KDE4 running too, but the packages are pretty bare at the moment (Plasma is the main area I'm interested in but they only have 2 plasmoids in the vanilla setup, the rest of them living in the 'playground' directory in subversion, which I have tried unsuccessfully to compile).

Now that I know my own laptop will stand up well in the first-impression-critical world of the Freshers' Fair I want to get other machines on board. I have asked my friend Heminder if I can borrow his laptop to demo stuff on and I think he agreed, I'm not sure. I'll try and hunt down some more (perhaps James could pop along, since he is supposed to be a member and has Fedora installed on his laptop, making no live CD needed).

Oh well, time to get back to the real world and make sure my monetary hurdles are overcome.

PS: Must test Wii controller with my laptop, since demoing that would be awesome :)

Wednesday, 1 August 2007

Will the FUD never end?!

I just happened upon yet another complete misinterpretation of the OLPC project, this time on the BBC's Click programme, interviewing Bill Gates. When asked about the "$100 laptop" (a popular name for the Children's Laptop 1 XO device) Mr Gates dismissed it saying that prices are always coming down, so that in a few years we can make devices for around $150-$200 which don't sacrifice functionality and use decent screens and decent batteries. Erm...... Perhaps by "decent screens" he meant the sunlight-readable screens showed off earlier on the show. Well guess what? There already is a $150-$200 laptop with just such sunlight-readable, extremely high resolution screens much more advanced than any other laptop in the world, which also use brand new long-life, cool-running, non-explosive lithium ferrous phosphate batteries which I think would count as "decent", considering the fact that again they are more advanced than any other laptop's in the world. Wanna know what this amazing laptop is? Visit if you want to find out.

This marketing strategy is insidious. It doesn't scream about the advantages of one system and the weaknesses of another, instead it inserts misinformation into conversations and discussions, gradually twisting the general opinion about what something actually is, and therefore makes it easier to coerce people into dismissing the adversaries' systems since they are dismissing a terribly thought-out system with many problems (ie. the one made up by the marketing bullshit to slyly replace the real, decent system people think they are hearing about). If Billy was talking about the Intel Classmate PC then I would probably agree with his statements (although the "in a few years" part could be replaced with "now, if you look at the XO"), but focusing on the hardware (even if it is extraordinarily ingenious and desirable) misses the point completely, and the whole issue of "One Laptop Per Child" and "$100 Laptop" damages the actual mission in my opinion, because it diverts thinking immediately to the implementation instead of the problem, design, etc. This pervasive misinformation spreads itself and can be found all over /. along with many other presumably-knowledgable areas (thus reinforcing the thought that this must be the truth, because geeks say it). The same can be said of Linux and Free Software. Most of our marketing and advocacy has to focus on shattering commonly held misconceptions, rather than actually getting useful knowledge across.


Tuesday, 31 July 2007

Death To All Pan Beasts


Monopolies Are A Bad Thing(TM)

I'm writing this from inside a taxi. Why am I inside a taxi? Well I need to get from Lichfield to Sheffield. I am hardly a big spender, so you might be wondering why take a taxi. There is one reason: Taxi companies work in a competitive market. Why is this important? Well, when all of the trains are cancelled due to to flooding (which is unavoidable, well the whole global warming issue is of course to blame. But the train staff are excellent, they didn't have any problem looking after my brother's bike for the weekend and I can get a refund on my ticket whenever is convenient (more on this later)), and one ends up cycling and walking between Lichfield City train station and Lichfield Trent Valley train station through the pouring rain (after having cycled into Lichfield from Armitage) to find out this fact, then realising that one has no way to get to Sheffield, it becomes important. The full importance of this is realised when one sees the friends who were travelling by a coach operated by the Arriva company, which has a monopoly on almost all bus transport at least in the midlands/north-west area, waiting at the bus stop in Lichfield with all of their bags, so instead of leaving to go back to one's friend's house for another night one goes to investigate. Upon learning that there is one extra ticket for the coach, then the logical thing to do would be to make use of it. Since the coach is half an hour late already then running about would seem sensible, especially when a bicycle needs to be stored somewhere (thank you to the train station guys again for looking after it!) and a train ticket needs refunding which involves crazy forms due to being payed by debit card (so I just left it, thinking I'd miss the coach, and I've given Loz the ticket and receipt so he can get the £26 refund instead of me having to pay for the coach/taxi stuff). So, after all of this messing around one would think that getting to Sheffield on a late coach would be the least on would expect. 4 hours later it ends up being the last thread of hope to salvage the weekend-long party which has materialised into a friend being stranded in a unfamiliar city with no place to sleep, 9 friends being cold, wet and threatened by chavs and an unfortunate man who needs to get to Derby but cannot speak a word of English being stuck in Lichfield. Now, in the case of the trains this was handled exceptionally, with helpful staff who went above and beyond what their job entails, however from the monopoly bus company we heard nothing. Absolutely nothing. For three hours. We were waiting at the cold, wet bus stop, not daring to leave to get something to eat or to sit down, or to go somewhere indoors and warm because we might miss the coach that we payed for. After three hours of trying to get through to the company on the telephone and meeting with "we don't know" and "it's not my area" there was eventually a glimmer of hope. The coach had left Birmingham and would arrive within ten to fifteen minutes. An hour later we were still waiting. We decided to dial the emergency 'phone number. The number for use in emergencies only. After getting through to a robot and choosing the "Yes, this is an emergency" option we were put on hold. For fifteen minutes. Which we were charged for. After eventually hanging up we Loz was great and payed for this couple of taxis to take us up instead (£120 altogether!) in the hope of getting a refund on the tickets, and so we end up with the current situation. I am pretty worried about claiming the money back though, since demanding a journey already payed for from a bus company is one thing, but claiming any amount of money from any company is another. That's why insurance organisations are companies, not charities or public services. Anyhoo, this goes to show how monopoly organisations couldn't care less about their actual customers, no matter what sector they are in, and that a thriving, competitive market always produces a superior service. The capitalism argument is getting old, especially when pitted against the socialist one. Both offer incentives and encouragement for organisations to become an overwhelming, unstoppable force concerned with nothing but the self. However, thankfully there is an idea called democracy which we can all, as individual human beings, strive for regardless of what our faceless employers manipulate us to do using the soldier's paradox*.

* The soldier's paradox is a terrible fallacy which causes all sorts of horrors in the world. The core twist of logic is to say that responsibility is a binary thing, all or nothing, you are either completely to blame or have done nothing wrong. Using this, along with the massive reduction in accuracy it creates, ends up with situations such as:

1) Reconnaisance agent sends back intelligence in an ambiguous or misrepresentative way (eg. young men involved in field exercises)

2) Officer, acting on that intelligence, sends harsh orders to his soldiers (eg. wipe them out in a preemptive strike)

3) Soldier, acting on orders, carries out atrocious acts (eg. machinegunning a troop of scouts)

4) They are all to blame, for simplicity's sake let's say 1/3 each

5) If blame is an all or nothing affair then the recon agent is not to blame since 1/3 rounds to 0 ("I was just doing my job. I didn't know what the intel would be used for")

6) For the same reason the officer is not to blame ("I had faulty intelligence, and anyway I didn't pull the trigger")

7) The soldier isn't to blame either ("I was just following orders. I have to do what the officer says")

This method of reducing responsibility to zero is the basic premise of any armed forces, but it also manifests itself in companies ("It isn't my fault life saving drugs can be patented, I have to work within the system", "I have a duty to the shareholders to keep profits up", "I couldn't give him the medicine because he couldn't afford it") and we are all guilty of it at some time or another, although it doesn't work with individuals (since a person can't be divided into sufficient pieces to assign blame to in any meaningful way) which is why we have our 'humanity'. Organisations have a tendancy to do this all of the time, and thus no organisation should be trusted explicity or implicity (well, that kind of goes without saying since levels of trust should be minimised wherever possible no matter the situation**). Monopoly organisations can dissolve responsibility for almost any act in this way (although sometimes the machinery conspires to set the blame bit of a single employee, like the CEO, if it is terribly serious and public relations would be best of with a scapegoat), and can thus continue to operate within large boundaries without fear of having their actions retaliated against. In areas with competition, however, the act itself is focused upon, rather than working out blame, since any negative effects on an existing customer base is important to eliminate in order to remain in business. In these areas there are often many small companies, which suffer much less from the soldier's paradox, since there is less room to spread the target around, but having small companies is also a boon for the average person since they are usually much more agile and can thus adapt to what people need, want and expect of them, rather than trying to wrench people into needing, wanting and expeciting whatever crap they happen to be peddling (I'm thinking of you, 'record industry').

** 'Trust' is an often misused word. It seems to have aquired a positive connotation, even though studying the actual meaning of the word shows what a terrible thing trust is. In the navy of the United States of Americans they apply the following argument to trust: If something is completely under control and not particularly critical or important, then it doesn't need to be trusted (since it makes no difference either way, like a fork). If something is not under control (for example it has come from a third party) and is not particularly critical or important, then it doesn't need to be trusted (since it doesn't matter either way, like a Sky box). If something is completely under control and is critical or important then it doesn't need to be trusted (since it is under control, and so can't do anything unexpected, like a car). If something is not under control and is critical or important then it needs to be trusted (since it leaves one completely at the mercy of another entity for a crucial part of whatever it is that needs to be done, like the person with a gun to your temple). In this context it would be beneficial to keep the number of loaded guns pointed to your head as low as possible. Of course, some things require trust, such as meaningful relationships, but that doesn't mean that such a thing should be taken lightly (to take the loaded gun example, just look at figures for couples killing each other). This argument sums up "Trusted Computing" quite well, by the way.

Firefox is a desktop application

There seems to be a continuing theme here at GUADEC. Someone gets up on stage and declares that they know how to improve GNOME fantastically. They then go on about the web, and how GNOME should become Firefox-and-that's-it. OK, I have a real problem with this; Not only is Firefox NOT a part of GNOME (I'd prefer GNOME turning into Konqueror-and-that's-it to be honest. Even Epiphany is getting WebKit support, because Mozilla software is notoriously slow, hugely resource hungry, and doesn't actually follow web standards that well. OK, they are trying, unlike Idiot Exploiter which does whatever the hell it wants and says "Well, I pwn teh Internets, so if your site doesn't work in me that's YOUR problem.", but the implementation they have is incomplete to say the least. Just try viewing an animated SVG. Painful isn't it?), but desktop applications (GNOME applications included) are far more powerful than web applications, which can be proved by simple logic: Firefox is a desktop application!

Seriously, if you think websites are the new, hip, groovy, trendy way of improving more people's lives with better computers and software then that's fine. But we shouldn't throw out everything we have in order to accommodate that view. There are two scenarios here: Either we move completely to a web browser based system, where everything is HTML (+1), CSS (+1), Javascript (+1), AJAX (+1), etc. and we have no GTK (-1000), no QT (-1000), no EFL (-1), no TK (+1), no WX (-100), no WINE (-pi), no anything else, all of that unbelievably massive collection of software that is already here, already working, already solving problems for people and has been doing for years reliably, is thrown in the bin since it can't be used (-10000000) (except for maybe in a VNC applet, which would be such a stupid-ass thing to do that anyone thinking it should be beaten so hard with a clue bat that their hypocrisy starts dribbling out of their ears), or the other scenario is that we carry on using the desktop as it is. With this approach we can use GTK (+1), QT (+1), WX (+1), TK (-1), EFL (+1) and, get this, we can use HTML (+1), CSS (+1), Javascript(+1), AJAX (+1), etc., plus all of the current library of application will still work (+1), and another major advantage is that this scenario can be achieved with absolutely no investment of time, code or anything else, because it is here already. I am writing this blog entry in Gedit, the GNOME text editor built on GTK. I could be writing it in GNOME Blog, another nice GTK program, but there wouldn't be much point because I don't have a connection to teh Internets. So what can I possibly do about that? Nothing, it's not a problem because my work is local to my machine. When I have a connection I'll upload it, but that might not be for a while.

So you want to make HTML/CSS/whatever applications on GNOME? It is perfectly possible to embed a webbrowser into a program, that is what a web browser actually is! Instead of putting a location bar to load arbitrary sites, whether local or remote, you can just load up a single page of your choosing, and then change the properties of the window however you want to, for example, cut out the edges. Stuart Langridge's Jackfield is an attempt at this kind of thing, and his talk was the only one involving web development which actually looked like it was a step forwards. Of course, Mirco's talk on Lowfat was great, and he envisions much of the same stuff as me, with Lowfat being a step towards document centric computing. My only complaint would be that he limits the scope a little too much by tying it to search results only.

On the subject of Lowfat, Mirco proposed an idea about "tagging" files, which was the same kind of idea as an earlier talk. he problem with this idea of "tagging" is that it involves the very web 2.0 concept of chucking a load of random words at a file. This is not proper tagging. Proper tagging involves key:value pairs, such as "Title:Only For The Weak", "Artist: In Flames", "Album: Clayman", but arbitrary, for example "Live:No", "Favourite: No", "Score:3". I raised this point at the metadata talk, but was informed that this sort of data storage (like ID3v2 Tags) is not tagging, it is other metadata. Erm....... right.... Then Jeff Waugh came out with something pretty ridiculous, I mean, I love his green shoes and everything, but the idea of chucking random words on something and making some of them key:value pairs is completely backwards. Tagging systems apply metadata to things, which in themselves already have intrinsic properties. For example, a song has "Length", "Bitrate", "Format", "Frequency range", etc. Adding these tags works ON TOP of these intrinsic properties, to make a metadata retrieval system find structures like "Width:320", "Height:240", "Tags:Holiday, Bob, Funny", adding key:value pairs to such a system would be as ridiculous as using a GTK webbrowser to view GTK application within a VNC java applet, since it would end up with "Tags:Bob, Funny, Holiday, Width:320, Height:240" which is just completely unneeded recursion. Of course adding tags properly is not as immediate as throwing arbitrary words onto something, but it produces much better results, since words have a meaning to the system. Let's say you are looking for pictures of someone called "Cliff Edge", well you're going to get results of geographical features, whereas if you had tagged pictures with "People:Cliff Edge, Bob Doodle, Dave Daveydave", "Location:New York, Central Park, Bench" and "People: Sue Thingiebob", "Location: Cliff edge, Dover, Seaside" for example you would be able to specify that you want to look for people called Cliff Edge. Of course, as with any arbitrary metadata system, the big problems are getting the metadata in the first place (people care about data, not metadata) and making sure the key names match up. Of course, this is where most discussions fall down as nobody can decide on "the" keys to use, but with a fully arbitrary system there can just be a few suggested (but optional) tags, along with a weighted system of tag relationships to keep track of similar-yet-different keys and values. For web systems this might not be enough, but for a desktop it is perfect. Why? Well because each user has complete control over all of their data. For instance looking at Jamendo's Genre: tags is an example of collecting data about the relationships between these values (if many songs tagged with "Heavy Metal" are also tagged with "Thrash" then it is straightforward to deduce that Heavy Metal and Thrash are somehow similar, even though the two phrases, from a lexicographical perspective, are about as related as Classical and Rap. This doesn't fit into the current mandatory, non-arbitrary tag system used within audio files, so when browsing Jamendo from within Rhythmbox, which conforms to this non-arbitrary, one value system, it chooses so many unique genres as to make browsing by genre useless (I don't particularly care if it is Symphonic Melodic Doom Metal or Heavy Orchestral Death Metal if it means I cannot see related things together), however with the music on my drive (including the songs I get from Jamendo when I click on Download Album from within) I can retag myself, to change someone's pretentious "Medieval Metal" genre to a more apt and more generic "Power Metal" value. With multiple values I could use both, and with a weighted relationship system I could relate it instead. In such a world I would not narrow down the listed tracks by clicking on a specific item in a list of genres, but by selecting an area within a web of genres.

Oh well, I suppose "Show me the code" applies here, so I'll take a look at Lowfat's code, and if that doesn't prove fruitful then I'll see what prototypes I can hack together using the Pigment libraries for Python.

Friday, 13 July 2007

Why should this even be necessary?

Finally, whatever phallic brained suit at Intel started the Classmate PC project has listened to the extremely poor public relations messages and they have joined the OLPC board. This is still not a reversal of their Classmate PC policy though, which is an incredible shame. Intel's aggressive marketing to the countries as soon as OLPC representatives have left is disgraceful. The competition between Intel and AMD in the x86 processor market should not cause a multinational, multi-billion pound corporation to undercut a non-profit organisation by using its existing financial might to sell a competing product for less than it costs to make solely because the non-profit chose to use AMD's low-power Geode processor line due to its suitability for the project (Geodes have been the best in this field for years anyway, which is why AMD bought them a while back).

On a related note I got to see one of the OLPC's XO laptops at LUGRadio Live 2007, and they are even more impressive in the flesh. If anyone out there still believes that the 'choice' argument between the XO and the Classmate is valid then they need to actually do some research about the topic. The XO laptop is a means to an end, that end being the advancement of education around the globe, especially in areas without enough schools and teachers, and certainly without enough money to buy sufficient textbooks for every subject for their children, and then keep replacing them as they are damaged or made obsolete. It was designed to fit the goals of the project, and every area where current technology is not yet advanced enough to meet these lofty goals they set about inventing it themselves (the screens themselves are a really remarkable achievement, and whichever consumer laptop manufacturer gets its hands on that technology first is going to sell a LOT of laptops, not to mention the 802.11s standard Wifi mesh networking, the lithium ferrous phosphate battery technology and power management abilities (the whole system can go into and out of full suspend mode within milliseconds, ie. between key presses for a touch-typist, the processor and graphics chips can shut down to leave the display running, for instance if the laptop is being used in its high-resolution ebook mode where no computation needs to be done until pages are turned, etc.)). What is the goal of the Classmate PC? To sell Intel processors. How does it do this? It takes a modern PC (when I say modern I mean without any of the OLPC advances), then they rip stuff out of it until it costs $200, then sell it for $100 to make sure they beat the XO. The result is an extremely under-powered machine (the machines are slightly more powerful than the XOs, but they run off-the-shelf software like Windows and Mandriva Linux, which the machine is too slow to run comfortably, rather than the XO's completely custom Fedora spin, which is designed specifically for the low power environment), the batteries last 2 hours rather than the XO's 8, they can only be charged from an electrical socket (there are loads of those in the villages of developing countries), they don't have any kind of hermetic sealing (probably due to heat issues from the clocked-up Intel processors) so they can't even run underwater for the rainy season and will clog with dust in the dry season, the screens become completely unreadable in any kind of outdoor sunlight (the issue with current laptops that the XO solved), but this is arguing on technical merits. The biggest problem with the Classmate is that it exists. The OLPC project is working in the kind of space where the precise technical merits of the solution don't matter as much as the standardisation does. For instance, the World Wide Web standardised on the HTML. There are problems with HTML (which is why XHTML and things have come about), but if multiple systems were used from the beginning then the whole Internet thing would have been stalled by politics, developer complaints, attempts at producing even more standards, many proprietary, and generally everything would be a hell of a lot worse than it is now by only using one standard, even though it is obviously not perfect (nothing is). The very fact that there is a Classmate PC seriously damages the efforts of anyone in that area. This is of course making no mention of the fact that the OLPC project is completely independent of any ties within those industries it may effect, and so are in a perfect position to pick and choose the best technologies for the job, whilst Intel is at the very core of the industry and thus should be the last choice as sole designer of a standard, since they'd end up making it favour themselves over their competitors despite the technical merits of their systems, and it would end up being proprietary, closed and unchangeable. Well guess what happened with the Classmate?

I think I'll end my rant here, but the essence of it is this: Choice may be put on a golden pedestal in the USA, but such capitalism is not suitable for every issue in the world. For a person who's only tool is a hammer, everything looks like a nail. I don't hear anyone in the UK complaining that they don't have a choice of NHSs, because in that area it is better to have one standard and gradually hack away its problems, rather than making competing systems. Another example would be the train service compared to the bus service, train tickets can be bought anywhere and will work on any train regardless of the company running it, whereas I never buy a return bus ticket because I never know whether the bus I want to return on will accept it. As long as the standard is fully open then anyone can come along and improve it (by starting a new train company, for example), and we are not stuck with a certain company's marketing strategy rather than a way to fix a problem in the world. Remember, competition is a clever way to encourage people towards a goal (making the world a better place in the case of capitalism), but it is easy to focus on the system and break the legs of every other competitor to become the winner by default, whilst the whole point of the system (approaching the finishing line, Utopia) has been thrown out of the window.

PS: Yes this applies to the MicrosoftXML format too.

Tuesday, 10 July 2007

Very serious issue, but the semantics are still funny

I was looking through my news aggregator today and came upon this BBC news story. Whilst it is a very serious issue I couldn't help being amused by the one line summary in the RSS feed:

"China executes the former head of its food and drug watchdog to death for corruption, state media says."

Yes, it was such a severe punishment that he's not to be executed a little bit, nope he's to go the whole hog and be executed to death.

Oh, and in case that story has ruined your happy mood here is a nice video to get you back into your safe-by-security-theatre, I-can't-do-anything-about-this-stuff-because-I-have-been-trained-as-a-consumer-monkey-incapable-of-doing-anything-for-myself-so-that-companies-can-sell-me-basic-things-as-services so-called lives.

Thank you

Monday, 9 July 2007

LUGRadio Live is over

Well, I'm back from LUGRadio Live and I have gathered a mass of tshirts, stickers and pens. For some reason I took part in the legendary Adam Sweet's Gong-A-Thong Lightbulb Talk Extravaganza (which was pretty funny I must admit). And I lost. To a man talking about pub food distribution strategies. Oh well, he was a random drunk guy and deserves his Nokia N800 Linux smartphone thing.

I've got some DVDs of OpenSolaris, which is nice, since Sun says "Hey! This is Open Source now! It's free!" but then makes you go through some registration crap to actually access it. But now, probably thanks to Ian Murdock (Mr "I am the Ian in Debian", but when I say he's "in Debian" I don't mean this Debian because that would be wrong, especially since his wife, Mrs "I am the Deb in Debian" (I know, probably one of those weird celebrity marriages where they don't end up with the same surname) would probably have something to say on the issue. Oh damn, now I have opened up a can of worms involving 3-way strapon sex. Bugger.), I have 2 DVDs of OpenSolaris and some distributions based on it (Belenix, Schillix, Nexenta and of course all of the source code, as well as a DVD of Java-type stuff (yay, I really like Java, especially since I'm forced to learn and use it in University when Python is a hell of a lot easier to get my head around!)). Which is nice. I always like to expand the number of Free Software computer systems I try.

So yes, my taking part in Adam Sweet's oiled-up, sexual monstrousity... It was basically an hour of 3 minute talks, seperated by Adam Sweet (wearing a thong, but also being a pussy and wearing pants underneath) banging a gong. I decided to get up and have a bit of a rant about Firefox being seen as the new desktop and web applications trying to reinvent perfectly good desktop apps (which I have blogged about earlier), and was complimented when I stepped down by Ted Heagar (who works for Bungee Labs who do web apps! (Actually, to be REALLY ironic, my talk included how web apps are actually Idiot Exploiter/Firefox apps, and as a 64bit Epiphany user this is a nihtmare. Guess what? Searching for "Bungee Labs" on Google gives the top result as their site I just linked to, but what does Google's cached description bit say? Take a look:

3 letters, and two of them are Ls!)), then later on at the Saturday night party by a guy who turns out to be a Flash developer for the BBC (a funny story which bagged me a Neuros tshirt at the goodbye session :) ), and then on Sunday morning by Stuart Langridge himself (apparently that's what he's talking about at GUADEC). Well, I'm glad I didn't get a shoeing over it at least (that was saved for the guy carrying round a hubcap :) ) By the way, my GNOMEFiles news feed told me about Tribler, which looks like the kind of thing I am advocating, it is a peer2peer system using Bittorrent and YouTube and stuff, which links to external players (namely VLC) to do the playback, and stuff like that. Basically embodying the kind of program I would love to see (well, until programs are done away with at least)

I also met a nice guy at the party from South Africa (oooo, home of Mark Shuttleworth indeed!). He runs the local LUG/University society, so it was really interesting talking to him about their Freedom Toasters and stuff (I was saying how I like scribbling down user interfaces, and he said their current UI is a bit terrible and is being reworked in Python and GTK. Which is what I was thinking of making one in!). I also saw him about in the hotel and train station too. Overall it was an amazing event, and I want to say a big thank you to Gareth Qually (wow, couldn't believe I eventually found his site!) (even though he'll probably never read this) because I didn't get chance at your talk because I was being a bit of a pussy, but anyway: Thank you for trying the apps, reading documentation, messing around and experimenting, providing very useful feedback and most of all not saying "Linux is shit, it doesn't run Photoshop". Thank you thank you thank you thank you, I wish there were more professionals out there willing to experiment and generally mess around with things they don't know in order to find out stuff, rather than forking out masses of money for things and then becoming blind to the existence of anything else. Cheers for the great talk too, by the way.

So yes, I'm home. And my packaging app is nearly working at a prototype stage. I seem to be in good books with Harriet's Mum for getting her some perfume for her birthday which also makes the chances of me going round soon a bit higher, which would be nice 'cause I haven't seen Harriet in an eternity (a few weeks) as she couldn't come to LRL due to the birthday thing and other stuff, and I have some stuff to give her for generally being ace and everything (well done on your exams and things by the way!).

So yes, I think I'll leave it there. No N800 for me, but now the OpenMoko thingie has come out, so the N800 is SOOOO last month (I promised myself that if I did win one I'd give it back to the LUGRadio crew to donate to a worthy developer, as long as it wasn't Adam :) )

Saturday, 7 July 2007

Red Lights Of Death. All I can say is ROFL.

In other news, *sniff* oh God, *sob*... I can't even bring myself to... *blows nose* a rights abusing media whore might have to think of something new to keep the money rolling in! I don't think I can even begin to feel the hardship and suffering she must be going through right now. What a cruel world this is.

PS: I wrote this from within the bollock-licking interface, which has now decided that letting me write something in the "Title" field is obviously asking too much.

Friday, 6 July 2007

Aren't I Clever?

I was reading a few forum threads about AROS when I saw the topic of multi-touch screens raised, with a link to an Intructables tutorial for building one (with some nice links). However, I read the guide and watched the video, but couldn't help thinking that there had to be a more accurate way of making one, so I sat down for 10 minutes with some paper and a pen and went through a few ideas. After dismissing some ideas which clearly aren't scalable I think I've actually come up with a pretty neat and easy solution. I'm obviously not going to detail its inner workings here, but I'll build a prototype as soon as I have time to do a little testing. Sheffield would probably be a good place to do this, since Sandbach isn't really known for its DIY/craft shopping scene.

Oh by the way, stumbled along this too.

Oh yeah. LUGRADIO LIVE!!!! W00t!

Ugly Mug

I'm a little vexed at the current implementation of the Mugshot client side application. The idea of Mugshot is to collect together as much of one's online activity as sensible into one place, then provide software and APIs to allow desktop applications to access online services and online services to access desktop applications. This is a good idea, I think, and I certainly prefer it to the whole browser-based mentality (Flash-based video players suck balls! They seriously do! Aside from the obvious proprietaryness they're slow, clunky, crash-prone, ugly, completely inaccessible and detached from the rest of the system and everybody keeps reinventing the wheel and making a load of 75% usable apps rather than working on the remaining 25%. Media players have been around for AGES, why not extend them to use online features? Windows Media Player has been doing this for ages (honestly it has. Just because nobody with half a braincell lets Windows Media Player through their firewall doesn't mean it *can't* open 5 Idiot Exploiter windows to the same gay porn site when attempting to find a codec for an Amiga conference video) and iTunes is an example of a player that does this in a way that people use, and of course there are those options for people with better things to do than suck collective corporate cock like Rhythmbox, Amarok, Banshee, etc. The "But it STREAMS!" argument doesn't hold water since we've had the likes of Real doing that on the desktop since before the last great realisation that the web isn't as orgasm-inducing as those with an agenda to sell promised. And as for embedding desktop media players inside a web browser... Gah, I give up on those people!). So, the problem with Mugshot? Well, like many Konqueror users will appreciate, it makes heavy use of Firefox. Now, despite what Microsoft might tell you, Firefox is not part of the GNU/Linux desktop (unlike Idiot Exploiter 7, which IS an integral part of Windows Vista (Note to self: Never contradict anything used in court as evidence to clear my name) and should therefore have all of its various bugs bundled together as part of Vista's!). Of course it *can* be, and usually is, but the two most ubiquitous desktop systems used on top of Linux are GNOME (with its Epiphany browser (which I use)), and KDE with its Konqueror browser, and therefore Firefox is always an add-on. Many Free Software distributors bundle Firefox with their systems by default, but they are still adding it themselves.

The problem I have at the moment is one of standardisation. There is a significant lack of cross-application APIs for high level stuff that users might give a crap about. Dbus is obviously a step in the right direction in this regard. I know, I know, but DCOP sucked precisely *because* it was part of KDE. Like Artsd. All of those petty squabbles were bound to split development into an us-and-them scenario, and along the way create different implementations of one-to-rule-them-all technologies (like inter-process communication buses and audio mixing servers (NOTE: I heard great thinks about PulseAudio on the Ubuntu development Wiki a while ago. I installed every PulseAudio package I could find in Ubuntu and guess what? I instantly lost all sound, applications refused to start due to no available audio channels, I ended up trying countless media players to watch Click because the lack of audio made me think it was a codec issue, etc. Know what fixed the issues *every* time? "killall pulseaudio". I just ended up uninstalling it (and when I shutdown I was shocked by the logout sound, which I forgot existed!))). Developers are finally starting to realise that there is more than their own little desktop niche out there, and the GNOME/KDE fanboism has cooled down somewhat recently (at least among developers) which has lead to more exploration of mash-up desktop systems based on "I like this program" and "This program does what I need/want" rather than "Well, at least it works without having to run 30 weird commands". Of course now that the lack-of-integrated-applications barrier to entry is dissolving more desktop systems are being created as a result (XFCE seems like quite a popular GTK alternative to GNOME these days, but I could never get used to the way its panels work. Of course the GTK bit is still an unfortunate artifact of the Free desktop's genesis, I shouldn't have to give a crap about what GTK and QT are). Personally I think the ever-increasing use of as an us-and-them Switzerland is also a boon. In my opinion visiting should be the first step in creating a desktop application/technology. Backend developers (things like Dbus) can check for any projects which do a similar job, and if they exist either extend it, fork it, create and register a new system with a compatible API, gouge out a more fundamental backend from the existing code and make a new project which abstracts itself, along with the gutted existing implemetation, on top of this new backend, whatever. Application developers can do the same thing, but focus more on the API stuff (backends with compatible APIs can usually be directly compared in different scenarios, since the implementation is hidden (that's the point) and the most efficient for a given limit can be used. Applications which are directly interacted with, however, is entirely up to preference. I am not saying one-messaging-client-to-rule-them-all, I am saying using the messenger you prefer should not be restricted by integration/basic features/etc., just like Miranda vs. Pidgin vs. Adium comes completely down to preference, as they all use libpurple as a backend and thus have the same capabilities (of course that particular example is complete bollocks as Miranda uses Windows's graphics toolkit and runs on Windows, Adium uses the Cocoa implementation of OpenSTEP and runs on OSX and Pidgin uses the GIMP ToolKit and runs on the various systems that GTK supports). With every popular project following the development of neighbouring technologies far more time could be spent doing cool stuff rather than reimplementing things which already exist, users could switch between different applications that do the same job without worrying about configuration or setup, because the backends would be the same (and if work is structured like this and more cool features and experimental ideas are tried then switching back and forth between applications is a must if anyone is going to bother trying all of these new features).

KDE4 looked like it was going to play fair with the stardardisation idea, but instead they seem to have gone for another custom layer of abstraction, this time on top of those that already exist making KDE apps capable of using the existing standards, but making KDE standards inaccessible to external software (eg. why does Decibel exist? It just does the same job as Telepathy as far as I can tell, but adds another layer on top of it. Of course I am no expert in this area, but if it does do something new then why make it part of KDE rather than as a separate project with its own merits? If I want to make an application which uses it users will need to install vast chunks of KDE to run Decibel to run my application, which shouldn't be needed). Plasma admittedly looks cool, but I would very much like to see implementations of standard ".desktop" files available on the work area and such.

What would all of this standardisation allow? Well, it would mean that Redhat developers can release a Mugshot program which works with all major browsers, since they would all use the same plugin architecture. Of course this would just reimplement a current feature (albeit in a better way), but if every level of the system was available via a known API then Mugshot's features would be truly limitless. No longer would Music Radar need to understand different media players, because every media player would send the same messages (probably through Dbus) about current song, play/pause, etc. Instant messaging could be properly integrated throughout the desktop. Collaboration on documents and other files could happen much more easily, since different word processors would all understand the same editing API.

Now, many people out there will find this very familiar. There is a good reason for this. It is called the UNIX philosophy!

PS: It's 1:14AM and I'm tired. I'll add link and clean it up later :)