Profile

Cover photo
Tom Dale
Works at Tilde Inc.
Attended University of California, Irvine
Lives in San Francisco
2,527 followers|216,530 views
AboutPostsPhotosYouTube

Stream

Tom Dale

Shared publicly  - 
6
Terence Lee's profile photo
 
Is that at Carl's house?
Add a comment...

Tom Dale

Shared publicly  - 
 
 
Yehuda Katz and Tom Dale come on the Gaslight podcast to talk about Ember.js, Skylight and the future of Ember Data.
1
Add a comment...

Tom Dale

Shared publicly  - 
 
 
Awesome pull request just merged into the Ember.js Chrome inspector by Teddy Zeenny. Lots of exciting progress has been made in the past few weeks. If you haven't been following, check it out!
5
Add a comment...

Tom Dale

Shared publicly  - 
 
 
Time is running out - W3C Advisory Board Election polls close tonight at midnight EST!

If you want member orgs to know that you want them to vote for reforming the process and an #openweb  you need to share this message so it gets in front of their eyeballs soon!  
1
Add a comment...

Tom Dale

Shared publicly  - 
18
35
Mark Lai's profile photoPaul Nikitochkin (pftg)'s profile photoGuillermo Álvarez's profile photoEdivan Camargo's profile photo
7 comments
 
how do code a JSON api im new to coding and all this is fascinating but at the same time confusing and frustrating  
Add a comment...

Tom Dale

Shared publicly  - 
 
"Keep in mind that you can only link one Dropbox account to a computer at a time. If you need to access your other account, you can log in to the Dropbox website."

Did Dropbox just tell me to go fuck myself?
8
1
Matīss Treinis's profile photoHelen Keomany's profile photoBob Hanson's profile photoDylan Jhaveri's profile photo
Add a comment...
In his circles
117 people
Have him in circles
2,527 people
Heather Buchel's profile photo
Dimitar Belchugov's profile photo
Pandhêga Palibaya's profile photo
Guy Bedford's profile photo
Ricky Romero's profile photo
Guillaume Chata-Simoni's profile photo
Rocky A's profile photo
Ryan Ansley's profile photo
Fernanda Faria's profile photo

Tom Dale

Shared publicly  - 
 
 
Does CoffeeScript have a Future?
4
2
Julian Camilleri's profile photoEdditoria Yo (愛迪)'s profile photoChris Williams's profile photoBret Little's profile photo
2 comments
 
I hope it does. I feel more comfortable when I create things using Coffeescript.
Add a comment...

Tom Dale

Shared publicly  - 
 
 
Want to know about how people are using Ember.js out in the real world? Here are the annotated slides from the "Building Apps with Ember (a postmortem)" presentation by Embedly's own +Sean Creeley.

http://blog.embed.ly/post/56537323314/building-apps-with-ember-a-postmortem
2
1
Matt Dragon's profile photo
Add a comment...

Tom Dale

Shared publicly  - 
 
 
Cool new blogging platform that uses Ember.js and GitHub.

https://github.com/hodgesmr/Empress
3
Add a comment...

Tom Dale

Shared publicly  - 
 
 
A meetup for Web Developers + the W3C TAG members on the 30th here in London. Register now for a night of standards nerdery, graciously hosted by Mozilla: 

http://www.eventbrite.co.uk/event/6760957205
The W3C Technical Architecture Group (The TAG, http://www.w3.org/2001/tag/) is meeting in London at the offices of Mozilla at the end of this month. If you're a Web developer or designer with an interest in the future direction of the Open Web Platform, why not come join us for an informal evening of drinks and conversation about the Web and Web Standards? Learn about what the TAG is up to and help us help you.
1
Add a comment...

Tom Dale

Shared publicly  - 
 
 
My Problem With Turbolinks

I made a few snarky comments about Turbolinks recently and figured I should write down my thoughts more clearly.

If you're not aware of Turbolinks, it captures all local links that look like HTML pages, makes an Ajax request for the content, and then replaces the body with the response's body. It does a few other clever things, like extracting and replacing the title, and executing scripts in the response.

Overall, it's a clever way to get some increased speed while still using a traditional server-rendered-HTML architecture.

Caveats

Like any other solution, it comes with some caveats.

Probably the most important one is that normal HTML-rendered pages have their own clean global scope every time a new page is rendered.

This is not a mere quibble: a lot of existing JavaScript operates under the assumption of a clean scope, and a single DOMContentLoaded event. In a perfect world, popular JavaScript plugins would be architected to work well with a solution like Turbolinks, but the assumption of a clean global scope per server-rendered HTML page is baked into a lot of the JavaScript and jQuery libraries that people tend to use.

It is possible to deal with problems like this on a case-by-case basis (see https://github.com/rails/turbolinks/issues/87, for example), but in my opinion, this is going to end up in a game of whack-a-mole as each new patch breaks other valid use-cases.

At the end of the day, unless Turbolinks can perfectly emulate the browser's behavior, attempts to use Turbolinks with third-party JavaScript will either fail often or require an ever-growing library that handles more and more targeted edge-cases.

jQuery Turbolinks (https://github.com/kossnocorp/jquery.turbolinks) is a good example of something that tries to make the solution more transparent,  but introduces problems as it now triggers ready callbacks multiple times, and idempotence is not typically a requirement of ready handlers. I encourage you to review the open and closed issues on these projects to get a sense of the specific kinds of problems that can occur.

The Good

That said, for applications that are willing to carefully think through the requirements of Turbolinks, this solution does provide a nice transitional way to keep building applications without a lot of architectural changes with improved speed.

If you are thinking about using Turbolinks, make sure:

• Your JavaScript is designed to be long-lived across many different
  HTML pages without a refresh
• Your refresh handlers are idempotent. Don't register event handlers
  or other bindings in a refresh handler unless you reliably tear them down.
• You audit all third-party code that you use to make sure that they do not
  rely on DOM Ready events, or if they do, that they DOM Ready events are
  idempotent. If you don't feel comfortable auditing and cleaning up
  third-party code, don't use any. (note that the "turbolinks community",
  such as it is, might vet existing libraries for compliance, and that would
  help).
2
1
Cameron Woodmansee's profile photo
Add a comment...

Tom Dale

Shared publicly  - 
 
Earlier this week, I posted here about my distaste for the trend I've noticed of rewarding open source contributors for the volume of their software instead of the quality. I did that by quoting TJ, from a recent GitHub issue for one of his projects where a user was reporting data loss due to a bug.

The response was disappointing but not unexpected. Many people, instead of focusing on whether this cultural trend is good or bad, instead attacked me for attacking TJ (or just took potshots at Ember.js).

This was surprising to me, for two reasons:

1. TJ is an inveterate shit-talker
2. I wasn't attacking him

He made an honest mistake that any one of us could have made, and I'm sure he's learned from it. I am not in the least criticizing TJ for what happened.

But I had been feeling uncomfortable with the culture of "release! release! release!" for awhile. I didn't have a particularly good argument against it. The bug that nuked /usr/local gave me what I had been looking for.

Let's be clear: there was a bug that caused data loss. The maintainer of the software that caused the data loss identified the reason for not properly reviewing the pull request: he had over 250+ open source projects.

This is not me speculating; this is what he said in the GitHub issue.

There was one bright spot in the discussion: +Mikeal Rogers responded on his blog (http://www.mikealrogers.com/posts/generation-gap.html) with a thoughtful reply.

Mikeal's argument, if I can do him the disservice of gross paraphrase, is that the rise of "amateurism" is happening anyway, so we might as well embrace it.

I appreciate his argument, and he may even be right. But I think that as communities, we can at least nudge the culture in the direction we'd like it to go. I think we've been doing a great job with it in our treatment of sexism, for example—making a conscious effort to change. I don't think that everyone is writing terrible software and we're all doomed. All I'm saying is that I've recently felt like we're rewarding the act of releasing software over the software itself. It feels, in some ways, like giving a trophy to every kid just for showing up.

Maybe that's fine. But quality still counts, too.
18
1
Kirk Bushell's profile photoTj Holowaychuk's profile photoAndrew Hanson's profile photo
3 comments
 
Quantity IS often quality. You can shove a lot of small things and create one giant thing ala Ember, or you can create many distinct, well tested, small things.
Add a comment...
People
In his circles
117 people
Have him in circles
2,527 people
Heather Buchel's profile photo
Dimitar Belchugov's profile photo
Pandhêga Palibaya's profile photo
Guy Bedford's profile photo
Ricky Romero's profile photo
Guillaume Chata-Simoni's profile photo
Rocky A's profile photo
Ryan Ansley's profile photo
Fernanda Faria's profile photo
Work
Occupation
Software Engineer
Employment
  • Tilde Inc.
    Co-Founder, present
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
San Francisco
Links
YouTube
Story
Tagline
Make decisions so your users don't have to.
Education
  • University of California, Irvine
    2008
Basic Information
Gender
Male