Tomer Gabel's annoying spot on the 'net RSS 2.0
# Monday, 06 June 2011

Sometimes you know it’s time to move on. I’ve been working at Sears (née Delver) for just under four years, making this the longest stretch in my career. Even so, my tenure at Delver has seen several major upheavals, including a name change (we originally started off as Semingo), product strategy shifts (Delver started out as a people search engine, similar to what are doing today), launching our product, failing to survive the market crash and shutting down, being bought outright by Sears and a drastic personal shift from R&D to operations.

So yeah, a lot has happened in the last four years: I’ve worked alongside some amazingly smart people, helped build and take care of systems way more complex than any I had encountered before, and perhaps even learned to curb my temper a little bit. Delver/Sears is a great company to work for, but it’s time for me to move on.


As of two weeks ago I’m a software architect working for newBrandAnalytics, a startup company that provides social business intelligence for various industries; I’ll skip the business spiel as you can go ahead and read about our solutions and existing customers. Suffice to say that we handle massive amounts of data from various sources (including social media such as Twitter and Facebook); scaling concerns aside, this also entails bleeding-edge text analysis and NLP, rapid response to growing (and changing) customer demand and other wonderful aspects of complex, scalable software systems built to support an actual business. Exciting times are ahead!

Coincidentally, we’re hiring! Our careers page isn’t up yet, but we’re looking for top notch engineers, QA engineers and NLP/algorithm specialists for our Israeli R&D center. I’ll update this post with more concrete details later on, but will leave you with the following points to consider in the meantime:

  • nBA is a fresh, privately-funded company with a fast-growing customer base;
  • We’re a core group of extremely smart, experienced people who love (and know how!) to get things done;
  • Tackle challenges such as massive data volume, increasing scale and deceptively simple business requirements which translate to bleeding-edge software;
  • The Israeli R&D center is the only in-house engineering center for nBA. Employees have unprecedented influence on the company, as well as direct communication with customers. There’s nothing like actual business feedback to motivate and ensure success!

If any of this resonates with you, go ahead and send your CV to, or contact me directly at

Monday, 06 June 2011 02:48:54 (Jerusalem Standard Time, UTC+02:00)  #    -
# Sunday, 13 December 2009

When a company is acquired by another, some sort of restructuring is inevitable. As Delver’s acquisition by Sears Holdings became reality, it was also obvious that significant changes were required to how we operate. The first and most pronounced of these changes was that our social (or socially-connected, if you’re picky) search engine, the first product of its kind – we have enough ego to kick ourselves hard now that Google’s version is out – was scrapped, and the entire team was put to work on a new product for Sears Holdings. This, of course, meant restructuring the R&D team.

One of our tenants at Delver was that everything is open to interpretation, critique and improvement. As an R&D team we were always relentlessly self-improving; I believe my two years at Delver were perhaps the best I have ever experienced professionally. I’m happy to say that this approach still prevails under Sears Holdings, and we’ve taken the first few months under the new management for some serious introspection, trying to learn everything we can from the mistakes we made while still working under the Delver banner. I believe the organization has improved across the board with these sessions, resulting in significant improvements to everything from recruiting, HR and managerial processes to source control, configuration and release management. But as a developer I felt I was hitting a professional plateau.

As the new product’s specs took shape I was initially meant to take charge of the search engine implementation, continuing my original position at Delver. After nearly two years of working on search it became obvious to me that it is a very broad and nontrivial domain, and that to do a good job I will have to truly specialize in search. While I knew I did not want to continue working on the search engine, I also knew that the other developer positions would not satisfy me. While the product was being specified I kept busy with tasks that were not directly related with the product itself: setting up an integration testing framework (not trivial with a system comprising both Java and .NET components, and which integrates a significant number of 3rd party products), defining various development processes like version and branch guidelines, and finally implementing a proper Java build system that still drives our builds today. The common ground here is that, for the most part, the greatest enjoyment was derived from doing stuff that’s “horizontal”, that crosses components and teams and sort of binds the entire development effort together. With this in mind I approached my bosses at Sears and, after prolonged discussions, we came up with the title of Application Engineer:


An application engineer, in Sears parlance at any rate, bridges the gap between R&D and IT (or rather, the support, deployment and administrative teams). Essentially, where R&D (and QA) ends, the app engineer’s role begins: the app engineer is directly responsible for the smooth operation of the production system. This means that the app engineer must not only be fully versed in the system architecture and inner workings, but must also be an active participant in defining it. Wherever there is an overlap between R&D and IT is where you will find the app engineer: front-end server farms, logging and profiling requirements, log aggregation and reporting, system monitoring (which suddenly not only includes health, but applicative counters that must be correctly specified and monitored), deployment and troubleshooting processes etc. Having been assigned this role for the past few months I’ve reached the conclusion that an app engineer is a cross between IT-oriented system architect and system administrator, walking a fine line between a developer and a system adminstrator. I certainly hope I don’t fall off!

Sunday, 13 December 2009 14:54:30 (Jerusalem Standard Time, UTC+02:00)  #    -
Development | Personal
# Wednesday, 26 August 2009

Musical Fidelity V-DAC In the previous installment I have first experimented with rolling the tubes in my headphone amp, and first introduced an external DAC into one of my audio setups. Replacing the Electro Harmonix 6922EH tubes with a pair of matched JAN-Sylavnia 7308 tubes bought me a significant improvement in soundstage and resolution, and adding a Musical Fidelity V-DAC into the mix resulted in even better resolution at the expense of reduced imaging:

… the V-DAC features significantly improved accuracy and resolution, and more and more often I’ve been rewinding tracks just to make sure that, yes, I wasn’t imagining, I really have never heard this or that detail before… In fact, the only disadvantage is in a certain change in the soundstage, as though the stereo separation grew just a littler wider than I’d like. Don’t get me wrong, the soundstage is huge and imaging is terrific, but it sometimes seems to be that sounds tend to cluster a little closer to the extremes of the soundstage than they should.”

When that upgrade was concluded I was left with an unfulfilled sense of curiosity. The first tube upgrade was a huge success, and the new DAC added the detail I was missing with the original setup, but I was not entirely happy with the difference in soundstage. Along with the 7308 tubes I bought a pair of Mullard E88CC; from what I’ve read on the tube I predicted that it would improve the soundstage, a theory which immediately I put to the test.


Great success! The 7308 tubes were such a huge step up, I did not expect to be so well-rewarded the second time around. The soundstage not only “deflated” to more natural-sounding positioning, but it also deepened (i.e. became more three-dimensional). Instrument articulation has improved dramatically: buzzing of metallic strings can be heard distinctly on decent recordings, bass has deepened remarkably and the sense of air around instruments can be absolutely mind-boggling. Even the noise floor dropped a few decibels. The improvement was so pronounced I now have a renewed desire to test additional tube amps, such as the Little Dot Mk IV SE or DarkVoice 336 SE. I’ll certainly post my experiences if I manage to get my hands on one of these…

Finally content with my primary setup (which I primarily use at work), I have turned my attention to the secondary setup at home. At that point the setup consisted of an onboard ALC889A codec, connected to an Aqua Mini-Head via a generic analog interconnect, this in turn connected to ‘03 Beyerdynamic DT880 cans. In my previous post I had failed to mention that I did test the ‘05 edition DT880s with the 7308 tubes and found the new edition to be a downgrade: slightly better midbass marred by a muddy soundstage, flat treble (without the sense of “air” I’ve begun to associate with tube-based amplification) and a generally degraded experience than with the older edition. At that point I had almost put my original setup up for sale in its entirety, but decided to hold on to it for a few more experiments before I let it go. I took the opportunity to test those cans with the upgraded Mullard tubes, but am sad to report that no new synergy is to be found in that direction, and throwing the V-DAC into the mix did not result in any improvement either.

Zhaolu D2.5 DACAs it happens, an opportunity presented itself to buy an upgraded Zhaolu D2.5 DAC for a very good price, and after arranging to loan it for a few days I’ve had the chance to try out some interesting new combinations. The Zhaolu (apparently pronounced chow-loo) D2.5 is a modular DAC that, at a cost of $215, is widely considered as one of the finest and most customizable value-priced DACs on the market. There are a lot of aftermarket upgrades available for the device, and it’s offered with a headphone amplifier module for an extra $55. The device is based off of a CS4398 chip, and my particular unit comes with upgraded National LM4562 opamps. The unit is extremely large (24cm x 30cm x 5.5cm – about the same surface area as the G&W amp!) and surprisingly heavy. Build quality is fairly mediocre: the markings on the front tend to easily wear off and the volume control produces an audible distortion when adjusted. From a usability perspective the unit is decent but does have a couple of minor annoyances, specifically the need to select the optical channel every time I turn it on and an annoying blinking “mute” indicator when there is no active signal from the computer.

The D2.5 has only S/PDIF and TOSLINK inputs, and I did not experiment with the V-DAC’s optical input to draw a comparison, so this is not a direct apples to apples comparison; that said, I connected the D2.5 to my desktop via TOSLINK, connected it via the preamp output to the G&W amp and started with the ‘03 edition Beyerdynamic DT880 headphones.

The initial impression was severely disappointing: while the resolution was incredible, the sound had lost all warmth and the soundstage had lost all depth. Just to put things in perspective: this sounded significantly worse than with a straight analogue connection from my computer at work. I figured that since the integrated headphone amp in the D2.5 was designed along with the DAC the combination would probably work better; unfortunately, this resulted in an even flatter soundstage, and imaging suffered as well.

The entire setup: G&W T-2.6F with Mullard E88CC tubes on top of the upgraded Zhaolu D2.5 amp, next to a Musical Fidelity V-DACAt this point I had almost given up on the DAC, but decided to switch back to the G&W amp and try out the ‘05 edition DT880s. This resulted in a markedly improved sound in comparison with the V-DAC and analogue connection; the sound gained some warmth, the soundstage expanded significantly and imaging improved as well. This is still a far cry from the ‘03 edition DT880 and V-DAC combination, but I could see how the Zhaolu DAC would benefit the cans if it was paired with the right amp.

While a definite improvement over the previous anemic combination, the results were still not satisfying. I briefly tried running the D2.5 and V-DAC through the Aqua amp but was not overly impressed; either the Mini-Head is not a good match for the DT880s (it was supposedly designed around the Sennheiser HD600) or it simply isn’t a very good amp. As an aside, in both cases the ‘03 edition sounded better to my ears than the ‘05.

Having tried nearly every combination of equipment at my disposal I nearly gave up at this point, but for the sake of completeness decided to try out the D2.5 and its integrated headphone amp with the ‘05 DT880s. To my surprise, this combination is a winner: amazingly revealing, detailed sound combined with robust imaging and a wide (albeit not as deep as I’d like) soundstage. While not as musical as my primary system (G&W amp, Mullard tubes, V-DAC), the Zhaolu D2.5 provides better resolution and an experience that’s nearly as engaging as that combination for less than a fourth of the cost. Value for the money indeed! If you can find one of these units, I definitely suggest giving it a try; just make sure to test it first as it’s apparently quite finicky with regards to its partners. For my part, the Zhaolu D2.5 has permanently replaced the Aqua Mini-Head amp in my home setup; this, in turn, went to my brother who is quite pleased with it driving ‘03 DT880s via a Creative X-Fi sound card.

Visit my Flickr account for more photos

Wednesday, 26 August 2009 03:34:40 (Jerusalem Standard Time, UTC+02:00)  #    -
Music | Personal
# Saturday, 27 June 2009

Note: This is more or less a translation of two forum posts in an Israeli home theater website; if you can read Hebrew, you may be interested in the comments as well. First post, second post

Original setup: Beyerdynamic DT880 original edition, G&W T-2.6F with stock 6922EH tubes Lately I have been bit by the audio bug again, and have decided to experiment with my headphone setup. This is the setup I use at work and listen to for hours at a time (often 5 or more hours a day), and which consists of a pair of 2003 model Beyerdynamic DT880 cans I bought on a previous trip to China, hooked up to a G&W T-2.6F amp I bought on the same trip after having spent an hour listening to various equipment combinations. Unlike products from other, internationally recognized brands with which I am familiar (Creek, Musical Fidelity etc.) this product was completely out of my comfort zone: a Chinese-made amplifier, which like many others I normally associate with cheap components and subpar build quality. Additionally it is  rather large and bulky, and to top it off, it is a hybrid design based on two Electro Harmonix 6922EH preamplifier tubes and a solid state power section. Up until that point I had heard solid state equipment exclusively, with the exception of two loudspeaker demonstrations in which the amplification included tube components and was significantly more expensive than I could even consider. Since I had not known what to expect I could not detect the subtleties of tube sound, and had chosen this headphone/amp combination strictly on being the best I had heard during that visit.

Tube selection, left to right: Mullard E88CC, Electro Harmonix 6922EH, JAN-Sylavnia 7308 This setup was, in turn, hooked via a generic interconnect to my work computer with onboard HD audio, through which I play mostly lossless rips from my own CDs via Exact Audio Copy. It had faithfully served me for over three years, at which point I decided to do some research and was first exposed to the vast world of tube-based amplification and tube rolling. After several days of forum lurking and reading well into the night I had placed my first ever tube order at With the help of the shop representative, Jon, and general recommendations around the web, I had selected a matched pair of JAN-Sylvania 7308 tubes and yet another matched pair of Mullard E88CC tubes and placed my order. I did not have to wait very long, as the UPS delivery arrived amazingly fast (a single weekend, not too shabby for an international delivery!), and decided to spend a few weeks with each pair to be able to form an honest, educated opinion. I begun my experiments with what is, according to general consensus, the weaker tube: the JAN-Sylvania 7308.

What a shock! While I do not, for a moment, assert that similar or better sound cannot be found in solid state amplifiers, I certainly did not expect such a dramatic difference in sound quality. The soundstage, previously wide but shallow, simply exploded! It’s as though the sound instantly multiplied its volume tenfold or more; highs became wonderfully airy and distinct, and the resolution… let me put it this way: in every audio enthusiast’s life there are but few such moments of enlightenment, where you suddenly realize how much more is possible, and even attainable. The first time I’ve listened to the very same equipment with upgraded tubes provided me with one of those rare occasions, and from that point on I can never settle for less.

JAN-Sylavnia 7308 tubes hooked up to the amp (and before dusting...)At the same time I had a second such revelation, albeit by accident: because of the physical layout of my desktop at work I was forced to place the amp further away from the computer, which necessitated a longer interconnect cable. I did not have one at hand and until I was done for the day I was left with no alternative but to use the iPod’s standard analog output. The iPod is generally considered to have very poor analog performance, which is why I was thoroughly surprised when, having brought a longer (and higher quality) interconnect from home and hooked the computer up, I found that the iPod actually sounded better. I recall when it was almost impossible to find a decent quality audio card for your computer, and assumed that contemporary solutions were at least adequate; indeed, the computer sound output was cleaner (better SNR) but also had significantly diminished dynamic range and volume. This led me to the conclusion that an audio card upgrade was in order.

A little research into the subject brought me to the the conclusion that what I’m interested in is not, in fact, a computer audio card; what I want is an external DAC, or more specifically a USB DAC. Getting a computer to output even half-decent analog audio is pretty much a futile quest, and while hooking it up via coaxial/optical S/PDIF would certainly work there are some significant disadvantages, namely: digital (lossy) volume control, and jitter. With S/PDIF, both clock and data signals are encoded together on a single data line, and the click has to be regenerated. This introduces subtle timing inaccuracies, generally known as jitter, which in have an undesirable impact on digital-to-analog conversion (a more scientific explanation can be found here). Just how significant an impact is a subject of much controversy, but at a USB DAC has the theoretical advantage of significantly reduced jitter on the protocol level, as well as removing the question of the onboard S/PDIF encoder’s clock accuracy from the equation.

Musical Fidelity V-DAC. Ugly but functional With the advice of fellow forum members I resolved to try one of the following DAC trio: Cambridge Audio DacMagic, Oritek OMZ DAC or Musical Fidelity V-DAC. Following a lead from a fellow forum member I eventually bought the V-DAC for a very good price from a forum member. The V-DAC is a 192KHz/24-bit upsampling DAC with optical, coaxial and USB inputs that has received high praise in the head-fi circles and is even available in Israel for a surprisingly reasonable price.

JAN-Sylvania 7308 in actionI hooked the unit up with an unnamed but high quality silver interconnect, and after significant critical listening I can draw the following conclusions: compared with both iPod and onboard audio card (as well as an old Audigy 4 I had lying around) the V-DAC features significantly improved accuracy and resolution, and more and more often I’ve been rewinding tracks just to make sure that, yes, I wasn’t imagining, I really have never heard this or that detail before. This is exactly what I got into audio for in the first place! The bass is also much tighter, and in my opinion also extends further down than it ever did. In fact, the only disadvantage is in a certain change in the soundstage, as though the stereo separation grew just a littler wider than I’d like. Don’t get me wrong, the soundstage is huge and imaging is terrific, but it sometimes seems to be that sounds tend to cluster a little closer to the extremes of the soundstage than they should.

All in all I’m extremely happy with the upgrade, and luckily I still have some new equipment left to play with: the Mullard E88CC tubes, patiently awaiting my pleasure. Still, now that there’s such a significant difference in fidelity between my work and home setup (which consists of an Aqua Mini-Head amp and Beyerdynamic DT880 2005 edition cans) I feel compelled to experiment with new equipment. Whatever shall I try next, a new DAC? Another amp? Different cans, perhaps? The choices are endless, and that’s the beauty of it. See you on the next upgrade.

Update: Some more pictures can be found here.

Saturday, 27 June 2009 06:17:10 (Jerusalem Standard Time, UTC+02:00)  #    -
Music | Personal
# Monday, 18 May 2009

As a huge movie buff I could always give quick opinion on a movie, a subject which tends to come up quite often in conversation. It occurred to me that, although since I’ve finalized my home theater setup I’ve been watching dozens if not hundreds of movies with my girlfriend, the sheer volume makes it impossible to review the lot of them in blog posts. Then the idea struck me that Twitter is the perfect platform for quick-and-dirty movie reviews:

  • Reviews have to be succinct; each review consists of up to 140 characters, a hard limit inherent in the platform. Subtract from those characters the movie length, final grade (more on that later) and (being as obsessive as I am about language) no skimping on spelling or punctuation marks either. Condensing my thoughts on a movie to such a limited medium means I have to focus on either one point with some elaboration, or at most two with no embellishment of any sort.
  • It’s non-committal. I spend a minute or two thinking up a few angles on which I can go, then another 2-5 minutes refining the text until I’m satisfied. It’s much easier and much more pleasant to spend five minutes after a movie writing up a message on Twitter than to spend a couple hours each week summing up movies days after I’ve seen them; if I wanted to keep this in blog form I would have had to write up summaries in the same manner anyway, why not just publish them directly?
  • Low overhead. Having a blog means I beat myself whenever I slack on posting, and I’m committed to keeping it up and running, indexed and technologically relevant (if only so I can move hosts freely and avoid spam). Twitter is a managed platform, means I don’t have to worry about storage, bandwidth, backup or crappy web hosts.

With the rationale out of the way, I give you movies à la mode: 140-character movie reviews!


The grade scale I use is my own, and while I believe it to be consistent I make no guarantees. To give you some sort of reference point, I consider the original Matrix a genre-redefining action movie, and as such would give it an 8; Reloaded, on the other hand, not only pales compared to the first, it’s also horribly overblown and would rate a 2 (for the effects and nostalgia).

There are a few reviews up already, go read them and please do comment!

Monday, 18 May 2009 00:59:33 (Jerusalem Standard Time, UTC+02:00)  #    -
Movies | Personal
# Monday, 23 March 2009

I’ve been meaning to change the site’s theme for ages, and as often happens with these things this gave me an excuse to overhaul various aspects of the site. Here’s a bunch of stuff that’s changed:

  • Upgraded to dasBlog 2.3 and tweaked a whole bunch of settings. Hopefully this will enable all sorts of interesting stuff, such as OpenID commenter identification and coComment support. I’ll post my upgrade experiences separately;
  • Switched the theme to a slightly tweaked version of the dasBlog “business” theme by Christoph De Baene (thanks for the help, Ken!);
  • Got rid of the “advocacy” section on the right. I still strongly advocate Firefox, Vorbis and (among others), but there doesn’t seem to be much point in placing banners just for that;
  • Updated the blog-roll with my latest list.

Some code examples on the site may look a little weird on account of the CSS changes; over the coming days/weeks I’ll be fixing those, as well as recompressing images and other behind-the-scenes changes that will hopefully make the site look better and load faster.

Monday, 23 March 2009 14:38:33 (Jerusalem Standard Time, UTC+02:00)  #    -
# Wednesday, 11 March 2009

So I had to find myself a new job. Delver was about close down, the employees (including yours truly) were handed notices and the next few weeks were spent searching for my next job. I guess breaks come not only when you least expect them but also from the least likely direction: Delver was bought by Sears and made into SHC Israel, not to mention the company’s first overseas headquarters and development center.


You’ve read correctly: Sears. Not Amazon, not Google, not Microsoft. Delver, a strictly web-based startup, wasn’t acquired by a web company; not even by a technology company at that. Instead we were acquired by one of the United States’ largest retailers. Why, you ask? Well, with any luck you’ll find out in a few months :-)

Wednesday, 11 March 2009 17:34:35 (Jerusalem Standard Time, UTC+02:00)  #    -
# Sunday, 25 January 2009

Unfortunately the startup I work for (Delver) did not survive the current market crisis and has failed to secure additional funding. As a result I’m on the market again, and am looking for senior developer and/or software team lead positions, especially those with relocation opportunities. My résumé can be found here, and the most recent version can always be found under Navigation on the right side of this website.

Have an interesting job offer? Get in touch!

Sunday, 25 January 2009 18:07:16 (Jerusalem Standard Time, UTC+02:00)  #    -
# Monday, 12 January 2009

A couple of months ago I decided to give Twitter a try, and this ended up a permanent fixture in my online life. As it turns out it’s an excellent tool for posting small bits of information such as links, so I’ll be posting there much more often, but I’ll keep the in-depth posts to the blog.


Either way you can see my Twitter page here (or follow via RSS).

Monday, 12 January 2009 13:06:29 (Jerusalem Standard Time, UTC+02:00)  #    -
# Tuesday, 09 December 2008

Update (12-Jan-09): The latest Windows Live Essentials installer supports Windows Server 2008 (including x64), so no more hacks are necessary to get Messenger and/or Live Writer to work.

Update (7-Jan-09): Check out the addendum on Hyper-V performance issues below.

I’ve been using the 64-bit version of Windows Server 2008 as my development platform for the last few weeks, and have been quite happy with it. Following is a more or less verbatim transcript of the e-mail I sent out to the development guys at Delver, which may of be of some benefit to others:

Memory Requirements

Like it or not, this operating system does need more memory, but it also handles more memory (unlike 32-bit Windows which is practically limited to 3.3 [or so] GB). With 4GB on this machine I run the following applications constantly and it hardly ever swaps:

  • Google Chrome (with a buttload of tabs)
  • Total Commander
  • Process Explorer
  • Eclipse
  • Outlook
  • mRemote
  • MediaMonkey
  • Notepad++
  • Visual Studio 2005 + ReSharper 3.1.1
  • Skype
  • Live Messenger
  • FolderShare
  • KeePass

As an aside, this is also a list of software I currently use and recommend :-)

Application Compatibility

Practically every application I’ve tried so far works (the exception being the file monitor in MediaMonkey, I’ve an open bug on this). I also make it a point to try x64 versions of software where available, and these are the important bits you should know:

  • Eclipse has a 64-bit version (which runs on 64-bit JREs). I tried it for a bit and it appears to work fine, but are there some problems with Subclipse (the integration plug-in for Subversion). Subclipse can work in one of two modes: using a Java-native Subversion client library, which is unfortunately very unstable (the IDE simply crashes after 5-10 operations), or a native-code thunking API called JavaHL. The Subclipse distribution only comes with 32-bit binaries, however, and I couldn’t find 64-bit JavaHL binaries (the SlikSVN x64 client works like a charm, but doesn’t come with a JavaHL implementation). For this reason I’d recommend the following:
    1. Install a 32-bit JRE on your machine (the latest JRE is recommended). Either set your JRE_HOME accordingly or (preferably) use the -vm flag for the Eclipse launcher.
    2. Install a 64-bit JDK for development purposes. Configure Eclipse (via Windows->Preferences->Java->Installed JREs) to use the 64-bit JDK as the default runtime. This lets you develop on a 64-bit VM.
    3. If you use YourKit Java Profiler, make sure to install the integration plug-in in 64-bit mode (it lets you decide) if you use a 64-bit VM for development.
  • Checkpoint VPN-1 SecuRemote (the Checkpoint VPN client) has no x64 version, which means it simply cannot be installed. I resorted to a Windows XP 32-bit virtual machine running on Hyper-V for when I need VPN access. Hurray for Checkpoint.
  • Visual Studio 2005: Just install it as you normally would, along with ReSharper. You don’t need to do anything, and debug sessions for .NET code start as 64-bit processes. One caveat: it appears that the 64-bit debugger does not support edit-and-continue; if this is really an issue for you, here are instructions on running the debugee as a 32-bit image.
  • The various Microsoft Live! installers (Messenger, Writer, etc.) don’t support Windows Server 2008, even though the products themselves do. A quick Google search will get you instructions on how to install them anyway (use the individual MSIs directly). (12-Jan-09) No longer relevant, just download the latest installer.
  • The following applications have native x64 versions that “just work”:
    1. Eclipse (other than the problem described above). The version is not easy to find, you have to go through the Other Downloads page any find the x86_64 build.
    2. MySQL. Everything works as you’d expect.
    3. Gimp has an experimental x64 version which, again, isn't that easy to find: you have to go via the SourceForge project page and look in the stable releases. So far this version seems quite fast and robust.

Things To Do

You’ll probably want to perform these steps to get the environment closer to what you’re used to:

  • Disable the annoying shutdown event tracker.
  • Disable Internet Explorer enhanced security mode.
  • Start->right click on Computer->Properties->Advanced System Settings->Performance Settings...->Advanced and select Programs instead of Background Services (changes the paging behavior and makes everything much more responsive).
  • To get a more Vista-like look:
    1. Install the Desktop Experience feature from the Server Manager
    2. Change the “Themes” service startup mode from Disabled to Automatic
    3. Right-click your desktop->Personalize->Theme and change to Windows Vista
    4. Right-click your desktop->Personalize->Window Color and Appearance and change to Windows Aero
  • If you want audio:
    1. Change the Windows Audio service’s startup mode from Disabled to Automatic.
    2. If you get audio stuttering, change the registry key HKLM\Software\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\SystemResponsiveness from 100 (0x64) to 20 (0x14)

If you want to use virtualization (Hyper-V), make sure you update to the latest BIOS (I had an older BIOS installed that didn’t have an updated processor microcode) and enable the feature in the BIOS menu (usually disabled by default).


  • It’s fast (feels way snappier than Vista)
  • 64-bit OS (closer to our actual production environment)
  • Virtualization support (Hyper-V)

Update: Hyper-V and Multimedia Performance

Apparently installing the Hyper-V role can have some repercussions when it comes to multimedia performance in Windows. Specifically, when running under the hypervisor you may experience very high CPU spikes (mostly kernel time) when starting up any DirectShow-based application (e.g. Windows Media Player or the considerably better Media Player Classic Home-cinema) or a remote desktop session. These will effect make your machine freeze for 5-10 seconds.

According to the rather insightful comments here, this quite likely has to do with NVidia drivers though I have not yet verified this. I don't have consistent need for Hyper-V so I simply disabled it, which resolved the problem. If you require virtualization and still want proper multimedia support you may have to resort to ATi cards.

Tuesday, 09 December 2008 18:20:13 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Tuesday, 16 September 2008

(Cross-posted on Stack Overflow)

Update (17-Sep-08): Corrected the answer to an integer arithmetic question ("rotate to the right" was obviously incorrect - I was careless when I wrote this. Thanks, Kuperstein!) and some formatting adjustments.


I never interview the applicant on the first phone call. This doesn't give me the time to go over the candidate's CV and consider if there are points I'd like to bring up on the interview, such as specific work experience or glaringly missing skills. Additionally, setting up a specific time for the phone interview allows the candidate time to mentally prepare, drink a coffee and settle down in a quiet spot somewhere. Just puts everyone at their ease.

When first calling the candidate I always take the time to introduce the company I work for, a synopsis of what we do and a general description of how the company operates. I then proceed to inquire if the applicant sees this as a potentially interesting place to work in and whether or not they have any questions; you'd be surprised at the time this can save, for example it's not always obvious whether or not the applicant is interested in working for a start-up company, or alternatively may not find the problem domain engaging.

Getting to Know The Candidate

To start the interview off, I usually skim over the candidate's CV and select two or three interesting projects that the candidate was involved in. I ask the candidates to describe their involvement (sometimes, but not often, going into a bit of detail if the domain is familiar to me), their specific contribution to the project, whether or not they had fun and why. This usually gives me a sense of what the candidates are looking for; are they heavily into design? Are they enthusiastic about a specific technology, and if so, do they have a sound reason for it? Were they frustrated by administrative issues, did they try to improve their working environment?

Technical Questions

Once those formalities and niceties are out of the way, I turn to my ever-growing collection of interview questions and select a small subset to present to the candidate. For example, a typical interview may include the following questions:

Integer Arithmetic

Does the candidate have a decent grasp of bits and bytes? I consider this a must-have; a candidate that fails this part has no chance in hell of tackling even the most trivial native code.

  • "Take an integer. How do you turn the 7th least significant bit off?" This question alone removes about half of the applicants from the equation. Some people tell you "you need to apply bitwise AND, but I can't remember the number you need to AND with" -- this isn't what you're looking for. A good answer would be something like "x &= ~(1 << 6)".
  • "How would you quickly divide an integer by eight (8)?" A good answer is, you shift right by three. A better answer would be "is the integer signed or unsigned?", with a bonus for Java developers who know the difference between >> and >>>.

Pointers and Pointer Arithmetic

This really depends on what your company does. Most developers today don't need to know in practice the particulars of pointers and pointer arithmetic optimizations, but if you're developing a highly scalable system and/or one with serious performance considerations, this is a very good measure of how likely the candidate will be able to tackle such challenges.

  • "How big is a pointer?" The only correct answer is, "depends on the architecture". 32-bit operating systems will have 32-bit pointers, 64-bit systems will have 64-bit pointers. Anything that doesn't fall into these two categories is not relevant for my purposes, and likely yours as well. If the candidate fails this question I usually mark this section as "failed" and move on.

Floating Point Numbers

  • "What is NaN?" A programmer who can't answer this question has never really worked with floating point numbers.
  • "How are floating point numbers represented in a typical modern architecture?" Failing this question is not a deal-breaker, but answering it correctly will score the candidate a lot of points. "sign, exponent, mantissa/fraction/significand" is a sufficient answer.

Essential Data Structures and Algorithms

This is the bread-and-butter of programming. A candidate should exhibit robust familiarity with commonplace data structures (hashtables, linked lists, trees etc.) and algorithms (sorting, graph traversal).

  • "Describe how quicksort works. Elaborate on its performance characteristics." Any professional developer should be able to explain quicksort in a few minutes, know its average- and worst-case complexity, and recognize pathological cases (typical school-level quicksort implementations exhibit horrible performance on pre-sorted data).
  • "How are hashtables commonly implemented?" A candidate should be able to describe the concept of a hashing function (uniform distribution) and how it relates to the internal data structure (normally an array of buckets).
  • "What backing data structure would you choose for a simple text editor?" The classic answer is arope, but it's unlikely that a candidate will be familiar with this data structure. A more likely response would be a "linked-list of strings", in which case you should ask about the complexity of various editing operations (deleting a line, inserting a line, deleting a character etc.) This question typically takes slightly longer to answer but I've found that it gives me a good measure of the candidate's intuition in choosing/analyzing data representations.

Threading and Sychronization

This is fast becoming the most important subject with which to distinguish the truly brilliant candidates from the merely competent; the ubiquity of multithreaded code nowadays also means that these questions can be used to quickly weed out the unworthy candidates.

  • "Describe one common way of synchronizing access to a shared resource." This is just a starter question, and if the candidate takes more than a few seconds to come up with an answer (mutex, semaphore, monitor or "synchronized" for Java developers, "lock" for C# developers) it's usually a good sign that they don't have any reasonable experience with multithreaded development.
  • "You have a shared cache with a very good hit ratio. How would you synchronize access to the cache with as little performance overhead as possible?" The answer is trivially a read-write lock which can accomodate multiple readers and a single, exclusive writer. Where appropriate, ask how the candidate would implement such a lock.
  • "Describe a nontrivial problem that you've had with threaded code." Responses usually fall into one of three categories: either (1) a reasonably experienced multithreaded developer would never make the same mistakes, in which case the candidate obviously isn't one; (2) a classic race-condition/deadlock/etc. scenario, which merely tells you that the candidate has some experience with multithreaded code and appears capable of tackling such challenges; or (3) rarely, a candidate may have a genuinely interesting "war story," in which case you'll probably want to hire them right away.

Peripheral Technologies

Approach this section with caution. A canditate that's familiar with a great deal of today's hot technologies may prove completely incompetent, whereas it's quite possible to find brilliant programmers that have never touched COM in their lives. I still like to get a sense of how "in touch" the developer is with contemporary technologies; familiarity with tools and technologies can definitely be a tie-breaker between two promising candidates.

  • "Are you familiar with COM? Describe an interface which any COM object must implement and its methods." Anyone who's even a bit familiar with Windows software development should be able to answer this question fully. For those unfamiliar with COM, describe it in a few words and ask the canditate to guess what the required methods of IUnknown are.
  • "What is a well-formed XML file? Give two examples of errors in an XML file which would render it non-well-formed." XML is prevalent in almost every software development domain. A candidate which cannot answer these questions (and doesn't have a very good excuse) will not go past this interview.
  • "What's XPath? Explain what a predicate is and how it's used." This is not most-have. I'd expect serious developers to at least have an idea of what XPath is. The second question is there to differentiate those who profess to know XPath from those who've actually done work with XPath and/or XSLT.
  • "If you had to verify the input of an e-mail address field, how would you go about it?" There are only two valid answers to this question: "I would use a regular expression," or "I'd like to use a regular expression, but I know that fully matching e-mails according to the RFC is insanely complex, which is why I'd get a proven library to do it for me." If the canditate is being a smart-ass you can always ask them about the performance characteristics of commonplace regex engines (which have pathological cases).
  • I also like to just toss buzzwords (Ruby, Boo, JSON, Struts, J2EE, WCF) around and examine the candidate's responses. It may also provide an interesting subject to ask about in a personal interview later on.

Concluding the Interview

The previous section usually takes between 10 and 15 minutes. At this point I normally ask the candidate if there are any questions they'd like answered, or anything I should know before we conclude the interview. Once that'd done, I thank them for their time and tell them (even if they've failed miserably) that I will call them back in a day or two with an answer.

Hope this helps, comments are welcome.

Tuesday, 16 September 2008 19:39:11 (Jerusalem Standard Time, UTC+02:00)  #    -
Development | Personal
# Thursday, 11 September 2008

After a long hiatus I've found the time to update PicasaWebDownloader. If you're using the tool, there's a bunch of compelling reasons why you'd probably want to update. As always, code is included and feedback is welcome.

Thursday, 11 September 2008 17:32:12 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Tuesday, 26 August 2008

Apparently Vorbis (.ogg) files are not all that commonplace, and some popular web servers (at least IIS7) aren't configured to handle them by default. Under the assumption that it's a case of missing MIME type I send a support request to GoDaddy (my web host of choice), who were pleasantly responsive and even helpful.

IIS 7.x supports configuration of mime-types on the application or virtual directory level by including the following lines in a Web.config file at the root of said directory:

		<mimeMap fileExtension=".ogg" mimeType="audio/ogg" />

After making the change, all .ogg file links within this site are now accessible (this particularly pertains to the Defender of the Crown links).

Tuesday, 26 August 2008 17:10:10 (Jerusalem Standard Time, UTC+02:00)  #    -
# Wednesday, 16 July 2008

In addition to the wide press coverage on US-oriented technology sites we've seen coverage from two major Israeli news providers (Hebrew only, for now): Calcalist and TheMarker.

Now comes the fun part; Delver is still borderline-alpha. We've been working hard testing and tweaking it, and getting a system of this complexity working in good order on a ridiculously short schedule feels astounding. I sincerely believe the Delver premise is a solid one, and we're giving you a mere inkling of what's in store for the concept; now all we have to do is work harder, growing along with the product and slowly but surely realizing its full potential.

The brilliant part? Beyond the dreams of rich and fame, this product already is useful; with relentless improvements it may yet become as indispensable a tool to Internet denizens as Google, Wikipedia and Facebook are today.

Wednesday, 16 July 2008 01:45:24 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Tuesday, 15 July 2008

An alpha version of our search engine is now open for all users!


We've been working towards this day for the past year, building a complete and functional search engine from scratch on a completely original premise. I'm both amazed and proud of the work done by the various teams, and I'm still can't believe we've managed to pull this off in so little time. Launching the search engine publicly seems like a great way to celebrate the year I've been working for Delver (as of July 1st).

Mind you, the service is still new and we're hammering away at the kinks, but so far we've had overwhelmingly positive press coverage and the various comments are sincerely flattering. Here's to another amazing year!

As an aside, we're got openings on my team (search back-end) for extremely talented software developers who are interested in building performance-driven, robust back-end software in a variety of technologies. Interested? Contact me for details at!

Tuesday, 15 July 2008 21:05:27 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Sunday, 22 June 2008

After figuring out the problem with the old dasBlog permalinks I had to figure out a way to convert all existing links in my blog to the new format. Lately whenever I need a script I try and take the opportunity to learn a bit of Python, so it took an hour or two to write the conversion script.

Here it is; if you want to use this for your own copy of dasBlog, change the "domain" global variable to wherever your blog is located and run this from your ~/Content directory (you can also download the script here):

# Quick and dirty permalink converter for dasBlog content files
# Tomer Gabel, 22 June 2008
# This code is placed in the public domain (see

from __future__ import with_statement
import os
import glob
import re
import urllib

# Static constants
domain = ''
href_lookup = re.compile( 'href="(http:\/\/(www\.)?' + re.escape( domain ) + '/[^"]*\+[^"]*?)"' )

# Globals
conversion_map = {}

# Takes a URL and removes all offensive characters. Tests the new URL for validity (anything other than a 404 error is considered valid).
# Returns a tuple with the converted URL and a boolean flag indicating whether the converted URL is valid or not.
def convert( url ):
	new_url = url.replace( "+", "" )
	# Check URL validity
	valid = True
		resp = urllib.urlopen( new_url )
		valid = False
	return [ new_url, valid ]

# Processes the source file, converts all URLs therein and writes it to the target file.
def process( source_file, target_file ):
	with open( source_file, "r" ) as input:
		source_text =

	conv_text = source_text
	match_found = False
	for matcher in href_lookup.finditer( source_text ):
		if ( matcher != None ):
			match_found = True
			original_url = 1 )
			print "\tConverting permalink " + original_url
			if not conversion_map.has_key( original_url ):
				conversion_map[ original_url ] = convert( original_url )

			conversion = conversion_map[ original_url ]
			if conversion[ 1 ]:
				print "\tConversion successful, new URL: " + conversion[ 0 ]
				conv_text = conv_text.replace( original_url, conversion[ 0 ] )
				print "\tConversion failed!"

	# Write out the target file
	if match_found:
		with open( target_file, "w" ) as output:
			output.write( conv_text )

# Entry point		
for file_name in glob.iglob( "*.xml" ):
	print "Processing " + file_name
	process( file_name, file_name + ".conv" )
Sunday, 22 June 2008 15:47:55 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Monday, 16 June 2008

Update (22 June 2008): I've posted a Python script for converting the invalid permalinks to their "proper" form.

After moving to GoDaddy I found to my chagrin that none of the site's article links (a.k.a permalinks) seem to work. There are any number of reasons why this is a bad thing, the two primary reasons being that Google cannot crawl the actual articles and that historical, incoming links no longer work. As they say, crap on a stick.

I originally looked into the URL rewriting rules and HTTP handler configuration in web.config, thinking that perhaps some of the handlers need to be manually registered with IIS for some reason; eventually I installed the blog locally, migrated to IIS pipeline mode (which might be cool but has no tangible benefit for me) but the problems persisted. Until I tried accessing a permalink URL locally, that is. Then I discovered that plus signs in URLs (dasBlog's way of avoiding encoding spaces to %20) are considered "double-encoded" characters, and are automatically rejected by IIS 7.0 by default because under some circumstances they pose a security threat.

There's a knowledge-base article detailing how to resolve this on a server or per-application level, but either solution requires server reconfiguration. Working under the assumption that this entails special requests from each and every potential future web host, and that having plus signs in my URLs is not the "right thing to do" anyway, I just opted to disable them and try to rework the existing links as best I can. I suppose blogs with considerably higher traffic cannot afford that luxury, but then blogs with considerably higher traffic usually work with much more specialized hosting providers and wouldn't have to worry about server reconfiguration in the first place...

Anyway, hope this helps someone.

Monday, 16 June 2008 11:05:53 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Wednesday, 11 June 2008

Sorry for the downtime and the lack of e-mail response over the past couple of months; I've had a ridiculous lot of problems with my previous web host (UCVHOST), among them:

  • They switched servers on me with no notification or announcement;
  • This caused a reset of both my mail forwarding settings (causing numerous mailbox outtages for several days each), my ASP.NET settings (which caused dasBlog to stop functioning) and the directory security settings (which disallowed comments, trackbacks or even blog posts);
  • They blamed me for the e-mail problems because supposedly I've changed the MX records for my domain to point to a different provider. This is ludicrous because the domain NS was under their control;
  • And the final nail in the coffin, they decided on a new policy that disallows forward e-mail to a GMail account (which I use as my primary mail provider).

In other words, what the hell? My recommendation is strictly to stay away from UCVHost.

I was looking for a new host for quite a while, and since I was in a pinch with no time for real research I decided to put my faith in my web registrar GoDaddy. To make a short story shorter, the setup was quick and painless and I got everything working within hours. GoDaddy's web-based control panel is exhaustive and usable, and everything "just worked" from the first instant -- which is the way I like it, really. So now I'm with a new host and can peacefully blog again.

Wednesday, 11 June 2008 10:51:45 (Jerusalem Standard Time, UTC+02:00)  #    -
# Monday, 21 January 2008

Comments are working again. I no longer have the time to muck about with applications (blogging or otherwise), and so I'm going to move this blog into a hosted blog service. If you can recommend one that doesn't suck (and preferably supports code highlighting, user extensions etc.) I'd be delighted to hear :-)

Monday, 21 January 2008 18:39:49 (Jerusalem Standard Time, UTC+02:00)  #    -
# Wednesday, 16 January 2008

I take pride in being one of the few people I know who actually buy their media: I have a sizable collection of CDs, DVDs, computer games and software that I've bought over the years, and I always feel good about having paid the people responsible for these efforts.

Until recently, that is.

It is commonly said that one of the most obvious traits of Israelis is that they hate to be screwed, and this is as true for me as it is for everyone else. It seems the media companies have taken upon themselves to screw me in every conceivable way, and paying for media is fast becoming an exercise in frustration for me. A most recent example of this is Valve's not-so-new-and-shiny content delivery network which goes by the name of Steam. I don't even know where to begin recounting what's wrong with this thing:

  1. Content delivery speeds are abysmal. I recently downloaded Half Life 2 Episode Two and got 200K/sec maximum transfer rate (more common rates hovering around 50K/sec) on a dedicated line with 5Mb downstream. I consistently get 300K+ rates to even the most busy content delivery servers (Akamai, Microsoft etc.) and it's not like I can use a download manager to better tune the download to my connection.
  2. The download manager is shit. Even ignoring the fact that the only controls it exposes are "pause" and "resume" doesn't help the fact that the error detection code is buggy as all hell: the first time I tried downloading the game it got stuck on 99% without any type of diagnostic or error message, and wouldn't resume. Reading piles of angry forum threads led me to the conclusion that the downloaded content files are simply corrupt; deleting and re-downloading the game solved the problem.
  3. Terminology is all screwed up: telling the game manager not to automatically download updates for a certain game will pause any pending download for that game, including the game content itself.
  4. Although there is no apparent reason for this, playing a game pauses the downloads for all other games. That, at least, has been my observation (Episode Two was downloading when I started on Episode One, and hasn't progressed a single per cent when I quit the game).
  5. The application itself is completely opaque. At no point does it give any indication of what it's doing; you can start the client, nothing happens for two minutes until it finally shows you an "updating Steam client" window. There are no visible clues when it's attempting to access a server (e.g. when clicking on Show News) or when a downloaded upgrade is being installed.
  6. I don't want to connect to a server to play a locally installed, legally bought game. That's just unforgivable, even if it didn't mean I sometimes have to wait for several minutes before the server actually logs me in instead of timing out.
  7. It might shock you, but I still play old games. Sometimes very old games (think Master of Magic). Will Half Life 2 be playable in five- or ten-year's time when the Steam servers have long been cold? I doubt it.

I know Steam probably works well for a lot of people, but for me it's a god-damned affront: I'm a paying customer, there's no reason why I should have so little control over a game that takes up gigabytes on my hard drive. To add insult to injury, the pirated versions often work better: the pirated version of Half Life 2 itself had considerably lower loading times, didn't suffer from the audio stuttering issues that plagued the original, and didn't waste hours of your CPU time on decrypting the game content once it was finally downloaded. If Valve wants to keep my business, here's what they should do:

  1. Switch to an open distribution model (HTTP or, preferably, BitTorrent) so I can use my own software to download their games if I so wish;
  2. Get rid of the dependency on Steam for their games. When I click on the HL2E2 icon I want the game to come up, and I don't give a rat's ass about Steam;
  3. Move to an asynchronous, transparent update mechanism for their games, preferably one that allows me to download game updates and install them on my own.

With the original versions becoming increasingly irritating and pirated versions becoming better than the originals (not to mention less costly), does paying for media still make sense? Remember, that's just one example, I could give a great many more.

Wednesday, 16 January 2008 12:24:04 (Jerusalem Standard Time, UTC+02:00)  #    -
Gaming | Personal | Software
# Wednesday, 02 January 2008

Bits and pieces:

  • Apparently everything is closed on Christmas day, which I suppose is obvious to you unless you live in a predominantly Jewish or Islamic country in which Christmas isn't really celebrated.
  • Spamalot is brilliant.
  • Manchester is a really cool city with terrific pubs and shopping districts.
  • The dominant ethnic group in London is not, in fact, cockney brits, but rather Indians (i.e. immigrants from India).
  • I'll post some pictures as soon as I upload them to Flickr.

Bottom line: As promised. Would buy again.

Wednesday, 02 January 2008 18:06:56 (Jerusalem Standard Time, UTC+02:00)  #    -
# Sunday, 23 December 2007

I'm flying to England tomorrow for a week's vacation, which will hopefully give me a bunch of ideas what to write about (it's quite difficult for me not to focus on my current area of work, which I doubt would be of much interest to readers...)

If you happen to be in London or Manchester some time within the next week, get in touch and maybe we'll get together for a beer :-)

Sunday, 23 December 2007 11:30:05 (Jerusalem Standard Time, UTC+02:00)  #    -
# Sunday, 09 December 2007

Well the title is actually a semi-private joke, but the point of the post is to draw attention to long-time friend, coworker and Mentor cofounder Shlomo Priymak's new blog. Shlomo is our sharp-but-misanthropic DBA, precisely the kind of person you'd want to pay attention to for hardcore MySQL (and other) problems and solutions.

Speaking of Semingo, we're gearing up to a relatively close alpha launch and have a new corporate website. Now would still be a good time to hop on the bandwagon and join a fast-growing company made up entirely of crazy-ass people out to do the implausible. If this sounds right to you, get in touch! (keywords: web 2.0 startup search .net java developers qa algorithms nlp and others)

Sunday, 09 December 2007 16:17:27 (Jerusalem Standard Time, UTC+02:00)  #    -
# Thursday, 06 December 2007

With the web host giving me trouble, just to add insult to injury the comment captcha generator stopped working. I don't know how long it's been this way and I sincerely hope it's a new problem; at any rate I disabled captchas and added Akismet spam filtering in the hopes that it'll keep everyone comfortable and the blog clear of spam...

I'm getting a little tired of all these issues with dasBlog (I still haven't been successful in configuring it on the new webhost) and am seriously considering replacing it; I'm basically really happy with the application, but configuration and installation issues are taking a little too much of my time. If anyone has an easy-to-use platform in mind, preferably one with a straightforward migration path, I'd appreciate the suggestion.

Thursday, 06 December 2007 11:17:16 (Jerusalem Standard Time, UTC+02:00)  #    -
# Wednesday, 05 December 2007

After losing several days' worth of e-mails (twice) because of issues with my web host provider, I've decided to switch to a different host. That was a few weeks ago; since then I've created hosting accounts with no less than 7 different hosting providers before I settled on a new one. Since then I've been trying to get DasBlog 2.0 to run properly on the new host, so far with little or no success (if anyone can tell me what would case an ASP.NET parser error with a Could not load type 'newtelligence.DasBlog.Web.Global' error message, I'll be forever in your debt :-)).

The point here is that I've refrained from posting new content before I got this all sorted out, but since the process appears to take considerably more time than I thought I'll probably just go ahead and post everything in the coming days. The first meaningful post in a while is coming, stay tuned :-)

Wednesday, 05 December 2007 11:27:42 (Jerusalem Standard Time, UTC+02:00)  #    -
# Sunday, 22 July 2007

I didn't want to post this before all formalities were complete, and now that they are I can finally announce my new workplace: a shiny new Israeli startup called Semingo.


I can't currently say much about what it is we're doing, but it's a huge challenge and it's quite a change of pace from my previous job. It's also a nice plus working alongside fellow bloggers Oren Ellenbogen and Pasha Bitz, and trying out New and Improved™ methodologies such as Scrum.

As an aside, here's a couple of videos of the last project I worked on running on the eMobile EM-ONE device (the second video appears to be a leaked beta version. Curious!) If you can read Japanese, there's more about it here. There's absolutely no way to demonstrate this without one of these devices, so while I regret the poor video quality, it's definitely better than nothing...

Update: Now that we've enjoyed a bit of spotlight in Israeli publication The Marker (Hebrew only, sorry) I'll be able to progressively discuss more about what we do at Semingo. Heads up!

Sunday, 22 July 2007 19:07:30 (Jerusalem Standard Time, UTC+02:00)  #    -
# Tuesday, 10 July 2007

And they're getting better at it:


I mean, what the hell? That looks like a goddamned phi (φ) in italics! I couldn't even figure it out, it took a coworker to figure out that it's supposed to be "cp"...

Tuesday, 10 July 2007 16:38:19 (Jerusalem Standard Time, UTC+02:00)  #    -
# Sunday, 17 June 2007

PICT0715 It's official: I'm leaving Monfort Software Engineering, my workplace and second home for the last two years. I'm leaving with mixed feeling because I consider Monfort to be one of the finest places I'll ever find on both a technical and personal level, but it's time for me to move on.

I have several promising alternatives and will be settling on a new job by the end of the month; until that time I'm still open to offers (and will consider relocation if the offer is enticing). You can find up-to-date CV and contact information here or through the navigation menu on the right.

Sunday, 17 June 2007 23:43:32 (Jerusalem Standard Time, UTC+02:00)  #    -
# Wednesday, 23 May 2007

Long time no update. Reason? A vacation in Europe - mostly centered around the Netherlands (which I like very much). In the meantime I'll just post some random musings:

  • Radiohead rock. I have this thing where, when I hear music that I immediately dislike or "don't get," I feel obliged to give it another go every year or so. It took my years to learn to like Pink Floyd, and even more time to learn to like Radiohead, but after a serious listening session I have to concede that my friend (who we shall term "the rhesus") was right to call OK Computer "one of the 20th century's sublime records."
  • At Outline 2007 (on which I will expand in a seperate post) I got acquainted with a Dutch tracker who styles himself Cosmiq. Take a listen to his second album, which I actually really liked (particularly track 3, "A Shine Too Much").
  • You'll notice that I added a button for the FSF's latest campaign, Play OGG, under "advocacy" on the right. I'll take OGG over MP3 any day (on account of better sound quality for size, and no licensing fees for anyone); I don't expect the campaign to be wildly successful, but you never know. Maybe I'll actually be able to enjoy my next iPod or car audio set on my own terms.
  • Had a bit of time to spare, so I watched The Karate Kid again. The movie certainly looks different after 10 or so years -- it actually looks better (if you discount the obligatory '80s movie influences). Pat Morita is extremely funny, and I've seen much worse actors than Ralph Macchio (who looks much younger than his 23 years at the time). It also happens to be a really quotable movie, mock Eastern wisdom notwithstanding: "to make honey, young bee need young flower, not old prune."

Next on the agenda: Spiderman 3.

Wednesday, 23 May 2007 00:20:11 (Jerusalem Standard Time, UTC+02:00)  #    -
Movies | Music | Personal
# Tuesday, 17 April 2007

All I can say is: YES! Breakpoint 2007 was amazing. I went with Mickey (my brother) and we had an absolute blast! On the first day of the event we happened to spot an open bag one of the tables that had a newly-bought cellphone package sticking out of it, and were astonished to see that it had a sticker in Hebrew on it. We left a note saying "contact us!" and the anonymous Israeli guy turned out to be no other than Bacter!

Left to right: Mickey, Itzik (a.k.a Bacter) and myself

The entire 3-day event was an absolute blast. I got to hang out with really great guys like Havoc (one of the Outline organizers), who was cool enough to give Mickey and me a ride to the Netherlands after the party; Jeenio who also hosted the party prize-giving ceremony; Andy Voss (a.k.a Phoenix/Hornet and MindCandy fame) and a whole bunch of others. I also went to a couple of intereting seminars (one on new optimization strategies for realtime raytracing and one on moving from demos to the gaming industry, both of which you can find here), spoke to quite a few demoscene legens (including Chaos and KB of Farbrausch) and had a really awesome time.

People dancing to a live cover of Bubble Bobble? You bet!

Press Play on Tape gave a really good concert in the main hall, and you have to see it to believe it - people were literally dancing to live covers of C64 classics (Bubble Bobble and Commando, to name but a few). They also re-did their classic console-controlled Cannon Fodder, which was even cooler in real life...

One of the Awards Amiga demo nominees on the big screen 

For the first time I also got to watch the annual Awards ceremony play out, and it was really impressive - the level of crowd involvement was utterly fantastic, and the whole hour-long event was amazingly well-received.

Some of the compos were really quite funny - a "speech coding" compo was held, in which someone had a piece of original code and had to transliterate it using the built-in Windows Vista voice recognition. That feature, apparently, sucks eggs, but the wide range of mistakes it made gave the audience a very good laugh for nearly an hour.

The video compo had a wicked-cool entry by Jakob Bienenhalm called LOL, Internet - see it, spread it, it got a standing goddamn ovation!

fr-041: debris by farbrausch, the winner of the Breakpoint 2007 demo compo

By far the highlight of the party was the PC demo-compo. In this somewhat daunting, several-hour event, no less than 23 demos were shown, and there were some really astounding entries: Andromeda (the oldskool Amiga group) made a huge comeback with Noumenon (2nd place), which was not only cool fanservice but also a really impressive demo; Synesthetics won a very well-deserved 3rd place with the excellent STS-01: Lucy in the Sky with Deities; and Traction and Brainstorm collaborated on a very impressive demo called Fairytale. Of the lesser-appreciated entries I particularly favored Kikumoto by Vovoid.

Farbrausch really rocked the house with fr-041: debris though - this demo had at least three standing ovations while it was still playing, and as much as I loved the other demos... you just have to see this. As a regular demo it's impressive. On the big screen it's bigger than life. And when you take into account that it's only 177KB... it easily becomes the new Second Reality. Only one other time in my life have I felt this exhilirated to be a part of an audience.

Whew. There are more pictures and anecdotes I may share on occasion, but for now I'm spent :-)

Tuesday, 17 April 2007 19:50:54 (Jerusalem Standard Time, UTC+02:00)  #    -
Demos | Personal
# Tuesday, 30 January 2007

Also had some personal issues to take care of, and my family are all out of the country, which means I have a dog to take care of, which means less free time. All of this results in a lower posting frequency, which I intend to remedy in the coming weeks.

In the pipeline (in case you're wondering, this is also a placeholder so I know what's left):

  • More posts about .NET Compact Framework (memory and string handling, nonmodal dialog boxes, bizarre method overloads in the BCL, issues with CAB generation)
  • Issues with Windows Media Player Mobile
  • Some articles I want to link to and discuss
  • A couple additional articles on using wikis in the workplace (with additional insight on real-world scalability and usability)
Tuesday, 30 January 2007 12:34:53 (Jerusalem Standard Time, UTC+02:00)  #    -
# Tuesday, 23 January 2007

I use Trillian for my IM needs, and a few days ago ICQ abruptly stopped working with an "invalid password" error. Attempting to log in using Icq2Go resulted in the same error; logging in on ICQ's site also indicated that the password is wrong. Oddly enough, the security question remained the same but the system would accept none of my answers; furthermore it wouldn't accept any of my e-mails (current or previous) for resetting my password.

I searched the help system. ICQ's answer?

Please note: If you are unable to get a new password using the password assistance system, then you will have to register a new ICQ number.

So basically, my ICQ number since 1999 or so is useless. I'll update my contact information and try to get in touch with my older ICQ contacts, but if you're looking to contact me please don't use ICQ anymore (I'm not going to register a new number, not much of a point with everyone having an MSN account anyway). I'll be changing passwords on all my accounts in the meantime.

Tuesday, 23 January 2007 09:52:44 (Jerusalem Standard Time, UTC+02:00)  #    -
# Monday, 25 December 2006

This is an absolute must-read for anyone who gives even a bit of a damn about their rights as consumers. (via Aynde)

My brother thinks it's basically FUD-based propaganda, but I suppose if it's a way to make people listen it works for me (when fighting fair just isn't enough...)

Update (02-Jan-2007): Read this rebuttal. It's extremely cynical, but also makes several valid points.

Update (03-Jan-2007): For a more cynical and consumer-oriented view, check out this scathing editorial from The Inquirer. It's amazing how much it echoes my thoughts - as a consumer - on the subject. I wrote a few sentences about the subject before I realized it deserved a proper post, which I'll handle later this week.

Monday, 25 December 2006 14:59:47 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Wednesday, 13 December 2006

... from Alex Feinman. Don't ask me why.

In other news, the .NET Compact Framework doesn't decode alpha channels even in bitmaps that has them (well, it might decode the alpha channel, but it doesn't survive a Bitmap.LockBits call - maybe because there's no ImageFormat with alpha...) Still working around that.

Wednesday, 13 December 2006 19:01:40 (Jerusalem Standard Time, UTC+02:00)  #    -
Development | Personal
# Tuesday, 12 December 2006

Amazon used to be all about simplicity and usability - at least that's what I remember from my last order there, maybe 4 years ago. Now it seems my account is long-since deleted, and I figured I'll just go ahead and create a new one.

To make a long story short, there is absolutely no obvious way of knowing whether or not you're logged on, whether or not your account is active, or anything of the sort. I clicked on "Your Account," got a million different account management options and not even one "You're not logged in, click here to register" or somesuch option.

That, in my book, is very stupid.

Tuesday, 12 December 2006 14:11:36 (Jerusalem Standard Time, UTC+02:00)  #    -
# Wednesday, 15 November 2006

Update: Seems to work fine now, please let me know by e-mail if there are any problems (tomer at tomergabel dot com).

Apparently there is some sort of problem with the comment system, and it breaks in at least one case. I'm working on the problem, in the meantime feel free to use any of the other methods of contacting me if you need to.

Wednesday, 15 November 2006 16:51:25 (Jerusalem Standard Time, UTC+02:00)  #    -
# Monday, 13 November 2006

As I mentioned before, I've had well over 300 trackback/pingback spam notifications from dasBlog. Since this was well beyond what I was willing to mess with by hand, I whipped up a quick Outlook macro to do the work for me:

Sub DeleteTrackback()
    Dim oSel As Outlook.Selection
    Dim oItem As Outlook.MailItem
    Dim oShell
    Set oShell = CreateObject("Shell.Application")

    Set oSel = Application.ActiveExplorer.Selection
    For x = 1 To oSel.Count
        Set oItem = oSel.Item(x)
        If (Left(oItem.Subject, 19) = "Weblog trackback by") Or _
           (Left(oItem.Subject, 18) = "Weblog pingback by") Then
            Index = InStr(1, oItem.Body, "Delete Trackback:")
            If (Index <> 0) Then
                URL = Mid(oItem.Body, Index + 18)
                URL = Left(URL, Len(URL) - 1)
                oShell.ShellExecute URL, "", "", "open", 1
            End If
        End If
End Sub

To use this macro, create a new macro and paste the source code; then select all the "Trackback/Pingback" notifications messages and run the macro. It could obviously be customized to work on entire folders or whatever, but that I leave to you. One final suggestion: if you (like me) keep a 15-tab Firefox window open at all times, you may want to open a new window (not tab, window!) so that you can then close all the URLs at once.

Monday, 13 November 2006 11:53:02 (Jerusalem Standard Time, UTC+02:00)  #    -
Development | Personal

Ever since I upgraded to dasBlog 1.9 this blog was quite literally FLOODED with trackback spam. At first I tried to cut down on the spam using the various available techniques (IP-based blacklists, word-based blacklists, 404 responses to offenders), but unlike e-mail bayesian filtering, it's far more difficult to properly rate seemingly innocent URLs. Even if the current crop of spambots are relatively stupid and use blacklisted words in the page title, the next generation is bound to be more obscure.

At any rate I couldn't cope with the volume of spam (I have well over 200 spam trackbacks waiting to be deleted, and that's just from the last few days) and decided to turn off trackbacks and pingbacks. I wish I didn't have to do this - in many ways it feels like switching off what makes blogging special to begin with - but I don't have the time to deal with the impossible amounts of spam.

If anyone has any ideas on how to resolve this without turning off trackbacks, though, I'm definitely willing to give it a try...

Monday, 13 November 2006 10:16:45 (Jerusalem Standard Time, UTC+02:00)  #    -
# Thursday, 28 September 2006

Scenario: a couple friends and I want to go on vacation. So we go to a local travel agency's website and order a bunch of flight tickets. I give my credit card information, and a few seconds later I get a "transaction complete" notice and merrily call my friends to let them know that the deal is sealed.

Half an hour later, I get a phone call from said company. Oh they're so very sorry, but actually the flight is booked and they can't give me my tickets. Instead they offer a cheaper flight which either leaves or returns at a different time, or a much more expensive ($90 per person) flight instead of the one we were interested in. Bait and switch? Who knows, but working under the assumption that their ass is covered I took the liberty of examining their terms of service page (warning: Hebrew) and managed to find some very interesting bits (my own translation):

  • The part of the document where you "authorize" the company to bill you also includes, at the very end, a statement in which you (the customer) say you are "interested in details regarding call-card benefits outside the country, and hereby agree to be contacted by a representative of [the travel agency] or [associated phone carrier]." I would think that this is the sort of opt-in they would at least provide a check-box for.
  • Regarding hotels: "For your information, the supplier reserves the right to transfer you to an alternative hotel of similar rating, or higher for an extra payment of up to $100 per person... The hotel rating is according to the local Tourism Office and should not be used for comparing hotels in different countries." So basically, the carrier can (at their whim) screw you over, which may even incur additional charges.
  • Still on hotels: "In the case where, as a result of changes to the flight schedule, the customer loses prepaid sleeping privileges at the hotel or additional costs are incurred, [the travel agency] will not be held responsible to said costs." I wonder who is responsible - the flight carrier? I seriously doubt it, their ass is probably just as well-covered.
  • Otherwise, the document is basically full of "we're not responsible if" statements. Beautiful, I don't think the travel agency can be legally held responsible for just about anything.

Aside from being seriously pissed off at having my vacation ruined before it even started, it really annoys me that the various travel agencies in Israel are perfectly OK with screwing their customers over. The fact that it's legal (and maybe it damn well shouldn't be. Doesn't this fall under the definition of "false advertising?") doesn't make it any more reasonable. I hope the situation isn't quite as bad elsewhere.

Thursday, 28 September 2006 16:08:34 (Jerusalem Standard Time, UTC+02:00)  #    -
# Tuesday, 26 September 2006

Just when I was about to resume posting with full speed, my laptop breaks down. Another day, another dead hard drive. Hope to have it all sorted out in a few days.

As an aside, I updated to dasBlog 1.9. The upgrade was smooth (couple merged files and a lot of binary uploads) and everything seems to work - please let me know if something's wrong.

Tuesday, 26 September 2006 10:10:14 (Jerusalem Standard Time, UTC+02:00)  #    -
# Monday, 11 September 2006

These last few months have been some of the busiest of my life. Back in May I decided to postpone my studies in the Technion to resume working for Monfort full-time, and in the interim managed to complete several projects, visit several countries (besides China, which I already wrote about, I visited Japan, Hong Kong and Korea).

The net result was very little free time, which reflects in the post count:

(if you can't see this, you need glasses)

I want to get back on the horse, as it were, but I would also like to avoid ridiculous pledges that I have no idea whether or not I'll be able to hold up ("I pledge to write at least two major posts a week! No no, lets aim for something more feasible. I pledge to establish contact with an alien civilization by the end of the year!"), I'll make whomever is reading this a trade: I'll do my best to write more and more content, and you'll do your best to let me know what interests you.

Just to get the taste buds going, here are the current posts in the pipeline (i.e. open draft in Live Writer I'm trying to consistently work on):

  • Some free power tools (gnuplot, SVG, other GNU tools)
  • A comprehensive post about wikis, specifically MediaWiki and how our organization uses it to our advantage
  • A post about my two trips to Tokyo
  • Thorough review of the new audio equipment I've been buying lately
  • Occasional music/movie recommendation

If there are any specific points of interest, give me a holler...

Monday, 11 September 2006 16:32:01 (Jerusalem Standard Time, UTC+02:00)  #    -
# Tuesday, 22 August 2006

Microsoft has done a stellar job on Windows Live Writer. Even at beta it already supports (out of the box, no less!) a vast number of blogging engines, including dasBlog. It also supports a blog autodiscovery feature called RSD, which according to Omar will be featured in the upcoming dasBlog 1.9.

The draft feature is simply awesome: open up Writer, start typing and you never have to worry about your text going to hell (there is also an autosave feature). The WYSIWYG editor is extremely robust, lets you edit your posts using your own blog's stylesheet and has excellent picture embedding features. Although I could easily go into HTML editing mode and edit the HTML directly, I no longer see any point doing it, which saves a hell of a lot of hassle and time!

Never a sucker for web applications (AJAX or otherwise), this is a positive boon for me. Good job, Microsofties!

Tuesday, 22 August 2006 13:49:20 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Sunday, 20 August 2006

After my foray into the world of IBM Model M keyboards, followed by a few months using the impressive Microsoft Natural Ergo 4000 I eventually came to the conclusion that the Model M was the better keyboard of the two. The tactile response of the Model M is unmatched on any keyboard I've ever used, however the lack of Windows keys (and misbehaving Shift key - that was one old keyboard!) was a real pain in the ass.

I was anxious to try out two keyboards: the elitist Das Keyboard (the original version - there was no Das Keyboard II at the time) and the Unicomp Customizer, which is based on the original Model M technology. The possibility of a brand new Model M with Windows keys was simply too difficult to pass up and I opted for a black, 104-key USB Customizer (which looks wicked cool, check out the image on the right!)

Although I've only been using this keyboard for a few hours I can safely say that it's the best keyboard I've ever used. The tactile response is simply astounding -- basically everything I've said before about the Model M is equally true for this keyboard. Unfortunately this also includes the fact that it's a very large keyboard, which can sometimes mean too large; the finger travel for some of the keystrokes is a little much for my really small fingers (particularly when I have to right-shift or use one of the function keys). I guess the best thing ever would be a Microsoft Natural-style ergonomic keyboard with buckling spring keys (a la Model M). Maybe even one with blank caps... one can only hope :-)

As an aside, the Israeli tax is murder. Aside from exorbitant shipping price (not PCKeyboard's fault, it's just the way things are...), the Israeli customs laws dicatate a 15.5% VAT on every package whose value is higher than $50 (the tax can be higher, depending on the content), but they include shipping in the tax calculation!

Sunday, 20 August 2006 18:53:53 (Jerusalem Standard Time, UTC+02:00)  #    -
Development | Personal
# Friday, 21 July 2006

Despite having a lot to write about, the current state in Israel doesn't lend very well to my writing habit. I need to be in a specific mood to write properly, and my mood this past week could hardly have been further away.

I'm still up north; Monfort is situated in Kibbutz Sa'ar, just north of Nahariya. It means that when I'm at work I can hear everything - the Israeli artillery attacks, the choppers and planes constantly flying to and from Lebanon, and the Hezbollah-fired Katyusha rockets crashing down on most Israeli cities and settlements up north. When I go home, be it to my parents in Qiryat Haim or my own apartment in Haifa, the rockets follow. There are air-raid sirens every few hours, and explosions to complement the waiting.

Ironically it's not the rockets that really scare me; the air-raid sirens are the ones that really give me a fright, a throwback to yet another conflict that had absolutely nothing to do with us. Even wrose, there is nothing quite as jarring as walking the streets of Nahariya or Haifa; the usually busy streets and packed shops are shut down, closed, devoid of life. I make it a point to support whatever businesses that choose to remain open despite the situation (such as my own company). There is solidarity, and there is also exasperation.

Lebanon has no claim in Israel. There is no Israeli-Lebanese dispute. Two nations which could under other circumstances live happily in peace are now actively busy with survival because a bunch of freaking lunatics claiming to act under the volition of a nonexistant deity decided the time was ripe to kill. So here you are, assholes: the killing has begun, on both sides. I hope you're fucking happy.

Friday, 21 July 2006 22:50:55 (Jerusalem Standard Time, UTC+02:00)  #    -
# Thursday, 06 July 2006

Seeing as I had quite a few hours to spend in Beijing and no agenda what-so-ever, I figured I'd just go with a guided tour. While a good idea in concept this proved to be impractical because the guided tours provided by the hotel require a reservation at least one day in advance. I suppose I could try and look up a different guided tour, but as hardly anyone speaks English in Beijing it didn't seem worth the time.

I took my luggage on me and started walking around Jianguomen district; although the area directly near the hotel is strictly geared to tourists it was still a fascinating walk. For starters, DVD shops are rampant (I saw at least 7 different stores in a two-street block) - I wouldn't be half-surprised to find out that these were mostly pirated/fake DVDs, particularly considering the kind of people who were attempting to lure me inside. In fact, just about everywhere salespeople were practically dragging me inside their stores to look at their merchandise; I suppose it's a good thing that I'm about 10cm taller than the average Chinese, and an annoyed look was usually enough to make them back off. It wasn't nearly as easy with the beggars and street urchins though, firstly because they're much more persistent and second because it's a lot harder to ignore a child and/or give him/her an angry look. The day before one of my Japanese associates made the mistake of giving a kid some change, and we were busy fending off other kids for the rest of the way.

Tiananmen East Station (source)

Just walking about Jianguomen got old after a couple of hours, and I was looking for something more intelligent to do, at which point I decided to do some sightseeing. Tiananmen Square seemed like the right place to visit, and since I was already in tourist mode I figured I'd take the subway instead of a taxi. This turned out to have been a very good idea for two reasons: first, the Beijing subway is quite efficient, with two stations directly on either side of Tiananmen Square (not to mention saving quite a bit of time and money on the cab ride); second, it provided a fantastic opportunity to witness Chinese culture firsthand. I was the only European anywhere in sight on the subway both on the way there and the way back and the train was packed. At one point I was standing near one of the doors and a women came in - the Chinese are an amazingly small people, this particular woman was probably around 1.45m tall - and almost ran into me. She looked up and, to my utter amusement, gave an incredibly fearful look and practically ran away to the other side of the subway car.

This would be a good opportunity to mention that the Chinese women are absolutely beautiful. Besides the fact that they are an apparently slim people (I saw ridiculously few obese, or even mildly fat, people during my time there), the percentage of good looking women in China is amazingly high, as is just how beautiful they are. Going back to Israel was something of a downer in this respect...

Beautiful drawing on rice paper

Anyway, 3 Yuen and about 10 minutes later I was standing at the outskirts of Tiananmen Square. I walked the perimeter to get a good look around (and was surprised at how serious the looks on the honour guard's faces were). The National Museum of China is located directly in front of the square; I realized this when a woman (who spoke very good English) addressed me and tried to get me to go to an art exhibition just above the museum entrance where "some of her work is shown." Regardless of my artistic inclinations - or, more to the point, lack thereof - I was completely put off by her tendency to shower me with ridiculous compliments to get my attention. I do not appreciate a compliment from someone who doesn't know me at all and has an agenda. I did, however, consider going into the museum when a young art student who also spoke very good English approached me. Where the previous woman failed due to dishonest praise, this kid won my attention with sheer enthusiasm and happy disposition. I followed him to the art gallery (which, as he promised, was air conditioned - a very good thing when you're walking around with 15kg of luggage and it's 35 degrees centigrade!) and spent the next hour looking at various drawings while the art student explained the various techniques. His own work was (to my untrained eye) techincally impressive but didn't really inspire me; a series of four drawings on rice paper depicting the four seasons really impressed me, though. The drawings had several details in common (house, boat and birds) but were completely different in spirit. For a short while there I actually considered buying all four, as they were so engaging, but the cost was prohibitive (starting price of 400 Yuen - over $50 - per painting). I eventually bought the drawing for autumn (picture on the left) for my mom and after a bit of haggling got the price down to 250 Yuen. I was probably ripped off, but my negotiation skills are still rather lacking and, frankly, the kid was really doing his best and deserved his commission.

Tiananmen Square (source)

After leaving the art gallery I strolled around Tiananmen Square for almost an hour. It is huge, packed with tourists and duly impressive irrespective of its history. I didn't have the time to go the Forbidden City (according to people I spoke with, this alone can take an entire day) and didn't have any other reasonable plans, so I eventually took the subway back to Yonganli station (near the hotel) and headed to a local massage parlor for another hour of rest and relaxation. Although not nearly up to the standards of the hotel masseur (and significantly cheaper at that) it was still very pleasant. After a shower and a rest I still had almost five hours before I was to leave for the airport. Deciding to avoid exerting myself again - spending 10 hours on a plane in a drenched shirt is not my idea of fun - I searched for a local internet café. A local Starbucks was supposed to have wireless internet access, but apparently didn't - no-one could tell me why; I settled on a small ice-cream parlor which had wired access and spent almost an hour there.

I was trying to decide what to do next when my brother reminded me he's looking for a new pair of headphones. I googled a bit and three minutes later had a couple of speciality shops to visit. The sites were completely in Chinese, so I asked the owner of the establishment I was sitting in to copy down the address of one of the stores (whose name I can't even pronounce) onto a note. Not only was he willing to do this, but he called the store directly to make sure that they'll still be open by the time I got there; I've come to the conclusion that the Chinese people are amazingly curteous and helpful if you can get over the language barrier. The shopowner explained that the shop is located about 20km away so I decided to take a cab; it was a smart move in that I would have gotten completely lost had it not been for the taxi, and a less-than-smart move in that it turned out to be a fairly expensive (in Chinese terms) 45 minute ride. I had no idea what to expect when I got there, and was completely dumbfounded to find that I've just entered a huge mall (almost as large as the biggest general-purpose mall in Israel) completely dedicated to electronics! It would've been heaven had it not been for the fact that I arrived just minutes before closing time. The shop numbering scheme didn't make a whole lot of sense and I was getting extremely anxious, thinking that when I find the shop it'll be past closing time. I also got a lot of curious stares from the completely Chinese shopkeepers and customers, apparently not used to having a European guy moving purposefully about their mall with a large bag...

New hi-end toys

When I finally found the shop, its owners were apparently just preparing to close down. After all the effort it took to get there I wasn't about to let them close down before I've had my fill; I asked (using mostly sign language, as the shopowner didn't know a word of English, nor did any member of her family - which were all present by the way) to hear the Beyerdynamic DT880 headphones. I've been reading about these cans for a while and they've been said to compare favorably to my aging Sennheiser HD600; it seemed to be a good time to replace the latter, and I was interested in what Beyerdynamic had to offer. I'll leave the detailed review for a later post, but suffice to say I was extremely impressed with these cans. I then requested to listen to headphone amplifiers; I spent about five minutes each with amps from G&W Tsinghua University (a Chinese manufacturer of hi-end audio equipment which was previously unknown to me), including AT-F100 and the (apparently very popular) TW-J1. Neither one really struck a chord with me, so I gestured to the shopowner that I'm interested in other equipment; she then pulled a brand new box from a storage cabinet and took out a T-2.6F headphone amplifier from the same manufacturer. I was so utterly blown away that I took out my credit card on the spot and bought two pairs of DT880 and the T-2.6F: about $260 for each can - not cheap compared to the US, but about 30% lower than the price in Israel - and an additional $350 or so for the amp.

When I was done with the shop I took a cab back to the airport, which took over an hour but still cost only 100 Yuen ($14 or so) including the 10 Yuen for the expressway toll. The cabby apparently didn't know precisely where to go because although he did get me to the airport, he dropped me off quite far away from the terminal entrance; this was especially annoying with all the luggage I was carrying (a couple of plastic bags, my laptop, the large side bag and now also the relatively heavy headphone amp in a cardboard box). I made it through customs and check-in to find one of the smallest but best-kept lounges I've yet been to; it was very clean, very quiet and very comfortable. I spent a couple of hours there before the flight back and had a very pleasant time (despite a spotty wireless internet connection) before it was time to get on the flight to Istanbul. The flight back was almost exactly the same as the flight to Beijing, so if you're interested in the details you can check out the previous post.

Thursday, 06 July 2006 14:23:34 (Jerusalem Standard Time, UTC+02:00)  #    -
# Tuesday, 04 July 2006

I'm currently on El-Al flight LY075 to Hong Kong. Imagine my surprise when I turned on the laptop and found an active wireless network; then ponder upon just how baffled I was to find that it points to the Boeing Connexion log-in site. Finally, imagine my utter astonishment when the internet connection proved to be working, reliable and even quite fast!

Intercontinental flights will never be the same again.


Tuesday, 04 July 2006 06:40:46 (Jerusalem Standard Time, UTC+02:00)  #    -
# Monday, 26 June 2006

Image source
I'll pick up where I left off: Beijing International Airport. I'm getting the feeling that all airports are alike, psuedo-European and industrial; on the inside, Beijing International Airport is exactly the same as Ben-Gurion or Atatürk, the only difference being the faces that scrutinize you over the counter. I must admit that given China's image in western journalism I've felt somewhat apprehensive at this point, but the officials there are as efficient and courteous (if not more so) than any other government agency I've ever dealt with. Oddly enough I was required to fill in customs and health statements before I was allowed in the country. I never could figure it out: why would anyone bother asking you a question such as "do you carry a horrific, easily contractible disease?" - presumably if I were I wouldn't be travelling in the first place, and if I were travelling with a contagion for some clandestine reason I certainly wouldn't tell anyone about it. I had a vague and apparently misplaced belief that a non-democratic government would be less prone to pointless bureaucracy. Ever the optimist.
The difference between China and, well, everywhere else I've been to up until that point, became pronounced the minute I stepped out of the airport gate. There are a lot of people in China. As obvious as that may be when looking at the numbers (approximately 1.3 billion according to the CIA factbook), it only really becomes evident when you actually walk the streets of Beijing. Israel is a very small country, both in size and in population (6.2 million, same source) and the difference is staggering. I was so overwhelmed at the sheer volume of people moving about that, after getting out of their way, I had to simply sit down and shake it off. The previous picture hardly does it justice.

I then took a shuttle to Jianguomen, which I was told was near the hotel I was to stay in. This proved to be both a fascinating experience and a really bad idea: fascinating because I got to experience a little slice of Beijing immediately after landing, and because it forced me to learn new ways to communicate. The average resident of Beijing (including bus and taxi drivers) does not speak a word of English. This is also why taking a shuttle bus was a very bad idea. Aside from it being very small (unlike myself and my luggage) and without any air conditioning (it was 35°C outside!), it also dropped me in what I then thought was the middle of nowhere, with no map and hardly any way of asking for directions. I walked around a bit but was soon exhausted, what with the heat, the lingering tiredness from the flight and the bloody luggage; I eventually stopped a taxi and had it drop me off at the hotel, which turned out to be about 10 minutes' walk away from where the shuttle dropped me off. This would be a good time to mention that taxis in Beijing are quite cheap; a short ride costs 10 RMB (about $1.25 US), and even an hour-long trip to the airport cost 100 RMB including toll. That is amazingly cheap compared to Israel -- I'm wondering if this has anything to do with the Chinese government subsidizing the prices in preperation for the 2008 olympics.

Speaking of the olympics, I'm still awed by the sheer scale of the modifications, reconstruction and improvement efforts in Beijing. The Chinese government evidently takes the olympic games very seriously from a public relations standpoint, and is sparing no expense in preparation. I imagine that if the 2008 olympics were to take place in Israel, the same efforts on a much smaller scale would probably begin a few months before the games.

Jianguo Hotel lobby

My next stop was the Jianguo Hotel Beijing. Located two seconds from the Yonganli subway station and ten minutes (by subway) from Tiananmen Square, the hotel is pretty much a standard 5-star European hotel, with the exception of a magnificent artificial river-garden running smack in the middle of it. Although not bad by any means, I was somewhat disappointed at how artificially European the hotel is; everything from the large, golden lobby, the wooden architecture in the guest rooms, the oversized dining room with its inevitably ridiculous decor ("old masters"-inspired paintings and even a full-size harp in the corner!) and finally the diner which serves American-style food (to which I'm not partial even at the best of times). I mean, this is China! Where is the Chinese decor?

Jianguo Hotel guest room

Anyway, having found myself fully checked into the hotel and post-shower by 16:00 (local time) I had several hours to burn until the business associates I was to rendezvous with were slated to arrive. I spent a couple of hours doing some work and also finishing up the first post on the trip; this still left me with about three hours before said associates arrive. I sent the suit to be professionally ironed (I can certainly use an iron, but not nearly as well as a professional) and then elected to happily spend the next two hours getting an oil massage. Having read some books that discuss Chinese culture - albeit from a fiction standpoint - I should've realized Chinese pragmatism extends to sex just as it does to business, but I was ill-prepared for the barrage of overt questions and propositions. It appears that the Chinese business culture comprises chiefly of two principles: you'd better haggle and everything is for sale. European puritanism aside, I wasn't interested and settled for a simple massage with no added value; suffice to say that it was the best massage I've ever had, so evidently there were no hard feelings on the hostess' part (Chinese pragmatism in action?).

I spent the rest of the evening and the next morning's breakfast in pleasant conversation with our business associates. The next morning we went to the business meeting which was the original purpose of this trip; for obvious reasons I won't go into details. We then proceeded to a restaurant situated very close to where the meeting took place; I'd offer a name or address, except that I can't read Chinese and absolutely none of the restaurant's staff could speak English. Ironically this was never a hindrance - we made do with a combination of sign language and the pictures in the menu. We were served several dishes (pictured on the right); the dish nearest the rice bowl was quite possibly the best dish I've ever had. It was a mixture of hot green and red peppers with bacon (I think it was bacon. I couldn't really ask and would rather not know) stir-fried in some sort of soy-based sauce; the combination was utterly staggering, and I sincerely hope to find a dish worthy of this one at some point in my life. The other dishes were also terrific: chicken in some sort of sweet thick sauce, and a mix of vegetables with goose and bacon (the dish nearest the camera). All of this along with rice and lots of juice meant that I was soon completely satisfied, and then came the really pleasant surprise: although all three of us were unable to tackle even half the food, the total cost of the meal was less than 200 RMB (about $25). I've had meals that cost as much for just myself in Israel, and were certainly not up to this quality!

It was time to bid farewell to my pleasant companions who had to catch an early flight, and also about time to get out of the damned business suit (it was stifling hot!) and find something to do for the next few hours (it was about 13:00 at this point, and I only had to be at the airport around 22:00...). I'll blog about what I did during that time in the next (and final) post.

Monday, 26 June 2006 22:58:43 (Jerusalem Standard Time, UTC+02:00)  #    -
# Sunday, 25 June 2006

OK, I concede the point: Notepad++ is awesome! I configured Total Commander so it brings up Notepad++ on edit, and it's ridiculously useful: you get syntax colouring, line numbering, tabbed windows and more at the cost of a slight increase in startup times (it's about 200ms slower than Notepad on startup, and it's worth it). I feel really stupid for not having tried it before.

Also, I've always shied away from application launchers, but have decided to finally give Slickrun a try. So far it's only mildly useful (I used to do the exact same thing with batch files) but that might change. I'll post an update in a month or two.

As a sidenote, although the Natural Ergo 4000 is a terrific keyboard I've decided that the IBM Model M is still the better of the two. I think I'll try the black 104-key Customizer next, except that you can't get those in Israel. Ideas?

Sunday, 25 June 2006 20:51:37 (Jerusalem Standard Time, UTC+02:00)  #    -
Software | Personal

Around 21:00, June 22nd 2006, Neve Shalom.

Roger Waters appears on stage for the first time in Israel.

This is the biggest thing to happen here all year, and one of the most important events in my life. I'm still finding it a little difficult to find the right words... and as they say, a picture is a lot more economic, so:

Image by Assaf Carmeli. Click here for more pictures

54,000 people singing in unison the lyrics for some of the best known rock songs in history. It was a three-hour aureal orgasm.

I want to go back.

Sunday, 25 June 2006 16:11:26 (Jerusalem Standard Time, UTC+02:00)  #    -
Music | Personal
# Thursday, 22 June 2006

Remember Nuclear War? If not, slap yourself on the wrist and go download it. Right now, like.

One night a couple months ago (before my laptop hard drive woes, which are nay over by the way) I found myself unable to sleep at 5 in the morning. I figured a couple of rounds of Nuclear War would do well to alleviate my sleeplessness; I fired the game up and after 10 minutes was hit by a sudden inspiration. The game is turn-based, and the controls are exceedingly simple: mouse cursor and left click. Since I was still looking for something useful to do with my newly acquired PDA it struck me that the game would work extremelly well on a stylus-equipped PDA or phone, and I was wondering if someone made a version for Pocket PC devices. A quick search through Google assured me that this is not the case, and since I had the next day off I fired up Visual Studio and started working.

At that point I figured that a simple rewrite wouldn't do. I wanted an identical version of the original game. Since New World Computing is no more, I figured the chances of getting the source for a 1988 game are a little on the slim side. At a whim, I fired up IDA Pro and started working. A couple of days later I managed to disassemble most of the graphics code and image decompression (LZ78-derivative) and wrote a utility to help me extract the game assets. It features picture and palette display, histogram and font parsing:


Interesting technical footnote: the palettes were embedded in the data segment; I wrote a regex-based parser for IDA's assembler output for this purpose. The palettes were in the VGA 0..63 scale, but some values are also higher and have to be clamped, which gave me quite a bit of grief until I noticed this.

With the game assets ripped I could proceed to write some actual code, however this posed an interesting dilemma: I want the game to be completely faithful to the original, but disassembling the game logic and AI is a huge task. I originally estimated it would take a month to complete the reverse engineering, but given that it's already been two or so months (discounting my laptop's downtime) it seems my guesstimate was woefully inadequate. This is where I turn to you for feedback: should I keep going in this direction (meaning the alpha version will probably take another several months to be released), or should I just write my own game logic and AI code, get a release out and then proceed with reverse engineering?

Let me know your thoughts. Also, if you want to create better (higher quality, different) graphics and music for the game get in touch -- I'm aiming for a very spartan first release (to keep it in a reasonable timeframe), but once I'm done with this baby the sky's the limit.

Thursday, 22 June 2006 18:28:35 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Gaming
# Monday, 19 June 2006

As I mentioned in my previous post, my previous travel experience is somewhat limited. The one aspect of this trip I had absolutely no way of preparing for was the hours I was about to spend in airports and airborne. The travel arragements included a short (1.5 hours or so) flight to the TAV Atatürk International Airport in Istanbul and a connection flight to Beijing Airport, both by Turkish Airlines. Unlike my previous trip to Turkey, this time the flight was far longer (the connection flight to Beijing takes 9-10 hours); also, in stark contract with the previous trip's charter flight, this time I was to fly business class. Proper food? Legroom? What a concept!

I arrived with my gear at Terminal 3 of the Ben-Gurion Airport in Tel-Aviv. Proceeding to check my baggage in, I've encountered the first of the many perks of business class: radically reduced lines to security and check-in (all airlines have a dedicated desk, and the TA airport has a special X-Ray line for business class passengers as well.) After checking in and exchanging some currency (along with passport control and additional security checks) I proceeded to the passenger hall and then did some shopping in the duty free shops there. I still had a while before my flight, and it was then that I made use of the second major perk in business class: the CIP lounge.

The Dan Lounge in Ben Gurion Airport

Turkish Airlines make use of a CIP lounge operated by Dan hotels and is an extremely welcome respite from the bustling mess that is the passenger hall. Aside from wireless internet access - which is actually available in the regular passenger hall as well, but that isn't necessarily true for all airports - the CIP lounge features comfortable seats, private bathrooms, a private meeting room (for those who require it and will pay extra, of course) and refreshments. Most importantly, it's uncrowded and quiet; having spent a total of over 10 hours in airports in the span of three days I've learned to appreciate the relative peace and quiet of the CIP lounge. I can't imagine what spending those hours would be like in the regular passenger halls. The Dan CIP lounge in Ben Gurion airport (section B) is fairly small compared to the lounges in Istabul and Beijing (more on those later) but is perfectly equipped: comfy seats, sodas, light food and some alcoholic beverages if that's your thing.

Boeing 737 interior diagram (source)

My next station was the Turkish Airlines Boeing 737-800 airplane headed to Istanbul. I've flown in a charter 737 flight before, and even at 14 could vaguely recall the airplane as cramped and uncomfortable; I was hopeful that the business class section would be radically more comfortable, but alas that was not the case. The 737 is fairly small (39.47 metres in length and only 3.76 metres wide, internally [source]) and quite uncomfortable. The Turkish Airlines plane was configured so that the business class seates were slightly further apart (for a little more legroom), but each row still contained triple seats (as in the diagram) which do not comfortably accomodate an above-average sized person. The middle seat was converted into an armrest/cup holder though, so at least I had some freedom of movement. Despite the short flight (less than two hours) the food was actually excellent: the main dish was a halibut fillet with saffron rice, shrimp and calamari. Being generally averse to fish, I was very much surprised at how good the dish was.

The Atatürk airport in Istanbul was where I made my home for the next 4 hours or so. I met a pleasant guy called Haim on the way and we had a beer at the local cafe (at about three times the proper price); he's a real-estate entrepreneur doing business in China and had some insights to share about the culture there. After strolling about the duty free complex (which is over thrice as large as the one in Tel-Aviv) for a bit I proceeded to the CIP lounge, which is considerably larger than the one in TA. The lounge is decorated in Ottoman style and is very appealing. Despite the large variety the refreshments are fairly basic; wireless access was spotty and somewhat problematic and the restrooms weren't nearly as highly maintained as in TA. The couches were rather comfortable though, and I put them to very good use. Unfortunately I was unable to find any pictures of the lounge on the 'net.

A330-220 business class seat (source)

The Airbus A330-200 airplane which was my transporation from Istanbul to Beijing was an extremely welcome change from the 737 which brought me to Istanbul. At a length of 58.8 metres and a maximum internal width of 5.28 metres, the plane (and the business class seats in particular) is spacious and comfortable. There is as much legroom as you could possibly want, and the seats are wide enough to accomodate large persons as well as small (although I could use a few extra centimetres for my legs). The Emirates Airlines plane depicted on the left is somewhat different from the one I took - the seats on the Turkish Airlines airplane were somewhat larger and had an adjustable led-based lamp above of the arm-rest. On the back of each seat (facing backwards, towards the passenger in the next row) is an LCD screen which can be controled via a remote control unit inside the arm rest (where it can be seamlessly stored for takeoff, landing and taxi). A fairly large selection of movies was available on an individual basis; since I had my laptop with me I didn't make any use of this feature, but there were some pretty good flics (e.g. From Russia With Love) if one was inclined to watch them. Also featured was an in-flight map, an external camera (particularly cool during takeoff/landing) and some intercontinental communication features I had absolutely no use for.

The service on this flight was absolutely top-notch: helpful, efficient (and attractive!) stewardesses cater to the passengers' every whim. Other than regular soft drinks, sodas etc., alcoholic beverages were served, and not cheap-ass drinks either: several brands of wine (both Turkish and foreign), Johnny Walker Black Label and even Glenfiddich Antique (18 years old). I was fairly tired and opted for a glass of Graham's Port Late Bottled Vintage (Portuguese sweetened red wine) which was terrific. Food was surprisingly not quite on par with the previous flight, but at least we got to use proper cutlery (Israeli security procedures do not allow metal cutlery on flights to/from Israel).

Between all of this grandeur and sitting among all of those people in business suits made me crave some balance; out came the laptop and headphones, and two Buffy episodes later I was finally tired enough to fall asleep. I woke up just in time for the pre-landing breakfast, and I'll tell you the rest in the next post.

Next up: China, shopping and the way back

Monday, 19 June 2006 22:12:40 (Jerusalem Standard Time, UTC+02:00)  #    -
# Wednesday, 14 June 2006

My travel history is not a particularly interesting one: a trip to London with my parents when I was 14, another trip to Turkey last year. Other than that, nada. So it was with particular interest that I took on a business trip to China: for starters, I was eager to get into the business side of things at Monfort. Second, I am fascinated with Chinese culture and have been planning a trip to China in ages. Lastly, it's a paid business trip to another country... I'm being paid to do things I would never have been able to afford on my own. Obviously, I said yes!

Going on a business trip is quite different from going on a vacation and has its own set of rules. I had to get a business suit, business cards and similar crud. I'm not a big fan of clothes in general (Israel is extremely hot and I'm very averse to heat) and uncomfortable, constrictive clothes in particular, so it's no surprise that I have never worn a business suit. There is a whole etiquette involved: colour matching, the type of jacket, button placements etc. These are mostly trivialities, but it gets a little more interesting with ties: the first and last time I ever wore a tie was for my Bar-Mitzvah party, and my dad put the tie on for me. This time it wasn't really an option as I was going to Beijing on my own. Luckily the 'net has once again proven to be an indispensible information repository, and over a weekend I was able to successfully teach myself how to tie a half-windsor knot from scratch. (This might be a good time to note that, externally, I can't see any difference between half-windsor, full-windsor or four-in-hand knots. They all look alike to me.)

Image courtesy

I'm usually inclined to do my homework before going into a new venture; in this case it meant doing serious reading on business suit etiquette (as mentioned above) and an overview of both Japanese and Chinese business culture (since I'll be meeting both). At least in theory business cards are a major aspect of oriental business culture - such cards are prerequisites for businessmen from either culture, or those interested in doing business in the orient. There are even customary rules on how to present business cards: either one hand (always the right) or, preferably, with both hands, with the written side facing the other party. Some sites go as far as to recommend double-sided business cards, one side in English and the other in whichever language is relevant to your uses. Finally, it makes an impression to hand out the cards from a holder (pictured on the right). These are supposedly easy to come by in any gift shop (which are abundant in Israel for some reason), however I found this out a little too late and was unable to obtain one in time for my outgoing flight. I figured I'll just pick one up at the airport, but apparently none of the shops in either the Israeli or the Turkish duty free zones carry such products.

A major difference between this trip and any other I've ever been on is packing detail: packing the suit takes special attention. I'm a pretty experienced hiker so packing is a trivial task for me; I usually pick the smallest necessary bag and pack just what is necessary (or useful) for the purpose of the trip. Although a suitable strategy for hikes through Israel or trips to Turkey, this strategy proved inadequate because of the suit: I used a folder for packing the suit shirt, and a special carrying bag for the jacket and pants. I'm only going for a few days so I didn't pack a large bag or suitcase and settled for a medium-sized carry-bag... which turns out to have been a mistake. Although I carried very little on this trip, the jacket bag wouldn't fit in under any circumstances (not without twisting the jacket inside) and I had to carry it with me everywhere (duty free, lounge, plane, etc.). I'm definitely picking a proper suitcase for the next trip. The special shirt folder also proved inadequate and I had to have the shirt ironed again.

I figured the few things I'll be needing before and during my flights can be kept in the laptop bag. This includes a wallet, glasses and the various documents (flight tickets, passport) I'll be needing on my trip. This would've been a wise decision if it weren't for two factors: I needed some extra space for the stuff I bought at the Israeli duty free zone (The Da Vinci Code and a bottle of Rémy Martin XO Excellence), and the damn suit carry bag kept bothering me. I think I'll go with a small traveller's bag next time.

The one thing I didn't plan properly was a camera. I could've borrowed my dad's camera (Minolta Z2), but it's large and unwieldly. I wanted to buy a compact digital camera and figured I could buy a mainstream camera for a reasonable price in the Israeli duty free. This also turned out to be a mistake, because the price for the camera I was initially interested in (Canon Digital IXUS 50) was considerably higher than the price I could get even inside Israel. No luck in the Turkish duty free zone either, so it's mostly a question of whether or not I can find the time in China to look up a camera.

Next: the actual flights.

Wednesday, 14 June 2006 21:34:14 (Jerusalem Standard Time, UTC+02:00)  #    -
# Sunday, 11 June 2006
  • I've been keeping hella-busy lately; this in itself wouldn't keep me from posting, but it's keeping me from coming up with good ideas for posts. Sorry about that, it's only temporary.
  • I'm going on a business trip to China in a couple days. I hope to have some pictures and stuff posted when I'm back.
  • Easy Star All Stars - Dub Side of the Moon is as listenable as it is funny.
  • I've ditched Gaim, at least until the next beta. Aside from being ugly, it's currently too quirky and slow. Since I can't really stand Miranda the only viable alternative at current is Trillian.
  • I've had to reinstall my machine at work... experiences in a separate post.
  • ReSharper 2.0 is at version #251, which supposedly fixes a lot of performance issues.
  • Oren Eini's posting like mad, make sure to finger his blog occasionally.
  • I'm rennovating my home theater setup. Current candidate list: Panasonic TH-42PHD8, Paradigm Monitor 9 v4, Paradigm CC-370, Denon 2601. Regardless, I would appreciate any pointers in the same price class.
Sunday, 11 June 2006 23:46:06 (Jerusalem Standard Time, UTC+02:00)  #    -
# Tuesday, 16 May 2006

Last month was full of interesting occasions and happenings for me - most of those of an uninteresting, personal nature. It was hectic, to say the least. Which is why my posts over the last month or so were extremely sporadic. I intend to remedy the situation; now it's just a question of what to post about, and this is where the problem lies: I am not familiar with my readership, such as it is. Most of the comments I get in response to blogposts are either from direct friends or occasional Google searchers; I appreciate these comments a great deal, but they don't provide me with equally important information: who are the people who consistently read this? What are the RSS subscribers interested in? This is more or less a personal blog, which has its advantages (freedom) and disadvantages (lack of focus), and I have no real way of telling which of the subjects I touch gets more attention or interest.

This is where I'd really appreciate feedback! There are (presumably) reasons why you read this blog. Is it for the development-related bits? Which posts do you find useful/interesting, which are completely pointless? Please, help me to keep you interested. Post a comment, e-mail me or whatever, and let me know!

Tuesday, 16 May 2006 22:17:21 (Jerusalem Standard Time, UTC+02:00)  #    -
# Wednesday, 12 April 2006

The other day my laptop started acting up - it slowed down to a crawl then barfed on burning a disc (which I originally attributed to irregular I/O behavior on the side of µTorrent); that in itself was annoying, but it only raised warning signs when another burn (this time without any active background applications) failed in the exact same spot.

I decided to run scandisk (which, being that I'm running only one partition, would not run until the next reboot), and over the next three hours I could do nothing but stare at what any seasoned computer professional will sadly tell you is one of the most horrible sights in existence:

Three hours later I have a fully-functional laptop with over 5MB of bad sectors (and, as the same seasoned computer professional will tell you, the problem is only exacerbated with time) that runs somewhat slower than it ought to on I/O operations. Luckily the warrantee is still in effect, but invoking it means having to spend days without my laptop.

Almost makes me wish I bought an HP (unless I'm mistaken, they have a "if it breaks we'll replace it for you at home within 24 hours" kind of policy), but then I remembered that my laptop has been customized by the shop in which I bought it (with a 7200RPM Hitachi drive instead of the standard 5400RPM one). Since I'm not even (remotely) new to hard drive crashes I knew what this meant - a trip to the store, which sends the drive to the local importer, waiting for days while it's being "examined" and then another trip to the store to get it back. What makes it even worse is that the shop where I bought the laptop (Lamir) is situated in another part of the country.

Luckily the lab guys were kind enough to allow me to remove the hard drive and send it to them via courier, which should save me a couple of unnecessary trips to the centre of Israel. I'm not sure how support services work in other countries, but this is quite unusual here - normally warrantee on branded products is voided if you tamper with them (even if it's something as trivial as removing or installing a hard drive yourself), so in that I have to thank them. I just hope the rest of the experience is as pleasant.

Now I'm off to get myself a NAS device to back up my stuff on.

Wednesday, 12 April 2006 20:40:34 (Jerusalem Standard Time, UTC+02:00)  #    -

I've been playing around with Leonard Maltin's Movie Guide for the PocketPC for a couple of days now, trying to find a useful program for cataloguing and keeping track of my DVD collection. I couldn't find any free software that didn't outright suck, so I turned to commercial software instead; LMMG seemed to fit the bill - mini-database of DVD releases, the ability to easily categorize and keep track of my DVDs and all sorts of nice features.

I did find out, though, that I'm sorely missing an import/export feature. It would be cool to be able to post my movie list somewhere, or send reminders to friends to whom I"ve lent movies that those movies are due back and all sorts of neat stuff that you can only do if you have access to the movie list.

Not even a customer yet, I've fired an e-mail to LandWare's support department:

I'm seriously considering purchasing the Movie Guide (I've been testing it thoroughly for the last hour or so), but have one serious qualm with it: my movie collection can not be imported/exported (preferably to a well-documented CSV or XML-based file format). Additionally, although my PDA does not feature internet connectivity it would be great if movies could link to IMDB/some other online movie repository (either directly or via title search).

Are either of these features likely to be included in the software? The import/export feature is practically a show-stopper for me (I'd like to be able to e-mail my DVD list to friends and that sort of thing).

A day or so later I get the following reply:

Hi Tomer,

As of last night, Movie Guide for Pocket PC now provides an import/export feature, using tab-delimited files.

Product info:
Conduit Documentation:

I'll log your other comments for our developers; what exactly are you looking for with regard to online connectivity?


If that isn't good service, I don't know what is. I'm sold.

Wednesday, 12 April 2006 01:49:52 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Wednesday, 05 April 2006

Mio 168 RS

In the process of "going legit" with my laptop (i.e. getting rid of all commercial software I won't pay for, trading proprietary software for free/open-source alternatives etc.) I've reached several important conclusions:

  • There are very few commercial applications I can't live without (specifically, Windows; Visual Studio; Total Commander)
  • Some free/open-source alternatives are actually superiour to their commercial counterparts (Firefox, Thunderbird and [Hebrew version] are three such examples)
  • The sheer amount of tools and applications I require just to get things done is astounding

Despite the impressive efforts by the free/open-source community, there are still a few areas where commercial companies (in this case, Microsoft) have the upper hand: PDAs. I was recently handed down a MIO 168 RS handheld which my dad replaced, and ended up trying to learn the quirks of Windows Mobile and how to best make use of it.

Apparently the whole deal of synchronizing with mobile devices is not as trivial as you'd think; there is only one standard, SyncML, which is apparently supported only in part and inconsistently by various mobile devices, and is basically not supported by Thundebird (nor, to my knowledge, Outlook). The Windows Mobile connectivity solution from Microsoft, known as ActiveSync, is perfectly adequate if you intend to use Outlook; however I do not own a license for Outlook (one is provided with the PDA, however it is for the obsolete Outlook 2002) and would prefer to keep using Thunderbird anyway.

The one glimmer of hope is an application called FinchSync - a combination of java sever on the PC and a .NET agent installed on the PocketPC device (strange, wouldn't you agree?). There are several problems with this solution:

  • It is incredibly cumbersome. Having to install a seperate server and client application is in itself a chore, but having to install the server application on each and every host machine is really very annoying.
  • Although it supports .ics files (which appear to be the standard calendar file format used by Mozilla applications), these files do not appear to be employed by the Lightning extension to Thunderbird by default and I couldn't figure out how to get it to work.
  • Finally, the software works over TCP/IP; this was probably the easiest solution, however PocketPC devices that are not WLAN-capable are not configured for TCP/IP by default; it might be possible to configure a TCP/IP bridge over the device's USB connection, but up to this point I have spent so much time with so few results I've conceded that there is no way to do this easily.

As you can see, in this case Microsoft takes the cake: synchronizing to anything but Outlook is a real chore, if not next to impossible. I'd consider getting a license for Outlook, but at roughtly $70 for an academic license of a version of the software that's three years old and about to be replaced it's hard to justify the expense; additionally I would much prefer to keep using Thunderbird as my e-mail client of choice.

With the upcoming competition from Office 12 and the far-superiour integration of Outlook in the corporate environment along with its tight integration with PocketPC-based solutions (which I've come to understand are the majority in this market segment), the open-source alternatives are in pretty grave trouble.

Wednesday, 05 April 2006 05:44:30 (Jerusalem Standard Time, UTC+02:00)  #    -
Software | Personal
# Tuesday, 14 March 2006

I didn't really believe there were any genuinely crapy onboard sound card this day and age. Being a gamer and audio enthusiast I've always considered sound cards to be one of the most important aspects of my PC (along with the monitor, keyboard and mouse). My PC soundcard timeline goes something like:

1993 Sound Blaster Pro
1996 Sound Blaster AWE32
1998 Aureal Vortex 2-equipped Xitel Storm Platinum
2001 Sound Blaster Live! Value (after Aureal went bankrupt)

Gravis Ultrasound and Roland MT-32 for my retromachine
(and a GUS ACE in storage for rainy days)

When I bought my latest desktop at the end of 2003 I had a newly found faith in onboard solutions; onboard network adapters were finally up to snuff and the latest SoundStorm (the onboard sound solution found in nForce2-class boards) was being heralded by the online hardware press as the next best thing. Seeing as I was serving my stint in the army at the time and was relatively low on cash I opted to save money on a dedicated sound card and went with the onboard solution. This turned out to be a mistake; the audio quality of SoundStorm was not on par with the five year-old Live! and has pretty major bugs in the hardware acceleration layer; mixing would sometimes clip - particularly when very low rumbles were mixed in the general sound, as in System Shock 2's elevator shaft - and the EAX implementation was so poor it was next to unplayable. There were also major compatibility issues, such as the sound cutoff problem prevalent in a lot of Ubisoft titles and the extreme sound stuttering with Half Life 2. This was probably the game developers' fault for not ensuring compatibility, but nVidia did not seem overly inclined to work with developers to resolve these issues; conversely I would seriously doubt Creative would stake its reputation on this sort of bug.

At work I have an Athlon 64-based machine with the ubiquitous onboard Realtek AC97 codec (Gigabyte GA-K8NF-9 mainboard). I constantly listen to my music collection, streaming audio etc.; I don't game, I don't edit audio, I don't do anything that requires more than a passable audio solution. The onboard audio should have been perfectly acceptable, and so it was. Until a few days ago when I started noticing crosstalk from the I/O subsystem to the audio lines; in other words, there was a weak sort of static hiss which would change pattern and frequency depending on how hard my hard drive was churning. I probably wouldn't have noticed that with lesser headphones, but that's no excuse! Why is it that in the year 2006, 18 years after the first commercial sound card for the PC was developed, I can't even get reasonable, 2D stereo audio from onboard solutions?

The only reasonably-priced sound card in the market at the moment is the Sound Blaster Audigy 2 Value (around $70 in Israel - the price of a new Audigy 4 in eBay!). Guess I better start hammering at those auctions.

Tuesday, 14 March 2006 21:33:52 (Jerusalem Standard Time, UTC+02:00)  #    -
# Friday, 10 March 2006

Chris has finally released a beta version of PostXING v2.0 (an opensource blog client for Windows)! The development version is pretty stable and usable, but the more people that use it and post bugs and feature requests the more motivated the developers get :-)

Grab it from Project Distributor (requires .NET 2.0).

Friday, 10 March 2006 06:50:26 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Sunday, 26 February 2006
I couldn't access the comments on my own website for an indeterminate amount of time (at least a week) and had to dig in the sourcecode to find the culprit (now described in bug 1439112). To make a long story short, it appears I got my dasBlog cookies mangled, so if you have the same issue either contact me or get rid of all cookies from

(If you're using Firefox and don't know how to access your cookies, here's how. If you use IE just go to d:/Documents and Settings/username/Cookies).

Sunday, 26 February 2006 20:03:39 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Tuesday, 07 February 2006

I came back to my apartment today after not being there for a couple of days, to find that our (my flatmate and I) router died due to a power outage. I needed internet access so I hooked up my laptop directly to the cable modem (a Motorolla) and for some reason couldn't get a ping anywhere; some digging showed me that for some reason the modem, which acts as a DHCP server, gives me a local (192.168.x.x) IP address, no DNS servers and no default gateway.

The modem would return pings and the operational web interface showed everything to be fine and dandy, so I spent the next 15 minutes having the most futile conversation I've ever had with a tech support guy. Now as a programmer and reasonably hardware- and network-savvy individual I figured that if a modem and computer restart won't solve the issue it must have something to do with the cable/ISP networks; there was nothing to indicate local failure, so I didn't think to examine the obvious.

The Motorolla modem has a standby button.

I'll be damned if I know why, but it does. And someone pressed it. All it took to get my internet connectivity back is to press it again. Which brings me to the point: it is well known that one of the cardinal sins is vanity, it is equally well known that programmers generally exhibit the three cadinal sins (vanity, hubris and laziness, I think?). So if you're a programmer, whenever you talk to tech support don't be a smartass. You'll save yourself time in the long run.

Tuesday, 07 February 2006 05:37:44 (Jerusalem Standard Time, UTC+02:00)  #    -
# Monday, 30 January 2006

I'm a self-proclaimed part-time, low-budget audiophile (there's a mouthful), so I often try to combine good performance with reasonable cost. To that end, considering I spend about 80% of my time at work (and, up until recently, home as well) with headphones on my head, the Sennheiser HD600s I got about five years ago for the price of about 200 of today's US dollars after shipping and taxes were the absolute best bargain I've ever made. The Jean-Marie Reynaud Twin MK2 speakers I also bought at about the same time were so impressive that the lowest-priced comparable speakers were 60% more expensive.

Things have somewhat improved since then; the taxes on audio equipment in Israel have been considerably reduced, although at some 34% they're still very high (down from 70%...). I mentioned this before in my post regarding the Yakumo Hypersound Car. Since then I went to an auto shop for some additional equipment, specifically a 6x9" component set, 3.5" mids to replace the crappy ones in my Punto, a 12" Pioneer sub and 2x60w (continuous) amp (I'll post the models number later - damned if I remember).

On the left: Pioneer sub under the component speak, on the right: Yakumo Hypersound Car installed

While the CD receiver was a breeze to install, I'm pretty glad I didn't attempt to do the rest of it alone; I don't know jack about car electronics and some of the stuff involving the installation of the amp I didn't know to begin with (such as hooking up the negative terminal to the car chassis) and I would've done a heck of nasty job if I tried running some of the wires on my own. On the other hand, contrary to my usual cautious self I didn't do much market research and ended up paying considerably more than the equipment was worth. It was definitely a learning experience, though, and I won't make these mistakes next time.

That said, the sound is great - not perfect but I'm still tweaking it. The Yakumo unit turns out to have very poor amplification; at first I thought the specified 65dB signal-to-noise ratio was a mistype in the product manual, but it turns out rather accurate; there is a very audible hiss at even moderate volume levels (which I couldn't hear earlier because of the crappy speakers I bought the car with) and the rear-speaker sound is bright to the point of being harsh. This may or may not be attributed to the Pioneer component speakers - if so you can bet that they'll be replaced - but in the meanwhile I've found the amplification so horrid that I'm replacing the 2-channel monobridged Pioneer amp with a quad-channel amp to drive both sub and rear speakers (5- and 6-channel amplifiers are prohibitively expensive, so I'll skip those for now).

The Yakumo unit also suffers from some pretty severe usability issues; the TOC indexing times for USB devices (tested with a fully loaded iRiver H320) were nothing short of abhorring (about 3 minutes from iRiver boot). With CDs the problem is less of an issue, about 20 seconds for a 700MB CD, but I still think it's rather stupid that the unit can boot up to the exact location I last powered it off in but has to index the TOC first. The random mode is extremely useful with compressed files, but why does it change track when I turn it on? The fact that I can't navigate by folder (particularly with the existence of a jog dial!) without going through the tedious search function is ridiculous, and I've actually managed to get the unit's firmware to crash once or twice (Update: actually, the unit seems to be extremely crash-prone). I believe most if not all of these problems can be solved with a little work on the drive's firmware, but there is none from Yakumo. In my opinion the solution would be to simply open-source the firmware; it's probably based mostly on LGPL'd code to begin with, and it would allow community involvement in empowering the brand. I, for one, would be delighted to tweak the source code to my heart's content; it would make the unit all that more useful. With the lackluster amplification and usability issues it's very hard to recommend the unit to anyone but a die-hard OGG Vorbis fan.

Update: Having owned this unit for several months I can safely say that it, quite plainly, sucks. It is crash-prone, error-prone, extremely slow on boot up, requires constant resets and provides very low sound quality to boot. Its one saving grace is Vorbis support, and even for me that's not enough to save it from a "piece of crap" verdict. I'm going to replace this thing as soon as I find a decent alternative; the XiphWiki points at a similar product from Silvercrest, but given the track record of these things I'm inclined to forego in-dash players altogether and go for a hard-drive based solution. Now if I can only find a decent one...

Monday, 30 January 2006 02:32:34 (Jerusalem Standard Time, UTC+02:00)  #    -
Music | Personal
# Sunday, 29 January 2006

Whenever I get a new machine (at work, at home, anywhere) I'm always astounded by the sheer amount of time it takes to get it up and running. I don't mean just the basics, I mean a fully-functional platform that is set up just the way I'm used to, right down to the folder display settings in Explorer and the toolstrip I always like on the right side of the screen.

I mean, seriously, there's gotta be a better way to do this. The following applications are just the basic things I need to be efficient:

And that's just to get me through the day. It doesn't include all the multimedia and development tidbits, like:

I reckon the net installation and customization time is over 10 hours (some installations can be done in parallel, some can be deferred to a later time). That is a lot of time to spend on just setting up your machine. The problem with using Ghost or some similar software is that I get a system without all of my current data (profiles, files, documents etc.), and as for virtual machines, they're simply not fast enough yet for constant use (at least on my modest home desktop or laptop).

Sunday, 29 January 2006 23:34:24 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Tuesday, 24 January 2006

... there's an online video of 8088 Corruption that is an absolute must-see.

Trixter, you rock!

Tuesday, 24 January 2006 20:55:01 (Jerusalem Standard Time, UTC+02:00)  #    -
Demos | Personal
# Sunday, 22 January 2006

1. Ever since I bought my car several months ago I've been looking for a decent audio platform to put on it. My primary concern was support for the excellent Vorbis audio codec - this is the codec I use most often in my music archive due to its superiour quality (I spent hours and hours comparing best-case rips encoded with LAME [MP3] and Vorbis and have found Vorbis to be the better codec - I'll write another post about that if anyone's interested), smaller footprint and patent-free nature.

Although Vorbis (and its container format OGG) has seen lackluster support from hardware vendors since its introduction in 2001, the past two years have seen thoroughly improved support for the codec -- most portable players (including oblique Chinese models) now support Vorbis just fine. Cars, however, are a completely different issue: there are exactly four car-oriented products that support Vorbis (the Vorbis wiki contains a complete list) and I wouldn't settle for 'just' an MP3 player. For a time I was considering building an ITX-based car computer, orevaluated products such as the PhatBox; eventually I settled on a more mundane in-dash CD receiver called Yakumo Hypersound Car. The decision was mostly based on the cost of the more exotic solutions and the much higher risk of someone trying to break into my car.

The Yakumo is very difficult to get; you can either get it from Amazon UK (but they don't deliver electronics overseas) or from certain German vendors. I eventually ordered the unit from a very efficient eBay shop and it finally arrived last week.

Anecdote: Israeli tax is murder; not only did I have to pay the 16% European VAT (having bought the unit from a German reseller), which I may or may not be able to get back, and the €40 shipping fee; on top of that I had to pay an additional 15% customs tax and 16.5% Israeli VAT, and that's on the shipping too! So bottom line, a €96 unit cost me close to €200, shipping included. That's an insane amount of money to pay just for the privilege of buying something you can't get in your own country, and even if you could you'd probably be forced to pay the local importer handsomely. And imposing a tax on the shipping fee should be proper illegal.

Installation was a breeze (any experienced technician should be able to do it in 20 minutes; I'm not an experienced technician so it took close to an hour with my dad helping out), and with everything hooked up I inserted a freshly-burned CD, held my breath and... woah! Iris playing in my car in gorgeous Vorbis! That alone was worth the price of admission. I do have some qualms with the device, though, primarily the lackluster display (yeah, OK, blue backlighting has been out of fashion for at least a couple years) and the awkward navigation (you can't easily navigate by album), but considering the very reasonable initial cost of the unit, which also comes with an SD card-reader, USB port for mass storage devices and remote control (!) and the so-far excellent sound quality which easily rivals the generic JVC CD receiver I had earlier, this product comes highly recommended. Update (after a short period of constant use): I do NOT recommend this product.

2. I just got my second Microsoft Natural Ergonomic Keyboard 4000 (a.k.a Ergo 4000). It has replaced the trusty Model M; we'll see if it lives up to the hype. I actually got one last month, but returned it the same day because Hebrew character engraving looked as though they were hand-drawn by a five year-old with severe ADD. This one feels a bit different but is so far extremely comfortable; I'm astounded that no other keyboard features a cushioned hand-rest like this one, it makes working with the keyboard infinitely more comfortable to the point where I don't know how I managed to live without it all these years. I've used Microsoft Natural keyboards for the last ten years so the ergonomic ("split") design is one I'm very familiar with. There are some differences though - some keys are aligned a bit differently and require different finger movements, but so far I seem to be getting used to the layout very rapidly. The tactile feel of the keyboard is also different from the Microsoft Natural Elite I've been using these past few years ('till I switched to the Model M); it's softer and at first seems slightly less responsive (during the first couple hours of working with the keyboard I was very prone to the classic manglign-of-the-last-two-lettesr syndrome) but as soon as you adjust the strength with which you depress the keys it becomes very natural (no pun intended). Unlike my dad's crappy Microsoft Desktop Multimedia keyboard this one has the f-lock enabled by default, and so far I haven't touched the extra keys or zoom slider. At $65 it's not cheap but not prohibitively expensive either (unlike the $80 Logitech MX1000 mouse I use).

So far, so good. I'll post further comments on the keyboard when I've used it for a while.


Sunday, 22 January 2006 21:26:11 (Jerusalem Standard Time, UTC+02:00)  #    -
# Tuesday, 03 January 2006
Or: How I Learned To Stop Worrying And Love Firefox (this is a Dr. Strangelove reference, in case that wasn't obvious).

There are some fundamental principles of UI design most developers have not taken to heart. Developing a good UI is hard, designing one is excruciatingly hard. A good UI designer needs to have a very developed sense of how a typical user thinks; it is therefore a commonly held belief that most programmers make lousy UI designers because they can't "stoop to the level of the non-technical user" (a slightly less rehearsed mantra is that developers are users as well and are susceptible to the same problems with crappy UI, although possibly a little more forgiving). The developer-oriented UI trend is most obvious with open source software, but it is actually exacerbated when we're talking properietary, even if free, software. An open source tool that is essentially really good but has crappy UI will eventually attract someone who is actually capable in that department. Take a look at Eclipse,, The Gimp etc. - although based on a more or less solid foundation, these tools were practically useless a few years ago and have only become mainstream when they made leaps and bounds in usability. An even better example is Firefox; although I was personally attracted to Firefox on merit of its technical achievements, I was only able to sell it to friends and relatives becaues it is infinitely more usable than IE and just as free (I mean come on, does anyone doubt why Opera never gained marketshare?)

A proprietary program however, even if fundamentally sound and useful, can only grow better by the efforts of its owners. Even the most obvious bugs can never be fixed by a 3rd party. w.bloggar is a classic example of this; the last version was out in January and, despite being fundamentally stable and usable, has huge flaws which the author never fixed, instead allowing the software to stagnate. I reckon a lot of you, at this point, are thinking along the lines of "hey, you get what you pay for; you should be thankful that w.bloggar is free, let alone supported!" In a way you are right, but also dead wrong. As far as I know Marcelo (the author of w.bloggar) isn't seeing much money from his work on the software; what money he does get is from donations. So why not release the source? Donation systems seem to work for high-profile open-source projects at large, why not for w.bloggar? At least that way someone can fix the bugs that (for me) turned w.bloggar from a useful tool to a constant cause of frustration.

To get to the point, I wrote a blog entry in w.bloggar (specifically the one about missing tools), published it and went on with my work. At the end of the day I left the machine running (as I always do when I'm not leaving for days at a time) along with w.bloggar. Why'd I leave w.bloggar open, you ask? Simple: one of these glaring bugs I mentioned is that w.bloggar does not retain my preview template options (CSS links and so forth), and it's a pain in the ass to enter them manually whenever I want to edit or write a new post. Anyway, w.bloggar has a "Clear Editor after Post" option which in my case was disabled. This means that whenever w.bloggar finishes uploading a post, it retains the text and changes its internal state so that subsequent clicks on Post update the same entry (as opposed to creating a new one). So what basically happened is that when I came in today and wanted to write the note on, the previous post was still "live" on w.bloggar. Usually at that point I click on New (which shows a nice, useless warning dialog) and get on with it; this time I guess I was distracted, just shift-deleted everything and proceeded to write. When I next clicked on Post and got the "Post so-and-so-GUID updated successfully" notice I knew I was up the creek: my earlier post was overwritten with no prior warning, no delay and worst of all: no backup.

Which brings me to my first point: w.bloggar sucks. Bugs (like not retaining options and the most defective HTML syntax highlighting known to man) aside, this is a huge usability problem - a user can (and evidently will) inadvertently erase his/her own work and have no way to recover it. The undo buffer is not even remotely deep enough; there are no dialogs to warn you that you're about to update a live post, and there are no backups-shadow copies-anything of published posts if you do not actively save them. Worst of all, there is no-one to mail, no bug tracker, not even a forum (the forum link on the w.bloggar site is broken). My first resolution for 2006: make more effort on PostXING and help Chris make it actually useful.

Now that that's out of the way, time for some damage control; w.bloggar is useless in recovering the lost content, dasBlog does not maintain any sort of backup (side resolution: implement shadow copies into dasBlog) and considering how cheap my hosting package is I seriously doubt my ISP would help me recover yesterday's daily backup (assuming there even is one) without significant trouble and/or cost. The only option that comes to mind is the browser cache; in case it isn't obvious from the title (and the large "take back the web" icon on the right), I use Firefox. Going over the cache files manually proved futile as most of them seemed to be binaries of some sort; some research showed me that you can access cache statistics by navigating to about:cache; from there you can access an actual dump of the in-memory and on-disk hashes. Looking at the on-disk cache via about:cache?device=disk and searching for something useful, I found a cache entry for the editing page. Clicking the link did not prove readily useful (the actual content is not displayed), but the information displayed shows two important details: the file location and the content encoding (in this case, gzip). This explains the strange binaries I found in the cache! A quick decompression via the excellent 7-zip and I had my content back. Second point of the day: Firefox has once again proved its mettle. Firefox rocks!

Tuesday, 03 January 2006 13:55:29 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Wednesday, 07 December 2005
Feelings are often paradoxical in nature. Sometimes the result is called hypocrisy, sometimes merely confusion or stupidity. Being something of a software evangelist I always try to convince people to switch to greener pastures, although my ideas of what is better are not always consistent with what is commonly accepted. For example, I would not try to persuade someone to use Linux, because although the OS appeals to my sense of geekiness and my inherent attraction to free, communal efforts (read: open source), my experience with Linux has all but discouraged me from using (and certainly recommending) the system. That said, when I find something I like and appreciate I certainly stick by it and try to evangelize it to the best of my abilities.

So why was I utterly pissed off when, clicking on this link via a blog post I read using RSSOwl (ironically, another great open source program), I was presented with a large "Please update your web browser!" box right at the top of the website urging me to "upgrade" to Firefox/Safari/Opera/whatever?

I'll tell you why. Because in-your-face evangelism pisses me off. Ilya, a friend of mine, introduced me to Firefox when it was still Firebird 0.5 alpha, and I've been using it ever since. I've been telling about it to everyone who'd listen; I've recommended it to friends, family, colleagues and even just random people I have occassionaly found myself talking tech with. Back in May, when I remade my personal website into a blog, I've designed it for CSS compliance and tested with Firefox first, IE second (and found quite a few incompatibilities in IE in the process). I've placed a "Take Back the Web" icon right under the navbar, in hope that perhaps a casual IE user would stumble upon it and wonder what it's all about. But I don't nag, or at least try very hard not to. I consider people who visit my website as guests, and just as I wouldn't shove my goddamn tree-hugging, vegetarian, free-love, energy-conservation way of life* under your nose if you came to visit my house I wouldn't want you to feel uncomfortable when you enter my website. Which ToastyTech did.

My open-source hippie friends, do us all a favor and take it easy. This sort of thing will not win people over to your cause; at most they'll just get pissed off and avoid your sites altogether. A regular joe stumbling onto (or, for that matter, slashdot) would be just as likely to return to it as Luke would to the "wretched hive of scum and villainy" that is Mos-Eisley.

* In case you were wondering, I'm no tree-hugging hippie, I'm not a vegetarian, my love is an equal-trade business and I drive a benzine-powered vehicle the same as everyone else. But I care.

Wednesday, 07 December 2005 16:41:06 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Friday, 18 November 2005

Chris Frazier has been kind enough to let me in on the PostXING v2.0 alpha program. I tried PostXING v1.0 ages ago and it struck me as an open-source program with lots of potential but (like many other open source projects) not nearly ready for prime-time. I very much hope to be able to help Chris make v2.0 a practical contender to my regular blogging tool, w.bloggar. It certinaly seems on the right track, and as you can see is already reasonably usable.

If anyone has anything they wished for in a blogging tool, let Chris know - he may yet make it worth your while :-)

Friday, 18 November 2005 09:44:20 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Sunday, 23 October 2005
I wonder if bitrate is to bits what titrate is to...
Sunday, 23 October 2005 15:44:02 (Jerusalem Standard Time, UTC+02:00)  #    -
# Monday, 17 October 2005
Here's today's tidbits. I don't have much time so I'll keep the list relatively short (it currently amounts to about 10% of the stuff I have in my "pending" file):


  • Here's a bizarre trick (via Ayende): apparenly when binary-searching an array (via Array.BinarySearch) if the specified value is not found, you can get the index of the next largest value by bitwise-complementing the result (index =~ index;). Convoluted, but useful.
  • Here's a cool shell extension improvement from Jeff Atwood called Clean Sources Plus (based on the original codebase by Omar Shahine); it allows you to "clean up" a VS.NET solution from intermediate files and source control bindings for sharing with other developers. Dead useful.
  • Fascinating discussion in response to Jeff's post about eliminating the user field from login screens. Personally I don't think there's anything wrong with the current system (I read the post too late to participate meaningfully in the discussion), but there's a lot of interesting stuff to read there.
  • Nifty demonstration of basic CSS 1.1 and JavaScript. It doesn't work in Internet Explorer because IE does not support alpha in PNGs (a very annoying limitation in itself) and does not fully implement DOM events.
  • I stumbled upon an old article by Joel, which states something so absolutely obvious most people completely fail to realize it: people (and programmers specifically) are only very good at doing one complex thing at a time. Giving a programmer (even a good one) more than one project, or alternatively interrupting his project for "right here, right now" kind of work, is hazardous to his or her productivity. It reminds me of Fred Brooks' excellent The Mythical Man-Month; in retrospect the conclusion is just so obvious it seems almost impossible that people didn't realize it at the time.


  • DARPA challenge finally beaten! This is a huge event for robotics fans, which I'm not - however I recognize that this is a landmark in AI and robotics. Impressive stuff.
  • My next keyboard is probably going to be the new Microsoft Natural Ergo 4000. I intensely dislike most keyboards out in the market these days (still use a Microsoft Natural Elite or IBM Model M) and it would be a nice change of pace to get a new Natural with added features (padded wrist-pad, standard page-up/down cluster etc.) which doesn't suck. I hope the tactile response is at least as good as the Elite's. I was looking to get one of those, but apparently only Dagesh carry those in Israel so far (for 380 shekels, shipping included ~ $75 + VAT); I would get it from eBay, but it won't cost any less and it's a warrantee nightmare. Guess I'll just wait.
  • Here's an interesting concept: allows you to create passwords on a per-site basis by providing a master password and target URL. It works by MD5-hashing the master-password with the site URL. Cool idea and seemingly quite secure (assuming the hashing function is strong enough; considering the general quality of passwords people use, I'd say it's about 1,482,918 times better).
  • The Flying Spaghetti Monster is apparently old news, but completely hysterical never-the-less, particularly in today's age of religious zealots and their "intelligent design" dogma.


  • Assuimg this article is to be believed, post-Taliban Afghanistan is about to put a journalist on trial for charges of blasphemy. You'd think that the US with its self-proclaimed desire to bring democracy to the world would not have left a radical Islamic government in Afghanistan. You'd be wrong.
  • UK Labor party member Walter Wolfgang, 82, was forcibly ejected from a conference for heckling the foreign secretary. This in itself is common in stupid political strife; what worries me is that a second delegate (Steve Forrest) who protested the treatment was also forcibly ejected and then denied access to the venue under the powers of the Terrorism Act. If said act can be used to circumvent lawful political activity by democratically-elected public officials, I cringe at the thought of what kind of power it gives the police over, say, an ex-Israeli army officer visiting London.
  • A Delaware public official lost in court against an anonymous blogger who posted what said official perceived were defamatory comments against him. The court ruled that the blogger's ISP may not expose his identity, which I consider a major win for free speech. Too bad other courts are not quite as sensible.
Monday, 17 October 2005 13:56:29 (Jerusalem Standard Time, UTC+02:00)  #    -
# Sunday, 16 October 2005
About a month ago I invited a bunch of people to an impromptu LAN party to be held at my parent's house (as they were out of the country at the time). Despite some organizational hurdles (primarily the lack of a network switch with enough ports) we eventually managed to overcome the party was sweet, short and to the point.

Omer playing StarCraft

During the course of about 20 hours we played loads of Call of Duty, some StarCraft: Brood War, a bit of WarCraft III and a whole lot of my personal favourite: UT2k4. UT flavours included regular deathmatch, quite a bit of Onslaught (not my favourite of gaming modes, but nevermind that), a little bombing match and what I consider the best gaming-mode: instagib deathmatch. It's hillarious, and you can't beat the andrenaline rush (well, except maybe Q3 DM17 with 5 bots at hardcore).

Myself, concentrating on a round of UT

As usual we saved StarCraft for the wee hours of the night. The two games I played prove that I can still hold my own; my personal preference is for team melee where I control base contruction and expansion at first and combat later, with a second player supporting me on construction and exploration at first and maintenance later. I find that I'm extremely capable when it comes to fast micromanagement but am terrible when I have to do more than one big task at once (for example managing combat while micromanaging fleet construction). Playing with my brother that way was an extremely effective combination and we took the game by a large margin, which was very satisfying.

Oren next to Call of Duty

My personal forté is first person shooters though, so it's no surprise that's what I played the most (I couldn't be bothered joining in on WarCraft III). We played Call of Duty and UT2k4 for several hours each; Call of Duty proved to be an excellent multiplayer game, but only if there are a lot of players in the game. 8 players are enough for a good game, but say 5 or less simply aren't enough to keep the action up and the game becomes very dull indeed.

I wish I could convince the others to give Tron 2.0 a multiplayer spin, but other than that I don't even know where to start in looking for good multiplayer games. Halo proved to be a big disappointment for me (way too slow - not in performance but in gameplay - and too much emphasis on vehicles) and trying Counter Strike: Source for a bit only strengthened my resolve not to play tactical shooters.

Sunday, 16 October 2005 18:29:16 (Jerusalem Standard Time, UTC+02:00)  #    -
Gaming | Personal
# Thursday, 06 October 2005
And now for the rest of it.

General Stuff

  • The Deer Park (Firefox 1.5) beta has been out for a couple of weeks now and is very stable and fast; beta 2 is due to come out any minute now. Despite the lack of a compatible Noia 2.0 eXtreme (my favourite Firefox theme) I highly recommend the upgrade.
  • Fasterfox is a major performance tweak for Firefox. We don't have the fastest internet connection here so it's difficult to tell how effective it is, but I'll try and gauge it over the next few days anyway.
  • Metal Gear Solid fans owe it to themselves to hear virt's remix titled My Frequency Is 140.85.
  • Martin of Tipmonkies (heh. Tipmonkies. Heh.) published a list of free disposable e-mail address services. My personal favourite is DodgeIt.
  • Finally, Serenity seems to be doing rather badly financially. I haven't seen the movie yet (and I doubt I'll get to see it in the Israeli theaters, with all the crap movies taking valuable theater space) but I have a very good feeling about it, and I hate to see anything original, interesting or (in Firefly's case) underdog do badly.
  • Mystified by Virgill is awesome. For that matter, so is elements. The guy knows his shit.


  • It bothers me a great deal when American agencies (or goverment agencies in general) presume to tell me what I'm entitled, or not entitled, to. As far as I'm concerned the default should be "I can do whatever the hell I want as long as it's not declared illegal", not "I can do whatever is declared legal". Very important distinction. So it's no surprise I was really pissed off to read an FCC document in which a statement began with "consumers are entitled to run applications and use servics of their choice". Thanks! I always wanted a government to officially allow me the liberties I've always taken for granted. But that's nothing compared to the rest of the statement: "... subject to the needs of law enforcement." You know what? To hell with the needs of law enforcement. I won't have police/FBI/shabak/whatever goons telling me what programs I can or can't use. I realize that it's like that in practice (the old issue of >128-bit RSA encryption not allowed outside the US, for one), but it's no excuse to make it official policy. I'll run whatever the hell I want on my machine. If it's illegal, have the police come up with sufficient justification for a search warrant, signed by an independant judge.
  • The US Patent Office upholds a patent owned by Eolas, which has bearing on their case against Microsoft. I don't know the details of the patent and don't care. Ideas and thoughts should not be patentable, as simple as that. As Florian Mueller puts it (direct quote from the linked article):
    Pro-patent politicians told us that broad and trivial patents can be invalidated. If even Microsoft with all of its resources doesn't always succeed in that, what can smaller companies do?
  • Apparently a single, disabled mom has found the strength to sue the RIAA back for wrongful legal practices. Any dent in the RIAA litigation behemoth is a good thing in my book.
  • An ISP owner from Oklahoma wins a $10M lawsuit against a known spammer. It's doubtful he'll be getting any of his money, but the precedent-setting case is good in the long run anyway.
Thursday, 06 October 2005 15:55:14 (Jerusalem Standard Time, UTC+02:00)  #    -
# Thursday, 29 September 2005
There is one particularly nasty blogspammer which every few days posts a spam comment to this post. MT blacklist doesn't seem to cut it in stopping the bastard.

Has anyone had success fighting off blogspammers? Do you have any advice?

Thursday, 29 September 2005 09:15:55 (Jerusalem Standard Time, UTC+02:00)  #    -
Software | Personal
# Thursday, 15 September 2005
I've been doing some reading on the Chernobyl nuclear disaster. The reading turned out to be a genuinely frightening experience. A series of small but unfortunate errors resulted in hundreds of thousands of people evacuated from their homes and irradiated large sections of the world...

I got a similar sensation of dread by reading the Fallout manual, which starts with a perfectly dry and scientific description of the effects of a particular type of nuclear bombing. The game comes highly recommended, by the way.

Something a friend of mine said when we were discussing it over lunch yesterday triggered a memory from Jeff Wayne's War of the Worlds, to quote (this was more difficult to find than you might think):

It seems totally incredible to me now that everyone spent that evening as though it were just like any other. From the railway station came the sound of shunting trains, ringing and rumbling, softened almost into melody by the distance. It all seemed so safe and tranquil.

Thursday, 15 September 2005 13:29:35 (Jerusalem Standard Time, UTC+02:00)  #    -
I haven't had that much time on my hands lately to do any proper writing (what with a full-time job, four martial arts classes a week, making arrangements for a trip abroad and a LAN party, looking for an apartment and car and being to several family occassions), which is why content has been a little drab lately. So I'll start today's tidbits with a request: if you have an interesting programming dilemma, issue, question etc. don't hesitate to contact me - I'm most prolific when challenged with an uncommon problem.

That said, lets get to the goods:

  • I was researching an issue we had in the current project (specifically, finding out which physical monitor was connected to which video controller), and at first turned to WMI which is usually good enough to give you such answers. Although I have some WMI experience under my belt I was looking for a tool to aid me in developing WMI applications - a WMI "explorer" if you will - and after a little Googling about stumbled onto a very useful tool written by French programmer Coq. The tool, aptly named "WMI explorer", is an open source Windows Forms application which allows you to query the WMI schema as well as object instances, and also generate C# classes for WMI classes. I've found it immensely valuable; go ahead and download it, just be warned - it's currently in French. I'm contacting the author to ask his permission to translate and distribute this thing (I'm not sure under which license it is distributed because, well, I can't read French!)
  • I'm really very excited about HDR (High Dynamic Range rendering/imaging), and my excitement only grew after seeing the screenshots from Half Life 2: Lost Coast. Check out the screenshots in the article - they're simply staggering! The overexposed building on the third page is precisely the kind of thing you simply cannot do faithfully with bloom and which changes the entire gameplay; this means that when attempting to attack the castle from below you are partially blinded and at a massive disadvantage. And it looks absolutely stunning to boot - check out the curch on the fourth page!
  • Amiga demo afictionados should check out the video for Control by Oxygene - extremely impressive visuals on a (in my understanding) vanilla A4000, along with a superb soundtrack by Clawz.
  • Microsoft's specs for C# 3.0 are out, and it looks like the C# guys went haywire. I'll be digging more into that for comments. In the meantime you can check out this discussion (via Aynde Rahein)
  • Go check out Indigo Prophecy. I'm very, very, very much looking forward to it (and Tycho at Penny Arcade seems to concur).
I'm hosting a LAN party this weekend, so hopefully I'll have some interesting experiences and/or pictures to share by Sunday. On Sunday itself I'm going for my first trip out of Israel in 8 years (the last, and technically first, one was to London for a week when I was 14). I'm going to Turkey for a week of treks, jeeps, rafting and of course some classic R&R (the trip's programme for Hebrew speakers can be found here). Hopefully it'll be a great trip - pictures and experiences when I get back.
Thursday, 15 September 2005 12:13:47 (Jerusalem Standard Time, UTC+02:00)  #    -
# Wednesday, 07 September 2005
Lots of generic crap for today. Without further ado:
  • What in the bleeding hell. I have to admit that this whole "code/hacker-caffeine" trend is starting to get on my nerves. After years and years of caffeine addiction (I could probably have won the world record for most coke drank in a day) a couple of years ago I decided to let go of it - almost completely. I now enjoy the occasional coke and, if I'm genuinely tired and need a pick-me-up, a coffee always helps. Back in the day I could've drowned a triple espresso without any effect. Bottom line, it never ceases to amaze me how dependant people allow themselves to become.
  • Joku posted a worthy comment on Mike Stall's blog:
    Not really related, but it would be good if technical bloggers writing about X,Y & Z would also mention what is the closest public release they are using. Now if you go google and find some older blog entry it maybe the stuff being talked about was in relation to for example VS Beta 1 and might be completely wrong today. I don't think everyone who come to blogs.msdn from google will figure out that many of the blog entries that talk about say VS2005 are actually talking about something that's specific to non-RTM build. If there were tags for every public build and they were visible and easy to put on the blog entry... Well some day perhaps.
    It is a valid point, and I shall endeavour to do that from now on.
  • RMS never ceases to amaze me in how he takes theories (conspiratorial, political or otherwise) and treats them like facts. "Israel's real nuclear weapons", says he. It is commonly accepted that Israel does have a nuclear arsenal, but no-one knows for sure, myself included. Admittedly RMS's never purported to be unbiased or politically-correct, but it bothers me never-the-less.
  • Fellow Israeli developer-blogger Oren Ellenbogen mentioned a few weeks ago a subtlety in the usage of interfaces in C# I was not aware of. I've since used explicit interface declarations with great success, however one caveat is that you can't use the interface members even from a private scope (i.e. from a member method within the class implementing the interface). So use this feature with caution - it can reduce messiness (particularly where intellisense is concerned), but often at the cost of forcing you to add lots of unnecessary casts.
  • Software patents are taking an increasingly alarming foothold in common business practice. Litigation has always been part of business, but when Creative sues Apple for patent infringement over the iPod's navigation interface, to me it means things have gotten completely out of hand. Face it, people: one-click shopping, song navigation in menus etc. should not be patentable. It's ridiculous, any UI-designer with more than 3 IQ could've come up with that concept. Yes, Creative went to market first, but that is completely irrelevant; just imagine if someone patented the "ability to close a user interface component by clicking a button" - none of us would be able to close windows. Does that make sense to you?
  • This little hard-drive hack is really damn cool.
  • The Blizzard vs BnetD case is worrisome to say the least. I'm not versed in the particulars of the case, but assuming the BnetD programers did not actually reverse-engineer Blizzard proprietary code they should not have had a case. I wonder how this case compares to the Microsoft vs Samba litigation - I reckon I should do some further reading.
  • I've been playing with Total Commander for several days now. Originally I couldn't stand the software, but admittedly it gives Servant Salamander a serious run for its money, and has quite a few features SS does not.
  • I promised Oran (one of my colleagues) that if he found an IBM Model M keyboard for me I would try it out for a week. He managed to find one and I've spend a couple of hours on Sunday cleaning it up, and have been using it since. It's a very nice keyboard; the buckling spring key design has terrific tactile response and typing on it feels great. There are several things I do not like about it, though: for one, it's missing the Windows keys which I've grown accustomed to using (Left Windows key + D or L two dozen times a day...); the right shift occasionally gets stuck; finally, it's a little big for my hands so certain keypresses are far less convenient than they were with the trusty Microsoft Natural Elite. It doesn't seem that the new keyboard has improved my errors/character rate any, but it is a little early to tell. That said, it's amazing that a keyboard manufactured in 1991 can favorably compare to a modern, ergonomic keyboard. My model is a 1391408, in case you were wondering. All in all, I still miss the old Microsoft Natural classic (I've used one from 1996 to about 2001 when it crashed on the floor one too many times. It's still working, by the way, just missing some keys.)
  • I came home from a pub last night and made the mistake of turning on the TV. Twelve Kingdoms episodes 14 and 15 were on. No sleep for me tonight. Do yourself a favour and watch that show; I own it in its entirety on DVD and it was some of the finest money I've ever spent. Other anime favorites include Trigun, Full Metal Alchemist and Cowboy Bebop. If you're curious about anime, NGE might be a good primer, although I have my gripes with it.
  • Finally, I've made a list of all my DVD movies on IMDB, but unfortunately there is no way to link to it externally. I'll find some other catalogue, or write one on my own.
Wednesday, 07 September 2005 15:07:48 (Jerusalem Standard Time, UTC+02:00)  #    -
# Sunday, 21 August 2005
The game reviews I promised are still in the pipeline (it takes a lot of effort to get myself in the "reviewer state"), but I did post other stuff instead (mostly software- and development-related). Now it's time for tidbits:
  • I've been sorely lacking a "navigation" submenu in Microsoft Word. I use a lot of internal hyperlinks in my documents (and have been reading and writing quite a few of those for the past few weeks), and it's a pain in the ass not to be able to navigate back and forth. Apparently it's just hidden in the Web toolbar and is readily accessible using Alt+Left and Alt+Right keyboard shortcuts. Oddly enough the keyboard customization dialog shows a GoBack function as well as the WebGoBack-WebGoForward duo; I'm not entirely clear on the difference yet. Anyways it's amazing how much better life is all of a sudden.
  • There are numerous updates to the ReSharper 2.0 beta post.
  • Thanks to Ofer for introducing me to the kickass It's basically a user-contributed database of registration information for any and all websites (there's even an entry for Nectarine!) which should prove amazingly useful, particularly when complemented by services like DodgeIt. They also have a petition asking content providers to stop with the pointless mandatory registration procedures. Not sure if I'll sign or not, but the site itself is damn useful.
  • DevBoi seems to be a very useful development tool: it is a sidebar extension for Mozilla browsers offering easy access to online/offline documentation repositories for standards such as HTML, CSS and more.
  • Apparently them christian preachers weren't kidding around: pr0n can indeed make you blind. Consider yourself, er, warned.

Light load this time. More to come.

Sunday, 21 August 2005 17:38:01 (Jerusalem Standard Time, UTC+02:00)  #    -
# Monday, 15 August 2005

I've updated the lists of open source and proprietary software I use. I also consistently update the post about ReSharper 2.0 beta; finally, I've installed the new version of dasBlog.

The world is a better place, certainly.

Monday, 15 August 2005 10:48:27 (Jerusalem Standard Time, UTC+02:00)  #    -
# Sunday, 14 August 2005
Check this out: How to install Windows XP in 5 hours or less. I found this one particularly funny:
56. Time passes. It is getting dark. You are likely to be eaten by a grue.
I'll give a shekel (don't ask) to anyone who knows what that's all about :-) (well no, not really, but it's funny anyway).
Sunday, 14 August 2005 22:43:05 (Jerusalem Standard Time, UTC+02:00)  #    -
# Saturday, 13 August 2005
Scott's released dasBlog 1.8! I don't have time to install it just yet - will probably save that for tomorrow. Since all the bugs I filed were fixed the new version is bound to be da bomb!

Update (August 15th, 11:32 GMT+2): dasBlog 1.8 is up and running. Oddly enough it seems to be compiled, or at least set up, to run in debug mode (web.config is set to <complication debug="true"... />), so I changed that. Everything seems to be in order.

The new BlogXP theme is very slick, but it's going to take quite a bit of time to rework it to fit the site design (get rid of the calendar, change the title, add a bit of personality...), so I'll stick with my modified DiscreetBlue in the meantime.

Saturday, 13 August 2005 20:22:37 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Thursday, 11 August 2005

I've converted. Three of what I considered the most useless Windows features have one me over. Specifically: large font sizes, large icons and ClearType.

Now let me make myself clear: for the vast majority of people on the vast majority of equipment, these features are indeed absolutely useless. Six months ago I bought an LG LM50 laptop (which is absolutely terrific, by the way) with an 1400x1050 SXGA+ display. I was stunned by the resolution, particularly the desktop real-estate and sharpness the new display provided, and never felt that the default font sizes were too small: they were certainly smaller, but the display was sharper and when typing on the laptop I was sitting much closer to the display than I was used to. Then I figured what the hell, I'll give it a try, enabled the three features and was absolutely stunned: I had (at worst) the same desktop real-estate I did on the old CRTs with much clearer fonts and icons. The whole experience is that much easier on the eyes, and I still get the added bonus of extra desktop real-estate (particularly when browsing) and much better resolution when displaying images etc.

I'm never moving back to CRTs!

Thursday, 11 August 2005 20:19:21 (Jerusalem Standard Time, UTC+02:00)  #    -
I had started to write an article about event shimming in .NET Remoting (yes, I know there are such articles already, but I couldn't find one that was easily accessible and understood) yesterday, but simply crashed and slept over 9 hours. Now I'm at work, so I guess it'll just have to wait until later today or tomorrow. That said, there's the usual variety of things of interest:
  • GuestMaps are a really awesome third party tool based on Google Maps; the idea is that you basically put a map on your site and it allows your readers to mark where in the world they are. I would've put one myself, but I'd rather save myself the embarresment of finding out how many readers I have :-)
  • China's on the news again, this time for putting a young man behind bars for political activies (posting "harmful" essays on the 'net). There are two things I find extremely worrying about this: the first is the way the Chinese propaganda machine operates, specifically the official reasons for incarcarating the man: "[he] jeopardised national unity and territorial sovereignty, spread lies and disturbed public order and social stability". There is also the reason given by the Chinese government for its attempts to monitor internet cafés: "[they] can affect the mental health of teenagers while spreading unhealthy information". The second is that any "western" country with its eyes on Chinese business is decidedly ignoring these increasingly dangerous signs of human rights violations, turning a blind eye to what will undoubtedly come back to bite everyone on the ass.
  • The Commentator is really funny. I'm very glad it is a joke, because after showing it to some of my colleagues I was a bit worried that they might actually use it.
  • There is this movie I was attempting to find for ages. I haven't seen it since I was 6 or so and only knew it by its Hebrew name, the direct translation being "hole in time". Well thanks to the wonders of the 'net I was finally able to find it: it's called Biggles: Adventures in Time, and according to one reviewer it sucks rather badly. Excellent! I'm waiting for my copy and will post my opinion when I have one.
  • Go play Psychonauts.
  • Here's an interesting article explaining why you must never use "double-checked locking", which is an (apparently broken) technique for saving some CPU cycles on synchronization checks. If you do any performance-savvy multithreading code it's an absolute must-read.
  • This is absolutely awful.

Things to expect in the (reasonably) near future:

  • The .NET Remoting vs Events article I was talking about
  • My experiences with Linux
  • Reviews for Psychonauts, Half Life 2, Chronicles of Riddick
Thursday, 11 August 2005 09:11:04 (Jerusalem Standard Time, UTC+02:00)  #    -
# Tuesday, 09 August 2005
Or to quote Penny Arcade from a while back:
Quit whatever you're doing, it's not important. Maybe you're performing a surgery. Put the scalpel down. Maybe you're holding a runaway car back from rolling over a carriage which contains an infant. There's no baby shortage, and even if there were, they're apparently a lot of fun to make. Run over the roof of the car, go home, and open up a browser.

It's rare that I encounter something which I can't find the proper amount of superlatives to describe. That something is Charly and the Chocolate Factory, the latest Tim Burton/Johnny Depp movie based on the famous novel by Roald Dahl (which I admit not to have read). I will not bother you with the list of superlatives I did manage to come up with, but trust me: you owe it to yourself to watch this movie. Just stop whatever it is you're doing and go.

Another recommendation that's bound to steal a few days of your life (and repay you by making the remaining days worth living) is the fantastic Psychonauts. It hardly matters what you're playing now, it can't compare. Remember Monkey Island? Day of the Tentacle? Grim Fandango? Same guy, and Psychonauts just might be his best work ever. You owe it to yourself to play this game. Just stop whatever it is you're doing and go.

Tuesday, 09 August 2005 08:30:11 (Jerusalem Standard Time, UTC+02:00)  #    -
Gaming | Movies | Personal
# Monday, 08 August 2005
Mailinator's been down for a while, and also slow and quite limited. I've been looking for a replacement and was recommended DodgeIt, which hits the spot. Highly recommended!
Monday, 08 August 2005 16:21:09 (Jerusalem Standard Time, UTC+02:00)  #    -
# Saturday, 06 August 2005

I was rather surprised to find comment spam in my blog (considering it's new and relatively unknown), but then it was Outlook-specific spam and I did have some Outlook-related blogposts.

Anyway in an attempt to fight it off I've enabled Movable-Type Blacklists as well as CAPTCHA images in the comments. I hope this isn't too annoying for you; if it is let me know and I'll remove it.

Saturday, 06 August 2005 19:25:27 (Jerusalem Standard Time, UTC+02:00)  #    -
# Sunday, 31 July 2005
  • Ever have someone ask you a question a question he could've easily answered by spending two seconds searching Google? If not, there must be something genuinely wrong with you. In any case, this is absolutely brilliant: just send him/her/it the appropriate link! That way you're bitch-slapping them for being stupid while still being helpful.
  • Old news but I haven't found the time to address this yet: an Australian citizen was judged guilty of copyright infringement for having direct links to downloadable MP3s (he wasn't hosting the files, mind you) on his website. I have a tendency to play devil's advocate in these matters, but in this case I can't understand the decision; merely linking to sites (illegal or otherwise) is, in my eyes, equivalent to saying "I don't employ whores, but if you want there's a pimp right around the corner". It might be morally questionable but it's certainly not in itself illegal.
  • Also old news but important never-the-less: the Wayback Machine has come under legal threat due to its use in a trademark dispute. Apparently the company that lost in said dispute was displeased with the Wayback Machine's involvement and filed a suit. What's really ironic is that they're claiming the Machine as well as lawyers making use of it were in violation of the DMCA, because they somehow circumvented the Machine's robot.txt mechanism (read more about it in the previous links). Needless to say, that claim is absolutely preposterous. What worries me is that, by the time this lawsuit is thrown out the door, lots of money will have been paid and the non-for-profit Internet Archive organization (which maintains the Wayback Machine) might be irrevocably damaged.
  • I wrote a review for Rez on MobyGames. Go have a look, then find a way and play the game.
  • I started playing Psychonauts yesterday and so far it seems to kick a whole lot of ass. I'll post a review when I finish it.
  • I also found the time to update my have list on MobyGames. It currently only contains 10-15 percent of the total amount of games I own, and missing a whole bunch of comments, but I'm getting there.
Sunday, 31 July 2005 16:08:19 (Jerusalem Standard Time, UTC+02:00)  #    -
Scott Henselman has released dasBlog 1.8 RC1! Since dasBlog is one of the most impressive pieces of open-source software I've ever used (solid, stable, impressive codebase and very intuitive to boot) and seemed to be in hiatus for a while, this is some of the best news I've heard in a while.

I went ahead and upgraded, and the transition seems to be impressively smooth. Atom 1.0 is now fully supported, and having done some reading on it I think I will be evangelizing it a lot more in the coming weeks, since it seems to solve a lot of issues with RSS (not the least of which is a properly written schema).

dasBlog 1.8 also comes with a pretty nifty theme called BlogXP, which I intend to provide as an alternative theme as soon as I get around to reworking it a little bit. So far I'm very pleased with the performance and usability enhancements, and will report further.

Update (14:28 GMT+2):
I just spent the last couple of hours hunting down what I perceived was an output caching issue with either dasBlog or ASP.NET. I updated this entry with a trackback link to Scott's website, but it was not properly handled (no trackback, and the linked text did not show to boot). To make a very long story short, apparently dasBlog has several "content filters" enabled by default; these content filters are regular expressions which match, among other things, the strings dasBlog, Newtelligence and Clemens Vasters and replace them with the appropriate links. Aside from these default filters being horribly out of date (the current maintainers are Scott and Omar Shahine), implicit defaults such as these really annoy me because they cause unexpected behavior (in my case, the string dasBlog inside an <a> tag was replaced with a complete hyperlink) and the behavior in itself is not necessarily desirable.

Also, a bug I neglected to report is yet to be fixed (it's now reported), and there are several other minor issues (such as this). Otherwise, dasBlog is a very solid piece of work indeed.

Sunday, 31 July 2005 11:43:26 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Monday, 25 July 2005
I find that I keep reverting to MobyGames for game-related links, searches etc. Trixter's baby project is an awesome resource for the sort of info I often look for, and I figured that it would be really great if I could do a MobyGames search directly from Firefox (much like I constantly do with eBay, Amazon etc.). I spent a couple of minutes looking through MobyGames' prominent navigation links for a solution with none to be found, so I figured I'll just add it to Firefox myself.

The browser linked me to Firefox's "add engines" web page, but as luck would have it, the Mozilla servers were down at that exact moment. I figured that since I can't do it myself at the moment I might as well have a look if someone else'd already done it - which apparently they did; if you click through the Friends of Moby page in MobyGames you'd get a very improperly-positioned link to their Firefox search button. I happily clicked it, it works like a charm and dead useful.

This only goes to show that even the most useful tool, application or whatever will be completely ignored if it's not prominently showcased! I'll be sending an e-mail to the great guys at MobyGames about this.

Monday, 25 July 2005 13:23:05 (Jerusalem Standard Time, UTC+02:00)  #    -
Gaming | Personal
# Tuesday, 19 July 2005
ToastyTech has images, descriptions and miscallenous trivia for most popular microcomputer GUIs. Seems to lack a few (NeXT etc.) but is still a really terrific read. Also, you can now read scans of the 1971 and 1979 versions of "'How It Works': The Computer" books, intended as an ease-into guide for the computer-illiterate.

As a history buff I've always found older computers fascinating, both the computers themselves and the social phenomena they represent. If you're also interested in such things, make sure to read Fire in the Valley: the making of the personal computer, which is an astounding read which delves (in interviews, pictures and background stories) into the various aspects of the early PC era. Another interesting read is Steven Levy's Hackers: Heroes of the Computer Revolution (which my brother Mickey bought me as a birthday present couple of years back. Thanks, man!)

Tuesday, 19 July 2005 11:56:02 (Jerusalem Standard Time, UTC+02:00)  #    -
# Monday, 04 July 2005
Been busy doing absolutely nothing of value over the last few days including, but not limited, to: going to the kinneret for a Saturday afternoon, watching Batman Begins (seperate post on that later), finishing Half Life 2 again (review coming up), going to a pub, watching Who Framed Roger Rabbit and almost finishing King Rat (will probably blog a bit on that at a later date too).

I also blogged practically nothing interesting/useful for the past couple of weeks, so here's a collection of stuff I have in my "context" file (sort of a geek's to-do list):

  • Apparently I've managed to thoroughly miss the whole Annoying Thing revolution; I've always known the source to be DengDeng but apparently it's evolved and is now officially out of control. Here's an interesting read.
  • If you have any inclination towards industrial and/or goth music, check out In Strict Confidence. Of particular note are Zauberschloss and Engelsstaub (in German) and the terrific Love Will Never Be The Same (English). I've also given good listening time to Massive Attack's Mezzanine. On the web radio front I still listen to a lot of Nectarine radio.
  • RMS has another thought-provoking artlce about software patents. RMS's usually extremist opnions aside, I'm finding what I see around me less and less to my taste, and as a software developer for a relatively small company I occasionally feel the results of software patents on my flesh, and it scares me. Patents are a necessary evil, but leglislators must be extremely careful in maintaining the balance between protecting innovators and stiffling innovation. I'll probably write a proper post about this soon.
  • Get your own, before they run out!
  • Ever had trouble remembering what a toilet in a particular computer game looks like? This site should alleviate your concerns.
  • These are really cool. Too bad they probably sound like crap.
  • Ho-lee shit.
  • Evidently the Israeli customs office does not believe in free software (Hebrew only). Fortunately the story ends happily.
And here are some development-related tidbits:
  • A couple of interesting articles on the BCL team blog: this one elaborates on which language features cannot be expressed using CodeDOM (including .NET 2.0), and this one explains why parsers aren't included with CodeDOM (which would've saved me a hell of a lot of time on the C# to java source-level compiler I wrote a few months ago).
  • BCL team's libcheck is an immensely useful tool if your team provides public APIs to other teams or customers (via Roy Osherove's ISerializable).
  • Balanced matching with regular expressions: apparently the .NET regex implementation allows you to create "stack"-style expressions (so you can parse, for example, mathematical expressions with parentheses, C-style comments etc.). The syntax is somewhat convoluted and tricky to use though (via Roy Osherove's ISerializable).
  • I've been asked how to create windows services in .NET on numerous occasions; it is, in fact, incredibly easy. Enter another great post from the BCL team, which will hopefully save me some hours of repeating the same explanations. Thanks, Dave!
  • These seem like incredibly useful tools, though (seeing that my development focus has changed over the last few months) I haven't yet been able to try out: ComTrace hooks the COM system calls and gives you a filtered view, which is definitely handy for debugging COM issues. Conversely, the PINVOKE.NET add-in is a front-end for the PINVOKE.NET wiki - a respository for unmanaged API P/Invoke signatures and best practices.
  • I always thought overhyped, powerful language features can be dangerous in the hands of the uninspired, but this is just ridiculous (thanks, Kuperstein).
Monday, 04 July 2005 13:28:56 (Jerusalem Standard Time, UTC+02:00)  #    -
Development | Personal
# Thursday, 30 June 2005
If you ever find the need to contact me, here are a few options (prioritized, first is best):
  • Send me an e-mail - make sure to change the at/dot text to the appropriate characters
  • MSN Messenger alias tomer at tomergabel dot com (same comment applies)
  • Leave me a comment on this blogpost
Thursday, 30 June 2005 16:59:14 (Jerusalem Standard Time, UTC+02:00)  #    -
dasBlog's been behaving oddly today. First I find that I have an empty category (that is, a category with a blank name). Turns out that dasBlog caches the categories from its content XML files, but has no category deletion/rename tool (this tool can only rename categories and is not part of the project itself). I had to download the files, look up the offending category manually (another would-be bug: the category list in the XML was personal;music;" - note the trailing semicolon) and fix it, then touch the config file to get the site to reload and recache the categories. If I find the time I'll add this to the source.

The second issue is that my "contact me" entry has disappeared from the blog entirely, and somehow the links were replaced with links to another entry. *scratches head* Guess I'll have to rewrite that post...

Thursday, 30 June 2005 16:55:16 (Jerusalem Standard Time, UTC+02:00)  #    -
Here's part of a spam mail:
Call out Gouranga be happy!!!
Gouranga Gouranga Gouranga ....
That which brings the highest happiness!!

And I say, what the hell?

Update (July 25th): after noticing a referral to this entry from Google with the search term "gouranga spam" I figured I might as well find out what this thing's all about. A little more searching revealed the following:

Gauranga (Gouranga) was a nickname of Sri Caitanya Mahaprabhu, a monk in India who 500 years ago founded the branch of Hinduism that during the 20th century was brought to the west by ISKCON (International Society for Krishna Consciousness, better known as the "Hare Krishna" sect).

The one recollection I had upon reading this bizarre mail was that, in the original Grand Theft Auto, if you ran over all members of the occasional groups of monks prowling the strings, you'd get a massive bonus with the word "Gouranga!!!" superimposed on the screen. Apparently I wasn't the only one to notice this, as the fact is featured prominently on wikipedia. At least now I know what the hell gouranga means!

Thursday, 30 June 2005 08:36:15 (Jerusalem Standard Time, UTC+02:00)  #    -
# Sunday, 26 June 2005
Lev (my friend from Eilat) hopped back north for a visit, which was perfect timing to go to the Hot Fur CD release concert in the Koltura club in Tel-Aviv. And let me tell you, it was the absolute bomb!

We arrived a little early (the show was supposed to start at 22:00 with the doors open at 21:00), the place was still nearly deserted and a Frank Zappa concert played in the background. We went out to grab a bite to eat, and when we came back people were starting to pile up. I don't really have much of an idea how many people were present when the show actually started (half an hour late...) but it was probably 150-200 as the place is supposed to be able to hold 400 people and it wasn't horribly packed.

Audience at large (you can thank Ilya Konstantinov for the pictures)

Hot Fur started by playing their new music video for "Adventure In Space", which was hilarious and got everyone riled up and ready for the concert; they immediately proceeded with "The Letter Vav" and over the next 1.75 hours proceeded to play most of their bread-and-butter repertoiré, including (but not limited) to "Sabres 15003", "I Won't Give Up" and (I think) "Tomatoes". Now what's really great about Hot Fur concerts is that they do not only make and play great music, but they also know how to put on a great show:

Between (and often during) musical segments guys related to the band would put on bizarre costumes and indulge in what must be the greatest fun the world: acting really stupid in front of hundreds of people who appreciate stupidity. I particularly liked this character (the main character in the "Adventures In Space" video), who for lack of a better name I like to call The Dude:

The Dude makes many appearances during the show...

... like this one

Among diverse distractions the band kept throwing roses at the audience, and I finally found myself looking thus:

Roses are red, violets are blue...

And eventually broke down altogether:

... I love Hot Fur, and so should you

At the end of the show, we finally managed to get our hands on our preordered Hot Fur CDs (which we've been eagerly awaiting for for the past year). Besides the great music us preorderers were delighted to find our names in the "thank you" section of the CD...

Hot Fur'll be appearing in Koltura again on July 27th (I think). Don't miss it.

Sunday, 26 June 2005 13:25:34 (Jerusalem Standard Time, UTC+02:00)  #    -
Music | Personal
# Thursday, 23 June 2005

Three of my colleagues here at Monfort are Israeli demo-scene alumni (specifically, Borzom / Tatoo, Scroll-Lock and Crunch / YOE). We got word of an IGDA Israeli Chapter meeting that was going to take place in a day, where demo-sceners are expected to attend (Civax / Moonhunters is the IGDA organizer in Israel), so we quickly rang up everyone we still have contact with (the last scene event in Israel was in 2000...), took a car and went there.

It was great! More than great, it was absolutely brilliant. Fewer sceners attended than I expected/hoped, but the ones that did come were pretty much the core of the Israeli scene to begin with. Borzom, Scroll-Lock and I arrived in the Leo Blooms Irish pub in Tel-Aviv a little after 19:00 to meet up with Kombat / Immortals and Jonny / YOE who were already there, and were shortly joined by Civax and One / Moonhunters, Crunch / YOE and after a little while Protopad / BSP (my brother Mickey), Dark Spirit / TTOM, Hex / ULC^Tatoo and Rage / Immortals.

The Gang
From left to right: Jonny, Crunch, Borzom, Scroll-Lock, Holograph (myself), Civax and Kombat in the bottom

Over the course of about five hours we sat around, drank and ate all sorts of shit and had loads of fun talking to people none of us have seen in years. The results were sometimes disturbing:

What. the. fuck.

All in all, it was an absolute blast, and I'm now planning a demoscene get-together (which will hopefully include a BBQ and demos displayed constantly on a projector) sometime towards the end of July. If you're a demoscener and have any inclination to attend, get in touch...

Update: Oran put up pictures from the event on his Giant Mitzy site. You can download them here.

Thursday, 23 June 2005 16:26:16 (Jerusalem Standard Time, UTC+02:00)  #    -
Demos | Personal
# Monday, 20 June 2005
I'm generally fascinated by the effects of nuclear bombs. It's not the technology I'm interested in as much as the aftermath; the images from the Hiroshima and Nagasaki bombings, along with the stories and related social phenomena (Godzilla is just a trivial example) hold an irresistible sway over me.

After spending about 20 minutes reading through George Weller's rediscovered report of Japan's nuclear aftermath it was really, very difficult lifting my jaw off the floor. It's an astonishing read, particularly because it combines the early 20th century technical ignorance regarding nuclear weaponry and its various effects with surprising candour and lack of naivette. I was a little concerned with the reliability of the publication, but I suppose having it reported on CNN and subsequently slashdotted lends it at least some credibility.

At any rate if you have any interest in the post-apocalyptic, you owe it to yourself to read the report. That said, you also owe it to yourself to play Fallout. Sleep tight.

Monday, 20 June 2005 14:33:09 (Jerusalem Standard Time, UTC+02:00)  #    -
# Wednesday, 15 June 2005
Eric Lippert has an incredibly interesting five-part blogpost about the mathematical essence of musical theory, along with some pretty nifty demonstrations. I've dabbled a little in the more practical applications of musical theory before (writing wave and module players and some basic software synths) but honestly have never been really interested in its mathematical/physical aspects.

This, ladies and gentleman, is interesting shit.

Wednesday, 15 June 2005 13:59:35 (Jerusalem Standard Time, UTC+02:00)  #    -
Music | Personal
# Tuesday, 14 June 2005
A bunch of tidbits to get you through the day:
  1. Three words: what. the. fuck.
  2. Do you recall that classic picture of the back of a girl? I recall seeing that picture demonstrating the graphic prowess of generations of computers and video cards (from the earlier Macs, through a friend's 286/VGA machine and the first true color-capable PGA video card another friend used to own). Ilya sent me a link detailing the original story. Interesting, if you're a history buff like me.
  3. This (Hebrew only) news post only goes to show that stupidity knows no bounds.
  4. While not American, I find the very concept of a senate intelligence committee voting on expanding an already-problematic Patriot Act extremely disturbing. What really yanks my chain, though, was that the vote was held during a secret meeting, to which members of the press were barred entry. Does anyone else consider the very concept of legislation in secret anti-democratic in the extreme?
  5. I came across an amusing definition of a particular class of bugs, dubbed heisenbugs. I think I'll start using the term.
  6. Finally, it appears we have an Aibo here at work! The damn thing is really disturbing. Photos and experiences to come (as soon as I get my ass off the chair long enough).
Tuesday, 14 June 2005 16:55:30 (Jerusalem Standard Time, UTC+02:00)  #    -
So I haven't had a proper vacation in ages. Sure, I've had days off on occasion, went on trips on Saturdays etc., but not a vacation per se. The last time I spent any amount of time doing nothing specific was about a year and a half ago when I went with my family to Eilat (the southernmost city in Israel, and its most [only?] popular tourist attraction).

A very good friend of mine went to live in Eilat a few months ago, so I figured since I haven't seen him for a while it might be a chance to make good use of a few days off (weekend combined with the Shavu'ot holiday). So midnight on Thursday I took a bus from my home town of Haifa to Eilat. I'll take this opportunity to extend a hand of friendship and understanding to the poor buggers who live in countries where several hours-long bus rides are a fact of life; busses suck. It's the most uncomfortable thing in the universe. I spent two 5.5 hour trips trying to find "the position" which would actually allow me to sleep a bit and failed miserably, the direct result of which is my coming to work today tired and quite off, not to mention cramped muscles, knees and back. Yech.

That said, Eilat kicks much ass. First off, coming to Eilat in your own vehicle is idiotic: to begin with parking is difficult (particularly around the city center, promenade and major attractions), the roads are quite packed and there's a constant stream of pedestrians crossing the street everywhere at all hours. Add to that the amazing availability of low-cost (particularly compared to the Tel-Aviv area) taxis that literally materialize out of thin air the second you raise your hand, where the cabbies are knowledgable and even courteous (in Israel, no less!). All that combined with the fact that everything is a short walking distance away (the entire city center, promenade included, can be crossed in a comfortable one-hour stroll) mean that it's cheaper, more efficient and certainly healthier and more enjoyable to just stroll around the city. The climate was difficult to get used to at first: the temperatures are considerably higher in Eilat than in my native Haifa bay area (37C vs 27C by day), however moisture is considerably lower - 20% vs 65%. The direct result is that it's generally quite a bit hotter but far easier to breath, and it's much more convenient to move around by foot: I'm now back north and a short walk from the bus to work got my all sticky, whereas in Eilat I would walk the 2km from my friend's house to the promenade and not feel the worse for wear.

Eilat is either a shopping heaven or a shopping nightmare, depending on what you're looking for and how hard you're willing to look. Being a free trade zone the prices in Eilat are VAT free - Israeli VAT is currently at 17% - the direct result of which is that certain commodities (CDs, cameras and books for example) are considerably cheaper, whereas simpler things are ridiculously expensive (like a can of coke). The promenade offers an insane variety of tidbits mostly aimed at tourists, but there's still pretty cool stuff to be found: I finally tried on a sharwal (also known as "fisherman's pants") and actually liked it in the extreme - I'm starting to understand the Japanese and the scots, even though the lack of pockets can be an encumbrance. Even the local shopping mall has its moments: every time I'm in Eilat I find myself spending $100-$200 on CDs; the local CD shop (Disc Club) is VAT free and cheap to begin with.

The beaches in Eilat are terrific. I've only been out of Israel once so I wouldn't know how they compare, but the beaches are clean, the water is cold and transparent and you get to swim alongside a huge diversity of wildlife. If you're into diving I probably don't have to tell you about the possibilities as the city's pretty famous for its diving attractions. There are various tourist attractions (desert trips on jeeps and camels, etc.) and it's also pretty relaxing just strolling all over the place on foot.

Being used to some pretty high quality pubs back north I was slightly disappointed with what Eilat had to offer in this area as it was particularly hard to find reasonable beer. I've found a couple places that sold Leffe Blond and Weinstephan (and the mandatory Guiness, Carlsberg, Heineken and local Goldstar that I personally dislike), but that's pretty much it. The pubs themselves however are pretty good - at least the ones I've been to (DeBar was absolutely terrific, thumbs up David!) Lastly, food-wise there are some really great places to eat in Eilat, my personally favourite being Casa Do Brasil: an absolutely terrific all-you-can-eat south-American grille. I make it a point to go there and crunch my body weight's worth in meat whenever I'm in Eilat, and this time was no different (with one exception: apparently they make the best beef fillet I've had yet in Israel). Basically everywhere you look there's great food in abundance, just take your pick and ask around for recommendations.

Tuesday, 14 June 2005 08:31:24 (Jerusalem Standard Time, UTC+02:00)  #    -
# Tuesday, 07 June 2005
I thought I wouldn't bother with the third Star Wars movie. I really did. Well no, not really; it took me exactly five minutes to snap out of it and stop lying to myself: I was going to watch the movie in the theater even though I knew it's going to suck, much like Matrix Revolutions or Terminator 3. I can't help myself. It retrospect it amuses me that I'm willing to spend money on a purely mainstream product I know there's no chance I'll enjoy, but then - it's Star Wars, if I didn't go I'd feel left out...

Anyway, bottom line - I did go and did see it in the theaters. And it did not suck. Not even remotely as much as I feared it would. Now admittedly I've read the various "it doesn't suck" quotes on the 'net, but being my usual sceptic self I had to see for myself. I wouldn't call it terrific, though; it has two major problems without which it would probably have been the best in the series: crappy dialogues that seem to have been written by a 6-year old (particularly the various Padme vs Anakin scenes), and Hayden Christensen. Not even Ewan McGregor, whom I hold in very high regard since Big Fish, was able to keep me from noticing how poorly the dialogue is written, and not even the really terrific action scenes and utterly astounding visuals could keep the grimace off my face whenever Anakin came on-screen. Add to that an anti-climaxic Darth Vader experience and what you have is a pretty decent movie that could've been the biggest thing since, well, Lord of the Rings. A crying shame.

I had a completely opposite experience with The Hitchhiker's Guide to the Galaxy: I was never a big fan of the series (yes, I read all of them) and had very low expectations. When the trailer came out I was plesently surprised to find that I thoroughly enjoyed it and laughed quite a bit, so it was with mixed feelings that I went to see it in the theater. Suffice to say that when the lights came on for the half-time break I was quite surprised: 45 minutes had gone by, and I didn't even notice. This movie is funny as hell! It's well-written, well-acted and even well-designed (visually); there are a lot of subtle jokes (as opposed to the incoherent in-jokes I originally expected) and this just made everything even better. I'm also very happy that the authors of this movie didn't give in to the fanboys, which means the authors did have some artistic license - I actually prefer the movie to the book this way. So in summary: this movie rocks. Watch it.

I had reasonably high expectations for Sin City: I like dark films and the trailer seemed very nifty. I had no idea what the movie was about though (never read the comic, nor could be bothered with previews) so I had no idea what I was getting into when I went to watch it. All in all I dub this film "high quality garbage." The production values are as high as it gets, but it doesn't stop the movie from being generic comic-based film-noir. The plot lines are overly simplistic and what the movie lacks in story-line it makes up for in insane amounts of gratuituous violence. When I made this argument a friend of mine challenged it, saying that I enjoyed Kill Bill immensely despite the level of violence which was at least as high; now don't get me wrong - I'm not squeamish and enjoy a good violence scene at least as much as the next guy, but the difference is that where violence in Kill Bill is intentionally portrayed as ludicrous and works to advance a simplistic plot (not to mention homage to '70s Hong Kong action flics), the violence in Sin City is not portrayed as ludicrous at all and works mostly to take the place of a nonexistant plot. It may work in the context of a comic, but I've never been a comic fan, so for me it merely detracts from a quality production. That said, the acting is top notch and the graphic design is absolutely beautiful, but as a whole Sin City is one movie I'm probably not going to watch again.

Finally I have a recommendation to make: grab Oldboy from the nearest Blockbuster and watch it. It's a Korean movie and I'm not sure how to best define it, but it's combination violent, disturbing and thought-provoking, with incredible acting, visual design and music to boot. Heartily recommended. Also, if you get the time, check out Kung Fu Hustle - I think it's in the theaters (in Israel) right now, or will be soon.

Tuesday, 07 June 2005 17:57:18 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Movies
Tidbit time:
  • Raymond has an über-interesting post on the potential security issues with C's strncpy, including an interesting bit of history.
  • Senthil Kumar's found out an interesting detail regarding the equality (==) operator in .NET System.String.
  • GAIM joins in on Google's Summer of Code project. I just wish I were a student living in the States with enough free time...
  • Remember the old Amiga game Cannon Fodder? Well I found this promitional (?) video for the CD-32 version of Cannon Fodder - so funny it's disturbing.
  • A pretty interesting post at The Register claims Microsoft's Windows 2000 operating system was a complete flop as far as security's concerned, but it marked an interesting shift in the company (and therefore the industry).
  • I don't find myself completely disagreeing with Roy Osherove that often, but his his take on The Grudge is completely opposite my own: the movie was not scary at all, for the most part very poorly acted and I came out of the theater feeling as though I've just wasted 37 NIS (the price for a preordered movie ticket in Israel, approximately $9 US - way too high anyway) and two hours of my life. On the other hand, I've found White Noise quite appealing; it didn't scare me proper (only System Shock 2's managed to do that in recent memory), but it did leave me unsettled, which is also pretty unusual. Probably the only good horror/thriller I've seen in ages is 2002's The Ring. I openly admit to not having seen the original Japanese version, nor have I seen the supposedly great The Sixth Sense. Working on it.
Tuesday, 07 June 2005 17:00:40 (Jerusalem Standard Time, UTC+02:00)  #    -
# Monday, 06 June 2005
Paniq came out with a new album a couple of weeks ago, the second track from which is called Elektronische Musik (can be downloaded from here). It's in German though, so make sure you read the lyrics.
Monday, 06 June 2005 09:38:15 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Music
# Sunday, 05 June 2005
Despite my lately-discovered tendency for open-source evangelism, I constantly use proprietary software in my day-to-day computer exploits. Here's a list of a few of the more useful ones:
  • Everyday use:

    • Windows Live Writer - Microsoft's blog client/word processor. Microsoft entered a saturated market full of mediocre and/or abandoned software, and simply did everything right from the get-go. This is one hell of a tool - stable, convenient and extensible. Recommended.
    • XMPlay - a great audio player for Windows. Has excellent module playing capacity, plays streaming audio perfectly, basically does everything WinAmp does only better and in a much lighter package. I have yet to find a (preferably portable) open source platform which compares..
    • Microsoft Outlook - Outlook has its moments, but I've enjoyed working with Mozilla Thunderbird a lot more. I originally switched to Outlook for its PDA synchronization capabilities (via ActiveSync); since this is no longer an issue for me, I'm planning on switching back to Thunderbird as soon as I can find the time to take care of the migration.
    • Total Commander - I simply can't work properly without a Norton Commander clone. I switched from Servant Salamander to Total Commander and so far never looked back. An open-source replacement is definitely #1 on my wish list though.
    • AVG Free Edition - the free (for home use) version of the AVG Anti-Virus is an impressive piece of software. It's lightweight, nonintrusive and simply works. I'm sceptical that open-source antivirus software can be as up-to-date and effective as proprietary software.
    • Windows XP Professional - bought a copy with my laptop, and can honestly say I do not regret it. It is impressively full-featured, completely stable, has terrific hardware support (I will tell the story of my Linux hardware woes in another post) and despite being very powerful it is also very intuitive to work with.
    • Trillian Basic - a free multi-IM client (I use ICQ and MSN). It's not lightweight, nor it is the fastest, but from all the multi-IM clients I've used (GAIM, Miranda, Trillian) it has the best combination of stability, features and looks.
    • ACDSee (at work) - Best of breed photo browser. The new version seems quite bloated, but it's still the best program of its sort I've used (since version 3...)
    • XnView (at home) - Great photo browser that's fairly quick and lightweight. Free for non-commercial purposes, basically does everything almost as good as ACDSee.

  • Development tools:

    • Visual Studio 2005 - being a primarily .NET developer, this is an absolute must-have. It has a lot of issues though, and missing some features that I can only enjoy with ReSharper.
    • JetBrains ReSharper -the quintessential upgrade to Visual Studio. Improved autocompletion and syntax highlighting, fully customizable code reformatting, code navigation, refactoring, code templates, unit test runner and more, all in one package. I've been using this since version 1.0 after seeing a presentation by Roy Osherove, and nowadays I find it daunting to work without it.
    • Araxis Merge - best of breed commercial diff and merge utility. WinMerge and the various diff/merge utilities that come with source control provides (Vault, Perforce etc.) simply can't compare.
    • Stylus Studio - I tried this out as an alternative to XmlSpy a few years ago and got hooked. Although it's still a terrific XML IDE, unfortunately they have very annoying registration, activation and upgrade policies, so I may yet take XmlSpy for a renewed spin.
    • SourceGear Vault - the source control provider we use at work. It's like a moderately improved version of SourceSafe: reasonably fast, fairly full-featured and mostly works. I've used Microsoft VSTS and Perforce since and both are far superiour, but also considerably more expensive.

  • Occasional use:
    • Nero Express - a lightweight version of the fully-fledged Nero. This has been my CD-burning software of choice for about 6 years. Since a copy came with my laptop I haven't found the motivation to seek a proper open source replacement yet.
    • PowerDVD 5.0 - probably the only reason I still use PowerDVD is because it came (OEM) with my laptop. I don't watch many movies on my laptop so I couldn't be bothered to find an open-source replacement.
Sunday, 05 June 2005 18:34:44 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
# Tuesday, 31 May 2005
First, if you're up for a decent laugh, go ahead and read A Gamers' Manifesto. You may have noticed the odd discrepency between this post's title and that article's; it's intentional - I do not presume to represent the gamer crowd as a whole, and for several very good reasons:
  1. I'm about as mainstream as the guy next door who never seems to shave, or shower, or do anything other than moan and occasionally groan something that sounds oddly like "braaaaaaaaaaaaaaaains." I certainly enjoy an occasional hit as much as the next guy (UT2k4 anyone?), but other than that I'm definitely not your run-of-the-mill Israeli gamer. For one, I actually buy my games, which appears to be a particular oddity that even my absolutely closest friends can't fathom. Second, I often play older games (sometimes on their native platforms) because I enjoy them and do not mind their being old or technically outdated. Third, I consistently despise games heralded as breakthroughs by many of my peers; and lastly, I find myself playing less and less games and wondering why, exactly, that is. I used to play practically every game out there; there are few games from the '90s I haven't played extensively or at least taken for a spin.
  2. Gamers, even intelligent ones, look for different things in different games. I openly declare the original Doom to be one of the greatest games I've ever played. It's certainly mindless, quite repetitive and lacks any manner of story or plot. It doesn't matter. I've spent countless hours (must be about over a month in total) playing this particular title because it was so thoroughly satisfying. In recent years, however, I've heard people blaming Doom for starting a "dangerous trend in computer gaming" of mindless action games with no plot. Hate to break this to you: mindless action games were out there way before Doom (the arguably first computer game ever, Space War, was one). Besides, mindless action is definitely good for the soul. Still, it doesn't stop me from enjoying the more thought-inducing genres, which only goes to prove my point: people (especially gamers) enjoy things differently.
That said, I have several comments about A Gamers' Manifesto. Let's go by the numbers:
  1. I agree with the gist of the thing (tough, smart AI), but not with the particular example. Doom III was meant to retain Doom's simple, mind-numbing but gratifying gameplay, and does so extremely well. Playing Doom III was a religious experience for me: everything I loved about Doom - the suspense, the heaps of enemies, the challenging gameplay, the gameplay mechanics - is there. Giving the Lost Souls a proper AI would be like giving George W. Bush brains; it's great in theory, but it probably won't make the world a better place.
  2. With this I cannot possibly diagree. Games have been getting less and less diverse for years, and the studios that create the few exceptions usually get financially whacked: where are Bullfrog and Lionhead Studios these days? Do you recall the financial fiasco that befell DreamWorks' completely revolutionary The Neverhood, or the lackluster sales of the completely original Loom?
    Customers are obviously responsible, but it's also a result of the astounding costs involved in creating a top title these days. Twenty years ago you could've been a 15-year old mashing on his C64 and be pretty well off, but nowadays you need heaps of people and money to create even an astoundingly bad title like Chrome. I firmly believe, however, that tools will get progressively better, allowing less people to make more detailed, more immersive games in less time and effort; it's just a question of time. When that happens, the ball will be in our (the gamers') hand again: will we buy the creative titles? Will we reward creative persons and game studios? Time will tell.
  3. This is an interesting throwback to the time when the in-game graphics were so bad you had to tantalize your customers' imagination with interesting background stories, or beautifully drawn imagery on the packaging (recall Defender for the Atari 2600?). I think concept art has its place, but it's not good enough. Screenshots don't cut it nowadays either; I distinctly recall being thoroughly unimpressed with the Doom 3 screenshots and mesmerized by Half Life 2's, and Doom 3 turned out to be the more graphically impressive of the two (HL2 is no slouch, though!).
  4. The image made me laugh my ass off, and though I do not play adult games I find myself more than a little disturbed by the analogy (which is closer to reality than I originally thought.)
  5. It should come as no surprise that men do not know how to cater to women. I'm a guy, I do not presume to understand women, and wouldn't know the first thing about what they'd be looking for in a computer game. My immediate thoughts are "something cute," which is the exact stereotype and which only goes to show that game designers are probably equally in the dark.
  6. I couldn't possibly agree more. Save points are OUT, quicksave is IN. Still, I'd like to add that having quicksave/load available is no excuse for poor gameplay, and actually having to use it every few minutes equals shitty gameplay (Half Life again).
  7. Finally someone put it into words. Loading screens are bad, however I'll add that while I would definitely prefer not having to wait at all, as long as I'm kept waiting at least make it worthwhile. Half Life 2 had 30+ second loading times per 2-10 minutes of gameplay (reminiscent of the first game), while Doom 3 would take the same time to load an area you would play anywhere between 15 and 60 minutes, which is much more acceptable.
  8. Woah, I'm glad I'm not a football fan.
  9. If I had a nickle for every time a bug in a game forced me out of the "obvious" game space and into an invisible barrier, I would be one rich monkey. Too bad I don't.
  10. YES! This is the one thing that's been driving me insane these last few years. Artifically linear gameplay was one of the things that annoyed me most about both Max Payne, Half Life 2 and even Painkiller; it drives me insane not to be able to walk into a room or a corridor "just because." Half Life 2's electronic barriers were better in that respect, but certainly not the solution. God damnit, if you want to trap me in a long corridor, at least don't pretend there are locked rooms and find some more reasonable way to make it plausible.
  11. The voice acting and cinematics comments are spot-on. Prince of Persia: The Sands of Time is a classic example of this; it could've been one of the best games of 2003 had it not been for astoundingly bad voice acting ("I saw my father turn to sand!") and horrible camera controls.
  12. While I agree with the authors' frustration, I can't see any other solution. Some of their comments are certinaly acceptable (particularly the RPG triggers), but for example I consider ammo starvation much less an issue than most of my fellow gamers: although I haven't played Resident Evil for the GameCube, many single-player first person shooters - Doom 3 and Serious Sam for example - require (at least in their higher difficult settings) careful expenditure of ammunition. I consider this part of the challenge, not an artificial way to inflate difficulty. That I reserve to just throwing 50% or 100% more monsters at you in the higher difficulty setting, as is done in most games. I think it's a lot more challenging to have to use the lesser weaponry where possible against tougher monsters so you have enough ammo for the big guys. As for instant-faliure levels, I have two words for you: Half, and Life.
  13. I completely disagree. There should be the option to unlock everything, but starting with low-class weaponry is part of the FPS tradition (as well as a direct cause-and-effect for gameplay), and unlocking content (or upgrading your car) is a huge part of the fun for certain types of games. Remedy's excellent Death Rally, or the astounding 2D shooter Tyrian, would be a great deal less fun if you could just start with the toughest ship.
  14. Oh, I don't know. I love crates.
  15. I'm increasingly worried about intellectual property issues, in particular software and concept-based patents. I was not aware of the effect patents have on gaming, so this is something of an eye-opener for me. I'll be sure to keep updated on this subject.
  16. For that matter, stop with the multiplayer bullshit. I don't particularly like multiplayer, and would definitely prefer to pay less for most games and just not get the multiplayer capabilities.
  17. Again, I'm not sure I agree. As long as you have a DVD drive and MPEG-decoding capabilities, since the console is stuck in your living room connected to your TV anyway it might as well play DVDs. Or audio CDs. But I'd rather the other, nonnatural features (PC-oriented features) be left out of the initial product, and either added later or just left to 3rd parties. It's obvious that Microsoft and Sony want their respective platforms to be the centerpiece of the living room, but I'm not interested in paying for it since I'm not going to be using it.
  18. I don't play any massively multiplayer games, so I'm not very familiar with the subject - but I don't like the sound of it.
  19. Unlike most people I don't have issues with jumping puzzles in first person shooters, providing the controls are adequate. That is part of the problem, a lot of games did that really, very badly (again Half Life comes to mind) but a lot of others did it just fine - proof of that is that I do not recall jumping puzzles that did not suck, and I've played a lot more FPSs than I can recall jumping puzzles. (Did that make any sense?)
  20. Buggre that for a larke. (tm)
That said, I much prefer PC gaming to console gaming; I do not get along well with the incresingly complicated controllers (still stuck in the D-pad+A/B buttons era), I hate the low resolution and crappy displays (good televisions are getting cheaper, but still prohibitively expensive) and the whole set up doesn't work for me. However, I must face the harsh reality: I spent the equaivalent of $1500 on my last machine (sans monitor!), and after 1.5 years I can already feel the hardware getting dated. Gaming PCs are ridiculously expensive and short-lived. I'll probably spend the money for my next two PCs on a next-gen platform and a really great HDTV-capable display and be done with it.
Tuesday, 31 May 2005 10:17:15 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Gaming
# Monday, 30 May 2005
I've been slowly but steadily moving to open-source platforms over the last few months. There are many reasons why and I won't bore you with the details; suffice to say that most of the major open-source projects are at worst almost as good as their commercial counterparts, free, cool and, from a developer perspective, there's always the option of tinkering.

Here's a selection of some of the more prominent open source programs I use:

  • Things I use every day:
    • Mozilla Firefox - the quintessential open-source project, which is lately getting even more spotlight than Linux itself. It has all the features you can hope for, is much faster than Internet Explorer, far better in the usability department (tabbed browsing, better download manager etc.) and is even compatible with about 90% bidi (Hebrew) websites. I've been using this since Firebird 0.5 (thanks, Ilya!) and it kicks mundo ass.
    • - the Microsoft Office replacement that's actually better than Office itself (well, at least Impress and Writer are). A localized version in Hebrew can be found here.
    • SpamBayes - open source bayesian filter, with Outlook plug-in. Fast and robust.
    • FileZilla - great FTP client and server (on par with CuteFTP and BulletProof). Windows-only, though.
    • The Gimp - photo editor. Not perfect, but as close to Photoshop as it gets without paying mundo bucks, and it's actually pretty damned good.
    • 7-Zip - excellent compression tool, with command line as well GUI options, a full library and support for most popular compression formats.
    • VideoLan Player - impressive open-source player and codec library. Self-contained and works great.
    • JetBrains Omea Reader Pro - excellent news aggregator with a huge number of features I don't generally use (among other things, it synchronizes with Outlook to let you access notes and contacts, it has a newsgroup reader, and more). It's fast, stable and simply good, and best of all - it's about to be released as open source software.
    • Notepad++ - terrific editor with syntax highlighting. It simply works.
    • ffdshow - a terrific DirectShow/VFW codec pack, including XViD, DiVX and MPEG-4 video decompression filters. Great quality and performance. Make sure to Google for the latest build.

  • Development tools:

    • Eclipse - an extremely impressive, full-featured IDE which gives Visual Studio a run for its money.
    • The Regulator/Regulazy - Roy Osherove's as-yet irreplacable tools for developing regular expressions (particularly with .NET).
    • WireShark (formerly Ethereal) - the de-facto packet capture and analysis utility. One of the best debugging tools known to man.
    • Cygwin - Posix environment for Windows, with GNU tools and everything. I'm not much of a UNIX guy, but this has proved invaluable in more than one case.
    • NUnit - the most popular unit testing framework for .NET. Make sure to check out (unless you use ReSharper, in which case the built in runner should suffice).
    • log4net - Logging framework for .NET. Absolute must-have.

  • Good tools I sometimes use:

    • Audacity - solid waveform editor
    • VirtualDubMod - best-of-breed DirectShow-based processors. I use this to encode, transcode and edit AVI files.
    • DOSBox - an open-source DOS virtual machine, emulating slower machines as well as several audio cards. Great for running old games, although not perfect.
My open source wishlist includes:
  • A proper, open source Norton Commander clone. Currently the best software in this category is, in my opinion, Total Commander, which has two major deficiencies: it doesn't support unicode, and it's commercial. Midnight Commander is Linux-only, text only and just doesn't cut it.
Monday, 30 May 2005 20:17:34 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Software
This is where I'll keep links on a permanent basis. I reckon I'll update this list from time to time, as my interests (and the structural integrity of the internet) change.

  • Useful stuff
    • DodgeIt - Excellent replacement for Mailinator; free, no-setup e-mail box that you can put anywhere to avoid spam and e-mail bots.
  • Gaming
    • MobyGames - the most complete repository for computer game-related information on the planet
  • Hardware
    • AnandTech - one the oldest and most reliable sources for hardware reviews, tutorials and guides (and nowadays software and other stuff).
    • Tom's Hardware - another one of the oldest websites around (I've been reading it steadily since 1998), and still an excellent source of in-depth content.
  • Demoscene
  • Humour
    • Penny Arcade - the quintessential webcomic, a must for any gamer.
    • - Collection of various quotes from e-mails and IM/IRC chats. Hysterical.
    • VGames' webcomic - Hebrew gamer's webcomic that made me laugh my ass off.
Monday, 30 May 2005 15:46:59 (Jerusalem Standard Time, UTC+02:00)  #    -
So it took me a couple of years instead of a couple of hours. I'm lazy, I know. Sue me. Well at least I got of my arse and actually did something, although it's (currently) not much...

So what's to find in this 'ere spot on the 'net?
  • Development links, advise, rants and tidbits
  • I'll bore you to death with what I consider to be good, bad or just plain stupid
  • Various kinds of generic thoughts about movies, music, history etc.
Hopefully you may be able to find something interesting or useful here; that's the plan, anyway. Enjoy your stay!

Monday, 30 May 2005 14:51:16 (Jerusalem Standard Time, UTC+02:00)  #    -
Send mail to the author(s) Be afraid.
<2017 March>
All Content © 2017, Tomer Gabel
Based on the Business theme for dasBlog created by Christoph De Baene (delarou)