Saturday, July 26, 2008
OpenSearch is one of the beautiful things I discovered lately. If you're using Firefox 2 and above or Internet Explorer 7, look at the search field in the right-top corner of the browser. See the shiny little thingy there? Click on it and you can instantly add two new search engines for fast search through your browser. The first one is my blog's search and the second (and more important) one is the ability to search BiBlogs right from the browser. Yeah, now you can search the whole BI community's blogs with only one click.

I call all the BI bloggers to add this too. It's 5 minutes work and it can help lot of people out there. See here for instructions.

Saturday, July 26, 2008 7:26:41 AM (Jerusalem Daylight Time, UTC+03:00)
 Monday, May 05, 2008
My blog is not an official .Net blog, but I find myself writing a lot of C# & VB.Net code over the last weeks.

I remember myself working a lot with ObjectDataSource and DataGrid/DataView/Repeater controls in order to reflect the user what is going on in my DB. The recent changes in the .Net world reflect the major demand from the developers to help us making this easier. First, we were introduced to LINQ which is the first level. Now, I believe that the ASP.Net Dynamic Data is the second level which brings it all together to the web environment.
We are all busy men and we often don't have much time to persue after all the new .Net frameworks and developments. My only way to stay tuned to what's going on is blogs, so I read when I have time. But when I want to learn it in more intimate way I watch screencasts.
I recommend all of you viewing the 17-minutes-cast from David Ebbo about Dynamic Data. It will show you what it's all about and after it you'll even be able to create it for yourself. I hope that this is the end of writing junk code in order to connect your DB to your UI. Time will say if I'm right.

Tuesday, May 06, 2008 5:48:17 AM (Jerusalem Daylight Time, UTC+03:00)
 Monday, February 25, 2008
I had a big test yesterday in the university, so now I can blog again.

the title says it all. Enter here if you're a student. MS offers many free developers tools for students under a project called DreamSpark. Among the tools you can find: Visual Studio 2008, Windows Server 2003, Game Studio 2 (which I eager to learn for a long time, especially because I'm a gamer) and the known Express editions of SQL Server and Visual XXX (you name it).

Enjoy.

Monday, February 25, 2008 10:48:54 PM (Jerusalem Standard Time, UTC+02:00)
 Saturday, August 11, 2007
A good example of how to not use Ajax.

Few months ago, Blizzard Entertainment announced that Starcraft 2 is on the way and they opened a web site to make sales promotions. In the sections where you see details about units and buildings in the new game, clicking on a unit will change 90% of the page with Ajax (no refresh in browser). The problem is that many heavy pictures and flash are loaded using this method and this makes the browser freezing for a while. I tried it with different browsers and different computers but it won't help. The browser always freezes.

Think twice when designing Ajax-enabled web page. Downloading too much data with Ajax can perform troubles. And troubled users won't come back to your web site.
Sunday, August 12, 2007 6:09:56 AM (Jerusalem Daylight Time, UTC+03:00)
We've been working for a while to enable SSO in our Panorama's Dashboard site. In a matter of fact, the responsibility for this was under the skilled hands of our system team. After a short time they succeeded and SSO was established in our site. We saw it when we entered the site: Instead of login page we directly entered the dashboard page.
After a few days, when I entered into the settings section of the dashboard site, I saw this:



Yes, that's right. No security at all. This is why we entered directly to the dashboard page instead of the login page...
The system team claims that they never said that the SSO succeeded and we say they did. No one will prove he's right, so there's no one to blame. But blaming is not everything. The important thing here is to learn for the next time: When you think you got a feature - check it. Things not always as they seems to be.
Sunday, August 12, 2007 5:52:53 AM (Jerusalem Daylight Time, UTC+03:00)
 Saturday, July 14, 2007
Two days ago I talked with a friend about our feelings at work. I told him that many times I have the feeling that people just don't work. He asked me how I can see that, and I told him that they can't concentrate when they all going to have coffee or talking to each other every minute. "So, what you want them to do, sing: Work, Work, Work! all day?", he said. Then I told him this short story:

Last week I went to say hello to my friends in a very serious (and therefore successful) programming team. There were three guys (Doron, Yossi and Roy) coding there. I love challenges, so I tried to go to the other side of the room (and this team has a big room) unseen. Guess what - I made it. I went to the other side of the room and no-one saw me. They were all very concentrated on their code. I could steal everything I wanted, but you know - friends...

"That's how should people work", I told my friend. Still, I don't think that everyone can do this all the time, but I expect every worker to behave that way at least an hour or two in a day, and I promise you that their production will greatly grow.

Sunday, July 15, 2007 6:43:01 AM (Jerusalem Daylight Time, UTC+03:00)
 Thursday, May 10, 2007
As I have said in the introduction, I recently left the .Net department in my company. We worked on a very interesting GIS application, using ESRI's ArcGIS line of products.
In the day before our deadline, I've found a really serious but also foolish bug: In many places in our product, the date looked like this: 13/41/07, 20/56/07, and so on.
When I've seen that I immediately knew what happened. Instead of formatting our DateTime data as dd/MM/yy, we used dd/mm/yy. As you probably know, "mm" is the minutes and "MM" is the month, so the dates had the minutes instead of the month.
That was a foolish mistake which caused us to reopen the solution and running many tests all over again. bummer.

What have I learned from this?
  1. Always remember the DRY (Don't Repeat Yourself) principle (from the pragmatic programmer). If our DateTime format was stored in one place, the change could be much more simple.
  2. Tests have to be more specific: "Check that all fields are OK" is not enought. Many programmers checked these pages/modules and nobody found this bug.
  3. I believe that code review should had cover this bug. The code review must be in high quality.

Thursday, May 10, 2007 7:36:22 AM (Jerusalem Daylight Time, UTC+03:00)