December 26, 2011

WRT54GL vs. H2O

This is the PCB of a good old Linksys WRT54GL that was completely submerged for approximately one month during the Great Thailand Flood of 2011. Oh, the router was actually placed on a desk, the water level was much much higher than that.

My domain and database servers were all safe since they were on the second floor, but I had to evacuate them (by boat) to another site, which I'll write in detail the next time. Computers that were on the ground floor were all dead, either directly by water or rusted by the humidity. Some I could actually salvage the hard drives or CPU's since the water level was lower, others were completely underwater.

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, 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 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.

August 19, 2011

Upgrade pains

Sometimes I hate buying new hardware. It's one thing to experiment with new hardware, learning and breaking things in the process, but it's another thing when you've experimented enough and want to put the newly gained knowledge into production use, but only to find out shortly later that everything was in vain since that particular piece of hardware was discontinued.

This happened recently with the Linksys WRT160NL. I've wrote about the WRT160NL previously and mentioned that it was quickly turning into my favorite router. Coupled with recent versions of DD-WRT (17201 as of this writing) it's an extremely stable and capable wireless router. I have a number of them running as regular routers (ha!) as well as USB print servers and VPN servers. Unfortunately when I tried to buy more recently, the shops told me they're discontinued and want me to buy the Linksys Cisco E2000 or E3000 instead. I know the E2000 and E3000 are newer dual band routers with gigabit Ethernte ports, but I already have the WRT160NL running smoothly, buying an entirely different series would mean starting everything over again, and with a different chipset too. (Atheros vs. Broadcom.)

After some research, I found that the Cisco E2100L is the equivalent of the WRT160NL. Unfortunately, the E2100L isn't available locally. I called all my suppliers and they managed to find three WRT160NL's for me, so I bought them right away to keep them for future use. Over the past few months I've also recommended the WRT160NL to serveral friends, so I'm actually tempted to buy the E2000 to exchange with their WRT160NL's. I wish I still lived in the States as the WRT160NL is still available from (Don't trust those reviews on

Still, it looks like it's time to break more things again.

August 7, 2011

I'm a computer, not a tablet

I hate Gmail's new look, and I hate Google Calendar's new look even more. I always thought Google is big on the usability front, but apparently they either think everyone's using huge 22" monitors, or everyone's using tablet computers.

P.S. The above is an actual screen capture of Google Calendar's new look from my notebook. None of my events can fit properly on the monthly calendar view.

July 29, 2011

SysAdminDay 2011

Happy SysAdminDay! The amount of posts I make here is indirectly proportional to the amount of work I have. I'm now deep in the middle of business process re-engineering, and I seem to have been in stuck in more meetings in the past few months than in my entire life combined, including the times we were implementing the ERP. I only wish the new boss was here when we implemented the ERP years ago!

I was just thinking about how my job has changed over the past two years or so (under the new boss) from massaging the servers into managing projects and implementing business processes. I know IT is business and all that, but it's still a big change for me to go from managing machines to managing people, and I'm still getting my feet wet. And then I saw this article on TechRepublic: The future of IT will be reduced to three kinds of jobs. Perhaps starting this November I'll be celebrating Project Management Day.

While searching for an image to go with this post, I came across this great post. It's exactly how I feel too!

June 9, 2011

Samsung S1 Mini

I have a 32 GB Kingston DataTraveler 200 Flash drive that I carry with me wherever I go for installing warez^H^H^H^H^Happlications. I have an older 4 GB Kingston DataTraveler Elite that I use for data.

Frankly, 32 GB isn't enough in these days of multi-gigabyte applications, and I really don't like to carry around a 2.5" portable drive, even though I have several of those. I've been wanting to get something larger, perhaps the 128 GB DataTraveler 200, but the price is just slightly out of my reach. (Actually, I paid more for the 4 GB DT Elite back in 2005 compared to the 128 GB DT 200 today, but it's painful to pay such high prices year after year to get the latest and greatest.) So when I came across the Samsung S1 Mini, a portable 1.8" with a reasonable price, I bought it immediately. The S1 Mini comes in six different colors, I bought the black one to go with my ThinkPad. The S1 Mini has been out for around two years, but it was never available here.

Here's a comparison shot between the WD My Passport Essential 500 GB portable drive, the Samsung S1 Mini, the Kingston DT 200, and Kingston DT Elite. The keyboard below is a ThinkPad X61 so it's slightly smaller than a standard sized keyboard.

One thing that always worries me when buying shrink-wrapped hard drives is how the USB port looks like. Sometimes drives claim to use standard USB ports, but they need a proprietary cable to fit into the proprietary hole. The iPhone was famous for this: it had a standard earphone jack, but it's recessed and most earphones won't fit into that hole. Portable hard drive reviews need to show how the USB port really looks like.

The drive speed is nothing to write home about. I didn't expect it to be any fast since it's a 1.8" drive, but it still me a long time to copy all my installation files from the DT200 to the S1 Mini.

Oops. I just noticed my mouse pointer got captured into the photos in this post. I was doing a demo earlier and needed to capture the mouse pointer, and I forgot to turn it off. I'm too lazy to remove them so I'll leave them as they are this time.

May 23, 2011

The pen is mightier than the keyboard

When I started taking notes using Moleskine notebooks a bit over two years ago, one other thing I had to do was get a good pen to go with the notebook. Even though I didn't mention it at the time, I bought the supposedly hugely popular Pilot G-2 pen. I liked it so much I even bought the G-2 Pro a few months later.

Unfortunately, I don't know if it's the weather in Thailand or if it's bad usage (I write very softly), but so far all of my G-2 refills except one have died on me, and each time it happened it was the exact same symptom: the ball of the pen came out from the tip (see photo) when I let someone borrow my pen just for a few seconds. Until finally it happend to myself. While I was taking notes during a meeting the pen just suddenly stopped working and the tip came out. I wasn't even doing anything special.

So I went to the office supply place to pick out a new pen without reading any reviews, and I picked up the Pentel Vicuna. A quick web search shows that it's new and appears to be quite popular. Strangely enough, even though only the dark blue colored body is supposed to be blue ink, mine is the light blue / violet colored body, and it even says black on the barrel, has blue ink inside. Unfortunately, even though when I tested the pen at the store it was really smooth and the ink looked good, but when I actually took notes during today's meeting, a lot of ink globs were visible and lines were uneven.

While searching online to see if others are experiencing the same problem I have with the Pilot G-2. I came across a whole bunch of sites "teaching" people how to swap the G-2 refill for a Mont Blanc refill. I thought the whole idea of using the G-2 pen is for the smooth writing and ink quality. Perhaps the grass is greener on the other side? I also see a lot of people complaining that Mont Blanc refills dry up very quickly, but Mont Blanc rollerball pens are capped, so I wonder how many of those people complaining are actually using Mont Blanc refills on other pen bodies such as the retractable Pilot G-2 body?

I've also been using Evernote more frequently lately. Maybe one day these traditional pens (like cameras) will be called analog pens, and I will finally be taking notes with digital pens.

May 21, 2011

Technical PDF on the iPad 2

After using my iPad for the past half year as my main reference tool, I discovered the biggest problem was that GoodReader is just not that fast for searching through files, and "flipping" is also quite slow with the page needing to refresh. (In fact, this was the original problem I had with attempting to use the Kindle as a reference tool.)

The slowness problem have been resolved with the iPad 2's faster A5 CPU. The iPad 2 is also lighter making it much easier to hold with a single hand, even for the 3G version. The iPad 2 is also much thinner and weighs much less than my Windows Server 2008 R2 Unleashed book. Besides the faster CPU and the cameras, there's really not that much difference for my uses, so I'll wait for the iPad 3.

May 11, 2011

From zero to hero

Computer books get outdated so fast, but I still buy them once in a while even though I have an iPad just for reading ebooks. It's just awesome to have (almost) my entire library in ebook format and always have them with me, but they're somewhat poor as a reference tool if you need a whole series of instructions (such as doing an installation) and need to keep going back and forth between a number of pages or even chapters, and searching is really slow on the iPad. I've yet to try PDF reading on the iPad 2 (since I don't have one), but the faster processor could help with both issues.

Anyway, my most recent book purchase is Windows Server 2008 R2 Unleashed even though I already bought the ebook earlier. I've always bought Microsoft's own books when it comes to Windows servers and I wanted to get Windows Server 2008 Inside Out but for some reason it wasn't updated for 2008 R2. I know that R2 doesn't have that many new features, but it's nice to have the latest edition and to prevent a new edition from being released the instant I buy the current edition. The book is 1600+ pages and has thin pages similar to the pages you normally find in the Bible, so physically the book is not that thick, but it's really heavy and I get a free workout every time I pick it up.

It's not always a good idea to buy the ebook then the paper book. O'Reilly has an offer where if you already have the paper book you can register it then "upgrade" the paper book to an ebook for only $4.99. Of course, nothing stops you from registering a book that you don't actually own, but hey, honor counts when it comes to ebooks.

Before ebooks and the term n00b were invented, I uesd to buy lots of books, and I kept almost all of them. Running Microsoft Windows NT Server 4.0 was the one that got me started in all this.

May 10, 2011

Like getting a brand new computer

Now that Sandy Bridge is out in force, I've been seriously thinking about buying a new notebook. I went backwards a bit earlier this year when I stopped using the MacBook and switched to an older ThinkPad X61 with Core 2 Duo, and when I play with friend's newer Core i notebooks, the Core 2 Duo just feels slow.

However, one of my most frequently used programs is VMware Player, which is far more dependent on RAM than on raw CPU power. I have a virtual network inside VMware that consists of a domain controller and multiple Windows client versions that I use to do my testing, and having only 4 GB of RAM sucks when I need to open more than two virtual machines. I decided I should either get a new notebook so I can get cheap DDR3 RAM, or hold out by getting expensive DDR2 RAM or getting an SSD.

So... while searching online for some RAM and SSD prices, I found to my dismay that to take advantage of SSD speeds, I needed a BIOS hack for the X61 to enable SATA II speeds. The same BIOS hack also has a function called Dual-IDA that forces IDA on both CPU cores. Intel Dynamic Acceleration is the precursor to Turbo Boost that Intel heavily advertises on the Core i5 and i7 CPU's. But back in the Core 2 Duo days, they've already had this technology. The basic idea is that if you're only using one CPU core, it automatically overclocks by one multiplier level (i.e., 200 MHz on my Core 2 Duo T7100 CPU). The BIOS hack forces this overclocking on both cores all the time. So my 1.8 GHz T7100 would constantly run a 2 GHz. The equivalent CPU would be the T7250.

The BIOS upgrade turned out to be really hard. The ThinkPad BIOS upgrade utility for older notebooks don't work in 64-bit Windows, so I had to burn a bootable CD. The bootable CD upgrade program didn't work with the original Lenovo DVD-ROM drive that came with X61, it just says no CD-ROM drive found. So I searched around for one of those WinPE rescue discs, which also didn't work since they don't seem to detect that I have a battery, and the BIOS flash utility doesn't work if it doesn't detect a battery.

Sigh. Finally I found an old hard drive lying around. I swapped the hard drive in the X61 and installed 32-bit Windows 7 just to do the BIOS upgrade. With the BIOS upgrade and IDA enabled. My Windows Experience Index for the CPU went from 4.9 to 5.0, and CPU-Z shows the CPU clocked at 2.0 GHz.

After flashing the Dual-IDA capable BIOS, I had to use ThrottleStop to actually enable it. ThrottleStop also allows adjusting the CPU core voltage to more manageable levels. Normally, the core voltage dynamically adjusts itself according to the CPU speed. But since the speed is now locked at 2 GHz, it would be always using maximum voltage. Eventhough the core voltage is still fixed, but I could adjust it down, and the image above shows that it's fixed at 1.05 V. Even though the CPU now runs hotter at idle, but when the CPU load is higher, the temperature is cooler since it's locked at 1.05 V.

In addition to using the Dual-IDA BIOS, I decided to go for the DDR2 RAM. The RAM was really really expensive, but it's still cheaper than having to buy a new notebook just to use the newer DDR3 RAM. VMware Player now screams with 8 GB of RAM, so I'm happy again. At least I can put off buying a new computer for at least a year, or until the X61 breaks down.

April 20, 2011

RAIDers of the lost archives

I don't know about other IT support people elsewhere, but for me, we always have computer problems after a long break, like the first day after the New Year, or, often worse, the first day after Songkran festival.

On the last day of the long Songkran festival vacation, the employee RFID scanner's UPS died and somehow took out the scanner's power supply, I had to quickly find a replacement power supply before people started coming in to work. At 8 AM on the first day of work, everyone started turning on the lights and computers at the same time, and all the breakers automatically cut off. Normally someone just had to manually reset the breakers but for some reason resetting didn't work this time, so they just called the building maintenance people then switched all the breakers off, without notifying the IT people, and then the power to the servers went out.

After the power came back, the affected RAID drives (the SQL server has an SSD RAID1 array) started rebuilding themselves, and I started getting support calls that users can't login to the ERP database. I looked at the SQL server and saw alert level 024: Hardware Error. Unfortunately, eventhough I have a nightly backup routine, it failed to activate since earlier last week, and the SQL Agent didn't notify me of its failure. If I restored from last good backup, I lose two days of work and get killed by the users and the boss. If I repair the database, I lose less work but my ERP support guys have to fix it. DBCC CHECKDB REPAIR_ALLOW_FOR_DATA_LOSS it is then.

Fortunately, there wasn't much data loss and internal consistency wasn't compromised, but my ERP guys are still working on the problem as I'm typing this. Later in the afternoon, more support calls started coming in from users using non-standard clients such as Windows 98 and things like scanners that automatically scan and save to shared folders on the server. I turned my attention to the new domain controller to check user and folder rights. Then I notice a little blinking icon on the task bar: one drive on the RAID array had failed.

One of the first posts of this blog was about putting Western Digital RE2 drives into a Buffalo TeraStation. That was in early 2008. Three years later, five of the original fourteen RE2 drives I bought have already failed. The reason I got fourteen drives at the time was to put four each into two Terastations, and three each into two Windows servers. I thought these are supposed to be special drives designed for RAID use, but the stupidly cheap "consumer" drives that I also use for RAID have not had any problems, and these expensive RAID drives are dropping like flies.

One time it was so bad because one drive failed in a TeraStations' RAID5 array, and when I put in a new drive to rebuild the RAID array, another drive went bad took out the entire RAID array. I had to reflash the firmware to bring it back. Last year, one drive in a server's RAID5 array went bad, imagine how bad I felt when it took 30 hours to rebuilt the array.

Luckily I happened to have a test server in an isolated network, so I quickly joined into into the domain and promoted it as a domain controller, then proceeded to replace the failed drive.

During Songkran vacation, while I worked to replace the old server, which I'll write about another time, there was a bunch of half-naked ladyboys outside making noise and splashing water. Had I known I was gonna have all these problems, I would've invited them to come in and just blow up my servers and preemptively end all this misery.

My SQL data and failed hard drive have gone to Bit Heaven. They served well and died without thanks. May they rest in peace.

April 16, 2011

Throwing hardware at the problem

My ERP project had been live for a few months, but I never managed to resolve the slowness issue. I'm not very good with SQL Server, and all the optimizations I did probably had limited effects on the performance since Dynamics NAV's C/SIDE code is executed client side and the idiots I have for consultants don't know the difference between native database and SQL Server. I couldn't get to the ERP's code, and even if I could, I probably wouldn't want to hack the code anyway.

Few months ago my boss suddenly told me that we made huge profits this month, and to avoid paying huge amounts of tax on the huge profits, he's giving me special permission to buy stuff. A lot of stuff.

Old server specs (purchased in October 2007): Intel Core 2 Quad Q600 (2.4 GHz), 8 GB DDR2 RAM, ASUS P5K Premium, and 2x500 GB SATA (RAID1). (Was 3x500 GB SATA RAID5, but I listened to the consultants and changed the RAID5 to RAID1, with no difference in speed whatsoever.)

New server specs (purchased in late 2010):

Oh wait...

New server specs: Intel Core i7-950 (3.06 GHz), 24 GB DDR3 RAM, ASUS P6X58D Premium, and 2x160 GB SSD (RAID1).

Windows 7's experience index score is 7.5 on the CPU and RAM, and 7.9 on the hard drive. I wanted to buy a faster CPU, but the 950 is most cost effective, and RAM is maximized for Core i7.

Oh, and the ERP didn't run any faster than before. None whatsoever.

I've talked about my Core 2 Quad Q6600 servers many times before. They were originally bought to replace the older domain controllers and run the ERP database. But I used them for SQL only due to performance recommendations, not that it made any difference since my database is so small. Now that I have the Core i7 dedicated to SQL, I decided to replace domain controllers with the Q6600 servers, and also upgrade the entire domain to 2008 R2 functional level.

March 18, 2011

Arduino relays

I'm putting my newly learned Arduino knowledge to practical use. Since I don't really know any electronics, I went to a local electronics supplier called ETT to see what pre-made boards they have. While looking around, I discovered that they make a custom Arduino board with a mouthful name called ET-EASY MEGA1280 Duino Mega that easily connects to their boards using a simple 10-pin connector.

This is the Duino Mega connected to a 5V relay board. The 5V board can be powered directly from the Duino Mega board which is powered from USB. Also connected is a Sharp GP2Y0D21YK infrared sensor. The sensor is a digital sensor with a 24 cm range.

Here's another relay board also produced by ETT. This is a 12V relay board that needs to be externally powered. Actually I got the 12V board first, but then I saw the 5V board that can be powered from the Arduino. But after getting the 5V board I was afraid that it might draw too much power. But both seem to work perfectly fine.

I wrote a little sketch that controls the relays using commands transferred over USB serial as well as reads the status of the infrared sensor. My first Arduino project is a motorized computer scale system. One relay is used to control the motors of the conveyor belt and the second relay is used to toggle a warning siren. The infrared sensor (which will be replaced by a laser sensor in production) is used to sense when to stop the conveyor belt in order to weigh the product.

Of course, the system has a load cell and a weight indicator that also has to be connected to work. The load cell is connected to the indicator through a special load cell connector, and the indicator is connected to the computer using a simple USB serial port converter.

March 14, 2011

March 10, 2011

Linksys WRT160NL and DD-WRT

A few years ago, I wrote about the Linksys WRT310N and DD-WRT. I no longer have that router since a friend decided to borrow it permanently, and I ended up selling it to him.

When my ASUS WL500gP died last year, I tried to buy another unit only to find it wasn't available locally any more. So I went looking for an alternative, and the Linksys WRT160NL was what I found. I've had one for a few months already, and recently I bought a few more as it's quickly turning into my favorite router.

WRT160NL has a 400 MHz CPU, 32 MB RAM, and 8 MB Flash. The It has a USB port ("Storage Link") for attaching USB storage devices. However, with DD-WRT, it can also be using for USB printing. The box has a penguin logo and it's just inviting me to put a third-party firmware on it.

I'm running the most recent DD-WRT (16214 as of this writing) on it. With this version, I can enable USB Printer Support from the web interface and it automatically works with my inkjet printer. With earlier versions I had to manually install p910nd to get printing to work. DD-WRT doesn't have a detailed changelog so I don't know when this happened, but I'm glad it works "out-of-the-box" now.

The DD-WRT router database currently shows version 14896 for download. This version seems to have wireless problems since I seem to lose wireless connectivity after a while. 16214 also seems to have fixed that problem.

While trying to figure out the wireless issues, I also followed the recommendations in this thread and set my TX Antenna to 1+2+3 and RX Antenna to 1+3 and Antenna Gain to 2, which seems to greatly increase my wireless stability and connectivity.

Oh, while I was playing with upgrading the different firmwares, the WRT160NL locked up completely. It would no longer finish booting and the power light just flashes. However, upon closer inspection, I discovered that the router wasn't actually "bricked", and I managed to recover it simply by using tftp to upload the linksys-to-ddwrt-firmware.bin to it. After it rebooted, then upload the actual wrt160nl-firmware.bin to it using the web interface.

Just to be sure that it wasn't pure luck that I recovered the router, I purposely crashed the router several more times, and each time I managed to recover it by using tftp.

The WRT160NL also works with Gargoyle, which I'll talk about next time.

March 3, 2011

Giant iPod touch

iPad 2 was released earlier today and it looks almost exactly like the leaked photos. I was one of the few people that thought the leaked iPad 2 photos were real, since it follows closely Apple's recent design paradigm: no more round backs. The iPad 2 looks almost exactly like the fourth generation iPod touch, which I really like.

But what I like most about the iPad 2 is that it's much lighter! I've had the iPad 3G for a few months and I no longer really notice the weight, but whenever I pick up iPads without 3G I notice how much lighter they are. The iPad 2 with or without 3G are both lighter than the original iPad. But I probably won't upgrade unless I can get one for free. Besides, my iPad is jailbroken.

February 25, 2011

Bye OS X

It might be funny to pick the day of the Intel Core 2011 Macbook Pro introduction to post this, but after two years of mostly enjoying OS X, and learning to program Objective-C, I'm going back to Windows. To be precise, I'm moving on to Windows 7, and not going back to Windows XP.

Oh, I love OS X and its Unixness, but there are just so many things that prevent me from being a happy and productive user. One of my biggest gripes is that I can't print to any of my networked printers except an older LaserJet that has a JetDirect card. But even with that printer, I have to manually select Tray 2 every single time, eventhough it's already set to Tray 2 by default both in Settings and in CUPS, but it doesn't work. Still, once in a while it would completely refuse to print, and I would just twiddle my thumbs until it would suddenly work again after a random number of hours, sometimes after days.

My MacBook is the early 2009 model upgraded with 4 GB of RAM and a 320 GB 7200 RPM hard drive, but it's just so unbearably slow. I try to avoid websites with Flash, since that just slows it down even more. I'm back to using an older ThinkPad X61 (the one I used to test all the Linux distributions). The X61 is 3.5 years old and only has 2 GB of RAM, but it's running circles around the MacBook. Oh, and the X61 is running Windows 7 Professional 64-bit, while the MacBook is running OS X 10.6.6.

I'm also back to using Firefox. Firefox was unusably slow on the Mac, so I changed to Safari like a good OS X user should, until I ran into problems with non-English filenames, then I switched Chrome. Chrome is really really nice, but it doesn't support automatic downloading using a download manager, and again, Flash is unusably slow. Flash is really fast on Safari, and Safari works with download managers, so I ended up having two web browsers open all the time.

I really miss iCal though.

February 24, 2011

Windows Server 2008 R2 SP1

Service Pack 1 for both Windows Server 2008 R2 and Windows 7 was out for Volume Licensing customers since last week, and was released into the wild earlier yesterday. I didn't have time earlier to download it from the Volume Licensing site, but I decided to take some time to download my updates today.

For some stupid reason the downloads keep getting stuck at exactly the same place every single time. For example, the Windows 7 Professional X64 English ISO, which is 3,181,668,352 bytes, always gets stuck at exactly 2,682,257,408 bytes, even if I use a download manager, even if I use Microsoft's own Java-based download manager, even if I use IE instead of Firefox. I tried downloading around the erroneous byte by using Flashget, but even when the file is 100% loaded, that single problem byte is still stuck and attempting to load it just gives me a server error. After trying numerous times, I looked at my firewall logs and noticed I've already downloaded over 100 gigabytes today, without getting anywhere.

Luckily, I still have The Pirate Bay at my disposal. So even though I'm a Volume Licensing customer for both Windows 7 and Windows Server 2008 R2, along with a whole bunch of other Microsoft products, I ended up having to download ISO's from The Pirate Bay. Arrrrrrrrrrr!

Update: after a few weeks, I went back to the Microsoft download site and still couldn't download the problem files. I found a place for leaving comments and left a comment, and a few days later, I could successfully download the files. I don't know if the problem was with Microsoft or with the local Akamai mirror on my ISP, but it's hard to imagine I was the only person with problems...

February 8, 2011

Science for adults

Robots are one of the most fascinating things ever, it's one thing to write programs to watch the flashing bits on a monitor, but it's completely different when you can program physical objects to destroy the world behave according to your instructions.

So, I've been drooling after the Lego Mindstorms NXT and the Arduino for ages, but I never bought into them since the NXT is so crazy expensive locally, and I couldn't find Arduino anywhere, and I don't want to risk having to pay through my nose for import tax, without having a little hands-on first.

Unfortuntaely, this kind of backwards thinking is not very good for me and I never got my robots, until I came across Vol. 27 of Otona no Kagaku (literally, Science for Adults) at the local Kinokuniya bookstore by pure chance. Vol. 27 includes a Japanino (an Arduino clone), an LED bar, and Japanese instructions for building a POV (persistence of vision) device. I can't read Japanese very well, but the Otona no Kagaku website has English instructions for download.

Since I'm relatively late to the Arduino game, there are literally millions of Arduino resources on the web at my disposal. I'm a hardware (PC) person, but I've never really been an electronics guy, I hope this will get me started.

Update (2011-02-18): I kept having trouble uploading sketches to the Japanino on my MacBook. It appears to be due to hardware design according to this page at Switch Science, and this page seems to describe USB overcurrent problems and how to fix it, but I'm just guessing since I can't really read Japanese.

January 8, 2011

Request more users

I received mail earlier today from Google announcing support for DKIM for all Google Apps editions. My boss has always complained that he couldn't send email to or receive email from his boss, and the IT people at his boss' company always refused to check their in-house email server for problems and keeps telling me to check my email server for problems.

Occam's razor moment. An in-house email server with hundreds of users vs. Google Apps. What are the chances the problem is on my end? DKIM doesn't really have anything to do with inability to receive mails, but I like to throw acronyms at my boss, so, I enabled DKIM on Google Apps and set my DNS accordingly, and on another tab, I was doing user transitions to the new Google Apps infrastructure. While I was doing this, I suddenly noticed on the Dashboard I can request for more users. The request for more users button was disabled a few years ago when Google Apps started the Premier Edition (now simply called Google Apps for Business) and since I already have 200 users I never actually needed more users. (Unlike new Google Apps users that can only get 50 users, I've been using Google Apps since 2006 and started with 100 users, and I've requested for 200 users in 2007.)

To make sure I wasn't imagining things, I googled and found this TechCrunch article, which is exactly what my dashboard looked like earlier. And just to make sure I'm not dreaming, I immedidately requested for 100 more users.


January 7, 2011

Loving Linux Mint

(Continued from Part 2)

After trying openSUSE and Fedora and getting frustrated, I was almost ready to give up. Surely if people are trying to get Linux onto desktops, it should be easier than this? All those people that are saying Linux is ready for personal use must be delusional, or have really simple needs.

Anyway, my next was Ubuntu. Ubuntu is by far the most popular Linux distribution with a huge commercial backing. The installation screens of Ubuntu is also different from others in that it highlights Ubuntu's features instead of showing technical messages that most people probably won't understand.

Ubuntu has multi-lingual support built-in, but maybe because they don't have a lot of Asian developers, their selection of pre-installed input method are more than strange, to say the least, and the most commonly used Pinyin input, ibus-pinyin, isn't available by default, and none of those Chinese input selections in the screen below worked in a useful manner.

You might also think I'm easily discouraged. The thing is, I have no problems with using Windows or OS X in my daily work. I don't think Bill or Steve are the devil, and I use the right tool for the right job. I can easily learn to compile my own kernel or drivers, but I want to see how difficult it would be for an average person to get Linux going, without getting all frustrated.

Like Fedora, Ubuntu supports brightness and volume OSD out of the box, as well as Wi-Fi and Bluetooth toggling using Fn-F5. Trackpoing scrolling and sensitivity can be installed and configured the same way as Fedora.

The big surprise was for Active Protection System, which I couldn't get to work in Fedora. In Ubuntu, both tp_smapi (called tp-smapi-dkms) and hdaps are available in the repo. After installing them from the repo, APS worked right away without additional configuration.

I was almost going keep Ubuntu when I went to uninstall Evolution. I don't use a desktop mail client, so Evolution is no use for me, but when I tried to remove it, Software Center also wants to uninstall ubuntu-desktop as well, which is probably not a very good idea. Evolution is just too integrated with Ubuntu to make a full and clean uninstallation possible.

Next and final in queue, Linux Mint.

Ubuntu and Linux Mint are almost exactly the same thing. Linux Mint is based on Ubuntu but with somewhat different pre-installed applications and themes (Thunderbird instead of Evolution, Pidgin instead of Empathy, and it's green instead of brown), the partner repo is pre-enabled, and video codecs are pre-installed instead of auto-installation on first use.

Linux Mint's Software Manager is a lot like Ubuntu's Software Center. But it adds community reviews and stars, which sounds like a good idea at first, until you see the reviews for programs like Adobe Reader which is really useful for enterprise users like me, but typical "fanbois" would hate. I think this is Linux Mint's only drawback, and I wish there's a way to use the Software Manager without seeing those amateur reviews and scores.

In conclusion, I've been using Linux Mint for a couple of weeks now. As of this writing Ubuntu 10.10 is out, and I imagine a new version of Linux Mint would be coming soon.

(To be continued...)