I sat down with Larry Clarkin recently to record another episode of The Thirsty Developer. The topic of the podcast is the future of managed languages C# and Visual Basic. Before talking about where things are going we got nostalgic about where Larry and I have both been in the past. We reminisced about the QBasic programming language and the gorillas game that served as example code. After talking about the past we had a good discussion about the influence of declarative, dynamic, and concurrent on the next release of C# and Visual Basic. After the interview Dave and Larry catch up and talk about their first and next programming languages as well.
Page for my episode:http://thirstydeveloper.com/2009/03/24/TheThirstyDeveloper56QuickBasicGorillas.aspx
Link to the audio file: http://www.podtrac.com/pts/redirect.mp3/shows.thirstydeveloper.com/TD056a.mp3
Subscribe to the show:http://feeds2.feedburner.com/ThirstyDeveloperPodcast 6:45 PM GMT | Read comments(0)February 27Google, We Need You, but not Quite That Much
I have a long standing client for which we built and have helped enhance and maintain their E-Commerce presence over the last 5 years. The site is still running on .NET 1.1 and Commerce Server 2002 and there are certainly pains that come along with it. The main being memory leaks that cause the IIS worker process to eventually reach memory limits and have to go through a recycle process. We’ve optimized it quite a bit from where we first started and have it down to where there were maybe one or two recycles a day per server. Here recently, the number of recycles has jumped up to about 10 per server per hour. Highly annoying as it slows the response time of the site during the recycle period and causes many things to have to be re-cached.
Still working to narrow down the exact cause, but one culprit seems to be the Google bot. We noticed the recycles happening in the middle of the night when we know the number of site visitors is low. IIS log analysis revealed that the Google bot is making over 100,000 page requests. At least half of those requests are for the homepage alone. And that was just the logs from one of the servers for a day! There are 40 other bots that spend time crawling the site. Google accounts for over 75% of all of the bot traffic hitting the site.
Google, we love you and we need you, but not quite that much. We certainly want active crawling to get page ranking as high as possible, but not to the point where it is causing performance issues with the site. So we’re undertaking the delicate balance to try and slow down the bot without impacting our page rank. Let the dance begin.
Had a reminder the other day of how important expectations are in a service capacity and remembering not to make things look too easy. I live in a house with an elevated ceiling that is really tall. My wife and I decided to do some redecorating. I wasn’t confident in being able to paint the really high and open area and do a good job. So we hired some painters to do the job for us. They were very professional, courteous, showed up when they said they would, finished when they said they would, were reasonably priced and didn’t leave a mess. Yet, I found myself disappointed.
After some conversation with my wife, it occurred to me why. I was expecting the painting to be difficult. Since I was concerned that I wouldn’t be able to do the job well or very easily, I was expecting it to be harder for them. The part I thought was going to be hard was easily solved by a roller on a really long stick, and a tall ladder to reach the top and do the detailing. Plain and simple, they made it look easy. That disappointed me as I had expected it to be hard and that’s why I hired them. Made me disgruntled as I felt foolish in my decision making. Absolutely no fault of theirs. Again, they couldn’t have been more professional. My issue, but the result is not being happy with them. Needless to say, it was a good reminder of a few things you experience in a professional service capacity:
Served as a good reminder that you can do everything right, but once someone sees behind the curtain they may not like the answer through no fault of yours. At least in my case I realized I was doing it, have stopped focusing on the process to get there, and am now instead appreciating the end result.
I recently finished the book Outliers by Malcolm Gladwell. I’ve read and enjoyed several of his books and this one continues the trend. This work uses figures such as Bill Gates and others to look at what makes successful people successful. In my opinion, he presents a sound argument for where it is more than just the cream rising to the top and that environment influences such as amount of practice and good old fashioned right place at the right time play a large part. He uses some very high IQ, but very non-famous people to also illustrate the point.
I enjoyed the read and internalized it as well to my own life and career and how my environment influenced me. The way I’ve internalized it is a bit different than the way that Gladwell was making points in the book, but it helps me to relate that environment and good old fashioned luck play a role at times as well.
Had I not had the ability to take programming in High School I would probably not have gotten interested in Computers. Had I not been born in the State of IN I probably would not have taken that interest and gone to Purdue University, which happens to have a good Computer Science program. While in the CS program at Purdue I certainly put in a large number of hours. Big difference between college and High School where I coasted in High School and moderately understood. Since I was paying for college I took it serious and spent lots and lots of time understanding and working at it. Had I not gone in to CS at Purdue, I wouldn’t have made an acquaintance that introduced me to the company where I’ve worked since I got out of college. Had I not done that, I wouldn’t have made some friends that I have that resulted in me attending a basketball game where I met for the first time the person who ultimately became my wife. Again, slight twist on the environment from the way Gladwell was making points, but to me it helps drive home the point with a personal example of my own. Hard work + environment help with success.
I’ve gradually been setting up a home office for myself in my basement. I found a location where I can sit for hours, found a desk that I like, have a nice large monitor on the desk. One of the first times I sat down to take advantage of it I discovered that something I don’t have from there is a reliable network connection. Something about the shape or proximity makes it a low or very low connection that drops frequently. I began the quest to solve the issue. I considered getting a new modem and router combination as mine is several years old. I was concerned about complexity in setting it up, so I went the route of getting a network extender. After jumping through hoops of disabling security on the network and changing my local IP address range to match the default on the extender I was finally able to get it configured and running. Strong signal where I needed it now, however every few minutes it would lose its way, drop the network for a few minutes, and eventually relearn it all to work for a few minutes. In the end, much less reliable than what I had before.
So a trip back to the store later, I’m looking at wireless access points, new modem and router combinations promising stronger signal, etc. Then a simple solution hits me. Why not just move the access point closer to the middle of the house. A simple, yet cost effective solution that sure enough worked. The poor connectivity in the basement wasn’t a fault of the equipment, but rather a fault of the owner’s choice in where to locate it.
Note: the mental ship had already sailed to have an excuse to buy a new gadget, so I decided to spring for a new modem and wireless router that is 802.11 b / g / and n. Now my home network is much faster. And the thing I was most concerned about because of a prior bad experience with setting up my DSL took less than 5 minutes to have it all up and running. Good reminder to look for simple solutions and not to be afraid to try again.