BEM – Block, Element, Modifier

What is BEM?

BEM stands for Block, Element, Modifier. The meaning of these terms will be described further in the article.

One of the most common examples of a methodology in programming is Object-Oriented Programming. It’s a programming paradigm embodied by many languages. In some ways, BEM is similar to OOP. It’s a way of describing reality in code, a range of patterns, and a way of thinking about program entities regardless of programming languages being used.

We used BEM principles to create a set of front-end development techniques and tools, that allow us to build websites quickly and maintain them over a long time.

via Definitions / Methodology / BEM. Block, Element, Modifier / BEM.

Part 1: Backbone.js Deconstructed –

Backbone is a Library, Not a Framework

Backbone is a JavaScript library which provides an event system and a set of constructor functions for creating objects that can be used in a MV-Whatever manner to organize and sync data for a single page web application. The strongest framework-like-opinions built into Backbone are found in its assumption that a SPA architecture and RESTful JSON API are in use. Remember, a framework calls your code, while a library is code that you call.

via Part 1: Backbone.js Deconstructed –

From Cody Lindley’s excellent code level architectural overview of Backbone.

The roles of AngularJS and Polymer

The roles of AngularJS and Polymer

Labels: angularjs, clientjs, dev, javascript, polymer, webcomponents

A key feature of AngularJS 2.0 is its support for Web Components [1]. Google’s Polymer is a Web Component polyfill (enabling them on all current browsers) and a framework on top of Web Components. This blog post describes how the Angular team sees the roles of AngularJS and Polymer.

via The roles of AngularJS and Polymer.

No Tabs in IntelliJ IDEA – Hadi Hariri

No Tabs in IntelliJ IDEAI often come across people complaining about some odd behaviour when it comes to editor tabs in IntelliJ IDEA or any of the other sister products such as WebStorm or PhpStorm. Some expect a different kind of behavior from tabs. Others want the ability to have different colored tabs and some want them numbered.My advice to all of them? Switch tabs off. You don’t need tabs.

via No Tabs in IntelliJ IDEA – Hadi Hariri.

Using H2 with Grails and Tomcat in Production

Using H2 with Grails and Tomcat | Outside the Box().   Nice post about setting up to use H2 in production.

Why would one want to do this at all?  To test WAR deployment rather than using run-app.

What was learned:

  • it is possible to use file based H2 in the production environment
  • bootstrap.groovy sample data will load in the production environment
  • you can enable the dbconsole facility in production (the default JDBC URl only gave a connection to the H2 metadata information but if you set it based on the datasource.groovy ‘dbdir’ as in dbdir = “${['catalina.base']}/db/sample” and manually set the path based on your tomcat installation as in dbdir = “/usr/local/tomcat/db/sample” results in visibility to the application tables as well as the INFORMATION_SCHEMA content)
  • tomcat hot deploy is the default behavior allowing you to just compile the WAR into the webapps directory for automatic extraction – see your tomcat/conf/server.xml for default configurations including this
  • tomcat will automatically attempt to load all apps in the webapps directory on startup

Unix Less Command: 10 Tips for Effective Navigation

Unix Less Command: 10 Tips for Effective Navigation

via Unix Less Command: 10 Tips for Effective Navigation.

Very handy for working with Tomcat or other Nix apps that use log files heavily.

From the post my favorites:

Forward Search

  • / – search for a pattern which will take you to the next occurrence.
  • n – for next match in forward
  • N – for previous match in backward

Backward Search

  • ? – search for a pattern which will take you to the previous occurrence.

  • n – for next match in backward direction

  • N – for previous match in forward direction

Screen Navigation

  • CTRL+F – forward one window

  • CTRL+B – backward one window

  • CTRL+D – forward half window

  • CTRL+U – backward half window

Line navigation

  • j – navigate forward by one line
  • k – navigate backward by one line


  • G – go to the end of file

  • g – go to the start of file

  • q or ZZ – exit the less pager

  • F - Simulate tail -f inside less pager

UXD and Javascript Apps