Archive for the_time('F Y')

Trying the Castle Project?
27 April 2007 in .Net & Mindscape | Comments (0)

Mindscape

Recently it seems local .NET developers are picking up parts of the Castle Project (Monorail, ActiveRecord etc) and there has been a bit of discussion going on regarding how certain things should be done. It’s great to see this framework being picked up, it really does aid creating more robust and maintainable solutions. As with anything new that you’re learning it can sometimes be daunting and challenging though.

So where should you turn if you need guidance with using parts of the Castle Project? Mindscape.

We have really smart people here who not only know how to leverage it effectively but have also contributed code back to make the Castle Project better for everyone. If you’d like to talk to us about getting some guidance or help then contact us or contact me directly.

- JD

Reduce your .NET assembly size
12 April 2007 in .Net & Code | Comments (1)

I’ve always been interested in writing very small and efficient code. There isn’t much need for coding in C or Assembler these days (which I used to like playing with a few years back) so I really enjoy finding new ways of making .NET code smaller and faster. I thought I would share one inexpensive trick for making your assemblies just that bit smaller on disk.

  • Bring up the properties to your C# project file.
  • Click on the build tab.
  • Click on Advanced.
  • Set the File Alignment value to 512 (it will default to 4096 for C# projects)

File Alignment Property on C# Projects Dialog

For some reason Visual Basic solutions will default to 512 and C# projects seem to default to 4096. This affects how the MSIL code is written in the assembly and appropriately pads the file with zeros if required to fit code neatly into the file alignment size. Reducing this value has negligible or no affect on application start-up but can reduce your assembly size by a noticeable amount. Likely in the 10 – 20% range in terms of savings.

Always nice to get a free saving on assembly size!

- JD

Internal frameworks are a waste of time
11 April 2007 in Business | Comments (1)

Just Thinking

Almost every software developer you talk with will be able to tell you that their company has some software, usually a framework, that they use internally to help develop solutions. The view is that this is done to gain a competitive advantage by enabling faster, smarter development. Companies are often hugely protective of these frameworks, many see them as containing their trade secrets, their intellectual property that nobody else knows about.

I’d argue that this business practice is coming to an end, especially in the software market. Software evolves at such a pace that maintaining these frameworks is often a forgotten task or, at the most, poorly done.

We end up with many software companies, both service and product houses, investing in themselves to build new frameworks, “better” frameworks and to up-skill staff on a non-exportable skill set. Perhaps management thinks spending money on such development doesn’t seem so bad if staff can’t use that skill to market themselves to competitors? This, of course, is a poor investment as it doesn’t only hurt your staff but makes your company less appealing to prospects as well. The market doesn’t care if your staff are efficient at using your internal framework. This clearly affects services organisations more but the message is the same.

So lets recap:

  • Many companies are developing their own frameworks
  • These frameworks cost each company to create, educate and maintain
  • These frameworks have no exportability because they are often seen as trade secret

But wait a minute, surely this is a bad cycle for everyone? No developer wants to work at the company that uses no framework or guidance. We’re all having to keep up with each other. So how can you be different?

Flip the problem around.

Take your internal framework, make it open. Allow anyone to download it, including the source. Maintain it but also allow outsiders to submit patches. Spread the word effort outside your company. If you do it right you can reduce cost and deliver large gains to your organisation. What a difference to the way most software companies operate these days.

Look at 37Signals – this company opened up their internal framework (Rails) which is possibly the largest factor in their world wide fame and success – leading to more subscribers to their software. 37Signals can now leverage resource outside the company to further develop their framework while maintaining “editorial control” over it as they get the final say on what goes in and out. They also gain because they get thousands of people suggesting features they may never have thought of as well as reviewing the code for bugs.

Clearly not every company is in a position to do this, if we had as many open frameworks as we had software companies the problems would still persist. There are many other examples of frameworks that exist that are already open (for virtually every technology platform) so before digging deep and starting your own evaluate what is already available, if nothing exists then you have a far greater opportunity than just building an internal framework – leverage it publically!

Many many software companies sit on internal frameworks as their “competitive advantage”. A competitive advantage every single company has is no advantage at all.

- JD

PowerShell Gadget
4 April 2007 in Code & Microsoft & Mindscape & Windows | Comments (0)

Mindscape PowerShell Gadget

Andrew here at Mindscape has just put the finishing touches on his first version of a PowerShell Gadget for the Windows Vista SideBar. I’ve been fortunate enough to have been able to have a play with it while he’s been developing it and personally I think it’s pretty damn cool. I’m always firing up PowerShell for little commands here and there so by integrating PowerShell into the SideBar I no longer have to switch away from what I’m doing for too long.

Click here to see a screen shot of the Gadget in use

If you’re interested in checking this project out and downloading the gadget, check out the Mindscape blog post about it.

- JD

Windows Mobility Center
4 April 2007 in Microsoft & Tools & Windows | Comments (0)

One of the new additions to Windows Vista is the Windows Mobility Center. This wee guy just makes it all the bit more easy when you’re doing presentations or on the run.

As you can see in the screen shot below, you can manage sound, battery, network, multiple monitors, synchronisation and presentation settings all for this helpful dialog. I didn’t even know it existed until the AV guy in Auckland banged some keys on my keyboard to bring it up. Just hit the Windows Key + X to bring it to life at any point.

Windows Mobility Center

Sure, this isn’t revolutionary but it’s useful to know about when you’re fumbling around up on stage. Often it’s small features that make all the difference in your day to day use. Any other little speed me ups that you guys know about?

- JD