found drama

get oblique

Tag Archives: architecture

“more than just picking a few JavaScript solutions”

by !undefined

Planning A Front-end JavaScript Application:

Thoughtful piece by Cody Lindley over on the Telerik Developer Network. Even if you don’t agree with all of his points, he definitely sketches out a good framework for how to approach the problem of getting your application off the ground.

A couple of additional points here:

  1. Don’t get caught up in the specific technologies that Lindley is using in this article. They’re just there as examples, and he doesn’t appear to be strongly advocating for any of them — just that you consider something to fill in that blank on your project.
  2. There’s a bit of YMMV going on here depending on the specifics of your situation. That being said, most of the key lessons here should be easy to adapt — give or take a couple of questions on the checklist.

Again: look past any knee-jerk disagreements you might have (e.g., API first development; e.g., no RWD for “web apps”) and draw out the larger questions.

optimize for trade-offs

by !undefined

Optimize for change. It’s the only constant.:

Alas — the snark and schadenfreude are terribly unconstructive and show a shocking lack of empathy from someone who has otherwise gotten a rather fantastic reputation for having exactly that kind of empathy.

There’s an unstated assumption that people selected AngularJS for their projects simply because it was “backed by Google” or because it was some kind of shiny thing that everyone was playing with “at the time” — and while this may be true for some, there are many who have done their homework and did their framework/library bake-offs and looked at their specific situations and said: “You know what? AngularJS is the best solution for us for these legitimate reasons.”

Right. So the schadenfreude? Not helping anyone.

Which is unfortunate, because this point is really good and really important:

As a leader on a dev team, I personally consider it too risky to invest our team’s energy in learning the intricacies of a particular framework; I want our team to learn how to solve problems in JavaScript by combining the right tools for the job.

And/but here’s the twist: your customers never give a shit about what language or framework or library you use to solve their problem, they just want you to solve the problem. In that respect, domain knowledge is more valuable than any piece of technical minutia you’re picking up along the way. Which is not to say that that technical knowledge is not important — after all, these are (probably) the tools you need to use to solve exactly the problems in that domain you’ve worked so hard to learn something about. Which brings us full circle: do you burn time writing your own thing? or searching for and stitching together the little libraries? or buy into that larger framework which is going to allow you to off-load a lot of that?

Each team needs to decide this for itself. What trade-offs are you willing to make to get where you’re going? Because don’t believe for a second that you can just pick “a loose collection of a bunch of optional modules” and say that you’ve “optimized for change”. You’re just choosing a different set of dragons to wrestle with.

And anyway, everyone needs to draw a collective deep breath and chill the hell out over this. (1) Your software choices and architecture designs are always wrong to someone. (2) Maybe this event serves as an important wake-up call to you and your team and you come out on the other side of it having learned some valuable lessons about how to build front-end apps. (3) And/or just because no AngularJS upgrade path got announced doesn’t mean there won’t be one and maybe 6 months from now there’s a blog post that reveals just how everything is going to be just fine.

Regardless: relax, don’t worry, it’s just software.

UPDATE: Just about as soon as this was published (after simmering overnight as a draft in the queue…), I saw that Joreteg has re-written the post to be… less harsh. I’ve decided to leave my post as-is because if nothing else it will serve as a reminder to myself that we can all act too hastily in our responses at times. The main points of my own response remain the same: (1) try to be constructive in your criticism; (2) do your own research and make the right choice for your team; and (3) maybe just maybe it’s still too early for everyone to freak out as much as they have.

Linkdump for February 20th

by Rob Friesel

The "Magic" behind AngularJS Dependency Injection Fascinating post by Alex Rothenberg wherein he digs deep into Angular.js to determine exactly why minification broke his application. (tagged: minification Angular.js JavaScript ) An Appropriate Use of Metrics By Patrick Kua, writing over at MarinFowler.com. The first (explanatory) half is a little on the long-winded side, but the […]

Linkdump for July 31st

by Rob Friesel

Sass Tutorials A video series on YouTube re: using Sass. (tagged: video SCSS CSS Sass ) Dad and The Ten Commandments of Egoless Programming By Stephen Wyatt Bush. Good advice, no matter what field you're in. (tagged: essay advice programming ) Prismatic Architecture: Using Machine Learning on Social Networks to Figure Out What You Should […]

Linkdump for February 28th

by Rob Friesel

The Sun is Setting on Rails-style MVC Frameworks At caines.ca/blog. Still digesting this one (and its B- comment thread). Short version of immediate gut response: aspects of MVC are bogus (e.g., some of the "magic", implementation details that throw "wrong" HTTP responses [if you want to be that pedantic]), but it seems to me like […]

Linkdump for January 8th

by Rob Friesel

ssh-agent on Mac OS X 10.5 (Leopard) at Dave Dribin's Blog (tagged: mac osx ssh ) The Whisky Flavour Map "Strange Maps" at Big Think. I don't agree about that Highland Park 12-year, but otherwise this made me smile. (tagged: single malt scotch whiskey whisky ) Abandoned Bomb Shelter, 1960s At Retronaut. (tagged: history architecture […]

Linkdump for October 4th

by Rob Friesel

Challenges of Writing Alternate History Set in Other Cultures Interesting piece on alternate history and other misc. steampunkery, over at Tor.com: And unlike a novel set in a secondary (imaginary) world, there is no useful way of working this information into the book: alternate history explicitly relies on readers’ pre-existing knowledge. There’s simply no place […]

Linkdump for October 4th

by Rob Friesel

Making Laws About Making Babies at NYTimes.com (tagged: research politics fertility ) One-Third of Sun-Like Stars Have Earth-Like Planets In Habitable Zone And (as usual?) the comment thread from pedantic astrophysics nerds is awesome. (tagged: Astronomy Science research ) Innovation Starvation Neal Stephenson (writing at World Policy Institute) on the demise of innovation. Mandatory reading. […]

Linkdump for August 10th

by Rob Friesel

Nodeload2: Downloads Reloaded at GitHub (tagged: performance architecture git Node.js github ) Fastersite: Finding memory leaks Useful reading on a useful exercise in JavaScript profiling and how to identify and mitigate memory leaks. (Short answer (as usual?) is "be careful with the DOM".) (tagged: javascript web google performance programming essay ) Easy Hikes Around Lake […]

Linkdump for April 25th

by Rob Friesel

Coding Horror: Working with the Chaos Monkey via @JoelAnair (tagged: design software architecture programming coding essay robustness ) Your idea sucks, now go do it anyway via @donniecoleman (tagged: business essay inspiration ) You Owe Me An Apology Despite Never Having Met Me: Douglas Crockford, for JavaScript: The Good Parts A humorous bone-picking with/against Crockford's […]