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

    Last night, I did something pretty drastic.  It wasn't on impulse... I had been thinking about this for quite a while. Finally, I decided to take the band-aid approach and just do it all at once. I deleted all my games. New and old alike, they all went.  Bioshock, System Shock, System Shock II.  GTA IV. GTA: Vice City. (I skipped San Adreas.) Venerable Diablo I and II, not to mention their leering cousin Overlord.

    Continue Reading »
  • 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

    There are about a jillion forum posts and official pages on the web that talk about ORA-12541, the infamous "TNS:No Listener" error. Somewhere around 70% of them appear to be link-farmers who just scrape all the Oracle forums and mailing lists.  Virtually all of the pages just refer back to the official definition from Oracle, which says "there's no listener running on the server" and tells you to log in to the server as admin and start up the listener.

    Continue Reading »
  • 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

    This evening, I'm speaking at OTUG. The topic is "Clouds, Grids, and Fog". There's no denying that "cloud" has become a huge buzzword. It's a crossover trend, too. It's not just the CIO who is interested in cloud computing. It's the CFO and the CMO, too. (Not to mention the CSO, if there is one.)  Underneath the buzz, though, there is something real and valuable. I will talk about the driving trends that are leading us toward cloud computing and how it differs from grids and software-as-a-service.

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

    "Good marketing can kill your site at any time." --Paul Lord, 2006 I just learned of another attack of self-denial from this past week. Many retailers are suffering this year, particularly in the brick-and-mortar space. I have heard from several, though, who say that their online performance is not suffering as much as the physical stores are. In some cases, where the brand is strong and the products are not fungible, the online channel is showing year-over-year growth.

    Continue Reading »
  • (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 - 2026 Michael T. Nygard