Riding the Storm
Startup on a tight budget - the essential software list
We’ve been through a lot while bootstrapping MuseStorm, so for the benefit of everyone out there trying to start something on their own, here’s a list of software that we recommend. Might save you time and money, who knows? Everything here is either free or almost free.
The list contains everything from the obvious LINUX to little known utilities to make your life easy. Good luck!
Java
We use Java. I know it’s not the hottest and latest development environment today, but since we have background in Java we use it. And we love it. The breadth of solutions and packages for almost anything that we find we need is amazing and there is lots of material on the Web to help us tackle problems we encounter.
That’s, btw, the main reason why I recommend Java. Cutting edge new technologies are fine until you need something that is not available yet (or usually only available in an unstable alpha version). And trust me, you’ll need something.
Eclipse
Eclipse is something that we could only dream of a few years back when we tried to start something else. A robust, full-featured IDE for Java for free?? I’m still not sure it’s not a dream…
Multiple plug-ins make it work with almost everything (including generating Macromedia/Adobe SWF files if that’s your taste). It’s got great integration with source control, Ant and more.
If only it was a bit lighter and faster and wouldn’t stall from time to time, but we have a suspicion it has more to do with the source control integration than anything else.
Subversion
Subversion is a good source control solution. I’ve worked at companies that paid tons of money for a similar product. We got it for free. The Eclipse integration is great and simple to use. What more can we ask for.
Hibernate
A powerful service that gets rid of constantly updating your SQL queries everytime you decide to add a field to a table. If you plan on developing database intensive apps, it’s worth the learning effort.
log4j
The de-facto standard for application logs. All other Java packages that include logging use it as well - so you’ll be able to control all of the log files in one place
Ant
When you start getting serious about builds use Ant. Ant is an example of “Spend a day to learn a new thing and benefit immediately”. Look for one of the great examples/tutorials on the web for an Ant-build for your needs, play with it - you won’t regret it.
Apache & Tomcat
For a Web server, nothing beats Apache. Combined with Tomcat to run our Servlet and JSP code, it’s a great package (don’t forget mod_jk). These are workhorses that know their job, no doubt. We keep learning about the power of Apache everyday, as new stuff comes along. Really, the best.
Fedora Linux
Our servers run Linux, Fedora Linux. Even if you’re a Windows person, use Linux. Please.
One word of advice, though: if you get a dedicated server from a hosting service, make sure you disable all the extras (like SMTP server) immediatelly, or you’ll find yourself helping spammers and others without knowing. Yes, we’ve been there.
MySQL
MySQL simply does the job. We think that for most Web applications / services out there, MySQL will do. And MySQL 5.0 closed more of the gaps from Oracle, so don’t hesitate.
SQLYog
A great MySQL manager and admin tool. Free. No more printing queries to the console
JForum
A forums / bulletin board package. A phpBB alternative in Java. It’s missing some features we like, but overall it does the job. If you want to stick with Java, it’s a good solution.
WordPress
From the WordPress.org web site: “WordPress is a state-of-the-art semantic personal publishing platform with a focus on aesthetics, web standards, and usability.” I’m not really sure what that means, but anyway nothing beats WordPress for blogging. Install it on your server and start publishing away. BTW, if you want to stick with Java SW, check out Roller.
Firefox and Firefox extensions
This item deserves it’s own post (hopefully coming soon), because Firefox is so important for Web development. Just try and figure out why your Javascript code is not working using Internet Explorer and you’ll understand.
If you’re creating Web applications, the combination of Firefox with its Javascript console + Tamper Data plugin+ JSView plugin is indispensable.
FileZilla
A good FTP/SFTP client for all those server uploading tasks.
EditPlus
It’s a shareware, but for $30 a seat you get a powerful text editor that really rocks. We use it when we need quick editing for stuff like our CSS and JSP files (yes, we know, you should always work through the source control. But it’s a startup so give us a break). It’s light and powerful and even has a dictionary/spelling package that you can download for free. EditPlus is priceless when you need to debug UTF-8 vs. Unicode vs. whatever you get from users… and it’s feature-packed.
GIMP
Working on Web applications requires constant fixing and tweaking of graphics, even if you work with a Web designer or outsource some of the work. The best alternative is of course Photoshop, but it’s very expensive. Instead, we use GNU GIMP and for all those quick fixes and retouching it is just fine. And it’s free as a bird!
ColorPic
An amazing color pick utility that let’s you sample colors easily. It has a magnifier utility that gives you the ability to sample even from high res screens. And it’s 100% free with no strings attached.
PDF995
There comes a time when all startups try raising money. Inevitably you are required to write long documents with mostly useless information and send it in PDF format to half the world. PDF995 is a free printer driver and PDF converter that allows you to “print” your docs into a PDF file. It will show you some ads in the process, but it’s a price worth paying for the occasional PDF document.
IrfanView
The best image viewer out there. period. It’s free for non-commercial use, but really cheap to buy later. You’ll need it when your graphics designer sends you files in weird formats.
Mollio
We don’t use the Mollio HTML/CSS templates for MuseStorm, but we almost used it for a different project and wanted to mention it here. You can save tons of money on Web site design by starting with Mollio. It’s also a good way to learn proper CSS usage and Web design best practices.
PuTTY
A free Telnet / SSH utility. Simple and useful for remote access to your server. The de-facto SSH utility out there.
Regexp coach
Use the coach to test your regular expressions. useful when writing those Apache configuration file rules.
Cygwin
If you ever wanted to use grep on Windows files, Cygwin gives you the power to do it. Simply put, it’s a Linux environment for Windows.
VNC
Remote control a computer, free. Comes in handy when you are too lazy to get up and restart the server that is 3 feet away…
If you have recommendations of your own, add them in a comment below, it might help somebody out there.
