There's a pretty longstanding preference in business, school and even hobbies that I feel like I've been fighting against my whole life: specialization. Whenever talking to recruiters or employers, they always seem disappointed to not find their ideal hyper-specialist.
You know the one. The guy who has 6 years of experience in C# integrating Oracle, a CRM system with 9 customers worldwide and their custom inventory system. In other words, the guy who started there 6 years ago and just burned out and left.
In college, there's a push that you choose a major as soon as possible. In graduate school, medical school or law school, there's a deep push to choose a speciality: heart surgeon or patent attorney.
In many hobby communities, there's a deep sense that many of the people there are seriously dedicated to *that* hobby and that hobby only. They *are* hobby photographers, model train engineers or collectors of obscure fast food receipts.
Now, I'm not going to speak against specialization in any way. I think that people who really find themselves in a specialty are fortunate. It's just that, like being an introvert in an extrovert-oriented society, those of us who are naturally drawn to a more interdisciplinary or "generalist" approach to career, life and hobby can often end up feeling fairly misunderstood.
Read the rest of this entry »
Posted in General | 2 Comments »
I am solution-oriented. Nearly to a fault. When faced with a problem, I find solace in dissecting the problem, trying out solutions and being able to move on, confident in the problem having been solved.
So, the constant sine wave of stress that flows through my life (and the life of pretty much each of the people I know) is a problem that often begs for a solution. Often, the solution has been an adjustment in circumstances.
Thus, the urge to tell a particular source of stress to quit damaging my calm can lead to them doing exactly that and that particular source of stress backing off.
Unfortunately, while changing the circumstances can be part of a good solution, it's rarely a singular, long-term solution. That's because, when circumstances change, you can end up right in the same spot, stressed out and eating TUMS like they're candy.
If the circumstances need to change for rational reasons, I can certainly work to change them. However, to rely on being able to get out of bad situations, avoid stressful people and otherwise skate around stress just doesn't fly.
Thus, any long term solution to stress has to include my own handling of it. Over the past few stressful peaks, I've looked into the research on relaxation techniques and the clinical studies on things like meditation and their results on stress levels.
Read the rest of this entry »
Posted in Essays and Rants, Faith, Personal | No Comments »
Quote:
System.Data.SQLite is an enhanced version of the original SQLite database engine. It is a complete drop-in replacement for the original sqlite3.dll (you can even rename it to sqlite3.dll). It has no linker dependency on the .NET runtime so it can be distributed independently of .NET, yet embedded in the binary is a complete ADO.NET 2.0 provider for full managed development.
Quote:
So you want to convert the episodes on a "TV series" DVD into separate DivX or XviD files, eh? …and you want to do it for free, you say? Well, my friend, you are in luck!
Although very similar to converting movie DVDs to DivX/XviD (for which there are many great guides), there are some subtle differences when converting a "TV series" DVD into separate DivX/XviD files, which is why I've written this guide.
DVD Movie Ripping and Conversion
Welcome to a series of tutorials that will explore techniques for implementing these common data access patterns in ASP.NET 2.0. These tutorials are geared to be concise and provide step-by-step instructions with plenty of screen shots to walk you through the process visually. Each tutorial is available in Visual Basic and Visual C# versions and includes a download of the complete code used.
Not really open source according to my definition, but still useful.
"OpenWinForms is a open source website for windows forms and controls. Here you can find windows controls and libraries for free. This is a non-commercial open source web site. This site mainly focuses on Microsoft technologies e.g. Microsoft .net, VB.net, C#.net etc. You may use these for any commercial or non-commercial purpose for free, however you cannot sell them directly or by modifying."
I (Eric Bergman-Terrell) am the author of the source code below. I've placed the source code in the public domain. You can use, modify, and distribute the source code and executable programs based on the source code.

Freeware application MP3 to iPod Audio Book Converter takes your regular MP3 audiobooks and converts them to the iPod (M4B) audiobook format, allowing you to take advantage of the features afforded to iPod audiobook files.
I’ve include an application named nSelenium in the Projects section of this website. I wrote nSelenium as an ASP.NET front-end to the Selenium TestRunner. The application makes it easier to manage and run Selenium tests
Utility that allows you to capture any sound that comes through your speakers and save it to a WAV file. Its unique "session" based design allows you to capture sound without having to worry about filenames or overwriting files. This allows you to concentrate on capturing, not file management. System requirements: Microsoft .NET Framework 1.1, DirectX 9.0 SDK Update - (June 2005)
Before 3.0, Komodo used to be too slow to an extent where I’d rather run notepad instead. With the newest release, Komodo is able to cope with dynamic syntax checking, class analysis, and customizable interface without loosing its speed; in fact, Komodo now runs much faster than ever before. It even runs faster than some native IDEs whether on Windows or on Linux.
View all my bookmarks on Ma.gnolia
Posted in Links | 1 Comment »
I've been doing a lot of fire-fighting in my consulting gigs lately. Someone comes in to the office, opens their email and discovers a message declaring that the sky is falling, that the building is burning down around us and that the 3rd Horseman of the Apocalypse has just been sighted. Or maybe it's just that the Monthly Widget Report has a subtotal error, but STILL.
That message immediately translates into a DEEP desire to do something. That desire to do something often results in whole teams of people leaping into action without asking the simple question: "What defines success here?"
That's nearly the first question I ask when faced with a small army of people itching to get the emergency behind them. You'd think that it's fairly obvious and yet I often get blank stares when I ask it. Yet, it can often mean the difference between jumping in and grabbing a fire extinguisher because you think that it's just the garbage can by the door on fire or figuring out that the living room, dining room, bedrooms and garage are already a blazing inferno, with the garbage can being merely the latest victim.
In the first case, grabbing the fire extinguisher isn't going to help and will likely result in more burning before you finally call 911. However, if you only have a single sheet of paper on fire in a metal garbage can, calling in the big red ladder truck is overkill.
Basically, when you say, "this emergency will be over when the garbage can is no longer on fire", you've defined success. When you say, "this emergency is over when the house is no longer burning and everyone is out safe and our photos are safe in the car", you've defined success.
In technology end of things, this can mean things like:
- When these 9 different reports bring up data for 2005, 2006 and 2007, we've fixed the reporting services problem.
- When all 4 production web servers bring up this list of 25 web sites, we're done with this emergency.
- When the "object reference not set to an instance of an object" exception is no longer being thrown, we're done with this particular problem.
It often means you need to make a grid of what exactly is broken. Then you can focus on clearing the "X" entries where there's a problem.
The thing that's powerful about this really simple thing is that how it really manages to help people focus and calm down. Next thing you know, the problems actually get solved more quickly, with fewer man-hours involved and everyone's stress level can drop back down to more normal levels.
And, every once in a while, you actually discover that there isn't really even a problem to be fixed.
Posted in Business, Essays and Rants, General, Lifehack, Programming, Web Development | No Comments »
Lots of the web applications I build or work on are replacements for desktop (often terminal-based). A few years ago, one of my clients asked if it would be possible to wrap their suite of intranet applications in something other than the standard browser.
They wanted a regular Windows menu with links to the individual pieces, like: Time Entry, Address Book, Order Queue, etc. Many of those apps were written at different times and that approach gave them an integrated application that had its own place in the Windows menu. For them, we built a C# application that wrapped Internet Explorer to accomplish it and they were pretty happy.
I re-used that wrapper several times, including as a way to give clients a way to test sites that were in progress without having to deliver URL's that were likely to change as well as a custom sidebar to help them go through the site.
Fast forward to more recent days and you'll find me frustrated with how long it was taking Firefox to launch a new tab or switch between them. Shortly after killing the tab containing Google Reader everything became snappy again. The next time Firefox was sluggish, I checked the memory during the problem and killed Google Reader again with the same results.
That's when I flashed back to my browser wrapper as well as several articles I'd bookmarked over the last year or so regarding "single site browsers". Since my RSS reading is usually just a background activity, but is nearly always open, I don't really like taking a performance hit during things like web testing as a result of a background activity.
While I could have resurrected the old application to make a Google Reader-specific app, I have no idea where the code is at this point. I thought this might be a perfect task for trying out Adobe AIR. I'd installed the tools and tried a basic test run back in August. I figured this could also serve as an example of how to build a quick and easy single site browser that runs on Windows and Mac (at this point, with Linux in the works).
Read the rest of this entry »
Posted in General, General Internet, Javascript, Other Programming, Programming, Scripting, Software, Web Development | 4 Comments »