Zik Saleeba

Mobile: +61 422 395 599
Email:

Zik Saleeba enjoys involvement with advanced technology and designing solutions to difficult problems. He has fifteen years of commercial experience in senior roles in addition to his doctoral qualifications. He is quick to adapt his skills to new areas, is innovative in his thinking and has a great breadth of experience across the entire spectrum of computing applications.

Skills in brief

Roles(Skills matrix below)

Technical architect, Team leader, Consultant, Analyst/Programmer

Languages

C/C++, Java, python, perl, JavaScript, SQL

Operating systems

Linux, Windows

Additional skills

Embedded computing, IP networking, electronic design, compiler design, robotics, UNIX system administration

Career Highlights

StratXX Near Space Technology Department Manager (2009-2010)

  • Head of a new department, responsible for hiring and leading a team of four
  • Architecture and hardware design of a UAV autopilot
  • Architecture and development of software and hardware for a blimp control system
  • Technologies: C / C++ / Eagle PCB CAD

NEC Software Lead / Developer (2003, 2006-2009)

  • Software architect - embedded Linux computer for the "SmartBus" system
  • Satellite video / internet system for remote locations
  • Embedded TCP/IP networking and in-vehicle radio controller
  • Technologies: Linux kernel, C programming.

Avanteos Pty Ltd Technical architect (2003 - 2005)

  • Ongoing technical architecture of a large web-based financial software system
  • Leader of a team of 17 developers and analysts
  • "Go-to" man for technical solutions, designed and co-developed Avanteos' key reporting system
  • Directly assisted the CTO in a wide variety of challenges
  • Technologies: C++ / Java / MSSQL

Looksmart International Lead Developer (1996 - 1998)

  • Architect and developer of this important search engine from its inception
  • Dynamic web search engine with a very high transaction throughput
  • This technology was at the time one of the top web sites in the world and won the 1999 Australian Technology Award.
  • Technologies: C / C++ / Java / Oracle / UNIX

Zikzak Technologies Owner / Lead Developer (1999 - 2003)

  • Internal project: research and development of an advanced new cross-compilation technology
  • Internal project: development of an entertainment product for palmtop computing
  • Consulting under the "Zikzak Technologies" banner to the following organisations:
  • Technologies: C++ / Linux / PalmOS

Interval Research Corporation Consultant (2001 - 2002)

  • Design and implementation of a new streaming video technology
  • Development of the system in a trans-Pacific team environment
  • Technologies: C++ / Linux

Traffion Technologies Consultant (2001)

  • Design and implementation of a new web ad tracking technology (now owned by Red Sheriff)
  • Development in co-operation with Traffion's internal team
  • Technologies: Perl / shell / Linux

Bladen-Gibson Consultant (2000 - 2002)

  • Design and implementation of geo-location and mapping web site carpark.com.au
  • Technologies: Perl / MySQL / Linux

Zoom Systems Developer (1998 - 1999)

  • A secure internet server for electronic vending including an e-commerce system, strong encryption and a web user interface
  • Technologies: Java / Oracle / Windows NT
(Detailed work history below)
Education

Ph.D (Computer Science), Monash University (Awarded 1999)

This was a 100% research thesis with the topic "A Self-Reconfiguring Computer System".

B.Sc.(Hons) (Computer Science), Monash University (Awarded 1990)

Minor thesis topic "Structural Video Compression".

Detailed work history

StratXX Near Space Technology Department Manager (2009-2010)

Started the "Robotics and Embedded Control" department of a new aerospace company in Switzerland. Over a year and a half I expanded the department to five people. Duties were very broad and included managing the department, recruitment, system design and architecture, hardware development and software development.

The department's purpose was to provide control systems to the company for their line of UAVs and blimps, including all facets - hardware, embedded software and desktop software components. I dealt directly with the CEO in gathering requirements and liased closely with other department heads to create tightly integrated systems. We successfuly shipped sophisticated in-house developed blimp control systems and the UAV control system was progressing well when I returned to Australia.

NEC Australia Software Lead / Developer (2006-2009)

RAPID project: Software architect and lead developer of a Linux-based operating system, drivers, support libraries and tools for an embedded computer for the "SmartBus" system. Included Linux kernel and driver development as well as application development plus PIC microcontroller development.

VAN project: Part of a team developing an embedded system to control a set of in-vehicle radios. Development was in a C-like language specialised for the Rabbit embedded platform. One of my tasks was to port a TCP/IP stack to the platform and develop all the associated drivers.

Avanteos Pty Ltd Technical Architect (2003 - 2006)

Started as a developer with Avanteos - a superannuation provider. Over time progressively more senior work was performed until the position of Technical Architect was attained. Later team leadership was added to the responsibilities. The team grew to a size of 17 people.

The greatest achievement in this role was designing a unifying reporting system to replace three old reporting systems. This new system improved maintainability and functionality of the reports significantly. Both development and design roles were involved. This system is core to Avanteos' business.

The position of Technical Architect involved a great deal of mentoring and problem solving as well as design tasks. Presentations on the system and staff training courses were also prepared. Consultation to the business was also frequently provided. Reported directly to the CTO and worked with him on estimates, high-level architectural decisions and many other challenges.

NEC AustraliaDeveloper (2003)

Joined NEC Research Australia on a project to develop a satellite-based TV and internet system for use in remote locations in China. Development was outsourced to India so our role was to provide detailed designs for outsourcing.

This role changed to a development role when a working prototype was needed quickly. This one-man project produced a working satellite TV system based partly on modified open source software (xine).

Zikzak Technologies Owner / Lead Developer (2000 - 2003)

Founded "Zikzak Technologies" in 2000. Initially this was a vehicle for personal consulting activities but the company grew to three people. Business was brisk during the dotcom era but fell off after the crash.

As well as attracting a number of established clients the company provided a vehicle for some serious research. A cross-compilation system designed to convert software from one operating system to another was one such project. Some progress was made in this ambitious goal but the project was not completed. One component of this system - an x86 decompiler - is amongst the best decompilers in the world today.

Dedicated Microsystems Consultant (2002 - 2003)

A security system written in UNIX/C++/Qt required some custom user interface widgets. Several new widgets were developed for the remote security application. A new Perl-based scripting language was also added to the system.

Interval Research Corporation Consultant (2001 - 2002)

Interval Research Corporation was a company founded by Microsoft founder Paul Allen to create avenues for new products through basic research. Zikzak's involvement was in designing and developing a cross-platform streaming video system using Interval's proprietary video codec. The target was an embedded Linux-based set top box.

Most of the development was done from our office in Melbourne with occasional visits to Interval in Silicon Valley.

Traffion Technologies Consultant (2001)

Traffion had recognised a failing in existing ad-revenue tracking systems - the lack of an ability to relate ad clicks to actual sales. Their system used cookies and redirects to track a user's activities through a web site to determine the effectiveness of advertising. Zikzak was called in when their existing system was unable to deal with the large volume of page requests. A totally new architecture boosted their performance by an order of magnitude and gave them additional options for scalability.

After Zikzak's design and prototyping the system was developed in co-operation with Traffion's internal team.

Bladen-Gibson Consultant (2000 - 2002)

A car parking web site using online mapping was developed in co-operation with graphic design studio Deadfish Design. Development was in Perl and MySQL with some sophisticated algorithms being developed for fast geographical search.

A later enhancement added a radio receiver which was able to interpret the protocol used by Melbourne's city parking signs. This permitted realtime parking availability to be displayed on the web site.

Deadfish Design Consultant (2000 - 2001)

A number of small web site related jobs were performed in collaboration with graphic design studio Deadfish Design.

Visual Purple Interactive Consultant (1999 - 2001)

Several web site development projects were done in a variety of systems including Java, JavaScript, Flash, Cold Fusion and Perl. Technical consulting for tender applications was also provided.

One example: Zikzak aided in the development of the Compaq superannuation web site. Development was in Java and ASP, concentrating on interoperability issues and ASP conversion.

Another example: The Crown Casino web site needed JavaScript communications between frames running Macromedia flash. Zikzak provided the JavaScript expertise.

Netspace Online Systems Consultant (2000 - 2002)

Developed an online e-commerce system for the ISP Netspace Online Systems to operate with the CBA credit verification system. This credit server was designed for high reliability and throughput by emulating multiple virtual terminals operating simultaneously. Concurrent operation of batched and interactive transactions were supported without performance degradation for interactive users. All development was in C++ and Solaris x86 UNIX.

A second contract from Netspace involved updating their billing system to handle new tax requirements (GST). They had chosen to replace their system entirely and were aided by Zikzak in developing part of this system in Perl, C, UNIX and Oracle.

Zoom Systems Developer (1998-1999)

Designed and implemented in Java a central host database system to control a wide area network of vending machines. Challenges included electronic commerce (credit card verification) and strong encryption.

LookSmart International Lead Developer (1996-1998)

Designed and implemented from scratch most of the LookSmart search engine and maintained it through many revisions and enhancements. The code serves several million web pages per day from a single Sun server. This performance was achieved using a custom database based on memory mapped files with high locality of data. The technology developed for this system won the 1999 Australian Technology Award

Tennyson Technologies Developer (1996)

Implemented the PPP network protocol in C for embedded use in an ISDN interface unit.

Vipac Engineers and Scientists Developer (1995)

Wrote a script language and hardware interfacing for a PC-based circuit board test rig. C++.

Monash University Department of Earth Science System Administrator(1995)

UNIX system installation and administration of DEC Alpha machines for the Monash University Department of Earth Science.

Leigh Mardon Datacard Pty Ltd Developer (1994)

Duties included writing drivers for a video capture card, image processing, postscript programming, UNIX system setup, Btrieve database application programming and plastic card printer programming.

Monash University Computer Science Department Tutor (1991-1994)

Tutoring and practical courses for the Monash University Computer Science Department. Tutorials, discussion groups and creation of practical courses in subjects including computer architecture, systems analysis and design, digital electronics, foundations of computing, operating system design, digital communications and assembly language programming.

Monash University Computer Science Department Research Assistant (1990)

Creation of an assembler/simulator for teaching purposes, written in C to run in a Macintosh environment. February 1992.

Australian Electronics Services Developer (1988)

Developed a control program and user interface for a PC fax peripheral also being developed by AES.

Australian Electronics Services Developer (1987)

Wrote a commercial-quality video library management system.

Open source development

PicoC C language interpreter

  • Small C interpreter design for embedded robotic applications
  • Released: http://code.google.com/p/picoc/
  • Written in C, multi-platform and portable, automated test suite

DeepC advanced C compiler

  • An improved version of C with modern language features
  • Also includes research into an original "cognitive programming" paradigm
  • Under development: https://github.com/zsaleeba/deepc
  • Written in C++, uses LLVM for code generation

Flying Fox UAV autopilot

SDCC embedded C compiler

Technical skills matrix
Skill Years used Last used
Languages
C / C++ (g++, Visual C, Visual Studio .net, STL, boost, design patterns) 23 Current
Java 4 2005
SQL 5 2009
python 1 2008
perl 1 2009
JavaScript 1 2008
Others - shell, Verilog, Ruby, Haskell, assembly (PIC, x86, 68k, MIPS, 6502, Z80) Various Various
Web programming
HTML / DHTML / AJAX / SOAP / XML / CSS 9 Current
django <1 Current
Operating systems
Linux / UNIX 20 Current
Windows (windows 3.1 though windows 7) 18 Current
Other technologies
Database - MS SQL Server, Oracle, MySQL, PostgreSQL 5 2009
IP networks - TCP/IP, HTTP, PPP, SMTP, NNTP, FTP, SNMP, DNS, DHCP, POP, Samba, IMAP, MIME, socket programming 3 2010
Revision control - Subversion, git, CVS, RCS, PVCS, Visual SourceSafe 15 Current
Embedded processors - PIC, ARM, STM32, AT91, rabbit 4 Current
Embedded dev systems - Keil, Crossworks 2 Current
User interface toolkits - qt, gtk+, MFC 2 2010
3d graphics - OpenGL 1 2010
Compiler tools - lex, yacc, bison, llvm 3 Current
Cryptography - RSA, DES, IDEA, MD5, AES, Blowfish 1 2010
Software modelling - UML, Rational Rose, Rational Suite 3 Current
Electronic design - Eagle PCB CAD 3 Current
Microsoft office - Word, Excel, PowerPoint, Visio, Project 4 Current
Publications

"A Self-Reconfiguring Computer System"
by Zik M. G. Saleeba
PhD thesis, 1998,
Monash University Computer Science

"Public Access Sites in Australia"
by Zik Saleeba
Chapter in "OzInternet" edited by Berny Goodheart and Frank Crawford
Prentice Hall, 1995
ISBN 0 7248 0905 8

"DRAMA: Dynamically reconfigurable abstract machine architecture"
by Michael Saleeba
Technical report 95/238, 1995,
Monash University Computer Science

"Fast prime number generation with reconfigurable logic"
by Michael Saleeba
Technical report 95/239, 1995,
Monash University Computer Science

"A Dynamically Reconfigurable Computer Architecture"
by Michael Saleeba
Published in the Proceedings of ACSC-16, 1993.
Presented at ACSC 16,
The Australasian Computer Science Conference,
Brisbane, Australia, 1993

"A Reconfigurable Logic Array Processor"
by Michael Saleeba
Poster presentation, ISCA 92,
The International Symposium on Computer Architecture
Surfers Paradise, Qld, Australia

"Structural Video Compression"
by Michael Saleeba
Presented at DICTA 91,
Melbourne, Australia, 1991.
Proceedings of DICTA 91

Other achievements

Student Computer Group

In 1991 founded and acted as leader of the Monash University General Access UNIX Group, a group of students interested in setting up a computer for general student use, to be run by students. We acquired a machine for student use which was named yoyo.cc.monash.edu.au. Acted as co-system administrator for a year, and did much work on making the system available to everyone at Monash University, and on improving the system software. Yoyo was a great success, and continues to the present day.

Pioneering Internet Service Provider

Started operating a mini-ISP from home as a hobby in 1992. This system "zikzak.net" was among the first public internet providers in Australia. It's gone through many incarnations over the years but is now operated only for a small group of friends.

Networking FAQ

The "Networking in Australia FAQ" was a list of Frequently Asked Questions on becoming connected to Australian networks which I maintained during the early days of the Australian internet. The FAQ was republished in a number of places including magazines and books and at once stage was distributed with Apple's internet connectivity software.

References
Available on request