If you’re a computer geek, chances are you like fiddling around with things. You are, in short, a hacker. Although most hackers probably use Linux, there are some that use Windows. Maybe your business requires you to use Windows. This post covers some essential hacking and coding tools for all you Windows hackers. Why should the Linux crowd get all the fun, right?
Before we begin, what is a hacker? Well, Wikipedia defines a hacker as “a person who heavily modifies the software or hardware of their own computer system” while Google defines a hacker as “an enthusiastic and skillful computer programmer or user“. I bet most of you here fit that second description at least.
This is less known than Notepad++. It supports many advanced features, such as syntax highlighting, which is a must if you’re a programmer. It also has features such as a built-in macro language, which allows it to be incredibly extensible. It’s written in Java, which allows it to be cross-platform.
As a programmer, you are constantly removing code to optimize your program, to fix bugs or any number of other reasons. Sometimes, you may need it back. The so called “Kill Ring” stores deleted text, so you never have to worry.
It supports 130 languages, including AppleScript and Objective-C, which surprised me. So even as a stranded Mac developer, it’s worth a go. It comes with a nice amount of documentation that’s easy to understand, so if you’re ever stuck, don’t worry. It’s a powerful text editor that no Windows programmer should go without.
FireBug is the number one free web development tool for Firefox which allows live inspecting and editing of webpages. It is is a powerful tool for testing your websites and fixing problems without having to reload the page all the time. Similar to Safari’s built-in ‘Element Inspector’ but for Firefox. Safari is not extensible enough for a web developer, though that may change with Safari 5. For now though, Firefox is the way to go for web development and FireBug makes it even better.
One use for FireBug is downloading page elements, such as Flash games.
Jorge covered how to install Firebug on other browsers than Firefox back in 2009, and James also covered it in his recent CSS tutorial.
This is like TextExpander for Windows, although it goes much further than that. It’s a macro utility which runs in the background and intercepts any key or mouse presses you have ordered it to. It is easily script-able and allows you to do many things, from reversing your scrolling, to auto-correcting text, to the aforementioned text substitution.
I can have it set to substitute “@habib” with “email@example.com“. I can set it to do it after the space, or immediately. My choice. That’s the beauty of it: everything can be tweaked. Here’s one line of code that replaces @habib with my email:
The block of text can be as long as I want. I can have pre-written email responses. For the budding coder, you can set it so that +ifelse writes out an if, else statement for you. Then just enter the condition, statements, and other elements. It’s obvious how this can speed up development substantially. In fact, with AutoHotKey, you can optimize a machine for any task, from development to gaming. If the game doesn’t allow you to choose the controls, just fire up the associated AutoHotKey script.
Tina wrote about ac’tivAid, a set of useful AutoHotKey scripts, last year.
This is a no-brainer for web developers, especially if you run a geeky-type website, where a lot of visitors use Linux. Mac OS X can be installed, albeit without support and you’d be breaking the license, which is illegal.
Some of you may be asking why not just install Linux here and dual-boot, or even replace Windows and have all these tools available out of the box, or with a better alternative? Well, some people are required to run Windows and may not want to keep VirtualBox running all the time, while dual-booting would be a pain in the ass. These tools allow you to have some of the power and extensibility of Linux without having to give up your job, dual-booting or keeping 2 whole OS’s running. VirtualBox allows you to test your websites with other OS’s, or develop for Linux in your spare time. If you are trying to port an application, virtualization is a lifesaver.
What do you think of these tools? Do you have any other suggestions? Did you already know of these tools, and their uses? Are you going to consider retrying some of these programs? Tell us your thoughts in the comments section below!