{"id":992,"date":"2013-05-24T00:52:43","date_gmt":"2013-05-23T22:52:43","guid":{"rendered":"http:\/\/lazlo.de\/?page_id=992"},"modified":"2017-06-15T10:28:01","modified_gmt":"2017-06-15T08:28:01","slug":"history","status":"publish","type":"page","link":"http:\/\/lazlo.de\/blog\/about\/history\/","title":{"rendered":"Personal Computer History"},"content":{"rendered":"<h1><strong>Personal Computer History<\/strong><\/h1>\n<h2>1990 and onwards<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"declogo_large\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/declogo_large-300x88.png\" width=\"65\" height=\"19\" \/><\/p>\n<p>In 19xx, I first saw a\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/VT220\" target=\"_blank\">VT220<\/a>\u00a0terminal\u00a0at my mothers office at\u00a0<em><a title=\"DEC\" href=\"http:\/\/en.wikipedia.org\/wiki\/Digital_Equipment_Corporation\" target=\"_blank\">DIGITAL Equipment Corp<\/a>\u00a0(DEC)<\/em>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"ms-dos-prompt-logo-primary\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/ms-dos-prompt-logo-primary.jpg\" width=\"61\" height=\"61\" \/><\/p>\n<p>In about 1994, \u00a0my mom\u00a0brought\u00a0home our first personal computer, which was a\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/DECstation#DECstation_PCs\" target=\"_blank\">DECstation 300<\/a>\u00a0machine with an Intel 80386SX processor running at 16 MHz. It ran\u00a0<strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/MS-DOS\" target=\"_blank\">MS-DOS<\/a><\/strong>\u00a06.22 and I had somehow discovered the existence of\u00a0<strong><a href=\"http:\/\/en.wikipedia.org\/wiki\/QBasic\" target=\"_blank\">QBasic<\/a><\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"241px-Windows_3_logo_simplified.svg\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/241px-Windows_3_logo_simplified.svg_.png\" width=\"47\" height=\"32\" \/><\/p>\n<p>Later used\u00a0<strong>Windows<\/strong>\u00a03.11 and 95.\u00a0I also couldn&#8217;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).<\/p>\n<h3>1995<\/h3>\n<p><a href=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/dunix_logo.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"dunix_logo\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/dunix_logo.gif\" width=\"50\" height=\"61\" \/><\/a><\/p>\n<p>Browsed the\u00a0<strong>WWW<\/strong>\u00a0with the\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Netscape_Navigator\" target=\"_blank\">Netscape Navigator<\/a>\u00a0browser using search engines like\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/AltaVista\" target=\"_blank\">AltaVista<\/a>\u00a0and HotBot, on\u00a0<strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/DIGITAL_UNIX#Digital_UNIX\" target=\"_blank\">Digital UNIX<\/a><\/strong>\u00a0machine with the\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/DECwindows\" target=\"_blank\">Common Desktop Environment<\/a>\u00a0(CDE) at my moms office. Started some\u00a0<strong>E-Mail<\/strong>\u00a0conversation with some poor guy who&#8217;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\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/UUNet\" target=\"_blank\">UUNet<\/a>, later\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Compuserve\" target=\"_blank\">CompuServe<\/a>), I started to use\u00a0<strong>Usenet<\/strong>\u00a0(NNTP) (with the Outlook Express as my client) and the\u00a0<em>Internet Relay Chat<\/em>\u00a0(<strong>IRC<\/strong>) using\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Microsoft_Comic_Chat\" target=\"_blank\">Microsoft Comic Chat<\/a>. Started to learn\u00a0<strong>HTML<\/strong>\u00a0and to build a page for my fathers company.<\/p>\n<h3>1998<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"visual-basic\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/visual-basic-300x265.gif\" width=\"52\" height=\"46\" \/>With a new machine at home, which had a CD-ROM drive and Microsoft\u00a0<strong>Window 98<\/strong>\u00a0(I think) on it, I started to use\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Visual_Basic\" target=\"_blank\"><strong>Visual Basic 6<\/strong><\/a>\u00a0to build applications like auto-start menus you would put on a CD-ROM. Also discovered\u00a0<strong><a href=\"http:\/\/en.wikipedia.org\/wiki\/VRML\" target=\"_blank\">VRML<\/a><\/strong>.\u00a0Had my first notebook, a DEC NiNote which I used to carry really everywhere!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"ethernet_connector_symbol_ethernet_connector-1979px\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/ethernet_connector_symbol_ethernet_connector-1979px-300x248.png\" width=\"39\" height=\"32\" \/><\/p>\n<p>Registered this domain (see\u00a0<a href=\"http:\/\/web.archive.org\/web\/*\/http:\/\/www.lazlo.de\" target=\"_blank\">Archive.org<\/a>\u00a0for 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\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Doom_II:_Hell_on_Earth\" target=\"_blank\">DOOM II<\/a>. This was also the place I could apply my\u00a0<strong>computer networking<\/strong>\u00a0knowledge on how to connect machines using ISA\u00a0<strong><a href=\"http:\/\/en.wikipedia.org\/wiki\/10BASE2\" target=\"_blank\">10Base2<\/a>\u00a0<\/strong>network interface adapters, a couple of 10Base2 to\u00a0<strong>10BaseT<\/strong>\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Ethernet\" target=\"_blank\"><strong>Ethernet<\/strong><\/a>\u00a0converter equipment from Allied Telesis and the\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/TCP\/IP\" target=\"_blank\"><strong>TCP\/IP<\/strong><\/a>\u00a0networking protocol. By that time I was able to setup a network with static addresses.<\/p>\n<h3>1999<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"Perl-camel-small\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/Perl-camel-small.png\" width=\"52\" height=\"53\" \/>While having my first experiences with HTML, I leared how to run\u00a0<strong><a href=\"http:\/\/en.wikipedia.org\/wiki\/Hypertext_Transfer_Protocol\" target=\"_blank\">HTTP<\/a><\/strong>\u00a0servers on\u00a0<strong><a href=\"http:\/\/en.wikipedia.org\/wiki\/Windows_NT_4.0\" target=\"_blank\">Windows NT 4.0<\/a><\/strong>\u00a0and\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Windows_2000\" target=\"_blank\"><strong>Windows 2000<\/strong><\/a>\u00a0(both with\u00a0<strong>IIS<\/strong>). I started to learn programming\u00a0in\u00a0<strong><a href=\"http:\/\/www.perl.org\/\" target=\"_blank\">Perl<\/a><\/strong>, in order to write\u00a0<strong><a href=\"http:\/\/en.wikipedia.org\/wiki\/Common_Gateway_Interface\" target=\"_blank\">CGI<\/a><\/strong>-scripts,\u00a0on windows using a Perl interpreter packaged by ActiveState.<\/p>\n<p><a href=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2013\/05\/ford_logo_icon_by_slamiticon-d5z6zsk.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright  wp-image-1065\" alt=\"ford_logo_icon_by_slamiticon-d5z6zsk\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2013\/05\/ford_logo_icon_by_slamiticon-d5z6zsk-300x225.png\" width=\"53\" height=\"40\" srcset=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2013\/05\/ford_logo_icon_by_slamiticon-d5z6zsk-300x225.png 300w, http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2013\/05\/ford_logo_icon_by_slamiticon-d5z6zsk.png 1024w\" sizes=\"auto, (max-width: 53px) 100vw, 53px\" \/><\/a>Internship at the IT department of the German subsidiary of the\u00a0<em>Ford Motor Company<\/em>. 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.<\/p>\n<h2>2000<\/h2>\n<p><a href=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/logo_ge_compunet.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"logo_ge_compunet\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/logo_ge_compunet.gif\" width=\"108\" height=\"20\" \/><\/a>Internship at\u00a0<em>GE CompuNet<\/em>, 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.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"Compaq_logo\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/Compaq_logo-300x65.gif\" width=\"65\" height=\"14\" \/>Internship at\u00a0<em>C<\/em><em>ompaq<\/em>\u00a0(formerly DEC) in the &#8220;Telecommunications Industry Solutions&#8221; (TIS) division.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"debian-logo\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/debian-logo-300x145.jpg\" width=\"65\" height=\"31\" \/>Had my first\u00a0<strong><a href=\"http:\/\/www.debian.org\/\" target=\"_blank\">Debian GNU\/Linux<\/a><\/strong>\u00a0successfully installed (which was a major issue before with SUSE and RedHat) and \u00a0running. The hint to use Debian came from the first people with a hacker mindset I have encountered (<a href=\"http:\/\/www.mylinuxproject.de\/\" target=\"_blank\">one of them<\/a>). 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 <a href=\"http:\/\/en.wikipedia.org\/wiki\/X_Window_System\" target=\"_blank\">X window system<\/a> and\u00a0<strong><a href=\"http:\/\/en.wikipedia.org\/wiki\/X_Window_System\" target=\"_blank\">X11<\/a><\/strong>\u00a0display server, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Window_manager\" target=\"_blank\">window managers<\/a> and <a href=\"https:\/\/en.wikipedia.org\/wiki\/Widget_toolkit\" target=\"_blank\">widget toolkits<\/a>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"apache_feather\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/apache_feather-300x84.png\" width=\"65\" height=\"18\" \/><\/p>\n<p>Got introduced to the\u00a0<strong><a href=\"http:\/\/httpd.apache.org\/\" target=\"_blank\">Apache HTTPD<\/a><\/strong>, which I also ran on my windows machine, until I decided to abandon using Windows on &#8220;server&#8221; machines and only use Linux from now on.\u00a0Started to learn about the common <strong>network services<\/strong> and daemons (<strong>FTP<\/strong>,\u00a0<strong>telnet<\/strong>, <strong>SSH<\/strong>, <strong>sendmail<\/strong>, <strong>NFS<\/strong>, <strong>samba<\/strong>, ISC <strong>DHCP<\/strong> and <strong>BIND<\/strong>).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"300px-X11.svg\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/300px-X11.svg_-300x300.png\" width=\"35\" height=\"35\" \/>Started working part time student work at\u00a0<em>Compaq<\/em>. 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\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/HP_OpenView\" target=\"_blank\">HP OpenView<\/a>) locally, that were actually running on some remote server.<\/p>\n<h3>2001<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"linux\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/linux.png\" width=\"37\" height=\"43\" \/><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"linux\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/linux.png\" width=\"37\" height=\"43\" \/>Had my first symmetric multi-processor (SMP) machine that was based on the famous <a href=\"http:\/\/www.motherboards.org\/mobot\/motherboards_d\/Abit\/BP6\/\" target=\"_blank\">ABIT BP6<\/a>\u00a0mainboard. This board allowed one to use two Intel Celeron processors in SMP mode. <a href=\"http:\/\/en.wikipedia.org\/wiki\/ABIT_BP6\" target=\"_blank\">Wikipedia<\/a>\u00a0says: &#8220;<em>The BP6 has been credited as the product that made SMP (a technology previously reserved for high-end workstations or servers) affordable.<\/em>&#8220;. At that time you had to re-build the 2.4\u00a0<strong><a href=\"https:\/\/www.kernel.org\/\" target=\"_blank\">Linux Kernel<\/a><\/strong>\u00a0(which took like half a day) to have SMP enabled.\u00a0Discovered <a href=\"http:\/\/en.wikipedia.org\/wiki\/Distcc\" target=\"_blank\"><strong>distcc<\/strong><\/a>\u00a0to speed up compilations.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"mysql_100\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/mysql_100.png\" width=\"45\" height=\"43\" \/><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"php\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/php-300x157.png\" width=\"65\" height=\"34\" \/>Started\u00a0<strong>apprenticeship<\/strong> as an &#8220;<strong>IT specialist for software development<\/strong>&#8221; at a company that was doing web applications.\u00a0<strong><a href=\"http:\/\/php.net\/\" target=\"_blank\">PHP<\/a>\u00a0<\/strong>4 and 5 later on. Used libraries from the\u00a0<strong>PEAR<\/strong>\u00a0repository. Start to learn about <strong>JavaScript<\/strong>. Delved into the world of relational database management systems (<strong>RDBMS<\/strong>), specifically <strong><a href=\"http:\/\/www.mysql.com\/\" target=\"_blank\">MySQL<\/a>\u00a0<\/strong>and the <strong>SQL\u00a0<\/strong>in general.<\/p>\n<p>Started listening to &#8220;<a href=\"http:\/\/dhbit.ca\/\" target=\"_blank\">Does humor belong in technology<\/a>&#8221; (DHBiT), an internet radio show, one would call it a podcast today.<\/p>\n<h3><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"200px-Postgresql_elephant.svg\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/200px-Postgresql_elephant.svg_.png\" width=\"47\" height=\"48\" \/>2002<\/h3>\n<p>Wrote applications that interact with database systems\u00a0like MySQL\u00a0or <strong><a href=\"http:\/\/www.postgresql.org\/\" target=\"_blank\">PostgreSQL<\/a>\u00a0<\/strong>on the back-end side. Employed HTML,\u00a0<strong>JavaScript<\/strong>\u00a0and\u00a0<strong>CSS<\/strong>\u00a0on the front-end side. Used various standard and some not so standard <strong>protocols<\/strong> such as\u00a0<strong>XML-RPC<\/strong>\u00a0and\u00a0<strong>SOAP<\/strong>. Employed object relational mapper (<strong>ORM<\/strong> &#8211; database abstraction layer) PHPDBDataObject. Used templating libraries such as phemplate, Smarty and XT.<\/p>\n<p>Experimented with a Linux distribution called\u00a0<strong><a href=\"http:\/\/en.wikipedia.org\/wiki\/OpenMosix\" target=\"_blank\">openMosix<\/a><\/strong>, that allowed building a single system image\u00a0<strong>cluster<\/strong>\u00a0using multiple standard PC machines.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"subversion_ai\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/subversion_ai-300x300.png\" width=\"39\" height=\"39\" \/><\/p>\n<p>Started to use central <strong>source control management<\/strong>\u00a0(SCM) with\u00a0<strong>Subversion<\/strong>.<\/p>\n<p>Had my first\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/AlphaStation\" target=\"_blank\">DEC AlphaStation<\/a>\u00a0(266MHz) machine and\u00a0a new notebook, a Compaq Armada M700. Both ran Debian : )<\/p>\n<p>Did the\u00a0<strong>network administration<\/strong>\u00a0for that company, internally (about 25 machines) and for customers externally. Almost\u00a0exclusively\u00a0 heterogeneous networks, with various versions of Windows (98, ME, NT 4 and 2000), MacOS 9, and from time to time some Linux machines.<\/p>\n<h3>2003<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"uml_logo\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/uml_logo.gif\" width=\"68\" height=\"48\" \/><\/p>\n<p>Adapted using\u00a0<strong>UML\u00a0<\/strong>for modelling software systems and\u00a0encourage\u00a0others to learn it.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"200px-Eclipse_Logo.svg\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/200px-Eclipse_Logo.svg_.png\" width=\"72\" height=\"40\" \/><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"Java_Logo.svg\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/Java_Logo.svg_-161x300.png\" width=\"21\" height=\"39\" \/><\/p>\n<p>Started learning web development using\u00a0<strong>JSP<\/strong>\u00a0(JavaServer Pages) and the Apache <strong>Tomcat<\/strong> server . Worked with the\u00a0<strong>Eclipse<\/strong>\u00a0IDE and libraries such as\u00a0<strong>JDBC<\/strong>. Wrote <strong>Applets<\/strong> and standard\u00a0<strong>Java<\/strong>\u00a0desktop applications that used\u00a0<strong>Swing<\/strong>. Also the first time I heard about eXtreme programming and test-driven development, but didn&#8217;t follow that path for quiet some time.<\/p>\n<h3>2004<\/h3>\n<p>Finished my apprenticeship\u00a0successfully.\u00a0Got an\u00a0Apple\u00a0iPod. Had to work on some lousy Sony vaio notebook.<\/p>\n<h3>2005<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"Free_X_for_Mac_OS_logo\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/Free_X_for_Mac_OS_logo-268x300.png\" width=\"28\" height=\"31\" \/>Got my first Macintosh computer, a\u00a0PowerBook G4 with\u00a0<strong>MacOS X <\/strong>and moved to Berlin.<\/p>\n<h3>2006<\/h3>\n<p>Had my PowerBook stolen for me. First time such a thing\u00a0happened\u00a0to me.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"logo-ubuntu_su-orange-hex\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/logo-ubuntu_su-orange-hex-300x148.png\" width=\"108\" height=\"53\" \/><\/p>\n<p>Switched from Debian to using\u00a0<strong><a href=\"http:\/\/www.ubuntu.com\/\" target=\"_blank\">Ubuntu<\/a>\u00a0<\/strong>with the release of \u00a0Dapper Drake\u00a0(6.0.6 LTS).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"se-radio-logo-oopsla\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/se-radio-logo-oopsla-277x300.gif\" width=\"60\" height=\"65\" \/><\/p>\n<p>Discovered\u00a0<a href=\"http:\/\/www.se-radio.net\/\" target=\"_blank\">Software Engineering Radio<\/a><\/p>\n<h3>2007<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"chaosknoten\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/chaosknoten-300x216.png\" width=\"65\" height=\"47\" \/><\/p>\n<p>Discovered\u00a0<a href=\"http:\/\/cre.fm\/\" target=\"_blank\">Chaos Radio Express<\/a>\u00a0and\u00a0the Chaos Computer Club in Berlin (CCCB) which helped me look beyond &#8220;normal&#8221; in \u00a0the world\u00a0of computer systems and life in general.<\/p>\n<p>Learned about loads of new things (for me at that time) like\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Software_design_pattern\" target=\"_blank\">software design patterns<\/a>,\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Extreme_programming\" target=\"_blank\">eXtreme programming<\/a><strong>\u00a0<\/strong>(<strong>XP<\/strong>),\u00a0<strong><a href=\"http:\/\/en.wikipedia.org\/wiki\/Test-driven_development\" target=\"_blank\">test-driven development<\/a>\u00a0<\/strong>(TDD).<\/p>\n<p>Had a Compaq ProLiant ML570 (4x 900 MHz Intel Xeon) machine, running in some darkroom.<\/p>\n<p>Worked with Java, the\u00a0Eclipse IDE,\u00a0<strong>JUnit<\/strong>\u00a0and <strong>SWT<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"200px-Mono_project_logo.svg\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/200px-Mono_project_logo.svg_.png\" width=\"26\" height=\"31\" \/><\/p>\n<p>Worked for a company in the advertisement business in their software development division. Used\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/C_Sharp_(programming_language)\" target=\"_blank\"><strong>C#<\/strong><\/a>\u00a0on Linux with\u00a0<a href=\"http:\/\/www.mono-project.com\/\" target=\"_blank\"><strong>Mono<\/strong><\/a>\u00a0and\u00a0<a href=\"http:\/\/www.nunit.org\/\" target=\"_blank\"><strong>NUnit<\/strong><\/a>. to build some network service daemon of instant messaging using Jabber (<strong>XMPP<\/strong>).<\/p>\n<p><a href=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/oaw-logo-side.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"oaw-logo-side\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/oaw-logo-side.png\" width=\"105\" height=\"41\" \/><\/a>Got into the world of\u00a0<strong>model-driven software development<\/strong>\u00a0approaches (MDSD), using tools such as\u00a0<a href=\"http:\/\/www.openarchitectureware.org\/\" target=\"_blank\"><strong>OpenArchitectureWare<\/strong><\/a>\u00a0and\u00a0<strong>xText<\/strong>\u00a0to define meta-models, models themself and generate pieces of software components from the models.<\/p>\n<p>Also started to get closer the world of <strong>systems programming<\/strong> and\u00a0<strong>embedded systems<\/strong>, while building custom <strong><a href=\"https:\/\/openwrt.org\/\" target=\"_blank\">OpenWRT<\/a><\/strong>\u00a0firmware images for various hardware platforms (for example the\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Linksys_WRT54G_series\" target=\"_blank\">LinkSys WRT-54<\/a>,\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/NSLU2\" target=\"_blank\">LinkSys NSLU2<\/a>\u00a0or the Fonera FON2100).<\/p>\n<p>Adapted using\u00a0<strong>Git<\/strong>\u00a0for version control.<a href=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"logo\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/logo-300x74.png\" width=\"65\" height=\"16\" \/><\/a><\/p>\n<p><a href=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/Xen_logo.svg_.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"Xen_logo.svg\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/Xen_logo.svg_.png\" width=\"77\" height=\"35\" \/><\/a>Further more I delved into to world of machine\u00a0<strong>virtualization<\/strong>, started using\u00a0<a href=\"http:\/\/qemu.org\/\" target=\"_blank\"><strong>Qemu<\/strong><\/a>\u00a0and\u00a0<a href=\"http:\/\/www.xen.org\/\" target=\"_blank\"><strong>Xen<\/strong><\/a>, later then\u00a0<strong>KVM<\/strong>.<\/p>\n<h3>2008<\/h3>\n<p><a href=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/240px-Ruby_logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"240px-Ruby_logo\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/240px-Ruby_logo.png\" width=\"31\" height=\"31\" \/><\/a><\/p>\n<p>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 <strong>cluster<\/strong> using <strong>HA-Linux<\/strong> components such as <strong>Heartbeat<\/strong>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/DRBD\" target=\"_blank\"><strong>DRBD<\/strong><\/a> (cluster block-filesystem) and fail-over. Managed MacOS X and Linux server and services on them such as\u00a0<strong>SSH<\/strong>, <a href=\"http:\/\/www.netfilter.org\/projects\/iptables\/\" target=\"_blank\"><strong>netfilter\/iptables<\/strong><\/a>, <a href=\"http:\/\/www.postfix.org\/\" target=\"_blank\"><strong>Postfix<\/strong><\/a>\u00a0and <strong>sasl<\/strong>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Network_File_System\" target=\"_blank\"><strong>NFS<\/strong><\/a>, <strong>Apache HTTPD 2<\/strong>, <strong>Samba<\/strong>, <strong>OpenLDAP<\/strong>, <strong>OpenVPN<\/strong> and <strong>L2TP<\/strong>.<\/p>\n<p>Used\u00a0<a href=\"http:\/\/www.ruby-lang.org\/\" target=\"_blank\"><strong>Ruby<\/strong><\/a>\u00a0to develop web applications using\u00a0<a href=\"http:\/\/rubyonrails.org\/\" target=\"_blank\"><strong>Ruby on Rails<\/strong><\/a>\u00a0and wrote loads of other little pieces of software for system administration.<\/p>\n<h3>2009<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"The_GNU_logo\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/The_GNU_logo-300x293.png\" width=\"39\" height=\"38\" \/><\/p>\n<p>Back to the roots! Started to write lots of\u00a0<strong>C<\/strong>\u00a0using the\u00a0<a href=\"http:\/\/gcc.gnu.org\/\" target=\"_blank\">GNU Compiler Collection<\/a>\u00a0(<strong>GCC<\/strong>),\u00a0<a href=\"http:\/\/www.gnu.org\/software\/make\/\" target=\"_blank\"><strong>GNU Make<\/strong><\/a>\u00a0for libraries such as\u00a0<a href=\"http:\/\/www.gtk.org\/\" target=\"_blank\"><strong>GTK<\/strong><\/a>\u00a0and\u00a0<a href=\"http:\/\/www.libsdl.org\/\" target=\"_blank\"><strong>SDL<\/strong><\/a>.<\/p>\n<p><a href=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2013\/05\/AVR-logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright  wp-image-1049\" alt=\"AVR-logo\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2013\/05\/AVR-logo.png\" width=\"74\" height=\"33\" \/><\/a>First breadboard, flash programmer (<a href=\"http:\/\/labs.lazlo.de\/trac\/labs\/wiki\/FlashProgrammerSP12\" target=\"_blank\">SP-12<\/a>) and micro controller circuit using an\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Atmel_AVR\" target=\"_blank\"><strong>Atmel AVR<\/strong><\/a>\u00a0ATmega8. Started to learn <strong>Assembler<\/strong> for the AVR. Had an refurbished IBM ThinkPad T60 (with no parallel port).<\/p>\n<h2>2010<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"GplEDA\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/GplEDA.png\" width=\"47\" height=\"13\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"cadsoft-logo1-304x377\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/cadsoft-logo1-304x377-241x300.jpg\" width=\"31\" height=\"39\" \/>Started doing loads of circuits, first using\u00a0<strong>electronic design automation<\/strong>\u00a0(EDA) tools from the\u00a0<strong><a href=\"http:\/\/www.geda-project.org\/\" target=\"_blank\">gEDA<\/a>\u00a0<\/strong>project, then\u00a0<a href=\"http:\/\/www.cadsoftusa.com\/\" target=\"_blank\"><strong>EAGLE<\/strong><\/a>\u00a0from CadSoft.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"USB\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/USB-300x144.png\" width=\"39\" height=\"19\" \/><\/p>\n<p>Build my first\u00a0<strong><em>USB<\/em><\/strong>\u00a0circuit (see projects\u00a0<a href=\"http:\/\/labs.lazlo.de\/trac\/labs\/wiki\/RFM12USBBoard\" target=\"_blank\">RFM12USB<\/a>) using a micro controller and a USB software implementation called\u00a0<a href=\"http:\/\/www.obdev.at\/products\/vusb\/\" target=\"_blank\"><strong>V-USB<\/strong><\/a><\/p>\n<p>Worked with\u00a0<a href=\"http:\/\/www.nongnu.org\/simulavr\/\" target=\"_blank\"><strong>SimulAVR<\/strong><\/a>. Got test-infected after reading &#8220;<a href=\"http:\/\/pragprog.com\/book\/jgade\/test-driven-development-for-embedded-c\" target=\"_blank\"><em>Test-Driven Development for Embedded C<\/em><\/a>&#8221; by James Grenning. Started to use\u00a0<a href=\"http:\/\/throwtheswitch.org\/\" target=\"_blank\"><strong>Unity<\/strong><\/a>\u00a0and later\u00a0<a href=\"http:\/\/www.cpputest.org\/\" target=\"_blank\"><strong>CppUTest<\/strong><\/a>\u00a0as my standard xUnit testing framework. First &#8220;new&#8221; (now Lenovo)\u00a0ThinkPad X201T.<\/p>\n<h3>2011<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"200px-Libvirt_logo.svg\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/200px-Libvirt_logo.svg_.png\" width=\"96\" height=\"42\" \/><\/p>\n<p>Worked for a <strong>cloud hosting<\/strong> company as a tester in the quality assurance department. Learned using <strong><a href=\"http:\/\/libvirt.org\/\" target=\"_blank\">libvirt<\/a><\/strong>\u00a0for machine virtualization. Adapter new testing tools like <strong>Selenium<\/strong> and <strong>Sikuli<\/strong>.<\/p>\n<p>Developed code in C for embedded systems, writing &#8220;drivers&#8221; for\u00a0<strong>UART<\/strong>,\u00a0<strong>GPIO<\/strong>,\u00a0<strong>I\u00b2C<\/strong>\u00a0and\u00a0<strong>SPI<\/strong>\u00a0bus interfaces,\u00a0<strong>LCDs<\/strong>. for 8-bit\u00a0<strong>ATmega<\/strong>\u00a0and\u00a0<strong>ATtiny<\/strong>\u00a0devices.<\/p>\n<p>Started working on an digital storage oscilloscope (see\u00a0<a href=\"http:\/\/labs.lazlo.de\/trac\/lzodso\/wiki\" target=\"_blank\">lzoDSO<\/a>).<\/p>\n<h3>2012<\/h3>\n<p>Manufactured my first PCB using toner-transfer and etching (see\u00a0<a href=\"http:\/\/labs.lazlo.de\/trac\/labs\/wiki\/SimpleBoardForATmega8\" target=\"_blank\">project page<\/a>\u00a0in the labs wiki).<\/p>\n<p>Started studing Computer Engineering (Technische Informatik) at Beuth, Berlin<\/p>\n<h3>2013<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" alt=\"omg\" src=\"http:\/\/lazlo.de\/blog\/wp-content\/uploads\/2011\/04\/omg.jpg\" width=\"86\" height=\"54\" \/><\/p>\n<p>Adapting\u00a0<strong>SysML<\/strong>\u00a0into development process.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Personal Computer History 1990 and onwards In 19xx, I first saw a\u00a0VT220\u00a0terminal\u00a0at my mothers office at\u00a0DIGITAL Equipment Corp\u00a0(DEC). In about 1994, \u00a0my mom\u00a0brought\u00a0home our first personal computer, which was a\u00a0DECstation 300\u00a0machine with an Intel 80386SX processor &hellip; <a class=\"more-link\" href=\"http:\/\/lazlo.de\/blog\/about\/history\/\">More<span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":25,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-992","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/pages\/992","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/comments?post=992"}],"version-history":[{"count":48,"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/pages\/992\/revisions"}],"predecessor-version":[{"id":1045,"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/pages\/992\/revisions\/1045"}],"up":[{"embeddable":true,"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/pages\/25"}],"wp:attachment":[{"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/media?parent=992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}