NotePad++ Run in Various Browsers

By default, NotePad++ has a number of browsers included in the Run menu including:

  • Firefox
  • Internet Explorer
  • Safari
  • Chrome

However, depending on where these browsers are installed on your computer they may not work. For example, I have Firefox Portable installed, so, the command to launch it is D:\Programs\Firefox\FirefoxPortable.exe.

To update the shortcuts listed on the Run menu, you need to edit the file shortcuts.xml in the NotePad++ installation directory (e.g. C:\Program Files\NotePad++\shortcuts.xml). However there’s a catch. You can’t edit this file with NotePad++. Instead, edit with another text editor (e.g. plain old NotePad). If you edit this file with NotePad++ the changes won’t persist – and the file will be reset back to its defaults.

Here’s the change I made to the file for Firefox Portable:

<Command name="Launch in Firefox" Ctrl="yes" Alt="yes" Shift="yes" Key="88">
D:\Programs\Firefox\FirefoxPortable.exe &quot;$(FULL_CURRENT_PATH)&quot;
</Command>
April 22, 2010 | In Software, Web Development | 1 Comment

StatPress Analytics in WordPress

I’ve been trying StatPress for a week now and its going pretty well. Its an alternative to analytics software such as Google Analytics to give you information about visitors to your wordpress site.

April 14, 2010 | In Software, Web Development | No Comments

Cross Referencing Posts

By default if you want to link to another post in your WordPress site you have to use an absolute URL. So for example, to link to my post on web development screencasts, I need to add a hyperlink with the full URL:

http://blog.praj.com.au/posts/web-development-screencasts/.

This isn’t ideal:

  • First, it takes time to find the URL and add it
  • Second, if your site structure changes, your internal links will break

Luckily there’s a really nifty plugin available called Cross-References which solves this problem. It allows you to embed a cross reference into your post based on the post ID or slug. For example, the slug for the web development screencasts post is web-development-screencasts. So I can write the following within my post and it will convert it to a URL:

[ cref web-development-screencasts Web Development Screencasts ]

Note you don’t put spaces between the [ & ] brackets. They are shown in this example to prevent the example being converted into a link. This is how the link HTML looks when applied:

Web Development Screencasts

Another nifty feature is that cross references can add related posts at the end of any articles that have been cross referenced. This is enabled in the Cross-references plugin settings – make sure you change from id to slug if you are using a slug and don’t forget to press the save button. Take a look at the Web Development Screencasts post to see the related posts functionality in action – it will have a link back to this article which references it.

March 21, 2010 | In Web Development | No Comments

Minimalist Gmail Firefox Extension

Matt Constatine has come up with a fantastic Minimalist Gmail Firefox extension which cuts out all the guff in Gmail and leaves you with the bare essentials. The other day I was using Gmail without the extension and noticed that Gmail has actually got quite cluttered. If you like it, a donation is the best thank you.

March 18, 2010 | In Software | 4 Comments

That’s nice, but we never use it

Not the words you want to be hearing from your users if you are a developer on a web site or application. Unfortunately it happens more often than you would think. A fantastic new feature is dreamed up and added. It’s tested thoroughly, it looks really good, it will save heaps of time. But no one uses it. Why? Because it isn’t needed.

Its an easy trap to fall into and I don’t always think its the developer’s fault. I’ve seen more than few cases where the analyst has misunderstood (read: not correctly identified) what the user needs and that has been translated into code by the developer. You also tend to get users that want things that seem like a good idea at the time (to them) but isn’t something they will ever use.

A good way to avoid this situation is to follow the advice from Getting Real, a free eBook from 37 signals, the company behind BaseCamp and Ruby on Rails among other things. In the chapter on feature selection, they point out that you should Start with No. This might seem harsh, but it makes perfect sense. Every feature you add is a burden. It requires ongoing maintenance. As suggested in the book, you should look for trends — reoccurring requests before you add something new.

My basic strategy for adding a new feature into a web site or system after it has gone live is something like this:

  • Is there a workaround for the feature?
    Yes -> don’t fix it.
    No -> Next question.
  • Has the feature been requested before?
    Yes -> Next question.
    No -> Say no (nicely). Don’t fix a system used by hundreds/thousands/millions of people just because of one request.
  • Is this feature going to be difficult to implement?
    Yes -> Say no (nicely) based on the difficulty. Wait for it to come up again.
    No -> Next question.
  • Does the feature add value?
    Yes -> consider it. Make sure it is given a low priority for now. Wait for more requests for that feature before moving it up.
    No -> Say no (nicely) due to more important priorities.

This my seem quite harsh, but it helps to reduce the amount of new features you are adding to a site or system, and lets you concentrate on fixing up any existing bugs.

Unfortunately this won’t always work if you work at a relatively large organisation where you generally have to do whatever is requested. However, you can still try to apply this approach. Remember every feature you add is something you will potentially have to support and maintain in the future …

March 17, 2010 | In Programming, Thoughts, Web Development | No Comments