|
|
|
Personae
Content
I started to work as programmer 1984 at what then was COSAB, which
later became EXOMATIC AB. We were programming in BASIC, C, assembly
(Zilog, 80x86, 8051). Operating systems were CP/M, CP/M-86, DOS and ABC
(a swedish computer, manufactured by Luxor, constructed by DIAB). I was
mainly responsible for the PC-part but took also part in the development
of the internals of the logs. Some of the projects that did was (among
others); EXOdev (an programming ide), communication drivers, some TSR,
EXOoperator - a GUI for managing and controlling processes. I was also
on the field programming this loggers (IVT Tranås, Tidningshuset
Hisingsbacka, Falköpingsbostäder).
1988 I left EXOMATIC and joined ProVeA in Wexijo and become their
"fix-it!" beside working as a programmer. They was active in sewer
and plumbing, mostly targeting parishes. Their product was mostly
written in Turbo Pascal and assembly, targeting DOS. Autograf was a
generic database manager for handling huge amount of data (31
loggers, sampling rate 10sec, running 24/7 for five+ years). VeACAD
- construction and maintainance of sewers (we were expanding the
fields to also include electric lines, gas and pipe-lines).
These program was first to use a CUA and then later be moved to
Windows. As there were several loggers and they had a lot in common
a object oriented approach seemed natural. Due to some very high
hardware demands several drivers for graphic cards and
plotters/printers had to be constructed.
During 1996-1997 I also took part in the ISO-9001 certification
program.
Since 1998 I been with ForestMan AB where I ... to be continued
I have a deep knowledge of several programming languages and
knows more than the average about many other languages. As I've been
around from IBM-PC I have a very good knowledge of the innards of
the personal computer. As I upon several times have had to extend
old programs I have learned the hard way not only to write efficient
code but also maintainable. I do have to confess that I'm mostly a
software guy. I know how to solder but...
I have worked in all levels on software projects, from the little
guy up to project lead (I prefer technical lead).
|
|
The lists below are not in any particular order (unless
numbered).
- ABC-DOS
- CP/M-86
- DOS (1.0...)
- Exomatic
- Unix (BSD, Linux)
- Windows 3.x, 95, 98
- Windows NT 3.51, 4.0
- Windows 2000
- Windows XP
- Windows CE 3.0, 4.x, 5.x
- Windows Embedded XP
Languages
Expert | Good
|
---|
Assembly (80x86, Zilog, 8051) (monthly)
Avenue (ArcView/2 from ESRI)
BASIC
C (daily)
C++ (daily)
English (daily)
Exol (Exomatic)
HTML
JavaScript
Lisp
Object Pascal (aka Borlands Delphi) (daily)
Pascal (daily)
PHP3(4)
T-SQL/SQL Server (daily)
SQL (MySQL) (weekly)
Swedish (daily)
Visual Basic (daily)
|
C# (weekly)
Cobol
Fortran
German
Japanese
Java (weekly)
MapBasic (daily)
Object C
Perl
Phyton
XML (daily)
|
ArcView/ArcGIS/ArcEngine
AutoCAD (ads, ase, ade, arx)
ArcEngine 9 (monthly)
DOS
EXO
Linux
Mapinfo/MapX (daily)
Windows 16-bits
Windows 32-bits (daily)
Windows CE 3.0, 4.x, 5.0 (daily)
Windows Embedded XP (daily)
Windows NT 3.5x, 4
Windows XP (daily)
Windows .NET Framework (weekly)
| Borland C++Builder (monthly)
Borland Delphi (daily)
Borland JBuilder
Eclipse (weekly)
In-house (daily)
MASM32 (monthly)
MS Visual Studio 6, .NET 2002, .NET 2003, .NET 2005 (daily)
|
- Communication (low-level)
- compression
- Database-engines(low-level)
- Debugging
- Encryption
- Graphic (low-level)
- OOP
- Optimizing
- Software development
- System (low-level)
- UI
- C/S
- Communication (high-level)
- Enterprise
- GIS
- Web
- C/C++ User's Journal
- Computer
- Computer Sweden
- Delphi Magazine
- Dr. Dobb's Journal
- IEEE Software
- IEEE Spectrum
- IEEE Transactions on Software Engineering
- IEEE Wireless Communications
- Mikrodatorn
- MSDN Magazine
- Software Development
- Visual Studio Magazine
- Windows Developers Journal
- .NET and COM -- The Complete Interoperability Guide
- After the gold rush
- Agile Software Development
- Applied C++
- C# Programmers Cookbook
- C++ Coding Standards
- C++ Gotchas
- C++ Programmer's Guide to the Standard Template Library
- C++ Programming Style
- C++ Templates
- Code Complete 2
- Code Reading
- Compilers -- Principles, Techniques and Tools
- Debugging the Development Process
- Design Patterns
- Effective C++ Second Edition
- Effective Java
- Effective STL
- Embedded Programming in C/C++
- Exceptional C++
- Exceptional C++ Style
- Extreme Programming Explained
- Extreme PRogramming Refactored: The Case Against XP
- Facts and Fallacies of Softwae Engineering
- GUI Bloopers -- Don'ts and Do's
- Imperfect C++
- Java 1.5 Tiger "A Developer's Notebook"
- Java Extreme Programming Cookbook
- Java Performance Tuning
- Large-Scale C++ Software Design
- Lean Software Development
- Modern C++ Desing
- More Effective C++
- More Exceptional C++
- Organizational Patterns of Agile Software Development
- Peopleware 2nd Ed
- Practical Algorithms for Programmers
- Professional Software Development
- Programming C#
- Programming Perls, 2nd edition
- Programming Visual C++ .NET
- Pthreads Programming
- Questioning Extreme Programming
- Rapid Development
- Refactoring
- Refactoring Workbook
- Software Craftsmanship
- Software Project Survival Guide
- Solid Code
- The Art of Computer Programming, Volume 1-3
- The C++ Programming Language
- The C++ Standard Library
- The Career Programmer: Guerilla Tactics for an Imperfect World
- The Data Compression Book
- The Mythical Man Month
- The Practice of Programming
- The Pragmatic Programmer
- Web Bloopers
- Windows System Programming
- Zen of Code Optimization
In the pipeline...
- Better, Faster, Lighter Java
- Find the Bug
- Pragmatic Project Automation: How to Build, Deploy and Monitor Java Apps
- Pragmatic Unit Testing in C# with NUnit
- Pragmatic Unit Testing In Java with JUnit
- Pragmatic Version Control Using CVS
- Pragmatic Version Control Using Subversion
- Refactoring to Patterns
- Working Effectively with Legacy Code
198408-198808 COSAB/EXOMATIC
| 198808-199802 Scandiaconsult PROVEA AB
| 199803-200207 ForestMan AB/Cartesia GIS AB
| 200208-200504 ComOpt AB/Actix
| 200205- ForestMan AB
|
- Lead programmer
- Developed;
- EXOcom
TSR for communcation with our loggers
- EXODev
IDE for programming the loggers
- EXOoperator
GUI surveillance program
- EXOSys
TSR for file management
- EXOSA
Database for enormous amounts of data
- Constructed several application for the loggers
|
- Chief programmer
Technical manager, software development (ISO-9001)
- Extended;
- Autograf
Collecting and mining of measure data, targeting sewer and plumbing
- Detflow, Newlog, Teknologg
Collecting and mining of measure data from specific loggers
- VLNät 4.0 - 5.0
Calculates the capacity of a sewer net.
- VeACAD
Construction and maintainance of sewer and pipes. Running in AutoCAD
- Developed;
- VeAGRAF
Same as Autograf above but with two or three orders of more data. Running on Windows.
- VeACAD 2
Rewrote VeaCAD from Lisp to mainly ADS and ARX. Extended to support electric wiring, pipelines etc.
- VeAVIEW
Maintainance and presentation of sewer nets. Running under ArcView/2
- StoVA
GIS-database for Stockholm Vattens measure stations and their data
- Several minor applications, both for DOS and Windows (from "memory left" to generic text editors to
installation programs to converters from one data format to another to report generators)
- drivers for printers, plotters and graphic adapters.
- communications routines for several different type of loggers
- Other assignments;
- Customer and internal support (both our products and generic computer support)
- Guru, aka internal support for our development department.
- Lead Programmer / Senior Software Developer
- ForestMan - Maintained and enhanced a system for Forest Resource Management
FRPlan is quite a complex product;
- Userinteface is written in Borland Delphi
- Interface to Pervasive Btrieve in C++
- Algorithms in C++
- Map in Modula 2
- Prediction algorithms in Pascal
- Communication drivers in assembly
- Reports in Crystal and Excel
- Databases used; Pervasive Btrieve, MS Access
- Map interfaced to ESRI Shape and Mapinfo TAB
- Cartesia - Maintained and enhanced a system for Land Resource Management (forests, parks, golf ranges, streets)
Landinfo II was a somewhat complex product, unfortunately written in VB without proper software engineering principles applied. (the UI in VB6 was shrinked from 160 KCLOC to 60 KLOC, without loss of functionality)
- Userinterface in VB6 and TrueDBOleGrid from ComponentOne
- Algorithms in VB6 and later merged with algorithms from FRPlan
- ActiveX servers with embedded Crystal Report was used for reporting
- Mapinfo 6 Pro / Mapinfo RT / MapX was used as map
- Reports also created through Excel
- Database systems;
- Oracle
- MS SQL Server
- MS Access
- IBM DB2
- MySQL
|
- Senior Software Developer / Software Developer (? wonder why)
- ComOpt - Developed a GIS solution for wireless network when not fixing the impossible ("a speedup of 100 please", "get the communication working", "fix this invisible bugs")
CellOpt IQ 1 was a somewhat complex spatial presentation and computational platform.
- Userinterface written in C# on .NET using a embedded Internet Explorer for displaying HTML pages read from a local Tomcat server
- IQ Algorithms in Java
- ArcEngine 9 used for mapping
- MySQL
- C#, C++, Java, JavaScript, HTML, XML
- TomCat, DotnetMagic, TrueDBGrid, Java Beans, Services
Otherwise I was the one called in for fixing anything that was just way to complicated, especially anything that had to do with C++ and/or Windows API
- Actix - Right now with the old AFP team.
|
- Senior Software Developer
- Back to ForestMan and Forest Resource Management
Forest Handy Man, ver 1
A simple registration form on a PDA connected to PCM (PCMapper Pocket PC). One-button-click for transfering data and maps from/to workstation (works both with Landinfo and Forest Resource Plan)
- .NET CF, PocketPC 2002
- C#, VB6, Pascal, C++
- XML
Forest Handy Man, ver 2
FHM1 was just to slow loading data and navigating between stands so a rewrite was needed. And we skipped .NET CF as the payload was just a bit to high
- PocketPC 2003
- VB6,Pascal, C++
- XML (a home written XML-parser/producer in C++ and Pascal)
A lot of small utilities
- Tab2World that creates WORLD-files (jgw, tfw) by reading TAB-files (from Mapinfo) -- Fast
- GPSLib -- simple DLL to share GPS between applications (PDA and Workstation versions)
- rcmd -- simple RAPI commandline interface
- Autorun -- Hey, MS! What about those machines with two card slots?
Import/Export av maps in shape, mid/mif and PCM
| |
My main hobbies are dogs, reading, aikido and all too much good food.
Being almost raised by a German Shepherd, dogs has always been a part of my life. Such a big part that I'm now:
- authorized dog instructor, highest level -- been holding classes the last ten years.
- authorized to arrange and carry out official field and obedience trials
- authorized to arrange and carry out official mental description and mental tests
- authorized obedience judge
- Dog driver for the Home Guard with a rank of 2nd Lt
I've also been sitting as chairman both for the local club and for test division.
Reading, yeah -- I try to read at least one book a week. There's a tendency for SF, fantasy, Tom Clancy, crimis and some programming litterateur;)
I've been doing Aikido since 1978, which is when I "discovered" it. I
started with judo in the late sixties and have been dabbing in almost
all material arts there is. I did sit in as chairman for the Swedish
Budo School in the mid nineties.
Exomatic AB | ProVeA AB
|
---|
Carl-Eric Olin, VD 0418/610 20
| Bertil Forsberg, VD 0470/455 15
|
|