foo

Mark's Blog A developers point of view

2May/110

How to free yourself from being too busy

How many times have you heard: "No, sorry, I'm just too busy!" or "Oh I'd love to, but I'm just too damn busy!". I heard it countless times and I must admit I have used the phrase a lot myself. But being "too busy" is only in your mind. And when you realize this and look at it differently, it will make you so much happier!

When you respond to the question: "Wanna go to a bar tonight?" with  "I'm too busy" it is not a matter of having too many things to do. It is a matter of you assigning a higher priority to what you are going to do in relation to going to the bar.

There can be many reasons why you don't want to go to the bar; You have promised your parents that you would visit them, you wanted to hit the gym (because you really, really needed to), you wanted to have a night off because of your hectic workweek, finally had time to watch that movie you wanted to see or you wanted to spend some quality time with your (girl)friend. All valid reasons not to go (it's a free country!). But you can't claim you are too busy. You just assigned a (much) higher priority to the other things than to 'going to a bar', which results in you not being able to go to the bar. This prioritizing is by your doing alone. Not because you have 'too much to do'.

So instead of  "I'm sorry I'm too busy" you can go for  "Because I really want to <have a night off to refuel> I choose to do so instead of  <going to a bar>".

This example can be applied everywhere. In your personal life, in your daily tasks, everywhere. Yes, even at your work! Everything is just a matter of prioritizing and the moment you realize this, you can start using it to your advantage. Simply turn your thinking and responses around 180 degrees. Stop saying you can't do and start saying you want to do something which is more fun/important/relaxing/whatever. This has a more positive bite to it. And the funny thing is, our brain is wired to make you feel better even when you only say you are doing something positive. So when you are saying you can't do something you will feel negative, whereas saying you choose to do something else will make you feel positive and you'll enjoy it even more. It's that simple!

So next time when someone asks you to do something with them, decline by saying what you are going to do instead and make it positive. As a bonus that someone might even consider doing that with you instead! ;-)

Filed under: Life, Work No Comments
12Apr/110

10 ways to know you’re actually a great developer

This post might seem as stating the obvious. But for a lot of developers it is not as easy to assert their  own value to the company, community or world they live in. Despite what others think of them! In a nut shell: Great developers have a knack  for greatly help progressing a  project they work on in unexpected (or unintended) ways.

At various moments during my work in the past years I encountered quite some of these positive contributions in work either created by others or by myself. In one of my recent "Eureka" moments I decided to brainstorm a bit and write them down so others might recognize them in themselves or in others.

As an added bonus, I also describe what the default behavior would be in such a case so you can avoid the pitfalls.

(Please note that the list is not in any particular order!)

1. You start 'decompiling' the problem while it is described to you. Even before you started actively working on it.

Someone describes a problem to you, and you immediately start taking a step back in your mind and create a birds-eye perspective of the problem. You start to look at in an abstract way, in terms of components or parts working with each other. You start asking questions, not about how it would function, but how certain sub-parts need to function to make the whole system work.

Standard Behavior: The default mode when a problem is described to you is just listening to what is said. Afterwards the developer starts to break down the task into subtasks. When you're just starting in the programming world, it isn't all that abnormal that you can't do this immediately. It's like reading between the lines in a language. When you start learning the language, you won't notice the subtleties.

2. During a project people start to rely on you for information or resources

Normally you receive tasks and complete them in the allotted time and continue to the next task afterwards. However when you get more information about a project, and can order it right in your mind, the project will start to become an entity which can shape and form into something more. You create a  'bigger picture' for yourself about the code as well as the project as a whole. This unique perspective can be very helpful to your fellow developers, management, stakeholders or third parties needed for the project. This is a quality that is very, very, useful (if not required) for Technical Leads, as they are required grasp the bigger picture and act on it.

Standard Behavior: Developers stay within their scope of the problem. They solve what is asked and wouldn't think any further.. Beyond the problem itself and how his code will affect other parts of the system. This is probably a mindset, some switch that needs to be flipped. Or just a general lack of interest in the company (if the last one, get the hell out of there!). Of course the right mindset is no guarantee. It is entirely possible that there is no need for your unique perspective. So there will be no relying on you.

3. Coming across a difficult problem, you take out your notepad and scribble things down

It is virtually impossible to create solutions purely in your head. You are bound to make mistakes or forget things you thought up earlier. When you realize a problem is too large to fit in your mind, you quickly fetch your notepad and start writing down the problem and it sub-problems, tackling every sub problem one at a time.

Standard Behavior: The developer will probably think of something that is a step in the right direction, but won't entirely solve the problem. He will continue on the path and come across a new sub problem, and another one, and another one. Eventually they will either create (working?) spaghetti code, or end in an endless coding frenzy.

4. You discuss solutions with someone (or yourself; explain it to the duck) before definitely going for either solution

The first solution might not (probably won't!) be the best solution for the problem. Coming up with multiple solutions and discussing them is key to getting the best result. When having multiple solutions, you can choose what is best. And, you have a reference which can helps you choose.

Standard Behavior: Think of a solution and go blindly for it. The solution is easy, just think of more than one solution :-)

5. You don't just say "No!". You say "No! But we could..."

They say it is hard to say 'no' to something. Although this is certainly true, it is also true that when you do say no without anything else, all progress will halt and you go into a yes/no debate. Giving an alternative solution or suggestion goes a long way.

Of course this doesn't really count for obvious situations where you are required to do an 8 hour job in 2 hours. Although in this scenario you could say: "I can't complete this task in 8 hours, but I can give you <part of the job> in 2 hours".

Standard Behavior: Just yelling and screaming (well maybe not yelling and screaming...) that something isn't possible without giving an alternative or reason.

6. You just know an idea stinks, but can't quite formulate what it is... Yet!

When a task/job is described to you, your gut wells up and you feel it is wrong in so many ways. This is something you act on. You find out where this feeling comes from. It is important you do this, because the feeling comes from somewhere. You don't rest until you find it. And when you do, you find out it is a fundamental problem of the idea. You suggest an alternative or fix to the idea which might be something seemingly small, but can have a large impact on the whole project.

Standard Behavior: Ignoring the gut feeling.

7. You know when it is time to call in the cavalry.

When knee-deep in the project, you find out the work is much more than you thought at the start or you realize you don't know everything you need to know. You realize the project is important so you ask for help. This can be done by either asking for more coding power (when there is more work) or asking  for help on the topics you lack knowledge of.  You don't just "grunt through it" as it will probably create spaghetti code. If, despite your warning, you are asked to continue the project anyway, you know you can fall back on this statement later when the proverbial feces hit the proverbial rotating blades. You could also decide to cut your losses and quit the project to protect yourself.

Standard Behavior: Continuing as you where. This is very normal and safe behavior.  And for a while it seems to work. You continue because you don't want to let your manager/boss/client down. But while you do so you might end up not making the deadline. Most of the time fear plays a part in this scenario as well. When you ask for help it feels like giving up or acknowledging that you are weak or incompetent. But thats not true, you just acknowledge the task is not a 1 man job, or requires some specific knowledge that you don't yet have.

8. You say so when realizing you can not deliver what is asked

Some projects may seem right up your alley, but soon you realize you didn't had all the information required to make a good assessment. This is the time you speak up! It takes balls to do so, and it probably won't be an easy conversation. But you know that  for both parties it is the best thing to do. You know that it is best for yourself too, because when you continue, you will end up with a lot of extra stress which could be prevented.

This one may seem like the previous one, but has a fundamental difference. In the former we speak of lack of  information or time. In the latter the problem lies within the core of the project. Something that can not be solved with extra information or manpower.

Standard Behavior: Just continue and grunt on. Thinking you will learn as you go along.

9. You complete tasks more quickly than others

Last week you were working on a task and after lunch your manager came to you and asked you and your colleague to do some quick things on a project you are both very familiar with. In a rather small amount of time you rush through the requests and you go back to your regular work. After a while you notice that your colleague has only just finished his tasks. Strange, but he probably had something that turned out to be more difficult. Over time you notice these kind of things more and more. Still strange? No not really, you are just a great developer, one who has knowledge and experience and knows how to apply it in different situations. And as a result finishes all kinds of tasks more quickly. It seems a bit cocky to say. But you can measure your skill level by comparing how you perform in relation to your peers.

Standard Behavior: Well this one is kind of obvious, you don't do things faster than others :-) The solution? Practice makes perfect! So code some more, explore the program some more, experience with certain features.

10. Creating sound code, even when you think you created absolute horsecrap.

Some times you are forced to create some code in little time. Despite the fact that you meticulously insisted on the fact that it can't be done in the alloted time, your boss/manager/client forced you to create it even if it would turn out to be crap. You start the work and are not proud of what you created. You feel kind of miserable with the work you delivered and in fact, you all you want is to remove the code and make it right. However, after a few days when you receive some requests for (seemingly huge) changes to the code you created, you  find out you can make those changes quite easily because the code you created actually had structure in it and was made orthogonal to other parts so the changes where as easy as pie.

The lesson learned from such a revelation is that despite the fact you had to rush your work and probably won't get to be your finest work, you (subconsciously?) applied all your knowledge and created something developer worthy.

Standard Behavior: Ending up coding by coincidence or creating spaghetti code. This is done because it is thought that the time constrain trumps everything. Just start coding and all will be well is the general approach. As with decompiling while discussing a problem, you can't do right away. It takes time, knowledge of the programming language, experience and a way of thinking. Of course you can prevent creating spaghetti code and preventing coding by coincide by thinking before you do.

 

That sums it up! 10 ways to know you're actually a great developer!

Now don't think you're a bad developer when you don't recognize all of them, or maybe even only a few of them. It doesn't mean you're a bad developer. There are tons of reasons you haven't experienced them. Maybe you just started in the development world. Maybe you switched to another programming language and don't know the details of the language. Or maybe the company you work for is just not the right company for you. Or, of course, you're just really not that good a developer ;-)


Filed under: Programming, Work No Comments
9Nov/101

First Employer Syndrome

In the past 10 years - the first years I started working after my education - I have discovered that there seems to be a group of employees who suffer from what I call "First Employer Syndrome". In essence this syndrome causes the employee to be unwilling to leave his job despite the fact that he is bored, unmotivated, not learning, fed-up with management or any other valid reason for wanting to switch jobs.

It all seems to be related to loyalty. Such an employee  has  a strong loyalty towards the company he works for or has a special bond with its product. When problems arise which are inherent to the company's management, he tends to ignore them or think of it as a hurdle which can be taken over time. He discusses the problem (or problems) in great detail and receives promises of improvement. When there is none to be seen, excuses are made by management. Or even worse: He himself(!) creates excuses for the company: "It's a busy time, and they had  to release a new version, so they didn't have the time for it.".  Or any other derivative of this line.

Even when the shit hits the fan real badly when, for example, the development department goes into "Fire Fighting Mode" (where you are constantly fixing arising problems instead of proactively fixing to avoid problems) for a prolonged period of time, he won't see it as "mismanagement" but blames himself for not giving what it takes, although he is working his ass of and makes more than 60 hours a week.

As you can see, the loyalty is so strongly present that he will put the company's goals before his personal needs. This can ultimately make him very unhappy or may even cause severe stress or steer the employee into a burn-out, depression or worse. At which point, of course, the employee will blame himself again and again for not being able to perform at his best.

Most of the time other employees, friends or family notice the problems and try to talk about it. They see that there is a problem and that it is in the interest of everybody that he leaves and goes somewhere else.  But, again,  because of the strong loyalty this won't matter at all. He really needs to find his own peace with the situation and decide for himself what's best for him.

If he would blindly listen to the advice of others, it will probably backfire. Say he leaves the company where he felt strongly connected with, and the company would then grow exponentially and every employee instantly receives a bonus, a car, laptop and the salary gets doubled. What is the result? He would feel really bad and it would feel like the biggest mistake ever.  Even though he probably would feel even worse when he'd stayed  (he might even blame the ones who have "pushed him" to leave his job).

Because of this he has to leave on his terms, by his choice and motivation. Only then he would learn that he made a "mistake" feeling too loyal towards a company that wouldn't (or couldn't) change and feel comfortable with it and with what happens with the company.

In my career I have experienced this syndrome from both sides. At first I was the loyal employee who wanted to change everything for the best but wasn't able to and couldn't make the changes. I still worked my ass of and blamed it all on myself and kept thinking it would get better eventually. I was the one who was being told that it was wrong for me to stay, that I should find another job, but I wouldn't accept that and stayed. Did any of the advice from others help me do something about it?  Well eventually. If I remember correctly, it took me about 1.5 years before I decided the time was right. During this time I accepted the advise from others, but decided for myself if I wanted to go or not. Eventually I did leave. But it was on my terms. I had my own reasons and surely I didn't rely on what others had said. And when the company changed 14 something months later? Well I didn't have any regrets about leaving. I even felt great for them! But what when I had left 6 months earlier, because others said I should? I would probably have felt miserable: "If I had stayed I could now achieve the things I couldn't before..." , "If I had stayed, I would have earned more money...", "If I had stayed, I would...".

Once I have experienced this the first time, I realized this problem was not something only I experience. Around me there are a lot of people who are in the exact same situation. And now I am on the complete opposite side of the problem where I see people who are still at their current employer for all the wrong reasons and should leave to make their own lives better.

And what can or should I do about it? The only thing that can be done: Say what you think, share your experience, but never ever ever tell them to leave their jobs!

Filed under: Programming 1 Comment
12Sep/100

Movie-Review: Robin Hood – Directors Cut (verdict:6)

I had not heard a thing about this movie whatsoever until the day that I popped in the BluRay. Of course everybody knows about Robin Hood, and once I saw the title, the director and the actors playing in the movie, I felt like this evening would be a great movie experience... I was wrong...

Right after the first scenes with Russell Crowe I found myself comparing the movie with "Gladiator" (one of my all-time favorites). Not just because of the obvious similarities - being  Russel Crowe and Ridley Scott - but the setting and the overall feeling just gave me that Gladiator vibe.  The downside to this is that you start comparing both movies right from the start. And this is where it kind of went downhill for me.

Although I'm familiar with the background story of Robin Hood, I kind of felt left behind in terms of the story and character development. It wasn't that the story was difficult in terms of intertwining story lines or incomprehensible dialog, but it was just like they were in a rush and assume the viewer will understand it anyway. It took  time to know which characters is who, and I found a moment or two where I thought to myself: "Errr, who's that again?!?".  All this combined made me feel a bit disoriented and unable to enjoy the first 30 to 45 minutes of the movie.

Once this feeling settles the story seems to develop into something interesting, but it never quite gets there. They slow down the pace of the movie (why now?) and I never really connected with any of the characters. At some times it actually bored me a bit. A battle kind of spiced things up at times, but I never got that "Wow" and "OMG!" feeling I had with "Gladiator". It all just felt plain and normal. Sort of a "been there, done that"  kind of feeling. Maybe Ridley Scott didn't want to lean to much on his Gladiator experience, but if you ask me, he should have done so a lot more than he did! Gladiator is easy to follow, but yet it doesn't bore you at any moment.

So isn't there anything positive about the movie? Well, yes there is. The image is superb! The settings and wide angle shots are really great and absolutely give you a believable impression of how it would be to live in those days. The castles look awesome and grotesque, forests have great detail and feel alive and villages and farms have that authentic look. I can see where they spent their money!

The music score, however, was a disappointing as well. I again compared this to "Gladiator" which has a real great soundtrack (by Hans Zimmer)! The soundtrack in this movie wasn't that noticeable and didn't add anything more than background music to the movie.

Although the movie  did entertain me, I was quite relieved when it ended. I surely can see a sequel being made and I could see that it would be a lot more interesting than this movie. Maybe they felt this part was a necessity... An introduction so you won't be confused in the following part(s). But if this was the case, they sure did a poor job...

All in all my final verdict is a 6

22Apr/101

Stop being lived and live!

A while ago when I was working on a Freelance project for Fabrique I noticed that Martijn (former colleague, college companion and friend) was reading "The 4-hour Workweek" (by Timothy Ferris). As I was intrigued by the title I asked what it is about.  As he explained I was immediately intrigued by it. In a few simple words I would explain it as: "Eliminate all (often boring) non-essential work things and instead do things you like".

There are probably a lot of people who have read books like "Getting Things Done", and alike, which aim to be more effective at work and become more productive. Although these books all have valid points and are all a way to be more effective, most of these books aim for the 'wrong' goal.  These books aim to be more productive/effective so that you can do more work and make your boss happy. But this book turns it around and says: "Be more productive so you can do your work in less time and have more spare time!". Now that's a way to get someone motivated! Be more effective/efficient and in return you have more spare time to do whatever you like! The book just takes about every point made in all those other books, but converts them into a profit for You, the reader. Not your boss or your company! And this is why this book gives you the feeling you already know the points made and yet be totally different!

The fun part about the book is that you can implement the ideas as you are reading them. When you're not reading, you are contemplating on where you can apply the things you have just read... And it pays off instantly! Just a few of those simple things; Email is a distracting medium. Yet everybody believes it is crucial to your work, so you have it running in the background. But the fun part is. It almost never is actually crucial! Tim explains he only reads his email 1 time a week! Now that's ridiculous for us mere mortals. So he suggests an alternative (I don't know if he actually does, but I do this now on a daily basis and if it is not in the book I based it on his theory) you open your email client just twice a day. One time at 12:00 and one time at 17:00 and try and stick to it. And while you're at it, create a mind block for yourself that you don't open any 'fun' web pages as well and close your instant messaging apps.

With the mailbox closed, no fun pages open in the background, and no IM, there is nothing that can disturb you in your work. Your work gets a speed boost, and before you know it you have your daily tasks 75% complete by the time it is 12:00! Now you open your mailbox, check your mail, and respond to the mail. In the first day I applied this technique, I realized that the important mails could be counted on just one hand. And no one was mad about the fact that I replied passed 12:00.  And of course, there are moments you need your mail client before 12:00, say when you work on something and you receive the data needed to continue working, these are exceptions. Not the rule! And in these cases it is fine to open your client.

After lunch I continued my work and was done at about 15:00. Then I picked up "The 4-hour Workweek" again and continued reading till 17:00 or so. Had diner, and I had a whole evening to do whatever I wanted.

So the result after this little experiment?

  • A highly efficient morning where I had completed 75% of what I had planned to do for the day.
  • A great feeling of accomplishment for the day (which in turn makes you motivated and more productive)
  • Done working at 15:00 (instead of 17:00)
  • Had time to read the book
  • Still had time to do relaxing things in the evening

You can see I was actually able to step back from work and live like I want to instead of the continuous stream of tasks and chores which feels like it takes forever and gobbles up your entire day. And after you're done working, it still feels like you haven't done anything useful. I felt liberated and alive!

So to conclude, what's great about being this efficient is that you can get all the time you need for yourself. You can do whatever you want and keep your boss, or clients happy! Just make sure you do your work as efficient as possible and you'll find out you receive a lot of extra time in return to live again.

For the people reading this, I try you suggest this little experiment as well. If it works, I would suggest you buy the book and read it!

Leave me a comment if you tried and/or what you thought of it.

Filed under: Books, Life, Work 1 Comment
6Apr/100

Star Wars in Concert; A concert in a movie, or a movie in a concert?

On March 30th, I went to "Star Wars in Concert" in Antwerpen, Belgium. An Impressive StarWars event where a great symphonic orchestra plays the well known tunes from the Star Wars saga. All of it accompanied with a lot of scenes from all six of the movies, a great light show and this all narrated by Anthony Daniels (the voice of C-3PO)...

A few months ago I came across an advert of "Star Wars in Concert" on one of the online forums which I regularly visit. As a Star Wars and John Williams fan I was immediately interested in this event.

What is it? A music event? A movie? A musical? A classical recital? It has everything of the above but at the same time you can not say it is all of the above.

Is it a music event?

Yes; because it is clearly an on stage event in which a group of musicians give a music show.

No; because it doesn't give you the feel of a live on-stage music event as you probably have visited in the past

Is it a movie?

Yes; because it tells the "Star Wars" story from start (ep1) to finish (ep6).

No; because it doesn't give you the experience a movie gives. You could say you get the "bullet points" from the movie, but you are not enveloped in the story.

Is it a musical?

Yes; because you get a story told in a musical-ish format.

No; because it is not so in the way you expect a musical to be

Is it a classical recital?

Yes; because a grand orchestra plays the well known StarWars music.

No; because it is all amplified and presented in a grotesque and entertaining way which removes the clarity and fidelity a classical recital can give

So, what the hell is it?! I would say it is a superb experience of the StarWars classical music presented in a way that is entertaining for a broad group of people. It won't go to the extremes in either of the above, but the combination of them all make it an epic event which is, at some times, really breath taking! The interaction of music, video and light is amazing! Yes, it is StarWars and yes you probably have to be a Star Wars fan to really appreciate it all. But; WOW! It was a great experience! And I'm very glad I went too see it!!

So there aren't any downsides to this event?

Well, in my opinion, there is one downside. Because the show is "entertainment-driven" and it is presented to a large audience (aprox. 12.000 people) , the sound is amplified. This amplification has a negative influence on the music. Some parts (mostly trumpet parts) where less amplified and sounded great. But overall it can't be compared with the acoustics and clarity of sound which is produced at a classical recital. My hopes were just a tad higher.

But, to conclude, once I got passed this little downside (which was after about 10 minutes or so) the whole event can be concluded in 2 words: Totally Awesome!

If you're a fan of Star Wars and it's music, this is a Must See!

11Feb/100

Movie-Review: The Man from Earth (verdict: 8.5)

Just once in a while you come across a movie which doesn't need special effects, cgi or  a superb soundtrack. It can solely rely on a story. "The Man from Earth" is one of those fascinating movies. A tantalizing story which triggers your imagination and will keep doing so, even weeks later. It surely is not your average SciFi movie, and I even wonder if it can be categorized as such. But boy, can I recommend it if you like to challenge your brain a bit.

I came across this movie and was intrigued by the title, its rating on IMDB and a short excerpt of a user review in which the person in question said it made him a bit like when watching "Close Encounters of the Third Kind". These where enough reasons for me to take the plunge and watch the movie.

The first 15 minutes you (well, at leas I did) feel like: "what the hell is this about?". The movie sure doesn't look like it was made in 2007. But bare with the movie for a minute and you will find it intrigues you in more ways than you can think of. It is kind of hard describing the movie without giving away what the movie is about and where it is heading, so I'll head to describing some things about the characters in the movie.

The thing that balances this movie perfectly is the fact that the main characters can all be considered as experts in their field of work. And because of these expertise (which is not explicitly mentioned in the movie) everything becomes plausible and everything makes sense. Just in moments where you think "ey, what is that about?" it is backed by one of them explaining the ins and outs of it.

When you're 30 minutes into the movie you will be really eager to know how the story will continue and where it will lead to.

I don't want to spoil too much of the movie, but after you have watched the movie, you will surely know you haven't thrown away 90 minutes of your life. I'll bet you will be thinking about the movie for a while and consider the implications of what you have experienced. You won't probably consider "what if this movie was real" but I do know that there will be moments that you will remember  about certain aspects of the movie and think "Wow, it could be true.. And what if that was true... Well, then....".

Bottom line:

If you're a movie lover who needs to be entertained by CGI and Action: don't watch this movie

If you like being surprised once in a while, I can highly recommend watching this movie!

Verdict: 8.5

20Jan/100

HowTo: Run a mailserver, even if your ISP blocks SMTP port 25

After some hard work we have finally gone beta with our service: RerouteMAIL. A service with which you can easily run a mailserver even if your ISP actively blocks port 25.

A while ago I posted about some wild idea's where you could go around the SMTP block of your ISP by running your mail through another (non blocked) mailserver and forward it to your mailserver which is running on a different port. Today, we go beta with a service which makes this possible for everyone!

The road from 'Proof of Concept' to 'Finished Product' was, as always,  a bit longer than expected. First of all I switched from developing in PHP to Django (to expand my knowledge) and secondly, there are some pitfalls when you want to make this kind of service for more people than just yourself.

For the people who don't know what the fuzz is all about, a short rundown. There are ISP's in the world which believe that there are a lot of people who don't know what they are doing. So when those people run a mailserver chances are rather large that they don't configure their mailserver correctly, and they become an open-relay and thus, open for spammers to be used as spamming machine.

Although these ISP's are in their right to do so, we believe the clients (and especially the business clients) should have the chance to be able to run a mailserver if they completely understand the risks.

By default (and according to everyone and everything on the internet) a mailserver listens on port 25 for incoming mail messages. Because this is the default, ISP's block this port (incoming and/or outgoing).

Fortunately we have thought up a way around the ISP's who are actively blocking port 25.

As a lot of people (mostly unix administrators) know, you can run a mailserver on a different port than port 25, say port 26. However, the email world does not know this. So when a mailserver (for example the google mailserver) wants to mail to you, it tries to connect to port 25. And so you have to find a way to let the other mailserver think you are on port 26. But this can't be done easily and without your ISP.

It can be done via our new service: RerouteMAIL. The trick is that we listen on port 25. And then relay the incoming message to your mailserver running on port 26!

And the best part is, we have a fee free version which everyone can use, a hassle free registration, and no questions asked.

If you are interested or curious please have a look at: www.reroutemail.com or leave a comment on this blog!

14Jan/100

10 reasons why development projects can and will fail

It really is everywhere! Until now, in every company I have worked for, I have seen it. Projects fail to hit their deadline. And total anarchy emerges from the ashes of those failures. Save yourself (or your company) while you can and learn from the top 10 list of reasons I came across in the passed 8 years.

I have been developing (web)applications for some time now. And although some people might consider the 8 years as being "new", I consider it long enough to be able to point out some important reasons to why projects fail.

Although it was really really hard, I tried to make up a top 10 list of things that can (and have gone!) wrong. And because if I have experienced these problems. You can bet others (you?) have and will too! So, here goes. My top 10 reasons:

10. Not all things have been taken into account

It sounds too obvious to be true. But it is. When people start a project they mostly don't take time to step back for a moment and consider the implications of the project. I haven't been in a meeting which went like this: "Hey! Is this really as easy as it sounds? Or are there hidden problems lying low and ready to jump at us when we least expect it!?". Most of the time people are too excited about the project and feel like they can take on the world! And they realize halfway through the project (if you're lucky!) that they didn't realize feature X would take as much time as it did! And so, their deadline creeps up on them and BAM... The deadline can not be met.

9. It's a rush job!

How many times haven't I heard this one: "I know it's a rush job! And we are aware of it!". Only to hear a few weeks later: "But how is it possible that this bug exists?! We just CAN'T have these kind of bugs!". And most of the times these bugs only surface after it has gone live for a few days.

8. There are no milestones

No proper milestones have been set for a project. And this is not good. Not for you, nor for the customer! If you don't have milestones, you have no way of measuring your progress. And even when you think you are on the right course, you can never know for sure. More so, you cant update your client (or customer) on the progress. Because you just don't know!

6. The customer lacks technical insight/knowledge

It can be a real problem when the customer (or your manager) is not as technically endowed (on this subject) as you are. But realize it is as much of a problem for them as it is for you! They wonder why you take so long to create feature X which seemed soooo easy to them. The biggest problem is not their perception of complexity, because this you can explain. The biggest problem is that they will not be able to explain their wishes to you in detail enough so you can make a correct estimate on the project length.

5. Ad-Hoc projects / Prolonged FireFighting Mode

Your morning at work starts and your manager runs into the room yelling and screaming: "WOEAAAH!!!!!! WE NEEEEEEEEED BUG 1337 FIXED RIGHT NOW!!!!". The sky has fallen! All customers have ran off and the cash has stopped pouring into the bank account of the company! All because of this bug! Or... so your manager led you to believe! You rush yourself to your computer and work long and hard to fix the bug as soon as possible! Finally! the bug is fixed! And you can continue your daily work on bug 1884. But then, after lunch, it starts again: "AHAHAAAAAAAA!!!!! THERE IS A PROBLEM WITH X AND Y! THIS CAN'T BE HAPPENING!" and of course you need to fix it right away! This scenario continues some time.. Until at the end of the day, the things you had to work on that day didn't finish. A day passes by and you fix some "MUST BE FIXED NOW" bugs until one moment: "WOEAAAAH! WE NEED BUG 1884 FIXED!! AND IT SHOULD HAVE BEEN FIXED 2 DAYS AGO!". And the circle is complete... Because you were fixing bugs which seemed critical, you are not able to work on your daily routines. Which in turn, turn out to be "need to be fixed now"-bugs eventually.

The biggest problem with this is that you will always keep a feeling of behing behind all the time. And escaping from this vicious circle can be very hard. Although you can't prevent this problem directly, you can discus the matter before fixing the "need to be fixed now"-bug. Ask your manager "Is this 1337 bug really more important than bug 1884? And if so, are you okay with delaying 1884?". This will probably make your manager think the request over and it will allow you to fall back on the conversation when 1884 became a real "need to be fixed now"-bug

4. Communication problems (or lack of communication) "

It happens quite a lot. A salesperson has promised feature X to customer Y and has told the Project Manager to make it happen. It slips the mind of the PM and the salesperson didn't remind the PM about the feature. Until the time approaches that it should be delivered to the customer and the salesperson asks the PM about this. "Damn!". The PM wraps up some developers and a technical lead and you'll hear something like: "We have promised the customer a month ago we have feature X in the release for the end of this week so build it and build it right!".

Everybody should know this is a recipe for disaster. You just can't build a feature in a week (or less)! No arguments. You just can't!

3. Total lack of specifications

You think you have done everything right. You talked to the customer, written things down, had the customer sign the document on what to deliver. But you don't write the specs. You didn't work out the details of the features and think you can manage it along the way.

Just Face it! In the larger projects (even if it is still a one man job) it is almost impossible to do things right the first time. And unless you have calculated a lot of refactor time (and I really mean a lot!) into your project, your deadline's will slip. And you will have an unhappy customer. Just take your requirements and work them out. Just make small mock-up of what you are going to create. Write down some flows. And be sure to show them to your customer and have them comment on them.

You don't have to create full detailed Interaction Designs. Work out all the Use Case Scenario's and write pseudo code for every function. Just make sure the outlines are there and have them approved or reviewed.

2. A Sales person determines the deadlines without consulting programmers

This I hate the most!

Operations come's to you and says: "Yeah we have to create X, and it has to be completed before end of the week!"

"Que?"

Damn, they have done it again! They promised stuff to the customer, and we don't even know if it is technically possible to do so! And even if it is possible, we don't know if we can have it production ready in that time...They haven't even discussed it with the PM or a TL.

1. There are no, or incomplete, requirements

This one is also very classic, and very easy to make. "We need a program that can do this and do that, <explanation of what and how etc>.. can you make it?". Sure you can! And there you go happily programming and creating what the customer asked. And after some hard weeks of working and finally delivering the program, you receive the following reply: "Ah, yes.. But... This is not how we wanted it. It should work like this and that!". So you reply: "But.. Why didn't you say so?". And the customer replies: "Well, er, it is  obvious that it should work that way!". And there you go.. Throwing away a big part of the program, starting over again..

And the biggest problem is, there is really no one to blame! It's just that people won't exactly, with 100% certainty, know what the other person really means or thinks. So, even when you have requirements, it is quite hard to say "Well we decided this and that and I made it that way. So, its your fault!" because with that attitude you will only get your customer mad and create an atmosphere in which you can't work.

The solution? Make sure you agree on what is required of the project, and make sure you write them down. Have your customer specify what the program has to do to make it acceptable for him. And finally make sure you live the project as much as your customer does!

Well there they are! My list of reasons why a development project can and will fail. They are based on my personal experience in the passed years.

Have you experienced these reasons as well? Or have experienced others? Leave a comment!

3Jan/100

All the best wishes for 2010!

After a few day's cool down (christmas, new year's eve and a nice long weekend) we can plunge ourselves back into real life and into the new year!

I would like to wish everyone the very best for 2010! I hope everyone will have a great, healthy and prosperous year!

I am looking forward to hearing from all of you some time in the future!

Filed under: Life No Comments
22Dec/090

Movie-Review: Das Experiment

I had "Das Experiment" on my To-Watch list for a few months now. It was recommended by a friend of mine after discussing some things which are related to the experiment depicted in the movie. The movie is based on an actual experiment which was conducted back in the 70's. However there are some differences ofcourse...

The native language of the movie is German. So it is some getting used to for some people. For me it took me about 10 minutes or so and after that it didn't bother me anymore. Although the movie is shot in 2001, you can really sense it is a dated setting. In addition the dialog and scenes are set up in a way which gave me a strange feeling. A bit of a "Eh.. what is this about?" feeling. Although a bit strange it is totally appropriate and gets you into the story even more.

There are no special effects, blazing fire's, cutting edge sound effects and booming subwoofers in this movie. Instead it has sound effects which gives you a suspicious feeling and makes you want to hold your breath from time to time in anticipation of something happening.

The story is told in an a-typical way. It is told with some occasional unannounced flash backs which, the first few times, feels like you are missing something. Truth be told, after about 40 minutes I felt as if it took forever to get the story up and running. I even had a moment where I was thinking "Im gonna stop, go to bed, and watch it tomorrow night!". However I didn't turn it off as I was rather curious to find out how the story continues. Luckily the pace picked up and there was progression in the story. And from that moment the story totally grabbed me and dragged me right into the movie. I felt compassion and felt connected to the characters in the movie. You could feel what they where feeling. Their emotions, their reactions, their commitments. I felt anger, hatred! I wanted to go in there and punch him in the face!  AAarg!!!!!

In those moments I didn't realize it, but after the movie ended I found out that the story was built in such a great a way that I slowly, unconsciously and without really noticing it, bonded with the characters. And because of that the movie made an even bigger impression on me.

The strange story telling, the unexpected connection and the great performances in this movie left a lasting impression!

A recommendation for everyone who wants to see something else from time to time. But be warned, it is not an action movie.

I don't wanna give it an 8 because it felt a bit too strange from time to time :)

So I'll give it a 7.5!

17Dec/090

Movie-Review: 9

"9"... A title which does not describe much at all. So I looked it up on IMDB to get a bit of an idea of what this movie is about. An animation/SciFi movie, rated 7.1, and staring the voice of Elijah Wood. It triggered something in me, so I placed it on my "To Watch" list.

I really had no idea what I was getting in to watching 9. A SciFi movie alright. And a rather short one, as it only lasted 90 minutes or so. From the start the setting was clear. A rather grim setting which is accompanied with great animation. To me it gave the same feeling as I felt when watching Wall-E, when he is working on earth. Silent and alone...

But that soon changed, only a few minutes into the movie the pace picks up and you have the feeling you are left behind in terms of the story. Things are happening, but you don't really know what or why. At that moment I was curious. And after a shock moment, I thought to myself: "Yes. This will probably be a great movie!". But I was kind of wrong, at least, in my opinion.

The drive of the characters is not really clear. You can guess but can never know for sure. The movie keeps you in the dark. Normally this is not a problem at all. But because I was unable to connect with the movie on any level, it was kind of annoying.

Only somewhere at the very end I had  a feeling  of a connection (although very small) with the characters. And when the movie actually ended, it left me with mixed feelings. Sure the movie was entertaining. And sure it was intriguing. But it never really caught my attention. Therefor I was kind of relieved when the movie ended.

I was glad I watched the movie! It sure has things which justify the 7.1 on IMDB. But for me, the overall feeling of the movie was just a tad off.

Sound wise everything is great. Lot's of use of the LFE in a correct way (I never had the feeling it was overdone). And the music was done rather nicely. Speech was a bit different. Sometimes I had the feeling the dubbing was a bit off. It just didn't feel like the voices where appropriate for the (animated) characters.

I wouldn't want to mis this movie, but as a final score I give it a solid 6.

13Dec/092

The money problem with friend-groups: “Nah… I’ll pay! Pay me back later!”

You might recognise the problem. You have a close friend group and you do lots of things together. So when you go out,  or go to the movies you decide that you'll pay something, and the others pay other stuff and you dont realy worry about the money. They are your friends, and you trust everyone, so, no biggy.

Now although this is true, the problem lies where you can't keep track of what you owe who, or who owes you what. And although you know it's okay, it just doesn't feel right. Especially when it concerns larger amounts. For example, you go on vacation as a group. Decide that everyone will pay amount X as a money stash for group activities. But you know it is a matter of time before the plan becomes a bust. Eventually someone forgot his card and could not make a withdrawl. The account was empty sooner than expected. Etc. etc. In the end person X has deposited €400 person Y €600 and peson z only €200 because of whatever reason.

Now I have, on multiple occasions, decided to make a nice little Excel sheet which can handle these kind of problems. You enter the money you have spent (its a friend case so you trust everyone supplies accurate numbers) of each of the members, and it calculates neatly what the average amount spent is, and you can see who owes what to whom. Further, if person Z afterwards gave person X some money for something else, it is handy that these numbers can be specified too. So it will always reflect who has already settled his debt and who hasn't. The biggest problem is you have to manually keep track of changes. If someone pays somebody (partially or full), and didnt notify me, I can't keep track of the changes. And so it is a matter of time before it is not accurate anymore so you can't rely on it.

Because I (we) have these problems. I'd think I'm not the only one! So I think about making some simple application which can handle these kinds of troubles. Attach a mail service to it so people can easyly be reminded of his debts or request for information. Combine this with some type of grouping of friends and you have a centralised application to handle all current and future money oweing problems without worrying about who paid who (or didnt).

19Nov/090

Decided not to use the ‘custom’ layout anymore

For a while I used a custom layout for my blog. It is probably something everybody else already figured out ages ago... But, maintaining a custom layout just takes too much time to keep it up to date. Not to mention to keep it compatible with all the features in WordPress!

So, today started as a slow day. I couldn't get myself to doing something really usefull, so I decided to have a look at my blog and spice it up a little. But when I was tinkering around with it I soon realised that I had to invest a lot of time to get it working correctly with everything WordPress supports. And even if I got it working, the design wasn't my best design. So that design had to be done too!

After a while I decided it was not the way to go. And I went clicking through the "featured themes" of the WordPress appearence section and found a new design for my blog which kind of suits what I was looking for. A few minutes later it was up and running, and I was happy again :)

Sure it has some quircks, but overall it saves me time.

Tagged as: , , No Comments
6Nov/090

My Private Home Theater

It is the year 2002, and I was invited to a housewarming party of a colleague. When we came to his appartment the first thing I saw (or actually, everybody saw) was a big movie projector hanging from the ceiling. It was a huge Barco CRT projector. One with 3 tubes for red, green and blue. Ofcourse he had to show off his new big toy and showed us some nice DVD movies on a big screen. I was so impressed that ever since that moment I wanted to have my own projector and enjoy movies on a big screen too. Now, 7 years later, I went a step further and have my own Private Home Theater!

Ofcourse it all started from that moment in 2002. But to cut it short, since 2002 I bought (and sold) a Barco CRT projector, played around a bit with surround sound (Bowers&Wilkins speakers) and we end up at the beginning of 2009. This is the moment I had bought a Full HD projector and decided to really make something nice. With the help of a great company which specializes in HomeTheater ("Beter Beeld & Geluid") and helps designing HT's I started making concept sketches and models of how I wanted things to be.

At first I created some raw models of the room in question. Although, as you can see, there are quite some obstacle's in the room, solutions can always be found. It is possible to work around them. The guys at "Beter Beeld & Geluid" gave some pointers on how the room could be altered to be a great Home Theater. With these remarks I started creating a new model in which I used all the advice that was given.

Because the room is long and small (which affects room accoustics) we had to make sure the listening position is not in the exact center of the room. If you do place your viewing position exactly in the center, you will have problems with the lower frequency's. To make this possible the projection wall is placed 40cm in front of the real wall. This way you can move your viewing position further to the back and thus you won't sit in the center of the room (although it might visually seem like you are).

A second advantage of moving the projection wall 40cm is that you can place speakers and subwoofer behind the screen. But this requires an accoustic transparant screen.

A new wall should be created on the right side of the room. This is done to create symetry in the room and create space for a/v devices like the receiver, dvd/bluray player, xbox, etc. Plus, you can use this space to place side speakers if you want to go for a 7.1 speaker setup. This was actually advised due to the room being rather long and small. It would greatly enhance the soundstage and create a more realistic surround sound experience.

After this it needed the accoustic changes and a visual design. Again with some brainstorming and help from BB&G we came to the folowing definitive design for the room.

Accoustic material (absorber and diffusor) is hidden inside the left and right pillars. This too is needed to create a better sound stage.

From this moment everything was clear and I could begin constructing everything. I won't go into the exact details of the construction (I have done so in a Dutch forum, so if you would like more info, just ask me :) )  but the results are great! Just a few pictures to show off!

The speakers behind the screen:

And the projector side:

And, now the rundown of specs of what you see:

Projector: JVC RS-10. Projection Screen: Screen Research 110" diagonal (96" wide). Receiver: Yamaha RX-V3800. Speakers: Martin Logan Fresco i. Subwoofer: DIY - Peerless XLS12 (1 12" active and 1 12" passive woofer).

So thats it! It rocks big time. Expect, from time to time, some reviews of movies I have watched.

4Nov/090

Movie-Review: Terminator 4: Salvation

I hadn't seen Terminator:Salvation yet because it never showed in Digital Cinema in Metropolis Antwerpen. As I now have a FullHD version of the movie, I could watch Terminator: Salvation at home... Finally! Large projection screen, great sound, killer sub. And most of all: No one running in front of me, no people sniffing, sipping a drink and baby's crying! And with this experience in my mind: My first blog-review of a movie...

As always, I try to watch a movie with as little knowledge as possible. Ofcourse I know the prequels, but I didnt watch any trailers or read about it online. At most, I look at the rating it has on IMDB and the length of the movie. The mind-set in which I watched the movie was "It will probably be somewhat like T3".

Well, I couldn't be more wrong. After the first 30 minutes I was totally convinced that the movie was nothing like Terminator 3, but still holds true to the Terminator story. There are lots of references to the other terminator movies and to its timeline. Not only storywise, but camera wise (and probably tech-wise) as well. Some of these references are more obvious and others are very subtle. In my opinion it was done really well. When I look back at Terminator 3, I would say it was a movie which was more the 'comic' side of the Terminator movies. A lot of things were overdone and it just didnt feel quite like Terminator. I was concerned that T4 would turn out to be, once again, a movie which would focus too much on a mediocre story, pointless action and stupid jokes. But in contrast to T3, Terminator: Salvation was the more serious movie. The storyline was surprisingly good, it was not top-notch, but still overall better than other action movies in this genre. Further the movie had some great surprises I didnt expect (i.e.: the scene at the gas-station) and they sucked me into the movie even more.

The CGI in this movie was awesome! No where in this movie I had the feeling the CGI was off as if it didnt fit into the movie. In a lot of movies (G.I. Joe had this on multiple occasions) you just notice that a CGI item is just not real enough. Though the CGI was really great, I needed some time to get comfortable with the colors of the movie. It had an overall colorless look which did complements the settings of the movie as being dark. But in my opionion it had, at certain points, just a bit too little color.

Right now I am only able to use the DTS Core track. Nevertheless the soundtrack of the movie was super. The seperation between music score and sound effects was certainly noticable. Though it was not done as great as in James Bond: Quantum of Sollace. The sound effects/surround sound of the movie was done really good, better than in most movies! You have the feeling you are placed right in the middle of the action. Sound is coming from everywhere and it is all just spot on! With this combine a great LFE track to support the explosions and gunfire and you are sure you will have some very impressive and intimidating moments!

Overall:

A great story, fun to watch, apropriate humor and ofcourse: Terminators!

Verdict: 7.5

(the scene at the gas-station)
3Nov/092

Finding out if a tweet is posted

Just a text blog entry to find out if the twitter tool creates a tweet!

Tagged as: 2 Comments
30Oct/090

Don’t you hate it when your ISP blocks port 25 so you can’t run a mailserver?

You have an ISP which is just fabulous, great speeds, acceptable pricing and no download limits. Great! Now you can have your own linux/windows server right at home.  Run a webserver, claim some domains, host a few other things (mysql, python, ruby, django, etc) and tinker around with everything you couldnt do at a hosting provider. But when you try to configure your mailserer the fun ends. Mail just doesn't get deliverd... Booo!!!

At first you think you configured your mailserver wrong. Maybe you didnt set up your MX record corectly for your domain or maybe, just maybe, your postfix config is wrong (what could go wrong there? :P ). After some tinkering and frustrated tests you come to the annoying conclusion that it is your ISP who is nagging you. It appears they block the SMTP port (port 25) in their firewall, so nothing gets through to your server. Damn it!

So your first thought is to go around it. You are a great tech-buff and you think you can outsmart your ISP blocking a port in its firewall and find a workaround, so you think to yourself "why not run it on port 26 (or something else) instead??". A fine idea indeed. But there is one problem. SMTP servers don't know your mailserver is running on a different port. And it has to know!

Let me illustrate this a bit more.

When someone (user@gmail.com) typing a message and wishes to send you an email (user@somedomain.com), creates the mail, and clicks on send, the google mailserver first contacts the DNS server to request the MX record for the domain (somedomain.com). It receives a response in the form of an IP address.

Then the mailserver will connect to this IP addres on port 25. Why port 25? Because thats the way all SMTP server work. It does not know any better than to connect to port 25. Its the way SMTP works.

So, no dice.. Just using a different port is not enough (and No: tricking the world into thinking port 26 is the new port 25 aint gonna work).

After some thinking the solution came to me. If we can't trick the world into sending to port 25 and we can't go around the port block at the ISP. Why don't we run it before the ISP or at another ISP?

"Uh, but, aint that the most obvious solution?"

Yes ofcourse it is. Running your mailserver on a different location where port 25 is not blocked is the perfect solution. But it is not appropriate in this case indeed. You want to run you own mailserver at home so you have full control over it. Not at a colocated place, hosted by a hosting provider and what not.

But think one step further:

"If someone would be willing to run a mailserver outside of your ISP's influence, and forward all incoming mail which is supposed to be for your domain and forwards this to your machine which has actually running a SMTP server on a port other than port 25 and delivers the mail on that port... Wouldn't that solve the problem?"

And there you have it. The solution to the problem. This way you can run a mailserver yourself even when your ISP blocks port 25!

Now I've been searching around for someone who offers this kind of service, but was not succesful. So I thought to myself, why not create such a service yourself? And so from the need of a solution, there came a solution and maybe a solution which can help other people aswell!

Currently I have this problem solved in a proof-of-concept scenario where a friend of mine is running a SMTP server (on port 25) and he forwards all emails directly to my SMTP server running on port 25. Right now I'm looking into ways of providing this solution to other people.

Update: Recently we (Marc-David and I) have launched our service at http://www.reroutemail.com/

28Oct/090

A New Project – My framework actually didn’t fail!

I recently started working on a new freelance project. Now there's nothing special about that because thats what I do for a living right now... But reading around on the internet and in books made me realize again that blogging about it is a good way to get things 'out there' and a way to clear my own mind.

My new project involves the creation of a pretty straight forward web application. Users logging in, an amount of relations between different objects. Some listings, some variables, some conditions, the works.

The fun part about this project is that, so it turns out, it is the stuff that realy makes me happy doing. Its a project in which I can do everything from start to finish. The basic idea is provided, a basic layout is provided and most of the data which should be available stored in the database is provided. So it basicly comes down to creating a solid DB design, creating a technical design, PHP coding, HTML layout, bug testing, bug fixing and deployment.

There are no real constraints on this project in terms of baggage from previous made stuff. No buggy feature which was previously implemented and results in quircky behaviour. No strange DB Designs which actually don't make sense at all.

Most projects I have done in the past actually have this kind of baggage. I am constraint in how to set up the project and only have the freedom of when I do the work, not in how I do the work.

But with this project, I have total freedom, and it makes me happy!
Right from the start I figured I could again use my freshly created framework which, supposedly, 'failed' according to a previous post. Now I couldn't be more wrong when I wrote it! It turns out that although I hadn't much use for some of the features in the past, the things I had created came in real, REAL handy! I had a basic site up and running in a few minutes and in a day orso I was back into the feeling of how it was to code and make real progress real fast. The need for improving the framework returned. And, more pleasingly, my motivation skyrocketed and the work wasn't work anymore, it became fun.

For me fun is one of the things needed to stimulate progress and creativity. When it is fun to work on a project you are constantly thinking about how to create new stuff and improve stuff. In this project I have fixed more bugs and created more effective functionality in the framwork than when I was actively working on the framework itself. And fixing stuff gives you pleasure/satisfaction, and pleasure drives you to create/improve new things, which in their turn gives you more pleasure/satisfaction. It's a win-win situation. And it is one I realy needed at the moment!

Expect more posts later on the project (and I try to keep my word this time :) )

13May/090

My new Home Theater Projector – the JVC RS-10

It has been some time now since I have given away my Barco 801s Graphics and bought the JVC RS-10 projector. But I did not take the time to write about it on my blog up until now.

Why put away the Barco?

Well that is an easy question to answer; maintenance, performance, weight,size and noise.

Maintenance, because watching a movie on a barco just takes too much time. Every time you turn it on you need to wait a certain time before it is warmed up. Further, the CRT tubes 'drifted'. This means the convergence of the 3 tubes degraded over time and needed fine tuning every once in a while.

Performance, because although the Barco supported resolutions up to 1920x1080 (which is full HD resolution) it was not able to give a picture which was full-hd worthy. It became a little fuzzy and stuff. True, the image was better than 1280x720. But it was no where near the crispness of Full HD. Further the light output of a Barco is relatively low. You really need a light controlled room (fully dark:)) to enjoy the full potential of the Barco.

Last but not the least, weight, size and noise. The barco was not very small, light and silent. With 100cm x 60cm x 30cm it was not small. Weighing approximately 70kg, it was not very light. And with all the 12cm fans in there, it was not very silent either...

The few things CRT's do have is superb color accuracy, long tube lifetime (10.000 hours vs 1000 hours) and great contrast ratio's. But once you have seen the pro's of the RS-10 they fade away real quick. Astonishing sharpness, near-crt black levels (35.000:1), light weight and small dimensions really made the choice easy.

Ultimately, the new RS-10 delivers a really great picture and gives astonishing performance. In a fully dark room and even in rooms with normal daylight (it does not perform well in direct sunlight though ;) )

Conclusion: great projector!

Get Adobe Flash playerPlugin by wpburn.com wordpress themes