Sunday, December 20, 2009

Blog should load faster; stalking me takes an extra click

I have had some location badges on my blog for a while, but this seemed to slow down page loading quite a bit. Also, why would any blog page show my location?

So now I've moved all this geo-info onto the Google Site that my domain points to. This should make blog post loading a bit more snappy. And should you still feel the urge to stalk me, you can use the "Where am I" link provided in the top right corner.

Sunday, December 6, 2009

Trying Windows Phone upgrade for Omnia Qwerty...

And so far, Samsung it not giving me a good feeling about this at all! Check tag #omniaqwertyupgrade on Twitter for more (real time) information. Will let you know how this turns out.

Thursday, November 5, 2009

Remember RockScroll? Now there's... MetalScroll!

In May of 2008 a blog post by Scott Hanselman introduced me to RockScroll, an amazing add-in for VisualStudio.

RockScroll in action

This piece of software made the scrollbar in code editor windows wider and showed an extremely scaled down graphical representation of the code in its place. It would still work as a scrollbar, but you would get a great sense of were you were in the source code file. And it had additional features, like highlighting words you double clicked, both in the editor and in the scrollbar thumbnail image.

RockScroll had a couple of rough edges...

I have used it for quite a while, but unfortunately it had a couple of issues that eventually let it drift from sight:

  • It did not take into account (collapsed) code regions.
  • You could very easily highlight something when you didn't want to.
  • Highlights stayed around until cleared by highlighting something else.
  • You could not change the colors that were used in the scrollbar.
  • It seemed to have occasional stability issues.

But now there is a solution...

MetalScroll to the rescue!

A new add-in by Mihnea Balta (of Griffin) called MetalScroll now does eveything RockScroll did while, as far as I can tell right now, solving all of these issues and more! It even turned open source.

MetalScroll in action

If you work in VS2005/VS2008, then do yourself a real favour and download it from Google Code now!

UPDATE: If you work in VS2010 (in which COM/Win32 based plugins no longer work due to the WPF rewrite), you can find and install the Productivity Power Tools - which features an enhanced scrollbar with three modes - under Tools, Extension Manager...

Wednesday, November 4, 2009

Boffoonery: getting back

And there you have it; I should be well on my way back to the European mainland again, maybe even back out of the tunnel already. Just as well too: we've got a Guus Meeuwis concert lined up for tonight in Utrecht. (What was I thinking!)

Tuesday, November 3, 2009

Boffoonery: being there

At the moment I should definately be at the Bloomsbury Theatre for Boffoonery. I wonder how @bobbyllew will be in the flesh. Will @stephenfry be there, as he would try to be? How will I like the show. Unless plagued by gadget troubles I'll probably be twittering about it.

Boffoonery: getting there

I've been to London a couple of times already, by (almost) all the different available means: plane to Heathrow, ferry (both by car and by coach) and the Channel Tunnel by car. I've even been on the Calais-Dover hovercraft once.

However, as you're reading this I'll be either in the Eurostar train to St.Pancras or already in London. My first train ride to the UK. Can't wait to get to Boffoonery...

Tuesday, October 27, 2009

Twitter must be doing some maintenance?

Haven't seen anything on status.twitter.com about it yet, but seeing the following instead of a Fail Whale is a first for me:

Service Temporarily Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

Nothing a quick reload wouldn't fix (for now). But still...

Monday, October 19, 2009

Efficient checking whether IEnumerable contains data

Have you ever needed to check - in a LINQ context, or otherwise - whether an IEnumerable<T> (or plain IEnumerable) contained any elements?

Of course a check using the Count<T>() extension method to check for an element count of zero works here, but this would be... unfortunate... for sequences yielding large numbers of elements because of the O(n) linear behavior.

Maybe the following source code (or the LINQ Any() method, see comments) could be of use to you in those cases from now on:

/// <summary>Sequence contains at least 1 item?</summary>
/// <typeparam name="T">Type of elements</typeparam>
/// <param name="sequence">Sequence to check</param>
/// <returns>true/false</returns>
public static bool NotEmpty<T>(this IEnumerable<T> sequence)
{
  return sequence.GetEnumerator().MoveNext();
}

/// <summary>Sequence contains at least 1 item?</summary>
/// <param name="sequence">Sequence to check</param>
/// <returns>true/false</returns>
public static bool NotEmpty(this IEnumerable sequence)
{
  return sequence.GetEnumerator().MoveNext();
}

These extension methods check whether the given sequence contains elements or not, but does so taking only O(1) constant time. In other words: the entire sequence is not fully evaluated, but the minimal work is being done to check if the sequence contains at least one element.

Wednesday, October 14, 2009

What is wrong with me - Part 2

Remember "What is wrong with me?", the blog post from september 16th? Right now I'm pondering whether electronic gadgets are just not for me.

Yesterday evening I turned my phone off for a couple of hours. Ever since I turned it back on, it turns itself off (or hangs, or whatever) after the screen has been off for an as of yet undetermined amount of time. Then I need to remove the battery or use the receded reset switch, which turns out to be a "soft reset" (=leaving memory) and not a "hard reset" (or factory reset) after all.

This is a disaster for a phone: unless I actively keep it on and active (including the display, which burns battery like there's no tomorrow), it's a brick that I need to turn on again when I need to use it.

Right now I don't have the time to repave it, but I'm still hoping this is some kind of software glitch. If repaving this thing again doesn't remedy this symptom, I'll need to have the obviously faulty hardware replaced. In any case: just my luck.

<sigh>

Tuesday, October 13, 2009

So Google logos are location specific?

Today I saw something interesting when I opened the Dutch Google search page

150 jaar Max Havelaar

The ALT text said "150 jaar Max Havelaar" and this doodle is not in the official Google logo list for oktober 2009.

Does this mean that local branches of Google are actually creating localized logo doodles that are independent of the official world wide ones? And if so, what's then the use of the global logo list? Mmm...

Monday, October 12, 2009

I need to get cracking on that multitude of sensors!

Mmm, I'm already two days late: it seems Samsung has released an SDK for using the extra sensors (like accelerometer, compass, proximity, etc.) that are in their latest mobile phones. What could I do with this in my Twitter client for Windows Mobile, for instance...?

Thursday, October 1, 2009

I have a finite Erdős Number

I was browsing some old XKCD comics the other day when I stumbled upon one I couldn't really place, as I had not actually heard of Paul Erdős before.

Well, that's a problem that Wikipedia can easily solve. As I started reading up on Erdős Numbers, I noticed the Compute your Erdős Number page at the Erdős Number Project.

And lo and behold: Marc van Kreveld is listed in the list of all authors with EN ≤ 2. So, because the subject of my masters thesis got presented by him at the 3rd International Conference on GeoComputation in Bristol, I guess my Erdős Number is three. Hence the recent Twitter announcement.

Tuesday, September 29, 2009

I want Layar on my Qwerty

It seems Layar has added 3D graphics to their AR (Augmented Reality) application for Android. As the Qwerty includes all the needed hardware (camera, tilt sensors and electronic compass), I would really like a Layar client for it to be able to try this out myself and perhaps even start to use this on a regular basis.

Has anyone already heard about Samsung (or anyone else) releasing any API information needed for using the sensors in the Qwerty in your own software? Because that information (and the porting work by Layar) seems to be the only thing currently standing in the way of making this a reality right now...

Monday, September 28, 2009

Can you hard-reset an Omnia Qwerty?

Only just back from vacation LocalJoost just asked me a question I don't know the answer to, based on his review of his current Samsung: can you use a hardware button combination to hard reset an Omnia Qwerty?

Contrary to my normal default behavior I sort of skipped reading the manual on this phone, so I really have no idea. I'll investigate and if I find anything, I'll let you know...

Monday, September 21, 2009

Don't fidget too much with hybrid systems

If you follow me on Twitter, you've seen my frustration that caused me to hard reset my Omnia Qwerty and start over this last weekend.

The direct problem was that ActiveSync kept complaining about not having enough free memory to sync. No matter what I tried to find that took up space and delete it, I could not get this to work. I suspect a double figure Mb podcast I tried to download using the Podcast application on the Qwerty and have listened too lingered in some kind of cache.

As I had been fiddling around with "the edge between Windows Mobile and Samsung TouchWiz" when I got the phone, there were some tiny usability problems that made me decide to simply do a hard reset and start over. This post is mainly about those usability problems.

My recent experience enforced my view that compound hybrid systems usually have inherent instabilities and quirks near the composition interface. In this case: a Windows Mobile phone, made by Microsoft, with quite an extensive set of customizations and additions in the form of TouchWiz and related software, by Samsung.

I had tried to turn off TouchWiz off completely, to see if this would be my preferred way of using the Qwerty, then changed the theme, tried the installed Today Screen plugins, etc. I then found out that some of the default WM control panels and applications had been completely replaced by Samsung and that these applications (of course) kept their TouchWiz look, giving an ugly, hybrid experience. So I decided to switch back to full TouchWiz operation. This did however give me a message box about incompatible Today Screen plugins every single time I switched between Work and Life modes. I could not find a way to get this "back to normal".

So, in devices that are clearly based on the seperate efforts of two manufacturers to get to the total UX of the device, just don't fidget around with GUI settings too much, even if you think you know what you're doing. The edge cases apparently are never quite as rock-solidly tested as either the base platform on its own or the additions...

Wednesday, September 16, 2009

What is wrong with me?

Yep, there it was: the first nasty freeze of my new phone. This is a little computer, after all. It was ugly too: screen update failure, no initial reaction to anything including holding power button. However, it turned off eventually (before I took the battery out) and then would not turn back on. After removing the battery for a while it seems fine again. And all I was doing was enter a new calendar entry while having the phone connected over USB. <sign>

Also, I have been trying out more normal Windows Mobile usage, turning TouchWiz checkbox off so I get the normal WM6 start menu. However, this seems to give a silly hybrid, as Samsung has included touch based versions of some WM6 applications, left the originals, replaced some completely and left a couple. This means, no matter what WM6 theme you select, some setting dialogs and sub-apps still show up Samsung like, with the black background. Also, why does the Samsung start menu (which looks good, but takes a rather hefty 8+ Mb of RAM when running, possibly due to graphics) only have two color themes to choose from, that both have absolutely nothing to do with the WM themes? <sign>

I'll get my exact use of this thing sorted yet: will (have to) use it for the next two years, after all.

Tuesday, September 15, 2009

Omnia Qwerty: some first impressions

This blog post is not very structured. I'll just list a couple of points that pop into my mind immediately based on my first couple of hours with my new Samsung Omnia Qwerty. Here goes.

  • First things first: the *#0*# key combination works as advertised elsewhere, including working electronic compass hardware! In oktober Samsung has even released an SDK to access this and other internal sensors on their phones.
  • I like the way it looks very much. The red wavy line effect on the back looks cool. I like the way it feels a bit less: too smooth, too slick. Starts to feel sweaty really quick. The more non-slip back of the Kaiser felt better, I think.
  • The previous point also means that both the front and the back are immensely susceptible to finger print smearing (as expected, really).
  • Even though the TouchWiz interface takes a bit of getting used too - this phone does not really feel like a Windows Mobile phone with it on - and I still feel like a fish out of water a bit, I think it's a great interface for the general phone user. Much better than the regular WM experience. I think I'll continu to use it.
  • Also, I really like the private/work settings. The (default) work UI is the one shown here (I miss the Weather panel though?), while the(default) private one is the one shown here, which you probably know from other Samsung phones. Somehow this works well. The settings switch includes things like ringtone and sound/vibrate settings. So, as mandatory at my current work location, I have the Work profile set to vibrate only. Too bad it doesn't also include phone sound setting, but just the ringtone used. At least it takes only one hardware button to easily switch. It really almost is like you have two different phones.
  • Silly software gripe: what's with the zoom context menu? Sounds like a nice feature, but in the Opera browser - which as I used it on my Kaiser had a great zoom function itself - it seems to (partially?) block the application context menu items. Most irritatingly: I could get "Text Selection" mode active, but could not Copy anything, making text selection useless. me: next to the zoom arrows is a little context menu icon. Tap that, and you still get the context menu you'd expect.
  • Talking about copy/paste: why can't I paste a key into the wifi network configuration utility? I sure hope this device will not have the habit my Kaiser had of occasionally "forgetting" wlan network settings, asking me for a key again for networks that it should know already. I have a private note file on my memory card with settings like this that I would then quickly copy-paste. Here, it seems I will then need to manually enter the key each time...
  • The TouchWiz version of the SMS client seems nice (bit like the calender and contact list apps). Then why isn't there an email variant as well? This looks like the "normal" WM email client app to me. With the tiny scroll bar. And worse: no finger scrolling: this just selects text in the message body. So you have to use the tiny scroll bar to read your mail. Or at least, so it seems to me now.
  • Is there a way to make the font used in built-in apps (like email) to be smaller? It seems to have been beefed up, probably to avoid the "tiny unreadable text syndrome" due to the much larger than 320x200 screen resolution. However this seems to give me less characters per line than I had on my 320x200 Kaiser, which seems extremely backwards. Yes, of course there is, as the email application uses the Windows Mobile system wide text size setting. But of course Samsung doesn't give you access to this through TouchWiz and the default is... suboptimal. Turn TouchWiz off so you get the normal WM start menu when you tap the Start icon in the top left corner, then got to Settings, System tab, Display (or is that Screen in English?) and select a smaller size in the third tab. I'm using the smallest one now, and this makes the email client useable again.
  • Speed seems more than adequate. Maybe not as "zooming" as I was led to believe based on pure Mhz and pre-release hype, but it still feels very good to work with so far.
  • I really like the many sensors this thing has: 3D orientation, compass, proximity and ambiant light (in lux). It's really too bad that so little of the software involved seems to know about it though. I mean, when you place the device screen down on a flat surface all sound except explicit alarms mute (proximity/tilt sensor combo?) and the media player and photo viewer seem to automatically switch orientation. Other than that (and the LCDtest app and a quant little Dice "game" that shows a pair of colors dice that you can roll by shaking the phone...) there seem to be hardly any software that is aware of these sensors in any way. There really needs to be some kind of native support for these things in the OS, people!
  • Have I missed any option, or is it really impossible to have the Camera application take pictures with the front facing camera? Seems like an obvious thing to do, and I could so easily with my Kaiser.
  • I was a bit eager to try out the FM radio (first phone device I've had that has one built in) to maybe listen a bit of radio while at work, but it seems too bad that this will not be possible. Of course you need to use the earphones (as they are the antenna), but at work I have Omnia set to vibrate and this means the earphones are dead. I only hear something when I set the phone to play sound. Wouldn't the earphones override this? What do other phones do here? This is my first phone where I have earphones included and the first time I ever used them...
  • Positive surprise: the Connected Home application. This seems to be a DLNA/UPnP (not sure exactly which, or both) client/server. It only works over wifi, but I could select my home NAS and start streaming The IT Crowd episodes that are stored there. Very pleasant surprise. Also, I saw my mobile phone listed in the Network Browser of my Philips HDTV. Could not see anything, but that's because sharing is not turned on by default (smart move). You can select folders to share, so you could for instance start this application and start browsing images/movies on you phone using your in-home multimedia setup automatically. Cool!

This list seems to contain way more negatives than positives, but this does not mean I don't like the phone. It could just be so (very) much better, which is as expected, but still too bad.

Anyway, more news as it happens. This is a bit of rough week for me so far, so I'm not sure when this will be exactly. In the meantime, feel free to ask for specific things (here in the comments, or on Twitter) and I'll try to answer if I can.

Monday, September 14, 2009

I have my Omnia Qwerty

It was delivered around 13:10 local time (very nice ETA, I'd say). However, at work I had no time to play with it, except insert the battery and SIM and plug it in to charge the battery.

Also, the PC at work BSOD'ed on me when locking it before going to lunch and apart from some meetings I've just been struggle with the bastard ever since. Lost my full XP profile (again, twice even!). So you understand why my mood could not be any fouler at the moment. I'm just going home now..

More phone information might be forthcoming tonight, but it could very well be tomorrow or even later this week. Will definately try the LCD test program that should show off the electronic compass as one of the first things, I think. In the meantime, questions in comments might get an answer.

Thursday, September 10, 2009

A bit more patience

Even though I did not get an email this time notifying me of a later delivery date I noticed the estimated delivery date on smartphoneshop.nl is now the 12th of september. I just called customer support and they confirmed this: delivery on saturday or possibly even tuesday. Had them reset the address to my home address again and will continue waiting...

Wednesday, September 9, 2009

Compound virtual game controllers?

I am looking for something that I suspect popped up in hardcore gaming already but I at least have never heard of yet.

Is there software for Windows that lets you combine inputs from two or more controllers into one new virtual controller? This one controller should then be usuable through the Windows game controller support for legacy software that only supports one single joystick.

Legacy Windows Joystick dialog

Check out this Stackoverflow question for more information.
Please answer anything useful there (or comment here).
Thanks!

Wednesday, September 2, 2009

Samsung Omnia Qwerty count down...

Well, it's almost time.

Yesterday I phoned Smartphoneshop.nl about the Samsung Omnia Pro that I ordered, apparently rebranded in the meantime to be called the Omnia Qwerty. Its estimated delivery date had already slipped two weeks earlier, so I just wanted to make sure. It turns out that by their information I should still have it delivered into my hands on friday.

Of course after I twittered about this I noticed that now "the world at large" seems to be watching me. Thanks @Chippie! ;-) All because the Netherlands seems to be one of the first countries in the world where the Qwerty is actually released.

Quite a number of people around the world are waiting about news about the Qwerty from actual users getting their grubby little paws on them and actually using them. If you're one of them, just keep watching Twitter and this blog and you'll definately get to know about my experience with the Qwerty (good or bad). I'm especially curious about the *#0*# feature that shows off the digital compass hardware.

<fingers crossed="true">I sure hope I won't be having teething problems with this one, like I seem to have had with my current Kaiser, because I (again!) have an early one off the assembly line...</fingers>

Tuesday, September 1, 2009

IE8 keeps forcing Bing on me

Disclaimer up front: this is only on the single workstation at my current client, which definately seems to have some software rot related issues; no other XP or Vista PCs I've ever seen IE8 on has ever shown me this problem. Still... it's very annoying.

Anyway...

Yesterday morning logging into the XP machine I work on took quite a lot of time. It turned out this was because of Internet Explorer 8 being rolled out. I was (and am) happy with that, as generally I quite like IE8.

However, after going through the Welcome To IE8 wizard, I was surprised by the following dialog:

I did not even have Bing as a search provider before. Still, I know this machine to be sort of freaky software-wise, so my initial reaction was "Cool... And even though you apparently added Bing, thanks!" This of course changed when I noticed this:

  • In the dialog that opens, I cannot make Google my default search provider; that option simply seems to do nothing.
  • Also, I cannot delete the Bing search provider; that option is greyed out.
  • Finally, I keep getting this message every time I start IE8.

In essence, IE8 now forces me to use Bing to search, unless I remember to manually change the search provider when I start entering something in the search box. Also it keeps reminding me that it is forcing me to this each time I start IE8. And to top it off, it keeps blaming some other piece software as the reason for this.

If I were inclined to Microsoft bashing, I'd be doing a lot of it right now, I can tell you...

P.S. If you have any ideas on what to do about this, please contribute on Superuser.com.

Friday, August 21, 2009

Le Chatelier's Principle for complex systems and the Fundamental Failure-Mode Theorem

Ehh... what...?

As (nearly) always the blog entries by Raymond Chen are very good; his latest one is about a number of books he has on his "to read" list. That's a concept I'm very familiar with by the way...

Two principles he mentions (especially the second one) seem to exactly coincide with one of my views of this world: When you start to think about it, it is actually amazing how much is happening without problem:

The most important lessons I learned are a reinterpretation of Le Chatelier's Principle for complex systems ("Every complex system resists its proper functioning") and the Fundamental Failure-Mode Theorem ("Every complex system is operating in an error mode").

At least it's clear that - apart from Expert F# which I started reading yesterday - I still have lot left to read...

(Originally posted in Dutch on the 17th of april 2008.)

Cool: My article got translated and expanded upon!

It happened almost a year ago already, but Peter de Jonghe seems to have translated my article on BlobStreams to English and expanded the subject matter a bit to generalize the method to more than just SQL Server image blobs. Cool! (Originally posted in june 2008.)

Do you like 'casts? I don't...

Please check out my comment on Stack Overflow on 'casts. Is the increasing number of 'casts based on people generally loving to consume information in that format? Or is it just that it's less hassle for the publisher to just hit "record", start yapping and dump the bits somewhere afterwards? Do you like the "personal broadcasting" way (or as I call it "lazy blogging" way) of supplying content on the interwebs like this? Or do you share my view on them and think it wastes your time, hampers you and makes the information content generally less available/useable? What do you think? (Originally posted in july of 2008, but I still think this way.)

Ancient hardware/software...

Someone has written a description on how to enable printing from HP calculators. The hardware device (a small battery operated IR connected thermal printer) that HP made for this seems to have been terminated a long time ago, but I did write an MS-DOS application more than 10 years ago to emulate it. Apparently that piece of software is still the best way of getting hardcopy output from a HP calculator at this time (taking trouble to run it in an MS-DOS emulator, as it does not seem to run in XP+). Maybe I should try to find if I have the source code of it somewhere (or just use the printer code information on my own site to work from scratch) and construct an up to date application written in .NET to emulate the printer under Windows...? What do you think? (Originally posted in july 2008 and apparently my ancient MS-DOS only emulator is currently still the best bet for printing anything from HP48 or HP28 calculators if you don't have the actual hardware!)

What's with the "repost" tag?

I have just started this weblog and will (also) be posting some things I have posted elsewhere before. These items will have links back to the original location and a repost tag. Just so you know.

Oh no, yet another blog? Yes...

Welcome, everyone! I have been blogging at various locations for quite a while now, but that was all kind of haphazardly (for lack of a better word). Personal stuff, programming related stuff, English, Dutch, and all that intermingled. From now on this should be a thing of the past! My weblog at Microsoft Live will remain a personal blog (with most or all of it in Dutch) and this new weblog should contain more work related ramblings in English. This can be .NET related, programming in general, experiences with devices, conference news and notes, etc. I will look through other blog locations for potentially interesting info from my past and crosspost that here. So expect some potentially dusty items to appear here first.