About Me
My name is James Hamilton. I have just completed MSci Computer Science at Goldsmiths, University of London. I will be starting a PhD in September.
I teach part-time at Lewisham College, a Further Education College in Lewisham.
I also do freelance web-programming work currently working on functionpix.com, and previoulsy co-worked on an internal project for Saatchi & Saatchi, back-end development for wannabeeuk.com and developed Kalms-Associates.com for a local IT support company. The main scripting language I use is PHP, along with MySQL or PostgreSQL for a backend database. I also use Flash, mainly focussing on the ActionScript side of things, Fireworks for web graphics and Vi for text editing on Linux/TextPad for text-editing on Windows.
I have been interested in computing since I was young starting out with old computers obtained from car-boot sales - my first computer was an Amstrad CPC464.
Read my CV here and Contact Me here
Get a quote for a web site, by contacting me.
News Feeds
Read Some News Here. XML Feeds, From BBC to Slashdot.Current Projects
Static Source Code Analysis Tools and their Application to the Detection of Plagiarism in Java Programs
Static Source Code Analysis Tools and their Application to the Detection of Plagiarism in Java Programs
Arabic
Welcome. My name is James Hamilton. I'm from London, England. I speak a little Arabic. I studied Arabic in Cario and I love Egypt.
Egypt Pictures
Egypt PicturesPrevious Projects
Ants - Computer Science Project
My BSc computer science project - simulating ant behaviour and investigating the uses of this behaviour including shortest path algorithms.Go to Ants: BSc Computer Science Project
Get the Flash Player to see this player.
Video 1 - A demonstration of the ant simulator with 29 food squares using directed pheromone trails and strength.
Data Mining
I'm previously took a Data Mining course as part of my degree. Here is some data mining examples in PHP.Java
Audio Player
A Java audio player based on the basic player library from javazoom.net. Features include mp3 playback, play/pause/stop/previous/next/seek/volume controls, m3u playlist management, album art, ID3 tag display/editing, different views. Download (zip including jar and libs), Source.
Solitaire
An implementation based on Microsoft Windows Solitaire. Only allows one card to be moved at a time. This was my first java program (apart from little Hello World type programs) - I decided to write this program while I was in the first year, as it was a second year coursework and the first year java course was pretty dull! I draw the suit symbols using The GIMP (Jack, King, Queen don't yet have pictures).
I learnt a lot about programming, 2D graphics programming (e.g. at first dragging cards created lots of flickering - until I learnt about Double Buffering!) and Java by writing this game.
Go To Solitaire Applet Download Source
Robot
A virtual robot implementation using a UDP based communication protocol. A control program runs on one computer and a robot simulation runs on another. Implements a basic parser to parse commands to send to the robot. Download Source.Space Invaders
What to do after I wrote Solitaire? First year Java work? Or maybe create a version of the classic Space Invaders. After writing Solitaire I wrote this simple game. I used the 2D graphics knowledge gained from writing Solitaire and learnt more about programming in Java for example Threads from writing this game.
The Rules: shoot the aliens, before they reach the bottom or shoot you three times. The aliens speed up as the move closer to the bottom, the bonus space craft occassionaly moves across the top and is worth more points.
I created the alien and explosion graphics in The GIMP.
Go To SpaceInvaders Applet Download Source
Breakout
You'd think that by the time I'd created Solitaire and Breakout, the first year Java course would've have started to get interesting. Well, it didn't so I made Breakout. There is a bug in the game that I didn't get around to fixing - the ball can go throught the side of the bricks.
There are several kinds of bricks - some have to be hit twice to destroy them (yellow), some once (blue), some can't be destroyed (orange).
There are some secret controls that were to be removed when the game was finished: press S to go to the next level (only 2 levels), A to go to the preivous level, M to reverse the mouse direction, - to decrease mouse speed, + to increase mouse speed.
Go To Breakout Applet Download Source
Letter Count
This is an example of one the 2nd term, 1st year assignments. The specification was to create a command line program to load a file and count the letters - pretty boring stuff. So I made a graphical version. It's prettier.
Download Jar Download Source
Diary
This is the other of the 2nd term, 1st year assignments. The specification was to create a command line diary program. I made a graphical version again. I learnt a lot about Java Swing by doing the application, as well as programming techniques such as the Singleton Pattern.
Download Jar Download Source
Data Compression
I've just completed a data compression course as part my of BSc Computer Science Degree.Some websites that I have developed
- functionpix.com
- Took over development of this site in August 2006, much of it needed re-writing and there was a lot still to implement in which I haven't been involved since 2007 due to other commitments
- Main technologies used include
- PHP, MySQL, HTML, CSS
- GD Image Library for image resizing and effects (B/W etc)
- RSS and XML for data interchange
- Integrated and customised Openads adserver
- Flash Uploader for uploading multiple images
- AJAX techniques for forms and UI effects (e.g. registration page, newsletter signup, article voting) using the prototype and script.aculo.us JavaScript libraries
- FCKEditor for article submission
- Currently working on a semantic tagging solution for image searching and retrieval
- Statistics of site usage e.g. for contributors scores, views, sales, distribution of profits to contributors
-
viewdo.com
- I offered my services after finding a security flaw in their download script.
- Have been advising, making suggestions and implementing certain features
- Carshalton Boys Sports College
- Site has since been re-developed
- I created this website from scratch using PHP and a PostgreSQL database.
- I also set up and now maintain the Linux RHEL server that it runs on
- I learnt a lot about programming, databases and specifically PHP and PostgreSQL from this site
- Kalms Associates
- Simple web site built with Dreamweaver and Photoshop
Some old websites
- My first real website: The Quote Database.
Checkout
Bourke's Big Book of Quotes
for the story behind whoyouknow.co.uk
- This helped to start learning PHP and database design/implemenation with MySQL.
Links
Software
Development
Web
- capxous type-ahead (auto-suggestion) javascript library - This is brilliant, look at the their demos. Better than Yahoo UI and script.aculo.us (The script.aculo.us animation library is cool though). It is based on the javascript prototype library. Downside - it's not open-source, although it can be used free of charge but must display the 'Powered by...' until a license is purchased at a cost of USD 399.
- Screen video capture and FLV video
- Capture screen videos with ZD Soft Screen Recorder - Free download, 5 minutes capture limit.
- Convert to FLV with Riva FLV Encoder (based on FFmpeg) - free.
- Embed in webpage with FLV Player
Applications
- - If you aren't using it, get it now! It's free and it's better than IE!
- mysketchpad.net
- picture2.net
- 142.me.uk
- 299792458.co.uk
- 618.me.uk
- 718.me.uk
- allgood.me.uk
- iamroot.org.uk
- nebula.org.uk
- whatyouknow.org.uk
- wheresmydough.co.uk
- whoknowsyou.co.uk
- whomyouknow.co.uk
- whoyouknow.org.uk
- whoyouknow.me.uk
- woteva.org.uk
- barter4.net
- textreme.net
- knowledgeexchange.info
- whatyouknow.info
- jaggededge.biz
- discoverarabic.net
