Tips & Tools

Pasting Text Without Formatting

Today I discovered PureText+, a little gem of a tool.

I copy+paste text from one program to another several times a day. By default, this preserves the formatting of the copied text, and I get around this copy+pasting into a plain-text editor (my editor of choice is TextPad) as an intermediate step.

PureText+ skips this intermediate step and pastes "pure" text without formatting. You simply have to use Windows+V to paste instead of Ctrl+V.

(It's open-source and written in C#)
Tips & Tools

Dealing with “Server Not Found” Errors and Flaky DNS Servers

I get a lot of random “Server Not Found” errors while browsing from my home connection:


In Chrome, the error is:

The server at can’t be found, because the DNS lookup failed. DNS is the network service that translates a website’s name to its Internet address. This error is most often caused by having no connection to the Internet or a misconfigured network. It can also be caused by an unresponsive DNS server or a firewall preventing Google Chrome from accessing the network.

After a lot of frustration and some digging around I discovered that this was caused by my ISP’s flaky DNS servers.

It turns out that our friend Google has a free service called Google Public DNS that I can use in place of my ISP’s flaky servers:


There are actually more legitimate uses for Google Public DNS:


Now ever so often my ISP will terminate my session and I have to log in via a web interface, which doesn’t come up properly if I’m using Google’s public DNS servers.  So then I have to switch my ISP’s DNS servers:


All this switching can be quite a pain, but it can be automated. There is a command line tool called netsh.exe that can be used to modify the network configuration.

So I created two batch files, one for switching to Google’s DNS servers…

netsh interface ip set dns "Wireless Network Connection 6" static primary
netsh interface ip add dns "Wireless Network Connection 6"

…and one for switching back to my ISPs DNS servers…

netsh interface ip set dns "Wireless Network Connection 6" source=dhcp
Note that you would need to change “Wireless Network Connection 6” in the commands above to whatever your connection is called.


Hope you find this useful!
Tips & Tools

Running Web Applications in Their Own Windows

Ever since I switched to Gmail as my email application in late 2004, I’ve wanted the ability to run it in a separate window with its own icon, grouped differently to other browser windows on my desktop and without all the clutter of the browser buttons and menus.

I’ve been meaning to write something like this for a while by embedding an IE control into a WinForms application. But, for better or worse, I discovered I don’t have to – there’s a couple of pretty cool tools for both Windows and OS X that do exactly this.

Both work in a similar fashion. To create a “Site Specific Browser” in Fluid, you specify a URL, a name, an icon and where to create the application (typically in the “Applications” folder). In Prism, you specify a URL, a name, where to put shortcuts and which browser bits to show/enable (e.g. status bar).

I’ve set up Gmail using both tools and its working great. Chris Ivarson has a great Gmail icon for Fluid (scroll to the bottom of the page to get it):

So Gmail is now finally a first-class citizen on my desktop, a richly deserved position.

These types of tools fascinate me because they reflect the ever-growing use of web applications as opposed to desktop applications for everyday computing. On the software-side, AJAX has so far been the primary reason for this, but Silverlight and Adobe AIR are blurring the lines even further. On the infrastructure-side, broadband and faster hardware have been the main catalysts, but access to cheap and reliable server-side computing resources such as Amazon’s S3 and EC2 are giving application developers unprecedented ability to scale elegantly. Throw in to the mix innovative web services from the likes of Google and Flickr and we have a wondefully-rich array of tools and technologies to build web applications with.

This is an exciting time indeed to be a web developer and to be a part of the future of computing!