Tuesday: What the heck happened earlier today?

On Tuesday, July 3rd, 2010 we experienced an outage from about 3am to about 2pm CST. I became aware of it at about 6am CST and submitted a ticket to our dedicated server hosting company. Apparently, a critical Windows 2008 update forced the machine to reboot, regardless of the fact that I had turned Windows updates off. I'm still not sure that answer is satisfactory, but I digress. The machine never rebooted successfully. After hours of trying to get someone to help me, they finally moved the hard drive into a second machine I had ready to go for such an occasion as this ... and thankfully so! Within 30 minutes I had the previous night's database backups restored on the new machine and was up and running. We're still finding small items that require our attention, the largest is the forums which requires us to submit a ticket to get them to switch over the license to a new IP address. Please be patient -- this process is out of my hands at the moment.

Moments like these force you to re-think everything. I had already been lamenting bad decisions over the years and how to resolve them ... this event emboldened my decision making. So much time and money wasted on trying to take a shoe-string approach to our hosting, backup, forums, etc. Days like these I long for the comfort and security of my old corporate cubicle. I often joke that I would not wish business ownership on my worst enemy, and yet, I can't imagine doing anything else. Today, I can definitely imagine a modest, quiet office working for some local government agency as their lone IT guy. Sigh. You could say I've hit a threshold today.

I've decided that things have to change for the sake of my sanity. For starters, I'm going to pay a premium for hosting "Backed By Fanatical Support" (do you know which company I'm talking about?) instead of going with the cheapest option that gives me the most bandwidth for the buck. I need someone else to administer the machines, apply patches, worry about backups, etc. I need to focus on creating videos and training, not maintaining a small server farm.

Changing hosting companies will have ramifications. For starters, I'll have to find bandwidth elsewhere. Currently, I'm going through rougly 4+ TB of bandwidth a month. I'm seeing that uptick due to increased interest and my recent level of production. I've been able to afford this much bandwidth because, again, I'm basically getting bandwidth and not much else in the way of support. Therefore, I'll probably wind up using a Content Delivery Network (CDN). I'm looking at MaxCDN, which seems to have reasonable prices and no blog posts dedicated to saying how much they suck (unlike other CDNs I've researched). The issue with allowing file downloads from a CDN is securing the download. They have some level of protection with their files, but honestly? I was able to crack it in a minute ... and I'm not all that knowledgeable about that sort of stuff.

Combine this with the ongoing frustrations regarding Windows Media and the fact that with each new edition of Windows Media Player (in each new operating system) they kill off the codecs from the previous versions. Some Windows 7 users can't watch the older videos. While we will be removing those from the site soon anyway, it's still a big frustration.

So, we're going to stream the videos. It's the most secure, most economical, most convenient way to consume the video content. I've hinted at it for years. I know it will make some customers mad. I'm very sorry ... I know it's convenient to have a download for those times when you have a bad internet connection. But no other online training company is offering downloads of the videos (not that I'm aware of anyway), and I have resisted this move from day 1, back in 2002.

May I also say that I often meet people who say they learned a lot from my videos. I ask them about their membership and they look at me funny. The fact is people are sharing the download-able videos out on the internet. If the big media companies can't stop it, what hope do I have? However, the economic impact on me is much greater than on much of Hollywood. Streaming will curb that dramatically I believe.

It's time for a change, and that change to "streaming only videos" will happen ASAP.

Forums ... another poorly conceived feature of the site. The staggering number of questions is impossible for one person to take on. I never intended this to grow into a "stump the .NET guy" kind of thing, but rather, a way to ask questions about topics directly associated with the videos I recorded. So many questions rolled in that after a while I gave up trying to answer them. I hired Jim Losi early 2006 since he was a contributing member with the most activity in the forums. He managed the forums well, and also helped maintain the site and even record some videos. When the economy dipped in Q4 2008 Jim found other work and the support for the forums went neglected. Fortunately, there are several people who have been willing to pitch in and help on the forums where I lacked (and I appreciate you more than you know). But I must insist that the forums return to their original vision, and I'll be working on adding a feature to the site that will focus questions on each individual video, not on the realm of .NET at large. Not even Microsoft attempts to handle every support request! They leave it to the community to take on because there are so many questions ... there's simply no end to them. I won't shut down the old forum site (once I get it back up and running, that is) because I know some would like to use it for reference sake, but with regards to my future involvement, it will be reserved for answering questions specific to the videos. Additionally, the questions and answers will be moderated, and in some cases, cleaned up. Sorry, there's just not enough of me to do everything I would like to do.

Also, the day has come to eliminate the possibility for new members to purchase "lifetime memberships". I don't have a drop-dead date for their removal, but I'm no longer going to sell those. If you have one, good for you! Many have commented on how great a deal they've gotten when they purchased way back in 2005 or so. I'm just not committing to any additional lifetime members -- that was a cute idea back when times were good and money was flowing, but in more financially difficult times, it makes sense to watch your business's growth and bandwidth costs. If you've been toying with the idea of purchasing one, I highly recommend you act on that sooner than later.

Similarly, we're putting a lot of content on TrainingSpot.com. We just released the SQL Data series, and will be releasing 8+ hours of Java and 8+ hours of PHP video content soon. After that, I know we have a couple of other series in the works, such as a Sharepoint 2010 Administration series. We just announced that there will be no more lifetime memberships offered on that site, and the price of a yearly membership will increase as well. Get a lifetime membership while you can.

Finally, I want to express how grateful I am to you. I enjoy what I do (most days) and I want to keep doing it, and you make that possible. I hope that what I provide you equates to what you have given me.

Now, if you'll excuse me, I'm going to get back to work prepping for tomorrow's video (which I intended to be today's video before I was so rudely interrupted.)

Monday: LINQ to Entities and the Entity Framework Examined

Today we release the first video of Day 10 in our Core curriculum discussing topics such as how the Entity Framework is different from previous data access API's, we looked at the Entity Data Model's underlying XML with it's Storage, Conceptual and Mapping sections, and use that as a launching point to discuss how that separation provides a high degree of flexibility in how to map between the relational and object oriented world.  We talk about performance and best practices and a host of other related topics as we gear up for a bevy of examples demonstrating practical recipes for LINQ to Entities usage in the remainder of day 10.

More information here ...

Tuesday: Learning about Windows Phone 7 Development

No new videos today ... sorry, I've got to "fill up the tank."

Today I'm attending two of four LiveMeeting sessions on Windows Phone 7 development:

Windows Phone 7 Jump Start: Session One - An Introduction to the Windows Phone Platform

Windows Phone 7 Jump Start: Session Two - Game Building on the Windows Phone Platform

The challenge with watching two three-hour sessions is time. It takes 6 hours out of an already incredibly packed schedule. I learned this simple technique from my friend Dave who seems to somehow pack it all in.

1) Have the web cast playing on a secondary machine, even if it is an old crusty laptop.

2) Continue doing work on your primary machine. Keep an ear open for what's being talked about and occasionally glance over when something catches your attention.

3) Yes, you'll be a lot less productive on both. But even at 25% productivity on your main machine, you're still more productive than you would be otherwise.

4) Yes, you'll likely miss something in the presentation, BUT most of the time you can catch back up given the context.

5) It takes practice to switch your attention back and forth ... but how is that different from your occasional visit to email, facebook, twitter, web, phone, in-cube-visit, etc.?

Dave has gotten to where he's pretty efficient at it and I'm starting to get better at it. It's really a survival skill in an industry where anxiety sets in if you are a week behind the latest release of new tools, SDK's or API's.

Tags:

3 New Videos: Exercises and Solution for our big Day 9 LINQ Challenge

I love challenges.  Once, Mrs. Canton, my High School English teacher said "No one gets an A in my class."  I was not an "A" student, but the gauntlet was thrown down and I did not back away.  In the end, I came away with an A … one of the few in my high school career (unfortunately.)

Today I'm releasing three videos -- the first is the exercise for Day 9 that throws down the gauntlet for your new-found LINQ knowledge and forces you to struggle to come up with the solution for 9 mini challenges.  In fact, I challenge you to complete the exercise in BOTH the Query and Method syntaxes … so, 18 mini-challenges.  If you get stuck, not to fear … you can look at the solutions (provided as part of today's release as well.)

That should keep those of you in the northern hemisphere out of the heat this weekend (or out of the cold, if your toilet swirls the other direction.)  Enjoy!

Day 9 Exercise

Day 9 Solution - Query Syntax

Day 9 Solution - Method Syntax

Wednesday: Two LINQ From, Join, and a host of Expression Methods

Some days are like cutting through butter gins knife, other days are like cutting through steak.  Today was like cutting through a brick.  But, I persevered to bring you two more videos as we finish up Day 9's curriculum.  

LINQ From and Join
LINQ Quantifiers

Syndicate content  RSS Feed