The Bar Room Polka JSON

Dummy content for a POC project in JSON based on “The Bar Room Polka” by Frankie Yankovic. If you haven’t heard this song, you should. The content provides a nice mix of data structures and missing values. Besides, “plush line club” is just an awesome vintage phrase. My only question is: where the hell is “Tweedunk”?

{

'places' : ['tavern', 'salon', 'cabaret'],

'nowhere' : ['dive', 'joint'],

'everywhere' : 'plain old fashioned drunk',

'Pennsylvania' : {

'itsCalledA' : 'taproom',

'theyServe' : 'n/a'

},

'Manhattan' : {

'itsCalledA' : 'plush line club',

'theyServe' : 'n/a'

},

'Chicago' : {

'itsCalledA' : 'gin mill',

'theyServe' : 'n/a'

},

'London' : {

'itsCalledA' : 'blooming pub',

'theyServe' : 'n/a'

},

'Newport' : {

'itsCalledA' : 'n/a',

'theyServe' : 'cocktails'

},

'Tweedunk' : {

'itsCalledA' : 'n/a',

'theyServe' : 'boiler maker'

},

'Milwaukee' : {

'itsCalledA' : 'bar room',

'theyServe' : 'n/a'

},

'Wilksbury' : {

'itsCalledA' : 'meeting hall',

'theyServe' : 'n/a'

},

'Greenland' : {

'itsCalledA' : 'beer joint',

'theyServe' : 'n/a'

},

'Tennessee' : {

'itsCalledA' : 'cider mill',

'theyServe' : 'n/a'

},

'Altoona' : {

'itsCalledA' : 'n/a,

'theyServe' : 'spooners'

},

'Bridgeport' : {

'itsCalledA' : 'honky talk',

'theyServe' : 'n/a'

},

}

Abstraction

“Abstraction is the elimination of the irrelevant and the amplification of the essential”

—Robert C. Martin, Agile Principles, Patterns, and Practices in C#

Rob Pike’s 5 Rules of Programming

Rob Pike’s 5 Rules of Programming

  • Rule 1. You can’t tell where a program is going to spend its time. Bottlenecks occur in surprising places, so don’t try to second guess and put in a speed hack until you’ve proven that’s where the bottleneck is.

  • Rule 2. Measure. Don’t tune for speed until you’ve measured, and even then don’t unless one part of the code overwhelms the rest.

  • Rule 3. Fancy algorithms are slow when n is small, and n is usually small. Fancy algorithms have big constants. Until you know that n is frequently going to be big, don’t get fancy. (Even if n does get big, use Rule 2 first.)

  • Rule 4. Fancy algorithms are buggier than simple ones, and they’re much harder to implement. Use simple algorithms as well as simple data structures.

  • Rule 5. Data dominates. If you’ve chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.

A bit more can be found at the source here: http://users.ece.utexas.edu/~adnan/pike.html

In my experience, I’ve come across Rule 1 enough times to know how to avoid the lesser obvious bottlenecks (which for me generally focus on data merging). I’ve definitely come across Rule 4. Rule 5 trumps them all, as it were. A deep understanding of the appropriateness of data structures is core to good code. Rules 2 and 3 don’t generally impact my day-to-day programming.

Via Hacker News, which I’m sure will lead to a killer comments thread.

Animated Pile of Poo

“If you were wondering what humanity would do when given access to the most advanced facial animation, now you know.”

—Apple’s Craig Federighi, demonstrating the new animoji feature by turning his face into an animated pile of poo on the new iPhone.

So proud of my chosen discipline, Computer Science.

Or not.

Two Books

Two novels can change a bookish fourteen-year old’s life: The Lord of the Rings and Atlas Shrugged. One is a childish fantasy that often engenders a lifelong obsession with its unbelievable heroes, leading to an emotionally stunted, socially crippled adulthood, unable to deal with the real world. The other involves orcs.

—Anonymous

HTML today is the same as it was in 1993

HTML is the kind of thing that can only be loved by a computer scientist. Yes, it expresses the underlying structure of a document, but documents are more than just structured text databases; they have visual impact. HTML totally eliminates any visual creativity that a document’s designer might have.

— Roy Smith 1993

HTML today is no different without CSS.

Adobe ending Flash support in 2020

Just saw this on Ars Technica:

Flash will be supported through to the end of 2020, after which the Flash player will cease to be developed and distributed.

I’m not going add anything of value here other than to echo what I think a lot of other people are going to say: Good fucking riddance. Flash has been a thorn in my side for years now. They could get rid of it today and my world wouldn’t change one bit.

Don’t use the cell color in Excel; add column values instead

Pro tip: When using Excel as a poor man’s database, don’t use the cell color to highlight rows. Instead, add a column and populate each cell in that column with some meaningful value where needed. You can sort by column, but you can’t (easily as far as I know) sort by cell color. It’s a little extra work with a lot of utility.

That is all.

Let the Game of Thrones Excuses Begin

No, I have not started watching the new season of Game of Thrones.

No, I am not busy; I’ve had time. I’ve chosen to do other things with it.

I don’t know. Next week, maybe? Probably just before Verizon and HBO decide to charging me to watch episodes. How long is that? Two weeks?

Yes, you can talk about it in front of me. No, I don’t care.

No, I am not the person who reads the last pages of a book first. My life simply does not revolve around TV shows. I have other things that I do, too.