December 2008 Archives

Flight of the Conchords season 2 premiere

| | No TrackBacks

New Zealand's fourth most popular guitar-based digi-bongo acapella-rap-funk-comedy folk duo returns to HBO for a second season. Season 2 Online Premiere available here.

Brett: Are you living in your car, Murray?

Murray: No. Of course not. It's illegal. You can't do that. Apparently. Unless you move your vehicle every three hours. [Beeping] I've got to go.

Put the credit default swaps market out of its misery

| | No TrackBacks

Argument for unwinding all the credit default swaps and closing the market.

There are three possible defences for treating the CDS market as a going concern: its support for capital raising, its utility for price discovery and its role as a risk-management tool. All have melted like so many Lehman deal cubes in waste incinerators.

Consider capital raising. Writers of protection in the CDS market must now hold increasing amounts of cash as margin against the probability of default for the "reference entities" or borrowers they bet on. This has led to the sale of tens of billions, if not hundreds of billions, of dollars, euros and pounds worth of securities to raise that cash.

[...]

That leads to the value of such swaps for price discovery. Bad joke. Price discovery is a useful economic function; that is the rationale for commodities markets. But CDS are derivative instruments, whose price is "discovered" these days as a function of equity volatility, since buying equity puts is one way to dynamically hedge the illiquid legacy books.

[...]

Risk management with CDS was largely about what the bankers called "reg cap arb" (regulatory capital arbitrage), or making big spreads and bonuses by scamming the regulators whose employers, the taxpayers, now have the bill.

Leonard Cohen: I'm Your Man

| | No TrackBacks

I just saw the concert film, Leonard Cohen: I'm Your Man. It's a great tribute to the songs of Leonard Cohen, Canadian poet and songwriter from Montreal. There are a half dozen songs that are well worth the film:

  • I'm Your Man (Cohen's version, sung over the ending credits)
  • Everybody Knows

    wikipedia:Five minutes, thirty-seven seconds in duration, Everybody Knows is known for its somber tone and repetition of the title at the beginning of most verses. Featuring phrases such as "Everybody wants a box of chocolates and a long-stemmed rose...", Everybody Knows has been variously described by critics as "bitterly pessimistic" yet funny, or, more strongly, a "bleak prophecy about the end of the world as we know it."

  • The Traitor
  • Suzanne
  • Hallelujah

    wikipedia: Hallelujah is a song by Canadian singer-songwriter Leonard Cohen originally released on his 1984 studio album Various Positions. A live recording of the song from 1988, containing additional lyrics, appears on the 1994 album, Cohen Live. While Suzanne is his most covered work to date, Hallelujah has experienced great popularity more recently and has now been recorded more than 170 times for release and has been featured in the soundtracks of numerous movies and television shows.

  • Tower of Song (Leonard Cohen backed by U2)

Other all-time favorite concert films:

New hardware firewall

| | No TrackBacks

So I wanted a new hardware firewall. The old SonicWall SOHO/10 works fine. It's very low maintenance. However, it has only four ports and runs at 10 mbps. I think it's the bottleneck in our network, and since I am getting another computer, I figured it was time to upgrade.

I looked at these hardware firewalls:

Inexplicably, I selected the one with the worst rating at Amazon.

Cool Manning Publications author blogs

| | No TrackBacks

Upper West Side retail death watch

| | No TrackBacks

These businesses have closed in my neighborhood since I moved to the Upper West Side:

  1. Roppongi (Japanese restaurant, 434 Amsterdam Avenue) 08 Dec 2008
  2. April Cornell (clothing, 487 Columbus Avenue) 01 Dec 2008
  3. Spectra Photo (451 Amsterdam Avenue, 81-82) fall 2008
  4. Lightforms (lighting store, 509 Amsterdam Avenue, 84-85) fall 2008
    2009-03-27: This appears to have reopened under the same name.
  5. Rain (pan-Asian restaurant, 100 West 82nd) fall 2008
  6. Loft Bar (505 Columbus Avenue, 84-85) summer 2008
  7. Prohibition Bar (503 Columbus Avenue, 84-85) summer 2008
  8. Penny Whistle (children's toy store, 448 Columbus Avenue, 81-82) Jun 2008
  9. barber shop (455 Amsterdam Avenue) late 2007/early 2008
  10. Columbus Bakery (Columbus, 82-83) early 2008?
  11. Italian restaurant (Columbus, 84-85) fall 2007
  12. Pondicherry (furniture store on Columbus, 81-82) fall 2007?
    Reopened as Gallery of International Naive Art
  13. Teriyaki Boy (sushi chain on Columbus, 82-83) fall 2007?
  14. Vynl on Columbus (507 Columbus Avenue, 83-84?) fall 2007?
  15. Louie's (Amsterdam & 81st) fall 2007?
    Reopened as St. James Gate
  16. 460 Amsterdam Avenue: cursed location
    • Ray's Pizza, summer 2007
    • Vital Dent Dentistry (dental services) summer 2008
  17. 461 Columbus Avenue: cursed location
    • Madeleine Mae (early 2009)
      Reopened as Comida (Mar 2009)
    • Irish bar
    • high-end restaurant
  18. The Funky Diner (466 Columbus Avenue, 82-83) fall 2006?
    Reopened as Blossom Cafe
  19. Monsoon (Vietnamese restaurant, 435 Amsterdam Avenue) fall 2005
  20. Scharffen Berger (chocolate store, 473 Amsterdam Avenue, Feb 2009)
  21. Cheung Shing Kitchen (Chinese restaurant, 452 Columbus Avenue, 81-82) Feb 2009
    Will reopen in April 2009 as an intimate European restaurant
  22. Circuit City (Broadway, 80-81) Feb 2009
  23. Shabby Chic (450 Columbus Avenue) Mar 2009
  24. Down Quilts (518 Columbus Avenue) Mar 2009
  25. Memories in Color (one-hour photo, 506 Amsterdam Avenue)

Creating an extensible and flexible application

| | No TrackBacks

HTML ISO-8859-1 Reference

| | No TrackBacks

HTML ISO-8859-1 Reference

I am forever substituting European characters for the HTML encoded equivalents. This link is so I can find it more easily.

Making a DSL in Oslo

| | No TrackBacks

Torkel Ödegaard of Coding Instinct details creating an external DSL for running Watin automation using Oslo / MGrammar.

The Spiral

| | No TrackBacks

Der Untergang (The Downfall: Hitler and the End of the Third Reich) recast as a financial crisis at an investment bank headed by Adolf Hitler. The reconstructed plot and dialogue, supported by subtitles, are brilliant and hilarious.

Of course, there is practically a cottage industry built on parodies of Der Untergang. Here is a one-off video also inspired by the current financial crisis.

No problem. I'll just refinance my adjustable rate mortgage and then I'll be fine.

Real estate only goes UP! My broker told me it only goes UP! I can't believe I am going to have to sell my house before I can flip it for a profit! That bimbo said I could always refinance before the rates went up!

Digital Cameras: How to Choose

| | No TrackBacks

Digital Cameras: How to Choose

More emphasis on the size of the sensor, less on the megapixel count.

Boston.com: News stories in photographs

| | No TrackBacks

News stories in photographs

Amazing photographs. Many seem to be high dynamic range photos.

Coding Horror: Spartan programming

| | No TrackBacks

Spartan programming

The discipline of spartan programming means frugal use of variables:

  • Minimize number of variables. Inline variables which are used only once. Take advantage of foreach loops.
  • Minimize visibility of variables and other identifiers. Define variables at the smallest possible scope.
  • Minimize accessibility of variables. Prefer the greater encapsulation of private variables.
  • Minimize variability of variables. Strive to make variables final in Java and const in C++. Use annotations or restrictions whenever possible.
  • Minimize lifetime of variables. Prefer ephemeral variables to longer lived ones. Avoid persistent variables such as files.
  • Minimize names of variables. Short-lived, tightly scoped variables can use concise, terse names.
  • Minimize use of array variables. Replace them with collections provided by your standard libraries.

Benefits of writing unit tests first

| | No TrackBacks

Benefits of writing unit tests first

  1. Unit tests prove that your code actually works
  2. You get a low-level regression-test suite
  3. You can improve the design without breaking it
  4. It's more fun to code with them than without
  5. They demonstrate concrete progress
  6. Unit tests are a form of sample code
  7. It forces you to plan before you code
  8. It reduces the cost of bugs
  9. It's even better than code inspections
  10. It virtually eliminates coder's block
  11. Unit tests make better designs
  12. It's faster than writing code without tests

PhizzPop Online Challenge

| | No TrackBacks

Web design challenge using Microsoft tools. Four challenges, approximately every month. Website has training in tools: Expression Studio, SilverLight, ASP.NET, Visual Studio, WPF, and Live Platform.

Domain Specific Languages

| | No TrackBacks
  • ANTLR

    ANTLR, ANother Tool for Language Recognition, is a language tool that provides a framework for constructing recognizers, interpreters, compilers, and translators from grammatical descriptions containing actions in a variety of target languages. ANTLR provides excellent support for tree construction, tree walking, translation, error recovery, and error reporting.

    PDF book on Antlr is reported to be worthwhile.

  • Oslo

    "Oslo" is the code name for Microsoft's platform for model-driven applications. The goal of "Oslo" is to provide a 10x productivity gain by making model-driven applications mainstream with domain-specific models, a new language, and tools.

PEX automated white box testing

| | No TrackBacks

PEX

Pex enables Parameterized Unit Testing, an extension of Unit Testing that reduces test maintenance costs.

SilverLight

| | No TrackBacks

Autumn of Agile

| | No TrackBacks

Google Docs API

| | No TrackBacks

Google Docs API

The Google Documents List Data API allows client applications to upload documents to Google Documents and list them in the form of Google Data API ("GData") feeds. Your client application can request a list of a user's documents, and query the content in an existing document.

Here are some of the things you can do with the Documents List Data API:

  • Upload the word processing documents and spreadsheets on your computer to allow you to back them up or collaborate online when editing.
  • Find all of your documents that contain specific keywords.
  • Get a list of spreadsheets which can be accessed through the Google Spreadsheets Data API.

Data access on Microsoft Windows

| | No TrackBacks

Capistrano

| | No TrackBacks

Capistrano

Simply put, Capistrano is a tool for automating tasks on one or more remote servers. It executes commands in parallel on all targeted machines, and provides a mechanism for rolling back changes across multiple machines. It is ideal for anyone doing any kind of system administration, either professionally or incidentally.

Microsoft PDC videos

| | No TrackBacks

Recordings of the 2008 PDC events.

High Performance WPF

| | No TrackBacks

Microsoft Surface

| | No TrackBacks

I want one.

NServiceBus presentation

| | No TrackBacks

I came across a presentation on NServiceBus. I really want to do some coding that uses a publish/subscribe framework like this, so this may be a good starting point.

NServiceBus is an open source communications framework that makes building enterprise .NET systems easier. By providing scalability critical features like publish/subscribe support, integrated long-running transactions/sagas, and deep extensibility NServiceBus provides a solid foundation for any distributed system.

Vijay Santhanam has a small blog with quality material that I really like. There are a couple of bits of code that I want to use in my own applications and frameworks, so I am writing them out here:

  • ActionDisposable, code to wrap IDisposable around any object
    using System;
    using System.Linq;
    
    namespace System
    {
        public class ActionDisposable: IDisposable
        {
            Action action;
            public ActionDisposable(Action action)
            {
                this.action = action;
            }
    
            public void Dispose()
            {
                action();
            }
        }
    }
  • Similar code to wrap IDisposable around ReaderWriterLockSlim
    namespace System.Threading
    {
        public static class ReaderWriteLockExtensions
        {
            struct Disposable : IDisposable
            {
                readonly Action action;
                public Disposable(Action action)
                {
                    this.action = action;
                }
    
                public void Dispose()
                {
                    action();
                }
            }
    
            public static IDisposable ReadLock(this ReaderWriterLockSlim l)
            {
                l.EnterReadLock();
                return new Disposable(l.ExitReadLock);
            }
    
            public static IDisposable UpgradableReadLock(this ReaderWriterLockSlim l)
            {
                l.EnterUpgradeableReadLock();
                return new Disposable(l.ExitUpgradeableReadLock);
            }
    
            public static IDisposable WriteLock(this ReaderWriterLockSlim l)
            {
                l.EnterWriteLock();
                return new Disposable(l.ExitWriteLock);
            }
        }
    }
  • Sample code for using the IDisposable ReaderWriterSlimLock:
        var rwLock = new ReaderWriterLockSlim();
        using (rwLock.ReadLock())
        {
            // do reading stuff
        }

Model-View-ViewModel

| | No TrackBacks

jason Dolinger of Lab49 does an awesome 90-minute video of the transformation of a simple WPF application to use the Model-View-ViewModel pattern.

Sudoku patterns

| | No TrackBacks

There are a few good sites for learning sudoku patterns:

  • ScanRaid

    Many patterns described in text, including very advanced methods. Has a solver that applies techniques in succession so that you can see a particular technique applied to an actual puzzle.

  • Sadman software

    Many patterns described in text.

  • Angus Johnson



Update 2008-12-05: If I could just start to recognize these patterns, I'd be on my way to becoming a decent sudoku solver:

Pages

OpenID accepted here Learn more about OpenID
Powered by Movable Type 4.32-en

About this Archive

This page is an archive of entries from December 2008 listed from newest to oldest.

November 2008 is the previous archive.

January 2009 is the next archive.

Find recent content on the main index or look in the archives to find all content.