Sunday, 27 November 2011

My WPF Localization Solution

The world awaits
I ran into a need to have my WPF application support multiple languages, to prepare it for its big day day when it finally becomes the hottest product in China or at least in Burkina-Faso.

There are plenty of localization solutions out there. I've been searching for the optimal way to make my application multilingual, and being the lazy developer I am, by "optimal" I usually mean optimal for me (i.e. the developer):
  • I want all the texts to change to the current selected culture automatically.
  • I want to retrieve additional resources, such as images, for a specific culture. 
  • I want to be able to add new multilingual resources to my application without effort.
  • I want all multilingual support and resources to be reusable in a separate assembly.
Article Level:
Not quite rocket science

Thursday, 24 November 2011

3 More Lecture Recordings

3 More screen recordings of lectures. These were recorded in the Telerik Academy between 14th - 21st of November 2011.
My fearless .NET ninja students get things quite quickly, but nevertheless I always do my best to get the messages through, debug and demonstrate so that every bit of information presented is clear.
A demo of the TeleTris console game, which I wrote about in the previous post, is included in the recording about conditional statements (it's a short lesson anyway).

Wednesday, 23 November 2011

The TeleTris Console Demo Project

One of the projects provided as demos for my class at the Telerik Academy was a console implementation of the classic Snake game (they named it JustSnake). You can see it and some of its code on the screen recording of my lecture "Console Input and Output", which I will share here very soon.
It inspired me to build my own little demo console game. I chose yet another classic game - the originally Russian Tetris, which I named TeleTris. It took one evening of coding and debugging and I must say I am quite satisfied with the result

Article Level:
Reasonably moderate

TeleTris In Action
Of course I'm attaching the full source code solution (and pre-built executable) here for anyone who wishes to download and play.  Note that in order to run the executable, you will need to have the Microsoft .NET Framework (4.0) installed on your machine.
Everyone is free to suggest improvements and bug fixes. I am aware of some minor graphic bugs and of the fact that the game's responsiveness could be improved, but for a single evening of work I think it's ok.
Here's a small screen capture of TeleTris in action. Click to open the animated version:

Sunday, 13 November 2011

Teaching at the Telerik Academy

Last week I joined to the group of lecturers in the Telerik Academy (Bulgarian site), a school operated by the company I currently work for, Telerik, which offers a variety of technological courses for free, for anyone who is interested to learn. And it seems many people are interested. Literally hundreds. The courses are aimed for people without any prior knowledge or experience, and cover a wide range of software-related subjects, such as programming languages, web technologies for frontend and backend development, software testing and others.

Some of the motivated students with the best grades are offered to join the company at the end of the course for a variety of positions. Others can still enjoy the training which is presented by experienced software engineers and obtain a professional programming skills which they can use in any way they want, absolutely free of any charge. Some of the courses are accompanied by books which are available in their digital format for free as well, such as the C# fundamentals book which accompanies the course I am teaching.

I love teaching. I've been teaching and managing professional programming courses as far back as 1998. When I heard about the courses in the Telerik Academny, I was happy to propose myself as a lecturer and even happier to know that I'm accepted to join the staff.

Saturday, 5 November 2011

Using ADO.NET Entity Framework 4.1 with SQL Server Compact 4.0

WTF and Why?!!
ADO.NET Entity Framework, an object-relational mapper (ORM) built into the .NET framework, provides an easy way to map your classes into a database tables and vice versa.
I've been working with with Entity Framework CTP 4, and have now upgraded my project to use the final released version 4.1. I'll provide here a small proof-of concept which I've built in order to chart the important bits and pieces.
Article Level:
Not quite rocket science

Tuesday, 23 August 2011


It's past 02:45 AM, the perfect time to start a blog.
I haven't written anything publicly in a while. Probably since I was leading and managing a forum of software developers (which does not exist anymore) on a popular-yet-crappy Israeli portal around 2002 A.D..

!שלום, עולם
Hello, world!
Здравей, свят!
I am Alon Rotem, an Israeli living in Sofia, Bulgaria. An amateur musician, a professional software developer and a geek wannabe.
More about me can be found on , and . Sorry, I don't ..

What is this blog?
I hack, crack and script all the time. I constantly write computer programmes, scriptlets, bookmarklets, macros, batch files and other automations regardless of whether they are needed or not.
Starting from BASIC programs on my first computer, my dearly beloved long lost Atari 800 XL, through smart automation scripts on the mythological mIRC chat client, useful Microsoft Office macros, down to the latest .NET framework Windows and web applications.

I intend to use this small virtual piece of cyberspace as my public notebook for scripts and sample programmes I often build. Someone may find them useful.
Random thoughts and posts about subjects other than code may also appear without notice.
This blog will be mainly written in English and L33T, as those are the official languages of geeks worldwide.

Happy coding.
Do help yourselves to booze cabinet.

Bach's Well Tempered Clavier's Prelude & Fugue in C# Major played by Glenn Gould