Monday, December 20, 2010

SSIS and Lego Mindstorms

So I've begun to skill up on Sql Server Integration Services (SSIS) in anticipation of starting a new job. My hope was two fold - to accomplish a professional development goal (MCITP Database Development Certification for 2008) and hit the ground running in my development role after the first of the year. So I went to crack open the Business Intelligence Development Studio (BIDS) and a self paced training kit. Much to my surprise the components in BIDS reminded me of Lego's integrated development environment.

It had been a long time since I've used BIDS for much. In previous development endeavors I was dissuaded from using SSIS or reporting services as they required exceptions in the production environment. Not since I studied for my exams for SQL Server 2005 had I really looked at SSIS and then it was with the intent of obtaining just enough proficiency to pass the exam.

In this last pass though it was apparent that fundamentally the two were very similar in their graphical syntax. For instance SSIS has the same "sequence containers" and "loop containers". Control structures do not have the same striking similarities but the concept of dropping graphical objects and linking them in sequences to accomplish a goal remains the same.

Less than a decade into my career, I fear my 8 year old son is already poised to surpass my technical skills.

Saturday, November 20, 2010

Silly String Shooter


Ok so after over a year of messing about I finally have completed my Silly String Shooter. It serves no higher purpose other than to optically recognize a threat and neutralize it with gooey silly string.

Here we have it with the heavy duty missile switch to arm the device, a potentiometer dial to adjust for range and an arcade over ride button to commence firing at will.

To begin I started with some basic hardware and an arduino. A friend, Andy suggested using a hinge to depress the button on the spray can. I also had some scrap wood, some "L" brackets.

After I roughed in a vertical post I mounted the servo and hinge. I cut and bent a wire coat hanger for the armature to operate the hinge. This worked marvelously.
I then proceeded to wire up an IR sensor and mount it to one side of the post (so as to "see" around the can of projectile goo).
I found what I thought was a reasonably sized enclosure for the arduino and such and proceeded to stuff it to the gills with buttons, dials, batteries and switches. Here is a shot of what is contained in the enclosure. Basically a battery, arduino, a dev shield, and the aforementioned external controls.
With a little bit of code I can use the powered up arduino to react to 2 different stimuli. The arcade button when depressed sends the servo into a pulsing fire mode that squirts unsuspecting intruders or kittens with silly string. Alternatively by arming the device and setting the distance with the potentiometer knob, perpetrators that break the IR beam are squirted automatically.

Check out the video for a crude demonstration.



Wednesday, November 3, 2010

New adventures in development

So I've undertaken a new project this past fall. I felt compelled to share what few skills I have with the Forest Service. It seems they have some volunteer websites they use to track volunteer hours, trail conditions, plants etc that could use some work.

Initially it seemed like a fairly simple task to knock off the rust from my php / mysql skills and sort out a few pages. Now it appears to be a slightly more daunting task with little or no documentation for the current site and a fairly complete data model for a go forward site. I expect some additional forensic work this week and some real coding soon.

Additionally, I've been reading blogs on SQL Server Central since catching Steve Jones at SQL Saturday #52. He had some interesting perspectives on creating a personal brand and the state of the modern resume. From now on I hope to post with more focus and regularity. I hope that with the new look and some discipline I can share my professional and volunteer experiences.