I have found a new obsession. Its name is DOSBox.
Back in college, my friends and I used to spend endless hours playing whatever latest computer game we could get our grubby little hands on. (What? Did you actually expect us to study?) While shoot-em-ups like Doom and Scorched Earth were certainly popular, I think we ended up playing more fantasy role-playing adventures than anything else. Eye of the Beholder, The Elder Scrolls: Arena… why, there could have even been a little bit of Nethack thrown in there somewhere. But the game I will probably remember most from back in those days, the game that I think every single one of my buddies played (and finished, IIRC), was World of Xeen.
For the uninitiated, in the early 1990s, New World Computing released a series of RPGs called Might and Magic. (No, no subtle rip-offs of Dungeons & Dragons here, folks….) While I missed the first three installments, in college one of my friends introduced me to Might and Magic IV: Clouds of Xeen. I was instantly hooked. Surely more “sophisticated” gamers of today would scoff at its 320 x 200 graphics, primitive digital sound, and turn-based game play, but hey, it was actually pretty innovative for its time. What really sucked me in was the depth of game play, from the vastness of the world to the ingenuity of some of the puzzles. It had just the right balance of intelligent puzzle solving, tricky spell casting, and brain-dead skull smashing to make a nigh perfect game. But then New World did something to make it even better….
A year later, they released Might and Magic V: Darkside of Xeen. This wasn’t just a sequel, but a continuation of the previous game. In fact, if you installed MMV on the same hard drive as you installed MMIV, the two games would combine to form one big gaming world. Not only was there a whole new world (or side of the world, to get technical) to explore, but forbidden locations in the first game were suddenly opened by new quests from the second. Other games of the time let you import your characters from previous games, but none did anything quite like this. I think we all ended up beating World of Xeen at least twice each. For the longest time, I had to play the game on other people’s computers because the game took up virtually every megabyte of space on my dinky little laptop’s hard drive. Save games were precious jewels to be backed up on multiple redundant floppies.
Ah, alas, time has a habit of marching on. Years and one college degree later, I bought a copy of MM 3-5 on a single disc to have a copy all my own. Unfortunately, by this time DOS was passé and Windows had passed from version numbers to year of (intended) release. Getting Xeen to run was iffy; the generic sound card in more modern systems didn’t like pandering to old Sound Blaster settings so the sound was horrible, while the faster speed of the CPU started leaving the skid marks all over the graphics. (It was if all the monsters had overdosed on sugar, caffeine, and a few illegal stimulants.) I tried playing Xeen this way for a little while (even got my wife to give a try once), but it just wasn’t the same. When my wife and I eBay-ed a bunch of old games while cleaning house in anticipation of our move, I struggled with whether or not I should keep Xeen around or sell it as well. I gave in to sentimentality and chucked the CD into a box so it would make its way to WV.
Then, lo and behold, what did I discover last week? A nifty little program called DOSBox. What is it? An x86 emulator that runs a built-in DOS. That’s right, folks; you can emulate an old style x86 processor running DOS under Mac OS, Linux, or even (gasp) an x86 running DOS-descendent Windows. Imagine that. What’s really interesting about this app is that it emulates hardware like CD-ROMs and sound cards as well, so you can listen to games in their Sound Blaster glory while playing them from ISO images on your hard drive. You can even capture screenshots, sounds, and (with the right codecs installed) short video clips of your game in progress. I couldn’t resist the temptation. I download the program and as soon as I got home I hunted around the office until I found my Xeen CD. It took a little bit of settings tweaking, but I now have a bunch of decade-old memories flooding back to me as I “step right up to the exciting treasure-filled mines of the Red Dwarf Range!” (If you’ve never played the game, you wouldn’t appreciate the reference.)
On the downbeat, it’s bad enough that moving and caring for a newborn child are such huge time sinks. It’s not like I have time to really play this game anymore. But, oh, am I so tempted….
I feel kind of bad apologizing again since that’s how I started the last post (although I think most of you would admit I had a very good excuse for why I hadn’t updated earlier in that case). But I thought I also might take a minute to explain what’s been going on with the blog here, and why it’s been up and down like a hyperactive carnival ride lately.
As recently mentioned, we’ve just moved into the new house here in West Virginia, and we’re still getting settled in. Of course, being the geek that I am, one of the first things that got set up in the new building was the home network. I even came in after closing and before the movers arrived and tested the placement of the wireless access point to see what kind of WiFi signal we’d get. (I’m happy to say I’m getting a stronger signal here than in the house in North Carolina; must be less interference.) We had to wait a few days before the cable company could come in and set up the cable modem, but once they did we were online in no time.
Well, as the observant of you may have noticed, this blog (along with the GPF Store) is actually hosted on my personal Linux box behind said cable modem. (Dynamic DNS is a wonderful thing.) Thus the blog and Store are dependent on this connection and were down in the week or so it took to break the systems down, move them a couple hundred miles, and wait for the cable setup. Not a big deal, as I warned you guys that was coming. As soon as the home network was established, up went Demeter (the Linux box) and the dynamic DNS, and we were back online.
Or so I thought.
I had gotten into the habit of checking in on Demeter periodically during the day from my day job. You know, SSH in, run yum to download updates, check Demeter’s overall health, peek in on the house webcam, etc. However, I started noticing that there were times I couldn’t get in, like the DDNS wasn’t working or Demeter just wasn’t up.
At first I thought it was purely a cable modem issue. Unfortunately, I think our new cable company isn’t quite as reliable as the old one. Judging from the problems our parents have had with their cable modems, it wouldn’t surprise me. My parents’ is ridiculously slow and has a tendency to completely flake out and need the power cycled to recover. Sure, we had the occasional problem with our NC modem, but not the problems we’ve seen here. However, while I’ve caught our cable modem needing a reset a few times, that hasn’t consistently been the problem.
I’d get home after work and notice Demeter seemed to be locked, not responding to mouse or keyboard commands or showing anything on the monitor. The only way to recover from it was to force a hard reboot. Definitely not a good thing for a Linux system, but I have yet to knowingly lose any data. Knowing that we’ve had a few power failures lately (more since we’ve moved into this house than I think we’ve had all year at the old one), I went ahead and sprung for a UPS to make sure Demeter wasn’t going down unexpectedly and failing to recover gracefully. When I caught her doing the same thing after the UPS was installed and known to be fully charged, I knew something else had to be the problem.
So I’ve been pouring over server logs, looking for anything that could be the problem. Nothing seems to show up. I added a small cron that reboots the machine every morning, and that’s helped, but hasn’t solved the issue.
Then I noticed the other day that the machine was up and running, but not responding to the network. The loopback address was working fine, but Demeter couldn’t see the router, any of the other machines on the LAN, or the Internet at large. Every time I tried to look at the network service daemon, the status check would lock up. I rebooted and that seemed to solve the problem, at least for the moment.
I added another cron to go in and restart the networking daemon every hour. That seems to have done pretty good so far, as Demeter seemed to be accessible pretty much all day yesterday. I’ve since scaled back this network restart to once every two hours, hoping that wouldn’t be quite as much overkill. I’d be tempted to suspect that Demeter’s NIC is going bad, but since restarting the network service seems to fix things, it doesn’t sound like a hardware issue. However, I can’t find anything in any log on the system that seems to indicate anything is going wrong, and I’m wondering if the fact that these symptoms didn’t appear until we moved to WV is a coincidence or not.
Anyhoo, I thought I’d let you know what was going on. I don’t have a long term fix for the situation, but my little stop-gap measure seems to be doing the trick at the moment. While I’m a Linux and Open Source proponent, I’ll readily admit I’m not an expert. I’ll keep poking around to see what I can find, and if anything interesting crops up, I’ll try to mention it.
I apologize for not updating in so long, folks. But I swear it’s for a good reason. You see, I’ve had to do a lot of crash-course reading in the past few days….
(For those who can’t read the cover, that’s a copy of The Baby Owner’s Manual, which is pretty darn hilarious and informative at the same time. It comes highly recommended from this new end user.)
Well, it was a little bit unexpected, but the time has finally come. For those who have been keeping tabs on the baby updates ever since our initial announcement, this is the big payoff. I’m extremely proud to announce that Benjamin Thomas Darlington was born Sunday, August 13 at 6:52 pm Eastern Daylight Time (10:52 pm GMT). He weighed 6 pounds 11.6 ounces (3.05 kg) and was 19 and 3/4 inches long (50.165 cm). Needless to say, this has kept me incredibly busy over the past week; I was offline for a good five and a half days, and even after that I’ve been so busy that this post has been written in a very piecemeal fashion. But I wanted to make sure I chronicled everything (or at least enough to satiate those of you who really want to know and for posterity because of my own occasionally faulty memory).
On Friday, August 11, my wife (“kmd” from the GPF forum) went in for her routine 37-week doctor’s appointment and ultrasound. Something big was going on at my day job that day (a number of dignitaries were coming to the building’s dedication, including the state governor and our senator), but I had already arranged my schedule to get off early so kmd and I could go to the Division of Motor Vehicles and start working on transferring our drivers licenses and vehicle registrations to our new home state. I happened to get into town just in time for the ultrasound, so I thought it would be nice to swing by there, pick her up, and proceed to the DMV afterwards. Boy, were we in for a change of plans.
At the ultrasound, the technician seemed concerned that her amniotic fluid was getting low. I can’t remember the exact numbers, but it was about half of what it was supposed to be. As far as we knew (or had evidence to support), her water hadn’t broken yet, so this was a major surprise. kmd asked what would likely happen, and the tech said she would probably be admitted to the hospital overnight for observation. Of course, that’s really the doctor’s call, and since the ultrasound was to precede the doctor’s appointment, we immediately made our way down the street to the next office.
“Observation” was not what the doctor seemed to have in mind. When he saw the ultrasound results, his words were something to the effect of “let’s get that baby out of there.” The decision was made for the baby’s and mother’s safety to induce labor. At 37 weeks, he may be a bit early, but definitely strong enough to make it outside the womb. We left the doctor’s office sometime between noon and 1 pm with instructions to be at the hospital by 6 pm and be ready to bring a newborn home with us.
This, of course, was not what we expected. We were definitely not ready for this course of events. While the nursery was pretty much put together, we didn’t know where anything in there was, as it was put together by various family members while we were busy doing other things. The rest of the house, of course, was a shambles, as we had only been in the house for about a week and were still struggling to put things away. Undoubtedly, the local laws require infant car seats to be installed by trained civil service personnel like police officers or firefighters, so we were planning to make an appointment later that day to get the cars in to have the car seats installed. Needless to say, an emergency trip to the fire station was imminent. We hadn’t even packed her hospital bag yet… another thing we were planning to do in the next week.
We got to the hospital right on time and were (relatively) quickly escorted to our room. Within a few hours, the doctors and nurses were buzzing about, getting things ready. Since her body was not ready, the doctors administered some drugs to dilate her cervix, a process which can take 12 hours per dose. Needless to say, we were in for a long wait.
Saturday came and went with little progress. While the drugs were working, her cervix was not dilating nearly as quickly as they had hoped. Additional doses were applied, as well a drug to induce contractions. An epidural soon followed. We spent two long, sleepless nights there in the birthing room, with other mothers coming and going in the surrounding rooms, undoubtedly with a lot more success than we were having.
By Sunday afternoon, things were still not promising. Her cervix had only dilated to seven centimeters (or eight, depending on which doctor/midwife you asked) and only became 90% effaced. In his oh-so-elegant and technical assessment, one doctor said that her contractions weren’t “strong enough to take a poop.” By early afternoon, the decision was made to perform a c-section. I was handed a set of disposable scrubs and informed to suit up while kmd was given a number of additional IVs in preparation. At around 6 pm she was wheeled into the operating room and I was instructed to wait outside until they were ready for me.
Of course, with so many other things going wrong, we couldn’t get through the rest of the process that easily. My poor little sweetie had been so thoroughly pumped full of IV fluids that all her limbs were terribly swollen. They needed to put in additional IVs for the c-section, but they couldn’t find any usable veins in her arms or legs. Eventually, they had to settle for inserting a pipeline directly into her jugular vein… which still required several attempts. During this agonizing 45 minute ordeal, I was forced to wait outside the operating room, listening to my wife screaming and moaning as nurses and anesthesiologists poked and prodded her repeatedly. Finally, I was ushered inside, where the procedure was underway.
I can’t say I remember every single detail of the actual c-section. There was so much going on that I felt overwhelmed, bombarded with so many events happening in rapid succession. I was ushered onto a stool next to my wife’s head, where I could hold her outstretched hand and place another hand on her forehead. The struggle of the IVs was enough to make her extremely uncomfortable, and it wasn’t long before they had to effectively knock her out (or at least make her semi-coherent) to help her deal with the discomfort and pain. I distinctly remember getting some sort of IV spilled all over my scrubs. I dared to peek over the drape only twice, the first and most important time being when they announced that they were pulling out my son. I saw this squirming, bloody, blue mass (with an astonishing amount of black hair) pulled from the incision. They quickly suctioned the fluids from his throat and nose and I heard my son’s distinctive cry for the first time. I was asked if I wanted to cut the umbilical cord (symbolically, at least, as they had already cut the cord to move him from the operating table). I did, and I think I remember telling him to be a good boy and not to play with the scissors, which they set right next to him. I sat back down next to my wife to comfort her. When they asked me if I wanted to stay with her or follow the nurses and the baby to the nursery, I was plagued with crushing indecision. I’ve never wanted to be in two places at the same time so badly. I finally decided that my son had been declared perfectly healthy, so I would stay with my sweetie until they wheeled her out.
The next few days were a blur. We spent a great deal of time just trying to rest in between bombardments of family members and well-wishers. We were awakened every so many hours by nurses bringing Ben in from the nursery so we could attempt to breastfeed him (a task that took days for us to get the hang of, and we’re still working diligently at with mixed success). I think I only got three showers in six days; kmd got far less. I didn’t get a shave until the following Friday, a week since my last shave, the scruffiest I’ve been since I started the new job.
Everyone is home and resting now. We’ve started to get into a routine (which unfortunately still means at least one or more middle-of-the-night feedings and/or diaper changes), and Ben is about to celebrate his first full week of life outside the womb. Between the move and the birth, I haven’t had any time to work on comics, which in an odd sort of way has been refreshing, like an unplanned vacation.
One final note: During our childbirthing class the previous Thursday, kmd joked about us missing the final class because the baby wouldn’t wait until his due date. Needless to say, the irony of her statement came back to haunt her the following Monday or Tuesday. When the next Thursday rolled around, we obviously didn’t make it to class (as we needed to take care of the new addition). However, the instructor called us at home during the class, as everyone there was dying to find out how we were doing. (I think most of the first-time mothers were wanting to know how things went, and were probably scared to death once they heard the results.)
Now excuse me. I just got him fed, so I’ve got three or four hours of sleep until it’s time to feed him again….