Gonzo blogging from the Annie Leibovitz of the software development world.

Category: Technology (Page 2 of 2)

When they say unsupported, listen to them

Sometimes I’m the kind of guy that doesn’t listen to anyone. I also don’t read manuals or bother with tech support. If I can’t figure a system out in a few minutes then I assume it’s so wonky or complicated then it’s not worth my time. It’s a finely tuned skill I’ve progressed over the years and I have to say that I haven’t come across anything too bad that I can’t handle.

I have a system with several VirtualPC images. One of those images is for the new SharePoint 2003 version. It’s an all inclusive system: AD Domain Controller (SharePoint needs one and in a development environment, it’s not nice to hijack the corporate one without asking), SPS, MSDE, Visual Studio.NET, etc. When you do an install of SPS on a domain controller, it does not give you the option of installing MSDE (because its not a supported configuration). They assume that you will have a SQL server on another box. So I decided to install MSDE ahead of time and avoid the problem. The install took a while (with all that software don’t plan anything with the wife for the night). After it was done, it was time to create a new portal. It churned and churned and churned, but in the end blew up and spat out a Portal Creation error. Grrrrr. Arrgh.

Poking around the MSKB I found some possibilities:

  • Make sure SQL (or MSDE) is installed with collation set to Case Insensitive. Yeah, got that.
  • Make sure there are no anti-virus tools on the server that aren’t built with SharePoint in mind. Check, got that.
  • Make sure SQL (or MSDE) is using TCP/IP. Huh? Nope. So I changed it. Churn, churn, churn as it created the site. There was much rejoicing.

So the moral of the story: unless time is not important to you, when they say unsupported, listen to them.

Back to basics

I’ve been working with computers on and off again since I was a wee lad of about 15. Back then it was a Timex Sinclair 1000 that had a whopping 4k (yes, 4,000 bytes) of memory. That’s about enough to display this blog but that’s it. As we evolved in technology, I evolved in computers moving up the stack through Apple, Commodore, then my first IBM PC (a 4Mhz AT system with a gigantic 20 megabyte drive, which is just about enough to hold an average PowerPoint file). Ahh, the good old days. Yes, back then it was modems. Little devices that connected to your phone line and let you communicate with the outside world. Telnet? Internet? Cable? DSN? Nope. It was good old analog to digital conversion at 120 bits per second. Again, I traversed the technology tree growing up to 300, then 1200 then 2400 baud. Back then there was no internet so naturally communities got together the old fashioned way, through a BBS. A BBS is sort of like what a website is today. Files, chat areas, messages, and games all in one package. BBS software was generally clumsy but nice. An average SysOp (System Operator) could run his own system with a couple of phone lines one a single (dedicated) machine. Again I started small, with a Commodore 64 and a stack of 1541 disk drives stacked up holding the software and file areas. Every few minutes you would hear the modem ring, the disk drives spin up and someone was online either snagging some files, writing a message, or playing a game.

Again with all things, time marches forward. Today the BBS is all but dead but there’s hope. Systems are still out there. The Telnet BBS Guide lists hundreds of systems that are online. These days however times have changed. Now systems are running as background processes on peoples desktops hosting dozens of simultaneous connections through telnet and the Internet. Fantastic speeds and all that stuff are great, but the best part is that it’s still a unified community with a single theme. Some sites are catered to technical discussions while others are just setup for games.

I started writing BBS games back in the late 1980s. Back then it started as BASIC or maybe Pascal games written using a variety of toolkits (or grow your own). Sometime in the early 90’s I got invovled with some folks running a system in Toronto called Metropolis. They were running a BBS package called MajorBBS. What was unique about MajorBBS was that all nodes (12 at the time) were online at the same time, in real time. You may think this would be the norm but it wasn’t. Most BBS systems back then were a single machine running a single node (generally because multi-tasking wasn’t big back then). There was also a constraint that a PC could only run 1 (or maybe 2) COM ports to connect the modem to. In addition to this, these systems couldn’t talk to each other because when a user logged onto node 1, node 2 was just sitting there waiting for a call. When node 2 logged in, how could it see node 1 which was on a machine somewhere else? Even with networks, there was no real way for one process sitting on one PC to talk to another (even if they were in the same room).

MajorBBS changed that thinking by running a single executable program with everything loaded up into memory for all nodes. A user dialed into the system and was connected by a single thread that was constantly checking each line. In addition to that, there was a process running (well, the BBS itself) that would handle input and output for every user. When someone typed a sentance and pressed ENTER, it was sent to the BBS through the phone line. The BBS would get it, figure out who else it should be showing that information to (mainly other users that were in the same place in the BBS) and present it to them. Thus was born the teleconfernce. A live, interactive place where BBS users could go and talk. Everyone saw what everyone said in pretty much real time. Yes, a chat room, but this was back 15 years ago.

MajorBBS introduced something else back then with this technology. Live interactive games. Most BBS games (called Doors) were programs that were run on that single node. When a user wanted to play a game, he selected it from the menu and the BBS would shell out to the operating system and launch the door. The door was really just a separate executable program that someone wrote and used a drop file (a file that told the door who was calling it) and some kind of communications protocol to send and recieve messages to the user running it. Again, there was no interaction with a user running a door on node 1 with someone else running the same door on node 2. The two just weren’t talking to each other. Enter MajorBBS modules. These were games that were loaded up into memory when the BBS started up and when 2 people entered the game they would immediately see each other. Ahh, now you’re seeing the picture unfold. Player vs. player battles. Live chat and co-operative questing. Neat stuff for a simple text connection to a system. Another offset from this was the fact that not only was the BBS going back to the module to process each users input, but it was looping through the module itself. So now you could have a constant running game which meant you could program NPCs (non-player characters) to wander around in a game and do things. You could write weather patterns that changed with the passing of time. No longer was the world a static place.

MajorBBS unfortunately has all but died from the scene. First off it was VERY expensive to run. We spent close to $3000 a month to keep the phone lines running as well the software was no walk in the park. A 2 node version started at $59 but then additional nodes were a couple of hundred dollars each and games? Most BBS games (doors) run you anywhere from $10-$30. Freeware was not a word MajorBBS module writers used (I know because I was one of them). The development kit alone was a few thousand dollars plus you had to buy a system to test it on. Sheesh. By the time you’re finished, you’ve spent a small fortune and now have to sell these games to a bunch of SysOps who shelled out just as much for their piece. So it’s no wonder that we charged several hundred dollars for these modules just to recoup our costs. MajorBBS also had a lot of bad things happen to it. Tim Stryker, the creator of it, died from a heart attack when he was just 40 years old. The community scene was split up and never really had a unification. The product changed hands several times and pretty much lost focus on what it was trying to do. Today, MajorBBS has been replaced by a product called WorldGroup however it died a horrible death as well. These days people just won’t pay thousdands of dollars to run a hobby BBS.

There is an answer and that has come in the form of telnet BBS systems, one in particular called Synchronet. Synchronet is a wonder piece of work that is now freeware and the source has been released under the GNU General Public License (GPL). Now hobbyists running Linux, DOS, Windows, or even OS/2 can host their own multi-node BBS system for the cost of their internet connection.

The last piece of the puzzle is to get back to basics with games. Now that we have a nice, stable and always updated system to look at it would be great to bring back those doors and modules that have all but been forgotten. I for one am looking at releasing my old modules to work with Synchronet and will be looking at other ways to get people interested in door development. It’s a great thing to have 10 guys online all beating the living daylights out of an army of Orcs and not need a 1ghz machine with the best video drivers in it. BBS doors are all text based, and so should stay that way.

Happy bandwidth exceeded and New Years Resolutions, oh my

Happy New Years everyone! My corner of the world has entered into 2004. Here I am looking into another year full of challenges and opportunities.

I’m not big on New Years resolutions. I’m not really akin to the fact that people seem to think that the end of the year means they have to resolve themselves to do something that they probably should have done in the first place. I’m the biggest procrastinator. In the past year (and beyond) I don’t know how many times I’ve started or said something and never followed through. That’s my flaw (one of several). I shoot out of the gates with the best of intentions and all the ambition and excitement of a giddy school girl, only to flame out a few short steps past the start line.

So for this year my resolution is to yank up my undies and complete all those things flailing in the wind right now, and the dozen other ideas I have in my head that are just itching to be released. I’ve been getting better over the past while as I try to get closure on things and I do continue to improve, however it needs some serious work if it’s to go anywhere.

For you guys it’s cleaning up and releasing SimExplorer that keeps hounding me, getting the other software going and all that jazz. Yeah, you probably heard this before so you can tune it out. Well, December was a bit of a write off. I burned out like a flame in my developer challenge at work and for the first 20 days I worked pretty much 18+ hours a day. Not that I’m complaining, it’s my way but there is a physical limit on how much someone can be at doing something. The rest of it, well, Christmas and lack of inspiration/laziness on my part. Then sometime around then I blew the bandwidth limit on the site so now it’s more moolah to keep the site going.

If these sound like excuses, maybe they are but I’m just stating the facts. No, I’m still not burnt out writing Sims software. If anything I have a new invigoration into it. For those of you that can only bitch, whine, and complain in the comment system (if it’s still up, he’s having bandwidth/financial woes as well) then get the hell out of here. I’m serious. What are you doing coming here and just pissing everyone off. Really, it’s no skin off my back and it’s not like I’m going to sit up and work harder to prove you wrong. It’s a personal journey for me and a self-satisfaction. So if all you can do is come here, hide behind an anonymous commenting system and bitch about how bad a job I’m doing get lost. I’ve probably said this before so this in itself may be old news. As for me, I feel I’m like Preston Tucker in sorts. I keep building things that are somewhat useful. Sure, they’re built in my garage with a minimal of staff and help and sometimes don’t work but I’m having fun and once in awhile, something good comes of it. I’m in the for the long haul.

Look for a new me in the new year, completed tasks and projects, and more great things from what I call a mind.

Minor correction and clarification

I was in a mist when I posted the new SimExplorer information. Yes, it does work with Makin’ Magic the latest EP. I had looked up at my collection and the last one on the rack was Superstar but it has been tested with MM so no worries there.

For those that care, the Developer Challenge I put on at work was me locking 3 teams of 5 people each into a room for a day. Their mission was to take an existing app based on legacy technology and rewrite it using .NET. It’s a way to get the company closer to the .NET world and get the developers motivated for success. It was a huge event with testers, co-ordinators, all kinds of people on call in case the teams needed anything. Basically a perfect development environment for writing an app, no red tape and everything you need at your fingertips. The teams knocked out 3 new .NET apps that we’ll be deploying in the new year.

Newer posts »