Résumé of Michael Widerkrantz
I'm an independent Unix and network consultant. I might be able for
hire. Please contact me by e-mail.
Keywords: Unix, computer networks, systems programming, system
architecture, computer security, Free and Open Source, workshops,
lectures.
Name: Michael C. Widerkrantz, formerly Cardell.
Location: Malmö, Sweden.
Email: mc at the domain hack.org.
Permits: Swedish citizen. EU passport carrier. Work permit in all
European Union member states.
References: Other contact data and references are available on
request.
Profile
Technical expert and systems programmer with focus on computer
networks and Unix based server applications.
Special Areas
- Technical advice (both pre- and post-sale) on computer networks and
infrastructure, especially regarding systems deploying free, libre
and open source software (FLOSS).
- Design and development of infrastructure servers, network analysis,
management tools and simulation software.
- Design and development of communication protocols, especially
network protocols.
- Porting and custom development of primarily C programs in a
Unix-like environment.
Technologies
Programming Languages
C: Expert. 20 years of very active programming experience in C,
primarily in a Unix environment.
Perl: Experienced.
Python: Experienced.
Bourne shell: Experienced.
Forth: Experienced. Experienced both as a Forth programmer and as a
developer of Forth systems.
Assembler: Intermediate experience with assemblers of at least
these architectures: CRIS, ARM, Alpha, VAX and PDP-11.
Knowledgable of many "little languages", for instance Emacs Lisp,
Make, sed, awk, lex and yacc/bison, among many others.
Operating Systems
Unix: Expert. 17 years of experience as a programmer under
Unix-like operating systems such as FreeBSD, NetBSD,
Linux, Solaris, Ultrix and many others, including some odd
birds, such as Diab's D-NIX and Sequent's DYNIX.
Experienced Unix system administrator, primarily of FreeBSD and
Debian GNU/Linux.
Some kernel competence in FreeBSD and Linux.
Some experience in program development under Plan 9 and VMS.
Databases
Experience primarily as a programmer using Berkeley DB, dbm
derivatives, PostgreSQL, MySQL and Oracle.
Some experience as manager of MySQL and PostgreSQL.
Some APIs and Protocols
The POSIX.1 Systems API, BSD Sockets, raw TCP/IP, IPv6,
Tibco/Rendezvous, X Window System, and many application level
protocols such as NNTP, SMTP and FTP among many others.
Development Tools
17 years experience of the Unix/GNU environment with, for example,
tools such as Emacs, make, GCC (and other Unix C compilers), GDB, GNU
binutils, strace/truss/ktrace, et cetera.
Documentation Tools
LaTeX, troff, pic, tbl and DocBook and similar DTDs.
Version Control Systems
Much experience with CVS (and the predecessor RCS).
Some experience with Subversion and Perforce.
Natural Languages
Native language: Swedish. Fluent in English. Understands and reads
German.
I'm used to writing technical documentation and to prepare and hold
presentations for both technical and non-technical audiences.
Professional Experience
Here are some of the things I have done, in reverse chronological
order. The first bullet is the newest completed assignment. The last
bullet is from 1989. For a more formal CV, contact me by e-mail.
Note that this list is mostly focused on design and development, but I
have also many years of experience as a Unix and TCP/IP network system
administrator and I have been maintaining (and porting) development
tools, administrating infrastructure servers such as mail, DNS, CVS
repositories, automatic builds and bug reporting tools in many
roles. I have also administered both large local networks and WAN
links.
Furthermore, I have often given technical advice on free and open
source software, infrastructure servers, development tools, computer
networks and architecture to many large companies, among them the
Swedish Post, Scania, Telelogic and other companies.
- Wrote early drafts on a DNS and DNSSEC management architecture with
a whole-system view.
- Helped fix a Firefox bug (C++) where TCP connections for MJPEG
streams didn't close after use.
- Helped bring IPv6 to a company, both for servers and the office
network. My own network has been on IPv6 as far back as 2002 with
6to4 tunneling, later other tunnel techniques and native IPv6
beginning in summer of 2008.
- Developed a client-side implementation in C of the RDNSS option in
IPv6 Router Advertisments (RFC 5006). See
http://hack.org/mc/hacks/radns/.
- Developed a middle layer between a Linux device driver and
application for a new generation video chip.
- Did some maintainance on GDB and porting and development of JTAG
debugging tools for the CRIS and ARM architectures using C under
Linux.
- Helped with chip verification using C of new generation
System-on-Chip on embedded Linux.
- Designed and developed an RTSP/RTP proxy in C designed to run on
Linux servers.
- Designed and developed a network analysis tool in C for MJPEG pushed
video content. The tool sniffed the network and showed a list of
existing MJPEG streams passing by on the network. If the user chose
one, they could see the video stream.
- Helped design, plan and develop software for a huge distributed
system scalable to hundreds of thousands of camera nodes, reachable
through a web portal. My work was mostly in the systems area, not
the web programming.
- Helped develop several control daemons in C for a VPN appliance with
hardware red/black separation and hardware cryptography known as
SecuriVPN, later used by the Swedish Armed Forces as
Krypteringsapparat 920 (or Kryapp 920).
- Participated in the design and development of the network behaviour
of the Kryapp 920.
- Designed and developed of tools for emulation in C of the VPN
appliance Kryapp 920.
- Designed and developed network tools, including network protocols,
for cryptographic verification and network analysis in C and Perl.
- Installed and configured an emulation and test network for the
development of Kryapp 920. Development of a series of automatic
network test programs for the testbed in C, Perl and Bourne shell.
- Developed access control lists on a newsgroup level in C for the INN
Usenet News server with Berkeley DB. Wrote a Perl module and
associated Perl programs for administration. Configured and
installed the patched News server, an MTA, the configuration tools
and a web-based News client under FreeBSD.
- Did a pre-study of an implementation of the Intrusion Detection
Exchange Protocol. Helped start an implementation of the IDXP
protocol.
- Developed a proof of concept for a distributed filesystem service in
an ISP setting for thousands of simultaneous users with AFS and
Samba.
- Helped develop and maintain DHCP/BGP/DNS software in Point of
Presence nodes developed from scratch for use in an ISP setting.
- Helped integrate ISP provisioning services using Tibco's
TIB/Rendezvous by designing and developing a TIB/Rendezvous to LDAP
gateway in C.
- Developed an IP spoofing syslog server with filtering support in C
for Solaris for use with Cisco Infocenter installations.
- Did a a state of the art investigation on e-commerce systems,
including a proof of concept development of a new distributed
e-commerce system in Python. I also worked on development of seller
side API libraries in C.
- Designed and developed simulation tools in C for use under FreeBSD,
Linux and Solaris for research on Quality of Service in computer
networks.
- For a robotics company I participated in writing a device driver and
building a complete customised Linux distribution with fully
automatic installations programs in C.
- Developed application proxies in C and Linux kernel customisations
for the Fuego Firewall (now developed by Ingate Systems AB).
- Helped in designing and developing a complex web-based time
reporting system in Python.
- Developed a screen scraper in Perl to interface with an aging X-ray
booking system running on a Diab DS90 under D-NIX.
- Did a pre-study on the feasibility of a PC-based MRI watching
station, interfacing with General Electric and Siemens MRI systems.
- Developed a proxy in C under HP-UX to a national address database to
lookup postal addresses for hospital patients.
- Participated in developing a carrier scale voice mailbox platform
with support for thousands of simultaneous users, at the time known
as the OpenVoice system.
Voice messages were stored on a specialized filesystem developed
in-house, but the operating system was plain AIX on off the shelf
Bull DPX/20 hardware (at the time this was IBM RS/6000 systems in
disguise). The only non-standard hardware involved was the trunk
interface. All other functionality was in the software developed by
us; a unique solution at the time.
- Developed tools in C for data extraction and aggregation for
statistical purposes from a brand of operator telephone switches.
- Built, and developed tools to be able to create, a professionally
used firewall from scratch from a little used Diab DS-90/3x with
D-NIX.
- Wrote a locked-down VT100 terminal emulator for use in a school
library to access the city library through an automatic dial-up
connection using Turbo Pascal under MS-DOS.
Formal Education
Linköping University, 1991-09 to 1995-02.
Last updated: <2008-11-26 13:04:38 MET>