Evel Knievel died today. For those of us who grew up in the 70s and 80s, Knievel was a big hero. I had a couple of Evil Knievel toys when I was a kid. I wasn’t very old when he did his famous, failed attempt to jump the Snake River, so he has been a legendary daredevil for as long as I can remember. RIP.
Archive for November, 2007
Evel Knievel Dead at 69
November 30th, 2007Silverlight 2 and IIS 7 Release Info
November 29th, 2007If you don’t have Scott Guthrie’s blog bookmarked and you do .Net programming, then you should bookmark it now. Mr. Guthrie is the General Manager at Microsoft responsible for .Net, IIS, Silverlight, WPF and Visual Studio. When he posts information about the aforementioned products, you know its as accurate as it is going to get.
There is a new post on his blog about the release schedule for Silverlight 2.0 (aka Silverlight 1.1 Alpha) and IIS 7. Silverlight is Microsoft’s answer to Flash/Flex and more. The 2.0 release will have support for the .Net Common Language Runtime inside the browser (IE & Firefox) on Windows, Mac (Intel) and Linux (you read the correctly, Linux). I have tinkered with the 1.1 Alpha, and its pretty cool running C# inside Firefox on my Mac. C# code can call out to the DOM and make changes to the web page, and JavaScript can call into the Silverlight runtime as well. This reminds me of the old Java/JavaScript integration in Netscape.
Microsoft has already made it pretty easy to install and update Silverlight on IE. I have noticed that the auto-update functionality does not seem to work in Firefox, but it is easy enough to get it installed or to download an update and install that.
I can see a time in the very near future where the web apps I write host the same .Net object I would right for the desktop. The dream of being able to share large amounts of code between web and desktop/n-tier applications could be realized in 2008.
Sharp Code Challenge
November 29th, 2007The people over a C# Corner are running a programming contest for WPF applications. Contests like these are great. I don’t think a site like C# Corner could buy better advertising and garner as much good will in any other way. I wonder why other companies don’t do something similar. Google has been doing this for a couple of years.
Microsoft has really hit a home run with WPF and with .Net. But they have really fell flat on their face with Vista. What they should do it have a contest like this. “Write a program in WPF that adds to the Vista experience and win $100,000.” I imagine coders all over the world writing cool new system utilities and other programs for the money and fame. This would be a huge home run for Microsoft, and cost them so little. I bet they spend more than $100,000 on toilet paper every year. Microsoft would show that they are serious about public input, would get their developer community excited, get a lot of much needed good will, and improve Vista.
Twenty Hours of WPF Video Training
November 25th, 2007Over at the Mix University website you can watch up to 20 hours of WPF training videos. I have watched a couple of them and they look OK. If you are new to WPF then they will be very helpful. If you are an experienced WPF developer, then you may want to look through the topics to find things that interest you.
Free
November 25th, 2007The open source community has a saying to distinguish “free stuff” from freedom. They say, “Free as in beer.” The point here is that there are two different types of free software. With one type, the end user is free to modify the source code, free to redistribute the software, and free to use it how they wish. Of course there are a few caveats, but the previous sentence is 99.9% true. This type of software is also free of charge.
The second type of software is just free of charge (free as in beer, not freedom). There are usually some strings attached.
I just love free stuff. I appreciate the principles of the first type of free softwre. I have donated to open source projects to “give back”. But when it really comes down to it, I love free products that help me become more productive, no matter if they are type 1 or 2. I love free beer.
I stumbled across a great book that listed 140 free development tools called Windows Developer Power Tools. You can click on that link, and buy the book from Amazon. It will put a few cents in my back pocket via the Amazon Affiliate program. Or if you just want the free tools they list and some updates, you can visit the authors’ website. Of course the site does not have the explanations of the products and sample code from the book. I have started using several of the tools found in the book, and there are several tools that I was already using.
This highlights that its not just about having great, free products available, but its about being able to find them. In the spirit of sharing, here are a few of my favorite free products, open source or not. I am sure a lot of these are obvious, but I am still going to list them:
Software Development
Visual Studio Express
Free Version of Visual Studio 2008. If you want to learn C# but you don’t want to shell out for pay versions, this is a good choice. It is also a good choice if you don’t need a lot of the advanced features of Visual Studio.
Sharp Develop
An Open Source IDE of C#. I used this for a while at home just to see if it was worth it. At the time I used it it was not, but I have noticed a lot of new features in the product since then I think you are better sticking with the free version of Visual Studio. But if you want to do C# and stay clear of MS, this is your choice.
Reflector
Inspects .Net Assemblies and Disassembles Code into C#. It is nice to see how Microsoft actually implements many of their framework classes. This has helped me countless times. When I am working with new products, I use this almost hourly.
NUnit
An automated unit testing framework for .Net. If you are not unit testing, you should be!
TestDriven.Net
Effortlessly run unit tests from inside the Visual Studio IDE.
Paint.Net
The free and fully featured painting program, written in .Net.
Various
Open Office Free office software.
Neo Office Open Office for the Mac
Firefox Misbehaving
November 22nd, 2007I have been using Firefox for several years now. I believe it is vastly superior to IE. Firefox is faster, it is more stable, and it has a rich set of add-on features being developed by a vibrant community of open source programmers. I first started using Firefox when it was called Firebird, on a Windows 2000 desktop. Since that old desktop where I first used it, I have installed Firefox on every machine I have used at work or home. This has included various versions of Windows, Linux, and my Mac. I have very occasionally ran into a weird bug, but it was usually something that was fixed very quickly with a software update from the Mozilla Foundation. I have had much more trouble with IE 5, 6, and 7 during the same time period.
Recently I have been experiencing a very bad bug in Firefox on my MacBook. I was unable to download anything, until I fixed it this afternoon. I finally found this help page on the Mozilla Support Site. I actually had to dig into the file system and delete a file that contained download history. I would imagine this file was somehow corrupted. My Firefox is now back to normal. What bothers me is that it took me about a week of searching for the answer to finally discover the trick. I tried a number of potential solutions before stumbling onto this one. Hopefully if you stumble onto this page, I will have helped you.
The Internet Is For Recipes
November 22nd, 2007My wife and I wanted to try something new for Thanksgiving this year. When it is just two people, cooking a turkey and everything that goes with it can be overkill. We decided on smoked salmon.
Last year I bought a gas and wood smoker for doing BBQ. Hey, I live in Texas now. It is required for all men to learn to BBQ! I have done pork loin, ribs, and brisket with great success. Smoking a brisket is an all-day affair. The best brisket I ever made was in the smoker for 10 hours. Obviously salmon was not going to take that long, but I really did not have a clue what to do. So I went to the Internet. I found a recipe right away using Google. It turns out that smoking salmon takes less than an hour, unless you want to make jerky.
The Internet has had a profound impact on society, from big things like business-to-business applications, to small things like recipe web sites. Today I cooked the best salmon I have ever had, period, thanks to a recipe I found on the Internet. Knowledge is indeed power, and its also yummy.
For whom are you writing software?
November 21st, 2007I have been writing a lot of core, framework-style code lately. I realized that I there are a lot of different people who may end up using the software I write. These people include:
- Customer end users
- In-house end users
- Customer support staff
- In-house support staff
- Fellow developers
- Me
If I had to order this list by importance, I would probably put the “Customer end users”, and then “In-house end users” at the top, but after that I am not sure who the most important audience is. When writing any software, one should keep the end user in mind. After all, it is that group of individuals who will actually be using the software. If your software is difficult to use, performs poorly, or is buggy, the end user group will be the ones most directly and severely impacted. And when developing for *customer* end users, you can actually loose money for yourself or your company with software that the end user will not use (read: buy).
All but the simplest software has bugs. Software may also under-perform in the field. This is where targeting the support staff comes into play. Software that is easy to configure and monitor makes the jobs of support staff easier. I have been trying to build software that auto-configures or is very easy to configure. I am also building in a lot of logging using log4net. Using a config file, support staff (or I) will be able to turn up or down the amount of logging. I consider logging like writing comments. In fact, log statements can take the place of some comments in code. With heavy, customizable logging, it should be easier for support staff to find problems. I have even found myself writing extra logging functionality to make is easier to log all of the activity in my code.
The last group I mentioned are the group of individuals I work with: developers. Other programmers should be able to dive into my code and understand it. I try to name my variables, functions, classes, basically all of my software components with very explicit names. A variable called “dirRecC” is easier to type than “directoryRecordCount”, but the second is self-documenting. Lots of commenting, especially meta-data commenting so that function and class commenting shows up in Intellisense and can be added to documentation using automated tools like Sandcastle.
The point is to keep in mind *all* of the users of your software. If you do that, you are going to build a lot better software and make a positive impact on the lives of a lot of other people.
Visual Studio 2008 and .Net 3.5 Released!
November 19th, 2007Today Microsoft released Visual Studio 2008 and .Net 3.5! If you have not had a chance to download a beta version of 2008 to try out, it is very stable and has some great enhancements like Javascript Intellisense that actually works, better XAML and XML editing, and a lot more I have not used. The new C# language features are even better.
You can check out information here:
Fixing ReSharper
November 15th, 2007ReSharper is a Visual Studio Add-on that enhances development. I recently used a trial version. Although I liked it, I did not end up purchasing it. The unistall procedure was not at all obvious. First I looked at the ReSharper menu in Visual Studio. Next I looked in the Start menu for a ReSharper group. Nada. Then I looked under Program Files, seeking an uninstall (or install) program. Still nothing. Finally I re-downloaded the MSI package and launched it. It asked my if I wanted to Repair / Remove, and I choose Remove.
At this point, I had unistalled ReSharper. Unfortunately, Visual Studio’s built-in intellisense was broken. I found a solution that fixed the problem for me. In the command prompt, drill down to C:\Program Files\Microsoft Visual Studio 8\Common7\IDE, and execute the following three commands:
- devenv /setup
- devenv /resetuserdata
- devenv /resetsettings CSharp
That will leave your IDE in a clean state. Unfortunately you will find that all of your user settings are gone, but hey, at least intellisense works!
UPDATE
JetBrains finally got back to me on restoring Intellisense. Looks like I used the brute force way of restoring things. They said:
… “Meanwhile to restore IntelliSense please open Tools > Options > Text Editor > C# > General tab and make sure ‘Auto-list members’ and ‘Parameter Information’ options are turned on.” …
Apparently JetBrains has trouble with their credit card processing (why I didn’t buy). I may end up getting ReSharper if a salesperson contacts me. I know I have really, really missed it the last few days.





