September 20, 2010

Software & Design Engineering

My background is in software engineering, and I have undertaken a variety of projects both paid and voluntary. I have spent around six years working in the reconfigurable hardware field, which involves basic hardware design and the hardware/software interface. At the same time I have carried out projects both online and with mobile devices.

  • PhD Thesis Implementation, Imperial College London – Much of the work on my PhD involved constructing tools to test my thesis. This involved two distinct parts: a custom tool for the Valgrind framework, and the main test system running on a Nios II microprocessor with customised floating-point units. [C, C++, Handel-C, VHDL, Eclipse IDE]
  • Design Engineer at Celoxica Ltd - my role at Celoxica (now part of Agility Design Systems) was to expand the company’s main development libraries onto additional platforms, specifically from a partner which the company was increasing links with. This involved writing C-like code to interface directly with fixed hardware, from reconfigurable hardware platforms. Following the completion of this project I was tasked with moving a microprocessor integration library from prototype to release with 3 months, with follow-up work including international travel to trade shows, liaising with partner organisations and writing articles for the trade press. A number of related tools required writing C++ code to implement seamless generation of combined microprocessor/accelerator systems. [Handel-C, C, C++, Nios II, Altera Quartus II, Eclipse IDE]
  • Stacker Control System (Slave Units) for Muller Martini Ltd – development of a Windows 2000-based replacement for a life-expired control system node for grouping stacks of newspapers and magazines, before printing labels for delivery. The system was developed off-line using simulators, as live tests required travel to a newspaper plant, interrupting its operations. On the second live test the system was robust enough to be left in service and completed a print run for a major local newspaper. Nearly a decade later, the system still operates at newspaper plants around the UK. [C++, Borland C++ Builder, TCP/IP, RS-232 Control, Multi-threading]
  • Consultant for ITC Internet – I worked part-time for ITC Internet for a couple of years, working with their web-hosting systems with occasional work on their local business consultancy services. Much of this work was replacing old systems which had formed in an ad-hoc way, with more robust, scalable and integrated systems suitable for continued growth. [Linux, Apache, MySQL, PHP, XML, Perl]