Jul/090
Of all the hardware that can break…
... it has to be the one that's most difficult to replace.
Today, my Gefen HDMI over Cat5 adapter died. Well. It didn't die completely, it just lost its ability to produce a stable image. What is transmitted is very intermittent and in the few seconds the image is available, it's heavily distorted.
Also, it's not the obvious issue (faulty cabling) as the problems did not go away after using two very short (1m) cat 5 cables to test.
Now this is really bad for a variety of reasons:
- Only just last Saturday I bought Star Ocean and Tales of Vesperia for my 360, giving me a total play time of 1.5 hours so far.
- Yesterday I noticed that Worms: Armageddon was released for Xbox arcade and I have already invited Ebi after the huge success that was our earlier Worms evening on the 360.
- My setup is totally dependent on the two extenders as I am covering more than 20 meters of distance between receiver and projector. No extender, no Xbox, no Wii, no projector.
- Last time I waited around six weeks for the extender to arrive
Of all the hardware I'm having at home, the HDMI extender is the worst to break. Not only is it very hard to replace (see above), it's so deeply integrated into my home cinema setup that just debugging what was going on took a ladder, a screwdriver, a hex-wrench and unwinding an ungodly heap of cables.
All of that in an apartment whose temperature is currently at 30°C (86 °F) and with a hell of a headache.
I'd take anything else going down. Anything but that Gefen extender. My XBox? Sure. Shion? It'd suck, but sure if it has to be, go ahead. My reciever? That would hurt as it was very expensive, but at least it's easily replaced.
Why did it have to be that Gefen extender? Why??
Jun/090
802.11n, Powerline and Sonos
I decided to have a look into the networking setup for my bedroom as lately, I was getting really bad bandwidth.
Earlier, while unable to stream 1080p into my bedrom, I was able to watch 720p, but lately even that has become choppy at best.
In my bedroom, I was using a Sonos Zone Player 100 connected via Ethernet to a Devolo A/V 200MBit power line adapter.
I have been using the switch integrated into the zone player to connect the bedrom MacMini media center and the PS3 to the network. The idea was that powerline will provide better bandwidth than WiFi, which it initially seemed to do, but as I said, lately, this system became really painful to use.
Naturally I had enough and wanted to look into other options.
Here's a quick list of my findings:
- The Sonos ZonePlayer actually acts as a bridge. If one player is connected via Ethernet, it'll use its mesh network to wirelessly bridge that Ethernet connection to the switch inside the Sonos. I'm actually deeply astonished that I even got working networking with my configuration.
- Either my Devolo adaptor is defective or something strange is going on in my power line network - a test using FTP never yielded more than 1 MB/s throughput which explains why 720p didn't work.
- While still not a ratified standard, 802.11n, at least as implemented by Apple works really well and delivers constant 4 MB/s throughput in my configuration.
- Not wanting to risk cross-vendor incompatibilities (802.11n is not ratified after all), I went the Apple Airport route, even though there probably would have been cheaper solutions.
- Knowing that bandwidth rapidly decreases with range, I bought one AirPort Extreme Base Station and three AirPort Expresses which I'm using to do nothing but extend the 5Ghz n network.
- All the AirPort products have a nasty constantly lit LED which I had to cover up - this is my bedroom after all, but I still wanted line of sight to optimize bandwidth. There is a configuration option for the LED, but it only provides two options: Constantly on (annoying) and blinking on traffic (very annoying).
- While the large AirPort Extreme can create both a 2.4 GHz and a 5 GHz network, the Express ones can only extend either one of them!
This involved a lot of trying out, changing around configurations and a bit of research, but going from 0.7 MB/s to 4 MB/s in throughput certainly was worth the time spent.
Also, yes, these numbers are in Megabytes unless I'm writing MBits in which case it's Megabits.
May/096
No more hard drives for me!
Last week I noticed that the hardware store of my choice had these fancy new (and fast) Intel SSDs in stock - reason enough for me to go ahead and buy two to try them out in my two MacPro desktop machines. Kos-Mos, my home mac was the first to be converted.
But before that, there was this hardware problem to overcome. See: The SSDs are 2.5 inch drives whereas the MacPro has 3.5 inch slots. While the connectors (SATA) are compatible, the smaller form factor of the Intel drives prevents the usual drive sliders of the MacPro from working.
The solution was to buy one of these adapters for the SSDs. Before doing that, I read about other solutions, some of them involving duct tape, but this felt like it was the cleanest way and it was: The kits fit perfectly, so installing the drive was a real piece of cake.
The next problem was about logistics:
pilif@kosmos /Volumes/Macintosh HD % df -h | grep Macintosh /dev/disk2s2 365Gi 319Gi 46Gi 88% /Volumes/Macintosh HD |
Whereas the largest Intel SSD available to date has just 160GB of capacity (149 "really usable"), so at least some kind of reorganization had to be done.
Seeing that the installation running on the traditional drive was ages old anyways (dating back to the last quarter of 2006), I decided that the sanest way to proceed was to just install another copy of Leopard to the new drive and use that as the boot device, coping over the applications and parts of the user profile I really needed.
Been there, done that.
I didn't do any real benchmark, but boot-time is now sub 10 seconds. Eclipse starts up in sub 5 seconds. The installation of all the updates since the pristine 10.5.1 that was on the DVDs that came with the machine took less than three minutes - including the reboots (I've installed the 10.5.7 update this morning and it took around 10 minutes on the same machine).
And to make things even better: The machine is significantly quieter than before - at least once the old hard drive powers down.
I will never, ever, again use non-SSD drives in any machine I'm working at from now on.
The perceived speedup was as significant as going from 8MB or RAM to 32MB back in the days. The machine basically feels like a new computer.
Of course I ran into one really bad issue:
The idea was to symlink ~/Music to my old drive because my iTunes Library (mostly due to Podcasts and audio books) was too large to conveniently copy to the SSD. I renamed ~/Music to ~/Music.old, created the symlink and started iTunes for the first time, only to get screwed with an empty library.
According to the preferences though, iTunes did correctly follow the symlink and was pointing to the right path (WTF?). I tried to manually re-add the library folder which did kind of work, but screwed over all my podcasts - completely.
This is where I noticed that somehow iTunes still found ~/Music.old and used that one. A quick ps turned out my best friend, the iTunes helper was running, so I shut that one down and moved ~/Music.old away to /, just to be sure.
Restarted iTunes just to run into the very same problems again (now, this is a serious WTF).
The only way to get this to work was to quit iTunes (that includes killing the helper) and to completely remove all traces of that Music folder.
Now iTunes is finally using the Music folder on my traditional hard drive. This kind of work should not be needed and I seriously wonder what kind of magic was going on behind the scenes there - after killing the helper and renaming the folder, it should not have used it any more.
Still: SSDs are fun. And I would never again want to miss the kind of speed I'm now enjoying.
celes in the office is next
Jan/090
Managed switch
Yesterday I've talked about configuring a VLAN in my home network.
VLAN is a technology using some bits in Ethernet frames to create virtual network segments on the same physical network, but just go ahead and read the linked Wikipedia article as it's more detailed than what I would want to go into.
To really make use of VLANs, you are going to need at least one managed switch (two in my case). I knew this and I was looking around for something useful.
In the end, I ended up with two HP ProCurve 1800-8G's: I wanted something that has at least 8 ports and was Gigabit capable as I was feeling the bandwidth cap on the previous 100M connection between shion and my media center when streaming 1080p content.
That's something I hope to solve with the 1G connection, though the drobo may still be the limiting factor here, but theoretical 480Mbit is better (where are the MacMinis with the Firewire800 interface?) than the 100MBit I was constrained to with the old setup.
The ProCurves are fanless, provide 8 ports and have a really nice web interface which is very easy to use and works on all browsers (as opposed to some linksys things which only work with IE6 (not even IE7 does the trick)). Also, the interface is very responsive and it even comes with an excellent online help.
With only 10 minutes of thought going into the setup and another 5 minutes to configure the two switches I was ready to hook them up and got instant satisfaction: In my server-room I plugged a test machine to any of the ports 2-7 and got onto VLAN1 (the internal network). Then I plugged it into port 8 and promptly was on VLAN2 (as evidenced by the public IP I got).
I have only three minor issues with the configuration of the two switches so far:
- They come with an empty administration password by default and don't force you to change it. Now granted, on a switch you cannot do as many mischief as on a router or worse, a NAS or access point, but it's still not a good thing.
- They come preconfigured with the address 192.168.2.10 and DHCP disabled, practically forcing you to configure them locally before plugging them. I would have hoped for either DHCP enabled or, even better, the possibility of configuring them using RARP. Or they could provide a serial interface which they do not.
- To reset them, you have to unplug them, connect port 1 with port 2 and restart them. While this prevents you from accidentally resetting them, the procedure is a pain to do and when the time comes that I will have to do this, I'll probably have forgotten the procedure.
But these are minor issues. The quick web interface, the excellent online help and the small fanless design make this the optimal switch once you have advanced requirements to fulfill despite not needing more than 8 ports.
There's a larger 24 port cousin of the 1800-8G, but that one has a fan, so it was no option in my case - especially not in the sideboard where I'm now at the end of the 8 port capacity.
Jul/084
What sucks about the Touch Diamond
Contrary to all thinking and common-sense I've displayed in my «Which phone for me?»-post, I went and bought the Touch Diamond. The perspective of having a hackable device with high resolution, GPS and voip capability and flawlessly working Exchange-Synchronization finally pushed me over - oh and of course I just like new gadgets to try out.
In my dream world, the Touch would even replace my iPod Touch as a video player and bathtub browser, so I could go back to my old Nano for podcasts.
Unfortunately, the Touch is not much more than any other Windows Mobile phone with all the suckage and half-working features they usually come with. Here's the list:
- VoIP is a no-go. The firmware of the Touch is crippled and does not provide Windows Mobile 6+ SIP support, Skype doesn't run on Windows Mobile 6.1, but all that doesn't matter anway because none of the Voip-Solutions actually use the speakerphone. You can only get VoIP sound on the amplified speaker on the back of the phone - or you use a headset at which time, the thing isn't better than any other VoIP solution at my disposal.
- GPS is a no go as the Diamond takes *ages* to find a signal and it's really fiddly to get it to work - even just in the integrated Google maps application.
- Typing anything is really hard despite HTC really trying. Whichever input method you chose, you lose: The Windows Mobile native solutions only work with the pen and the HTC keypads are too large for the applications to remain really usable. Writing SMSes takes me so much longer than every other smart phone I've tried before.
- T9 is a nice idea, but here and then, you need to enter some special chars. Like dots. Too bad that they are hidden behind another menu - especially the dot.
- This TouchFLO 3D-thingie sounds nice on the web and in all the demonstrations, but it sucks anway, mainly because it's slow as hell. The iPhone interface doesn't just look good, it's also responsive, which is where HTC fails. Writing an SMS message takes *minutes* when you combine the embarrassingly slow loading time of the SMS app with the incredibly fiddly text input system.
- You only get a German T9 with the German version of the Firmware which has probably been translated using Google Translation or Babelfish.
- The worst idea ever from a consumer perspective was that stupid ExtUSB connector. Aside of the fact that you'd practically have to buy an extra cable to sync from home and the office, you also need another extra cable if you want to plug in decent headphones. The ones coming with the device are unusable and it's impossible to plug better ones. Also, the needed adapter cable is currently not available to buy anywhere I looked.
- The screen, while having a nice DPI count is too small to be usable for earnest web browsing. Why does windows mobile have to paint everything four times as large when there are four times as many pixels available?
- Finger gestures just don't work on a touch sensitive display, no matter how much they try. At least they don't work once you are used to the responsiveness and accuracy of an iPhone (or iPod touch).
- The built-in opera browser, while looking nice and providing a much better page zoom feature than the iPod Touch also is unusable because it's much too slow.
So instead of having a possible iPhone killer in my pocket, I have a phone that provides around zero more actually usable functionality than my previous W880i and yet is much slower, crashier, larger and heavier than the old solution.
Here's the old feature comparison table listing the features I tought the touch would have as opposed to the features the touch actually has:
| assumed | actually | ||
|---|---|---|---|
| Phone usage | |||
| Quick dialing of arbitrary numbers | (the phone application takes around 20 seconds to load, the buttons are totally unresponsive) | ||
| Acceptable battery life (more than two days) | ? | yes. Actually yes. 4 days is not bad. | |
| usable as modem | yes | yes | |
| usable while not looking at the device | limited | not at all mainly because of the laggyness of the interface | |
| quick writing of SMS messages | it's much, much worse than anticipated. | ||
| Sending and receiving of MMS messages | yes | not really. Sending pictures is annoying as hell and everything is terribly slow. | |
| PIM usage | |||
| synchronizes with google calendar/contacts | |||
| synchronizes with Outlook | yes | yes | |
| usable calendar | yes | very, very slow | |
| usable todo list | yes | slow | |
| media player usage | |||
| integrates into current iTunes based podcast workflow | |||
| straight forward audio playing interface | |||
| straight forward video playing interface | |||
| acceptable video player | yes | no. No sound due to no way to plug my own headphones. | |
| hackability | |||
| ssh client | yes | not really. putty doesn't quite work right on VGA Winmob 6.1 | |
| skype client | yes | no. a) it doesn't work and b) it would require headset usage as skype is unable to use the speakerphone. | |
| OperaMini (browser usable on GSM) | yes | limited. No softkeys and touch-buttons too small to reliably hit. | |
| WLAN-Browser | yes | no. Too slow, Screen real estate too limited. | |
Now tell me how this could be called progress.
I'm giving this thing until the end of the week. Maybe I get used to its deficiencies in the matters of interface speed. If not, it's gone. As is the prospective of me buying any other Windows Mobile phone. Ever.
Sorry for the rant, but it had to be.
Mar/073
Wii in a home cinema
The day before yesterday I was lucky enough to get myself a Wii.
It was and basically still is impossible to get one here in Switzerland since the launch on December 8th. So I was very happy that I got the last device of a delivery of like 15 pieces to a game shop near where I work.
Unfortunately, my out-of-the-box experience with the Wii was quite poor which is why I didn't write the review yesterday - I wanted to spend a bit more time with the console before writing something bad about it.
Here's my story:
I'm using a projector, a receiver and a big screen - a real home cinema.
This means that the Wii is usually placed quite far away from either the screen or from the receiver (and especially from the projector about 25 meters in my case). This also means that I get into large issues with the relatively short cable with which you are supposed to connect the sensor bar to the Wii.
And the short A/V-cable didn't help either, so I also couldn't just place the Wii near the screen because then I wouldn't be able to connect it to the receiver.
I ended up placing the Wii more or less in the middle of the room and while I like the looks of the console, it still doesn't fit the clean look of the rest of my home cinema.
It gets worse though: I placed the sensor bar on the top of my center speaker right below the screen. It turned out though that this placement was too far below my usual line of sight so that the Wiimote wasn't able to pick the signal up.
So currently, I have placed the sensor bar on top of an awful looking brown box right on the middle of my table - a setup I have to rebuild whenever I want to play and to put away when I'm not playing.
I SO want that wireless sensor bar to place it on the top of my screen.
But the not-quite-working goes on: At first I wasn't able to connect to my WLAN. The Wii just didn't find the network. Flashing the ZyXEL AP with a newer software helped there and the Wii recognized the network, but was unable to get an IP address.
Due to the awkward placement it was unable to get a strong signal.
I moved the device more to the middle of the room (making it even more visible to the casual eye) and it was finally able to connect.
My first visit to the shopping channel ended up with the whole console crashing hard. Not even the power button worked - I had to unplug and replug it at which time I had enough and just played Zelda (a review of that jewel will probably follow).
Yesterday I was luckier with the shopping channel (I didn't buy anything though) and as I had my terrible "sensor bar on a box" configuration already up and running, I got a glimpse of what the Wii out-of-the-box-experience could be: Smootly working, good-looking and a very nice user control interface - using the Wiimote to point at the screen feels so ... natural.
In my opinion, Nintendo did an awful mistake of forcing that cable on the sensor bar. As we know by now, the bar contains nothing more than two IR-LEDs. The cable is only for powering them. Imagine the sensor bar being another BT device - maybe mains-powered or battery-powered otherwise (though these IR-LEDs suck power like mad). Imagine the console being able to turn it on and off wirelessly.
The whole thing would not have been that much more expensive (alternatively, they could sell it as an addon) but it would allow the same awesome out-of-the-box experience for all users - even the one with a real home entertainment system.
If it wasn't Nintendo (I admit that I am a «fanboi» in matters of Nintendo - the conditioning I got with the NES in my childhood still hasn't worn off), I would have been so incredibly pissed at that first evening that I would have returned the whole console and written one bad review here - even the XBox 360 worked better than the Wii... *sigh*
And all that to save a couple of hours in the engineering department.
Nov/060
Debugging PocketPCs
Currently I'm working with Windows Mobile based barcode scanning devices. With .NET 2.0, actually developing real-world applications for the mobile devices using .NET has become a viable alternative.
.NET 2.0 combines sufficient speed at runtime (though you have to often test for possible performance regressions) with a very powerful development library (really usable - as compared to .NET 1.0 on smart devices) and unbeatable development time.
All in all, I'm quite happy with this.
There's one problem though: The debugger.
When debugging, I have two alternatives and both suck:
-
Use the debugger to connect to the real hardware. This is actually quite fast and works flawlessly, but whenever I need to forcibly terminate the application (for example when an exception happened or when I'm pressing the Stop-Button in the debugger), the hardware crashes somewhere in the driver for the barcode scanner.
Parts of the application stay in memory and are completely unkillable. The screen freezes
To get out of this, I have to soft-reset the machine and wait half a century for it to boot up again.
-
Use the emulator. This has the advantage of not crashing, but it's so slow.
From the moment of starting the application in VS until the screen of the application is loaded in the emulator, nearly three minutes pass. That slow.
So programming for mobile devices mainly contains of waiting. Waiting for reboots or waiting for the emulator. This is wearing me down.
Usually, I change some 10 lines or so and then run the application to test what I've just written. That's how I work and it works very well because I get immediate feedback and it helps me to write code what's working in the first place.
Unfortunately, with these prohibitive long startup times, I'm forced to write more and more code in one batch which means even more time wasted with debugging.
*sigh*