thanpolas // web development as it happens

My entrepreneurial blog is at 20minus.com

  • Are you a Startup? Come Forward!

    As a Startup you can have a great impact on your local community and likewise you have a lot to benefit from it, in this article I explain why it is important for you as a Startup to come forward and be a part of your local community.
  • Squashing. Or how to be a liar and ungrateful

    It appears that more than enough open source maintainers have a fixation with git squashing. It serves no purpose other than to tone the maintainers' excessive OCD, it is wrong, it is a lie, it is rude and ungrateful; stop doing it folks!
  • The cost of WebRTC Today

    Just about now we can really talk about how much WebRTC is going to cost your business.
  • Grunt with express server and Livereload

    Launching a NodeJS webserver using express from Grunt has been an elusive topic for some time. Adding LiveReload to the mix is even more tedious. After many iterations and setups i've resorted to a Gruntfile that will work for everyone, launch the Express Webserver with Livereload using Grunt or launch it the from command line.
  • Mocha and Promises No Problem!

    After a few itterations a pattern emerged that works for Mocha and Promises, or any test framework for that matter.
  • Managing Large Scale Projects with Grunt

    Grunt offers infinite ways to get extended and configured, easily tackling the most demanding build flows out there. In this article a sensible setup for complex build flows will be presented, it will demonstrate how you can scale Grunt to use in large and distributed teams and perform complex and optimized builds.
  • Introducing cip Classical Inheritance Pattern at its best

    Cip is a robust and compact library for applying natural inheritance to your applications.
  • Writing Modular Javascript REWIND

    The Module term in Javascript, has been overstretched to the point where it's ambiguous. The primary reason for that is because of Module Definition Patterns and the torrent of 'Write Modular Javascript using AMD' blog posts. Let's put that claims aside for a moment and revisit the definition of what is a Module and what is a Modular Application or Library, in javascript, for the first time.
  • Promises/A+ Performance Hits You Should Be Aware Of

    The Promises/A+ specification is a fresh and very interesting way of dealing with the asynchronous nature of Javascript. It also provides a sensible way to deal with error handling and exceptions. In this article we will go through the performance hits you should be aware of and as a side-effect do a comparison between the two most popular Promises/A+ implementations, When and Q and how they compare to Async, the lowest abstraction you can get on asynchronicity.
  • Development Using Namespaces

    Using global Namespaces for web development is a long forgotten practice, banished, cursed and buried deep under tons of senseless hype. In this post I will try to provide an overview of the pros and cons in using Global Namespaces. How the development workflow compares to the Module Definition Patterns and debunk a few myths and notions that exist about this matter.
  • Announcing The Release of Mantri

    A new solution for Javascript dependency management is now ready. Announcing the release of Mantri, a traditiona╬╗ dependency system.
  • Why I Don't Like AMD And What I Will Do About It

    Defining the dependencies of your files is more than a requirement for a large scale project. There simply is no other way you can accomplish maintainability and collaboration between teams. However i beg to differ from calling everything a module and certainly i am not fond of AMD and its' derivatives.
  • Passing Data From Server To Javascript On Page Load

    Passing arbitrary data from the server to the client on page load is an essential function of modern, rich client-side applications. Over my course in various projects I've seen all kinds of setups and use cases, here is the gist of my experience.
  • Jekyll And LiveReload Flow

    Working on a Jekyll site with LiveReload can be quite a sad experience. Especially when there are more pre-processors up the asset pipe, It can take several seconds and multiple page refreshes before the changes are available. Here's how I smoothed the flow using Grunt.
  • Jekyll Code Highlight And Line Numbers Problem Solved

    Setting up my new webpage and blog, thanpol.as, using Jekyll proved to be a bit more cumbersome than expected. Specifically with syntax highlighting.
  • You Don't Need the DOM Ready Event

    It usually takes a long time for the `DOM ready` event to fire. During this time, many parts of a webpage are inactive as they wait for Javascript to kick in and initialize them. This delay is significant and makes a rich web application become available slower. Creates a bad user experience, doesn't adhere to any design pattern and is, really, not needed...