October 24, 2011

Server evacuation

I'm stuck in the middle of the Great Thailand Flood of 2011. My entire factory was flooded, and I had to evacuate my server backups to a safe and dry place.

A few years ago, when I was writing policies for SOX compliance, there was a section about risk assessment and business continuity planning, and one of the issues was how to resume operations in case of fire or flood or other acts of God. Who would've thunk that after less than four years, everything I wrote has to be put into actual usage?

So, we were evacuated out to a nearby hotel with free Wi-Fi, and all the managers are connected to the free Wi-Fi, and then they need printing. So I went back to the flooded factory and took out (by boat) a trusty Linksys WRT160NL and a Canon inkjet printer. Previously I talked about using the WRT160NL to share USB printers, but this is slightly different since I don't actually have a LAN any more.

It turned out to be quite easy, I just joined the WRT160NL to the hotel's free Wi-Fi by using client bridge, then used Angry IP Scanner to find a free IP address outside of what I think is the normal DHCP range, and then I just pointed everyone's printer to the new IP address of the WRT160NL, and then we got printing.


While setting things up, I suddenly lost Wi-Fi connectivity, and I called the hotel's front desk to ask them to reset the Wi-Fi, and they told me the only Wi-Fi they have is down at the lobby, and it was working perfectly. I ended up having to find a maid on my floor to ask her if she has ever seen a little box with blinking lights, and she pointed me to a Linksys WAP54G. I simply power cycled the access point and all was fine again.

October 13, 2011

RIP dmr


Two technological giants have passed away within a week of each other, and few have heard of Dennis Ritchie.

When I got my first computer in grade school, the first programming languages I learned were naturally BASIC and Pascal. When I was in high school and got serious in programming, I taught myeslf C and Smalltalk. Eventually, I went to collage to learn real computer science. Strangely enough, I was taught Modula-2 and assembly language (the joke was, we write VAX assembly language with Sun, and write 68K assembly language with VAX) while in classes, but outside of classes, I taught myself Visual Basic and some C++. (Java and Python and Ruby and .NET all came after.)

Although I never became the Ferrari-driving hotshot demigod coder that I wished to be when I was young, and I rarely do any coding now, but what I've learned both by myself and in school have had huge impacts in my thinking and working style. Thank you, Dennis.

October 6, 2011

RIP Steve


When I was growing up, the first computer I ever used was the Apple ][. (And yes, I have to write II like that.) Even though when I finally saved enough money to buy my own Apple ][, somehow I ended up with a Commodore 64, but the Apple ][ always had a special place in my heart, and I totally admired Apple's founders.

Of course, being the young geek and future engineer that I was, Steve Jobs was always "the other Steve" to me. Fast forward thirty years, I guess few people these days even know of Woz except for us engineer types and students of computer history. It's all about Steve Jobs and his Apple Empire. But I still totally admire the two Steves and what they have done.

Rest in peace.

September 15, 2011

Virtual Windows 8

I installed Windows 8 Developer Preview in VirtualBox. I normally use VMware, but for some reason it didn't work with VMware, so I tried installing it in VirtualBox and it worked, er, out of the box.

The setup is simple and somewhat faster than Windows 7.



I'm installing Windows 8 the minute it's released. The reason? The up arrow returns!

September 14, 2011

Windows reimagined

I watched the Windows 8 keynote streamed live from Microsoft BUILD. It was really interesting, and I could already hear my users exclaim, "Windows 8 already?! We haven't even started to use Windows 7 yet!"

In one of his motivational talks, my boss said that we should continue to improve ourselves, otherwise we wouldn't be learning from experience. If we worked on the same thing for ten years that we learned on the first year on the job, then our work experience would be just one year and not ten years. Well, in this case, my work experience would be exactly 0 years, since we keep getting new things year after year after year. I'm downloading the developer build of Windows 8 right now.




August 20, 2011

Linksys NSLU2 and OpenWrt

I have two Linksys NSLU2's that I bought three years ago, during the early days of this blog, to use as print servers. I chose to run the Unslung firmware and use CUPS as the print server. Unfortunately, after using them for a while, I discovered that NSLU2+CUPS was not stable enough for volume printing, and as I was able to get p910nd to run completely stable on a number of other wireless routers, so I had set the NSLU2's aside and switched to using wireless routers with USB ports. I loved the NSLU2's for what they're capable of, but a wireless router doubling as a print server and an access point is far more practical than a single purpose print server that needed a USB flash drive to work.

Recently I suddenly needed additional print servers to support our growing printing needs, and because the WRT160NL was discontinued, I decided to dust off the NSLU2's off and install OpenWrt on them. I thought that since OpenWrt has a much smaller footprint, and if I'm only going to install p910nd and the necessary USB support, it should fit the onboard memory.



I had to use VMware to run the Sercomm upgrade utility, since it doesn't work with Windows 7. When the NSLU2 is placed into recovery mode for flashing, it automatically takes an IP address of 192.168.0.1, so I had to change my VMware's IP address to the same subnet. I installed the latest version of OpenWrt "Backfire" which is 10.03.1-RC5 as of this writing.



After flashing, the NSLU2 automatically changed its IP address to 192.168.1.1. Because I did the flashing inside VMware, and I could configure the NSLU2 using a web browser in Windows 7, I actually had to change my Windows 7's IP address to connect to the NSLU2. I gave it a new IP address to go with my LAN, and plugged it into the LAN.



After that, I installed the p910nd and the USB support packages. These packages are needed: kmod-usb-core, kmod-usb-printer, kmod-usb-uhci, kmod-usb-ohci, kmod-usb2, p910nd, luci-app-p910nd. I was mostly concerned whether I would have enough memory, but as the image shows, no problems there.



After enabling p910nd and plugging in my USB printer, I could print right away without any problems, but after some testing, I found that once in a while I get a timeout when the print jobs are finishing up, which suggested that I needed to disable bi-directional signaling on the print server, and there's an option for that. One funny thing about OpenWrt on the NSLU2 is that it doesn't turn on the power LED light by default, but there's an option for that too.

So I'm happy with the NSLU2's again.