Please click this logo to help me get on their beta program:

Xobni outlook add-in for your inbox








28/2/2006

No T60 in the UK?

Filed under: General — Oliver Sturm @ 8:31 pm - 2 years, 5 months ago

I was looking around for a computer that would be good to install Vista on and get into some WinFX programming, specifically the WPF part of it. My current desktop system is pretty nice to work with, but I’ve also had a higher priority for large desktop real estate and so I never got into those really fast graphics cards that are needed to do Aero Glass. My desktop system is no slouch, but it’s one of these systems that have been extended manually over years, and it really doesn’t work all that fast compared to machines I see other people use – anyway, Vista will of course have a number of new versions released over the next months, so I couldn’t install it on my main working machine for now anyway.

So, up to this point I had the impression that the only way to currently get into that kind of stuff would be to get a pretty fast desktop machine with a modern GPU. I found I was wrong – apparently there’s pretty good support from ATI and NVIDIA, and this also covers a number of the notebook graphics adapters, like the Mobility Radeon series from ATI and the GeForce Go series from NVIDIA. I had pushed the topic of a notebook away for the time being because I found the Vista thing more important, and I thought buying a notebook now would be a waste of money or at least the notebook would leave a lot to be desired when Vista actually comes along.

My idea is now to use a notebook to install Vista pre-releases on it, also Office stuff of course, do a number of presentations with it, all these things that one normally does with a notebook. And when Vista releases finalize, I can migrate the work I’m currently doing on my oldish desktop system over to the notebook. Good plan, I hope. Now, I was looking around for a notebook I’d like and I found the Lenovo (was IBM) ThinkPad T60. That looks like a great machine to me, it’s got the fantastic keyboard that ThinkPads are famous for, it can take 3GB of RAM and it has a GPU that’ll be compatible with Vista right now.

The drawback seems to be: it’s apparently impossible to get one in the UK! I wasn’t even able to get a quote so far – Lenovo links to a number of resellers, but none of these seems to have a T60 to sell. Hm… wait and see, I guess.  Anyone have convincing suggestions for alternatives?

Session proposals submitted

Filed under: General, Programming, .NET — Oliver Sturm @ 4:49 pm - 2 years, 5 months ago

DDD day 3 is on June 3rd, 2006, and last time there I promised I would submit a session proposal myself this time. Here are the two proposals I just put in – I hope they’re not so specific that nobody likes them :-)

Refactoring made easy with Refactor!
Refactoring is the process of changing implementation details of methods, classes or other code entities, to promote readability, efficiency and/or performance, without changing the external interface of the code entity. Refactor! is a product that allows developers to perform Refactoring right there in the Visual Studio code editor. The aim of the session is to give an overview of the features in Refactor! and their use in C# as well as VB.NET projects, and to provide an introduction to the extensibility model in the product.

Designing a model based application architecture
 Basing an application on a model is a good idea because it makes it very easy to modify those parts of the application behaviour that depend on model data. But creating a useful model and the framework architecture to make it easily reusable is not a simple task. This session aims to describe some of the basic decisions that had to be made during the ongoing development of the eXpressApp Framework, a reusable application framework being developed by Developer Express.

And by the way – they’re still looking for speakers, so make sure you submit your own ideas as well!

24/2/2006

ISA Server blocking access to my web server

Filed under: General — Oliver Sturm @ 12:24 pm - 2 years, 5 months ago

I guess some of you have noticed that my blog has been offline again for the past four days, after a similar problem two weeks or so back. I’m sorry about this, it happens randomly, apparently because of some funny problem in Microsoft ISA Server 2004.

The first time this happened, I knew at least that I had made changes to the firewall configuration at the point where the problem crept in, but this last time I’m pretty sure I didn’t do anything to the server at that time. In either case, ISA Server suddenly stopped routing in connections to my web server correctly – all access from inside, as well as other published services like SMTP continue to work flawlessly. I guess I’ll have to monitor this much more closely to find out what the problem is. The only way I have found so far to get things back to normal is to reboot the server – no amount of fiddling without a reboot has been successful.

Obviously I’ll try to find a way to stop this from happening, meanwhile if you have the impression that my blog is offline, feel free to drop me a mail quickly at oliver@sturmnet.org and let me know.

18/2/2006

DevWeek next week - drop by for a chat

Filed under: General, Programming, .NET — Oliver Sturm @ 7:16 pm - 2 years, 5 months ago

I’m going to be at DevWeek next week, at the Developer Express booth. We’ll be demonstrating the eXpressApp Framework, possibly also some of the other upcoming Developer Express products/product versions, like XPO, XtraCharts, XtraLayout Control, … Anything really, I guess. Mark Miller will be there, so this is also a great chance to get some first-hand info or demos for CodeRush, Refactor! or the free DXCore.

If you are there, drop by the Developer Express booth – I’m looking forward to a chat!

16/2/2006

dp.SyntaxHighlighter in Community Server

Filed under: General — Oliver Sturm @ 8:09 pm - 2 years, 5 months ago

I was trying to integrate dp.SyntaxHighlighter (the highlighting system that I use for my source code in this blog) into Community Server. I’ve never before had a look at the inner workings of Community Server, so I may certainly be missing something.

To integrate the highlighter into a blog, two things need to be done:

  1. A stylesheet must be added to (the head of) pages that want to use highlighting.
  2. JavaScript code must be added to those same pages, preferably right at the end, but certainly after all elements (normally textareas) that contain code that needs to be highlighted.

The first thing I was trying to understand is how CS builds its pages. I found that with the default blog theme, the main body of a blog post page is rendered by the file Themes\Blogs\default\BlogMaster.ascx. In that file, right in front of the tag </CS:Head>, I added my new stylesheet reference:

   <CS:Style  runat="server" Href="/syntaxhighlighting/SyntaxHighlighter.css" ID="Style3" Enqueue="true"/>

At the end, in front of </CS:MPContent>, I added the block of references to JavaScript code and also the final call to the highlighting code:

<script language="javascript" src="/syntaxhighlighting/shCore.js"></script>
<script language="javascript" src="/syntaxhighlighting/shBrushCSharp.js"></script>
<script language="javascript" src="/syntaxhighlighting/shBrushXml.js"></script>
<script language="javascript" src="/syntaxhighlighting/shBrushVb.js"></script>
<script language="javascript" src="/syntaxhighlighting/shBrushSql.js"></script>
<script language="javascript" src="/syntaxhighlighting/shBrushDelphi.js"></script>
<script language="javascript" src="/syntaxhighlighting/shBrushJScript.js"></script>
<script language="javascript" type="text/javascript">
  <!--
    dp.SyntaxHighlighter.HighlightAll('code');
  //-->
</script>

Obviously Community Server doesn’t normally allow the necessary textarea tag in user posts, so I had to edit communityserver.config and add the entry <textarea name = "true" class = "true" /> to the <html> list under <MarkUp>. That done, I was able to create a post with a textarea and some C# code in it, and it was rendered correctly by the dp.SyntaxHighlighter code. Great stuff!

Now, the bad news is that once the theme for the blog is switched, my changes are useless. Why’s that? I switched to the theme PoisonIvy/Fire, and although there’s no other BlogMaster.ascx there, it doesn’t seem to use the one from the default theme. Apparently it doesn’t use any BlogMaster.ascx at all. Oh well. I wonder if there’s another mechanism that makes it possible to make changes in a place where they’ll be used automatically for all blog pages, regardless of the themes. Nobody in the Community Server Forums seems to care, or maybe I’m using the wrong search terms.

15/2/2006

DVD recorders are not for me

Filed under: General — Oliver Sturm @ 8:56 pm - 2 years, 5 months ago

… apparently.

A few weeks ago, I decided to get my first DVD recorder. Yes, I know, I’m a latecomer – but up to this point I just never had the urge to record DVDs :-) So, as I’m also getting Sky+, I thought I’d do just fine with a model that doesn’t have its own hard drive, and as people kept telling me that “these days everybody has a DVD recorder, you can buy them for £49 at Tesco’s” I decided to go for a low-price Lite-On LVW5006. I got it from Argos for a pretty nice price and it arrived quickly.

Lite-on-lvw5006From all the internet reviews I had read, I had the impression that this machine should have one specific advantage in its ability to deal with just about any type of medium I could throw at it. Lite-On have a pretty long list of compatible DVDs online and there was an even longer list delivered in the box. As I needed to buy some DVDs anyway to start migrating my VHS collection to DVD, I got a tub of a type that was on the list.

It turned out that just about the only disc that worked reliably (about 90%, that is) with the machine was a DVD+RW of unknown manufacture that was delivered with the recorder. I ended up trying four or five different types of DVDs that I had around, and all of them had the same symptoms – if they were recognized at all, which happened on every tenth try or so, they worked just fine and I was able to record whole movies on them. Unless I made the mistake of taking them out of the drive, that is. In that case, for some unknown reason, the recorder never recognized the same disc correctly again, no matter how often I tried.

The lady at Argos was pretty friendly and had no problem taking back the machine, in fact they collected it the next day, and the money was back in my credit card account another three days on, so that was the good part of the transaction. Now I thought, next time I’m not going for the cheap option – I didn’t know whether the price was the real reason for the problems I’d had, but I didn’t want to go the same way twice. So I looked around a long time and finally decided to go for a Sony RDR-HX710. That one has a hard drive, it’s dual layer compatible and, which is apparently a rare thing, it’s compatible with DVD-R/RW media as well as DVD+R/RW. For some reason, most manufacturers seem to go for only one of these families.

RDR-HXD910_HEADON_imIt was a bit difficult to find a competitive price for the Sony in the UK, as for some reason it’s sold cheaper in continental Europe. Finally I found an internet shop called KRISH Audio Visual and they had the recorder for a nice price, because they were selling the “international” model that comes without the EPG (which I don’t need anyway). A few days later it turned out that apparently they didn’t have the recorder after all – they have friendly email contacts and they told me that Sony had problems delivering that model in any capacity, but that didn’t help me at all. I agreed to wait a while, as they were expecting new stock to arrive soon.

Well, the promised time span passed and nothing happened. I contacted them again and they told me they hadn’t had any new deliveries and could I possibly wait even longer? I looked around again for alternate offers in the same price range, found none and agreed to wait a bit longer. Today I went back to their web site and was very surprised to find the recorder in their product list again! They had temporarily taken it out, which seemed a sensible thing to do, seeing as they didn’t have it at all. Now that it was back, I immediately mailed them and asked if that finally signalled the end of the wait.

HX717B_de_web1The contact was happy to hear from me and he told me he was glad to be able to offer me the newest model instead of the boring old RDR-HX710 – the RDR-HX717 was now the recorder to buy, because it was an advanced version of the RDR-HX710 and it even came with EPG, for the same price! Luckily I was clever enough to look around for more information on this and I found that this is not really an advanced model of any other Sony… instead it’s some Philips machine that Sony buys and rebrands, and it has nothing whatsoever in common with their other models. While it does have an EPG I don’t need, it’s only compatible with DVD+R/RW, once again. It’s a model that’s only being sold in continental Europe so far, and it costs no more than €360 – the UK vendor wanted to charge me about 40% more by today’s exchange rate.

So, six weeks or so have passed since I first tried to get a DVD recorder. I still don’t have one, and now I don’t really know which one I want. I want a 160GB hard drive. I want compatibility with all DVD media types, apart from -RAM. I want a component interface, firewire and dual-layer compatibility. I want a device that can be made region-free. That’s it, more or less… for some reason, this is vastly difficult to find. Tell me if you have any suggestions!

14/2/2006

Developer Developer Developer day 3 has been moved

Filed under: General — Oliver Sturm @ 9:33 am - 2 years, 5 months ago

Great news: Apparently I wasn’t the only one to complain about the previous target date on June 10th. Now the event has been moved to June 3rd instead, one week earlier.

So now I’ll have to think about the session I’m going to suggest. I’ll see how it goes…

13/2/2006

Developer Developer Developer 3 has been announced

Filed under: General, Programming, .NET — Oliver Sturm @ 5:16 pm - 2 years, 5 months ago

It’s on June 10th, once more in Reading. Read all about it here.

I think this date is a very bad idea, because it’s the Saturday right before TechEd 2006 in Boston starts. I don’t know whether I’ll be going to Boston or not, but I’m sure this will reduce the number of participants and potential speakers vastly. I was planning to suggest a talk for DDD day 3, but now this won’t be possible for me in case I’m going to be at TechEd. Oh well.

DXCore live demo with Mark Miller

Filed under: General, Programming, .NET, Developer Express — Oliver Sturm @ 3:48 pm - 2 years, 5 months ago

Mark Miller demonstrates writing plugins for DXCore live in the latest episode of dnrTV. He sounds a bit hurried, but if you want to get into DXCore programming, this is definitely a Must View. And if you’re not yet convinced you want to get into DXCore programming, let me tell you of course you should. In either case, click here to view the show!

9/2/2006

Getting an Optimus Mini 3

Filed under: General — Oliver Sturm @ 9:45 am - 2 years, 6 months ago

I saw it on Mark Miller’s blog and immediately thought that’s something I just need :-) The Optimus Mini 3 is the first product that’s been announced with the new keyboard technology from Art. Lebedev Studio, where every single key has its own little display and can be remapped with its own animation, not only an image.

Optimus-mini-front-blackThe first announcement I had originally seen from these guys was for the full Optimus keyboard. I’m also still wondering if they’ll consider licensing the key display technology to others – I really hope I could get a model of my current keyboard with this key technology. Then again, maybe the idea of creating smaller “on-the-side” keyboards with these keys is a very good one… usually I never look at the keys while I’m typing on them, it’s more the utility functions that keyboards sometimes have to fulfil that make this key technology interesting. I never took the plunge to get an Ergodex DX1, but I’ve been thinking about it, and this kind of add-on functionality outside the scope of “normal” typing keyboards is obviously the selling point for that one as well.

The not-so-nice part about pre-ordering an Optimus Mini 3 is that their shop works only in IE, and then they have this slightly funny payment system, where you have to enter your credit card details in a normal fashion for an online shop, but then you’re supposedly called back by someone to confirm. At least that’s what they tell you before the order – actually the process ended for me saying that a credit card payment couldn’t be accepted for my order, for no apparent reason. I’ll see what I hear from them.

Update: Apparently there were technical problems with the online shop earlier. I got a reply to my support request asking me to order again now. I did that and this time everything went just fine.

8/2/2006

Use Go To Definition in VS 2005

Filed under: General, Programming, .NET — Oliver Sturm @ 2:55 pm - 2 years, 6 months ago

A question I heard this morning made me remember this, and I thought it might be one of those improvements that many haven’t noticed yet. In VS 2005, the “Go to Definition” functionality has been improved an awful lot, in that VS creates a source code representation of class and interface definitions instead of showing some obscure information in Object Browser.

Trying this on IList<T> gives me this output, for example:

Gotodefinition1

The ellipsis symbols can be expanded, and they hide the XML comments on the members, which make the declaration even easier to understand intuitively:

Gotodefinition2

6/2/2006

Getting the number of items in an IEnumerable

Filed under: General, Programming, .NET — Oliver Sturm @ 8:54 pm - 2 years, 6 months ago
int GetCount(IEnumerable enumerable) {
  int count = 0;
  foreach (object o in enumerable)
    count++;
  return count;
}

It’s that simple, right? Well, no, it isn’t. What you have to realize is that in contrast to ICollection, IList or IBindingList, IEnumerable is not an interface that’s by definition used with some kind of list or collection.

IEnumerable (or rather IEnumerator, to which IEnumerable gives you access) is an iteration interface, a small but potentially important difference. The members of IEnumerable are really boring: just one method called GetEnumerator. That method returns IEnumerator and that one has exactly three members: Current (returns the element at the current position), Reset (sets the current position to the start of the iteration (really even before the start)) and MoveNext (move to the next item). It’s clear, really, that these methods can theoretically return any number of items – they are not necessarily meant to have a pre-defined end. Consider that the interface may be returning data from some kind of live data source, which will probably go on delivering data forever.

So, it is simple after all: if you want a count, you have to make assumptions about the nature of the IEnumerable implementation you use. As we all like compiler checked code, you shouldn’t make assumptions, because those are by definition not proveable – or they would be deductions. If you think you know something about the type that’s being passed in, apart from that it implements IEnumerable, use that information to modify your method definition, e.g. by using ICollection instead of IEnumerable.

If you find that you need a count, you know you can get a count, but you still think there’s no other way than using IEnumerable, then your design is flawed. Go fix it now before it gets worse.

3/2/2006

Hi! I want to make a program that knits elephants.

Filed under: General — Oliver Sturm @ 5:55 pm - 2 years, 6 months ago

Can you help me?

Don’t you love those newsgroup posts? Granted, this is not a real world example (at least I hope it’s not), but why do programming newbies always

  1. neglect to assess the complexity of the arbitrary problem they just came up with
  2. assess the complexity of the problem wrongly – far too low, that is
  3. assume it can’t be very difficult if only they find someone to “tell them how to do it”

I don’t want to rant, I find this really interesting. Maybe we’ll all be able to create better computer applications or even programming languages/frameworks if we understand why people think the way they do about computers. I’m sure there are psychological articles about this out there, but I didn’t go look for them.

I don’t understand (1), because if I have the idea of making a new hobby out of jumping from helicopters with a snowboard on my feet, I don’t fool myself by assuming it’s just a matter of tumbling out and falling downwards. Maybe it’s me, do other people do this? Accepting the fact that the problem won’t solve itself, I can’t help but think… and assess complexity. No way around it. Is there?

I don’t understand (2) because in the face of a problem that I know absolutely nothing about I don’t tend to assume that it’ll be extremely easy. Hell, any office clerk is used to the idea that it’s better to assume all tasks are a bit more difficult than they appear. Why is rocket science proverbially difficult, but a problem involving writing a computer program by definition simple?

I don’t understand (3), but I’m sure that’s because I don’t understand (2).

2/2/2006

So what did I do today?

Filed under: General — Oliver Sturm @ 6:39 pm - 2 years, 6 months ago

SnapperInAction

Sometimes you ask yourself what you did at a specific time of a specific day – those of us who ever worked as consultants or contractors of any kind know that situation. Only recently I found TimeSnapper, which is a great tool that takes regular snapshots of your desktop. It stores them away in a pretty well compressed format, so the archives don’t take up too much space. And it includes a nice browsing applet that lets you go back in time on a slider and shows you the snapshots taken around that time.

TypometerToday I remembered that I once knew a tool that could count keystrokes – just for the fun of it, to see how much one types in a day. I went to look for it and I found it: Gabe’s TypOmeter v2. And while I only remembered about the typing stuff, I found that it has been extended to collect an enormous amount of information, silently in the background while you work. It has a lot of statistics about the keys you type most often, the ones you mistype most often, which applications you used at which point in time and all kinds of things like this. If you look at the page, be sure to click on the detail links about the various features, it’s worth it.

1/2/2006

Helping a worm do its job

Filed under: General — Oliver Sturm @ 7:55 pm - 2 years, 6 months ago

That guy is just pretty cute :-)

Next Page »

Powered by WordPress
© Copyright 2005-2008 Oliver Sturm