Author Archive

Best Linux Filesystem?

August 2nd, 2009

The executive summary in my own words of which filesystem to pick if you’re wondering which is best. I’m avoiding jargon or anything overly technical. I also provide some made-up* graphs to help with quick decision making.

Overview

  • Ext2 – Old. Don’t bother.
  • Ext3 – Lacking in performance though very solid and reliable with a huge number of tools to fiddle with.
  • Ext4 – More reliability and a little extra speed over ext3.
  • XFS – Sci-fi name and also very fast but lacks the same level of error protection as some others. Undelete is almost impossible. Doesn’t like powercuts.
  • JFS – Like XFS but more reliable after a powercut. Very fast and low CPU usage making it ideal for old PCs and new alike.
  • ReiserFS – Was good, but showing its age and no longer actively developed.

What do you want?

Speed

  1. XFS
  2. JFS
  3. ReiserFS
  4. ext4
  5. ext3
  6. ext2

Reliability

  1. ext3
  2. ext4
  3. JFS
  4. ReiserFS
  5. ext2
  6. XFS

Epic Graphs

Linux Filesystem Speeds


The effects of a powercut on the filesystems


JFS Speed-o-meter

* when I say made-up I mean that. They’re from my own experiences and reading various contradictary benchmarks. There are so many contradictions on speed and reliability out there that I think a rough guide is just as good as any of the other meticulously biased graphs out there. They can be argued as innacurate. But this is my blog – my goddamn rules! If I want pretty graphs I will HAVE pretty graphs!

Python’s Beards and Ruby’s ‘Cool’ Guys

July 30th, 2009

I was having a chat on the MicroSoft Networks fancy comms protocol. Aka: MSN. Along came someone with an opinion. As is customary I shot it down with wild abandon!!

The quickie backstory:

  • I suggested Python is better than Ruby.
  • They argued using two example pictures – see below.

Rubyists

ruby_programmers.jpg



I Said:

The Ruby pic: The guy on the right has his eyebrow raised as if to say: “I’m fucking amazing”. The rest of them are all geeks who are using Ruby as their way to be cool in a world that rejected them at high school age for being geeks. Little do they realise (maybe deep down they do) but the only people who may think they’re cool is a small fringe group of other Ruby-ists and beginner coders. The other Ruby-ists will be consumed by an undertone of competitiveness. The Python coders will think they’re rubbish fanboys. The hot girl who rejected them at high school will think they’re just like any other geek.

Pythonistas

504x_Picture_2_23-18-44.png



I Said:

The good thing about the Python coders is they’re not bothered. They’re just not even trying. They’re so past giving a shit about being cool that they’ve all grown ugly facial hair.

This piercing psychological insight into the programmers of Python and Ruby is just the tip of the iceberg. For $200 I’ll furnish you with a graph showing my facts in a nice way that will go well in a professional report.

Excellent Apache Log Analyser & Monitor

July 23rd, 2009

python-logo-master-v3-TM.pngI’ve been looking up hill and down dale for a good (Python-based – fanboy!! Woo!!) log analyser and monitor for Apache.

It looks like I’ve found one – and awesome it is too!

wtop is by far the best I’ve come across of the options available and I’m not just saying that because its Python based. It nicely formats based on a variety of rules you give to it.

I plan on using it to monitor when certain IP’s access my server then hooking it upto an SMS API to text me when it happens. You can use it for monitoring of dodgy behaviour such as accesses to Paypal folders and such.

Some important points though:

  1. Make sure your log format is configured properly. You need to add the %D option which the default “combined” format doesn’t have.
  2. After changing the formats and making sure the wtop config matches your new Apache log format you may need to delete or archive your old ‘badly’ formatted logs. As wtop won’t cope well with the new/old format mix.
  3. Install it – don’t think it’ll work straight off the bat.
  4. Read the instructions.
  5. To make sure you’ve got it working run a very basic command with it that does no filtering.
    logrep -o 'class,max(bytes),avg(msec)' access.log
  6. More info on using logrep for monitoring your Apache logs is here.

Some More Examples…

  • Show all 404 page errors in log with a count:
    logrep -m grep -o 'status,count(*),url' -f 'status=404' access.log
  • Show visits of a certain IP to the homepage of the site:
    logrep -f 'ip~192.29.29,class=home' -o hour,minute,ip,url access.log

Google Phones/Android (incl. G1) ROMs

July 18th, 2009

Great comparison table of all the custom Android ROMs at this site: http://www.simonwalkerphotos.com/android/android_build_information.asp

ASE Makes Android Development Pleasant

July 12th, 2009

android-logo.jpgHaving got myself a G1 phone a few weeks back I’ve been tinkering a lot. Mainly with the Android Scripting Environment that I plan on writing about soon but I thought I’d give a quick summary of what I’ve found so far on this platform – and why I don’t like it (kind of)!

It uses Java – of a sort. More specifically it uses the Dalvik VM which is a register based as opposed to stack based VM and has many of its core classes based on Apache Harmony.

(Did I sound like I knew what that meant? Because I didn’t. I was paraphrasing Wikipedia – I love Wikipedia’s ability to make you sound like an expert at anything)

That’s why I hate it – the Java part. I hate Java. I’ve not developed in Java since university and have conducted a mental cleansing of all my painful memories of the language. As such I am a desperate ‘newbie’ on this platform. Scrabbling round like some lost raccoon on the North York Moors (there are no raccons in England so it would be VERY lost).

ASE comes to rescue the day but first….

Why ASE? Android programs are ‘easy” enough to write.

This is in the wiki docs of ASE. This question gets asked – apparently quite frenquently.

All I can say is: “Holy mother of jesus-bloody-ballsing-christ”.

What I find even more shocking is the answer…

That’s very true. Android’s development environment does make life pretty easy.

PRETTY EASY?!?!

WHAT?!?!

Are you a masochist??

It took an hour just to get it all up & running. Getting Eclipse working how its meant to with the right plugins, setting up emulator images, downloading tutorials and the multitude of other faffing tasks.

If you’ve gotten used to scripting languages like Python, Ruby or PHP then programming Java is akin to stabbing your eyeballs repeatedly with a rusty fork. Its rammed full of verbose bullshit, silly configs, insane amounts of setup, strict typing, misery, self abuse, pain, kitten torture, puppy genocide, etc, etc.

For example try taking a look at the Android Dev tutorial. Part 1 will consume 6hrs of your life. After which you will have created a useless ‘notepad app’ that doesn’t allow you to edit or delete notes. Only create a new one with hard coded contents and a name. 6 hours and I could have built Athens Online – an online city of dreams and Greek pornography. What? Everything online is porn.

Anyway…

Java Can Come Later

I hate JavaThe Android Scripting Environment is a breath of fresh air though. This was released in May/June and allows development of quick, funky scripts in Python, Lua or BeanShell (*hiss*, *spit*). Ruby and Javascript are to follow soon.

If you fancy developing the scripts on your PC and running them on the phone you’ll need a tool available in the Android SDK called ADB (Android Debug Bridge). Though if you’re following the ASE docs don’t forget you need to turn on USB Debugging on the phone to enable it.

What It Can’t Do – Yet

I love ASE and I love the German gent who made it even more – even though I know only his name. I’m sure that he’s a great man for only a great man would create ASE.

Okay – I’ll stop now.

ASE can’t do the following at the moment:

  • Compile in to APK/packages for selling or distributing on Market or elsewhere.
  • Its restricted to a subset of the Android API made available by an RPC interface.
  • It can’t cure cancer.

I’ve got high hopes for ASE and its making my life more fun. If you’re a Python/Lua/scripting sort then you’ll love it too.

Rails Conference Debacle

May 1st, 2009

I’ve only just heard of this silly mess that occurred at the Golden Gate Ruby Conf and many people have already posted on this so I won’t bother wading in. But I thought I’d quickly say: Not impressed with Matt DHH or anyone else who considers it okay to display slides like that in a public presentation.

I wonder how all those defending the action would feel if the images were of naked males?

For those who haven’t seen it – here it is: http://www.slideshare.net/mattetti/couchdb-perform-like-a-pr0n-star

Its not the use of the slides though that’s ultimately an issue.Its the steadfast determination of those defending it that’s not good. The fact is it caused offense and was out of order and yet those at the top continue to defend it. This is nothing more than a grand display of adolescent arrogance and damages the credibility of the Rails community.

One of the reasons I left Rails for Django some time ago.

Reference:
Dyepot
Ruby Railways
Sarah Mei
Ultrasaurus
Zed Shaw

Mac Blogging Software …is rubbish?

March 21st, 2009

You’d automatically think that an application you need to pay for would be better than a Firefox plugin. Unfortunately that’s not the case but it baffles me how no one else seems to realise this.

For example take the array of Mac blogging apps out there: Ecto, MarsEdit, Blogo, MacJournal, etc, etc…

Paid for applications and yet they all have a woeful array of features when compared to the free Scribefire Firefox addon.

Scribefire includes Youtube  and Flickr integration, article searching, WYSIWYG/HTML/Preview panes, integrated promotion tools, ad serving tools and much much more besides. And did I mention this is all FREE?!

While the Mac community are crying out for substandard apps they paid for to release feature X for their fave blogging app. Why? Why not just switch to Scribefire and save yourself the heart ache?

Or am I missing something?

Project Locker Project Hosting

March 1st, 2009

It looks like a new service has entered the project hosting market – Project Locker. Its already crowded with 10 major SVN hosts but this one looks promising. It provides Git, SVN version control and Trac hosting too. The level of integration with other services seems quite impressive too.
Their pricing model seems quite reasonable and as is customary they offer free accounts of 2 users and 300Mb storage. This gives you the option to produce as many repos as you want! How many repos this will give you I’m not sure but its a good start.

CodeSpaces Project Hosting

February 12th, 2009
Looks like CodeSpaces, the project hosting company, I listed a while back (Free SVN Hosting Providers) is preparing for a beta launch of some funky new features.

I wish I knew more but alas I don’t (MASSIVE HINT ;) ). They’re a strong contender in my previous review but I reckon they’d do better with a nicer free package. Hopefully some of these new features will find their way to the free users. Sweeten the deal a bit. :)

Linode and Slicehost

February 4th, 2009

Just as I’m in the process of moving my sites off Slicehost onto Linode completely I spotted a tweet of someone asking about the advantages of of the big green “L” over SliceHost.

Well although I did a post reviewing the top developer webhosts a while back I thought I’d jump into answering this very question as I’m slap bang in the middle of both.

I’ve been using Slicehost now for a little over a year and Linode I first signed upto about 6 months ago. When I first started using Slicehost it was a great breath of fresh air. VERY developer friendly with a great community and nice features.

However, I’d begun to get a bit itchy since the connection between me and my Slice has often been a bit slow. Whether this was down to the Atlantic gap or something on my end I wanted to test a few other hosts out. So on I hunted and eventually found Linode. They seemed to have a lot of the same philosophy to Slicehost with a strong developer focus and some nifty features. One of which was the web console access to your node (a feature of Slicehost that’s been indispensible).

I signed up for a low-end account to try it out and was immediately hit by the choices on offer. Not only do you get a huge range of kernel options (64 and 32 bit) but you can also set up multiple disk images on the storage you get.

Distro Choice at Linode

Then after sign up and image creation I was into the dashboard. WOAH – is pretty much all I said at that point. You’re suddenly hit by a selection of stats and gtraphs that tell you everything you could want to know about your nodes. Bandwidth usage over time, CPU, memory, etc. Not only that you can setup custom alerts for when you’re node is using too many resources.

CPU Graph on Linode Network Graph for Linode Disk IO Graph for Linode

So have I completed my move yet? Not quite but I will do soon. I have 1 or 2 sites left on Slicehost and I downgraded my plan to the lowest I can. Once I’ve finished my move over I’ll be shutting down my Slice and upgrading my Node.

Slicehost are a great host – I really have no problems with their hosting, the people or the service. Its all been 100% but Linode offer more for the money and so its time to move away fully. If Slicehost happen to up the anté with new features to match I may considr moving back but for now Linode are mikles ahead. I’ve done a summary of their strengths below.

Why Linode Is Better

  • Fine grained control over node – just about everything can be configured to your hearts content.
  • Huge choice of kernels AND the choice to use custom kernels too!!
  • Swap IPs between nodes.
  • IP failover.
  • Private IPs between nodes for local communications.
  • Usage and stats galore in numbers and pictures.
  • Custom alerts for resource usage.
  • Really friendly team of people who listen to their customers. For example shortly after my previous review one of the guys at Linode commented on it!! :)
  • Easy and fine grained upgrades of nodes. Add extra RAM, disk, IPs, bandwidth, etc.
  • Faster network access. This is very subjective but my SSH connection has been noticeably faster and more responsive on Linode. The same can be said for a friend who made the shift to Linode too.

Why Slicehost Is Better

  • Bigger and stronger community with forums, Facebook profiles, comprehensive wiki, etc.
  • More comprehensive API.
  • Great technical documentation in the form of articles and wiki.
  • Company colour is blue – my favourite. ;)
  • Very simple (i.e. user-friendly) backup system – though it does cost.