CodeRush and Refactor! are 2 very powerful VS.NET add-ins that let you program faster. They are made by Developer Express, which is a software company that I have had nothing but incredible dealings with over the years in the Delphi area. As a matter of fact, I used CodeRush for about a year on Delphi way back in the day (maybe 1998?). Even though Mark Miller is the lead man responsible for these products, I'll still use it. (Just kidding, Mark!). In all seriousness, Mark is one of those unique developers who has the passion, vision and technical chops to back it up. I've also known Mark for years from the BorCon speaker circuit. I would highly recommend paying attention to whatever he does, because he does things right.
CodeRush is integrated into the IDE, "bringing you new ways to look at code, new ways to generate code, new ways to navigate through code, and new ways to create your own extensions to your development environment." It is very configurable. There is also a nice training window that will help remind you of what keystrokes to press to generate code. Once you have the keystrokes mastered, you can turn it off.
Refactor! Pro is just unbelievable. It provides over 50 refactorings built-in that work with C#, VB, and C++. At the heart of this product is the mindset that you should never lose workflow with modal dialogs. The result is a thing of beauty, with some of the best eye candy out there. Beauty is fine, but I really want a tool that doesn't miss refactorings, and this tool has proven incredibly reliable on that side as well. For a quick overview of Refactor, check out this 3 Minute Overview on MSDN.
CopyAsHTML is a VS.NET 2005 add-in that will take source code from VS.NET, and copy the pretty-printed version as compliant HTML code. It also works with things like XML.
The quote on their web site has proven to be true for me so far:
"If Visual Studio can highlight it, CSAH can copy it, and your source should look the same in your browser as it does in your editor."
After countless messages from Steve Trefethen and my new co-worker Geoff Lane harassing me about updating my web site, I finally started to do it last night. Here's what I did:
- I've been running Google Analytics on my web site for a while now. I was finally able to add it to the blog portion of my web site. I edited PageTemplate.ascx in the appropriate skins folder of .Text to add the scripting code.
- I added Google AdSense throughout the site. I don't imagine I'll retire off the income, but hopefully it can help defer hosting costs.
- Tons of small improvements and bug fixes to get a more common look and feel, including moving to ASP pages instead of static HTML pages. I imagine I'll template the main look and feel soon.
- I updated content throughout the site to reflect things that I've been doing the past couple of years.
I came across a bunch of other things that I'll be doing to the main web site over the next couple of weeks, too (e.g. upgrade to support at least 800x600; upgrade to dasBlog so I can finally get off of .Text 0.95 and get features like searching, etc. The big problem is finding a way to convert my existing blog without losing comments or URLs; upgrade the look and feel.). I guess web sites can have code decay the same way that real code can. 
Here's an annoying fact: Dell ships a severely limited version of Roxio tools that can't even burn an ISO image to CD. I didn't really appreciate being pushed forcefully towards a $69.99 upgrade of a tool that issues an AV every time I try to register, so I went looking for a trustworthy alternative.
I chose the XP Support Tools option at the bottom of the page, and it works like a champ. Simply type the following to burn the ISO:
cdburn e: MyDisc.iso
Another option would be to mount the ISO via MS Virtual CD Control Panel.
I've been doing a lot more .NET lately, and while doing that, I've been evaluating a lot of different architectures and patterns. During my career, I've done mainly Delphi and Java, with some side jaunts into less travelled paths (e.g. MUMPS, Intermec, etc.). One thing that I have definitely learned is that the more exposure one has to other environments and languages, the better that person becomes overall. It provides a way to map new ideas into existing languages, and vice-versa.
A while back, I came across Martin Fowler's, et al. term POJO, which itself is a continuation of other "Plain Old" terms in computer science. The reason it became a mainstream acronym is that there were many frameworks in Java that were adding complexity to objects, and Fowler wanted to get developers to at least question whether architectures with simple objects were viable under certain conditions.
Therefore, my contribution to the computer science lexicon is PONO, or Plain Old (dot)Net Object. As frameworks continue to emerge on the .NET side, the problems that caused POJO to gain ground in the Java camp will become more prevalent in the .NET camp.
David Riggs, the Editor of the Delphi Informant, has given me permission to publish my old articles and editorials. He was even kind enough to provide the type-set copies as Word documents. We'll see how good the conversion from Word to HTML works.
The articles can be found - strangely enough - on the Articles page of my web site. For some reason, we don't have the original TIniSource article, but that just gives you an excuse to purchase the Delphi Informant CD archive.
Obviously, these are older articles, and some of the information may be dated, but hopefully, there will still be something worthwhile to take away. Let me know if you find anything glaring that needs correction.
I've developed a series of sayings that have evolved over time. I thought I'd share them here. I think it's safe to just post them without explanation, as they are meant to promote thought.
- Everything is easy when all you're doing is drawing circles and squares.
- It takes 3 times to perfect something.
- Anybody can look good on paper.
- When playing safe, be sure it's safe.
- If you don't know the shot, don't take the shot.
- Good enough to work isn't "Good Enough".
- If you want to act like a primadona, produce like a primadona.
- You can't stand on priniciple when you have none.
- Being busy is no excuse for a short-cut.
- A bug is no reason to lose sight of logic.
- Nothing in life is a failure if you learn from it.
- Think Less. Know More.
- The last thing you want to give me more than a big taste of success is a small taste of failure.
- Greatness comes from action, not those that critique it.
- Souce code is the source of all truth.
- Never empty all your chambers at the first thing that goes bump in the dark.
After reading Joel's article on Airset, I thought I'd give it a try. Normally, I am not a fan of web applications. However, this web application is incredibly well done. The GUI is rather impressive, with wizards, dialogs, menus, drop downs, and the like. It still feels nothing like the responsiveness of a desktop application, but the features are so good that I may have to overlook this.
This online calendar application has almost all of the features that I need. Things like: group calendars, integration with Outlook, SMS notifications, good permissions, and search. It also has features that I like that weren't necessarily part of my requirements, like blog content, shared contacts, lists, and links, and tight integration with most cell phone providers to provide an application that runs on most cell phones.
I looked at Office Calendar by Lookout Software, and I liked the concept very much, but the price tag seemed a bit steep. All in all, I am quite pleased with the features of Airset, and the price of free is hard to beat.
|