Curriculum Vitae/Resume - Theo P. Zourzouvillys

Personal Details

Name: Theo Peter Zourzouvillys Address: [email me for full CV]
DoB: 10th February 1983
Telephone: (07795) 562 715
URL: http://crazygreek.co.uk
E-Mail: theo@crazygreek.co.uk    

Skills

Note: Unless otherwise mentioned, all of the skills below have been used either in a commercial product, or released as open source.

Programming
  • Extensive knowledge of C++, C, C#, PHP5, Javascript, & Perl
  • Good knowledge of shell scripting (sh, ash and bash), and 4GL (specifically Accell/SQL)
  • Very basic knowledge of ASM (x86), VB, Java, and slighty better, Python
  • Extensive knowledge of programming with boost (+asio), sockets, NBIO, POSIX threads, Berkeley DB, GNU libc, GCC, libxml, QT, glib, gnome, KDE, etc etc.
Remote Access + Telecommunications
  • Developed DIAMETER + RADIUS client & server libraries (C++)
  • Familiar with 3GPP's IMS.
  • In-depth knowlege of Q.931, T.30, and T.4 (at programming level)
  • ATM Broadband Aggregation - ADSL, SDSL - PPPoA, PPPoE and RFC1483
  • IPStream (both with BT HG and L2TP), and Datastream (CAL and ISH)
  • Cisco VPDN, L2TP and RADIUS
  • Asterisk PBX - Author of SCCP (Skinny/Call Manager) and Bluetooth channel driver and numerous patches
  • Expert at dealing with BT Wholesale provisions, sales and faults!
  • Authored state machine for T.30 and T.4 interface to TIFF library (for G3FE applications)
Networking
  • Very good knowledge low level of TCP/IP (IPv4 and IPv6), general routing topics and Networking Hardware.
  • Strong BGP, OSPF and dynamic routing knowledge - built and maintained AS25061 for 3 years, and maintained AS21396 for another 3.
  • Extensive knowledge of load balancing theory both networking and software (application) sides, fault tolerance and fail over, content replication (static and dynamic), IP redundancy, ``smart caching``, SSL session load balancing and other load balancing techniques.
  • Extensive packet filtering knowledge and other IP level security techniques.
  • Excellent knowledge of the following protocols, not any paticular implementation: HTTP, NNTP, SMTP, IMAP, POP3, LDAP, FTP, NTP, SNMP, PXE, TFTP, ARP, PPP, DHCP, L2TP, GRE, SIP, RTP, RTSP, RTCP, SCTP, XMPP, TLS.
  • Very good knowledge of Netflow (protocol and flow-tools). I have worked on a Linux kernel module for Netflow.
  • I know Cisco IOS very well - 12.1, 12.2, and 12.3 in live environments. I have also written a lot of auto management and provisioning tools that use IOS.
  • Excellent knowledge of Zebra and Quagga - Have written SNMP extensions to Zebra. Used libospf from Quagga in work project.
  • Good operating knowledge of (practical and theoretical) Ethernet, ATM, Wireless (802.11 B+G, + 5GHz w/WORP).
VoIP: SIP/RTP/SDP/MEGACO
  • See 'Relevant Recent Projects'
  • Developed complete RFC3261, 3262, 3263, and 3264 TC + TU stack in C++; used for both B2BUA, Registrar, Presencing Agent, Proxy, and Soft client, handling ~2.8 million BHCA's per node.
  • Developed SDP parser, MEGACO stack (for media server/transcoder), and RTP processing/conferencing library.
  • Developed T.38 (including T.30 state machine) SIP client to provide store and forward functionallity to SIP platform. Included UDPTL, TCP, and RTP transports, and implemented own HDLC processing layer.
  • Developed SIP Client (C++) for QT4, wxWindows, ncurses, and Web (Using "AJAX")
  • Developed DIAMETER + RADIUS client & server libraries (C++)
Web
  • HTML, CSS, XHTML, major advocate of: XML, XSLT, XPath, XInclude, XLink and XForms. Also used FOP extensively (although not really web related!)
  • Very good knowledge of mod_perl and PHP5, and Javascript (including SpiderMonkey for embedding JS in C/C++ applications)
  • Developed own C++ web MVC framework, with FastCGI, CGI, and Apache module interfaces to the server
Systems Administration
  • Managed hundreds of Debian and Gentoo Linux servers, including automated rollout and management
  • Apache (1.3 and 2.0), lighttpd, rsync, vsftpd, ProFTPd, Jabberd, Exim, Courier POP3 and IMAP, Cyrus, OpenLDAP, djbdns, BIND, MySQL, PostgreSQL and lots more
  • Knowledge of most UNIX daemons as well as their underlying protocols
  • I have written (i.e know the actual protocol well) servers for the following protocols: HTTP, SMTP, POP3, IMAP, SIP, TFTP, SCCP, XMPP (Jabber), RADIUS, DNS, and DHCP
  • Relativly familiar with Solaris 10.
Databases
  • Very good knowlege of using and managing MySQL, PostgreSQL, and Berekeley DB (incl C, C++, and Perl API)
  • Unify (not to well any more, has been a long time)
  • Very good knowledge of SQL99
Bluetooth
  • Written a number of bluetooth v1.1 and v1.2 applications
  • Low layer L2CAP, RFCOMM, and SCO kernel programming
  • Complete knowlege of HandsFree, Headset, CTP, A2DP, and HID profiles
Miscellaneous
  • Know RIPE policies very well.
  • Cisco 79xx phones to multi-site offices using uncontended ADSL as backhaul to PSTN interconnects.
  • TELOPT's and telnet protocol.
  • Unit Testing
  • RPSL + RIPE DB

Relevant Work Experience

  • June 2005 - Current - Chief Technical Officer at VoIP.co.uk
  • March 2005 - June 2005 - Pan European Systems Architect at Claranet
  • May 2004 - March 2005 - Systems Engineer at Adaptive Linux Solutions.
  • March 2001 - April 2004 - Operations Manager/Technical director. Worked full time for Associated Networks (UK) Limited, an ISP and the UK supplier for Cisco Load Balancing Solutions. Performed security audits, load balancing and fault tolerance solutions, advanced user management systems, web traffic auditing, routing and hosting management, ADSL (IPStream and Datastream) managed many Linux boxes, designed, project-managed and worked on technical rollouts of services and products..
  • August 2000 - March 2001 - Propertyfinder.co.uk - Lead Systems Administrator and Consultant for Associated Networks LTD. Designed, built, developed, and administered server cluster for hosting division. Included 16 high spec x86 servers running Linux and Windows 2000 with customised back end authentication and management system I wrote. Also designed and built XML search engine for main site.
  • August 1999 - August 2000 - Notnet Limited - Research and Development. Designed and managed development entire hosting and dial-up system capable of running over 100,000 virtual hosts with 32,000 users. Also wrote initial customer management system for them.

Relevant Recent Projects

  • Synergy Software - I am currently design + development lead on a carrier grade SIP (VoIP) softswitch platform (that if i may say so kicks the arse over any other vendors current solutions.) The platform is scalable to virtualy any size, easily handling 2.5 million Busy Hour Call Attempts (including routing and rating) per node pair, and designed to be deployed over multiple sites around the world with potentially high latency between nodes, and utilises anycast for locating servers for end users. The platform is also capable of a large number of media processing tasks such as conferencing, transcoding, tone detection and generation, as well as legal intercept, call recording, and other media manipulation. It excels at providing both class 4 and 5 features, and is built entirly on IETF standards - takign a lot from 3GPP's IMS design (using Diameter, HSS/HLS concepts, etc). also includes some impressive FAX features.
  • ACNS - Modular dynamic object broker written in C and using berkelyDB with XFS/NTFS style ACL's and security contexts on objects designed as a half-way point between an RDBMS and LDAP for use in applications that use hierarchy based objects and require ACID transactions, load balancing, and replication.
  • Debian Auto-installer - Working in an environment requiring large numbers of Linux servers to be load balanced for 100% uptime, using a pool of spare servers, PXE booting, and FAI, I built a system that will automatically format, install, and configure servers into a pool of servers based upon load of services on the network. For example, if web servers were particularly busy for a short period of time, one of the spare servers would configure itself as an extra web server and be added into the web-server pool automatically until load died down.
  • mod_shapvh - Apache 1.3 module for allowing vhosts to be stored in SQL so that large numbers of vhosts on a set of machines is (a) easy to configure automatically, and (b) less memory usage caused by very large httpd.conf config files. A number of large web hosting companies use this module.
  • chan_sccp - SCCP (Cisco's Call Manager) module for the open-source PBX, asterisk.
  • chan_bluetooth - Bluetooth support for the open-source PBX, asterisk.
  • ISP 'control panel' - Interface for an ISP to offer to their end users and resellers to manage all aspects of their accounts, including viewing invoices, registering, modifying and transfering domains, setting up vhosts, toggling power to APC power bars, etc.
  • Various RIPE/routing management and Cisco tools - I have written a number of systems to help the ease administrative burden on the network management team of an autonomous system, including a peering matrix, inetnum allocation graph based on live RIR data, BGP session viewer, aut-num object 'fluff/lint' checker, and a variety of command line tools including Cisco config version control and aut-num generator
  • Apache SQL Logging module - A system that lets apache log to an SQL database for ease of statistic auditing and collection.
  • Perl IPTables module - A perl module written using perlXS and C that interfaces with libiptc and Netfilter. Can be used to administer firewall and rules via scripts and web interfaces.
  • Global Load Balancing - Have recently been testing new Load balancing and anti-DoS techniques to multiplex and globally load balance web sites including SSL sessions across servers scattered around the world using a number of different methods, including anycast, hardware and software load balancers.
  • TR3 - Is a modular C based "chat server" (talker) that allows customers to log on and talk interactively via a telnet session.
  • Firewall with teeth - 2 month R&D project to design and developed a firewall appliance, which used IDS, packet mangling and filtering and Linux advanced routing to create a "firewall with teeth". This was for a busy hosting environment.
  • Other - Projects include writing a two support ticketing systems, bug and fault management system, POP3 and IMAP servers. HTTP server for static content (CSS + Images), TFTP server that generates dynamic content (for configuration files), basic SMTP server, and numerous other internet services. Mostly in C or C++, a few have been a C# and perl though. Also configuring, modifying/customising and installing RADIUS, LDAP, and installing and configuring many Debian servers. Wrote a web front-end for CVS (SVN too in 2006) management, performed a security audit on certain parts of samba's core code, and implemented TLS for an IMAP server. I also have worked on a lot of other projects not listed here (i wrote most of this pre 2003, it's now 2006).

Downfalls

Everyone has their bad points, but most people don't like to mention them on their CV's. My main ones are:

  • I don't like mornings. At all.
  • I don't know MS Windows, or any of Microsoft's products too well. Saying that, i'm fairly familiar with Win32 API's (C), although do not like MSVS - prefer using CL.EXE and LINK.EXE from a shell.
  • I require a Linux desktop to work, and am very picky regarding keyboard, mouse, VDU and chair.
  • Very strong opinions - a good thing in my view, however some people don't like it
  • Bad time management
  • Loud. People often tell me to be a bit/lot quieter.
  • I am not at all artistic. I'm tone deaf, can't draw, or design things.
  • Strange sense of humour. A few of people just don't get my humour, some even get offended by it.
  • So honest I put my downfalls on my CV.

References

Professional: Ian P. Christian
[email me for full CV]
Personal: Dan Bell
[email me for full CV]

Before contacting me

Appologies for the rather arrogant requirements, but i'm fed up with having Are you looking for a new job maintaining windows machines in france? style emails sent to me.

  • I will not be interested in any job offers that are not 6 figure GBP p/a
  • I live in Oxfordshire (UK). I won't commute more than 30 mins. I might move (anywhere, really) for the right job.
  • I design and develop VoIP (specifically, SIP) platforms and software (i.e, SIP/Media protocol and application stacks - the things proxies, B2BUA's, SBC's, IP phones, ATAs, media servers, etc use) for a living, and really enjoy it. Although I can also do web, systems, and other stuff, that's not what i enjoy being paid for, so please, only contact me about VoIP roles at a architectural level.