Skip to main content

Posts

The Impossible Deadline

If you've been in the game long enough, you get informed by upper management of a grand promise due in just a little over a month.  Something like rewriting an entire suite of applications in a new technology in 6 weeks.  That's what I'm facing at the moment.  The promise has been made, so after you pick your jaw up off the floor, what can you do? Do What You Can The number one thing that causes your gut to tie itself in knots is all the stuff you know you don't know.  The unknown things linger in your mind like a cancer undermining anything possible.  Norman Vincent Peale is credited with the quote "Shoot for the moon. Even if you miss, you'll land among the stars."  Aside from the bad astrophysics, that sentiment is what you need to start with.  Be aware of the deadline, but don't let it consume you.  It's too easy to spend a lot of energy fretting over it that is better spent on just getting stuff done. Get the Griping Out of the Way It&
Recent posts

Release 1 of DHaven's MVVM micro-framework

I'll be honest, there's a lot of MVVM frameworks out there, all promising to be the bees knees, light weight, etc.  One of the common threads between all of them is the insistence on using their brand of dependency injection to do the job.  There's good reasons to use dependency injection when you have a big enough project, and there's also a lot of good reasons not to use dependency injection for small utility projects. MVVM In a Nutshell Model-View-View Model isn't a new pattern, and there's a couple flavors out there.  The basic pattern works like this: Model -- the representation of application data with bind-able properties. ViewModel -- a layer with a bind-able Model property that handles view specific logic View -- the user control or window that is shown to the user that binds directly to the ViewModel and Model. The two flavors are "View First" and "Model First".  View First MVVM has the view layer reference other view lay

Release 1 of D-haven.org's BibleUtilities

I'm one of a small team that is maintaining our church's web site.  The site has audio, transcripts, devotionals, etc. to help you with your Bible study.  As you can imagine, as time flies and different teams maintain the data, we had a big data problem (not "big data", just a large problem with data) on our hands. One of the things we needed to do was to scrape our transcripts to find all the scripture references in the text.  That's easier said than done since the rules for writing a Bible reference is a bit all over the place.  Add to that multiple ways to abbreviate the books of the Bible, and we've got a non-trivial problem. Bible Utilities The Bible parsing code lived as part of the church's source code until one day when a young Norwegian college student needed help with the same problem.  I helped him out initially with the source code, but since this is a common enough problem I made it an official Nuget package: DHaven.BibleUtilities .  Yo

Hello World!

It seems that in every tutorial, the first task is to print the words "Hello World!" in some fashion.  Every tutorial for every language, framework, etc. has the same task.  Why? Because it's the hook.  The thing that gets you invested.  You start thinking to yourself, "Look how easy that was!  I can do anything with this shiny new tool!"  This first post is no different.  It's testing the waters for my new blog. I've been a software engineer for more than a score (that's 20 years if you don't speak 19th century English) and I've seen fads come and go.  I've been in arguments about "The one true way" only to find that my understanding had been lacking.  I don't do that as much anymore, since I've broadened my horizons by learning new tools and ways of thinking about writing software.  What I've learned over the years is that Albert Einstein got it right when he said, "Everything should be made as simple as pos