Tuesday, June 20, 2006
brewz.NET
As a disclaimer, I figured I would start this post by clearly stating that it is going to digress into realms of geekdom and nerdiness that few with our passion are willing to tread, yet I do it anyways... Programming.
As I said several posts back in my "Confessions of an uber-geek" post, I am slowly working on a graphical user interface and platform for developing a computer-controlled homebrew rig. Why you ask? Pomp, circumstance, and sheer vanity is my best and only defense... because I can. I can't think of anything cooler than having folks over, giving them a tour of the ghetto brewery in the basement (which WILL be upgraded as part of this project to an all-stainless, glorious marvel), and firing up the PC to give a demonstration. Have other people built computer-controlled homebrew rigs before? SURE. And many probably did a better job than me. But I am still resolved to do my best and do something truly ridiculous, unnecessary, and utterly cool.
My previous post gave a couple of screenshots of a pipe class I was building... well, it is now obsolete and must be completely rewritten. The reason is that I have finally decided to take the plunge and learn Microsoft's latest platform, .NET. I will be recoding anything developed thus far in VB.NET and will continue from here on out with that as the framework language of choice. It took a great deal of soul-searching and self masochism to ultimately decide, but it is the right decision. I have long avoided delving into this new language because of my inexperience and utter stranglehold on the previous iteration (VB6), but the time has come for me to learn something new once more.
I honestly wish I had time and interest to do it sooner. I actually had a very strong support structure several years ago that could have assisted me. One of my best online friends (and an absolutely brilliant resource) has since disapppeared from the face of the planet and isn't returning my e-mails. And everyone else has about a 4 year head start on me... BUT HEY! I've been busy. Kids. Moving from Mexico. Establishing myself in 3 jobs in 4 years. Learning to homebrew!!! (and investing ridiculous sums of money and time to do so). But I will make use of my demon-given aptitudes and meld my world of yesterday with that of today.
These screenshots are the re-write of my "tank" class in VB.NET. I have rewritten this class now 4 times - 2 times using VB6 and the Windows GDI API library, once using VB6 and a GDI+ wrapper, and finally (as shown) using VB.NET and pure .NET library code (No VisualBasic namespace for me, thank you very much).
In the long run I firmly believe the .NET platform will give my homebrewing control application flexibility, portability, and use that legacy VB6 never could. I must admit I have my reservations regarding many aspects of the undertaking (my own experience being one large factor), but quite honestly my tenacity and pure vanity WILL win out in the end. My arrogance and commitment knows no bounds.
This project will be open-source. Everyone who has the interest (and ability) will be able to download and start using it as the base for their creations, once completed. My intention is to build the following:
And many other things. Its a big laundry list to fill... I'll obviously focus first on items necessary for me to get my own brewery up and running, but the idea is that ultimately anyone could use it if they wanted to.
Enough for now... time for me to go drink some Nasty Habit Abbey Dubbel. Gotta make room for those summer saisons and wheats!!!
As I said several posts back in my "Confessions of an uber-geek" post, I am slowly working on a graphical user interface and platform for developing a computer-controlled homebrew rig. Why you ask? Pomp, circumstance, and sheer vanity is my best and only defense... because I can. I can't think of anything cooler than having folks over, giving them a tour of the ghetto brewery in the basement (which WILL be upgraded as part of this project to an all-stainless, glorious marvel), and firing up the PC to give a demonstration. Have other people built computer-controlled homebrew rigs before? SURE. And many probably did a better job than me. But I am still resolved to do my best and do something truly ridiculous, unnecessary, and utterly cool.
My previous post gave a couple of screenshots of a pipe class I was building... well, it is now obsolete and must be completely rewritten. The reason is that I have finally decided to take the plunge and learn Microsoft's latest platform, .NET. I will be recoding anything developed thus far in VB.NET and will continue from here on out with that as the framework language of choice. It took a great deal of soul-searching and self masochism to ultimately decide, but it is the right decision. I have long avoided delving into this new language because of my inexperience and utter stranglehold on the previous iteration (VB6), but the time has come for me to learn something new once more.
I honestly wish I had time and interest to do it sooner. I actually had a very strong support structure several years ago that could have assisted me. One of my best online friends (and an absolutely brilliant resource) has since disapppeared from the face of the planet and isn't returning my e-mails. And everyone else has about a 4 year head start on me... BUT HEY! I've been busy. Kids. Moving from Mexico. Establishing myself in 3 jobs in 4 years. Learning to homebrew!!! (and investing ridiculous sums of money and time to do so). But I will make use of my demon-given aptitudes and meld my world of yesterday with that of today.
These screenshots are the re-write of my "tank" class in VB.NET. I have rewritten this class now 4 times - 2 times using VB6 and the Windows GDI API library, once using VB6 and a GDI+ wrapper, and finally (as shown) using VB.NET and pure .NET library code (No VisualBasic namespace for me, thank you very much).
In the long run I firmly believe the .NET platform will give my homebrewing control application flexibility, portability, and use that legacy VB6 never could. I must admit I have my reservations regarding many aspects of the undertaking (my own experience being one large factor), but quite honestly my tenacity and pure vanity WILL win out in the end. My arrogance and commitment knows no bounds.
This project will be open-source. Everyone who has the interest (and ability) will be able to download and start using it as the base for their creations, once completed. My intention is to build the following:
- A process designer application that allows users to customize graphics, layouts, and displays for their homebrew systems
- A flexible and customizable input/output system that will interact with any DACA card or device on the market and allow whatever device necessary as an input or output (thermocouples, thermisters, solenoids, float switches, solid-state relays... whatever
- A SQL server database middleware layer that can be used to export and import brew sessions and trend/analyze data as required.
- A web portal for folks that actually want to share their brew session data online with other folks
- webcam support so folks can watch the action in progress
And many other things. Its a big laundry list to fill... I'll obviously focus first on items necessary for me to get my own brewery up and running, but the idea is that ultimately anyone could use it if they wanted to.
Enough for now... time for me to go drink some Nasty Habit Abbey Dubbel. Gotta make room for those summer saisons and wheats!!!