Category: All about Keith

Contact Me

Got something in mind that you want discuss with me? An inquiry? A development opportunity? or perhaps a programming question that you need help in solving. Then, Don’t hesitate! Send me an email and lets discuss your thoughts. I’ve be more than happy to assist you.

or if you are in a hurry you can call me:

Thank you and God Bless!


Keith Rull

From dasBlog to WordPress

After 4 hours of tweaking and fiddling I finally got the whole site migrated from dasBlog to WordPress. I love dasBlog and have been using it since 2005 but the lack of updates and progress made me decide to move to a new platform… There’s still some things that are left to be done like tweaking the home page of to something more informative than the blank space that I have right now but I’ll get to that in the next few days after customizing the theme in this blog.

I’m going to miss dasBlog but this ‘new shiny thing’ will sure make me not miss it for long. Catch you guys later!

Expression Studio 4 is out and my 60-day tool

I was really excited last Monday after seeing Expression Studio 4 has been released (I have to admit that I’m one of those developers who logged in at MSDN at 12 midnight to check if the RTM bits are already out. hehe). I think this is great news for all XAMLers all over the world. On thing that I’m really sad about though is that our corporate MSDN license only has Expression Studio 4 Professional and not the Ultimate version. Bummed. So I ended up downloading the 60 day trial up until I can figure out how I can get a copy of the full version (OK, here’s the part that I ask donations to get a full copy but I’ll leave that out. LOL).

Sad, but still happy. At least I have 60 days to enjoy this new tool. 😉

My MIX09 10K Contest Entry: Silverlight Pregnancy Calendar

I had some free time during the holidays and saw at the MIX09 website that they have a contest entitled MIX09 10K Challenge where they ask participant to create a web application that is either using Microsoft® Silverlight™ or Windows Presentation Foundation, as a XAML Browser Application running in Partial Trust or as a ClickOnce application in 10 kilobytes or less. I decided to take a stab at it and this is what I’ve came up with

SilverCalendar: A Silverlight Pregancy Calendar

You can see the app live here

Dont forget to vote when you’re there 😛 LOL

My primary motivation when I built the app is the idea of having something that is going to be useful and at the same time fun to build. My wife is currently 34 weeks pregnant and it made me think that a pregnancy calendar would be q great application to do since it relates to me and my current day to day life. I love pregnancy calendars because it gives you a good daily insight on the progress of your baby and what you might expected as you go along in your daily life as a soon to be parent.

The application that i built is using Microsoft Silverlight 2 with a backend WCF web service. You can find the pregnancy calendar web service here. I wasn’t able to add any animations to the application because I decided to concentrate in adding functionality to app rather than the eye candy’ With that said, I’ll be posting the non-10K application this week.

Be sure to comeback on this blog in the coming weeks because I’ll be publishing the source code to both project soon together with a 11 part tutorial and screencast walkthrough that i have prepared to show how to to build an application using .NET 3.5, WCF, WPF and Silverlight.

KeithRull.NBible: A WPF Bible Application

A week ago, I started a contest at about writing a Bible application and a few people have asked me if I tried my own challenge. I actually did took the challenge and built my own Bible application. I wasn’t able to post it as soon as I wanted to do it due to time constrainst. What I built is a WPF Bible application but still needs some polishing to truely call it a “WPF app”. 

Now let’s begin the tour of the WPF app that I built.

The screen below shows the main interface for the program. The first tab is the browsing tab that allows the user to select a Book and a Chapter they want and displays the contents of your selection on the list below the Comboxes

The bold letters on the upper right side of the list tells you what book and chapter you are currently reading

The second tab is the search tab. This tab has a textbox that allows you to enter your search parameters

It allows you to search by keywords

By book and chapter

or by specifying the Book, Chapter and Verse

There are a few more things that I wanted to add this app but wasn’t able to do so like building a TreeView similar to CryptoKnight’s implementation that allows you to see the Document Map and also a matching word highlighting on the search screen would be a great addition too. Another thing that could be improve is refactoring the code and making the service layer a little bit more generic. I wanted to refactor it a bit more after I finished it but never had a chance to do so. I’ll leave it as is for now and hope to update it in the future.

There’s a lot more improvements I could think of but I’ll leave it for you guys to check and comment on what I could do with this app to improve it. Maybe we could make it an OpenSource application someday.

Anyhow, you can get the source code for this project here. (1.84 MB)

Thanks to everyone who tried the challenge. I promise to do more of these type of contest in the future. 

Again, Thank you, God Bless and Mabuhay ka Filipino Developer!

Keith’s Free eBook Recommendations Of The Month

Speaking of free books… Below are the list of free ebooks that I recommend reading/downloading for this month. I personally love Karl Seguin’s book and giving it 5 out 5 stars is actually an understatement if you ask me. 🙂

Karl Seguin‘s Foundation Of Programming: Building Better Software rocks so much I recommended it to everyone I know. This 79 page book is pack with a hearty bowl of software development knowledge that would teach you about the principles of development that you should have known way before you started coding that nightmarish system.

Red Gate’s Dissecting SQL Server Execution Plan is a must read for anyone who deals with data on a daily basis. It talks about how to optimize your querries and understand whats causing your querries to sleep on you while being executed.

InfoQ’s Domain Driven Design Quickly is a quickly-readable summary and introduction to the fundamentals of DDD that tries to summarizes Eric Evans’ book as well as Jimmy Nilsson’s Applying Domain Driven Design and various other sources. The book gives you hints and tips about DDD as well as ideas on how to start DDD in your own projects.

Minh T. Nguyen‘s Visual Studio.NET Tips & Tricks is a must read for all developers who use Visual Studio. Enuff said!

So what are you waiting for? Download and read ’em now!

A Leader Should Know How To Manage Failure

I saw this post from Mahesh today and it taught me something that I know I’ll put in good use in years to come…

Former President of India APJ Abdul Kalam at Wharton India Economic forum , Philadelphia, United States March 22,2008)

Question: Could you give an example, from your own experience, of how leaders should manage failure?

Kalam:   Let me tell you about my experience. In 1973 I became the project director of India’s satellite launch vehicle program, commonly called the SLV-3. Our goal was to put India’s “Rohini” satellite into orbit by 1980. I was given funds and human resources — but was told clearly that by 1980 we had to launch the satellite into space. Thousands of people worked together in scientific and technical teams towards that goal.

By 1979 — I think the month was August — we thought we were ready. As the project director, I went to the control center for the launch. At four minutes before the satellite launch, the computer began to go through the checklist of items that needed to be checked. One minute later, the computer program put the launch on hold; the display showed that some control components were not in order. My experts — I had four or five of them with me — told me not to worry; they had done their calculations and there was enough reserve fuel. So I bypassed the computer, switched to manual mode, and launched the rocket. In the first stage, everything worked fine. In the second stage, a problem developed. Instead of the satellite going into orbit, the whole rocket system plunged into the Bay of Bengal. It was a big failure.

That day, the chairman of the
Indian Space Research Organization, Prof. Satish Dhawan, had called a press conference. The launch was at 7:00 am, and the press conference — where journalists from around the world were present — was at 7:45 am at ISRO‘s satellite launch range in Sriharikota [in Andhra Pradesh in southern India]. Prof. Dhawan, the leader of the organization, conducted the press conference himself. He took responsibility for the failure — he said that the team had worked very hard, but that it needed more technological support. He assured the media that in another year, the team would definitely succeed. Now, I was the project director, and it was my failure, but instead, he took responsibility for the failure as chairman of the organization.

The next year, in July 1980, we tried again to launch the satellite — and this time we succeeded. The whole nation was jubilant. Again, there was a press conference. Prof. Dhawan called me aside and told me, “You conduct the press conference today.”

I learned a very important lesson that day. When failure occurred, the leader of the organization owned that failure. When success came, he gave it to his team. The best management lesson I have learned did not come to me from reading a book; it came from that experience

Thanks Mahesh for sharing such a wonderful inspiration to us…

Busy. Busy. Busy and Loving It!

I love being busy. I do.

I love working and building applications. I love making sure that what I build is a high quality application that has the ‘Wow’ factor stamped all over it. I guess it’s just my nature to enjoy work and build stuff.

I love building stuff. I do.

Being busy makes me feel productive. Pressure makes me better and seeing my users smile at the end of the project motivates me to do my best job everytime. Thinking of my family and our future keeps me moving. It does. It really does.

I’ve been busy this past few weeks (i think it’s almost a month and half know) with so much stuff going on at work doing UAT and production launch in a big ASP.NET dashboard application that I have been building in the past few months and I haven’t had the change to post anything useful since early February because of these work related things.

None. Zip. Nada.

Anyway, that should change soon since my schedule would be a little bit more relax in the next few weeks other than a week I need to spend with some Cognos guys to show them our data and help them mine it. Oh well! I’ll post something code related tonight. Promise!

I’ll keep you posted for sure! Later!