When I read a book like Fire in the Valley it’s a trip to my very early teen years. I had zero money with which to buy a personal computer but I was completely obsessed with them. I don’t recall for sure whether I actually had my first computer yet at the time that the December 1980 issue of Byte Magazine came out, but it was probably pretty close to around that time. It was an unusual issue for them because it focused on computer games (specifically Adventure games of the type that Scott Adams sold but there was plenty more in the issue than that). I know that I must have checked out that one issue half a dozen times from the periodicals room at the Fort Worth Public Library downtown so I could read through it.
If I didn’t have it yet, I did get a computer within a year or so because I would split the price of a TI 99/4 with my best friend Stephen Watkins.
Just recently the Internet Archive made available the entire run of Byte Magazine so you can download anything you want to see about what computing was like from 1975 to 1998 but I naturally gravitated to the December 1980 issue just to see what it was I was looking at 33 years ago.
- Everything that’s easy today is difficult then. Buying software, storing your files, communicating with other people, displaying color graphics, and printing are all very difficult. You need to buy special hardware or software and hook up a crap-ton of stuff yourself or hire somebody by the hour to figure it out for you. OK, you’re right, printing still sucks 33 years later; but it used to be worse.
- They’re all out of business. This issue is 400+ pages of gravestones with Apple and Radio Shack being some of the only survivors (and I’m not sure about Radio Shack lasting another 33 years). Microsoft, Sony, Seiko, and HP all make appearances in other people’s ads but basically every hardware manufacturer, computer store, and software maker here is gone gone gone.
- It may not have much more RAM but the $9 Arduino I just bought is basically a super fast Apple II on a card.
- My thought that you couldn’t do much with 32K should clearly be re-calibrated, we did everything with just that much room once upon a time.
- Is that really a wiring diagram for building your own video board in a national computer magazine?!?
- We just devoted several pages to a Basic language game listing that doubtless would have only worked for one model of computer. Everything about that is archaic.
So go download your particular tidbit of nostalgia and try to imagine what a computer magazine of today would look like to you in 2046.
I’ve reached a point where I actually want very little from my app server. My requirements for a web server are the antithesis of the hulking monoliths that dominate the Java EE world because all I want is:
- Something that can handle HTTPS encryption. Compression is nice to have too, but not an actual requirement.
- It would be a huge help if it offered some way of handling authentication and then validated it on a variety of paths (somehow this usually gets skipped in the big app servers as very important).
- It can support my building of an API so my client (which at the moment is AngularJS but could just as easily be Ember.js or Backbone.js) has a back-end to which it can connect.
- Offers some way for the API to be able to connect to some form of storage to retrieve and persist data, probably by connecting to a database or NoSQL solution.
If you give me just that from a server you’ve given me enough to build a lot of different kinds of applications. Not all of them, but probably a majority.
Note that the first two requirements I mentioned above aren’t even strict requirements. If I put Apache’s web server in front of the app server then I can handle serving up the static files or HTTPS encryption and the app server is needed even less. But for the purposes of easy setup for software development it’s nice if the app server can stand alone for a while without requiring Apache.
That’s why I’m pretty excited about Node.js at the moment. It’s an example of “just enough server” because you can configure a server, seemingly very simply, that will do just that handful of things and no more. Now, this is the classic example of having read about something but not having actually done it yet. I haven’t built anything of any real size with Node.js yet so once I really get in there I may completely change my mind about it. But I’m keen to see if I’m right and it can be that for me.
I’m just so clever I’m pretty much a complete idiot. More than a week ago a friend of mine at work pointed out a new course on MongoDB and said, “You should take that, you’ve been talking about that and it’s free.” Since having a JSON document based storage to go with Node.js is a pretty natural fit, I promptly signed up for 10gen’s course M101JS MongoDB for Node.js Developers and then I equally promptly… forgot all about it. But writing this entry yesterday jogged my memory a little and I thought, “Hey, I should go check out that course, I can start watching the lectures and maybe catch up to everybody else.”
So I went to check it out and discovered that there were lectures I hadn’t watched but better than that, it was a course with a grade, and it was a course with homework too. Yay. Fortunately, while the lectures took a while the homework took only 15 minutes or so for the first one and I’m all caught up. So maybe once this course is done, you can join their next one if they offer it again for free. But try to remember your homework.