Part one can be found here.
I used to spend my summer vacations with my grand parents in Nuevo Laredo, on the summer of 1984 I read in the newspaper that a local school was starting a 6 month computer operator course. I had no idea what this was but I asked my mom if we could go see it. We visited the school (it was little more than a few class rooms) and we asked if I could take the class just for the summer (about 2 months) I was allowed to take the classes but I had to promise that I would behave in the class and not cause any trouble or I would be expelled and the tuition would not be refunded (the classes were for adults and I was 12 at the time).
I remember the first day I went to classes. I was the youngest one in the class there were a couple of guys who were 18 but everyone else was in their late 20’s. The teacher walked in and assigned seats alphabetically so me being an ‘S’ ended up way in the back of the classroom. Up until now I always sat in the front but since I had agreed that I would behave and not cause any trouble I said nothing. The thing was I could not read what was written on the black board, and I had a hard time keeping up with the rest of the class. After a few days one of the teachers came up to me and told me it was OK if I did not understand everything that this was hard stuff and it would all make sense when I was older I finally broke down in tears and told him that I could not read the black board and I was afraid to complain because I would get kicked out of the class. The teacher just laughed and moved me to the front of the class and suggested I get my eyesight checked. I told my Mother and she took me to get my eyes checked and it turned out that I needed glasses pretty badly, things got a lot easier after that.
I remember I really liked the classes (once I had my glasses) I learned binary and hex there (I had had the computer for about 6 months now but so far the only things I had done was type in basic games programs from magazines) I also learned about flow charts this was a big first step in getting me to write my own programs. It was pretty amazing how you could get the computer to do anything you wanted it to do, if you could only brake it down into pieces the computer could understand.
We would spend about an hour in a class room and then 30 or so minutes in the computer lab. The computer lab was pretty small, It had a couple of Vic-20 computers (the younger brother of my Commodore-64) A terminal to remotely access a IBM Sytem/360 (The mainframe was actually owned and used by a local manufacturing plant, but the manager was also owner of the school so he would allow us to use it, I don’t think I ever actually saw it) via modem, and a bunch of card punchers.
Most of the things we did were done with the card puncher and I was actually pretty good at this. To practice they would have us type in programs (mainly in COBOL) from books, and I had two advantages , first I had already taken 1 year of touch typing in 7 grade (I would be going to 8 the grade later that year) so I kind of knew how to type but probably more importantly I could read/speak english and typical COBOL program reads like english ( I don’t think anyone else in the class could read english except for one of the teachers)
(here is a sample program from the WIKI)
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
PROCEDURE DIVISION.
PARA-1.
DISPLAY “Hello, world.”.
STOP RUN.
Most of the times the cards where checked visually by the teacher but every once in a while they would take the cards and run them on the computer and bring back the results to class. And it was usually the programs I entered (since they where the ones that had fewer mistakes).
Being able to finish my lab assignments quickly meant that I usually had time to talk to the teachers and top play with the Vic-20. My commodore was in back at my home so I spent the summer with out it. The Vic had been around longer than the commodore so there were a bunch of tricks and tips for it (I knew more tricks for the Vic-20 than the commodore for a while).
We had two teachers (sadly I don’t remember their names, in Mexico we would only refer to our teachers by their title ‘Ingeniero’ , Engineer) one of them was an Electronics Engineer and knew a lot about hardware the other was Computer Science Engineer (He had graduated from the first or second generation CS from the university and joked that he was one of the first 20 CS engineers in Mexico).
One day while talking to one of the teachers he mentioned assembly language and how it was like speaking with the computer in its own language with out any translation, and that this was the best way to actually write your programs. This idea really intriged me this and got me really interested in learning Assembly language for the Commodore.
To be continued
Written by Carlos on May 18th, 2007 with no comments.
Read more articles on Software Development.
Just saw this at Neil Gaiman’s blog Nature of Infection it is an introduction he wrote for Dr. Who book a few years ago. I was never a big Dr Who fan and while I do remember watching a few episodes when I was a kid I don’t think I ever got the hang of what was going on. (for example I only learned a few years ago what the TARDIS was). But I do believe I undestand what Neil Gaiman is talking about.
And I may have my own infections.
Written by Carlos on May 18th, 2007 with no comments.
Read more articles on Just for Fun.
I recently read Made to Stick: Why Some Ideas Survive and Others Die (very good book) and one of the things it talks about is “The Curse of Knowledge” basically what this means is that once you know (understand) something it becomes very hard to imagine not knowing and it is very difficult to explain to other people. So your own knowledge will prevent you from being able to communicate effectively.
A few days ago I realized something. Some years ago I used to work on the Services department in my company (implemented solutions for our clients) and as such as I was primary contact with the client, when ever a customer reported a bug in our software I would go an determine if the problem was with our implementation (developed by my team) or with the core product (developed by the product team). If the problem was on our side we would fix it if not typically we would pass it on the development team to get a fix.
Every once in a while the development team was too busy to respond quickly so I would step in and debug in order to get a quicker turn around on the fix. And what we noticed was that I was able to find and fix bugs quicker than the development team. Eventually when the development team would get stuck on an obscure bug they would ask me to look at it and more often than not I was able to figure where the problem was happening.
I believe that the reason why I think I was able to fix the bugs quicker was not that I was a better programmer than the development team, but that I was not as familiar as they were with the code so I did not have any preconceptions as to what the code actually did, in order to find the bug I would have to step into and take a close looks at each line of code, which gave me better coverage.
The guys on the development team on the other hand would usually skip over huge chunks of code because they knew the code and had preconceived ideas as to where to bug was. They would do this several times until they would start questioning their assumptions as to how things worked. Meanwhile I not being burdened with the knowledge of how things were supposed to work would find have to figure it out from scratch. So instead of assuming how it was supposed to work I would see how it actually worked and that made all the difference.
Another strange phenomenon that probably most programmers are familiar with is spending hours (or days) looking at the same 10 lines of code only to have some one glance over our shoulder and instantly point out the problem I can’t help but wonder if this is also due to the “Curse of Knowledge”.
I guess the moral of the story is that is too easy to fall into the “Curse of Knowledge” so we should try to abandon our preconceptions and attack each problem with an open (ignorant) mind.
Another one of the points that they made in the book is that a story is stickier (more memorable) than just the facts. I hope this story helps the point “stick”
Here are a few interesting links
The official Made to Stick site.
An interview with the authors at Guy Kawasaki’s blog.
View Made to Stick on FORA.tv Chip Heat (one of the Authors of the book) talking about the book
Written by Carlos on May 11th, 2007 with 1 comment.
Read more articles on Books and Software Development and Personal Growth.
I guess I’ve been asked this question a couple of times, but recently a friends daughter asked the question and I got me thinking about this. So I decided to write down the story. It will be long and maybe boring so I’ll split it up in a few parts.
On Christmas 1983 my parents gave me a Commodore 64 (C-64). I remember dreaming about having a computer, and even remember trying to save money to buy a Sinclair 1000 which cost about $100.00 but never managed to raise that much money. (I was a kid in a small town in Mexico).
I remember that getting the C-64 was a complete surprise, I don’t think I even thought the Commodore (around $300.00) was in my family’s price range. And usually big gifts were meant to be shared by my older brother and me , but in this case the gift was clearly for me.
My parents got just the Computer no cartridges or storage it was probably 9 months before I saved enough money to buy the Datassette (C-64 used a Tape drive to store programs, no HD back then) and probably about 2 years before I could afford the Disk Drive (1541) . This meant that for a while I had to leave the computer on for days at a time, and that a lot of the programs I wrote (or typed from magazines and books) were never saved once the computer was turned off the programs were gone. (sometimes it took me days to enter the programs into the computer).
I did not know anybody who owned a C-64 so I had to learn everything on my own. One of my friends had a TRS-80 CoCo and another had a VIC-20 a few more had Apple IIe’s and our school also got a couple of Apple IIes but it would be 3 or 4 years until I meet someone who also had a C-64. And since I had so little money to spend I could not afford to buy any of the cool games that where out there for it.
I spend all the money I got from my parents buying Commodore 64 books and computer magazines (Compute! Gazette and Compute! being my favorites)
In all the years I owned the C-64 I only purchased 1 Cartridge (Simons’ BASIC) and two Games (Top Gun and The Pawn) the rest of the programs (mostly games) I typed from books or magazines or I wrote myself.
I once wrote a program for my sisters birthday that played the happy birthday song with and an animated cake. On some of the books I had I found two programs, one that displayed a cake and one played the Happy birthday song. I basically put both of them together so that they would run at the same time, It was probably one of the first programs I ever wrote.
Another program I wrote was a horse racing game. I found a game in a book that allowed you to bet on a horse and then it would randomly select a winner I doubt it was more than 20-30 lines of code. I modified the code to show the top 3 horses and to actually draw the sprites of the horses running on the screen (each horse being a different color).
I had the Commodore 64 Programmer’s Reference Guide and The Second Book of Machine Language I had other programming books but i recall going back to these books over and over. It took me months to get LADS to work (the assembler from SBML) while it took me a few days to type all the assembly code it took me much longer to find all errors I had in the code.
I think I spent time playing on (or with) the C-64 for about 3 1/2 years. On 1986 I moved to different city to go to Highschool and I stayed with my Grandparents, and while I took the C-64 with me I did not have a TV that I could use as a monitor so the C-64 was used very little. I did get a job and eventually managed to save enough money to buy a TV and Floopy Drive for the C-64. But I did no longer wrote programs. It was around this time here that I meet someone else who owned a C-64 and he I was finally able to play the games I had read about for years since he had a large collection of games and no longer used them. I have fond memories of spending hours playing Zork II and M.U.L.E. probably 5-6 years after they were famous.
To be continued…..
Written by Carlos on May 9th, 2007 with 1 comment.
Read more articles on Software Development and Just for Fun.
More Eye candy, Tobe sent me a link to Electric Sheep it is a video screen saver that is generated by harnessing the computing power of idle computers all over the world(similar to the SETI@Home project)
The program is named for Philip K Dick’s novel Do Androids Dream of Electric Sheep? which is loosely the basis of the Movie Blade Runner
Note: it takes a few minutes to run the first time you load it. But it is definitely worth the wait, a broadband connection is recommended.
Found this video on Youtube that was generated with electric sheep.
Written by Carlos on May 8th, 2007 with no comments.
Read more articles on Science and Just for Fun.
« Older articles
No newer articles