It’s time to vote for Tech Ed BoFs. Go here to vote. https://www.msteched.com/BOF/Voting.aspx
My submitted BoFs are as follows. Please vote for them.
- Techniques for writing less code (frameworks, libraries, and tools)
Join C# MVP Jeffrey Palermo for a lively discussion on frameworks, libraries, and tools that enhance productivity by reducing the amount of code required to deliver the same functionality in a program. The list is not a closed list. Attendees are expected to share success/horror stories about the frameworks, libraries, and tools they’ve used. Come quickly find out the secrets they won’t teach you in training courses.
- Agile development with .Net
Agile development methodologies are gaining more and more traction in the software industry. Join Jeffrey Palermo and many others for this popular BOF that has attracted 70+ attendees in past Tech Eds. We’ll discuss basic principles of Agile development including people over process and delivering working software at the beginning of a project, not just at the end. We’ll share common successes and challenges from all the attendees, so bring your story.
I got the link from the AgileAustin online group: http://groups.google.com/group/AgileAustin/t/e0370f2d6a210e40
A new VP at Adobe has introduced Agile methods to the Photoshop group, and they turned from waterfall to agile. . . with commendable results: fewer late nights, work weekends. . .and. . . wait for it. . . fewer bugs with the same feature load delivered on schedule.
This is very important to me since I manage the Engineering department at Vital Insight, Inc. It’s a given that my department is much smaller than the Photoshop department, but this is evidence that Agile methods scale from the small teams on up to very large organizations.
Read the full article here: http://www.regdeveloper.co.uk/2007/03/08/adobe_cs3_development/
This is not a trivial topic, but it’s necessary at times to have classic ASP pages controlled by security in ASP.NET. Scott gives some tips on how to accomplish this.
Scott also refer’s us to Stefan Schackow’s excellent book: ASP.NET 2.0 Security, Membership, and Role Management. This is really a GREAT book. I’ve read every word of it. In fact, I was a technical editor for the book, so I can attest to its excellent technical content and depth.
Today, I made a commit to Subversion that encompassed over 200 code files. What was the change? I moved a delegate from sharing a code file with a class to be in its own file and put it in another namespace. Pretty harmless change, but so much code uses this very common delegate. As you know, I'm using Resharper, so here are my keystrokes:
- F6 to "move" the Type.
- TAB
- down arrow (to move delegate to new file).
- ENTER
- F6 (to move to new namespace)
- {type in new namespace}
- . . . wait 10 seconds for Resharper to make appropriate changes to "using" statements in over 200 code file.
- CTRL+SHIFT+S (save all)
- CTRL+SHIFT+B (compile)
I run my automated build (with 1450+ test), and check in.
I remember back to when I didn't use a refactoring tool. You know what I would have done? I wouldn't have made the change. The overhead would have been too great. I would have left the misplaced delegate definition.
Please. Do yourself a favor. Don't develop with POVS (plain old Visual Studio). Use a coding add-in. Use Resharper. Use CodeRush/Refactor. Use JustCode! Use something!
Texas is 171 years old today. Check out Noah Coad’s post (it’s a lot prettier than mine). Make sure to watch the video. I was on that dance team in college.
I use Gmail for most of my mail these day. Today has been hard. Gmail has been down since mid-morning, so I can’t access my mail. Not with FireFox, not with IE, not with WAP, not with the Java Mobile phone applet I have.
With all the rave about software as a service and applications and data “out there in the cloud”, this highlights a downside – there is no one I can call, no one I can fire for this mishap. My only recourse is to wait, and wait, and wait. . .and then switch to another email account!
I just HAD to write this up. My company’s software has just crossed the 1400 automated test cases line. I still remember when the software was new and when I was coaching my team on why we should write unit tests. Now, the number of tests just climbs and climbs.
We have 1417 (as of right now) NUnit unit tests, NUnit integration tests and FIT integration tests. We test the following types of things:
- That each public method of each class does the right thing.
- That each database table is the correct structure and has the right permissions.
- That each NHibernate mapping is configured correctly.
- That each logical service does the right thing.
- That the system as a whole operates when integrated.
Recently, my team needed to produce an installer for our software package. We wanted a neat setup package that installed prerequisites as well (.Net 2.0, and SQL Express 2005). We decided to try out the Visual Studio 2005 setup project. Here’s my experience report:
- Creation of the project was easy, but added files to include wasn’t so easy. The setup project was default output of other projects as deployment artifacts. This assumes a developer is building the GA release on a workstation. My team uses a clean build server for all builds.
- Adding custom steps was nontrivial. There were no hook points where I could pass in a command line to run. I ended up creating a C# class derived from “Installer” just to Process.Start() a shell command. Once I had that, I ran the shell commands necessary to set up the software.
- Creating a start menu shortcut was very difficult. It appeared that it could create one for default project output, but again, I already had my GA release candidate. I just needed to package it up for install. I ended up creating another C# custom action to run Windows Script Object to create a .lnk shortcut file.
- Prerequisite installs worked like a breeze. The installer detected the need for .Net 2.0, and Sql express and installed both seamlessly without unnecessary questions to the user. Very pleased with this.
- The uninstall is good. I have opposite steps for my custom actions, and the uninstall performs well. Users get the standard experience of uninstalling from Control Panel.
- I have the option of including file a raw, loose file or bundled into a single .msi file. I opted for loose files to keep the install package flexible.
- PAIN POINT: I wasn’t able to automate the creation of the setup package. The .vdproj file is not an MSBuild project file, and it requires Visual Studio just to build that project. This means that I have to create the installer from a developer’s machine, not my build server. This might be a deal-breaker for me, I haven’t decided yet. It’s very important that everything be automated, and the only alternative is to install visual studio on the build machine (I’m not going to do that).
Overall, with a few caveats, the setup project is doing it’s job, and we’re shipping. We’ll use it for the time being, but I’ll keep my eye on Nullsoft, Wise, and InstallShield.