Dr. William Bland
d o c t o r b i l l @ g m a i l . c o m
|2003 - Present||
Macrovision, Silicon Valley, California
When the first startup company I worked for (NetPD, see below) was sold to Macrovision, I was invited to join the old team at their new location in California. We were given the task of architecting from scratch Macrovision's new "Hawkeye" product line, which continues to be successful today.
Since joining Macrovision, I've been responsible for a wide variety of work including:
Red-M, a wireless networking company.
When I started working as a Development Engineer at Red-M, the company was in the process of splitting up a large C++ application into a core application and several plug-in modules. Both the core and the modules were written in C++. My primary task was to write many of the C++ plug-ins. I also wrote a bridge between C++ and Scheme that allowed plug-ins to be written in Scheme instead of C++. Writing plug-ins in Scheme decreased the amount of code required and led to significantly faster development times because the plug-in code could be debugged and altered while it was running.
RedM ran into severe financial difficulties quite quickly after I joined them, and I was let go along with almost the entire engineering staff in November 2002.
NetPD Ltd, an internet anti-piracy company.
As the second employee at the London-based startup NetPD, I was responsible for anything and everything from Java, C and C++ programming to UNIX administration and even reverse engineering of network protocols.
During my employment at NetPD I was personally responsible for designing and implementing a system for automated scriptable control of a cluster of PCs running Microsoft Windows by one PC running Linux. The system was implemented in Java, with an applet front-end running in a web browser and communicating with the back-end (another Java process) over tcp/ip. Control of the Windows PCs by the Linux PC was achieved using the VNC (Virtual Network Computer) protocol. I had to write my own VNC implementation since there was no open source VNC library for Java at this point.
I also co-designed and co-wrote a program that matched a given piece of audio with a large database of music recordings. The matching was sufficiently robust that it could cope with the distortions introduced by mp3 encoders, loudspeakers and microphones. The algorithm we designed to do this is currently the subject of a world-wide patent application.
|1997 - 2001||
Department of Pure Mathematics, Nottingham University.My time at Nottingham included:
Summer placements at BT labs.
Writing HTML web pages and CGI programs that accessed Oracle databases in C++.
I bought my first computer, a ZX81, when I was nine years old, and have been programming various computers ever since then.
My experience includes:
As a computer scientist I am almost entirely self-taught. I have a very proactive attitude to my own
education and continue to strive to keep up with the latest developments in all areas of computing.
My formal education is in Mathematics:
|Publications, Patents and Conferences|
Publications and Patents:
|I enjoy photography, hiking and canoeing among other things. For more details see my website: http://www.abstractnonsense.com/|