michaelnygard.com
  • People Don't Belong to Organizations
    Posted on April 11, 2015 in organization

    One company that gets this right is Github. I exist as my own person there. I'm affiliated with my employer as well as other organizations. We are long past the days of "the company man," when a person's identity was solely bound to their employer. That relationship is much more fluid now. A company that gets it wrong is Atlassian. I've left behind a trail of accounts in various Jirae and Confluences.

    Continue Reading »
  • Glue Fleet and Compojure Together Using Protocols
    Posted on January 15, 2011

    Inspired by Glenn Vanderburg's article on Clojure templating frameworks, I decided to try using Fleet for my latest pet project. Fleet has a very nice interface. I can call a single function to create new Clojure functions for every template in a directory. That really makes the templates feel like part of the language. Unfortunately, Glenn's otherwise excellent article didn't talk about how to connect Fleet into Compojure or Ring. I chose to interpret that as a compliment, springing from his high esteem of our abilities.

    Continue Reading »
  • Metaphoric Problems in REST Systems
    Posted on January 14, 2011

    I used to think that metaphor was just a literary technique, that it was something you could use to dress up some piece of creative writing. Reading George Lakoff’s Metaphors We Live By, though has changed my mind about that. I now see that metaphor is not just something we use in writing; it’s actually a powerful technique for structuring thought. We use metaphor when we are creating designs. We say that a class is like a factory, that an object is a kind of a thing.

    Continue Reading »
  • Metaphoric Problems in REST Systems (audio)
    Posted on January 14, 2011

    Metaphoric problems in rest systems by mtnygard

  • Time motivates architecture
    Posted on April 21, 2010

    Let’s engage in a thought experiment for a moment. Suppose that software was trivial to create and only ever needed to be used once. Completely disposable. So, somebody comes to you and says, “I have a problem and I need you to solve it. I need a tool that will do blah-de-blah for a little while.” You could think of the software the way that a carpenter thinks of a jig for cutting a piece of wood on a table saw, or a metalworker thinks of creating a jig to drill a hole at the right angle and depth.

    Continue Reading »
  • Circuit Breaker in Scala
    Posted on April 21, 2010

    FaKod (I think that translates as "The Fatalistic Coder"?) has written a nice Scala implementation of the Circuit Breaker pattern, and even better, has made it available on GitHub. Check out http://github.com/FaKod/Circuit-Breaker-for-Scala for the code. The Circuit Breaker can be mixed in to any type. See http://wiki.github.com/FaKod/Circuit-Breaker-for-Scala/ for an example of usage.

  • The Future of Software Development
    Posted on April 20, 2010

    I’ve been asked to sit on a panel regarding the future of software development. This is always risky and makes me nervous, for two reasons. First, prediction is a notoriously low success-rate activity. Second, the people you always see making predictions like this are usually well past their “use by” date. Nevertheless, here are a collection of barely-related thoughts I have on that subject. Two obvious trends are cloud computing and mobile access.

    Continue Reading »
  • Failover: Messy Realities
    Posted on April 19, 2010

    People who don't live in operations can carry some funny misconceptions in their heads. Some of my personal faves: Just add some servers! I want a report of every configuration setting that's different between production and QA! We're going to make sure this (outage) never happens again! I've recently been reminded of this during some discussions about disaster recovery. This topic seems to breed misconceptions. Somewhere, I think most people carry around a mental model of failover that looks like this: That is, failover is essentially automatic and magical.

    Continue Reading »
  • Life's Little Frustrations
    Posted on April 18, 2010

    A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable. -Leslie Lamport On my way to QCon Tokyo and QCon China, I had some time to kill so I headed over to Delta's Skyclub lounge. I've been a member for a few years now. And why not? I mean, who could pass up tepid coffee, stale party snacks, and a TV permanently locked to CNN?

    Continue Reading »
  • Topics in Architecture
    Posted on January 3, 2010

    I’m working on a syllabus for an extensive course on web architecture. This will be for experienced programmers looking to become architects. Like all of my work about architecture, this covers technology, business, and strategic aspects, so there’s an emphasis on creating high-velocity, competitive organizations. In general, I’m aiming for a mark that’s just behind the bleeding edge. So, I’m including several of the NoSQL persistence technologies, for example, but not including Erjang because it’s too early.

    Continue Reading »
back to top

Page 7 of 26

« Newer | Older »



Powered by Hugo, based on the Er theme.
Copyright (c) 2002 - 2026 Michael T. Nygard