Showing posts with label Meta. Show all posts
Showing posts with label Meta. Show all posts

Wednesday, October 10, 2012

Rewind

Origin

I started this blog a little over two weeks ago after getting stuck for an hour on a really simple Ember.js task which didn't require any knowledge that I hadn't already used successfully (or so I thought).  This was after a month of hard learning and developing!

So I threw up my hands and decided to start back at the beginning with a simple "Hello World" Ember app and explicitly test all of my assumptions about Ember setup, initialization, and various basic concepts.  And if I was going to do all that work, I might as well document it.  Thus was this blog born.

Thursday, October 4, 2012

Basic Site Improvements 2

My desire to improve the layout and features of this site has distracted me from creating new content for a few days, but I think the effort was worthwhile.

Changelog

Friday, September 28, 2012

Basic Site Improvements

Update: I've decided to do the sane thing and give up on the target of one post/day; instead, I'll shoot for one post/business day. That way I have the weekend to catch my breath, and I don't have to fret about Sat/Sun posts going unnoticed. See you Monday!

I'm new to Blogger, so I just spent a night learning about it and making a series of small but useful improvements to the site:

Sunday, September 23, 2012

Beginning the Ember.js Journey

Use of image generously granted by fellow Ember-curious developer Wayne Glassbrook.

I'm not starting this blog about Ember.js because I'm an expert.  I'm starting it because I'm not.

The Current Situation

Me

Not only am I new to Ember.js, I'm also new to JavaScript and jQuery, so I'm having to figure out a whole lot of stuff at multiple levels of the development stack all at once. This is incredibly daunting, but it means I'm in a position to communicate effectively with others going through the same experience — and with the recent growth in the popularity of and demand for client-side apps, there are a lot of people out there like me, especially in the Rails community (my preference for the server-side).

Ember

The Ember.js framework is very young (just under one year, not counting it's predecessor, SproutCore); it's actively changing on a daily basis, and has yet to reach 1.0 (1.0-pre is the latest release, dated 2012-08-03). There is a great deal of inconsistency and out-of-dateness, not only in the fan-made blogs, tutorials, and presentations, but even in the official guides and API docs. This adds a great deal of noise and confusion to the process of comprehension.

All in all, it's not a pretty picture, productivity-wise.  But it's fertile ground for a blog of exploration and discovery.

Core Themes

The two prominent descriptors that come to mind regarding what I expect my approach with this blog to be are thus:

Empiricism

With my extreme lack of experience in this domain and the sparseness/inconsistency/out-of-dateness of the existing coverage, I've started a habit of using a tedious, brute-force, try-every-variation approach to gaining insight on what the truth of Ember is in a situation. I think it's a great way to shine a light on and clear all the cobwebs in a particular corner of your mental model of what Ember's doing.

Conceptual Extraction

When you first begin learning a framework, all the various details in a tutorial or guide are mere context-less trivia. You have no mental model to graft them onto, so they float about for a short time in the very limited unsorted inbox part of your memory until they fall out hours or days later. A few bits may remain, especially if they were used right away, but they're like individual frames of a movie.  You can remember it as a picture, but you can't say what it means or connects to.

I hope to extract and communicate conceptual understanding as often as possible from my experiences. Once you have a strong mental model of what a thing is, why it is that way, and what it's intended for, you're set. You can always fetch the necessary trivia from the references on-the-fly while still staying in the zone and being productive. You can also start to see ways of using and assembling those things in ways not necessarily intended for. You may even develop better conventions and patterns, and eventually find yourself contributing back.

That's the journey.  Next up, we make a quick stop for supplies.