Monday, July 12, 2010

"Book" to roots

I have been a developer since the early 80's and have coded on a VIC-20, C-64, C-128, TRS-80 (I, III, and IV), PC (DOS, 95, 98, XP, and now 7...skipped Vista), Mac (OS/X only), iPod Touch/iPhone (thoroughly hated coding on these), and now the Droid. I have used Assembler, BASIC, COBOL, Pascal, Prolog, C, C++, C#, Objective C, Java, JavaScript, PHP, PERL, HTML, ActionScript (3.0)...and likely more. I've also written numerous game development articles and had two books published on 2D game development as well.

Well, after all of this I had finally gotten to the point (about 5 years ago) where coding started losing the same level of excitement that it used to have. I still love coding games, but just plain coding, tinkering, and hacking is not all that thrilling anymore.

Fortunately, I picked up the book "Code", by Charles Petzold last week and I have suddenly realized the problem. I miss the days of the VIC-20, C-64, and all the other nerdy machines made! There is so much abstraction now that the tinkering and hacking just doesn't have that same draw. At least not for me. Mr. Petzold really brought me back to my roots with his excellent book.

I'm planning to order a NerdKit (http://www.nerdkits.com) later this week, and will eventually like snag a Tower System (http://www.towergeeks.org/page/the-tower-system) before I finally join up for the Game Institute class on creating your own video game console and game (http://www.gameinstitute.com/Video_Game_Console_Design.html).

I've never been much into electronics, so it will also be an exciting new jump into a technological area. Building stuff and the coding to it just sounds so cool that I must give myself a +2500 geek points immediately upon completion of my first project. Sadly this stuff is not cheap and in this economy there is a lot of penny-pinching going on. So it's going to take some time to get things going, but that's cool. There are loads of FREE sites out there and plenty of cheap used books to read at nights and on the weekends when there is time.

I loved tinkering with the old Commodore's and TI's back in the day and I'm already excited about the potentialities of these little kits. But (those of you who know me) this is not a take-over-the-world situation for me. I'm going to treat this as nothing but a hobby. No deadlines, no next-biggest-thing projects...just nerdy learning and geeky fun. That's it.

It's like a technological breath of fresh air to go back to a point where abstraction is minimal. Many of these kits offer C as the connection point, and I'll likely utilize that on tougher projects, but wherever possible I'm using Assembler (or ML, if at all possible!). I can already imagine spending hours and hours fiddling with a project whereby I toil and toil using Assembler and various schematics to satisfy a project that simply makes an LED blink once. Yes, it's essentially pointless, but damn if it ain't cool!

So, if you're looking to get that old-skool interest again, check out Petzold's book. It's an interesting read and it may serve re-spark your nerdiness too.

5 comments:

  1. I agree, so much is just hidden away these days that it is pretty boring.

    Which is exactly why my hobby coding went to Embedded stuff with the PIC MCU's from microchip. Plus I had all those electronic and engineering qualifications just doing nothing ;)

    So I completely understand your viewpoint on this one! I went the PIC method purely because they're cheap, and I already had the backing in electronic design so having to build all my own stuff from scratch didn't phase me at all.

    ReplyDelete
  2. Ah, I had no idea you were into that stuff, though it doesn't surprise me since you're as all over the map as I am. :) Yet one more think I'll likely pester you about!

    I'm not there on the expertise to do it from scratch just yet, but eventually I hope to be able to do just that.

    ReplyDelete
  3. I wish you would write another book on Purebasic. It's up to version 4.5 now and your old book is not as useful because of all the command changes. People are always asking how to do platformers and 2D RPGS, but there isn't a book source for that anymore in Purebasic-land.

    ReplyDelete
  4. Wow. It's been a long time since I coded in PB. Great language too. Smartly put together.

    Unfortunately, these days there's so many other projects that I'm on that I just don't have time to reopen PB, BB, or even DB for that matter. :/

    One thing I can tell you, though, is that if YOU start writing little tutorials you'll learn the language better than if you read a book from me. That's how I get going with most anything. Since you're going to have to be careful about how you describe things to people, you'll have to study and tinker with the language deeply enough to make you feel comfortable with it before explaining it to others. By the time you're on your 10th tutorial, you'll be far better off than reading any book I'd write. Tinkering and hacking and not being afraid to break anything is the key. It's technology, you're supposed to break it! :)

    Good luck!

    ReplyDelete
  5. That sounds like a pretty good idea, actually. I haven't used PB in a while (I went to look at C# and XNA for a bit). Perhaps if I wrote tutorials I could teach myself and others at the same time.

    The biggest problem I've found in learning programming (especially so with open source projects) is the lack of up-to-date beginner materials. New users will always find a tutorial or a book, but half the time it's not well commented or relies on some command that was deprecated 3 versions ago. Forums are often not beginner friendly, and the ones that are become overrun with people who really want a game maker, not a programming language.

    The Nerdkits look like fun, by the way. You might also enjoy looking at Arduino. There's also Sparkle kits, that are a little more basic than interfacing with a microcontroller.

    http://kits.sparklelabs.com/

    http://www.arduino.cc/en/Guide/HomePage

    I used to be an engineering assistant a long time ago. I spent a lot of time breathing solder fumes. X)

    Enjoy. :)

    ReplyDelete