Wide Awake Developers
  • Cold Turkey
    Posted on February 13, 2009

  • Subtle Interactions, Non-local Problems
    Posted on February 12, 2009

    Alex Miller has a really interesting blog post up today. In LBQ + GC = slow, he shows how LinkedBlockingQueue can leave a chain of references from tenured dead objects to live young objects.  That sounds really dirty, but it actually means something to Java programmers. Something bad. The effect here is a subtle interaction between the code and the mostly hidden, yet omnipresent, garbage collector. This interaction just happens to hit a known sore spot for the generational garbage collector.

    Continue Reading »
  • Combining here docs and blocks in Ruby
    Posted on February 6, 2009

    Like a geocache, this is another post meant to help somebody who stumbles across it in a future Google search. (Or as an external reminder for me, when I forget how I did this six months from now.) I've liked here-documents since the days of shell programming. Ruby has good support for here docs with variable interpolation. For example, if I want to construct a SQL query, I can do this:

    Continue Reading »
  • Beautiful Architecture
    Posted on February 5, 2009

    O'Reilly has released "Beautiful Architecture," a compilation of essays by software and system architects. I'm happy to announce that I have a chapter in this book. The finished book is shipping now, and available through Safari. I think the whole thing has turned out amazingly well, both instructive and interesting. One of the editors, Diomidas Spinellis, has posted an excellent description and summary.

  • Another Cause of TNS-12541
    Posted on February 5, 2009

  • Using a custom WindowProc from Ruby
    Posted on January 26, 2009

    This is off the beaten path today, maybe even off the whole reservation. Still, I searched for some code to do this, and couldn't find it. Maybe this will help somebody else trying to do the same thing. I'm currently prototyping a desktop utility using Ruby and wxRuby. The combination actually makes Windows desktop programming palatable, which is a very pleasant surprise. Part of what I'm doing involves showing messages with Snarl.

    Continue Reading »
  • OTUG Tonight
    Posted on January 20, 2009

  • Attack of Self-Denial, 2008 Style
    Posted on December 13, 2008

  • (Human | Pattern) Languages, part 2
    Posted on December 8, 2008

    At the conclusion of the modulating bridge, we expect to be in the contrasting key of C minor. Instead, the bridge concludes in the distantly related key of F sharp major... Instead of resolving to the tonic, the cadence concludes with two isolated E pitches. They are completely ambiguous. They could belong to E minor, the tonic for this movement. They could be part of E major, which we've just heard peeking out from behind the minor mode curtains.

    Continue Reading »
  • (Human | Pattern) Languages
    Posted on December 8, 2008

    We missed the point when we adopted "patterns" in the software world. Instead of an organic whole, we got a bag of tricks. The commonly accepted definition of a pattern is "a solution to a problem in a context." This is true, but limiting. This definition loses an essential characteristic of patterns: Patterns relate to other patterns. We talk about the context of a problem. "Context" is a mental shorthand. If we unpack the context it means many things: constraints, capabilities, style, requirements, and so on.

    Continue Reading »
back to top

Page 10 of 26

« Newer | Older »



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