Hello, my name is JP and I am a Raspberry Pi addict
To put it short...
I am a 40-something software professional with over 30 years experience in tinkering with computers (started with Apple II and C64) - next year 20th anniversary professionally
Originally from Finland (the 'home of Linux'
), now been living in Ireland for 5+ years. I am married, with 4 kids between 17 and 7, so my own hobby-time is a bit on the short supply at times.
I started with a Sharp 'pocket computer'/'programmable calculator' PC-1500 in 1982 from my father's work and a Siemens(?) mainframe (with a teletype terminal and paper/punched tape storage) for the county council traffic light control (somewhat surprised that my father let us kids touch the thing and that we did not manage to break anything), moving on to Apple II+ at the junior secondary school computer club (both programming and playing some simple games), got my very first 'own' (shared with siblings and father) computer Commodore VIC-20 for Christmas 1983 (in stead of constantly playing the included Space Invaders game, I actually programmed it too from the day one) and a Commodore 64 (C64) some months later (when the import stock got replenished having sold out before Christmas, the reason for getting the VIC in the first place). On the C64 me and my brother typed in hundreds if not thousands of lines of code from computer/programming magazines - we also invented our own programs; I remember creating a simple joystick controlled drawing program, tinkering with sprite animation and attempting even some 3D graphics. Later on I coded a sports time-recording and results system with my father for a HP mini (borrowed from the county council computing centre) and then ported the program onto the C64. All of these were mainly programmed using the BASIC language (or it's variants) - I did dabble at some assembly too on the C64.
In the senior secondary school we had the occasional chance to visit the computer laboratory, kitted out with early PCs and FORTRAN compilers - took part in a programming competition teamed up with another geeky classmate. The curriculum also included some 'automatic data processing studies' - namely visiting the neighboring university computer class kitted out with C64s and out-doing our teacher in BASIC coding (she did put in a good effort though, have to admit). Somewhere during those three years my parents bought their first PC - my mother (a teacher) used it for word-processing, engineer father did some spreadsheets and taught himself Pascal as a hobby. I was allowed to play with the PC using the Borland Turbo Pascal 5.0 compiler. My more mathematically inclined younger brother came across fractals and got the sneaky idea to go to the local university library for books - we ended up porting some Mandelbrot and Julia code to Pascal and the 16-shade EGA graphics on an amber monitor.
After finishing the senior secondary and doing my military service, I went to study at the 'public administration sciences' faculty in a university and got married with my 'high-school honey' girlfriend, who was studying in the same university. The mother-in-law bought us aspiring students a PC for word-processing - a 386SX PC with a 'full' 1MB RAM, VGA 256kB graphics and the still very new Windows 3.1. For some reason I did not get into programming during the first year - except a dash at re-creating a character mode graphics 'bomber' game in GW-BASIC on mother-in-law's old PC during a somewhat 'slow' Christmas break.
The following summer of 1992 the country was in a recession and any hopes for a summer job dried up, so I ended up doing 'the basic studies in computer science' in the university 'summer school' and got back into programming. The 'Principles of Programming' was taught using Modula-2, a Pascal descendant and after getting fed up sweating in the tightly packed university PC class, I found a free version to install on my home-PC. During the following academic year I geared more and more towards the Computer Science - luckily the subject was within the same faculty and I was allowed to attend courses at will. The university computer centre offered a software license program for students - I was able to acquire Borland C/C++ 3.0 (for DOS and Windows) for the price of the diskettes (the price of 13 or so 3½ inch floppies back then was still considerable for a student). The Borland C/C++ offered the possibility for inline assembly and the VGA graphics card Mode X provided an extremely interesting playground - producing some very nice 256-color custom palette fractal images.
Getting introduced (by a fellow student) to some up and coming PC games like Commander Keen and Hocus Pocus, got me also back into electronics... Before computers in the early eighties I had been tinkering with the 'hobby electronics' kits like Phillips EE 2000 series and was pretty much confident with a soldering iron. As a student I could not afford buying a Sound Blaster card for my PC (oh, how I missed the C64 sounds and was constantly reminded of the superiority of the Amiga over the PC by another fellow student), so I ended up soldering together a Disney Sound Source / Covox Speech Thing clone. This in turn got me re-introduced to computer music (which I had dabbled at with C64) using PC software like Scream Tracker.
The following year I found a 'student internship on hourly basis when required' job in a small software company - my first task was to debug a bus scheduling software written in Prolog on DOS. Having never seen a line of Prolog and scared with the bare thought of deciphering some Artificial Intelligence code, I was a bit weary to begin with, but reading through the programming manual for the compiler, I was able to track down the bug and fix it. Wouldn't call myself proficient in Prolog though - I actually dropped the course 'AI programming' the next year. Because I had just completed a course 'Graphical User Interface programming' and was able to pull together a Windows program, I soon found myself working full-time with only somewhere around one third of a Batchelor's degree done. In addition to C/C++ for DOS and Windows utilising a dBase database (and the aforementioned Prolog) I ended up programming in ObjectPAL - the integrated language in the Borland Paradox for Windows database product.
Through a joint project with a bigger software company I managed to get a new job just in time before the small company (due to the civil engineering 'mother company' going down) turned belly-up in 1995. In the new job I found myself dealing with various UNIX variants: SCO UNIX, HP-UX and Linux. Transition from the PC world back then (i.e. the DOS command prompt) to UNIX was maybe not as big leap as moving today from Windows to *NIX would be - and of course I had done quite a bit of the labs on UNIX systems (SunOS and Solaris) in the university.
After that short stint I spent five years in another company programming on Windows platform (from 16-bit Win 3.1x to 32-bit Windows 95 and NT). Mostly we used Visual C/C++ especially for the in-house programming libraries, but after the introduction of ActiveX, the libraries were turned into components and user interfaces implemented in Visual Basic. In addition I created the possibly first in the world mobile map application for the very first Nokia Communicator 9000 using C code for CGI components on Microsoft IIS and MapBasic for the map server. We also experimented on C code on Linux web-servers and WAP clients on mobile phones.
The next paradigm shift came in 2000 when I joined some of my colleagues starting a spin-off company and we decided to go for Java. We were a bit late for the bubble it self, but the mobile Java (Personal Java/J2ME) was still one of the biggest buzzwords during the dot-com bubble and we produced some advanced mobile GIS/LBS applications running on PDAs and rugged PCs. Luckily we did not get consumed by the bursting of the bubble and continued on (the company is still alive and kicking). Those years introduced me to client-server and web-protocol programming - mobile clients connecting to servers for data or off-loading heavier processing tasks.
I have had my RPi for a bit over month now and have started learning programming in C and Python on it - and getting more 'intimately' familiar with Linux. I hope to learn to use the EGL, OpenGL ES and OpenVG interfaces/libraries, and to do some electronics hacking also (I have kept up my soldering skills by replacing broken earphone cables (kids!) etc.).
Many happy returns
http://raspberrycompote.blogspot.com/ - Low-level graphics and 'Coding Gold Dust'