|Date of birth:||1983-Oct-29|
|Work sought:||I am not currently seeking employment|
|Qualifications:||2:1 in Computer Science from Warwick University, UK1)|
|Strengths:||Thorough, good analytical skills, excellent communicator2), leadership/organisational skills, confident and out-going, persistent and not afraid to work long hours when required|
|Current Occupation:||Software Engineer for ARM Ltd's Media Processing Division|
I am a recent graduate looking for challenging technical and creative work, and am not afraid to work under pressure. Particularly I am interested in working with (realtime) visual media, human-computer interaction and/or low-level systems which interact directly with hardware.
I have always loved working with video and special effects (at the age of 17 I produced a short light-sabre fight clip3) using a toy camera and a lot of patience) and have produced an “ident”4) clip for my University's student television station. More recently I have become interested in electronics and the use of microprocessors (c.f. my University project)
|Tel:||077 636 09 286|
I am competent with and frequently use the following software:
I have used the following for past projects, and understand the concepts involved:
I have a solid understanding of how the Microsoft WindowsNT family of operating systems function, and frequently modify the registry and system files to remove petty annoyances (such as the default action for picture files being 'Preview' via Microsoft's included viewer, instead of 'Open').
Recently I have become very fond of Linux-based operating systems, and now run a BASH-like shell on my Windows PC. I enjoy writing scripts to overcome tricky/tedious problems such as authenticating my broadband connection via a (cumbersome) web-portal. Using Unison with DokuWiki is a popular page on my site which demonstrates some of my understanding.
I thoroughly enjoy using the following languages/technologies:
I'm looking to expand my knowledge in the following:
Software I have written that I am proud of.
This command-line utility renames TV episode video files by processing each file in a directory, extracting the season & episode number and matching it to data parsed from a webpage — the end result is each file renamed to a consistent format including the episode titles supplied by the webpage.
I made a Java application for my mobile phone to help me test an idea I had on how to win at the board-game “Cluedo” by keeping track of all moves in the game. This was just a fun little project to make use of my smart-phone.
This project was a solo project done as part of my degree course. It took 8-months and was supervised by Dr Roger Packwood6).
I implemented the USB 2.0 Basic Speed specification on some hobbyist hardware (a MicroChip PIC16F877 micro-controller and a Philips PDIUSBD12 USB bus-interfacing chip). The aim of the project was to create a no-hassle PC ↔ GBA interface for bi-directional communication. The Philips chip took care of USB-bus interactions (receiving/transmitting packets), while the micro-controller was responsible for reading and creating packets.
I assembled the chips into a device and wired up the communication buses via detailed understanding of the chips data sheets and the USB protocol. The firmware produced directly manipulated this hardware and responded to USB requests from the host device (PC), first implementing device enumeration, and then the Human Interface Device class.
The project was a success, and the finished product does not require drivers for either the PC or the GBA. The PC uses the operating system's built-in HID drivers, while the GBA uses standard serial I/0 (RS232) via its native serial controller.
This project's documentation (including the submitted report and CD) is available here.
I worked in a pair with a peer from my course, and together we assembled the necessary hardware to create a simple 'Pong' game which worked on an oscilloscope in XY mode - using ADC/DACs, address decoders, buffers, latches and variable resistors we created a simple console where rotating the variable resistors would move paddles on the screen, which would bounce a ball back and forth and keep score.
My role in the project included designing the hardware schematic and implementing it, and then watching over my partners shoulder as he coded the game, offering optimizations and corrections while also documenting the project.
PingPong Project Report (518kB)
As part of a solution for an unstable home ADSL-modem I modified an electronic walltimer to use an external source to decide when to switch the mains power on or off, and linked this to my PC. I then wrote a small windows service (i.e. headless system application which appears in the list of services) which pings the router periodically, and cycles the modem's mains power after a certain number of consecutive connectivity failures.
See Wall Timer.
Most of my work experience involves doing freelance work on dynamic websites.
I worked as a full-time website implementer when I was 18, during the summer between finishing secondary school and starting university, and was employed by a cosmetics merchant based in Hong Kong. I was flown to Hong Kong and worked in their main office along side their head of IT for 3 months. I had to deal with non-English speaking staff via a go-between - this required good organisation to ensure I had enough materials to be able to work while the resident translator was unavailable.
While officially I was only responsible for the company's website, I got on well with their head of IT and helped sort out office networking, Unix-based web servers / routers, helped rebuild PCs and even re-carpeted some of the office with him one evening.
From a technical standpoint, my work involved much image editing (done in Photoshop) and interfacing with Macromedia Fireworks and Freehand documents from their publicity team. I was also required to make the websites available in 4 languages (English, French, Chinese-simplified and Chinese-traditional) which required learning about Unicode and UTF-8 standards.
I learnt to automate much of my work through Photoshop's Java-like scripting facility and other tools such as Macromedia Dreamweaver / Flash.
Recent projects include:
I often volunteer my skills to help a local TV station in Paphos, Cyprus — helping with office networking, hardware failures and software difficulties such as video codecs and remote administration. Much of their equipment is less-than-desirable and I find this creates interesting challenges.
2006-07 to present: I am employed by ARM Ltd (Cambridge, UK) as a “Graduate Software Engineer” as part of the graphics-drivers team in the “Media Processing Division”.
I enjoy photography and always carry a digital camera around with me. I enjoying image manipulation and animation (and have a stylus-driven graphics tablet) and enjoy animated films and series. I find animation more compelling as it requires the use of imagination.
I enjoy being outdoors and exploring places on my bicycle. My idea of a good night is to get into a passionate conversation over a good meal in good company.