Via Twitter @MarcelMeijer and SDN site, that Silverlight 3 SDK Beta 1 was just released, a few hours before Mix09.
Because of the nature of my work, coaching people on-site and training people in classes, I talk to a lot of developers and managers about the way people work. Unfortunately a lot of companies still don’t unit test their software and don’t setup an automated build. At times that’s specifically what we at Class-A are hired for. But if it’s not, we try to convince our customers that they gain by working with these practices.
Most companies want to professionalize and create better (quality) software. But for some reason, this can’t cost them anything. And I’m not talking about development time or learning curve, that’s a different story. I’m talking about the licensing cost of the tools you want or even need. For some reason people can’t lay down a few hundred dollars for something that will save them immense amounts of time, and thus money.
People rather spend countless number of hours on creating their own grid, whereas for a small amount of money you can buy a grid that has it all and can do it all, before you started thinking about it. People rather spend countless number of hours writing extra code, just to make it testable. People rather spend countless number of hours doing stuff that can be automated, generated or in some other way be helped with. I’m not sure about you, dear reader, but on my part this is unacceptable.
This blogpost is about my top 3 favorite products for developing software. Each one of them costs money, while there are free alternatives. But they’re in this list because they make developing software so much easier, that they pay back the investment within a matter of weeks or sooner.
Again, if you really want to gain in productivity and think this is worth money, buy these tools.
If you want to lag behind, have less control over what you’re doing and don’t think quality is something your customers need, don’t…
I suddenly remember that Azure can supply you with analytics on how your services and storage is doing, so I wanted to check this. Some funny results came out of this.
First of all, these statistics are about my speed traps application I blogged about before. It’s nice to know what it actually does.
So here are the statistics for my service and my website. Urls can be found in the previous post.
In the left image you can see the number of VM hours used every hour. This means that every hour of the day, I use up 4 hours of VM usage. This results in 96 VM hours per day. Which is kind of weird, as you get a max of 2000 VM hours per trial-key, which means my service should not be able to run for 21 days straight. Meaning that my speed traps service should start failing any day now! Here’s how…
The following two pictures are about my storage. In the left image you can see the daily network usage in megabytes. Per day I transfer a maximum of about 2 megabytes. On the right side you can see the daily storage usage in megabytes as well. The funny thing is, as I’ve told, that every time before I store the latest speed traps, I delete all current available in my table storage. But still I use up to 40 MB of storage per day. Is that accumulated? No idea.
I got sick of manually attaching to the webserver (either aspnet_wp.exe on WinXP or w3wp.exe on Win2003 or later). You can have a macro for that, incl. a shortcut key. I got this from somewhere on the web, but forgot where. If I find out, I’ll of course post it here. But I constantly have to search my sent items in Outlook for this bit of script when I tell someone about this. So here it’s on my weblog.
Now go to your web application project and press ALT+F10 and you're in debug mode, attached to the webserver. Press F5 in your browser (of course in the correct website) and you're done!
Here’s the code:
Imports System Imports EnvDTE80 Imports System.Diagnostics Public Module AttachToWebServer Public Sub AttachToWebServer() Dim AspNetWp As String = "aspnet_wp.exe" Dim W3WP As String = "w3wp.exe" If Not (AttachToProcess(AspNetWp)) Then If Not AttachToProcess(W3WP) Then System.Windows.Forms.MessageBox.Show(String.Format("Process {0} or {1} Cannot Be Found", AspNetWp, W3WP), "Attach To Web Server Macro") End If End If End Sub Public Function AttachToProcess(ByVal ProcessName As String) As Boolean Dim Processes As EnvDTE.Processes = DTE.Debugger.LocalProcesses Dim Process As EnvDTE.Process Dim ProcessFound As Boolean = False For Each Process In Processes If (Process.Name.Substring(Process.Name.LastIndexOf("\") + 1) = ProcessName) Then Process.Attach() ProcessFound = True End If Next AttachToProcess = ProcessFound End Function End Module
I regularly forget, after re-installing my desktop or laptop, what settings I had configured in Visual Studio. Today I was looking for another one and decided to blog about it, for a personal reference. More will probably come to my mind or I get some cool tips from others, so I’ll update this post whenever this happens.
Tabs instead of spaces As everyone knows, you need to setup tabs in Visual Studio and not have spaces inserted. The two main reasons is that every developer can decide for him/herself how many positions each tab will take from the side. The other reason is that tools to compare code will go nuts on spaces, thinking every line is changed.
Track items in solution explorer When you’re inside some code, you’re not always sure which file in the solution explorer you’re working with, because jumping all files with the best shortcut keys might result in me getting lost. With this setting on, the solution explorer selects the file you’re working in.
XAML Viewer, no designer Most of the time I don’t work with the designer and I only want to see the XAML. Also because the designer takes a while to load, especially the first time. This makes sure the XAML is full screen when you click a WPF/Silverlight file.
Double-click failed test takes you to failing line in code This option is very useful if you’re doing unit testing and your test fails. Instead of multiple clicks, one click on the error (the row in the testresults pane) take you immediately to the failing line.