Geek Bookshelf

I read, or at least own, quite a lot of geek books, some of which are really good, so I thought I’d keep a page updated with what’s present on the shelf.


Learning Perl – First programming book I bought, when I was 14 I think but I never actually learnt Perl until I was 18. Great introduction to the language and quite entertaining.

Intermediate Perl – Builds on Learning Perl and adds lots of information about references and objects and other important topics.

Perl Best Practices – Suggests best practices for programming in Perl relating to various topics. I’ve only dipped into this so far.

The Definitive Guide to Catalyst: Writing Extendable, Scalable and Maintainable Perl-Based Web Applications – My third year project at university is built using Catalyst and it is a great introduction to using it as a web framework and also touches on some “modern Perl” issues.

Web Development

CSS Mastery: Advanced Web Standards Solutions – I’m totally awful at web design but with this book I manage to get by – praise indeed!

Beginning JavaScript with DOM Scripting & Ajax – I’ve seen this author talk twice and he’s a great speaker. The book is an excellent guide to JavaScript.

Agile Web Development with Rails (Pragmatic Programmers) – I didn’t really get a chance to work through this book before Rails was heavily updated and the book was out of date. However, there is an updated version.

PHP and MySQL Web Development – I never really learnt PHP but, let’s be honest, when you know a few other languages it’s easy to pick up.

The Definitive Guide to Catalyst (see above)


Hacking Exposed – Pretty much the network hacking bible.

Hacking Exposed Web Applications – Covers lots of issues related to web application security

Cross Site Scripting Attacks: Cross Site Scripting Exploits and Defense – It’s authored by RSnake, amongst others, enough said.

Fuzzing: Brute Force Vulnerability Discovery – I’m partly using this for my dissertation so it’s pretty useful.


Objects First With Java
Java In A Nutshell
Java Cookbook

Computer Science

Operating System Concepts
Discrete Mathematics and it’s Applications
Introduction to Algorithms
Introduction to the Theory of Computation
Objects First With Java (see above)
The C Programming Language

Software Engineering

The Mythical Man Month
Domain Driven Design
Dancing with Bears
eXtreme Programming Explained
The Pragmatic Programmer
Code Complete


Hackers and Painters
Web Startup Success Guide


Web Analytics: An Hour a Day