| | Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|
| 26 | 27 | 28 | 29 | 30 | 1 | 2 | | 3 | 4 | 5 | 6 | 7 | 8 | 9 | | 10 | 11 | 12 | 13 | 14 | 15 | 16 | | 17 | 18 | 19 | 20 | 21 | 22 | 23 | | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | 31 | 1 | 2 | 3 | 4 | 5 | 6 |
Subscribe to this feed:
|
|
Archives:
| May, 2010 (1) |
| March, 2010 (1) |
| November, 2009 (1) |
| September, 2009 (1) |
| July, 2009 (2) |
| June, 2009 (1) |
| May, 2009 (1) |
| March, 2009 (5) |
| February, 2009 (3) |
| July, 2008 (1) |
| June, 2008 (2) |
| May, 2008 (1) |
| April, 2008 (2) |
| March, 2008 (4) |
| February, 2008 (4) |
| December, 2007 (2) |
| October, 2007 (2) |
| September, 2007 (1) |
| June, 2007 (1) |
| May, 2007 (4) |
| April, 2007 (4) |
| March, 2007 (2) |
| February, 2007 (4) |
| January, 2007 (3) |
| December, 2006 (1) |
| November, 2006 (4) |
| October, 2006 (7) |
| September, 2006 (2) |
| August, 2006 (14) |
| July, 2006 (9) |
|
FogBugz is a great web-based project management and bug tracking application that we use to keep track of our customer's projects. I'm often suprised by the quality and modern feel of this app, despite running in classic ASP*. So I was pleasantly suprised again when I found they'd come out with an API and Visual Studio 2005 Plugin. Installation was simple, and the result is a very Team System-ey integration between our helpdesk and development environment. *As a side note, it's actually written in a proprietary language, Wasabi, which has driven some to (perhaps rightly) question the owner.
Here's one feature of ASP.NET 2.0 you may not have heard of- I certainly hadn't until it hit the blogs again recently. If you drop a file named app_offline.htm in your web application's root folder, then all requests to that application will only return that file. Very handy for scheduled downtime, bringing down your app for updates, etc. Scott Guthrie mentions the trick here, as well as a minor issue to be aware of when designing your app_offline page. One novel way to implement this is to integrate it into your deployment process. For example, a simple batch file like this: copy C:\MyCompany\app_offline_updating.htm C:\InetPub\wwwroot\Demo\ProjectName\app_offline.htm /y xcopy C:\MyCompany\ProjectName*.* C:\InetPub\wwwroot\Clients\Demo\ProjectName\ /s /q /y del C:\InetPub\wwwroot\Clients\Demo\ProjectName\app_offline.htm The batch file can be run manually, or even better- as part of your continuous integration process. With a little javascript or meta-tag to do automatic refreshes, this is a great way to avoid errors and communicate downtime to users.
If you're not familiar with Cruise Control .NET, it's a continuous integration server for .NET projects. What's a continuous integration server? Well, think of it as a free developer. It's job description is not enviable: - Wait for new code to be checked in by the other developers and make sure it can be compiled.
- Check the code for best practices.
- Run unit tests to make sure nothing is broken.
- Perform any last minute tasks
- Notify team members of the latest changes.
- Alert the appropriate people if something fails.
If you think about it, this is really a fitting analogy. FXCop ensures your code conforms to a large chunk of MS Patterns & Practices. With NUnit, you write tests to check some part of your code. This is the same as asking another developer to double-check everything for you. Finally, MSBuild and CC.NET tasks pick up a ton of other tedious tasks such as deploying a setup package, notifying people of changes, updating the company website, etc. What this means is that the real developers can focus on the fun stuff: writing code, while "the new guy" does the grunt work.
In our ongoing effort to share with you tools that we find useful, here's a throwback to the days of yore:
PowerGREP is a grep-like tool
for Windows that allows you to search (and replace) regex patterns in
folders (and their subfolders). My favorite feature of the
product is that it will allow you to preview replacements before
commiting them. It's also very fast.
Good utility to have in any toolbox.
I'm posting this mostly because I know I'll forget, but hopefully it'll come in handy for others as well. One tricky problem in programming is to search by date range against data that also has a date range. Sounds simple, but this can quickly get confusing. You must take into account the start and end date of the search criteria, as well as the start and end date of the data. You must also consider cases where the start date is in the given range, but the end date is not, or visa-versa. Then there are cases where neither are in the search range. See, confusing. (Ryan Farley has a good illustration of it all, and is where I finally found my answer) It helped me to think of it in terms of a timeline, and the search as simply finding the records where the search range intersects with the record range. As one of the commenters on the above post pointed out, it's easier to exclude the records that don't match. In a SQL, it'd look something like this: SELECT * FROM Reservations WHERE (NOT((ReservationEnd < @StartDate) or (ReservationStart > @EndDate))) In plain english: Get the records where the reservation does not end before the start date, or start after the end date. One other gotcha. Be sure, when passing the start and end dates into your SQL query from .NET, that you're considering time as well. Typically, you'll want to search from 12AM to 11:59PM: Dim startDate As DateTime = New DateTime(CurrentDate.Year, CurrentDate.Month, 1, 0, 0, 0) Dim endDate As DateTime = New DateTime(CurrentDate.Year, CurrentDate.Month, DateTime.DaysInMonth(startDate.Year, startDate.Month), 23, 59, 59)
This is something I downloaded a while back, and use sporadically, but every time I do, I'm amazed. In a single right-click menu it gives you access to just about any tool a good web developer needs when browsing their app. Turn off styles/javascript/cache/images/etc for testing. Switch CSS Media types, edit css on-the-fly. Outline divs, tables, links, etc. Validate using a variety of tools- even localhost sites. The one humble menu item that spurred me to post this, though, is 'Resize To... 800x600'. Perfect for testing your app on that ginormus monitor. http://chrispederick.com/work/webdeveloper/
Microsoft has released a free utility called XML Notepad that serves as a lightweight, stand-alone XML editor. Probably not the most full-featured product available, but it does handle schema validation and performs XSL transforms...and the price is right.
It'll be pushed down in Windows Update on Nov. 1, but IE 7 is out of beta now, and can be downloaded here: http://www.microsoft.com/windows/ie/default.mspx It'll be interesting to see who switches back and who stays with FireFox. The main factors for my switch to FF were tabbed browsing and RSS, both of which have been added.
I was reminded again today how freaking awesome ClickOnce is. Awesome to the developer, because you run a little wizard and get a deployment package, installation page, and auto-update (and rollback) functionality. Awesome for the user because you click a button to install an app, (maybe another to grant it permissions), and get notified whenever it updates. To bad it doesn't work natively with FireFox. Fortunately there's a plugin for it until Microsoft gets it working. The first article also mentions a workaround you can use on your installation page.
There's a ton of free content on MSDN and elsewhere, but these professional courses usually cost about $50 each, and cover a specific task or topic in-depth. Enjoy!
|