Useful Tools and Information

Excellent Resource for Freelancers

Just in case any freelancer or consultant that is reading this blog doesn’t know about Freelance Switch it’s a great blog with freelancing advice and resources. They even recommended yaTimer about a year ago.

Lambda in XAML

Here are links to a 3 part series with code that let you use C#-like lambda expressions in XAML instead of writing value converters. For example, instead of writing a value converter that takes a DateTime and calls ToShortTimeString you can write: <TextBlock Text='{Binding Source={x:Static s:DateTime.Now}, Converter={fix:Lambda "dt=>dt.ToShortTimeString()"}}'> WPFix Part 1 (Lambda Converter Extension) WPFix Part 2 (Binding Extension) WPFix Part 3 (Extension Methods)

Technical Debt

"Technical debt" is the mess you make when you take shortcuts while developing software. It's a very powerful concept and it's easy to explain it to anyone with the basic understanding in taking loans, even without any technical background (for example, management). When you do something the quick and dirty way, instead of the right way, you take on technical debt, every time you have to do something with that code it's now going to take longer because its badly designed (just like interest payments) and you should sometime re-write the offending code (pay off the debt) and that will take more...

Custom Chrome (window frame) with WPF

This post on the WPF SDK blog contains almost everything you need to know to change your window appearance using WPF, this includes: Extending Vista glass effects into your window. Maximizing a window with WindowStyle of None without covering the taskbar. Removing information from the application title bar (Vista only). Drawing in the window title area in a way that is compatible with Vista glass effect. A must read for every WPF developer.

Watch This

Anyone thinking about starting a software company (or already in the process of starting one) should watch this, several times. http://www.justin.tv/hackertv/97862/DHH_Talk__Startup_School_2008 I couldn’t agree more with this talk.

Browser-shots

If you do any web development this service has to be in your bookmarks. You type in the Url of a web site and you get images of how it renders in a variety of operating systems and browsers. http://browsershots.org/

Free PDF Print Driver

CutePDF writer is a free utility that let you "print" to PDF. It's really simple, it install a virtual printer and when you use that printer it saves the results to a PDF file. you can get it at: http://www.cutepdf.com/Products/CutePDF/writer.asp Don't forget to download and install the free conveter. It's a good solution if you want to create PDF files from any application, like my own yaTimer.

Templates for WPF Custom Controls

I had planned to write a series about how powerful WPF's item control is, I wanted to show how easy it is to write a calendar using just the built in controls. But then I found this article by Charles Petzold on MSDN magazine His focus is completely different then mine, but his example does so much more then what I wanted to post that I'm not going to bother.

Setting the Selection Color for a list box item in WPF

WPF’s styling and templating support is amazing, but some controls are easier to template then others, one of the least intuitive to style controls is the ListBox, it’s very difficult to change the ListBoxItem selection background color for example. Here is a post on the WPF SDK blog that explains how to do it. I’ve posted this here so I’ll know where to look the next time I want to style a list box

Binding to the Current Item in WPF

Here's something really cool you can do with WPF data binding – bind to the current item in a collection.

The Download Sites Scam

Andy Brice, Creator the table planning software PerfectTablePlan, did a little experiment and posted an obviously fake software program to a lot download sites, and not only got listed on a lot of them – he also got many 5-star awards from some of those sites, read his post here. I've suspected this for some time, when you're looking for software those days often all you find are those spammy, low quality and ad filed download sites, they get their high search engine position by sending all those 5-star awards and getting a link from sites posting them. I haven't submitted yaTImer,...

Another Post about the Benefits of Releasing Early

Andy Brice wrote a post on his blog titled If you aren’t embarrassed by v1.0 you didn’t release it early enough. I really like the idea of releasing early, yaTimer, my time tracking software, was released just two weeks after I started working on it (two weeks of nights and weekends, I don't believe in quitting your "day job" so soon). Version 1.0 was missing important features, the setup program user experience was very poor and you couldn't even buy it (I didn't even setup my payment processor before releasing it). The current version (1.2) it much better and I plan to stop being...

Partial Serial Number Verification

I've just seen this post about how to prevent crackers from breaking a software serial number protection by reverse engineering the serial checking code (found via 47 Hats). If you are writing software you should take a look, it's very interesting, the main concept is to break the serial number verification code into several independent parts and include just one of them in the software, replacing the included part between versions or any time a cracker releases a keygen or serial number. So by never including the complete algorithm in your program you are denying the crackers access to it and by...

Book Recommendation: Applications = Code + Markup, by Charles Petzold

I learned to program for Windows by reading Charles Petzold's "Programming Windows" and it is one of the most enjoyable technical book I ever had the pleasure to read, so when I decided I want to buy an actual book about WPF I just ordered "Application = Code + Markup". If you just want to quickly jump into programming with WPF then this isn't the book you're looking for, the book doesn't even introduce XAML until the second half of the book. This is an in depth book that explains how things work behind the scenes, and I think it's a must...

Tim Lister on Best Practices

There's an interview with Tim Lister (the author of Peopleware) on the business of software blog. I'd like to just quote here the last question and answer from the interview: Cramblitt: What do you think about the reliance on best practices? Lister: I get chills when I hear that phrase.  From my point of view there are some pretty good practices, but no best practices because that implies generic software development.  All projects are related to the domain they’re in.  A best practice for defibrillator software is not the best practice in another domain.  I’d like people to think about patterns – abstracting...

32bit Windows is Not Limited to 2GB/4GB

I've just seen another blog post that talks about the Windows 4GB memory limit Here is a link to a series of posts on Raymond Chen's excellent blog that explains this in detail, I'm posting this link here so I'll have quick access to it the next time I read about the 2/4 GB limit. http://blogs.msdn.com/oldnewthing/archive/2004/08/22/218527.aspx The short version, address space is not the same as virtual memory is not the same as virtual memory. On 32bit systems a single process (not the entire system) is limited to a 4GB Address Space (not memory) (and it can use only 2GB out of it, the other 2GB belongs to...

Increasing Your Sales and SEO

If you are a small software company you should read Patrick McKenzie's MicroISV on a Shoestring blog. Here are two posts on improving your web-site/increasing your sales: Increase Your Software Sales On-page SEO For Small Companies I've done most of what he recommended on my site, and I'm planning to do the reset soon.

Kevin’s WPF bag-o-tricks

Kevin's WPF Bag-o-Tricks is THE control / sample library for anyone doing WPF development, this is a link to a page that always has the latest version, (announced in this blog post). And if you do any serious WPF development you should really subscribe to Kevin Moore’s blog.

The Single Most Important Google AdWords Advice

Look for negative keywords – add them to your campaign. Then a week or two later – look for more negative keywords and add them to your campaign. Then a week or two later … you get the point, keep analyzing you logs and adding negative keyword, otherwise your campaign performance will degrade over time. The google keyword tool has a new negative keyword finder, use it too.

Google Alerts

Google Alerts is useful service from google, you subscribe to a search term and every time a new page with this search term is found by google they send you an e-mail. As a small company use should subscribe to at least your company name and your product name, it will help you see who is talking about you on the internet. You can also add keywords relevant to your business, the name of your top competitors and your web site address (to find all links to www.example.com use link:www.example.com).

SVG to XAML Convertor

This is a very useful tool for anyone doing WPF development (not only Silverlight). If you are using WPF and the Silverlight image at the bottom doesn't look right don't worry, the generated XAML usually works well in the "full" WPF, you can test it using XAML Pad or XAML Cruncher(Scroll down to the Installable Executables section). This tool doesn't set the StrokeStartLineCap property correctly, whenever you see StrokeEndLineCap="Round" on a Path element just add a StrokeStartLineCap="Round" and you should be fine SVG to Silverlight Workbench, blog entry with information about it.


Clicky Web Analytics