Hi, I’m Brent.

My wife, daughter and I live in St Charles, Missouri where I work writing software used internally at a computer refurbishing / asset recovery company called EPC. I enjoy what I do there a great deal because I spend almost all of my time actually developing software, it is very fulfilling work because I take part in the entire software development life-cycle, not just one small segment of the overall picture. I work primarily using Microsoft development technology such as Microsoft SQL Server 2008 / C# / LINQ / ASP.NET MVC. And, at home I work using more open source technologies such as Mono / Python / Django / PostgreSQL / php building websites for friends and family.

I’ve been interested in developing software since I was about 12 years old.  Back then I tried writing text based games using BASIC (yes, BASIC with line numbers).  These games behaved much the same way as Zork did.   My father introduced me to Turbo Basic (by Borland), and I was hooked.  Admittedly, most of what I did back then was use my growing programming skills to hack my characters in a game called The Bardstale, giving them better stats, and cooler weapons, more gold, etc.

After a few years of tinkering with that sort of thing, I went off to college (at Ricks College, now BYU-Idaho) and took some classes in C and C++.  It was a natural fit.  It opened all kinds of wonderful opportunities, including inline assembly and lots of deep low level stuff that I thought was the most important stuff in the world.  I began writing my own string class, and even trying to build wrapper classes around Windows API objects (with some success).

Then, one day, I got a job writing software, and they didn’t want me to develop theoretical stuff, they wanted me to solve real problems.  My first “real” programming job was moving an application from FoxPro for DOS to Visual Fox Pro.

So, I developed in Fox for a while. Then Visual Studio 6 was released.  The boss bought it for me to experiment with to see if porting to Visual Fox Pro 6 had any merit.  After a few days with the software installed, I came and presented a decent argument for converting the entire project to Visual Basic 6.  Which I ended up doing after showing the incredible AutoComplete and Debug features available in the VB6 IDE (second to none at the time).  Of course, it was easier to use a Microsoft Access database from Visual Basic rather than try using FoxPro’s DBASE style tables to store the data.  So I learned Access as well.

While on that particular project, I learned several “black arts” of VB6 – such as multi-threading, and writing true Windows Services using VB6 (with the help of my old friend “C”).  I also learned to wrap the Berkley style WinSock API to be more friendly and available from VB6, and did a lot of interfaces to hardware for swipe cards and fingerprint sensors and other security hardware. In sort I pushed VB to its extreme, and added many of the features that were eventually supported in VB.NET.  But, alas, when I looked into VB.NET, I was more impressed with C# (remember, all this time, C++ was my favorite language).

After several years at that job, I decided it was time to get a degree, so I packed up my wife and home and we moved back to the only place I had credits, Ricks College (which had now become BYU-Idaho).  I studied Computer Information Technology with emphasis in Accounting, and Math.

While attending BYU-Idaho, I had a few odd jobs, and ultimately started my own company.  I have had some real world exposure to MySQL, PostgreSQL, XHTML, CSS, PHP, Python and Django and I have had academic exposure to Java, Oracle PL/SQL, ASP, Cisco Equipment, and Pedagogical theory. When the stock market died around october 2008, my new consulting company dried up, and I was forced to pack up my family again and find employment elsewhere.

I started this blog because every few days I run across a problem that needs web research, and after I sort it all out, I wonder why the answers weren’t easier to find.   I decided it was time to start recording what I learn about different technologies so that others can benefit from whatever problem I solved. I hope you find my solutions useful in your struggles.