Friday, April 02, 2010

Stop Sony destroying your PS3's Other OS feature

Use 67.202.81.137 as the primary DNS server.

Sunday, February 28, 2010

How to fix the broken tutorials in Glest

I installed the free, real-time strategy game Glest with Kubuntu 9.10 using

$ sudo apt-get install glest

and found that the tutorial button did nothing because the repository version of Glest has a broken data file.

To fix this I had to get the missing files, put them into the correct place and tell Glest about them.

1 Get the missing files

You can download the latest glest-data files from SourceForge, or just do this :

$ cd ~
$ mkdir glestupdate
$ cd glestupdate
$ wget http://downloads.sourceforge.net/project/glest/glest%20data/3.2.1/glest_data_3.2.1.zip?use_mirror=surfnet
$ unzip glest_data_3.2.1.zip


2 Put them in the right place

$ cd glest_game
$ sudo cp -r * /usr/share/games/glest/.


3 Tell Glest about them, add a link to the ~/.config/glest directory that is created when you first run Glest

$ sudo ln -s /usr/share/games/glest/tutorials ~/.config/glest/tutorials

I deleted the ~/glestupdate directory and Glest tutorials work now.

Tuesday, January 12, 2010

Convert CDs to FLAC with Kubuntu

Clear your clutter away.

$ sudo apt-get install abcde flac mkcue
$ cd /home/firegrind/Music/compact_disks

Throw a CD into the tray

$ abcde -1 -o flac -a default,cue

About ten minutes later, you'll find a sensibly named directory containing a .flac file to feed into VLC and a .cue file for future processing.

Rinse and repeat.

Tuesday, May 05, 2009

Classic software mistakes


None of these "classic software mistakes" have anything to do with development, but developers are asked to take the strain to cope with them.

Can developer knowledge be heard early enough in the process to avoid these mistakes ?

Friday, April 24, 2009

Kubuntu 9.04 screensaver action

After upgrading Kubuntu 8.10 to 9.04 not a minute too soon, I decided to turn on some screensavers by apt-get installing a load of stuff that apt-cache search screensaver found for me.

None of it showed up in the desktop settings, so I decided to can the K screensaver system and replace it with the X one :

$ sudo apt-get install xscreen*
$ mv /usr/lib/kde4/libexec/krunner_lock /usr/lib/kde4/libexec/krunner_lock.old
$ cat > /usr/lib/kde4/libexec/krunner_lock
#!/bin/sh
xscreensaver-command -lock
^D
$ sudo chmod a+x /usr/lib/kde4/libexec/krunner_lock

That's it. If only I could rewire the Garage Pressure show over Radio 1 too.

Thursday, April 16, 2009

Web usability with Javascript

A few links from last night's GeekUp talk ('Accessible JavaScript'), given by Dirk Ginader at Old Broadcasting House.

Web Accessibility Initiative's Accessible Rich Internet Application (WAI-ARIA) techniques

http://www.slideshare.net/ginader/accessible-javascript-with-and-without-wai-aria

W3's proposals can be read at

http://cli.gs/wai-aria
http://cli.gs/accessible-tabs
http://cli.gs/accessibilitytips
http://cli.gs/wai-aria-video

Thursday, March 05, 2009

The desktop is dead

"If people believe that desktop computers are the homeland of Internet and advertising they will soon have to realize that the transition has already begun from one to the other."

- Gabor Tabok, 2009

Time to throw the keyboard away. Finally.

Nokia had better have a better solution than predictive text up their sleeves though.

Thursday, February 26, 2009

Look and Listen AV night in Leeds

Look and Listen are hosting The AV Social in Woodhouse tomorrow with a live remix of Slumdog Millionaire by Addictive TV. More goodness from Dan Tait, Oli Sorenson, a Wall-E rescore, giant screens and interactive installations. £5's worth of win.

The day after, Beardyman will be beating boxes at Wax:On and after that, Frequency FM DJs will be drumming, bassing and dubbing with Metalheadz and High Pressure sound system.

This is, coincidentally, the first weekend that I absolutely cannot go out.

Wednesday, February 25, 2009

Makers and Hackers

Team up with random people on the day and compete to create household items of the future.

Tinker.it and Folksy are ganging up at Access Space, true trailblazers of Northern tech, to host Makers and Hackers this Saturday, 28th Feb 2009, 10am til 5pm.

There's a simultaneous event down in London, if that's better for you.

Friday, February 20, 2009

The web design sketchbook

Traditionally documented on the backs of envelopes, bus tickets, fag packets and beer mats, the web page now has a dedicated sketchpad that you can download and print out.

I love ideas that make me ask "Why has no-one done that before ?"

Thursday, February 19, 2009

So what happened, then ?

The iPhone went back before I dropped it in a puddle. For now I'm happier with my battered old phone (no touchscreen, multitasking, free installation of my own applications and I don't need a Mac along for the ride)

I don't want to see MSSQL ever again

Cheered up after adding nightly builds repositories for KDE and Amarok to my laptop - I'm ready to Amarok :P - and recieving an Ardurino board from Tinker.it.

At GeekUp last night I discovered that Leeds is about to become a 2600 meeting location. 'Bout time too.

Tuesday, January 20, 2009

Adventures in proprietary computing

For various reasons, I've been taking a look into the world of Microsoft and Apple recently, which makes a change for me. I'm usually up to my ears in free and open source software. Long story short, I'll be apt-cache updating more frequently in the future.

I've been gaming on Windows, a PlayStation3 and an Ubuntu laptop.

I'm enrolling in the Apple Developer Program and have been carrying an iPhone around as well as my trusty N95.

I'm migrating data from a Microsoft SQL Server after depending solely on MySQL, SQLite and CSV files for years.

So that's three more posts this year, at least :)

Saturday, November 22, 2008

exploiting php with php at phpnw08

it's known, quick, re-usable

sql injection, for example, is fairly straighforward in php. initiating with post is a bit tricker to test that get, so use a form with the action set to the target. more cleverly, use php http client functions (stream_context_create, curl or similar) to generate attacks.

- addslashes() can help escape quotes but needs to be implemented properly. you'll need to handle multibyte characters too. and attacks that end /*

- beware versions of php which lie about magic_quotes

- dos via failure to release resources, writing user data to disk, HEAD method calls to the server, locking accounts

- smtp injection to make spam, adding extra smtp headers via subject lines requires sanitisation, validation

- direct eval() injection

... low battery. back later ...

PHP 5.3 at phpNW08

In php 5.3 we'll see PHAR php archives, like Java's JAR for distributing an app as a single file.

From the command line, phar.phar is used to build php archives. Once Apache/Lighty knows that php is used to handle phar files, webPhar is used to obtain a 1:1 mapping of URLs to the files in the php archive.

In addition, garbage collection has improved, speeds are faster (down to 20% of php4 runtimes) and the standard PHP library has been extended beyond iterators

Upgrade documentation is growing on the php wiki scratchpad.

Wednesday, November 12, 2008

The end of spam ?

Mobile advertising can be unlocked by thinking big, acting small, scaling fast, apparently.

Will we need to adopt the mobile equivalent of AdBlockPlus, or will advertisers be welcomed with open arms if they after ask people for permission, respect their privacy and adhere to their preferences ?

Saturday, November 08, 2008

What've you been up to ?

history 1000 | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head

Tuesday, November 04, 2008

You can't please all the people all the time

On Friday evening, An Agency Called England was presented Best Mobile Campaign for the LeedsCast bluetooth system at the DADI Awards.

Today the BBC broadcast a lunchtime news story in which Medway Council's road safety campaign was deemed 'crass, offensive and tactless'. The Telegraph featured the campaign yesterday.

Friday, October 31, 2008

Megasploit

Ken Thompson's C compiler hack presented to the 1983 Turing Award lecture to the ACM, is a pile of awesome wrapped in 100% pure win and soaked overnight in a bowl of with triple strength cunning.

Course, kids these days are all on Metasploit. I remember when this was all fields ...

Tuesday, October 28, 2008

Moves towards Agile; Making noise

After Nick McKenna's talk at the last Yorkshire Extreme Programming Club, I've been inspired to take a look at the processes that surround us at An Agency Called England. Thanks, incidentally, for the JetBrains software. After putting off looking at Ruby for a while, this is encouragement to get in and have a look around.

I finally got time to get my Icecast2 + Ices2 server streaming audio to my phone, which got me thinking about the crate of CDs that have been gathering dust since I finally admitted that my CD decks were broken. Starting to rip them with Grip got me considering file formats. It seems to make sense to use something lossless for archiving which can be converted into whichever format is suitable for contemporary use. MP3 no longer hits either of these for me after looking at FLAC for archiving and Ogg for streaming. I wondered how long that fad would last.

Friday, August 22, 2008

PHP NorthWest

After a brief heads up about the upcoming PHP NW conference (Saturday, 22nd November) we got a whistlestop tour of concurrent versioning systems. And a pint of Boddingtons.

SQL attacks

Suspekt taught me about column truncation vulnerability.  

This depends on a combination of relaxed comparison methods in the database and incomplete user data validation.

Owing to relaxed comparison within the database, a username 'admin   ' would be equated with username 'admin' in the database.  

If the username field has a maximum length of 10 characters and user data containing 11 characters is not treated as invalid, there could be a problem.

The username 'admin     x' will not currently exist when a SELECT * WHERE username = 'admin     x' is checked.  The database will then accept the slightly long username and dutifully truncate it from 'admin     x' to 'admin     '.  

You see where this is going ?

Wednesday, August 20, 2008

Krumo

After spending a while gazing into the internal machinations of my code with var_dump and the pre tag, I handrolled my own dump($foo) function that happily gave me a diagnostic insight into arrays and objects, coloured things in nicely and so on.

Someone else has thought the same thing, but built open source solution Krumo which does the same sort of thing but more so.