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.
This is like text expander 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 “
habib@makeuseof.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:
:*:@habib::habib@makeuseof.com
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.
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.
This app has been covered many times on MakeUseOf, e.g. two posts by Jorge in
January and