 Sunday, June 22, 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): #!/usr/local/bin/python
#
# convert_permalinks.py
# Quick and dirty permalink converter for dasBlog content files
#
# Tomer Gabel, 22 June 2008
# http://www.tomergabel.com
#
# This code is placed in the public domain (see http://creativecommons.org/licenses/publicdomain/)
from __future__ import with_statement
import os
import glob
import re
import urllib
# Static constants
domain = 'tomergabel.com'
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
try:
resp = urllib.urlopen( new_url )
resp.close()
except:
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 = input.read()
conv_text = source_text
match_found = False
for matcher in href_lookup.finditer( source_text ):
if ( matcher != None ):
match_found = True
original_url = matcher.group( 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 ] )
else:
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" )
 Monday, June 16, 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.
 Wednesday, June 11, 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.
 Monday, January 21, 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 
 Wednesday, January 16, 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: - 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.
- 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.
- 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.
- 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).
- 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.
- 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.
- 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: - 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;
- 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;
- 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, January 02, 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.
 Sunday, December 23, 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, December 09, 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)
 Thursday, December 06, 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.
 Wednesday, December 05, 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 
 Sunday, July 22, 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!
 Tuesday, July 10, 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"...
 Sunday, June 17, 2007
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.
 Wednesday, May 23, 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.
 Tuesday, April 17, 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 Scene.org Awards Amiga demo nominees on the big screen For the first time I also got to watch the annual Scene.org 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, January 30, 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, January 23, 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.
 Monday, December 25, 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.
 Wednesday, December 13, 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.
 Tuesday, December 12, 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.
 Wednesday, November 15, 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.
 Monday, November 13, 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
Next
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.
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...
 Thursday, September 28, 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.
 Tuesday, September 26, 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.
 Monday, September 11, 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...
 Tuesday, August 22, 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!
 Sunday, August 20, 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!
 Friday, July 21, 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.
 Thursday, July 06, 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.
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.
 Tuesday, July 04, 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.
 Monday, June 26, 2006
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' |