First computer experience

First computer experience

My very first memory of a computer was at a friends house when I was about 7 or 8 years old (in South Africa). In the lounge was a glass cabinet with a homemade computer, screen and keyboard. I clearly remember it. It had a white (or more grey) monochrome monitor - probably 12 or 15 inch (CRT of course). Beside the monitor was a 'rack' of open PCB's wired up to form the computer. I had no idea about what made up a computer or even much about computers. 

My friend's father had opened the cabinet and switched it on - I remember the cursor flashing on the screen and I was allowed to type something.... I was in heaven, a dreamland, a fantasy. I have no idea what I typed (probably my name), but I was mesmerised by the letters appearing on the screen as I typed.  I had no idea of programming or anything - this was the first time I have ever seen a computer, but that moment in my life stuck with me and it sat there in my mind just waiting..... I was far too young at the time and computers of any sort were extremely rare.

As time went on, I became more aware of computers, but they sat firmly in 'far away land' and were mystical. You have to remember - this was the late 70's. No home computers, no internet, no mobile phones... no fancy electronics at all. It was a simpler time.

But I was fascinated with electronics and my father, bought me a 'My Kit 7' electronics kit to play with. Again it was the most fascinating thing I have ever seen. With lots of components and even a small integrated 'chip'. With this, there were over a hundred experiments to wire up from buzzers to lie detectors to a radio. I was hooked. Before that, I had messed with a few things, but never before had I had the components and a book to work from. This was great....

But I was also frustrated - I wanted to do bigger things. I wanted to build a computer. I remember thinking 'Even if I can just get a dot matrix display connected to a keyboard working..'. but alas, the bulbs I was trying to put together in a matrix just would not behave. I had no idea about logic circuits and latches at the time and no one to guide me. I remember frustration after frustration. I just didn't have the know-how at age 8 or 9!

My mother me to the university for a private demonstration of a computer - Heaven knows how she organised this but wow,  the day blew my mind. The person showing us, had a computer on his desk (this was probably early 80's?) It was a green screen CRT. he showed us a number of things, but I remember the basic graphics (CAD) program he had and the 'mouse' - 'Mouse' in inverted commas because it was not really a mouse, but a kind of pointing device. There was a small white grid lined board hooked up to the PC and a device that looked a bit like a map compass with a cross-hair.  It did not work that well, and he had to keep 're-orienting the device on the board to set the location properly. None the less, it was pure magic.

I think my next introduction into computers was via my father - He was an architect and had a successful architectural firm in Randburg, South Africa. It was a typical architects office in those days - a large room with about 15 or so large drafting boards. Somehow, my dad, who is a complete technophobe, decided to buy an architectural CAD computer. In those days (early 80's?) , this was no small thing. He decked out a whole room for this thing and it was as fancy as you can get. As far as I can remember, he was one of the first in South Africa to buy one of these things (I'm guessing one of the first small businesses). It had two monitors, one monochrome and one large colour. It has two floppy disks (no hard drive) and a huge A1 plotter as well as a dot matrix printer. It must have cost a fortune. There was also a 'pen' and a board that had commands on it and a pad that was used for positioning the cursor. State of the art for the time. 

It took a stack (and I mean about 40) floppy disks to get running, First to get the operating system in and then the CAD application. It was amazing to see it come to life, to see the text on the monochrome and then the colour monitor. 

I used to play with this thing and draw pictures (probably much to the irritation of the guy that was responsible for it - but hey, I was the bosses son  - so apologies to him.

Then, someone's father at my primary school donated two TRS80 machines. By this time there were a few around and people were getting to know about them. The school started a programming class which I immediately joined. I was terrible. I remember trying to get a for loop to work and not quite getting it. I don't think I was part of the class for long.....

At the age of about 10, I got a newspaper round job which meant getting up very very early in the morning to deliver a stack of newspapers around the neighbourhood - It was a long cycle in the morning before school and I did it every day - come rain or shine. Though I have to admit there were many a rainy or late day that my poor mother drove me! Still, I earned enough money and saved enough birthday money/donations to buy a ZX81, and that really where my career with computers started.

I spent hours in front of the TV with the small black box of magic, programming it. I wrote a very simple drawing program but was very disappointed in it.... the XZ81, with its 1K of memory limited. But I loved the machine and a programmed all sorts of things. And then the ZX spectrum came out. Not sure how I bought that, but this was such a leap. It was only the 16K version, but it was colour and has a 'better' keyboard. 

I was not into games like my friends were - They did not really excite me. What did excite me was writing programs. I decided to take the drawing program idea and write it on the Spectrum. The main thing I wanted to do was have control of the individual items. I was frustrated by the drawing program that came with the spectrum (and the one I wrote on the ZX81) as when you deleted bits with the eraser,  things around it got deleted too. I thought it would be much better if the computer knew about each line and allowed you to change, it or delete it. There was no mouse for the spectrum, so I implemented each object in an array and allowed the user to flip from object to object and then either edit it or delete it. The program was called Graphi and I spent huge amounts of time on this, including many a lesson with my grandmother who was a maths teacher, learning geometry which I had not started learning at school yet.

Of course, things progressed to the Commador 64, then an Acorn Atom.  It was on the Acorn Atom that I first started with a bit of machine code. I just loved (and still do) the idea of programming at such a low level. 

My first proper job was building computers up for customers. This was in the XT days and the 286 was not even around yet. Of course, things moved fast and soon the 286, then 386 arrived, more memory, bigger drives and everything cheaper. My first 'proper' machine was an XT which I had made up from old leftover bits. It was great, as it really gave me more to do on the machine and I could start using other languages like Pascal. It was not until quite a bit later that I learned C. But when 'visual' languages started, I tried both Visual Basic and Delphi 1 and was immidiatly consumed by Delphi 1. I used Delphi 1 until version 7.  

The rest is really history from there. I progressed through various jobs, and computers finally ending up for 18 years in the financial industry in the UK with my own business and a team of developers. I sold this a few years ago and am now 'playing' with one older tech and some new tech, but more where my heart sits - Electronics and Embedded software. Not that I don't love programming under Windows, it's just that for me there is more excitement and magic with the embedded world. 

One of my dreams, since I was a child, was to build my own processor and computer - and that is one of the 1000 projects that I am starting now. 

Why I hate Linux…

Why I hate Linux…

OK, so I admit that I have been a Microsoft user since DOS 2. I still think DOS 3.3 was the best ever OS. I'm on Windows 10 at the moment and I'm quite happy with it. Most of my applications only come for Windows and some for Mac. But I can get everything I need for my developments via windows with little issue. Linux, when used as servers, are a different kettle of fish, and as far as I know, they excel at that. This is really about the home or work experience. (and only my experience so far)

At the moment I am setting up the Nvidia Jetson TX1 development board to have a play with GPU programming along with IOT and robotics. I have a long way to go on these subjects, but looking forward to it.

However, the development environment for the Jetson TX 1 and the flashing utility is Linux (or Ubuntu to be specific) based and this is forcing me down that route.

My first thought was.. "Ill run Ubuntu in  Hyper-v  - mainly so that I have access to all my other windows based apps at the same time. But, as it turns out, Hyper-V cannot do USB pass through which rendered it useless for this purpose. A bit of googling later and it seems Oracle's Virtual Box can do USB pass through, Great.

I had to uninstall Hyper V because Virtual Box and Hyper-V won't play ball together. I don't know much about how VM's work, but guess the underlying architecture can only deal with one virtual machine engine at a time - I'm ok with that.

Having installed Virtual Box and once again installed Unubtu (along with the Nvidia Jetpack install), I tried to run the installation software. It detected the passed through USB device for the Jetson - Good new... but.... it just kept failing at different points of the flashing. ok, onto the Nvidia developers forum to ask. The response I got was. "Nvidia does not support virtual machines for Jetpack and device flashing.

This all meant that I had to go for dual boot on my desktop which, initially was easy. Once Ubuntu was installed, the Jetpack software for Jetson TX1 worked perfectly. I was a happy man.... for a bit.

The problem with Linux, other than having to get to know and understand a very different system is that it's hard to get things to work - this is where Microsoft and Apple have done so well. There are no Nvidia graphics drivers for my GTX 8010 graphics card, so while it runs my monitors, it's not doing so with the full drivers. No driver for my Sound Blaster Z - so can't get that to work at all.

Then when it comes to installing software, it's not as simple as download the install package and double-click. Sometimes you need to use APT-Get, sometime DPKG. half the time it fails as there are other dependencies requires which you then have to find and download.

And I think that is the main reason why I hate Linux - it's not easy to get things going unless you have a very standard machine and don't require much in the way of software. I'll learn the system and get used to it - and who knows - perhaps even enjoy it. But until it becomes easy to install, operate and has drivers for even basic things like Nvidia graphics cards, it simply won't be used by the general public - It has a long way to go.

Ubuntu is free so one can't complain too much, but still...

I am amused that while it's Nvidia that's forcing me down the Linux, they don't have a Linux driver for their graphics card!

I'm going to install Ubuntu on my laptop and try the whole experience on that - along with free word processors etc.

I do hope that soon I can write another post titled 'I'm in love with Linux'