Skip to main content

Books To Read Before Interview

Today I found on prismatic interesting post about what to read before interview.
It is really worth recommending because of language agnostic list of books and some best for your language.

For JavaScript it is Secrets of the JavaScript Ninja by John Resig. If you don't know him, then at least you should know jQuery which is his library. Book is pretty new so I haven't read it yet but look really promising.
Edit: Some of my friends told me that book is not so fun to read (they are rather advanced so it's hard to tell without reading what is my opinion, but maybe consider also opinions on Amazon before buying)

The easiest to see is how much books about Design Patterns are recommended. Personally I used to think about them as stupid. Most of us know them at basic level and in my opinion it should suffice.
I know that it will work for sad projects, but when you create something new, that you have no idea how it should work it is mistake to throw at it 7 design patters. Next week from that point client have new idea about how it should work, or maybe you misunderstood them, and there is now time to change those design patterns that you spend 2 days to implement in project, and hacking and bad things happen. You should get idea what I mean.
I'm not against it in general, but always consider the Context.

Design patters are great if:

  • You know what you're doing (expertise in business your building for, and at least on project done for that business)
  • You have working code and you see places where commonly known design patters will fit. 
Another good examples of Design Patters you can see in JavaScript Patterns. Build Better Applications with Coding and Design Patterns by Stoyan Stefanov. Book is only partly about classical Design Patters. Most of the book is about good practices in JavaScript, about JsLint, hacks, common problems, inheritance types with it's benefits and drawbacks. I liked this book because of how pragmatic it is. 

So here comes my list of books for JavaScript:
  • Eloquent JavaScript by Marijn Haverbeke
  • JavaScript Patterns. Build Better Applications with Coding and Design Patterns by Stoyan Stefanov (keep in mind that it's mostly about best practices than design patters)
  • Async JavaScript: Build More Responsive Apps with Less Code by Trevor Burnham
  • Test-Driven JavaScript Development by Christian Johansen
On my reading list but recommended by friends:
  • Secrets of the JavaScript Ninja by John Resig
  • Maintanable JavaScript by Nicholas C. Zakas
  • Effective JavaScript by David Herman

For learning JavaScript MDN has really good start point:


Popular posts from this blog

How to simulate slow connection (developer proxy in Node.js)

Update: If you use Chrome then you can use "Throttling" so simulate slow network for all your assets. This should be easier than proxy.

Toggle device modeChoose Network type.Refresh the page 


For some time I wanted to use some proxy for development and testing of eg. slow internet connection, but it was hard to find something useful and free. I know there is Charles but buy it to use it at most one in a month is not for me.

I started thinking about Node.js, maybe I can write proxy for me? But fortunately I found one.

With this module I can write really short code to create slow server:

var http = require('http'), httpProxy = require('http-proxy'); httpProxy.createServer(function (req, res, proxy) { var buffer = httpProxy.buffer(req); setTimeout(function () { proxy.proxyRequest(req, res, { host: 'localhost', port: 8080, …

How to use NPM packages from private repositories on bitbucket

Using Node.js you want to use NPM packages for reusable parts of the apps you create, that is a common sense. At the same time not everything makes sense as a public module unfortunately. Right now we are using Bitbucket at work for private repositories but there is a problem. How to use them as NPM modules? We do not want to publish them to the public but still want to have an ability to install them easily.

After googling and experimenting I have found simple solution.
First create new user in your organization with obscure password and give it read access to the repo. It is best to assign really obscure password but do not fool yourself. This is convenient but you must sacrifice security a bit. You should always consider how in your context that would be important.

Change example from below to:
user - username
PASS - password of the user
organization - owner of the project (you can find it in bitbucket url to your project)
project - your project name