• Snakefooding Python Code For Complexity Visualization

    Snakefood is a tool written by Martin Blais to create Python dependency graphs. Combined with GraphViz, snakefood can create beautiful visualizations of Python codebases. Here are graphs for some notable open source projects written in Python.

  • You Should Change Your Python Shell

    If you write Python code, switching to IPython is the number one thing you can do to immediately improve your productivity. Bold words, I know. Let’s look at how IPython can make you a more productive programmer.

  • Launching Downloadable Products Quickly

    My intent is to give recommendations that will be of use to other programmers who are trying to quickly turn a side project into a professional product that they can sell.

  • The Ergonomic Keyboard Productivity Myth

    Keyboard manufacturers would have you believe that ergonomic keyboards increase worker productivity, reduce injuries, and increase typing speed, but the real benefits are murky. The body of research on ergonomic keyboards is inconclusive, with a number of studies showing that ergonomic keyboards are of dubious value or that they decrease productivity.

  • Java Build Systems: A Sad State of Affairs

    The evolution from Make, to Ant, and then to Maven has done precious little to advance the state of Java build tools. Developers are still stuck with poorly thought-out tools that force us to violate DRY and write XML tag soup. Your team may be better served using a less popular alternative.

  • Knuth’s TAOCP Vol. 4A Now Available For Pre-order

    “Combinatorial Algorithms,” the 4th Volume of Knuth’s seminal work, The Art of Computer Programming, has been a long time in the making (Volume 3 was published in 1973), but it is now available for pre-order from Amazon. TAOCP is widely regarded as the most comprehensive book on its topic and is included in GrokCode’s list of essential books for programmers.

  • Building a Ubuntu Box

    I've been in need of new workstation for a while, and finally plunked down the cash for it. I built a mid range workstation and installed the latest long term release of Ubuntu (Hardy Heron) 64 bit.
  • 51 Insanely Useful Emacs Shortcuts

    Intimate knowledge of your code editor is required to be competent and productive developer. Here is a list of shortcuts anyone on the path to becoming an emacs guru should be familiar with. This shortcut reference card covers mostly intermediate and advanced shortcuts for GNU emacs (most of them will work with Xemacs as well.) I learned some great new shortcuts while making this cheat sheet; I hope they will be helpful to GrokCode’s readers as well.

  • 5½ More Books In a Hacker’s Bookshelf

    This is a follow up to the list of recommended books for a hacker’s bookshelf that was posted a few months ago. Here are 5½ more essential books for a hacker’s bookshelf. This list is based on reader suggestions, and like the previous list of recommended programming books, it contains a nice mix of computer science texts, developer references, and books giving insight into the programming industry. This is another list of hackers’ classics.

  • The Top 9½ In a Hacker’s Bookshelf

    Every hacker should have a good solid dead tree library to draw ideas from and use as reference material. This list has a bit of everything – textbooks you will encounter at top tier computer science universities, books giving insight into the industry, and references you shouldn’t be caught without. It is a list of hackers’ classics.

  • Top 7 Development Tools

    Every developer should have a collection of tools at their disposal to facilitate project planning stages, speed development, automate testing and building, organize code versions, and otherwise make life easier. Here is a list of the standard tools in my toolbox that make me more productive. Almost all of them are F/OSS and multi-platform. This list has a slight Java slant, but most of these tools are language independent.