Software engineers, technical leads and managers all share one goal - shipping high-quality software on time. Ambiguous requirements, strict deadlines and technical debt exert conflicting tugs on a software team's priorities. Software quality has to be great otherwise bugs inundate the team; further slowing down delivery speed.
Have you ever wondered why some applications always look and feel similar? Why for example does Apple have a unified experience across devices? Why are Google products starting to adopt the material experience?
A couple of things to validate before you press the 'go-live' button on that wonderful web application of yours.
If you are thinking of choosing between Angular 1 or Angular 2, I'll say go for Angular 2; it's totally worth it.
You are building a web application and need the application to pause whenever the user stops interacting with the page;
Your wonderful one-of-a-kind web application just had a successful launch and your user base is rapidly growing. To keep your customers satisfied, you have to know what issues they face and address those as fast as possible.
I used to work for a team where whenever an engineer said he was done, the next question would invariably be are you 'done done'?
Looking back, I have learnt a couple of lessons the hard way and wanted to share some of these so that other engineers know what to avoid.
If you write unit tests, then you likely use a testing framework and might have come across spies. If you don't write unit tests, please take a quick pause and promise yourself to always write tests.
Tutorial on the chrome dev tools focusing on the network tab
Deep dive into features of the Sources tool in Chrome
1. Search CTRL + F allows you to search for strings in the DOM but you can also search using CSS selectors and XPath expressions. 2. Color picker Ever wanted to figure out what colours exist on a web page? Or prefer some other colour format? Here comes the color picker: Shift click on the color … Continue reading Chrome dev tools deep dive : Elements
Engineers need to estimate system performance and simulate real-life scenarios. For most engineering fields, there are rich banks of proven theories and mathematical relations to rely upon. Unfortunately, software engineering - the new kid on the block - has a few rigorous rules, most times we rely on heuristics and handed-down wisdom.
How to get consistent print output across a range of browsers and their never-ending stream of subtle nuances.
Software Versioning Software versioning has always been a problem for software developers, release managers and consumers since time immemorial. For developers, the challenge lies in releasing new breaking changes while simultaneously minimizing consumer upgrade pains. On the flip side; consumers, when they finally decide to upgrade to new-shiny-release-10000, want to be sure they are not buying a one-way-ticket … Continue reading What is Semantic Versioning (SemVer)?
Programmers have to love their craft and put their best into making it stand out.
We all have to track variables;while debugging; generally the easier it is to monitor changes, the faster bugs can be detected and fixed. Web developer tools expose various methods for tracking changes in variable values. There are a couple of drawbacks e.g. non-uniform support across platforms) but again, half-bread is better than none :).
1. $_ $_ re-evaluates the last expression and is similar to the '_' command in python's REPL. However _ prints the last 'non-None' value while $_ prints the value of the last evaluated expression even if it is undefined. 2. $() and $$() selectors $() selects the first matching DOM element while $$() selects all matching DOM elements. Quite useful if jQuery is missing. … Continue reading 7 Cool tricks with Chrome DevTools
An explanation of scenarios where git stash comes in handy and how to apply stashing
Programmers usually spend a lot of time debugging and it can be a painful experience; some feel like tearing out their hair in exasperation, smashing their poor computers or even believing that their computers really 'hate' them! :) Actually computers do not hate people and the operating system is not conjuring bugs - the most likely reason is buggy code. Here are a couple of tips on debugging; hopefully these will help to reduce time spent, frustration and annoyance levels.
Programs do not acquire bugs as people acquire germs, by hanging around other buggy programs. Programmers must insert them... Harlan Mills Software breaks all the time: booting issues, corrupt software and files, crashes etc; nearly everyone has had a close shave or two with fragile software. Can programmers write 'perfect' fault-free software? I presume a trip to … Continue reading The Myth of Perfect Software
Although I have never tried out the Backbone framework, I had to review it some time ago when I had to select the JS framework to use. I wrote this last year so if anything has changed please let me know. EmberJS Strengths Allows developers to control the entire page at runtime and not just … Continue reading EmberJS vs Backbone