Today's Question:  What does your personal desk look like?        GIVE A SHOUT

 PROGRAMMING


  Designing Great API Docs

Writing documentation is one of those things that is dreaded by many developers. It takes a lot of effort and time to get right. And too often, people take shortcuts. This is sad, because well designed documentation is the key to getting people excited about your project, whether it's open source or a developer focused product.In fact, I argue that the most important piece of UX for a developer product isn't the homepage or the sign up process or the SDK download. It's the API documentation! Who cares if your product is the most powerful thing in the world if no one understands how to use it.I...

10,065 0       API DOCS DESIGN API DOCS ADVICE


  Advice From An Old Programmer

You've finished this book and have decided to continue with programming.Maybe it will be a career for you, or maybe it will be a hobby. You'll needsome advice to make sure you continue on the right path, and get the mostenjoyment out of your newly chosen activity.I've been programming for a very long time. So long that it's incrediblyboring to me. At the time that I wrote this book, I knew about 20 programminglanguages and could learn new ones in about a day to a week depending on howweird they were. Eventually though this just became boring and couldn't holdmy interest anymore. This does...

4,053 0       PROGRAMMING PYTHON ADVICE OLD PROGRAMMER


  Lessons Learned while Introducing a New Programming Language

I've used a lot of languages (professionally) over the years: (off the top of my head) Cold Fusion, HTML, Javascript, php, SQL, CSS, ASP(classic & .net), C#, Ruby, Flex, Java, & Clojure. Each language has pros and cons. Being a programmer, it's easiest to discuss the cons - and in general I believe it was best said:I hate all programming languages - Matt FoemmelI think it's important to start with this in mind. At some point you're going to hate what you're advocating, so imagine how other people feel about it.In 2008 I introduced Clojure into a DRW codebase. This blog entry focuses o...

2,010 0       TIPS EXPERIENCE NEW LANGUAGE RISK


  The Day Programmer vs. The Night Programmer

This post is a slightly edited form of an e-mail that I sent around internally last year. But it was suggested to me recently that I post it up to my blog to see what people think – am I right or wrong?Over the years I’ve come to the belief that there are two kinds of programmer in the world, no matter what technology they work with, lets call them:        1. Day Programmers        2. Night ProgrammersNow – day programmers are the most prevalent in this industry, and you find them mostly in organisations...

4,665 0       PROGRAMMER DIFFERENCE DAY PROGRAMMER NIGHT PROGRAMMER


  Application vs Database Programming

A few years ago, I had a problem.  A database routine for processing bulk payments for LedgerSMB that was humming along in my test cases was failing when tested under load with real data prior to implementation.  Some testing showed that while it ran fine with small numbers of inputs, it eventually slowed way down as the number of inputs rose.  Andrew Sullivan, who was also on the project through a different company, suggested it was something called a "cache miss" because I was running through a loop, inserting two rows, and then updating a different table.    Al...

3,573 0       COMPARISON DIFFERENCE APPLICATION PROGRAMMING DATABASE PROGRAMMING


  It Should Only Take You a Few Hours...

It sure seems easy to make a table. Anyone can do it, right? Get 1 large flat rectangular piece of wood, 4 equally tall wooden poles, 4 nails and a hammer. Nail the 4 poles to each corner of the flat rectangular bit, and you have a table. Ta daaa!Now ask a carpenter to craft you a table. First they will spend time discussing the purpose and function of the table - indoor or outdoor, kitchen or dining room, for show or heavy use, what load does it need to bear. Then they will determine the materials to use - hard vs soft woods, laminate, plywood or railway sleepers. Then they will look at the a...

2,416 0       SOFTWARE PROGRAMMING CRAFT


  Pair Programming Stereotypes

Over the last couple of years, I’ve done a lot of pair programming. Pair programming inside my team, at customer sites, in coding dojos and in my open source projects.Pair programming is really a great and effective experience when performed by an pair of developers knowing how to pair program.Unfortunately, you cannot just put two developers in front of a single computer and expect them to perform perfectly from the start. Pair programming has to be learned. Both developers need to learn the difference between being the driver (the one holding the keyboard) and the navigator. See here ...

2,589 0       CODE PROGRAMMING PAIR GRAMMING STEROTYPE


  Programming Language Readability

Lets compare some Python to Haskell for solving the same problem.  The problem we’ll pick is Trie data-structure for auto-completions.  We are interested not so much in the nitty gritty of the algorithm, but in the language style itself.  Auto-complete has been in the programming news a lot recently; both a Python and a Haskell solver have turned up.(I suspect this post got flagged on Hacker News :(  It never got on the front-page despite the rapid upvoting on a no-news night)Here’s the Python:"""A fast data structure for searching strings with autocomplete su...

2,739 0       PROGRAMMING READABILITY PYTHON HASKELL