Subtext – ‘Item with the same key has already been added’ error fixed (hopefully)

Many people visiting my site (myself included) have stumbled upon this error message:

subtext_error

I took some time yesterday and, since Subtext is an open source project, I looked into the code trying to find what’s causing it, and fixed it. I don’t know Subtext’s architecture all that well, so I may have broken something on the way. My error log shows no exceptions (as compared to quite a few a day before the fix), so either people stopped visiting my site, or I fixed it smile_regular without breaking anything else.

If I’m wrong, and you do find any errors on the site, please leave a comment under this post.

Technorati Tags:

The Lord of the Rings live in Kraków

I just love living in Kraków. There are so many incredible things going on here all the time. Yesterday I went to Błonia, to see one of the most spectacular shows I’ve ever seen.

As a part of the 1st Film Music Festival, Błonia were changed to giant open-air cinema, where Peter Jackson’s The Lord of the Rings: The Fellowship of the Ring was screened. The best part however, is that the complete soundtrack was performed live during the movie. The orchestra + choirs summed up to total of almost 300 people on stage. You can get a taste of how it looked like on this video.

 

This video however, does not give the awesomeness of the spectacle.  The difference is I’d say comparable to playing a racing game, and driving a racing car. It was so incredibly breathtaking that I lack words to express it.

DSC00046

The music was so precisely synchronized with the movie, it was so… alive, it took the movie to whole new dimension. I’ve seen the movie like, four or five times before (once in cinema when it first came out, and then on DVD), but this was by far the greatest movie experience of my life. To say that I’m deeply impressed would be a huge understatement.

 

Globalization issues

Globalization is a serious issue if you create a software that is to be used worldwide. You may for example take into account that people have non a-z letters in their names, like for example ‘ź’. If you don’t consider that, your users may come across windows like this one, I saw while registering to Windows Live Spaces.

OLW

So what should I do? Lie about my last name? And the funniest thing is: there’s no ‘ź’ on the list of forbidden characters.

Technorati Tags: , , , ,

Books

This week I received my most recent purchase from Amazon. (HINT: You can use the wl-btn-74-b._V46774601_  link to see some more books I’d love to have… and even buy some for me smile_regular).

Here’s what I bought:

DSC005472

  • Code Complete 2nd edition. With Jeff Atwood advocating it so much, it was not a hard choice. I actually wanted to purchase a book that would generally provide proven practices, and high level overview of programming in a language agnostic way. This seems to be it, and even more. The book is said to be one of all-time-classics of computer science, and so far (I’m in the 6th chapter) it lives up to this promise.
  • CLR via C# 2nd edition. That’s the only platform specific book I bought. However, it’s not yet another “learn C#” or “Learn TreeView Control in .NET 2.0 sp1” kind of book with very narrow scope. This kind of books tends to get out of date very quickly. CLR via C# is a comprehensive insight into inner workings of CLR. It’s the book to read, to get thorough understanding of various aspects of the platform.
  • I also wanted a book about agile development methodologies. That’s the topic of my master’s thesis, and also something I’m deeply interested in. The problem with most books on the topic however, is that they contain a lot of hype, and little real-life advice. The Art of Agile Development, seems to stand out from the crowd promising sober look at introducing and practicing Extreme Programming.

All in all, I’ve only skimmed through all the books, so I can’t say much about each of them yet, but I am content with the choice I’ve made. I’ll share more insight as soon as I read them.

So. What would you recommend for the next time? smile_wink

Technorati Tags: ,

Is Subtext project… dead?

I’ve been using Subtext for this blog since its very beginning 10 months ago. Back then I installed what was the latest version (1.9.5 with later security-fix). I was pretty happy with it. I don’t have high needs: it is supported by Windows Live writer, is stable and just works.

opera_errorHowever I’ve been receiving emails from people complaining that they cant post comments to my blog. I checked the issue, and I was able to reproduce it, with error message presented on the screenshot. I googled for it, but I didn’t find out anything useful. I decided to upgrade my blog installation to latest build hoping, that this would fix the issue. Meanwhile I wanted to backup by blog to BlogML, in case something went wrong, and it turned out, that this function is broken as well. I received error message complaining that operation can not be continued, because it couldn’t find some .png image. Anyway, I upgraded to latest 1.9.6 build, but it didn’t fix any of the issues. All it changed, was that now, while exporting to BlogML I get other error, saying that my connection string is wrong. This got me mad, because now I’m tied to Subtext, and there’s no other easy way to migrate to other blog engine without loosing my content.

While I was poking around, looking for solution, I discovered few things. With Phil moving to be the PM of Microsoft’s MVC framework, it looks like Subtext may be a dead project now.

Last Phil’s contribution was 5 months ago, and his last contribution to trunk was 9 months ago (roughly the time he announced he will join Microsoft). There are other contributors as well, but still, the project hasn’t incremented from 1.9.5. to 1.9.6 yet, and it’s been almost a year since last release. Fast look at their build server, reveals yet another issue: there hasn’t been a successful build of Subtext 2.0 for almost 6 months. This all makes me think, that while Phil apparently doesn’t have the time to contribute to the project, it will soon share it predecessor’s (.TEXT) fate.

 

Technorati Tags: ,

Anything unusual?

Ok, seriously – I might be just the only blogger in Poland that hasn’t written anything about Nasza-klasa.pl in the passing year. It’s basically social networking site where you write all schools you went to, and it helps you find people from the same school, the same class and so on. It’s been a huge success here in Poland, and everyone is talking about it, even my mom knows what it is, and that’s quite an achievement.

Well, anyway – my wife seems to like it, and she spends quite a lot of time there, and she found this on their main site (image not shown, as you may not want to see it. I warn you, don’t open it when you have kids around). I find it hilarious on one hand, and striking on the other hand, that although they seem to have no filtering whatsoever, they still allow this to their front page, where claimed four millions of their users can see it.

Technorati Tags: ,

Technical books and blogs

I’ve just listen to new .NET Rocks podcast with Don Box, and Chris Sells about, well – about myriad of things, but main topic was technical books and ways of learning new technologies. They mostly focused on shrinking market of books, as blogs become more popular and people gain their knowledge from blogs more and more and less from books.

However, I thing there is one difference that they barely touched, although it’s the most important one. There will be place for books, and not only as a way to get the zen of a technology, but as a way to be introduced to technology. Every technology, weather its a new language, framework, or tool, has a set of basic things you need to know, pitfalls you should avoid and best practices, like ‘when you do lot of manipulations on strings, use StringBuilder’. Sure – you can find those kind of information on the blogs as well, but it’s scattered, fragmented, it’s easy to have white places on your map of understanding, when you learn only from blogs or, podcasts.

Book on the other hand (at least introductory books) is written with the purpose to be complete map. It starts with the beginning and leads you through the various corners of technology to give you, maybe shallow, but more or less complete coverage of technology. When I read a book, I almost always read it from beginning to end, without skipping chapters, and I read chapters in the order.

Other thing, directly connected to the previous is: books are focused. Every blog (ok, almost) is focused on more than one thing. In other words, there is lot of information you need, but far more you don’t. You can use ‘search’ but still, it’s a hassle and it may filter out some information you need. A good example of such a ‘bloggy’ book, is ‘Effective C#‘. It’s 50 concise chapters, most of them few pages long about tricks and best practices to follow to write good c# code. Probably all of those tips can be found on blogs, but what if you want to look up something quickly? Will you google it up, and filter the information you need from the flood of answers, or grab a book, and look it up there, with confidence that you’ll find exactly what you need. In most cases the latter choice will be both, faster and better.

Next thing possibly not so important for everyone, but certainly for most people is – books are off-line medium. It has several important implications.

  1. I get easily distracted by IM notifications, incoming emails, and by blogposts by themselves. For example I read a blogpost, and there is some tool mentioned. It’s not important, but I’m tempted to skip reading, and go, grab it, install it and play with it. During this time I may completely forget what the blogpost was about.
  2. You can get a book and read it literally everywhere. Your book’s battery won’t die, because book doesn’t have a battery. You can read it in the sun, and it is stll readable, unlike on your laptop, you can even read it in places you would not take laptop with you, like in a bus or train (its a act of brevity of stupidity to use a laptop in Polish train).

My way of learning a new technology, is to read one introductory book, one intermediate, advanced, and then – when I have good idea what it is about – dive into blogs. And how about you?

Technorati Tags: , , , ,