//TNG The Nitty Gritty

The low down on web technology

Shared Grunt Configuration

by Hans Christian Reinl


Grunt is the build tool of choice for a lot of modern web projects. This might also apply to your workflow.

When setting up your projects you might copy over a lot of tasks and configuration from one project to another if these are similar. One thing that repeats itself in my projects a lot is the configuration of my Grunt tasks which leads to a hardly maintainable repetition of code updates across several projects.

Grunt + Git

Read more…

More Articles & Links

Javascript Modules, AMD, and the road ahead ⇢

The main goal of AMD is to define a javascript module and handle its dependency coordination and resolution. This is the logical next step to what we looked at above because it enables us to break up our code using the Single Responsibility Principle which states that every class should only have one responsibility.

The Yahoo Engineers Team explains a little bit about why AMD is useful and how it will change in the future with ECMAScript 6.

Tools for image optimization ⇢

Images are the most bandwidth-consuming parts of our web pages.

Addy Osmani states:

Images are a non-trivial problem to solve because they occasionally need to be high-res, but at the same time small enough to not kill your users mobile data cap.

But luckily we have tools to help us optimize images and thus the experience of our users.

Where possible, it’s best to try automating image optimization so that it’s a first-class citizen in your build chain.

Addy collected a list of tools and helpers to create this automatization process.

How To Blog About Code And Give Zero Fucks ⇢

So here are some simple guidelines for blogging about code while giving barely any fucks at all from someone who used to do exactly that

Those are some great fucking guidelines. Do this!

[Video] Evolving Your JavaScript with Backbone.js ⇢

This presentation looks at several ways to integrate Backbone.js into your WordPress themes and plugins, including a step-by-step demonstration of how Backbone improves the quality of your existing jQuery code. It also walks through other exciting ways to use Backbone alongside WordPress, including how to make a standalone Backbone application that only uses WordPress for its data.

Backbone is the perfect tool to clean up your jQuery plugin code. This talk is very Wordpress specific but the principles can be applied to any site.

Dalek.js Canary ⇢

I hope you already checked out Dalek.js. If not: it's an early-stage UI testing tool written in JavaScript.

And now you can get the latest build of the software everytime it passes all the tests. Report all the bugs and help make it better!

Build A Better Web ⇢


We need great self-hosted applications, which we can use to manage our emails, personal pictures, documents, private messages with friends, blog posts, etc.. All that kind of stuff needs to be in our control and on whatever server or device we decide to host it on. We need a truly distributed and encrypted way to communicate, which isn't controllable by any secret service or government and at the same time is as easy to setup as a Gmail account. We need this to be well-designed, open and with a fantastic user experience.

As I have said many times. I give this my full support. I don't know how and if I can help to make this happen but I definitely want to see it happen. The web is already decentralized. Now we just have to make it easy and delightful to use it in that way. It's a big vision but for some reason I am convinced it will happen.

Advanced Git ⇢

This video is fantastic if you want to dive a little deeper into Git. Github has more here.

JSjabber 071: JavaScript Strategies at Microsoft with Scott Hanselman ⇢

Very interesting insight in how Microsoft deals with JavaScript and with Open Source nowadays.

BackboneConf Videos ⇢

The BackboneConf videos are up. Lots of really great speakers here. After just watching a few videos it is interesting to see the development that Backbone is going through. The emphasis was on large-scale applications and in his keynote, Jeremy is addressing lots of the criticism Backbone has received from the Ember corner. Although not explicitly.

JSConf US 2013 Videos ⇢


JavaScript 'wake' Event ⇢


For monocle.io I wanted to ensure that the list of posts is always kept up to date. This is especially a problem when the computer wakes up from a sleep, as the top posts are often way out of date!

Alex describes a hack to create a custom 'wake' event in JavaScript that will allow you to refresh your page when your computer wakes up.

Art-Directed Adaptive Images With SVG and JavaScript ⇢

In an ideal world we would have an image format that integrated “dynamic crop marks”, allowing a single source image to adapt to different requirements while preserving its central focus. While we don’t have such a feature yet, we do have SVG’s viewBox attribute, which comes awfully close.

While this solution isn't the best perfomance-wise, it's a pretty clever idea.

The URL is the UI of the Web ⇢

A very interesting talk on some principles of Ember.js and how you build an app with it.

[Podcast Tip] The Big Web Show Episode 95 — Jake Archibald ⇢

Jeffrey Zeldman interviews Jake Archibald of Google Chrome about upcoming web caching standards, how the network connection is merely a layer of progressive enhancement and why you should build your app offline, communicating with non-developers, accessibility standards at BBC and The Guardian, the forking of Webkit, native versus web part 99, and why the much-linked article "Why Mobile Web Apps are Slow" proves no such thing.

I didn't know there was a jQuery plugin that plugs requestanimationframe into jQuery animations. Great episode! Excited to see whats coming in respect to the new web caching standard.

Give ’n’ Go ⇢

A curated gallery of Dribbble shots reworked as interactive CodePen pens.

This is just awesome. I always thought that dribbble and CodePen should do some something like that together which is one of the reasons I built 'Give Me Something To Code'.