Internet is a medium which evolves constantly and it is very hard to believe that CSS is nearing release of version 4. CSS4 has emerged as a buzzword in web technology arena with CSS Working Group’s release of first working draft on the same. World Wide Web Consortium, the governing body that oversees the development of web standards is already plotting the future of CSS with CCS4. Although CSS4 will not replace CSS3, the work on specifications will go on parallel with CSS3 modules. There are many innovative proposals in CSS4 including parent selector, UI states pseudo classes, reference combinators, logical combinations and namespaces. It has been reported that there is a proposal for responsive design in CSS4 and it will let a web developer apply preload states for slow connections.

Cascading script sheet is another much talked about feature of CSS4 and it will be extremely useful for enhancing interaction. According to seasoned web developers, CSS4 technology uses unobtrusive and function style syntax. CLISS (Command Line Interface Styling Script Sheet) is another best feature and it follows a very similar syntax to the CSS. Another fascinating attraction of CSS4 is proper email styling support and it is almost similar to CSS3. With the introduction of this web technology, some old properties have been reintroduced and some are introduced for the first time.

Parent Selector

Parent selector allows a web designer to style a parent element based on its child element and it is one of the favorite selectors of passionate web developers.

Reference Combinators

Reference combinator consists of two slashes in between CSS qualified names and these slashes are used to define the association between two compound selectors.

Location Pseudo-Classes

CSS4 has added few interesting pseudo classes to handle links such as :any-link, :local-link, :target, :scope, :link and :visited.

UI States Pseudo Classes

CSS4 introduces a set of UI states that will allow us to style elements depending on their user interface state. :enabled, :checked, :default, :valid and :invalid are the pseudo classes introduced in CSS4.

Logical Combinations

New logical combination pseudo class called: matches ( ) is one of the innovative attractions of CSS4.

It is learnt that some more features will be added to CCS4 very soon and they will undoubtedly make the experience of web developer easier. Variable declaration feature in CSS4 will reduce the amount of code redundancy experienced in previous versions of CSS4. It is brand new and no web browser actually supports these features of Cascading Style Sheet 4 yet. As CSS4 is built on CSS3, it is desirable to continue mastering CSS3, its features and applications.

As CSS4 is a work in progress, many of the new features may be removed in a later stage. As per industry reports, its new media features will probably include script, pointer, hover and luminosity. When CCS3 was introduced, neither its developers nor others thought that it would become so popular. It is perceived that the same miracle will happen in the case of CSS4 too. Web developers are quite fascinated by the elegant features of CSS4 and they are eagerly anticipating for its official release.

Why is Yeoman getting popular? What all can a developer do with it?

Why is Yeoman getting popular? What all can a developer do with it?

Yeoman is an open sourced web development tool that has unleashed a new wave for developers. Today, in the web app world there is a current trend of using development tools that provide application framework. Yeoman is a web tool that embodies the current trend of the Indus try, and takes it to the next level! If you are a developer at any stage of experience this tool will come as a delightful surprise. Without a doubt this is one of the best innovations to come to web development in a long time. Since the Google/IO release of Yeoman in 2012, it has been regarded as an innovative step forward into the future of web developing.

There is a significant amount of excitement around Yeoman due to the streamlined experience of their less complicated take on modern webapp development. Essentially, the pace at which you can create anything from a simple project to a high caliber web application is impressively quick! In addition to that, Yeoman also allows you to automate the common cumbersome tasks of web developing. This is a development tool that packs a ton of awesome stuff in one package. You can build beautiful and bold designs unlike ever before. Yeoman has a host of features(many of them are open sourced) that are developer-friendly and make the process of developing a high quality web app less of a hassle.

For starters, Yeoman is comprised of “yo” and his helpful partners “Grunt” and “Bower.” These three tools are at the core of the Yeoman experience and enable the application to work at a speedy yet highly effective pace. The first tool “yo” is a web scaffolding tool, yo is a generator that prescribes scribes most of the work for you using tools and best practices to increase fluidity and productivity. The second is “Bower” which is a package manager that allows you to seamlessly multitask and manage all your projects dependencies. The last of the three core tools is “Grunt” which is essentially a task based command line tool for Javascript projects. Yeoman provides linting, quick and easy operation of essentials like coffeescript and sass/scss, CDNifying and automated JS/CSS.

Overall, it is likely to decrease your front end/back end workload, solving a lot of your time consuming problems. Yeoman acts as a kick starter generating infrastructures that get you up to speed on projects. All of the frustration and hours spent dealing with the intricacies of web building have been cut in half and your workload has been modernized with a “made simple” approach. One of the stand outs with this application is that work flow is more consistent. Yeoman really lets you get right down to writing code through optimizing a lot of the repetitiveness of web building.

Many skeptics feel like Yeoman may be a bit too much to process and an intimidating tool to wrap their heads around. Yeoman attests that they optimize the building process, making the experience efficient, simpler and overall more enjoyable. Google assures that the configuration process and the maintenance of the important “nuts and bolts” of web application are streamlined and made easy, this has never been done before to this level. What Yeoman does exceptionally well is serve as an automating tool, automation equals happiness for the developer. You are now backed by an experienced community of developers who save you time and frustration by alleviating you from many of the technical tasks that stagnate the creative process of web app building.

Yeoman also brings swagger and a popularity among the community that most development companies don’t experience; it is quickly becoming the People’s Champion and go-to tool for web development.

If you are still wondering why Yeoman is garnering the attention and praise from the developer community, the answer is simple – Yeoman embodies efficiency and accessibility. One thing is for sure, Yeoman is a step forward towards the future of web app development. “Work Less, Do More, and Make Awesome” is a quote from Addy Osmani who is a Developers Programmer Engineer at Google. This is what Yeoman stands for in the developer community.

By deciding to use Yeoman you are saying that you want more control at your hands. This is an application geared toward making the lives easier of the novice developer and the expert, while ensuring your overall creative experience is more enjoyable and efficient no matter how simple or complex the project is. Beyond the initial factors that make Yeoman popular today, what should be noted is its ability to enable the user to be more creative. With so much of the workload time reduced due to the streamlined process, Yeoman is more flexible, allowing you to do things at a fluid pace not quite seen to this level before. Improving productivity and creativity is what brings Yeoman to the forefront.



Technology has penetrated every sphere of life, big and small and almost every single human today relies on it in some way or the other. This is the reason why conventional high paying professions had to humbly make way for Software development, Software Design, Data Governance, Website/Mobile Development, Instructional Design, Technological R&D etc. The nerds had officially arrived and they’d be here for a very long time. The IT industry, in its perpetually evolving nature seeks skilled personnel that would eventually become cogs in its huge wheel. These personnel however, always need to keep updating themselves and learn more to avoid becoming fossils. With this thought in mind, we had set out on the task of finding out which technological skill is paid the most.

This article presents the data collected from surveys conducted by StackOverflow and IT Recruiters from multiple staffing agencies. According to the report, more than 25000 developers participated in answering the question of which technological skill was highly paid.

Take a look at the average salary of a 2 years experienced developer:

StackOverflow and IT Recruiters

Web UI topped the list with an average potential annual income of a little under $ 99,320 per annum. It is worth mentioning here that JavaScript, a technology that has been around for two decades, makes the list grossing almost $90,000 a year. This technology’s effectiveness and user-friendliness is expounded by the fact that despite stiff competition and copious emergence of new development technologies, it has still held its ground and remains as one of the top paid technologies in the world.

According to industry experts, developers possessing expertise in niche technologies are those that shall be at the top of the pay pyramid. It goes without saying that in this day and age where competition has become so cut-throat that only the fittest survive and only the fittest among these fittest become leader.

The survey also has good news for those who wish to expand their inventory of skills and want to know where the really big money lies.


Top_Paying_ Technologies.jpg

As above mentioned technologies are still an emerging phenomenon, industry stalwarts are willing to pay huge salaries to those proficient in these technologies.


Freelancers have good reason to rejoice because this survey tells us that those who freelance professionally/fulltime, earn more than 40% compared to those who don’t. Being a freelancer has its own perks and advantages. It allows one to learn a lot, as there’s nobody to go and seek assistance from, mistakes and experience are the only two teachers and none can ever be better than them when it comes to imparting knowledge. It gives one the courage to experiment, take risks, explore avenues and aspects that those working for an organization will generally not have the liberty to.


The market with its insatiable demand for talented UI developers is attracting those armed with the aforementioned technologies. Marketable skills in UI development include front-end web development, interactive media design, human-computer interaction, usability testing, mobile development, graphic design and team-centric soft skills, such as effective interpersonal communication, leadership and project management. Mastering any and preferably many of these technologies will ensure that you stand out in the crowd, create a niche brand of your own and will make you a highly coveted developer that companies would vie each other for

How to use node-inspector with Grunt tasks?

How to use node-inspector with Grunt tasks?

Node Inspector is a debugger interface for Node.js applications that uses the Developer tools formerly WebKit Web Inspector. We can use node-inspector to debug grunt task. Node-inspector has the command node-debug, which launches node in a debug state and opens the browser to the node-inspector page, stopping when it hits the first debugger line or set breakpoint.


Strict vs. quirks modes – How to trigger each and why this matters?

Strict vs. quirks modes – How to trigger each and why this matters?

Quirks mode and strict mode are the two ’modes’ modern browsers can use to interpret your CSS.

Anything before the DOCTYPE, like a comment or an XML declaration will trigger quirks mode in Internet Explorer 9 and older versions.

In HTML5, the only purpose of the DOCTYPE is to activate full standards mode. Older versions of the HTML standard gave additional meaning to the DOCTYPE, but no browser has ever used the DOCTYPE for anything other than switching between quirks mode and standards mode.

Solution to Prevent error $digest already in progress when calling $scope.$apply( )?

Solution to Prevent error $digest already in progress when calling $scope.$apply( )?

To check if a $digest is already in progress you have to check $scope.$$phase.$scope.$$phase will return “$digest” or “$apply” if a $digest or $apply is in progress. The difference between these states is that $digest will process the watches of the current scope and it’s children, and $apply will process the watchers of all scopes.


AMD vs. CommonJS?

AMD vs. CommonJS?

CommonJS is a project to define a common API and ecosystem for JavaScript. A part of CommonJS is the module specification. Node.js is a server-side JavaScript runtime and implements modules based on the CommonJS Module spec.

AMD (Asynchronous Module Definition) is another specification for modules. RequireJS is probably the most popular implementation of AMD.

One major difference from CommonJS is that AMD specifies that modules are loaded asynchronously – that means that modules are only loaded as they are needed, as opposed to loading all modules up front.

AMD is generally more used in client-side (in-browser) JavaScript development due to this, and CommonJS Modules are generally used server-side. However, you can use either module spec in either environment – for example, RequireJS offers directions for running in Node.js and browserify is a CommonJS Module implementation that can run in the browse.

Have you ever worked with retina graphics? If so, when and what techniques did you use?

Have you ever worked with retina graphics? If so, when and what techniques did you use?

On retina devices the websites are not broken. They just look vague and pixels start appearing as low resolution images. So the only way to correct is to resize the images by following one of the techniques below:

i) Using alternate high resolution pixels

Suppose we have an image of 200px by 400px (CSS pixels) and we want to display it properly in a retina display, we can upload an alternate image of size 400px by 800px in our server and render them whenever the webpage is opened in a retina device.

ii) Using @face-fonts instead of images icon

Image fonts will automatically resize themselves on the high resolution devices just like normal fonts do. Using @face-fonts is an alternate solution to Bitmap icons.

iii) Using SVG images instead of Bitmap images

Bitmap images are images that multiply their pixels in retina displays. But they come with a limitation of getting multiplied infinite number of times. This is where SVG images come into role. They also solve our problem of uploading alternate images of double resolution plus they solve the bandwidth problem too.

iv) Using JavaScript to replace all the images with double sized image

We can use JavaScript to replace all images in a webpage but it will be a difficult task replacing each one of them by writing individual code.