Reading Half Marathon
Yesterday I ran the Reading Half Marathon for the second year in a row. My time was not great. I came in at 2:03:47. Last year I came in at 1 hour 54 mins.
My problem was that I started at a really good pace—too good. I couldn’t keep it up. I was fine up until the seventh mile when I the little voice that was urging me to walk for the previous two miles finally won over. I stopped and walked for a few minutes. Every time I started up after that it was difficult. It’s funny how much psychology is involved in running these distances. If I had better music on my mp3—something that let me think about other things than running—I may have done a lot better.
Last year, I trained a lot more. I’ve been running regularly, but usually doing only 3 or 4 miles three times a week.
It’s funny being the walker. The guy who just gives in. Some people patted me on the back and they ran past. The people cheering at the side of the road were saying “come on, you can do it.” I even started to fake a limp just so they would think I was running through an injury. When I started running again, my legs felt awful and stiff. My feet pounded the pavement even harder than they had just a few minutes earlier—like the cushion had disappeared from my running shoes. I had the same problem when I ran the Honolulu marathon back when I was 22. Never stop running!
Still, I’m happy with my time. I didn’t walk that much. 2:03 is not bad.
One day we will will tell our grandchildren . . .
One day we will tell our grandchildren how difficult it was to look up information in a library when we were kids.
We will tell them about card catalogues and the Dewey decimal system. We’ll tell them how we would look up a word in the dictionary and it would tell us to “see” another word.
Importance of back-ups
I had a bit of a scare last night with my computer last night.
I have spent the past several days doing some work for a client and am travelling out to their office today to deploy the work on their servers. The plan was to download the release from Subversion onto a workstation and upload to their server (and updates configs and all that).
Last night at 9pm, my main pc wouldn’t start. I could hear the fan humming and disks spinning, but nothing showing up on the monitor—not even bios set-up screens. It’s a four-year-old Dell Dimension 9150, so the pc isn’t new and I expect there to be problems from time-to-time, but this kind of problem couldn’t happen at all those times I don’t have any clients?
My main development PC gets backed up once a week to an external hard drive using Acronis True Image. My PC also wakes from hibernate every morning at 2am and takes a local backup from all my websites and databases hosted on different web servers. I have a Subversion repository hosted off-site where I keep all my code. I’ve thought a lot about disaster recovery. But it wasn’t enough.
I wasn’t concerned about the PC as much as I was concerned about the code. But, as much as I tell my developers to check-in every day, I was a bit lazy here and didn’t do it myself for two days.
After Googling the problem for a while (on my laptop) I found the issue was some RAM had gone bad. I took memory out one by one until the computer would start again. I breathed a sigh of relief. Eventually removed two RAM modules (bringing my pc from 4gb down to 2gb)—and the first thing I did was check my code into Subversion. So after a few hours of panic, everything was fine.
Here’s the problem with my backup strategy—it’s not regular enough. It’s geared for a hard-drive failure more than anything else. If my pc completely packs it in, I can restore my operating system, hard drives and everything else onto a new box—but my backup only runs once a week. I could be 6 days out of date. I need to increase it. Besides, I live in Oxfordshire. It’s not like I’m in San Diego where you can swing down to Fries at 9pm on a Sunday night and pick up a hard drive.
If you’ve ever had a hard drive fail, you know how important back-ups are—but they got to be automated or they won’t happen. When you get paid for the work you do on your computer, it’s even more important.
The scary thing about Silverlight . . .
The scary thing about Silverlight is that you are one security threat away from losing your clients. One thing that I’ve thought a lot with the problems on IE lately is that people who wrote “Only-for-Internet-Explorer” websites did not give their users the option to switch browsers if they felt unsafe due to all the security flaw hype.
A little common sense and a knowledge of web standards and it’s easy to write HTML that will look good and be functional in all browsers. Still, in my experience, too many developers are choosing a platform and sticking with it—most of the time that is IE. It’s easier to test one browser, it’s easier to tell a user to use the browser that’s probably already installed on their pc.
Flash and Silverlight are different than HTML—they are runtimes which are allowed to run inside the browser—kind of like how Java applets used to be able to. They are executables which run compiled functionality on your computer. They are cross-browser—but not like html is cross-browser. When I look at a Silverlight or Flash app on my pc, it’s always the same runtime working. Silverlight is a few years old and really starting to look like Flash—allowing Microsoft developers like me to get more fancy and provide far better functionality for our users. Silverlight runs on Windows and Mac, but has ignored the Linux landscape (there is an open-source Silverlight runtime called Moonlight being developed for that—but I consider it a snub).
In the world of web development, I think Flash and Silverlight are “cheating” at cross-platform compatibility. Everyone has accepted Flash (except the iPhone/iPad), but the jury is still out on Silverlight.
Silverlight and Flash are great in that they move a lot of the processing to your computer and free up resources on the server from which they originate. But they also increase the responsibilities of they client over the server.
Security flaws are found all the time. We all scramble around and try to fix them when they come up. As a software developer, I like the idea that I can apply a patch to a server and be done with it. With client driven app, I need to make sure all of my users apply the patch (and do it in a way that lets them know that the app is safe—and not to panic). Flash could bounce back from it (“You need it for Youtube, too. You should apply the patch”), but Silverlight is too new.
I’m often seduced by the cool things that Silverlight can do. I’ve played around with it a lot and have written several small apps (including an animated Overpass ad on my blog), but I’m not ready to jump in head-first yet.
Popup Chinese
I spend a lot of time listening to podcasts—far more than I do watching TV these days. There are so many good podcasts out there dealing with so many specialised topics. The podcasts I regularly view or listen to include Diggnation, NBC Nightly News (nice to able to do this in England), Scott Hanselman’s “Hanselminutes” (along with DotNetRocks to help me keep up with the .Net tech industry), and the new 37 Signals Podcast. From time to time, I’ll add or remove other podcasts based on what I’m interested at the time.
There are a lot of podcasts out there to help you learn Chinese. A few years ago I sampled loads of them and even subscribed to a few. Most of them were too much on the beginners side for my liking (I’m not counting the news broadcasts in full-speed, faster than fast, Mandarin). Most of them were very dry and not much different than listening to a short Pimsler Basic Chinese Course lesson each day. “Today’s lesson: Should we bring an umbrella because of the rain?”
So a few weeks ago I took another look at the Chinese learning podcasts out there and found one that I now include among my favourites. It’s called Popup Chinese. The Popup Chinese podcasts gives 3 lessons a week at Elementary, Intermediate, and Advanced level which each last between 5 and 10 minutes in length.
The dialogs in the lessons are really what differentiate the lessons from all the other ones out there. Here are a few examples of the lessons they’ve had in the past few weeks:
- How to Start a Business in China – Dialogue between a school principal and a child’s parents about how their child has started the other children with gambling and sniffing glue.
- Performance Anxiety – A dialogue between a performer on an American Idol type show and the judges.
- How to Defuse a Bomb – A bomb is about to go off and a former policeman comes to the rescue but is not sure which wire to cut.
Each lesson is pretty funny and irreverent. Even with some vocab that you will never use, there is a lot of very good instruction on grammar and common speech.
The show is presented by two American and one Chinese teacher in Beijing.
It’s a great podcast. If you are past the beginner stages and into the intermediate and advanced stages of Chinese learning, you should check it out.
Book Store
I’m not big on the viral email images that go around, but this one is pretty funny. It was emailed to me, so I can’t take any credit for it (and it seems to be all over the web).
If you can't find the book you want you're probably shopping
at the ...................
France and Germany say “No IE”—Corporate apps will suffer
So, Internet Explorer is in big trouble. Both the France and Germany governments have called for web users to find an alternative browser this week this week. Most tech-savvy users have already moved to Firefox and Chrome (I’m now completely using Chrome), but the majority of surfers still use the default IE.
Even more interesting, most corporate environments I’ve worked in support only Internet Explorer internally. You are simply not allowed to install another browser. I’ve worked on projects where the intranet application we are developing only works with Internet Explorer—usually because of bad coding/testing—but no one will fix this because “we only support Internet Explorer”.
I remember one high-level manager in an investment bank tell me—“Seriously, Eric, I can’t see us ever moving away from Internet Explorer.”
The lack of cross-browser support in the ASP.net developer community has been a big pet-peeve with me for years. You don’t find this with PHP, Java, or Ruby guys. But Microsoft developers stick with Microsoft browsers.
I’ve had the arguments so many times in various contracts—“We should support Firefox too. It only takes a few minutes to test functionality if we do it early enough, but will be a huge task to implement it later.” I can remember having this argument a half-dozen times, at least.
It has never been easier to do cross-browser development (you should have tried it in the Netscape 3/IE 3 days—that was painful), but it still gets overlooked.
Even the online banking site for my business bank account only renders properly in Internet Explorer. This is a huge pain to go through all the necessary security logins for banking—only to realise you are in the wrong browser and you can’t read the page. I’ve nearly changed banks because of this frustration.
An ideal web development team would have different developers using different browsers. In a team of 4 people for example, have one person on each of the 4 major browsers—IE, FIrefox, Chrome and Safari. Better yet, adhere to proper XHTML or HTML syntax (most of the time, apps only support IE because of some malformed html that Explorer allows).
But for years I’ve heard the same argument from different people--“We don’t have that kind of time”, “It’s an internal application and the we only support Explorer”, and “We’re not a software house. But now, when governments are recommending that we switch browsers, these developers haven’t even given their users this option.
This could kill Internet Explorer or at least severely weaken it. I see a lot of “Make this website work in Firefox” projects coming up.
