found drama

get oblique

git cherry-pick: it might not be what you think

by Rob Friesel

Among the myriad of powerful features in Git, cherry-pick is probably the cause of and solution to most of my source control problems. I use it often, and probably way more than I should; I say the former because it seems like the obvious way to selectively and surgically move around “just those” changes, and the latter because the temptation to use cherry-pick is strong, and it’s easy to forget that there is some peril hidden in there as well. Continue reading →

Linkdump for July 3rd

by Rob Friesel
  • Kevin J. Lynagh on building the Weathertron app:

    …do the semantics of the library complement your application design? Or will build a Dr. Jekel / Mr. Hyde abomination of ClojureScript code doomed to emit painful, prototype-twiddling, mutation-happy JavaScript?

    Some cool solutions they came up with for some interesting problems.

  • Ryan Lambie, writing at Den of Geek:

    Akira is unusual, in that it features none of the exotically-hair-coloured ladies or outlandish mecha commonly associated with anime. It’s also violent in a way most other animated pictures are not; less bloody and orgiastic than something like, say, Fist Of The North Star, it’s nevertheless utterly brutal – possibly one of the most brutal animated features ever made. I mean brutal in filmmaking terms: every bullet, punch, kick and explosion has weight and impact, imbued through beautifully-drawn animation, sound and editing.

    I loved this movie as a teenager and in a lot of ways, I still do. I can't wait until H. is old enough for this one.

    UPDATE: that reminds me of this weird shit that I saw recently.

    (tagged: Akira anime )
  • Nicholas Zakas:

    For the first time in a long time, Microsoft has actually removed features from Internet Explorer. The user-agent string has also changed. It seems that Microsoft has gone out of their way to ensure that all existing isIE() code branches, whether in JavaScript or on the server, will return false for Internet Explorer 11. The optimistic view of this change is that Internet Explorer 11 finally supports enough web standards such that existing IE-specific behavior is no longer needed.

  • The abstract from this recent talk by Nicholas Zakas:

    After consulting with several companies on performance related issues, it became clear that one of the biggest performance issues facing websites today is the sheer amount of JavaScript needed to power the page. The demand for more interactive and responsive applications has driven JavaScript usage through the roof. It’s quite common for large sites to end up with over 1 MB of JavaScript code on their page even after minification. But do today’s web applications really need that much JavaScript?

  • Paul Venables, as interviewed by Adam Bryant for NYTimes.com:

    Find something your boss is doing that he hates doing — it’s difficult, painful, time-consuming — and say, “I’ll take that,” and make it great. Too many people ask for the choice assignments. Do the dishes really well and you’ll be a very valuable person.

    Emphasis added.

    (tagged: leadership )

dream.20130702: stair chase

by Rob Friesel

You’re being chased. Your pursuers… used to be friends? allies? associates? You know them. But there is a tension now. They are after you, and are close behind. But you manage to keep giving them the slip. You’ll dodge down one seemingly endless corridor of apartments (hotel rooms?) and head down some other stair case. You hear their steps behind you. You take the stairs two at a time. You dodge down another hall. If you can zig-zag down a few of these carpeted hallways, will you lose them? You head into the heart of the building, where the apartments have no windows and are totally enclosed. You find another stair case, this one more industrial-looking — like something out of a factory or a school. They are still behind you, but you seem to be gaining distance. At the bottom of the stairs you come out into a busy shopping mall. (A shopping mall at the bottom of the apartment building?) You dive into the most crowded throng of people and start to work your way into it. You’ll lose them for sure if you can just get to the other side. But a different panic starts to set in.

search term haiku: June 2013

by Rob Friesel

agile introvert
an AngularJS “book”
Jasmine CI tool

“Search Term Haiku” is a series wherein I examine this site’s log files and construct one or more haiku poems from search terms and phrases that led visitors to the site. Where possible, I attempt to keep the search phrases intact. However, as these are haiku poems, I do need to follow the rules.

Linkdump for July 1st

by Rob Friesel
  • Vlad Vekshtein:

    So how did the Ichneumon defeat the dragon, whose very reputation conjures up pictures of fair maidens and burning villages and hordes of gold? Why, it crawls inside of it of course!

    (tagged: monsters research )
  • Sneak preview of the IE11 "F12" dev tools. Doesn't look too shabby. (If you ignore the font rendering, which Microsoft seems to just stubbornly ignore. But whatever.)
  • Interesting puzzler of a post by Seth Shostak, writing for The Crux (a Discovermagazine.com blog):

    So it seems that alien SETI researchers—the Klingons and Vulcans and whoever else is out there—could have spun their telescopes in our direction for billions of years without getting any signal (no intelligent life indeed). Yes, they might know that Earth was a kind and gentle world, blessed by air and oceans. And yes, they might have detected the oxygen in our atmosphere, and concluded that our planet has life. But intelligent life? They wouldn’t know, unless they’ve been monitoring the Earth very, very recently.

    Having read Alastair Reynolds Revelation Space pretty recently, I must admit to some shuddering grins.

  • Great piece by David Byttow (Medium), writing for Business Insider. The "human 302" line is clever, but I found myself nodding along to just about everything — for example: when to block something vs. when to help unblock something, how to make decisions, and _how_ it is just as important to say "no" to things as it is to help dig in and get things done. Bookmark this and refer to it often.
  • David Mosher, writing about Polymer and Angular, and Web Components in a more general way. In a nutshell he argues (as Yehuda Katz does) that library/framework designers serve the community better by focusing on the low-level APIs and letting the best ideas percolate up until they become part of the standards. I agree with this point — you can look at how this has worked out with Backbone (as he mentions) or go further back to jQuery and it becomes clear how these feedback loops are tremendous success stories. On the other hand: I wish people would stop dumping on Ember.js. There's a place for higher-level frameworks like it, too.
  • Colt McAnlis, writing at HTML5 Rocks. This is an interesting technique, but I can see a myriad of pitfalls, especially if you're not careful. Seriously: implementing your own memory management system in JS seems like a recipe in hubris. Why not look at your GCs and try to figure out what's happening in there. Maybe there are other optimizations you can make before you move to an object pool. (The object pools themselves smell a bit like a controlled or on-purpose memory leak.)
  • The opening paragraphs pretty much say it all:

    When a patient arrives at Bayonne Hospital Center in New Jersey requiring treatment for the respiratory ailment known as COPD, or chronic obstructive pulmonary disease, she faces an official price tag of $99,690.

    Less than 30 miles away in the Bronx, N.Y., the Lincoln Medical and Mental Health Center charges only $7,044 for the same treatment, according to a massive federal database of national health care costs made public on Wednesday.

    Pretty intense.

    (tagged: health care )

Linkdump for June 26th

by Rob Friesel
  • Decent introduction to unit testing with Sinon.js; by Guido Kessels, writing for Nettuts. Though the information Sinon.js itself is useful, the highlight of the article is really the robust definitions that Kessels provides for spies, stubs, and mocks.
  • Adam Bard, demonstrating Clojure through some simple, commented forms, to demonstrate syntax and the "idea" and "feel" of the language.
    (tagged: Clojure )
  • Write-up and notes from Garrett Allen's (@g0urd) presentation at the third BurlingtonJS meet-up. Includes the sample code from his talk.
  • The Database of JavaScript Libraries

    Sometimes it seems like there's a million of these things. This one seems pretty polished. Worth bookmarking.

    (tagged: JavaScript )
  • Some monitoring tools by the Etsy engineers.

    We’d like to introduce you to the Kale stack, which is our attempt to fix both of these problems. It consists of two parts: Skyline and Oculus. We first use Skyline to detect anomalous metrics. Then, we search for that metric in Oculus, to see if any other metrics look similar. At that point, we can make an informed diagnosis and hopefully fix the problem.

    (tagged: devops metrics Kale Etsy )

on protocols: a “Fun JS” follow-up

by Rob Friesel

When I gave my “Functional JavaScript” talk at BurlingtonJS last week, the last portion was focused on protocols mixins 1 as a functional programming technique that you can use to imbue your objects with behaviors in an ad hoc (“at runtime”) fashion. I would like to say that I represented the topic fairly well, but couldn’t shake the feeling that I wasn’t doing it justice. 2 Afterward (the next day?) I had a conversation with a colleague that helped me to think of some scenarios that would have better conveyed the beauty and the power of mixins. Though I won’t dive into all of those situations, I’ll outline the one that stuck with me. Continue reading →

  1. I used the term “protocols” throughout my talk, not realizing until later that Fogus (in his book Functional JavaScript) had dropped the term (which I’d seen in early drafts) in favor of “mixins”. I think this makes a lot of sense, as the former comes with some baggage, while the latter is a term that more by-trade JavaScript developers are probably familiar with. At any rate, I mentioned in the talk that you could “sort of” use the terms interchangeably w/r/t/ JavaScript. Anyway: for the rest of this blog post, I’ll be sticking with protocols.[]
  2. As an aside: one of the lessons I learned from my talk that night was to be confident in the way that you talk about the subject matter. Don’t be arrogant, but don’t apologize and mumble into the mic about how you’re sorry that you’re not doing it justice. (Even if you are.) If you need to make self-deprecated jokes, and that’s just part of your established sense of humor, then fine; but don’t mince over how you’re not blowing anyone’s mind. (And/but this is a whole blog post in and of itself. And I’m not writing that one. Not tonight.)[]

dream.20130624: lectures and book signings

by Rob Friesel

A crowded bookstore. There are several simultaneous talks/book-signings going on here. All around the perimeter of this (oddly shaped) bookstore, you see tables and lecterns. Piles of books. Folding chairs. People (mostly middle-aged women) sitting in the folding chairs, or else standing. You’re searching for the table that has lured you here. (And you fumble around in your pocket, noticing that you phone is missing.) Finally you see him: Nassim Nicholas Taleb. He paces back and forth behind the table; he grabs a glass of water from the lectern as he passes, sipping and then putting it back down as he passes the lectern again. He is smiling and making small talk with the women in the very front row of chairs. (The chairs in front of his table only go back three rows.) (You fumble around in your pocket again. Your phone is definitely missing.) You try to find a chair to sit in, and though the bookstore is crowded, there are still plenty of empty chairs here. But you cannot bring yourself to sit down in one. You wonder: how am I going to be able to call a cab without my phone? And somehow you know that someone here in the bookstore mistakenly (or maliciously?) holds your phone. You wonder: If I could just call it and here it ring… You wonder: would Taleb accuse me of being fragile if he knew I was thinking this?

dream.20130623: for a desk

by Rob Friesel

You’re moving in with a different roommate. (College roommate? Are you in college? This looks like your old college campus.) The room is in disarray, but that’s to be expected as he makes room for you. You’re moving in not because the campus housing authorities have told you to, but because… the two of you are starting a business? Naturally the first thing that you do is get your equipment set up. But before you can do that, you need to get the desk set up. You have a desk in your old dorm room, and you say so. So you take off, marching along campus, against the flow of traffic. An ever-thickening flow of people, all of them walking in the opposite direction. Fighting, elbowing through them, until eventually you find a way to walk over them, stepping on shoulders and heads. And when you finally get back to your own room, it occurs to you that you cannot carry the desk back with you. Could you disassemble it? Carry it back in pieces? And/but then you call your new roommate/business partner on the phone: “Wait! Don’t we already have a desk in the room? Couldn’t we just use that? And sell this one for extra cash?”