Posts

Dumbed English

The following is a vast departure from my otherwise technically oriented posts, but the topic has been on my mind lately, and this is my blog after all. :) Let me preface this by saying I am a native English speaker in America, so my writing is necessarily from that point of view (write what you know, after all). The inexplicable nature of the human heart combined with the ideas of the mind are at odds with the frailties of expression found in any written language. This is my premise, and good luck proving or disproving it. There is no perfect way to always express precisely what is desired to be expressed, for any and every writer, no matter the medium chosen.   Writers may be inspired more often than not to approximate a perfect linguistical expression of their ideas, but that is not something born solely of the language; instead, those near perfect moments are born of the writer’s ability to communicate within the confines his chosen language.  The quality of a written languag

Facing Death...dum de dum dum

Death is such an ugly topic, no matter who you are.  It's depressing, messy, convoluted, and affects everyone, if they're honest about it, in some deeply personal way.  Thing is, I used to think the idea of my own death didn't affect me.  Contemplating my own death was like contemplating some other major life event, but it did not inspire any deep emotional reaction.  I guess I always hoped and kind of presumed that my death, when it happened, would mean something.  That somehow it would give back to the world something it would have otherwise lost, and would therefore make my death 'ok', or at least would come in a time and way that was acceptable to me. Except that facing death now strips me of all those illusions.  If I die of cancer (I have stage IV lung cancer), then it will render my death somewhat...well... meaningless.  Sure, maybe some insights or something I've learned while contemplating death by cancer will help someone in some vague way, but is th

Don't teach your kids to code. Let them be kids.

I've seen more and more of a push lately to integrate programming into children's development.  The idea is a bit abhorrent to me, which may surprise you as I am full-time software developer.  Understanding what it means to be a software developer is paramount to understanding why it may or may not be a good idea to push children into that line of thinking.  This is because software development changes how you view everything around you, for better or worse, and therefore at least a cursory knowledge of who software developers are is required.  Throughout my career I've had the opportunity to observe many different types of professional developers and gain some insight into common traits they share.  To dumb down the myriad of professionals I've worked with, I could lump them into 3 types, as follows.  Understand that the labels below are stereotypes and will probably not fit perfectly a single developer out there, although I suspect they might hit close to home for m

My Prime Membership is now over after many years of membership, and I'm a little disgusted it took me this long

Jeff Bezos is the wealthiest man on the planet.  He has so much money, I doubt he could find enough ways to spend it all...unless he declares military war on some poor nation, which I don't think he will be doing in the near future.  Since its inception in 1996, Amazon has grown from a feisty book-centered marketplace into a global behemoth that has a better software, hardware, and customer service model than any other platform on the planet.  That's a bold statement, I know, but look at what it has grown into and then ask yourself:  Where will it end?  Because I don't think Amazon's services and growth will ever end. Everything at Amazon, internally and externally, is a service and has been for a long time, and because of that, has grown at a tremendously stable pace.  The model of 'everything is a service' is a fantastically versatile model in software engineering, but is rarely accomplished, so I appreciate all that Amazon has proved can be done with it. 

The View Part 1 - Definition and Bindings

Audience In (finally) continuing this series, it is important to define the audience, as follows: You know WPF pretty well, at least enough to know there is a DataContext property on a UserControl or the like. You know C# pretty well, at least to the point of knowing what reflection is even if you've never used it in your code. Source Code Much of the source code used in this series will be derived from my project .  There is a clickonce deployment setup for it, but please download the code and peruse it.  Become comfortable with it and tear it apart. It is not meant to be an ideal development project for all things in software, just an exercise in applying MVVM to a very specific application.   Download it. Break it, fix it, break it, fix it...do that enough and you will learn MVVM. :) What It Is and Isn't Going forward, when I say 'View', you can just think of a UserControl in WPF/Silverlight.  And when I say 'ViewModel', just think of some cl

MVVM Project update and some ICollectionView weirdness

MVVM Project Update Aside from the fact that it took me 10 minutes to find a way to log into my blogger account and post this...my MVVM side project is going pretty well. For those of you who want a sneak peak, go here .  It even works to some degree (seriously!).  Of course, it's a tool that is only relevant to developers such as myself, but hey, it's something. It is (going to be) a source control monitoring program that will give you nice little tray popups for any new commits on any repos you are monitoring.  Right now, it is only functional with SVN, but it will be readily extensible.  And the tray popups aren't there yet, either...but you can view history and even diff changes in the main window. ICollectionView Problem One tidbit I wanted to share here was something I learned about the ICollectionView.  This interface is extremely handy to watch collection changes initiated by a user in your viewmodel and I've used it a bunch of other places...but not qui

MVVM Series: Introduction

My head hurts just thinking about MVVM... There's quite a lot of rhetoric out there about what MVVM is and how to best implement it.  And the hard part is that a lot of it is correct, even though seemingly at odds at times.  To add to the confusion, I put forth my own opinion that, as with all true engineering efforts, you need to use your brain and do what works best for you, your team, and your products. This the heart of MVVM to me - MVVM is simply a pattern that can be used to make your software of a higher quality and more reusable and resilient to layer/requirement changes.  Use it as best suits your needs.  Forget about what you may hear or read about the 'rules' or 'laws' or MVVM - there are none.  It's a pattern.  Nothing more.  Some people say that you should have no code-behind, ever.  Some say you can.  The correct information is that there are no rules about code-behind or anything else, because it is...just...a...pattern, not a programming lan