February 2011
48 posts
my devotion to minimalism isn’t about removing stuff. it is about removing distraction to focus on what is important.
but…
i wanted to share that over the last several weeks i have discarded bags and bags of clothes and shoes.
i can now say that my wardrobe consists of less than 100 things….
earlier I listed the programs & web apps that make my life easier. What are some of yours?
The best text editor available, in my opinion. I used to love Notepad++, but once I got introduced to the terminal and was forced to learn a new tool, I realized how much more productive I could be using emacs.
Version control should be mandatory for any project these days, no matter how large or how small. Mercurial is my tool of choice, but any distributed version control system will do (I also use Git for some things)
Over time I come across a ton of different links & resources, and Diigo is the best tool I’ve found so far to keep them all organized. It also comes with chrome & firefox plugins, which make it a breeze to use.
The easiest way to keep multiple files synced across multiple computers. It can also act as a quick way to throw up an HTML page or host some photos if you need too. I also use it to keep clones of repositories, so I can keep my worked synced across multiple machines.
Much like version control, I think issue tracking is something that every software project needs, no matter how large or how small. At worst, it’s a fancy to-do list. At best, it’s a way of organizing a lot of information, planning, and progress throughout a project. You can keep track of milestones, and looking back through old tasks can often provide valuable information about past changes & fixes. If you are just getting started, Fog Creek offers a ‘student & startup’ edition which is free for up to 2 people.
Great for having multiple environments to test & develop on. I currently use it to run an Ubuntu instance, and I’m hoping to set up OS X & Android environments in the near future.
A fast, simple way to keep notes & documentation together. It’s a self-sufficient file, so you don’t need hosting or a database. There’s also a place that will host one for you for free at Tiddlyspot
So these are the main tools I’ve found that have helped me out. Anybody have any recommendations for additions?
Brilliant answer to a question on Hacker News. Source
One of the problems I face as coach is that people ask me simple, yes/no questions and I always answer “it depends”. It’s not that I’m trying to be evasive, it’s just that life is full of little complexities. So I took a bit of artistic license and made a generalization. As you point out, we could speculate all day on various scenarios where TDD/BDD might be useful. That line of reasoning was too much for a short comment on HN, though.
One of the things I really don’t think you get — something I had an extremely difficult time getting — is just how worthless your code is. Startups are not rewarded for writing good, maintainable code. Hell, they’re not even rewarded for writing code at all. There’s a lot of folks that say to advertise, create a vapor-ware product, and only once you know for sure people are willing to pay money for it should you start programming. Whether you like that idea or not, it shows just how far down the line programming is in the scheme of things for a startup. “Maintainable” or “Great” code is even further down.
Startups are about making things that people want that can scale out to huge numbers. Coding gives you that ability to scale out — in certain instances and under certain situations. But you could just as easily write 10 lines of javascript and make a million dollars as you could write 100K lines of C. In fact, there’s another huge school of thought that says the more you code the farther you’ve probably drifted in your mind from where the actual market might be. Each little test you create is further reinforcing in your mind — that little code->yay cycle — that what you are doing is cool. And it’s probably not. “Yay” is people paying you money. Not having a test run. And that gets to agile principles, which I think are very applicable. Do a little, test the market. Do a little more, test the market. I have been doing that for a few months, and I’ve found that most people who want stuff could care less whether it involves programming or not, or how well it’s programmed. They just want stuff. If a guy is drowning, he’s perfectly happy with you throwing him a life saver that falls apart and is crappy — as long as it saves him from drowning. You might not even need a lifesaver — you could do something else. In fact, the more you speculate on what the drowning guy might need, the more off-course you are. That means that any structure you put in your code early on is smoke and based on pipe dreams. The iterate-test cycle for me is what has verified beyond a doubt how low on the totem pole programming is. Find something people want. Period. More customers, less anything else.
Coming from many years of loving to learn how to be a better craftsman with my code, kinda sucks, huh? All those guys telling you what a great programmer is and how to be one, and then Average Joe Sixpack doesn’t recognize how cool your TDD and programming language are. Dang customers. :)
Based on this Sitepoint article , here is a great set of font stacks in a variety of styles.
10 layouts to get you through even the worst cases of designer’s block