SyntaxHighlighter
Sunday, April 27, 2008
Tuesday, April 22, 2008
ALT.NET Wrap-up

More sessions... more learning.... more experiences.... etc. It was one of the best developer experiences I've had thus far in my career. I managed to sneak a couple of pictures (below)from some of the guys Flickr sites. :-)
Here is day one... kick off meeting.... Sitting right in front of me are a few guys on the Mono team, and just off to the left of them is Brad Abrams(Brown Jacket)

Here I am (lower left corner)listening in on Phil Haack's (Upper right corner) discussion on ASP.NET MVC.

Since ALT.NET is one of those conferences where the agenda isn't decided until the first day...
I thought it'd be cool to show my signature on one of the sessions (Distributed Domain Driven Design) that was finally decided on by the entire attendee list. Mine is the big C.F. :-)

Always good to be a fly on the wall in these kinds of conferences... can't wait until the next one.
Develop with Passion
-Jean Paul S. Boodhoo
Saturday, April 19, 2008
ALT.NET End of Day 2

Still, it's the end of day one... so I get home and brush up on the topics that I will learn about today. End of day two (as the title of this post reads) was an amazing experience to say the least. 10:30am first session of the day I kick off with Iron Ruby (talk given by John Lam), Then it was on to the next session... a new tool (Spec#)I haven't heard of before today. So listening to the guys who wrote it and having a chance to interact with them was very cool... I left the talk feeling the same way as everyone else who attended it. We all have high hopes that spec# will find it's way into C# 4.0. After that we broke for lunch and then back to the sessions. When I returned to the sessions I decided to go hang out and listen to a discussion about ASP.NET MVC with Scott Gu, Phil Haack, and Brad Abrams to name a few. It was a good talk, and I certainly gained more insight than I previously had about the framework itself.... however, I wanted to change topics... so I went to a different hall and discovered a topic on DSL's or Domain Specific Languages. This was one of the better talks of the day since it was facilitated by Martin Fowler. Quite a few issues were brought up and addressed on the subject which made for an interesting discussion... with guys like Oren Eini (creator of Rhino Mocks), Roy Osherove(who did not bring his guitar), and Scott Hanselman. After that I caught Scott Bellware's talk on BDD(Behavior Driven Development) which was very insightful. Finally I finished up the day chatting with one of the Mono Framework team members about the pain points I've experienced with getting .NET applications to run on the MAC, and Charlie Pool creator of the NUnit testing framework. Whew! Quite a day... can't wait for the final wrap up day tomorrow.
Develop with Passion
-Jean Paul S. Boodhoo
Tuesday, April 8, 2008
Civil Engineering or Virtual Bridge Builder
In my continued experience I've been challenged time and time again to interop, integrate, or simply bridge to and from the .NET Framework. Whether its Web Services in Java/systinet or Managed code(C#) to Native code(C++) through C++/CLI... the fact still remains that the .NET Framework is so powerful in so many ways. Which is why... dear reader... I present to you my third and probably most difficult challenge to date. C# on Unix/Linux platforms.


That's right dear reader... Another challenge that I will once again rise to. There is a .net application that makes network calls to a database that resides on a Linux box. It's an old
application since it's written in .NET 1.1 and is problematic due to strange code and network issues. The Linux box is from what I hear... an 8 proc box. That's right... 8 processors. I'm thinking right away that I can use .NET 3.5 parallel libraries to make use of those 8 processors.
I just need to get it working first. :-)
So... there are a couple of ways to accomplish this, and they are as follows:
1) Install an Add-In to VS2005/VS2008 which will allow the C# compiler to adjust for Mono.
2) Use the IDE above and leverage the mono compiler that way.
Either way I look at it... I have to compile down to Mono so that the Mono Runtime can execute the application. That's basically how it works... so as a comparison... Windows loads mscorlib along with the .NET framework and it's corresponding version during application launch.
However, in a Linux/Unix environment... Mono loads and launches the .NET application.
So first things first, I have to install the Mono runtime just like I'd have to install .NET on windows. My first attempt is on a Unix platform since I have a powerful Mac machine at my disposal. :-) The runtime installs smoothly... so far so good. Now the development environment above... install worked great, but when I went to run it I got a mono runtime error. It gave me a mozilla error... something about MOZILLA_FIVE_HOME path not set to mozilla install directory. After searching around I found two things... one...that mozilla is a direct dependency on the IDE above and must be installed in order to do development. two... the environment variable must be set which I could not figure it out in the 20min of playing around with it while my five year old daughter kept harassing me to get off and let her play games. Ahhhhhh!!! Well, needless to say it has begun and I will ultimately rise to the challenge... even if that means falling back to VS to do development. :-)
-Develop with Passion
Jean Paul S. Boodhoo


That's right dear reader... Another challenge that I will once again rise to. There is a .net application that makes network calls to a database that resides on a Linux box. It's an old
application since it's written in .NET 1.1 and is problematic due to strange code and network issues. The Linux box is from what I hear... an 8 proc box. That's right... 8 processors. I'm thinking right away that I can use .NET 3.5 parallel libraries to make use of those 8 processors.
I just need to get it working first. :-)
So... there are a couple of ways to accomplish this, and they are as follows:
1) Install an Add-In to VS2005/VS2008 which will allow the C# compiler to adjust for Mono.
2) Use the IDE above and leverage the mono compiler that way.
Either way I look at it... I have to compile down to Mono so that the Mono Runtime can execute the application. That's basically how it works... so as a comparison... Windows loads mscorlib along with the .NET framework and it's corresponding version during application launch.
However, in a Linux/Unix environment... Mono loads and launches the .NET application.
So first things first, I have to install the Mono runtime just like I'd have to install .NET on windows. My first attempt is on a Unix platform since I have a powerful Mac machine at my disposal. :-) The runtime installs smoothly... so far so good. Now the development environment above... install worked great, but when I went to run it I got a mono runtime error. It gave me a mozilla error... something about MOZILLA_FIVE_HOME path not set to mozilla install directory. After searching around I found two things... one...that mozilla is a direct dependency on the IDE above and must be installed in order to do development. two... the environment variable must be set which I could not figure it out in the 20min of playing around with it while my five year old daughter kept harassing me to get off and let her play games. Ahhhhhh!!! Well, needless to say it has begun and I will ultimately rise to the challenge... even if that means falling back to VS to do development. :-)
-Develop with Passion
Jean Paul S. Boodhoo
Friday, March 28, 2008
I AM ALT.NET

(AltNetPedia)
A week or so ago I listened to Scott's weekly podcast as I do every week, and the topic was ALT.NET. After listening to it... I went over to altnetpedia(the link above) to learn more.
It is so refreshing to learn that a lot of what I'm doing and what I'm striving to do actually has a name and meaning. As I gear up for the conference next month I'll be going over the major principles and practices that I try to incorporate in my daily development efforts. It'll just be a review, but again I want to be sure I'm covering as much as I can.
Practices and Principles like the following: (These will be referenced from Agile Principles Patterns and Practices in C#)
1) Single Responsibility (SRP)
2) Open-Closed (OCP)
3) Liskov Substitution (LSP)
4) Interface Segregation (ISP)
5) Strategy
6) Facade and Mediator
7) Singleton and Monostate
In addition to the list above... I'll also be digging around in Spring.NET a little more since I got the hang of the IoC container. That along with daily development efforts should be enough to find myself ready for the event.
So what does all this mean? What does it mean to be ALT.NET? On a daily basis I find myself being a little frustrated at the fact that I'm apart of a large organization and yet... I'm the only one in my group who is employing fresh, innovative design ideas. As a contractor I came in and built a bridge between existing legacy C++ and Modern .NET with the help of CLI. I had no previous C++ skills.... the only thing I had at the time was passion, confidence, and the will to make the .NET platform play a key role in enhancing the legacy code base. This got me noticed, and so I became a part of the team full time. Even though I'm apart of the team, the fact still remains... I'm the only one implementing TDD, BDD, MVP,IoC, SRP,ISP, etc. I mean I've even tried to employ XP style approaches to some of the projects that I'm working on. Nothing formal, just some basic techniques like index cards for user stories, breaking up two weeks worth of work into two iterations. Even though I'm doing all this... it's completely going unnoticed.... mainly because no one knows about this stuff at all. Sigh... what does it all mean?
I'll continue to push myself and the .NET platform to the edge... because that's what's made me the developer that I am today. A lot of great development coming with emphasis on home automation, Micro Framework(embedded devices), integration with Media Center (Vista Ultimate) , Windows Home Server (mControl add-in), etc.
The way things are going I've decided to give it a little more time to see how it goes. They're finally making plans to migrate some legacy C++ code over to C#, and seeing as how I've got experience in Migration, Porting, and Total Re-Writes... I'd say it's right up my alley. :-)
Anyway, I'm gearing up for ALT.NET!! (A little over two weeks to go)
-Develop with Passion
Jean Paul S. Boodhoo
Tuesday, March 25, 2008
The House That .NET Built (Part 5)
Well... were almost home. The .NET service oriented, solar powered, wind powered, technology driven, automated home is almost complete. This will be the last post until it is completely done.
Below are a few pictures of the outside completed... minus the landscaping. Below the pictures are a few videos of the inside of the home insulated and dry walled.
All in all... it was a good Easter Sunday. :-)



(Up-stairs) 2nd floor
(Down-stairs) 1st floor
(Garage/Front) Outside
Below are a few pictures of the outside completed... minus the landscaping. Below the pictures are a few videos of the inside of the home insulated and dry walled.
All in all... it was a good Easter Sunday. :-)
(Up-stairs) 2nd floor
(Down-stairs) 1st floor
(Garage/Front) Outside
Sunday, March 16, 2008
Becoming a better Developer
In my quest to become a better developer I went out Friday night (after a movie with the family) to Barnes and Noble and planned on picking up Patterns of Enterprise Application Architecture by Martin Fowler. Instead I picked up Applying Domain-Driven Design and Patterns which is shown below. This book captures everything that Martin Fowler's book covers except it has a .NET flavor instead of the Java flavor that is expressed in Martin's book.
Subscribe to:
Posts (Atom)