|
Title: Resume for Carsten Haitzler |
Date:
|
|
URL: http://www.rasterman.com/resume.html |
Time:
|
|
Resume |
|
Name: |
Carsten Haitzler |
|
|
Date of Birth: |
29th November 1975 |
|
|
Current Address: |
1-29-10-1001
Sasazuka, Shibuya-ku |
|
|
Contact Details: |
Ph: |
+81 90 9808 6937 |
|
Email: |
||
|
WWW: |
http://www.rasterman.com/ |
|
Education:
High School:
Kings
School, Parramatta, Sydney from years 4-12.
Completed HSC - TER:
97.5 / 100
University Education:
Have attended the University of New South Wales, Sydney (UNSW). Began with a Computer Engineering degree, but switched to Computer Science after discovering that software was really more my field of interest.
Degree:
1997: Bachelor of Science (Computer Science) UNSW, Sydney, Australia
Extra Curricular achievements:
Represented UNSW in the Australian Computing Society Programming Competition.
Tutored COMP1021 (Computing 1B) Students at UNSW.
Activities on Campus
Was CASOC representative for Compsoc and SlarkenSoc, and was involved in running CyberSoc and UNIXSoc. Also helped organise campus Linux "Parties" (network fests).
Technical Summary:
Hardware Knowledge:
X86 PC Hardware
Networking
PDA Hardware (ARM based - Sharp Zaurus, Compaq Ipaq, mobile phones)
X86 Embedded hardware
Operating Systems:
Linux (x86,ARM,PPC,alpha,SPARC)
Solaris (x86 and SPARC)
Ultrix
Digital Unix
IRIX
DomainOS
Windows
Windows CE
Programming Languages:
C [ expert proficiency ] ( C++ knowledge but not used much )
Shell Scripting [excellent knowledge] (sh/csh)
HTML/CGI
PHP
Java
Perl
m68k Assembly
x86 assembly (mmx mainly)
ARM assembly
Graphics:
X-Windows (From window managers to clients, Raw Xlib)
3D Graphics (Ray tracing, real time 3D graphics)
Image loading, remapping, dithering and display
Writing widget sets
3D Modelling, rendering and animation
Computer paint programs
OpenGL
GTK+
Graphics subsystems
Writing Windowing Systems
Writing Canvas abstractions
Animation
Image Processing
General:
Am respected member of the Linux Opensource community
Named in Linux Magazine's (http://www.linux-mag.com) Who's Who Top 50 Developers to watch August 1999 issue.
Have managed large scale open source projects with developers spread across the world.
Know C backwards and regularly write API layers for application development in C.
Interests:
GUI:
I am very interested in improving the standards of Graphical User Interfaces, most especially on the UNIX platform, that has a powerful core, but lacks any decent interface to it. In this quest I have modified the code for RXVT to support pixmap backgrounds. This has now become the standard terminal emulator for many UNIX users. This project is now being carried on under the new name of Eterm, and a new group of developers. This sparked much of the theme development under UNIX/W-Windows.
As a continuation of this I have released Development Versions of Enlightenment (http://www.enlightenment.org/) , a Window Manager for X-Windows that re-defines the way Window Management is defined. I have written this Window Manager from the ground up, not basing it like traditionally has been done, on TWM or FVWM. In order to aid me in this goal I also wrote Imlib and now Imlib2, a shared library distributed with Enlightenment that handles image loading, scaling and rendering to any bit depth and palette as fast as possible.
Graphics:
I have written many programs directly and indirectly for my employers. Amongst these some are: Imlib2 (second generation image loading, saving, rendering and manipulation library which is faster than any of its competition and easy to use), Evas (hardware accelerated canvas abstraction on an object level with OpenGL back ends for display rendering, software accelerated MMX back ends (Imlib2), plain windowing system rendering and more), Edb (database abstraction library for data and configuration loading, saving and management with optimisations), EFM (graphical file manager - similar to Mac Finder but with much nicer graphics and more power), Enlightenment, Eterm, Ebits (macro image composition and geometry constraint engine library), Etcher (GUI tool to edit Ebits files), Ecore (event abstraction layer library with time-out wrappers and convenience layers to speed up development), Electric Eyes (image viewer), patches in X-Windows X-Server, Theme system for Widget Set (GTK+), Animation codec's and players (Eanim - never released), Network Audio mixing daemon (Esound - started from sounD) and more. Have written real-time 3D graphics engines (triangle-based, texture-mapped, with lighting) to run on low-level systems at high speed. Have dealt with most things graphical at some point, some in more detail than others.
Networking & Administration:
I administer several machine as simply a part of software development and ensure they all run smoothly and can synchronise their settings and other information over a WAN. I write many shell scripts & C programs to help with this - as well as know how to configure all the services on my systems (dhcp, dns, apache, users etc.)
Other:
I speak German fluently, and learn French also. I have both German and Australian citizenships. I enjoy speaking and learning foreign languages, as well as travel, and novel experiences. Have learnt Japanese too but am at basic conversation level.
Work Experience:
Companies worked for listed in reverse chronological order:
(Full Time)
Morgan Stanley Japan Securities UNIX Systems Architect – June 2006 – now (Tokyo, Japan)
Responsible for ensuring the UNIX operations team and application teams work together in the smooth running of the trading systems. Identifying problems and rectifying them, organising training, network security, statistics monitoring.
VA Linux Systems Japan Engineer, NAP Team - January 2004 – June 2006 (Tokyo, Japan)
Responsabilities includde OpenLDAP code maintenance, patching, custom modification porting between versions and support/design. Also worked on custom Debian Linux distribution team making tools to help build custom Debian Linux install CD's easier and faster, maintaining packages, modifying the installer and testing and debugging.
Fluffy Spider Technologies Team Lead/Project Manager - October 2001 – December 2003 (Sydney, Australia)
Started as contractor, now doing project management, being team leader. Fluffy Spider Technologies (FST) works on contract software development. Primary focus was embedded device OS & User Interface design, implementation and improvement. Projects worked on have included a Linux based PDA OS environment. This involved producing several prototypes, finally developing a custom window manager, task manager and application manager and launching system, modifying widget sets (GTK+) to customise the look and feel and interact with a touch-screen more effectively. Another PDA project involved a PDA project built on Windows CE, replacing the windows shell, building the OS and porting software to Windows CE. Another project involved producing on screen display software for a set-top box/PVR hardware platform for a client, building the software from the frame-buffer level up. Responsibilities included project planning, work assignment, software design, project analysis and status tracking and regular meetings.
VA Linux Systems Senior Software Engineer – June 1999 – October 2001 (Silicon Valley, California, USA)
Senior Software Engineer in VA Linux Systems Software Engineering Department. Have worked on assorted projects for open source, Including cluster management software (VACM), server management software (Florence), Xfree86, Enlightenment, OpenGL, and more. Have been core member of Engineering there during a period of massive growth where the company went from 50 to 600 employees. Significant experience when combined with Red Hat, of start-ups, building businesses, business models, engineering dynamics during growth etc.
Red Hat Software Software Engineer – December 1997 – May 1999 (Raleigh, North Carolina, USA)
Core developer - in charge of designing, implementing and supporting several programming projects (all graphics related). Also have to keep up with environment and development tools that change on an hourly basis, track and fix bugs in other peoples programs and libraries that are needed for development, CORBA, Xlib, GTK+, and many other libraries, develop new apps and new solutions, administer a small network, handle maintenance and creation of web pages.
(Part-time)
Softway 7 months (Chippendale - Sydney)
Working as Cadet Software Engineer, on CGI, Web, Networking and Firewalls.
University of New South Wales 6 months (Kensington - Sydney)
Worked as tutor for Computing 1B, looking after a class of 20 students, marking assignments, doing consultations, supervising written tests and lab sessions.
TA Australasia 12 months (Concord - Sydney)
Worked as GUI designer, RIPCL Programmer for Air-conditioning and Building Control Systems.
Dick Smith Electronics 12 months (Parramatta - Sydney)
Worked as Salesman, specialising in computer sales, support and Electronic components, kits, and other technical devices.
General Experience:
I have been heavily using UNIX (Solaris, ULTRIX, IRIX and Linux) since early 1994 in capacities from a user to an administrator to developer. I have become familiar with most UNIX tools and facilities, and have used them to their fullest. Before 1994 I did hardware level programming for other systems (Amiga). I have set up several networks, administered them, and developed many applications, primarily for X-Windows. I am intimately familiar with X, Xlib and related topics, am highly proficient in C and almost any areas concerning graphics. I have been programming in various languages for over 17 years.
Have given numerous speeches about X-Windows, and the Enlightenment project at both NOVALUG in Northern Virginia and ALS (Atlanta Linux Showcase). Have spoken at LinuxWorld, San Jose twice, Linuxworld New York twice, The Bazaar, New York, NYSSA speech, New York, IT2000, Sydney, CALU Melbourne, CALU Sydney, Cal Poly University California, Santa Cruz LUG speech, LinuxTag, Stuttgart, UK Linux Developers conference London, Ottawa Linux Symposium Speech, and many others.
Projects worked on:
Enlightenment
A UNIX window manager for X-Windows. Am lead programmer, designer, team leader, author and still run this project in my spare time. A team of about 10-15 people work on this, distributed across the world. This program is written in C and consists of over 100,000 lines of original code. Development continues and the new code base is about 200,000 lines of new code.
Evas
A 2D drawing canvas library. Written in C. Handles graphics display on a higher level object basis. Does anti-aliasing and alpha blending image compositing. Highly optimised for display. Has several rendering back ends written for it (output to display, to memory, to disk, via OpenGL). Am lead developer and designer.
Imlib2
Image loading, saving, and manipulation library. It can composite images, scale and rotate them, apply filters, has a loadable modular loader/saver architecture. Written in C and x86 assembly. Handles anti-aliased truetype font rendering too. Also renders anti-aliased lines, polygons and other primitives. Can load multiple image formats and save them out too. Am lead developer and designer.
Imlib
Graphics loading, caching, rendering library designed to work with X11 generating high quality graphics quickly from source image files or data. Written in C.
Edb
Berkley database abstraction library that wraps and encapsulates these database files and makes accessing them on multiple architectures and platforms a breeze with 0 code changes. I also optimises access by caching database connections. Am lead developer and designer. Written in C.
Ecore
X11 event, file descriptor, Sys V IPC and UNIX signal abstraction and event engine library that unifies all these into 1 neat event loop. It also optimises X11 access by avoiding round trips to the server and caching state locally. Am lead developer and designer. Written in C.
Eet
A compact data encoding/decoding library as well as saving and loading engine. Very small and fast. Written in C.
Emotion
A video object library written in C allowing media streams (MPEG1/2, AVI, WMV etc. etc.) to become part of a canvas and be scaled, alpha blended on top of each other to allow of dynamic user interfaces using videos either as components or subject matter in multiple places at multiple sizes etc.
Epeg
A small extremely fast JPEG thumbailer library, that can thumbnail dozens of JPEG's per second bu taking shortcuts in the loading and thus scaling process. Allows application programmers to use it very simply to generate JPEG thumbnails. Written in C
Edje
A complex theme library written in C that virtualises and abstracts GUI layout and visual appearance from the programmer, allowing the artist to define animation, event reaction, look, feel, spacing, layout and much more. Allows for scripting (based on Embryo), simply event reaction, tweening and more. Includes compiler and de-compiler to generate compact theme files.
Embryo
This is a complete virtual machine and compiler written in C (much like the Java JVM or C#/.NET virtual machine and compiler) based on the Small language implementation. This is a small shared library that is designed to be extremely small and compact as well as portable. The VM runs about double the speed of Java's JVM.
VACM
Cluster management software & system, Wrote user interface and works on client-side libraries and modular code-base. Helped with design phase of version 3.0 before project was put on hold. Member of 5 person tam working on it at VA Linux. Written in C.
Tex
3D texture-mapping software-based graphics engine. Runs under X11 at high frame rate. Does alpha compositing and basic 3D transforms. Personal project, never released outside of a small group of people. Written in C. No hardware acceleration - all software.
EFM
GUI file manager (similar to mac-os finder, windows explorer etc.). Handles drag and drop, stunning graphics, command-line type buffer, highly customisable behavior. The project got to usable stages (debugging never finished) before canned. Am lead programmer and designer. Written in C.
Entice
Image viewer written in C. Views images and creates thumbnails for slide shows etc. Allows zooming, panning.
Electric Eyes
Image viewer written in GTK+ and Imlib1.x. Am lead programmer and designer.
Eanim
Animation player, encoder system to play high resolution animation files very fast on slow machines. Uses X11 and written in C. Personal project.
Esound
Network aware sound daemon. Original designer and developer - handed project off after initial design and implementation/feasibility test.
Florence
Apache web server configuration GUI written in perl and rutuxmagazine.com/ns over http. Project canned in last stages of development. Member of 3 person team working on it at VA Linux.
Other
I have worked on many other projects ranging from video players or video player GUI controls, web pads, video codecs etc. a lot of which are under NDA.
Other miscellaneous projects
Graphical boot daemon - used direct frame buffer access.
Gui tool to edit macro graphical object files written in C and GTK+
Gui to control and edit LVS (Linux virtual Server) set-up (LVS is the project for doing high availability web serving and web farms on Linux).
Graphical eye-candy programs such as Xflame and Xripple.
Gui to configure Xfree86 server configuration
References:
Tony
Guntharp: Senior Software Engineer, VA Linux Systems (my team leader
& manager)
San Francisco, California, USA
Ph: +1 408 621
7069
fusion94@fusion94.org
Michael
Maher: Software Engineer & Consultant
Chapel Hill, North
Carolina, USA
mike@linux-workshop.com
Jens
Owen: XFree86 Developer, former Manager, former Precision Insight
manager,
Steamboat, Colorado, USA
jens@jelo.com
Martin
Nightingale, Managing Director, VA Linux Systems Australia PTY.
LTD.
Melbourne, VIC, Australia
Ph: +61 3 9557
0042
mnightingale@valinux.com
Robi
Karp, Managing Director, Fluffy Spider Technologies PTY LTD.
Suite
87, 330 Wattle Street.
Ultimo, NSW, 2007
Sydney Australia.
Ph:
+61 2 9281 9055
robi@fluffyspider.com.au
University Projects:
Graphics:
3 Projects, all in Java. The first was an Imagemap Java applet, the second a Java application for Imagemap Editing, and the third was a 3D Graphics Engine in Java that did reflection, ripples and light-sourcing in real time.
Networks:
Client-Server BSD Sockets TCP/IP programming in C. Had to create stable client-server communication and recovery programs in a simulated unstable network.
Artificial Intelligence:
Prolog Robot Guidance system to guide a nigh-blind robot around a random maze of walls to piece together bars in a star formation at a beacon.
Operating Systems:
2 Projects in C. One was a write-back disk cache, and the other a robust queue/stack server.
Software Engineering:
Design and Specification using Data Flow Diagrams and Z-Notation of a container shipping system.
Page