Restart Will Be Required

Software Update

I just installed a Raw Camera Update that required a restart.

I remember a time when only kernel and QuickTime updates required a restart, but now it seems like requiring a restart is the new black.

TheAppleBlog covered this last year, but things seem to be getting worse with each day. Is Apple outsourcing software updates to Microsoft? Or maybe the arrows in the Software Update icon are meant to represent a restart?

Macros Have Been Disabled

Last night, my girlfriend (who unfortunately still uses Windows) was trying to print her homeworks using Word 2007 when she was presented with this message:

Macros have been disabled

Can you see the problem with this message?

Regular users don’t know what a macro is, and they don’t have to. What’s more, there shouldn’t even be a macro in my girlfriend’s homework files. Who put that macro in there, and again, WHAT IS A MACRO?

Please don’t present your users with messages which mean absolutely nothing to them. This leads to confusion, and nothing else.

If you absolutely have to show a message like this, at least place a “More Info” link next to it, so the user can read and understand what the message means.

Say Goodbye to nspluginwrapper

As reported by OSNews, Adobe just released an Alpha version of 64-bit Flash plugin for Linux.

It still doesn’t support transparent backgrounds, but at least it doesn’t crash every five minutes like nspluginwrapper.

Here’s how to install it on Ubuntu:

Download the new flash plugin from here. Then, in a terminal type these:

tar -xzf libflashplayer-10.0.d20.7.linux-x86_64.so.tar.gz
sudo apt-get purge flashplugin-nonfree nspluginwrapper
mv libflashplayer.so ~/.mozilla/plugins

Why Tire Companies Shouldn’t Make Routers

Recently, my neighborhood was blessed with fiber-optic broadband by Turkey’s brand-new ISP Tellcom.

Providing download speeds up to 100 Mbps (which is what I signed up for), Tellcom’s QuikNet is a huge improvement over TTNet’s lousy ADSL service, which is what most people in Turkey currently use.

Obviously, I was one of the earliest switchers, and after being a customer of probably one of the worst ISPs in the world for years simply because I had no other choice, I was almost glad to pay the $150 termination fee, and now I finally have a real broadband connection.

But there’s one drawback.

Pirelli DRG A226G

The QuikNet subscription package includes a Pirelli DRG A226G broadband router. Yes, it’s the same company who produces the Pirelli tires and publishes the famous Pirelli Calendar. Before opening the subscription pack, I had no idea Pirelli produced anything other than car tires, but apparently they have a whole business in broadband routers and cabling. They even make mobile phones!

It didn’t take me long to decide that the DRG A226 is the worst router I’ve ever used. Period.

The DNS server crashed constantly, requiring me to restart the router. The Wi-Fi connection almost never worked on the first try, and DHCP was, well, unpredictable at best. Oh, and the UPnP forwarded ports were never closed, not even after a restart.

I naively thought that maybe my router came with an old firmware, and a new version was available that fixed all this. The Pirelli Broadband website has absolutely no information about firmware updates. In fact, all the information available on the website about the router is limited to the 98×161px JPEG image you see above, and a PDF User’s Manual.

Then I found a “Firmware Upgrade” section in the router’s web interface, but it wasn’t very helpful, as you can see:

But on closer inspection, the interface revealed an URL which didn’t come up on any of my previous Google searches: update.pirelli-discus.com. It looked like an automatic update server, but apparently it wasn’t working.

I thought “hmm, maybe I can find firmware upgrades if I go to www.pirelli-discus.com.”

I was wrong. The domain had expired, and Pirelli didn’t even bother to renew it. I was not only frustrated, but also shocked. How can you forget to renew a domain which is responsible for distributing firmware upgrades to thousands of routers worldwide? Can you imagine Microsoft forgetting to renew the Windows Update domains? Or Kaspersky forgetting to renew the Kaspersky Anti-Virus Database update domains? The results could be disastrous.

These domains are responsible for distributing software updates, which are usually automatically installed onto users’ computers and executed, and unless the updates are digitally signed, anybody who acquires control of these domains can distribute executable code onto millions of computers without breaking a sweat.

Now I know Apple uses digital signatures for its software updates, and I can only hope that companies like Microsoft, Kaspersky and Symantec do the same. As for Pirelli, I highly doubt that they employ any form of cryptographic security.

I now own the pirelli-discus.com domain, and I wonder if I can distribute firmware upgrades using this domain. I never mean to use the actual paths of course, so Pirelli users need not worry, at least for now. But if it works, and if someday I do what Pirelli did and forget to renew this domain, then anybody can purchase it, and Pirelli users will be in trouble.

My New Baby

Is a PowerBook Duo 2300c:

It has a German keyboard, and German System 7.5.2 installed but hey, it’s still working after 13 years, and it was well worth the $30. =)

Now if I can only find a way to install an English version of System 7 or Mac OS 8 onto this baby (which doesn’t have a floppy, optical drive or ethernet), then I can even use it for distraction-free writing.

See the Flickr set for more photos, and size comparison with my 12" PowerBook G4.

My Brand-timeline Portrait

I recently stumbled upon a post by Jane Sample, that later become known as her Brand-timeline Portrait.

It’s been almost 4 months since she made that post, but what the heck, here’s my brand-timeline portrait for a typical workday:

Compiling ns-2.1b9a on Ubuntu 8.04 Hardy Heron

Compiling ns-2.1b9a

  1. Install these packages: build-essential gcc-3.3 libpcap-dev libx11-dev libxmu-headers libxt-dev
  2. Download ns-allinone-2.1b9a-gcc32.tar.gz.
  3. Download my patches.
  4. Apply patches 1, 2 and 3.
  5. Run ./install

Adding TENS 1.2 (Optional)

TENS adds many features (like multiple interfaces and directional antenna support) to ns-2. It’s the reason I needed ns-2.1b9a in the first place.

I’ve created a patch that includes all the changes TENS introduces to ns-2, so you don’t need to download TENS.

In the ns-2.1b9a directory:

  1. Apply patches 4 and 5.
  2. Run make clean
  3. Run make depend
  4. Run make

Adding Agent/PBC (Optional)

I needed Agent/PBC for periodic broadcast messages, but Agent/PBC was introduced in ns-2.33. So I copied it from ns-2.33 and made some minor changes to ns-2.1b9a to make Agent/PBC work.

In the ns-2.1b9a directory:

  1. Apply patches 6 and 7.
  2. Run make