mjibson

Matt Jibson

mjibson

New York, NY

Stack Overflow

http://mattjibson.com/

Check out snippets of the blog postings. Click on the link to view the full post at the original site as the author intended.

Efficient Documentation Using SQL Grammar Diagrams

3/15/2016

(Also published on the Cockroach Labs Blog.)

As CockroachDB approaches beta, user documentation has become increasingly important, and one of the meatiest requirements is documentation of our SQL implementation. For inspiration, I researched how other databases have documented SQL. The most effective example I found was SQLite’s grammar diagrams.

These diagrams feature easy-to-understand railroad diagrams showing the possible options for a SQL statement. Compared to a text representation, these visual diagrams give users an intuitive way to explore the grammar and discover features.

Converting Grammar into Images with Yacc and EBNF

There are various programs that can take a well-specified grammar file and convert it into images. Of

[...]

Efficient Documentation Using SQL Grammar Diagrams

3/15/2016

(Also published on the Cockroach Labs Blog.)

As CockroachDB approaches beta, user documentation has become increasingly important, and one of the meatiest requirements is documentation of our SQL implementation. For inspiration, I researched how other databases have documented SQL. The most effective example I found was SQLite’s grammar diagrams.

These diagrams feature easy-to-understand railroad diagrams showing the possible options for a SQL statement. Compared to a text representation, these visual diagrams give users an intuitive way to explore the grammar and discover features.

Converting Grammar into Images with Yacc and EBNF

There are various programs that can take a well-specified grammar file and convert it into images. Of

[...]

Implementing moggio: a cross-platform, multi-source music player in Go

2/28/2016

Today I am announcing the release of moggio 0.1.0. moggio is a cross-platform, multi-source music player written in Go. It runs on Windows, Linux, and Mac, can play from over a dozen sources (Google Music, Soundcloud, etc.) and from as many formats (MP3, Vorbis, etc.). Writing a cross-platform GUI application that also needed access to the sound hardware was a new problem for me, and I would like to share what I learned.

Motivation

A few years ago I had finished work on a side project and was looking for something interesting and useful to do. At the time (and still) I was listening to most of my music on Google Music. But I also had some one-off tunes on Soundcloud, a few albums on Bandcamp and enjoyed a regular dose of SomaFM. One of

[...]

Implementing moggio: a cross-platform, multi-source music player in Go

2/28/2016

Today I am announcing the release of moggio 0.1.0. moggio is a cross-platform, multi-source music player written in Go. It runs on Windows, Linux, and Mac, can play from over a dozen sources (Google Music, Soundcloud, etc.) and from as many formats (MP3, Vorbis, etc.). Writing a cross-platform GUI application that also needed access to the sound hardware was a new problem for me, and I would like to share what I learned.

Motivation

A few years ago I had finished work on a side project and was looking for something interesting and useful to do. At the time (and still) I was listening to most of my music on Google Music. But I also had some one-off tunes on Soundcloud, a few albums on Bandcamp and enjoyed a regular dose of SomaFM. One of

[...]

Redis Over CockroachDB

2/2/2016

(Also published on the Cockroach Labs Blog.)

I recently started a new job at Cockroach Labs where we are working on CockroachDB, a distributed, fault-tolerant SQL database. The goal of CockroachDB is to “make data easy,” and while it seems like a stretch now, we eventually want CockroachDB to be able to act as the entire state layer for web applications. We are currently addressing the SQL layer, and a full-text search like ElasticSearch is somewhere ahead on the product horizon. Since Cockroach Labs has a Free Fridays policy for work on experimental projects, I decided to use mine to experiment with implementing the Redis protocol on top of CockroachDB, attempting to answer the question: Could CockroachDB ever replace Redis?

Redis is

[...]

Redis Over CockroachDB

2/2/2016

(Also published on the Cockroach Labs Blog.)

I recently started a new job at Cockroach Labs where we are working on CockroachDB, a distributed, fault-tolerant SQL database. The goal of CockroachDB is to “make data easy,” and while it seems like a stretch now, we eventually want CockroachDB to be able to act as the entire state layer for web applications. We are currently addressing the SQL layer, and a full-text search like ElasticSearch is somewhere ahead on the product horizon. Since Cockroach Labs has a Free Fridays policy for work on experimental projects, I decided to use mine to experiment with implementing the Redis protocol on top of CockroachDB, attempting to answer the question: Could CockroachDB ever replace Redis?

Redis is

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/19/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-friendly means

[...]

esc: Embedding Static Assets in Go

11/18/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-

[...]

esc: Embedding Static Assets in Go

11/18/2014

With the release of Bosun, I spent some time making the installation process pleasant. This included embedding static web assets directly into the go binary. I have done this before with appstats and miniprofiler, but wanted to see the current state of public offerings, and see if any fit my needs. I found three existing programs, but ended up writing my own.

requirements

I wanted a program that:

  1. can take some directories and recursively embed all files in them in a way that was compatible with http.FileSystem
  2. can optionally be disabled for use with the local file system for local development
  3. will not change the output file on subsequent runs
  4. has reasonable-sized diffs when files changed
  5. is vendoring-friendly

Vendoring-

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/13/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let's go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I've been using this method for years and am still ok with it. Probably because I don't write that much CSS to make using less valuable. I also don't minify. No exciting news here. I'll keep doing this unless I start on a larger project with more serious design.

AngularJS

I've been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong

[...]

Bosun: Technology Review

11/12/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let’s go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I’ve been using this method for years and am still ok with it. Probably because I don’t write that much CSS to make using less valuable. I also don’t minify. No exciting news here. I’ll keep doing this unless I start on a larger project with more serious design.

AngularJS

I’ve been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong negative experiences

[...]

Bosun: Technology Review

11/12/2014

Bosun is a monitoring and alerting system I have been working on at Stack Exchange. We started work on it about a year ago. I would like to discuss the technology choices made then, how they have fared, and which I will continue to use or stop using. Let’s go front-to-back.

CSS

No pre-processor, just Bootstrap and hand-written CSS. I’ve been using this method for years and am still ok with it. Probably because I don’t write that much CSS to make using less valuable. I also don’t minify. No exciting news here. I’ll keep doing this unless I start on a larger project with more serious design.

AngularJS

I’ve been using AngularJS for recent projects and have, in general, liked it. Bosun was the first time I had strong negative experiences

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/13/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I'd like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I

[...]

Go Read: One Year with Money and App Engine

3/12/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I’d like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I quickly

[...]

Go Read: One Year with Money and App Engine

3/12/2014

Go Read began life one year ago. It began life the same day of the Google Reader shutdown announcement. It was released to the public in late June of 2013, and has been profitable since the start. I have never run a business, and was surprised that Go Read was profitable. I assumed it was operating at a slight loss, especially those first few months.

For 2013, total subscription income was $7129 ($1188 per month). Total App Engine expense was $4048 ($647 per month). I’d like to discuss what I did to increase subscription income and decrease server costs.

increasing income

Go Read is free. Its servers are not. I had hoped that its costs would have been low enough for me to handle myself, but at hundreds of dollars per month, I quickly

[...]

Go Read: Open-Source Google Reader Clone

6/27/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard shortcut keys
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard
[...]

Go Read: Open-Source Google Reader Clone

6/26/2013

I would like to announce the release of Go Read. It as a Google Reader clone, and designed to be close to its simplicity and cleanliness. I wanted to build something as close to Google Reader as made sense for one person to build in a few months. Since the announcement, numerous clones have been written, and some existing ones were made known. I tried most of them and disliked them for various reasons. It seemed interesting and fun to make my own that would serve exactly my needs. I hope others find it useful.

Try it out:

Specifically, I wanted:

  1. importing of existing google reader and OPML feeds
  2. a web page with decent mobile support
  3. to not install anything ever
  4. a relatively similar look to Google Reader
  5. the same keyboard
[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/11/2013

pdiffs are worth the time

After hearing about Brett Slatkin's discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn't convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn't find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the

[...]

Perceptual Diffs at Stack Overflow

6/10/2013

pdiffs are worth the time

After hearing about Brett Slatkin’s discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn’t convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn’t find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the same

[...]

Perceptual Diffs at Stack Overflow

6/10/2013

pdiffs are worth the time

After hearing about Brett Slatkin’s discussion of perceptual diffs, I wanted to try it out on Stack Overflow Careers. I wasn’t convinced it would be worth the time to implement. But then I started keeping a list of the bugs it would have found. These bugs were hard to find and solve because they were so strange. A CSS refactor missed some rare pages. Changing newlines in our files from \r\n to \n broke multiline strings on localized pages (checksum changed, so it couldn’t find the localized strings). Other obscure things. Each time this happened I thought that pdiff would have found it before we did. Eventually it became clear that it was worth the time investment.

implementation

I decided to use the same

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 3: Extraction with Roslyn and Uglify

3/1/2013

Previously we have discussed our reasoning and API for localization. Here, we would like to continue with the next topic: text extraction from the source code. That is, after we have indicated the text we would like translated, how we extract that text out of our codebase for translation. (Note: we used Acclaro for the actual translation, and have been very happy with them. Recommended.)

The difficulty is to extract all of the strings so that they can be sent to translators. Compounding this difficulty, we also must make sure to send the correct number of plural forms to the translators. Look at the example below. __count does not appear in the translated string, only in the values object. This means we must, at extraction time, understand

[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here's what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There 
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here’s what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There are $__count$ unicorns", new { __count = 1 }) // "There is
[...]

Careers Localization, part 2: The API

2/28/2013

Previously we discussed our design requirements and solution for localization. Here we will continue with a description of the API. This means the way in which we would craft strings to be localized.

Markup

We chose to use gettext-style translation strings (i.e., not resource files where strings are identified somehow, instead we just indicate the English string right where it will be shown). We chose a syntax that allows dynamic variable replacement and easy pluralization, and can work similarly in JavaScript and C#. Here’s what we came up with for C#:

_s("Unicorns prance") // "Unicorns prance"
_s("$name$ have horns", new { name = "Unicorns" }) // "Unicorns have horns"
_s("There are $__count$ unicorns", new { __count = 1 }) // "There is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so that no HTML is
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so
[...]

Careers Localization, part 1: Why Roll Our Own?

2/27/2013

Localization is a difficult feature to add to a website. A few months ago, we at Stack Overflow Careers localized into German. This took months of effort from much of the team. I would like to describe our design and implementation over a few blog posts.

This post will discuss our design choices.

Requirements

Localization consists of

  1. indicating text that should be localized
  2. translating it
  3. showing the correct translation to the user

There are various existing solutions in most programming languages that can do this. We looked at some, but none were able to meet all of our design and support requirements:

  1. C#
  2. JavaScript
  3. Razor views
  4. data attributes for localized error messages on form validation
  5. markdown formatting (so
[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/5/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I'd like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I'd like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs

[...]

Appstats for Go

2/4/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I’d like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I’d like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs to

[...]

Appstats for Go

2/4/2013

I would like to announce the release of appstats for go. Installation instructions are available on godoc.org. I’d like to thank Dave Symonds for his help on this project.

A demo site is available.

Appstats is an incredibly useful library for the python (and java) runtimes. The go runtime has had no similar library, adding to the difficulty of developing significant apps. I’d like to describe a bit about how appstats is implemented (applies to python, as well) and where I think the go runtime is today.

implementation

Appstats for go was implemented by copying the python HTML templates, examining the source, and attempting to make something work in go.

intercepting the data

In order for appstats to work pleasantly, it needs to

[...]

Job offers are not demands

1/11/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don't think I've ever responded to these. This is not because I'm against this kind of recruiting, it's because I haven't been persuaded in the least by these offers. My careers profile even lists me as "Passive candidate interested in full-time position.". That means I have a job, but if you have a better one, maybe I'll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I'm not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let's make one up and look it it:

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don’t think I’ve ever responded to these. This is not because I’m against this kind of recruiting, it’s because I haven’t been persuaded in the least by these offers. My careers profile even lists me as “Passive candidate interested in full-time position.”. That means I have a job, but if you have a better one, maybe I’ll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I’m not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let’s make one up and look it it:

Software Developer at Fun Startup!

We’

[...]

Job offers are not demands

1/10/2013

I am contacted around once per week by people interested in hiring me. Usually email, sometimes on Careers, even phone calls. I don’t think I’ve ever responded to these. This is not because I’m against this kind of recruiting, it’s because I haven’t been persuaded in the least by these offers. My careers profile even lists me as “Passive candidate interested in full-time position.”. That means I have a job, but if you have a better one, maybe I’ll take it. No one has even piqued my interest, so far. The job offers here (well, not offers, but I’m not sure of a better term) tell me all about the company and the job, but nothing about how my life will be better there.

Let’s make one up and look it it:

Software Developer at Fun Startup!

We’

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/4/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the "fast" part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run

[...]

go-dsp FFT performance with go routines

1/3/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the “fast” part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run in

[...]

go-dsp FFT performance with go routines

1/3/2013

go-dsp has been around for almost a year now. Recently I have been working on performance improvements. The low-hanging fruit was easy (removing duplicate calculations, smarter array copying, efficient data reordering with bit reversal). The difficult part was getting go routines to work as intended. That is, to have them improve the performance of go-dsp. This turned out to be more difficult than I expected.

Why the fast Fourier Transform is parallelizable

The FFT is paralellizable because of how the “fast” part is implemented. Given an input of length L, if there exist integers M and N such that L = M * N, then the original problem (one transform of size L) can be restated as M problems of size N. These M problems can be run in

[...]

Great Piano Pieces

12/21/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn't have some of the recordings I wanted and I couldn't find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section's intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn’t have some of the recordings I wanted and I couldn’t find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section’s intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov Kasman

[...]

Great Piano Pieces

12/20/2012

I have compiled some of my favorite piano recordings on spotify. (Sorry rdio folks, I tried to make an equivalent playlist, but rdio doesn’t have some of the recordings I wanted and I couldn’t find suitable replacements.) Below are some short program notes.

Ravel Piano Concerto 2

One of the best overall. If I had to choose, the second movement is my favorite piano piece. I play it often, when I can. It is soft and meandering. The middle section’s intensity is a thrilling lift. Goose bumps come regurlarly while listening.

Stravinsky Three Movements of Petrushka

Originally a ballet for orchestra, he arranged it for piano by request. I first heard this in 2004 at CSU for the opening of their new music hall. The excellent Yakov Kasman

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I'm still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I’m still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually brought.

[...]

Success by selective education

12/16/2012

Or: how to win by not studying

I once took a junior-level course in college about Metal-Oxide-Semiconductor Field-Effect Transistors. As part of the electrical engineering cirriculum, it was an important course. I had no interest whatsoever in the course, and to this day I’m still not sure what it was about. For example, I once showed up to class (I suspect my attendance was around or below 50%) to turn in a homework assignment and discovered that a midterm was scheduled for that day. I used the homework as the single sheet of notes we were allowed. I similarly neglected many of the courses I took.

I would like to describe here why I did that, my expectations about the future (due to that behavior), and what the future actually brought.

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn'jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don't want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few

[...]

NYC Now

6/17/2012

This weekend I went to hackn’jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don’t want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few things I

[...]

NYC Now

6/17/2012

This weekend I went to hackn’jill. I made NYC Now, a web app to find something to do right now. It shows a map with events around it. It can detect your location or you can set one by clicking. Ajax updates via json. Events and map markers highlight or animate on hover of the corresponding item. It is quickly filterable (easy to remove things you don’t want to see), so something can be found fast. Code is available on github. BSD license.

Although the idea was one of the simpler at the hackathon (aggregation of some events APIs + a map), I think the implementation and interface are quick and pleasant enough to make it a pleasure to use. It is fast and unobtrusive. I found myself browsing around it tonight, and found quite a few things I

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA's first run, DFA's second run, and C#'s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA’s first run, DFA’s second run, and C#’s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2 library is this

[...]

re2net - part 2: DFA

5/29/2012

I have added a DFA state machine to the re2net library, as described here. This method computes the DFA states on demand, which makes subsequent matches with the same instance faster. The crude benchmark below shows run times for the NFA (as in part 1), DFA’s first run, DFA’s second run, and C#’s Regex library as a comparison.

The results below show that the DFA is about an order of magnitude slower than the NFA on the first run (as expected, since the cache is being computed), but an order of magnitude faster on the second run (since the cache is being used).

Until now, this has been an academic exercise to learn C# and build a simple regex parser. With that done, the next step is to support the full regex syntax. The RE2 library is this

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox's regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#'s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox’s regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#’s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (s), C#

[...]

re2net - part 1: C# RE2 implementation

5/2/2012

After reading Russ Cox’s regular expression articles, I became interested in porting his RE2 library to C#. These posts will describe my effort to port the entire library, which I will do in steps. I know that one could just link to the RE2 library, but I am porting this as an academic exercise to learn C# and regular expression parsing.

The full RE2 implementation is somewhat large. So, for now, I have started with something simpler: porting nfa.c, which is now committed.

Performance

There is a simple script that generates the a?^(n)a^(n) regexes and compares the performance between this simple nfa implementation and C#’s Regex class. The results (posted below) conform exactly to those posted in the article.

n, nfa match time (s), C#

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

How I got a job at Stack Overflow

4/28/2012

I just got a job at Stack Exchange. The experience was interesting enough and I learned a few things that could be valuable to others.

We are still hiring another developer if you are interested after reading.

Motivation

My previous job was good. Some interesting work, some boring work, and a potentially awesome project coming down the pipeline. I was making internal web apps for the firmware department of a hard drive company, and had opportunities to do anything I wanted (stay, work on firmware or other cool stuff). However, the town I was living in (Longmont, CO) was downright boring for a single person, and I wanted to leave as soon as possible just to get out.

The Bug

I visited a friend who lives in New York City over Thanksgiving

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in contradistinction to the other

[...]

Fast Fourier Transform in Go

12/9/2011

I just completed all the basic functionality for a fully-working FFT implementation. It supports inputs as arrays of real or complex values, with the inverse transform, too. It is part of my go-dsp project on github.

Install with:

$ goinstall "github.com/mjibson/go-dsp/fft"

Some example use code:

package main

import "github.com/mjibson/go-dsp/fft"
import "fmt"

func main() {
        fmt.Println(fft.FFT_real([]float64 {1, 2, 3}))
}

Brief introduction to the fast Fourier transform

Input arrays of length a power of 2 use the radix-2 FFT algorithm (the butterfly one). Inputs of other sizes (non power of 2 and prime lengths) use the Bluestein algorithm. The Bluestein algorithm is interesting because (in contradistinction to the other

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It's in the early stages, but it's good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It’s in the early stages, but it’s good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]

journalr

9/22/2011

I just launched journalr, an online journal site. There are almost no online journal sites, and journalr strives to remedy this and encourage more journal writing. It’s in the early stages, but it’s good enough to use. I have already begun transcribing my journals from my mission when I spent 2 years in Brazil, and have enjoyed using journalr.

[...]