Monday, December 24, 2007
In my quest to find a Nintendo Wii for Christmas turned out to not be an easy one. A week before Christmas I decided to get a Wii, after calling around and finding out all different stories about people camping outside of Best Buy, Target, Toys-R-Us, and the like. I decided to try Fred Meyer since we were in the store shopping for grand parents... so I walked over to the electronics section and asked them if they had any Wii's. As expected they said they did not have any, however the guy behind the counter said we get shipments in on Wednesdays and Fridays around 6am and the store opens at 7am so get in line early. My eyes glowed as the day was Sunday... I had three whole days before I could attempt at getting my own... so I went back to work on Monday and mid-afternoon a co-worker of mine said he just picked up a Wii at E-B Games about 10min ago and even had the Wii in his hands to prove it. Since E-B Games is 5 blocks away I decided to lock my machine and run... After I got to the store I was next in line and asked the worker behind the counter for a Wii... he said to me... "Sorry Sir this is the last one". So I said with a smirk... "Thank you"... and turned around and went back to the office. Wednesday soon came and I made sure I was going to be at the head of the line, so I arrived at 5:30am and was 2nd in line... I waited until 7am. When 7am came a Fred Meyer employee showed up to open the doors and said to all 20 people in line that they did not get the shipment in and are very sorry for the inconvenience. Cold and hungry... I turned around and went straight to work, I figured I would give it one more shot and go back on Friday for one last chance before Christmas... otherwise I would wait until after Christmas. Friday came and I arrived at 5am this time and I was first in line... then 7am rolled around and the same employee came to open the doors for a line of 30 people or more... this time he said... "Sorry folks we only received 14 Wii Consoles this morning so I can only accept the first 14 people in line". Yay!!!! :)
I walked up to the register and paid for my Wii console... merry Christmas to me!
For those looking for so called impossible gifts to find around the holidays in the future... don't forget about Fred Meyers.
Tuesday, December 18, 2007
-Develop with Passion
(Jean-Paul S. Boodhoo)
Monday, December 17, 2007
Things have been going really well, I moved the entire C++ code base over to 2005 which was a lot of fun... "Not". And since the rollover I've been adding perf improvements and refactoring some sections of the code base in CLI, throughout the process I've learned more about pointers, STL, containers, memory space, loadlibrary, getprocess, etc... more than I ever wanted to know. ;)
However I've learned what it takes to write native code and how much I appreciate managed code. The company has been going through a rough patch with having to layoff some people which have caused some of our developer contractors to leave there positions. So I'm back on the internal intranet site for now as the lead. I will most likely re-structure all the work that has been done in a way that makes more since for new people that will be coming on board next year. The intranet site is not that complex which will make it easy for me to restructure it and incorporate a build process using Nant of course as well as adding some acceptance unit test with MBUnit. If there is time I will try to setup CCNet on a machine just for me so that I can monitor stuff that other contractors are doing. Whew! I have a lot of work ahead of me and not much time to do it in... so wish me luck as I enter back in to the world of ASP.NET/AJAX and best of all novice code. ;)
Thursday, December 6, 2007
Monday, November 19, 2007
Well it's almost Thanksgiving... and as I sit and think about what I was doing over the last holiday break it hits me. I was working on building a Drill Team Competition Judging Application in Windows Presentation Foundation... This time one year ago it was in beta, and I can honestly say that the technology and my knowledge on it has come a long way. I've since finished the application above which now needs to be re factored into MVP. However, I've turned my attention to a new application also for Drill Teams... but more of a Team Management software package than anything else. So for the last few weeks I've had a craving to work on WPF again... much like the craving I get for turkey during the turkey holiday. ; ) So I went poking around Google last night in search of new WPF videos or training to purchase and found some free videos that has already began to change the way I think about all the cool features in WPF. For those of you looking to learn about things like Data binding, Styles, Templates, Documents, 3D, Media, etc. Then you need to do what I'm planning on doing this holiday when I'm sitting around pretending to visit with my family. WPF BootCamp, it's a series of videos that start from the basics and works it's way up to advanced topics. And what's even better is the presenters... folks like Bea Costa (Data binding Genius), Kevin Moore, Dr. Sneath, Celso Gomes(Blend God) and more. Each video is a good length about 45min minimum so the talks are very good an in depth. I haven't seen them all but I certainly will watch each one at least 5 times each to make sure I get the material. ;)
-Enjoy the Boot Camp-
Saturday, November 10, 2007
1) Nerd Dinner
2) "Free" in person MSDN event
3) And possibly buy a few of the new tutorials at innerworkings.
Thursday, October 25, 2007
Finally a code camp in the seattle area... usually they hold these in places I can't visit like Canada, Oregon, California, etc. Now finally there will be a code camp at the old Nintendo building now Digipen in Redmond. It will surely be a lot of fun and I hope to learn a great deal... especially with the following break out sessions.
There are a lot of ActiveRecord implementations out there. Come check out SubSonic a lightweight offering on CodePlex.Track: ASP.NETSpeaker: Chris Kinsman
Castle - The DVD Extras
Many people have already heard of the Castle Project [http://castleproject.org] and some of the major subcomponents: Monorail, ActiveRecord, Windsor. Whether you use these things or not, Castle has build up a compelling array of supporting components and libraries that are relatively easy to use from your application - even if you're not using the rest of Castle: Dynamic Proxy, an NVelocity fork, Scheduler, FlexBridge, and other things not directly associated with Castle. In addition, a lot of the Code is so well written, you just feel smarter after having read it. Let's take a look at some of these things, how you can leverage them, and what the code looks like.Track: ASP.NETSpeaker: Chris Bilson
Dependency Injection with ObjectBuilder 2.0
What is dependency injection? When should I use it (and when not)? This talk will answer those questions and more, plus show off some of the design changes made to ObjectBuilder 2.0 (and sample containers that drove and validated the design).Track: Core .NETSpeaker: Brad Wilson
Rethinking Unit Testing: xUnit.net
The release of NUnit 2.0 was 5 years ago. This version of NUnit was more than just a warmed over port of other frameworks, pioneering the use of aspects to describe tests in .NET. Unit testing began to really catch on in .NET. Five years later, most developers are doing unit testing, and many of them cut their teeth on NUnit. With many unit tests under their belt, Jim Newkirk (the primary NUnit 2.0 author) and Brad Wilson -- with feedback from many friends and co-workers -- have released a new unit testing framework for .NET, xUnit.net. In this talk, Brad will discuss the history of xUnit.net, including their motivations and decisions, as well as show the new framework both for test writers and for those who wish to extend the framework for their own uses.Track: Agile PracticesSpeaker: Brad Wilson
Pex – Automated White Box Unit Testing
Parameterized unit testing is becoming a mainstream feature of most unit test frameworks; MbUnit RowTest (and more), VSTS data tests, xUnit.net Theories, etc... Unfortunately, it is still the responsibility of the developer to figure out relevant parameter values to exercise the code. With Pex, this is no longer true. Pex is a unit test framework addin that can generate relevant parameter values for parameterized unit tests. Pex uses an automated white box analysis (i.e. it monitors the code execution at runtime) to systematically explore every branches in the code. In this talk, Peli will give an overview of the technology behind Pex (with juicy low-level .NET profiling goodness), then quickly jump to exiting live demos.Track: Core .NETSpeaker: Peli
Windows Live DevelopmentIn this session, we'll take a look at the Windows Live development platform, which enables 3rd party applications to integrate with Live ID, Contacts, Spaces, Messenger, Alerts, Silverlight Streaming, Virtual Earth, and Expo.Track: ASP.NETSpeaker: Ed Kaim
Reflector and Friends: An overview of Lutz Roeder's .Net Reflector and its add-ins
Do you use Reflector on a daily basis? How about it's addins? Ever want to write your own addin? If so, you will probably find this session of some use and maybe even have something to add. This will be an introduction and overview of Lutz Roeder's .Net Reflector tool and some of the addins the community has developed for it along with a look at developing additional addins of your own. There are two sections to this talk: an introduction and overview of the tools (length depends on the experience of the attendees) and a look at developing Reflector addins or extending existing ones.Track: Core .NETSpeaker: Jason Haley
Black Belt DSA, building Duplex Agents
The Disconnected Service Agent in the Smart Client Software Factory allows you to queue up web service calls to a remote server when disconnected. These calls are played back once the connection returns. This is great for simple message exchange patterns that instantly return a response. However, it does not help you in the case of a long-running operation in which the response is to be returned out-of-band. Come to this session and see how we can tweak the DSA to allow it receive an asynchronous response. We'll utilize a WCF Duplex channel to provide an agent that will make a call and go about it's merry way until it receives a call back from the server. This functionality is beneficial beyond offline scenarios, I'll show you how you can also use this technique to faciliate exchange patterns with multiple responses. For example requesting a large result set of data that is returned in a chunked fashion over multiple successive calls. If you are develeoping with SCSF / CAB, don't miss this session.Track: WCF and WFSpeaker: Glenn Block
Session state injection your way with WCSF
The StateValue mechanism in Web Client Software Factory provides a nice clean way of injecting values to and from ASP.NET's session state. One of it's big advantages is it provides for testability, allowing the values to be substituted in a unit test. Another big advantage is that it allows a declarative way for values from ASP.NET Session's state to be plugged in. But what happens if you aren't relying on ASP.NET Session and have a custom or third-party mechanism? Are you "up the creek without a paddle"? Actually no. Come to this session and I'll show you to "Have it your way" and make our Session State strategy bow to submission.Track: ASP.NETSpeaker: Glenn Block
Data Enhancements in Visual Studio 2008
Visual Studio 2008 offers a number of features that make it easier to build both 2-tier and n-tier data applications. This session will cover the following: • Using the new TableAdapterManager to manage updating of related table. No more having to write the code make sure child rows are deleted before parent rows. Now, it’s automatic. • Using ADO.NET Synchronization Services to maintain a local copy of data that doesn’t change often, such as lookup tables, and then synching that data with the server version. • Automatically separate DataSet code from TableAdapter code. Today, you must do this by hand if you want to use the DataSet Designer and build an n-tier application. Or you can have VS 2008 do it for you. • LINQ to SQL classes and the Object Relational Designer. The LINQ to SQL classes provide a way to map a database model to an object model. You can write the code yourself, or you can use the Object Relation Designer and drag and drop tables and stored procedures from the Server Explorer. Track: Core .NETSpeaker: Robert Green
Windows Application Enhancements in Visual Studio 2008
Visual Studio 2008 includes some cool and exciting new features for building Windows client applications. In this session, we will explore two of them: • Client Application Services provide a way for you to add remote login, roles and profiles to client applications. Today, you can log into a Web site such as Amazon and the Web site knows who you are and what your preferences are. They are stored on the server and you are who you are regardless of what computer you use. Client application services gives you the ability to add this same functionality to a Windows application. You will write a service to authenticate users and to determine what roles they have. You can then call that service from any client. You can also write a service to manage settings. So you can store user settings on the server rather than only locally. • Windows Forms and Windows Presentation Foundation Interoperability. WPF is the revolution in user interface we have all been waiting for. Over time, it will increasingly be the way you build client applications. In the meantime, what do you do with all your Windows Forms and user controls? You will want to use them in your WPF applications. And what if you build a neat WPF control? You will want to use it in your Windows Form applications. With Visual Studio 2008, you can and we’ll see how. Track: Core .NETSpeaker: Robert Green
An Introduction to Windows Communication Foundation
This session will provide an introduction to Windows Communication Foundation. It will answer a number of questions such as: What is WCF? Why was it invented? How does it compare to Web services or .NET Remoting? How is it better than those? What is a service? How do I create one? How do I host one? How do I call one from my applications? What do I need to do to make sure clients and services can communicate? Once we answer these types of questions, you will be able to start creating your own WCF services and have a much better understanding of how to work with this promising new technology. Track: WCF and WFSpeaker: Robert Green
For more info head over to the site.
Tuesday, October 23, 2007
This is a question that often comes up in Software Engineering. As I follow the blogs and discussion I often run into some wonderful information... and sometimes it's life changing. I happen to catch the following video which I encourage all developers to watch which is narrated by none other than Martin Fowler.
The discussion covers quite a few aspects of software design including things like how to make design decisions, TDD (Test Driven Development), BDD (Behavior Driven Development), encapsulation, and more. The panelists for the discussion are so very gifted and talented at what they do, they are all brilliant in there own way and conveniently enough work at thoughtworks.
Rather than go into each one of these guys web site... I'd rather just point you to InfoQ
which is where there web sites, articles, and videos can be found. If you can... check out each one of them, they all cover so many topics and you will certainly learn a lot. I have... ; )
Saturday, September 15, 2007
For those of you that know I'm buying my first home soon(Prescott) also know that I'm going to be there during the build to make sure all the necessary additions are made the way they are supposed to be. For the past several months I've been watching Discovery Homes new show... Holmes on Homes Mike Holmes is my definition of a world leader in pure and honest craftsmanship. His approach to building/renovating homes is second to none... he has a clear vision to all projects and fully supports learning and implementing new concepts to make outstanding finished products. I like his approach so much I've decided to use that same approach to building software... when Mike has a problem with implementing the right kind of solution such as removing asbestos... he calls in the pro's and makes sure it gets done right. This same principle can be applied to software development... whether it's security, exception handling, validation, or just pure design its very feasible to look around at what others are doing to help ease the pain in implementing these kinds of important decisions that every developer faces. Speaking from experience... this approach works, you can implement such things as Microsoft application blocks, Design Patterns such as MVP (Model-View-Presenter) to help with certain areas of each application build or re-build. My approach to building software or re-factoring software will always be to "Make It Right" and "Above Code" which can be translated to above standards. This will insure that the software will run and last a long time... the same will be true for my first home.
Thursday, September 13, 2007
Friday, August 17, 2007
week four and the entire weekend I was able to write my own C++/CLI wrapper around native C++ API's. Awesome stuff, after a while of writing managed C++ begins to feel a lot like C#... so I began to feel right at home... I'm happy to report that I've replaced the COM object which took the guy who wrote it 3 months development time. It took me about a week and half. :) My boss was so impressed that he's considering moving me up a step to work on a C++ team. I've only been writing C++ for about three weeks time... thank god for Microsoft's work on C++/CLI.
Long story short... if you have any interoperability to do with C++ into managed code, seriously consider C++/CLI... there are a lot of options to help with seamlessly integrating with native code. Oh... and on a side note, no one on the C++ team including my boss even knew about C++/CLI so when I told them about the interop story on the white board they literally where stunned, and I of course looked very good. : )
Thursday, July 5, 2007
Alright... taking a break from the home automation projects I was able to focus on job interviews
much like the picture above. Well... maybe not exactly like the picture above, but the job I did land is similar. I'm now working for a well known banking company that goes by the name "Washington Mutual"... Scott Hanselman eat your heart out. This is going to be a great move,
I'll get to embark on the world of JAVA and C++ and Oracle 10i on the back end... I'll be sure to give updates as I go along, my start date is 7/16/07!!
Sunday, June 3, 2007
The project has been completed for about a week now... I'm still editing the videos and will post them soon. For the time being I thought I would at least discuss the products used in the videos in a little more detail. If you have not read any of the previous post then "shame on you"... and if you have... "thank you". This project surfaced due to my daily struggle of waking up, getting to the living room, turning the t.v. on, and channel surfing to the weather channel to check the daily weather with out waking up my 5 year old daughter or lovely wife. As if this weren't enough challenges I have to keep a 1 1/2 year old yapping Yorkie and 9 year old tuxedo cat quiet as well... as you can probably imagine it's a daunting task... so I started looking for a solution. I need a way to automatically turn the t.v. on, navigate to the weather channel and mute the volume prior to my waking up in the morning. Enter the solution... so I will be using an old school 32inch Zenith TV(Man I can't wait until I get my house so I can upgrade to plasma) with a comcast DVR reciever, then I will use a USB IRTrans transmitter along with packaged web server which is controlled through a custom .NET application.
At first I implement a console application for simplicity... then I factor out the code into a windows service for a little bit of polish. The videos should shed more light on the implementation and I certainly had a lot of fun doing them. :)
Thursday, May 24, 2007
The following is the current outline:
1) Automate morning television set to weather channel and muted volume
Note: This will be done in the tiny two bedroom apartment (I'll explain the project on the video)
* Technologies (Infrared Transmitter, USB Interface, .NET SDK/API, Custom C# Windows Service)
2) Automate lights and shades to that of the previous post
Note: This will be done in my new home so I will have a much bigger canvas(Hopefully (yn))
* Technologies (X10,Z-Wave or CM11A, Parallel,Serial or USB, .NET SDK/API, Custom C# Windows Service)
3) Install touch screen monitors in a couple of hallways and home office wall, then test with either windows ce or window tablet pc... most likely windows tablet pc.
4) Build 3.0 WPF application to override scheduled services on demand
Note: This will have Speech-To-Text capabilities, so the app can be driven by the sweet sound of my voice. :)
* Technologies (Tablet PC platform, .NET 3.0, Expression Blend C#, WPF, Speech 5.3 SDK)
-Install solar panels on roof top and collect solar energy
Note: (Figure out a way to collect wind energy as well)
Once I have collected the energy and safely stored in a known location I want to be able to track
how much I've consumed, and how much I have to sell to the energy company.
Then I can use X10 to communicate with the energy levels and tell me how much energy consumed and available to sell respectively. Once that is complete it will be a matter of hours before I can hook that up to my WPF application and speech enable it. :)
Whew... that is certainly enough for now... I really could go on and on.
This however is a good stopping point... so with the long memorial holiday I have starting today I think I will get started on the first project... stay tuned... and to all my fellow dev's out there...
have an exception free day!
Monday, May 7, 2007
2) The new Touch Screen LCD PC from Quataris Technology this obviously is the right and size and I can run WinXP/Vista/or CE 6.0 on it. Definitely a front runner at the moment.
Once I find the right display I will need to figure out wiring through the walls etc. don't worry I will have documented steps on most of this information right here on lifeofadev.blogspot.com
The plan for phase 1 :
1) Control lights in living/dinning/master suite/control room(office) /media room
2) Control the blinds in living/Master suite
For the software I'll be building a custom UI in WPF running on .NET 3.0 leveraging the WinXP SP2 or Vista Platform and it will all be controlled through the new Speech to Text Managed Api's using C# of course. :)
The goal is to walk in to or out of a room and speak to the lights or blinds via voice command.
I'm currently thinking something along the lines of "Lights On", "Lights 1" = dim lights (25%) , "Lights 2" = dim lights(50%) , "Lights 3" ,"Lights 4" and "Lights Off" respectively. Same kind of thing for the electrical blinds.
These sorts of applications are spinning up all around us in homes of folks who can afford a team of specialist to come in and install everything, of course leaving a pretty universal remote for all the components. Not me... I'm a dev all the way and with the help of Phidgets and the display possibilities above I'm well on my way. Oh... I forgot to mention Phidgets... well the link is above for the full info, but essentially I came across the company by watching a UWTV Computer science and engineering lecture on the subject and then went over to the website for more info... these guys are electrical engineer grads who build hardware devices for plug-n-play use.
Awesome stuff, more over... Lee Brimelow has already gotten starter with it over at contentpresenter.com he controls a 3D model in WPF with several phidgets.
So I thought I'd blog about my some of my ideas and plans... I first got into home automation about 3 years ago back in 2003, shortly after my first couple of years in .NET development.
I started to look in to X10 Technology which was compliant with .NET and super simple to get setup, soon after that I got busy with work stuff and then eventually found myself back in to r&d. Even though I don't have a home yet, I plan on moving from the small 2 bedroom apartment in Bellevue,WA to a 4/5 Bedroom, 2 living/2 dinning, 3 bathroom, game room, 2 car garage home in Dallas, TX. This will make things seem so much more comfortable allowing us to appropriately welcome our soon to be third addition to the family... with this kind of setup I have a more than adequate canvas to begin my mission for a smart home. Of course the home will be running on .NET 2.0/3.0 code and X10 hardware for lighting... mostly simple things that have been done by some of the folks out there in the community, folks like Tony Northup, and Chris Walkers Z-Wave Technology which extends X10. Definitely some cool things out there in the .NET space of Home Automation.
Friday, May 4, 2007
Mix 07 is coming to an end... even though I didn't actually attend in Vegas I subscribed to the feed of live footage keynotes and break out sessions... which honestly felt like I was there.
Silverlight is essentially WPF/E ... a cross platform web based solution for rich UI experiences.
Now for those of you that know me also know that I don't represent the Web Dev side of development, but I must say that this technology is pulling me back to the web side of things.
Wednesday, April 25, 2007
Not good... so I checked it out and turns out I have HCM. Which basically means I have a muscle in my heart that thickens(grows bigger) after activity or exertion... this causes abnormal blood flow in the heart and is causing me to vomit. For a more accurate definition/explanation I have supplied the following information:
What is Hypertrophic Cardiomyopathy (HCM)?
Cardiomyopathy is a condition in which the muscle of the heart is abnormal in the absence of an apparent cause. This terminology is purely descriptive and is based on the Latin deviation. HCM is a primary and usually familial cardiac disorder with heterogeneous expression, unique pathophysiology, and a diverse clinical course, for which several disease causing mutations in the genes encoding proteins of the cardiac sacomere have been reported. While HCM has typically been recognized by its structure ie., hypertrophy, the electrical function of the heart are also adversely affected. There are three types of cardiomyopathy: "hypertrophic", "dilated" and "restrictive". The main feature of hypertrophic cardiomyopathy is an excessive thickening of the heart muscle (hypertrophy literally means to thicken). Thickening is seen in the ventricular septal measurement (normal range .08-1.2cm), and in weight. In HCM, septal measurements may be in the range of 1.3cm to 6.0+cm. Heart muscle may also thicken in normal individuals as a result of high blood pressure or prolonged athletic training. Furthermore, there is a fine line between and athletic heart and a heart with HCM.
In Hypertrophic Cardiomyopathy (HCM), the muscle thickening occurs without an obvious cause. In addition, microscopic examination of the heart muscle in HCM is abnormal. The normal alignment of muscle cells is absent and this abnormality is called "myocardial disarray".
Now in my case I have about a third of the disarray shown above, which is kind of scary. Doctor says there is two ways to treat it. 1) medication to suppress the growing of the muscle or 2) surgery which would essentially be removing part of the muscle. Of course I opted for the medication to start.
Being very athletic for 20+ years I figure that my being 27 would not be cause for concern, but when I checked it out the results revealed a little cause for concern. If you ever feel as though your body is not acting normal you should definitely check yourself out... you never know what you might find.
for more information on HMC visit 4HMC
Tuesday, March 27, 2007
We'll have to see how it all unfolds over the summer....
Wednesday, March 21, 2007
point you will have to put together a EULA (End Users Licenses Agreement) or FEULA (Fair End Users Licenses Agreement). Having one of these in place protects you from end users who want to basically do harm to your company in court... I have been around and around and have decided to go with the FEULA and tweak it for my needs... thankfully their is a lawyer in the family on my wife's side. If you can gather up the means I highly suggest you have your EULA or FEULA looked over by a lawyer before putting on your install.
Wednesday, March 14, 2007
ScoreSheet is a try-out system I am building for teams that hold try-outs for a specific event... and inside it resides a calculator engine that I use, and well a requirement came in which needed to be able to get the total score no matter what it is and view it as a percentage.
I came up with the following procedure which works out quite well...
Friday, March 9, 2007
I figured it out and just knew their had to be a better way, so I asked a co-worker of mine the next morning and got the following result after collaborating with him... of course the results were much better this time around.
As you can see from above I just pass the values from the dictionary to the constructor of the collection I want to convert to. I am able to do this because the constructor takes IEnumerable as a parameter... any collection which inherits IEnumerable can be passed in.
In the future always look for this first, for it may be the solution your looking for when converting collection in .NET 2.0
Tuesday, March 6, 2007
A typical day consist of the following 10 steps...
1) Wake up... go to work... migrate delphi to C# 1.1 and maintain
2) Daily meetings on design ideas for migrating C# 1.1 to 2.0
3) 6pm, can it be already.... get home... fire up Vista... and Continue the Revolutionary C# 3.0 Application which will one day change the world.
4) Work Out/Shower
5) Family Time & Dinner Time
6) Spouse Time & favorite T.V. Shows
7) Tuck the little one in bed.
8) Back to the C# 3.0 Application
9) Read for a little while.
10) Bed Time