EzGraphs's comments

EzGraphs | 11 years ago | on: Sistine Chapel

That is a great quote. I used it in the dedication section of a book I wrote recently. Bach is fascinating on many levels - lots of C.S. types quickly appreciate the structure/counterpoint in all of his instrumental music. But because so much of his music was written for a worship context, a whole additional dimension can be seen where he uses musical devices to comment on or support words being sung.

EzGraphs | 12 years ago | on: How did ancient Greek music sound?

It is at least heavily weighted towards speech like the previous comment mentioned. This is difficult for modern folk to understand. In Anglican chant, the term "Anglican Thump" is used to describe a common problem where singers race in the initial section of the chant up to the cadence and then stop to pound out the last few notes in metered time.

EzGraphs | 12 years ago | on: How did ancient Greek music sound?

The timing in most modern music is metrical rather than driven by speech. Gregorian chant (or other forms of chant) are closer to what much ancient music was like in my understanding . This is also why a lot of poetry of the time is not characterized by huge amounts of metered syllabification and rhymes and the like (though some are cited in the article). I am basing this a bit on the idea that Jewish chant that later impacted the early church a few hundred years later is somewhat reflective of musical practice of the time.

EzGraphs | 12 years ago | on: ECMA-404: The JSON Data Interchange Format [pdf]

Would have been nice if a standard format for hyperlinks were added. This lacks the elegance of pure JavaScript but it would make it possible to create strict RESTful APIs that don't violate HATEOAS or includes links as some sort of extension.

EzGraphs | 12 years ago | on: How The Art of Computer Programming was ruined for me

We've moved from a world where I can put my hands on a book, glance at the copyright page, feel the paper, see the condition, to one where every version of a work, from annotated to abridged, can be lumped together as a fungible commodity.

Yes - really a rather profound change. The entire way new books are produced has changed as a result as well. Print-on-demand in particular can result in you literally having a "one-off" edition of a book. The benefit is quicker integration of corrections. Am not sure we really fully understand some of the negative consequences...

EzGraphs | 12 years ago | on: VNC client in 200 lines of JavaScript

An interesting article, but many posts titled "Create <awesome program> in <small number> LOC" are misleading if they are highly dependent on underlying libraries. The logical end of this style of article would be something like "How to do X in one Character" and make a call to some external package.

EzGraphs | 12 years ago | on: SDL 2.0.0 is out after many years in development

From the About:

"Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games."

http://www.libsdl.org/index.php

EzGraphs | 12 years ago | on: Pluralsight acquires PeepCode

Congrats Geoffrey and Company!

PeepCode's screencasts and other materials are great. They are extremely focused high quality productions that merit more than a single watch to appreciate all the insights. Wishing you all the best with the acquisition and future work!

EzGraphs | 12 years ago | on: Database Design Mistakes

"Now, for reasons I can’t explain, people just love GUIDs in database designs."

Yeah - they seem kind of silly and meaningless, so instead you use sequential integers. After all, they work nicely with object-relational frameworks like ActiveRecord, they are sequential, and they are more "human readable". And then one day you have a subset of data that you need to migrate from one environment. And when you try, you end up with some clashing records created in the target environment. No big deal, you will just increment all of your sequential integers so that there are no clashes. Oh wait, there are foreign keys - need to update those as well. Which reminds me, what is going to happen when ids in the target system catch up the the ones imported. OK we can change the sequence to cause it to start adding records after the one imported. Hey, this is really kind of complicated. There must be an easier way...

Hmmm... about those GUIDs? They completely eliminate an entire class of problems that occur when migrating data across environments (a very common scenario in some quarters).

If this type of scenario never will arise for you, then GUIDs may not make sense for your application. Hopefully this does explain why some "people just love" them.

EzGraphs | 12 years ago | on: San Jose State suspends online courses

Online courses may not actively discourage collaboration, but they certainly do not force it in the same way that is possible in a traditional classroom. Don't get me wrong, I am a huge supporter of online courses. But a teacher staring you down, asking you a question, or encouraging you to work on a project in a small group is much more attention-grabbing than many online teaching mechanisms available.

EzGraphs | 12 years ago | on: JavaScript Isn't Scheme

The main reason the comparison between JavaScript and Scheme is helpful is that it breaks the connection between JavaScript and Java. The first thing many Java programmers do when trying to write JavaScript is to try to create a class hierarchy (rather than using prototypical inheritance) using idioms from Java. Although possible, it ends up awkward and confusing in most cases. Understanding that functions are first-class and seeing functional idioms fall out from there is a big paradigm shift for Java devs.

Obviously JavaScript isn't Scheme using the author's "top 10 defining characteristics of Scheme." Crockford's analysis is on track - and John Resig and Bear Bibeault highlight the same idea by introducing functions are really fundamental to the languages more than objects (in "Secrets of a JavaScript Ninja").

The language's history does imply the comparison as well. Eich's original mandate was to "write Scheme for the browser" but he was later directed to give his language a C-like syntax and to ride on the coat-tails of the hype surrounding Java.

"JavaScript isn't Scheme" might not be accurate for folks schooled in the finer points of Scheme. It is very useful to those who cut their teeth learning Java.

page 1