Personal Computer History
1990 and onwards
In 19xx, I first saw a VT220 terminal at my mothers office at DIGITAL Equipment Corp (DEC).
In about 1994, my mom brought home our first personal computer, which was a DECstation 300 machine with an Intel 80386SX processor running at 16 MHz. It ran MS-DOS 6.22 and I had somehow discovered the existence of QBasic.
Later used Windows 3.11 and 95. I also couldn’t resist to look inside the machine, add or replace hardware with parts that had been abandoned from my moms office (like hard disks, memory and especially network interface cards).
Browsed the WWW with the Netscape Navigator browser using search engines like AltaVista and HotBot, on Digital UNIX machine with the Common Desktop Environment (CDE) at my moms office. Started some E-Mail conversation with some poor guy who’s mail address I had discovered on his site and had my mom send the mails for me. Later on at my dads place (on his Pentium Pro machine with an US Robotics 28k modem connected to UUNet, later CompuServe), I started to use Usenet (NNTP) (with the Outlook Express as my client) and the Internet Relay Chat (IRC) using Microsoft Comic Chat. Started to learn HTML and to build a page for my fathers company.
With a new machine at home, which had a CD-ROM drive and Microsoft Window 98 (I think) on it, I started to use Visual Basic 6 to build applications like auto-start menus you would put on a CD-ROM. Also discovered VRML. Had my first notebook, a DEC NiNote which I used to carry really everywhere!
Registered this domain (see Archive.org for a history of lazlo.de). Had created a homepage for a gaming clan I used to play ego-shooter games like Counter Strike but also the classics from ID Software like DOOM II. This was also the place I could apply my computer networking knowledge on how to connect machines using ISA 10Base2 network interface adapters, a couple of 10Base2 to 10BaseT Ethernet converter equipment from Allied Telesis and the TCP/IP networking protocol. By that time I was able to setup a network with static addresses.
While having my first experiences with HTML, I leared how to run HTTP servers on Windows NT 4.0 and Windows 2000 (both with IIS). I started to learn programming in Perl, in order to write CGI-scripts, on windows using a Perl interpreter packaged by ActiveState.
Internship at the IT department of the German subsidiary of the Ford Motor Company. For the first time I saw a vast computer network, with multiple times 100 machines, ranging from desktop machines and servers to embedded systems on the assembly lines.
Internship at GE CompuNet, in a department where server hardware was mounted into racks, configured and installed for different customers. Saw loads of machines during that time, but in the end I knew working with software is much more fun than simply mounting hardware and installing operating systems.
Internship at Compaq (formerly DEC) in the “Telecommunications Industry Solutions” (TIS) division.
Had my first Debian GNU/Linux successfully installed (which was a major issue before with SUSE and RedHat) and running. The hint to use Debian came from the first people with a hacker mindset I have encountered (one of them). These guys worked as sub-contractors at Compaq and while I was working there at an internship, they introduced my to many things, like what Network-Address Translation (NAT) is, and on many more things. Was introduced to the concepts of the X window system and X11 display server, window managers and widget toolkits.
Got introduced to the Apache HTTPD, which I also ran on my windows machine, until I decided to abandon using Windows on “server” machines and only use Linux from now on. Started to learn about the common network services and daemons (FTP, telnet, SSH, sendmail, NFS, samba, ISC DHCP and BIND).
Started working part time student work at Compaq. Did deployment of parts of the software for network operator workstations. Installed X11 servers on Windows NT 4.0 in order to have them open TeMIP applications (today HP OpenView) locally, that were actually running on some remote server.
Had my first symmetric multi-processor (SMP) machine that was based on the famous ABIT BP6 mainboard. This board allowed one to use two Intel Celeron processors in SMP mode. Wikipedia says: “The BP6 has been credited as the product that made SMP (a technology previously reserved for high-end workstations or servers) affordable.“. At that time you had to re-build the 2.4 Linux Kernel (which took like half a day) to have SMP enabled. Discovered distcc to speed up compilations.
Started listening to “Does humor belong in technology” (DHBiT), an internet radio show, one would call it a podcast today.
Experimented with a Linux distribution called openMosix, that allowed building a single system image cluster using multiple standard PC machines.
Started to use central source control management (SCM) with Subversion.
Had my first DEC AlphaStation (266MHz) machine and a new notebook, a Compaq Armada M700. Both ran Debian : )
Did the network administration for that company, internally (about 25 machines) and for customers externally. Almost exclusively heterogeneous networks, with various versions of Windows (98, ME, NT 4 and 2000), MacOS 9, and from time to time some Linux machines.
Adapted using UML for modelling software systems and encourage others to learn it.
Started learning web development using JSP (JavaServer Pages) and the Apache Tomcat server . Worked with the Eclipse IDE and libraries such as JDBC. Wrote Applets and standard Java desktop applications that used Swing. Also the first time I heard about eXtreme programming and test-driven development, but didn’t follow that path for quiet some time.
Finished my apprenticeship successfully. Got an Apple iPod. Had to work on some lousy Sony vaio notebook.
Got my first Macintosh computer, a PowerBook G4 with MacOS X and moved to Berlin.
Had my PowerBook stolen for me. First time such a thing happened to me.
Switched from Debian to using Ubuntu with the release of Dapper Drake (6.0.6 LTS).
Discovered Software Engineering Radio
Discovered Chaos Radio Express and the Chaos Computer Club in Berlin (CCCB) which helped me look beyond “normal” in the world of computer systems and life in general.
Learned about loads of new things (for me at that time) like software design patterns, eXtreme programming (XP), test-driven development (TDD).
Had a Compaq ProLiant ML570 (4x 900 MHz Intel Xeon) machine, running in some darkroom.
Worked with Java, the Eclipse IDE, JUnit and SWT.
Worked for a company in the advertisement business in their software development division. Used C# on Linux with Mono and NUnit. to build some network service daemon of instant messaging using Jabber (XMPP).
Got into the world of model-driven software development approaches (MDSD), using tools such as OpenArchitectureWare and xText to define meta-models, models themself and generate pieces of software components from the models.
Also started to get closer the world of systems programming and embedded systems, while building custom OpenWRT firmware images for various hardware platforms (for example the LinkSys WRT-54, LinkSys NSLU2 or the Fonera FON2100).
Adapted using Git for version control.
Further more I delved into to world of machine virtualization, started using Qemu and Xen, later then KVM.
Worked for a communications design (architecture, museum guides, fair booths) company, where I did network administration for something close to 100 machines. Manage a two-machine cluster using HA-Linux components such as Heartbeat, DRBD (cluster block-filesystem) and fail-over. Managed MacOS X and Linux server and services on them such as SSH, netfilter/iptables, Postfix and sasl, NFS, Apache HTTPD 2, Samba, OpenLDAP, OpenVPN and L2TP.
Used Ruby to develop web applications using Ruby on Rails and wrote loads of other little pieces of software for system administration.
Back to the roots! Started to write lots of C using the GNU Compiler Collection (GCC), GNU Make for libraries such as GTK and SDL.
First breadboard, flash programmer (SP-12) and micro controller circuit using an Atmel AVR ATmega8. Started to learn Assembler for the AVR. Had an refurbished IBM ThinkPad T60 (with no parallel port).
Started doing loads of circuits, first using electronic design automation (EDA) tools from the gEDA project, then EAGLE from CadSoft.
Build my first USB circuit (see projects RFM12USB) using a micro controller and a USB software implementation called V-USB
Worked with SimulAVR. Got test-infected after reading “Test-Driven Development for Embedded C” by James Grenning. Started to use Unity and later CppUTest as my standard xUnit testing framework. First “new” (now Lenovo) ThinkPad X201T.
Worked for a cloud hosting company as a tester in the quality assurance department. Learned using libvirt for machine virtualization. Adapter new testing tools like Selenium and Sikuli.
Developed code in C for embedded systems, writing “drivers” for UART, GPIO, I²C and SPI bus interfaces, LCDs. for 8-bit ATmega and ATtiny devices.
Started working on an digital storage oscilloscope (see lzoDSO).
Manufactured my first PCB using toner-transfer and etching (see project page in the labs wiki).
Started studing Computer Engineering (Technische Informatik) at Beuth, Berlin
Adapting SysML into development process.
Sehr interessant – die Entwicklung in der Computerwelt , die Du miterlebt hast, in einem Zeitinterval von über 20 Jahren ! Gratuliere für die schöne Beschreibung !