29 October 2011

Backwards Names

My family likes to play a fun game called Backwards Names.  This game is played by taking each name piece of a person's name and reversing the characters and trying to pronounce it fluently.

I was just sitting on the couch tonight after a long Saturday and not thinking about backwards names at all.  I had my laptop open to get some work done, but my son sat down next to me, and I wanted to show him some programming.

I started out in irb and just did some simple string substitution with his name, but irb and ruby make it so easy to just mess around that I ended up with an implementation of Backwards Names before I knew it.

Here it is:

It was just really fun to do that with him and see lights start to turn on about what programming was like.

19 October 2011

Git as Menograph


In Mar. 2010, Matz came and talked at MWRC.

The awesome talk focused around Ruby as a great invention that makes it possible for programmers to bring a new world into being that could only be imagined before.

He made reference to the inventor in Hugo Gernsback's book: Ralph 124c 41 +.  The name was a play on words "One to foresee for one", with "+" being reserved for the 10 or so greatest inventors currently living.

Although Matz's reference could be interpreted as prideful, anyone who has ever had anything to do with him would correct you -- he is a very humble programmer who does awesome stuff.

Because I wanted to understand Matz's reference very thoroughly, I went and read the book.  I was able to appreciate the scope of Matz's talk much more clearly after having read about Ralph, the great inventor.

Menograph, the invention

One thing that Ralph invented was a Menograph.  It was a mind-recording device, operated by pressing a button that started a mind wave recorder and operated a scroll of fabric on which the waves were traced in ink, similar to an old-style seismograph.

The Menograph was one of Ralph 124C 41 +'s earliest inventions, and entirely superseded the pen and pencil.  It was only necessary to press the button when an idea was to be recorded and to release the button when one merely reflected and did not wish the thought-words recorded.

Those thoughts could then be replayed again verbatim by any person by use of a device called a Hypnobioscope.

After reading an account of Ralph using this invention, which is more detailed than I am able to reproduce here, I had a vague sense that I had experienced a similar feeling before while programming.

Git as Menograph

After thinking about it for a while, I realized that how Ralph used his Menograph is how I use git.

While coding, I work on stuff, then I record commits into git.  Then I work on stuff some more, then record commits.

Then I take passes back over what I've recorded and get rid of the bad stuff and keep the good stuff.  Then I push it out to the team.  Sometimes, a pair or triple on the team do this as a group exercise, working history over a few time until it won't break the world.

The parallel to git was eye-opening.  In fact, after having noticed this behavior in myself, and seeing the behavior tendency grow over time, I'd say that git encourages multi-pass thinking styles.

P.S.  If you care at all about Ruby, listen to Matz's talk.  Some of the future stuff he was talking about is already in Ruby 1.9.2.  NOTE: I'm on linux, and I had to use the flash player to get the video to show.

18 October 2011

Attention to Error vs Attention to Detail

After having read Talent Code, a friend pointed me to the following article:
Why Do Some People Learn Faster?
Although the author of that article had gotten some lackluster reviews on some of his book-length work on Amazon, this article brought a distinct idea to the forefront for me:
Attention to Error
I've always thought that attention to detail was an important tendency in myself that made me a good learner.  But I realized that there is a distinction between paying attention to detail and paying attention to error.

The constant reconciliation between what you believe to be correct and what turns out to be correct is the fuel for my personal learning.

Some people might say this is what the scientific method is all about.  I'm less methodical than a scientist would be -- I find it nevertheless useful to constantly put myself in situations where I can learn informally from comparing what I expect to what actually happens.

05 October 2011

Link to Paper

Dear Lazyweb,

I've wanted to link to pages of books, or at least down to the chapter, or subhead.

Take, for example, the following blog post:
In that post, I refer to printed, copyrighted content by URL, but with lame google books URLs that have nothing to do with the structure of the book, and that border on the potentially problematic situation traditionally called "deep linking".

Look for the following text in the blog post:
Do you know of any way that I can manage a list of URLs per book that are just markers for the sections within that book?

Not page linking, but sections as defined by the work itself.  No content extraction except perhaps to put the subhead text in the URL itself (either in English, or in the work's native language, or both).  Now there would be a global permalink for a given chunk of a work.

So, as an example of what I'm shooting for, the following author has already done this with his book:
http://book.personalmba.com/bootstrapping/  (full of promotional material)
Even though this page is full of promotional material, the link itself has value, because now I can refer to that small section of the book and talk about my own ideas, relative to that section.

And I can do so in a web-friendly way, with a meaningful URL.

The closest think I found was OpenLibrary itself with canonical URLs to Works and Editions.  But has anyone done "link to paper" in a general sense?


Word Mixed With Faith

The Savior said:
Ye shall know them by their fruits.
Paul wrote to the Hebrews:
For unto us was the gospel preached, as well as unto them: but the word preached did not profit them, not being mixed with faith in them that heard it.
It feels a lot like the recipe for inspiration and blessings from God includes the following ingredients:
  1. Word of God, shared or published
  2. Faith in those who receive it
Mix the word with faith, season well with humility, patience & repentance.  Harvest the inspiration and blessings that God wants to give you.