Category Archives: General Interest

Open a DOS Prompt in Specific Folder

I use the Windows command prompt a lot and have always wondered if you could open it in a specific folder from Windows Explorer. To save myself all that tedious mucking about changing directories (cd \, cd .., long file names urghhh) once the command prompt was open. After digging about a bit today I’ve hit on a fabulous way of doing it. Here’s how:

Navigate to your folder of choice in Windows Explorer

Choosing a Folder in Windows Explorer

Choosing a Folder in Windows Explorer

Type CMD into Windows Explorer address bar

Type CMD into the address bar

Type CMD into the address bar

Enjoy your DOS prompt window goodness

DOS Prompt Window Goodies

DOS Prompt Window Goodies

Help Brian Buy New Computers

Brian Lunduke has a cool blog that I read. He’s a Linux advocate, sometimes tech journalist, and writer of children’s and comic books. And sadly someone just robbed him and stole all of his computers. Rather than appeal for cash to get new ones he’s encouraging people to spread the word about his books (which can be bought here) in the hope of selling enough to pay for new computers. As a prize he’s going to randomly choose someone who helps spread the word to become a character in his next book entitled “Steve’s Laptop”. Now I don’t particularly care about winning anything but I would like a copy of “Linux is Badass” so I’m hoping that one of my readers will pony up the $2 to buy it for me. I’d do it myself but I am cheap.

WordPress feeds my desires for useless statistics much better than MovableType ever could. Out of the box I can see how many words are in a post but even better I can get aggregate stats for the blog as a whole using a plugin like Word Stats. Below you can see the statistics as they stand right now. Pointless but still cool to know.

What Mark Did Statistics

What Mark Did Statistics

Here we are on WordPress

Well it’s taken me half a day but it was fairly painless. I’ve ported over about 80 blog entries to WordPress and put some 301 redirects in the .htaccess file to redirect the old MovableType URLs to the new ones. I had to install a number of WP plugins to get things working the way I wanted. This included AuthorSure (for Google+ authorship), Google XML Sitemaps, NK Google Analytics, Responsive Lightbox, WordPress SEO, and WP Syntax Highlighter. I must say being able to seamlessly upload images from within the WP editor and markup code directly (without having to remember codes) is fabulous.

There’s still a couple of things to sort out, mainly to do with the logo. But I am sick of doing this today so I’ll leave it for another (more motivated) day.

Power Surges, Dead Macs, and VirtualBox

Power Surges

It’s been something of a disaster here in the last 10 days. Things were going swimmingly until last Friday when the power flickered on and off. Normal the quality of power supply here is excellent and this is the first time the power had gone off in a while. All of my hardware (or so I thought) is plugged into surge protected power boards so I wasn’t too worried. My main PC came back up no problems as did the laptop, modem, network switch and everything else. But I couldn’t get a connection to the internet from any computer.

Dead Router

Several ADSL router reboots later and with the help of an old laptop I’d isolated the problem to being in my ADSL Modem/Router. It just failed to connect to the internet. OK, dead modem, At that point I was a bit baffled why it would be dead because the modem is plugged into a high quality surge stopping power board. Off to the computer shop I go and 30 minutes later come back with a Billion 7800 NXL router. I picked it because of the dual band WiFi and the capability of running an external USB device. Got that home, connected it to the ‘net without issue and then plugged the network cable from my network switch to the modem. And bang, down went the modem. Uh-oh. Well it turns out the network switch wasn’t plugged into a surge protector. So it was dead and doing weird things to anything connected to it. So, I pulled the switch out of the network and connected the various PC’s directly to the modem and everything came back online. Yay. Or not.

The Dead Mac Mini

The Dead Mac Mini

Dead Mac Mini

At this point I’d plugged in the Mac Mini Server with dual RAID disks which acts as a simple network file server and also runs a series of CRON jobs to perform rsync driven backups from various servers around the internet that I look after. The Mac had appeared to boot up OK. I say appeared because I don’t actually run this machine with a monitor. In fact the last time I had a monitor plugged into it was two years ago. The only way I can tell it’s alive is by a single LED on the front and whether or not I could access the shared directories we use every day. It turns out I couldn’t access anything from it. I couldn’t open a PuTTy session with it either. Anyway, to cut a long story short I had to find a spare monitor and keyboard and mouse to plug into it and see if I could log into the OS via the GUI. Turns out the Mac wouldn’t boot up reliably, would occasionally let me log in and then freeze, or would just freeze and the opening login screen. Bugger that’s dead too.

Emergency Remote Backups

At this stage I was getting nervous because there were no backups being done of anything anymore. I quickly installed an Ubuntu virtual machine in Virtual Box and got some jobs going to rsync my files down from various remote servers in the USA. There was a bit of a hassle getting the Ubuntu client to connect to shared drives on the Windows 7 Host but found this web page to be very helpful. Basically I created a directory on the Ubuntu client using:

sudo mkdir /media/share-name

And then mounted the VirtualBox shared folder using:

sudo mount -f vboxsf shared-folder-name /media/shared-name

I wanted the mount to be persistent and I couldn’t make heads or tails of solutions I’d found that suggested adding entries to /etc/fstab. So I ended up creating a shell script with this in it:

sudo mount -f vboxsf shared-folder-name /media/shared-name
return 0

Then I made the script executable using:

sudo chmod +x script.sh

Then added an entry to my /etc/rs.local file with something like this:

/path/to/script.sh

Once that was done my lovely VirtualBox shared folders were available to my various cron jobs when I started up my Ubuntu VM. Once the CRON jobs were run at least I’d have up-to-date backups on a disk in my office.

The New PC

The New PC

A New PC

If there’s been one bit of luck in this whole episode it’s that I happened to have the makings of a new PC sitting in boxes in my office when the power surge happened. I’d been planning on upgrading my main PC and had bought the components in preparation of a leisurely build and test cycle before I transitioned to the new machine. Clearly there was a rush on and I needed the PC to act as a primary shared file server and to be running back scripts rather than my main development PC. So one very late Friday night later I had the machine built and Windows 7×64 Pro installed on it.

I don’t really want to talk to much about the specs of the PC because, well, it bores me. But if you want to know it’s an i5-3570 (my first Intel machine) on a ASUS motherboard with 16GB of ram, a Gigabyte 7850 video card, a 256GB SSD boot drive and a WD Green 2TB hard disk. I was primarily interested in keeping the machine quiet so there’s a high end modular PSU in the machine, a Noctua HSF combination with a low speed 150mm fan and it’s all sitting in a huge well ventilated Corsair Carbide 500R case. The machine seems to work well, is very quiet, and operates much cooler than the AMD based machine I’m using right now. I’ve installed VirtualBox on the new PC too and have Ubuntu running in it performing all of the required backup tasks that I had running on my main PC for just a day or two. The new PC is also acting as a central file repository on my network and is keeping synced copies of all critical files on several external USB drives. This setup will have to tide me over until the Mac returns.

Lessons Learned

This whole disaster could have been avoided if I’d just taken care with how I’d had the network switch had been plugged into the power. I suspect it wiped out the Mac Mini and the old ADSL modem via network cables. I’m just lucky it didn’t take out my main PC and laptop as well. We had minimal data loss because my last backup was just a few hours old. All backups here are automatic and the effort I put into the system a while back paid off in spades. Most of my time has been lost building the new PC, getting a grip on Ubuntu and how it works with VirtualBox, and running backwards and forwards to computer shops and repairers. I’ve also realised I needed a real UPS to allow me to gracefully shut down my computers when the power goes off next time.

How Just Being Nice Can Work

It’s been quiet here lately. My online businesses have been taking up all of my time as have a number of different new projects my partner and I have been working on. I thought it was worth popping in to share small story though.

I’ve been concentrating on providing all of my customers with an exemplary support experience in the last 4 months. That’s not to say I haven’t always wanted to give them best support I can, but it’s something I’ve really been working hard at lately. Just small things like addressing each email personally to them, sending a follow up if I haven’t heard back from them, and making sure to thank them when they let me know if a problem has been solved. This means I spend a bit longer on my support tasks but hopefully it results in a more engaged customer base. More likely to persist with using my products, more likely to pay their support renewal when it comes due, and more likely to mention my products to others in real life.

The last couple of days saw one user of Timesheets Lite think she was using the free version when in reality she’d been using the trial of the commercial version. She wanted to keep using the software for free. This does happen from time to time (perhaps 2-3 times a year) and usually adopt a no-compromise stance something along the lines of “buy the software if you want to keep using it”. They’ve run the trial through 30 days with continual warnings that the software WASN’T the free version and only decided to do something about it when they are finally proven it really isn’t the free version when the trial expires and they are locked out.

In this case I decided to take a different approach more along my current “exemplary customer service” track. I offered to give the user a free Timesheets Lite license if she would write a short paragraph on how she’s using the software and what sort of benefits she’s seen from using it. To my surprise she responded quickly and said “That is a perfect compromise and I really appreciate it. Customer service is everything!”. And bought a license. So there you have it. Be nice, don’t take the hard line, and you may just end up winning a customer you were never going to win any other way.

I’m Such a Silly Tanker

When I was a kid I used to build models, mostly planes. A few years back when I needed something to distract me I built a couple of small tank models. Recently, due to the bad influence of a friend, I bought my first 1/35 scale tank model. It’s a Sherman Firefly, which is a standard US Sherman modified by the British to fit their high velocity 17pdr cannon. These tanks saw service in the last couple of years of WW2 and were highly valued because they were pretty much the only allied tank that could engage German armour at range and expect to destroy them.

The one I built is a Dragon Models 1:35 Sherman Firefly 1C Hybrid. The nomenclature means that the tank looked liked a Sherman M4A1 (Sherman II) which had a cast hull from the front and an M4 (Sherman 1) which had a welded hull from the rear. The marrying up of the cast front hull and the welded rear hull gives rise to the “hybrid” term. The “C” means the tank was armed with the 17pdr which incidentally was a 76mm weapon. Anyway, enough geeky tank stuff. I promised my partner that if I bought this model that I’d actually finish it. And so I did. You can see it below. I decided to mark it up as a New Zealand tank even though I am not sure that any Firefly 1C’s actually served with that country’s forces in WW2. I could only find reference to Firefly VC’s (based on the Sherman M4A4) serving with New Zealand in Italy. Who cares though, I am not a scale modelling fanatic.

1:35 Sherman Firefly 1C Hybrid

1:35 Sherman Firefly 1C Hybrid

I had a good time building and painting this model, enough of a good time that I’m going to do another. There’s some paint chipping and weathering stuff I didn’t try on this tank because I didn’t want to ruin it. So I’ll ruin the next one trying those out. The next one is going to be a British M4A2 (Sherman III) with a two colour disruptive paint scheme and loaded down with some extra stowage to make it a bit more unique.

Look What Mark Did Too!

It may not come as a surprise to some but it turns out that I am not the only guy called Mark. It may also not come as a surprise that not only am I not the only guy called Mark, I am also not the only guy called Mark who does things. What *may* come as a surprise is that I am also not the only guy called Mark who does things who blogs about them in a rather wittily named blog. So I suggest from this point forward that you also read Look What Mark Did.

You should read it because he is called Mark, because he does things, and because he blogs about it.

Screw the Millennium Bug – What About the Leap Second Bug?

I wasn’t programming much in 1999 but I knew more than enough to understand what the so called Millennium Bug was all about and why it would be a huge problem. I was even lucky enough to get to fix the “bug” in a couple of DOS programs that were written in the mid-1990’s.

Because of the sheer hype and terror that surrounded the issue I was fairly certain that most companies and governments would get their excrement together and fix the problems before the critical date. So I did my best to ignore the hysteria and assumed all would be OK. However, I do remember taking money out of the bank and filling our bath with water just in case the much prophesied Bad Things actually happened on January 1 2000. Of course nothing particularly serious happened and it probably ended up being the most reported and hyped up non-event in my living memory.

It occurs to me that the Leap Second that was inserted into the worlds timing systems a couple of days back seemed to have a bigger effect than the Millennium Bug did. Here in Australia it caused problems with some airline check in systems and I’ve read that some websites had some issues too, including Reddit. This News.Com.Au story even suggests that the mighty Twitter experienced some problems because of it.

I’m not going to rag on programmers that allow these problems to occur because I am guilty of it myself. It’s been three years now since I started trying to find an elegant way to handle the day light savings transitions in Time Clock MTS. I’ve failed miserably to this point and it still causes problems for anyone who actually clocks in across the DST transition times.

What Other People Did

This isn’t about what I’ve done, but rather what others have been doing. Firstly, Andrew, a very good friend of mine has started a new blog called Careless Gamer. Andrew is the primary reason I still play computers games, build model tanks and planes, and play strange board games with stupendously complex rules. So, read his blog, it will be good.

Secondly, a very, very old friend of mine (he’s been a friend for a very long time rather than actually being old) has also started a blog. He’s become rather wordy in the years since I last saw him but has some interesting things to say about movies, comics, and life in general. Just be prepared for some mental mastication as you try to digest some of his sentences and don’t be scared to disagree with some of the things he says., Here’s the blog, rather nicely named Becoming Fictional.