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

SEARCH KEYWORD -- 37signals



  The Obvious, the Easy, and the Possible

Much of the tension in product development and interface design comes from trying to balance the obvious, the easy, and the possible. Figuring out which things go in which bucket is critical to fully understanding how to make something useful. Shouldn’t everything be obvious? Unless you’re making a product that just does one thing – like a paperclip, for example – everything won’t be obvious. You have to make tough calls about what needs to be obvious, ...

   Software,Obvious,Easy,Possible,Requirements     2011-11-30 11:48:12

  How GitHub Works: Be Asynchronous

This is — by far — my favorite aspect of working at GitHub. Everything is asynchronous. Chat GitHub didn’t have an office for the first two years. Chat rooms (in our case, Campfire) is where things got done. Today we’ve moved into our second office, and Campfire is still where we get things done. There’s a reason for that: chat is asynchronous. Asynchronous communication means I can take a step out for lunch and catch up on transcripts when I get back. Async...

   GitHub,Work,Style,Asynchronous,Efficienc     2011-08-19 07:44:20

  How key-based cache expiration works

There are only two hard things in Computer Science: cache invalidation and naming things — Phil Karlton Doing cache invalidation by hand is an incredibly frustrating and error-prone process. You’re very likely to forget a spot and let stale data get served. That’s enough to turn most people off russian-doll caching structures, like the one we’re using for Basecamp Next. Thankfully there’s a better way. A much better way. It’s called key-based cac...

   Cache,Expiration,Key-base cache,Work     2012-02-20 05:32:40

  Transparency in Cloud Services

37signals recently launched public “Uptime Reports” for their applications (announcement). The reaction on Hacker News was rather tepid, but I think it’s a positive development, and I applaud 37signals for stepping forward. Reliability of cloud applications is a real concern, and there’s not nearly enough hard data out there. Not all products are equally reliable; even within 37signals, the new reports show a 3:1 variation in downtime across apps. That said, ...

   Cloud,Transapency,37signals,Announcement     2012-01-10 07:24:02

  Testing like the TSA

When developers first discover the wonders of test-driven development, it’s like gaining entrance to a new and better world with less stress and insecurity. It truly is a wonderful experience well worth celebrating. But internalizing the benefits of testing is only the first step to enlightenment. Knowing what not to test is the harder part of the lesson. While as a beginner you shouldn’t worry much about what not to test on day one, you better start picking it up by day t...

   Testing,QA,TSA     2012-04-11 13:41:19

  What are some popular myths in software development?

This article is summarized from a question on Quora .The question is         What are some popular myths in software development?Here is the answer which received most votes given by a guy named Lee Semel,. Some of the most prevalent myths are:The Waterfall Method of design, the idea that it is both possible, efficient and good practice to completely specify a system before building it, and to execute the steps of a software project sequentially rather than iter...

   Software design,Myths,Waterfall model     2012-05-02 04:52:01

  How I Develop Things and Why

I've always considered myself a bit of a software junkie. Nothing excites me more than a great piece of new software. Some of my best childhood memories are our trips to Grandma's house, where I'd have access to a computer with a dial-up connection that I'd use to obtain freeware and shareware. I'd bring 4 or 5 floppies with me and try to cram all the games, waveform editors, and utilities that I could sneaker-net home. Luckily today, excellent software written with passion oozes out of ...

   Development,Software,Why,How,Experience     2012-01-28 07:01:34

  9 quotes that stayed with me as a developer

I find quotes inspiring, motivating or sometimes just thought provoking, so here's some of my favourites from over the years. Sometimes reading a book can have a real influence on how you write code, or how you approach a problem. Sometimes a simple quote  is enough to make me question the way I look at the code I'm writing. Or often I sit in awe about someone's so well distilled what I've known internally for ages but have never been able to enunciate.   "Design is finding t...

   Quote,programmer,programming     2011-05-27 03:34:49

  Interview Programming Problems Done Right

Introduction Why 37signals Doesn't Hire Programmers Based on Brainteasers and my comment on HN generated a lot of responses, so much so that I'm writing this post to properly explain the essence of a good (IMHO) interview programming problem. Pascal's Triangle Pascal's Triangle is a shortcut for getting coefficients most often used binomial probability. The root element is 1. Every other element is the sum of the one or two above it (diagonally left and diagonally right). There are severa...

   Interview,Programming problem,Pascal,Triangle     2012-01-06 09:46:43

  The business of software

Inspired by a talk I gave yesterday at the BOS conference. This is long, feel free to skip!My first real job was leading a team that created five massive computer games for the Commodore 64. The games were so big they needed four floppy disks each, and the project was so complex (and the hardware systems so sketchy) that on more than one occasion, smoke started coming out of the drives.Success was a product that didn't crash, start a fire or lead to a nervous breakdown.Writing software...

   Software,Design,Business,Software design     2011-10-29 07:22:09