Transformed elements have a non-static position

Recently I discovered a CSS feature that took me by surprise. Apparently if you apply a CSS transformation to an element, it’s position is considered as non-static, even when element.style.position === ‘static’. Here is a codepen that proves this. As far as I can tell, this is happening on all browsers that implement CSS transforms.

Continue reading →

If you enabled Github 2fa…

You might have noticed that your terminal git push commands do not work anymore and you are required to provide your credentials again. The weird thing is, your regular Github credential (username/password) are not valid anymore! What you actually need to do is provide an access token when you are being prompt for a password […]

Continue reading →

Tip of the day: OSX vs Linux

Linux is case sensitive while OSX is not when it comes to file paths. This affects how a multitude applications work, including Git and Node. I will sure remember this next time I have to debug a debug a Travis build from a Mac.

Continue reading →

Adventures with AngularJS 1.3

The new AngularJS (specifically v1.3) offers many new features and under-the-hood improvements. For details about this release you should check out the changelog. There are a few breaking changes and I want to discuss one in particular that gave me headaches. Let’s say you have a directive such as this one: Your unit test for […]

Continue reading →

Best practice

If you did any development in AngularJS, I’m sure you know about the $watch function. On every digest cycle, Angular will evaluate an expression to see if its value changes. If it did, it will fire all the listeners on that particular watch. Of course, this can be very expensive as your app grows and […]

Continue reading →

Protractor taking screenshots

A very useful trick when using protractor with jasmine is the ability to take screenshots when one of your tests fail. Here is a very simple afterEach block that verifies if your test passed. If not, a screenshot of the browser is taken and saved. Very useful for figuring out what is going on with […]

Continue reading →

Protractor testing

I’ve been working a lot with protractor recently. And even though there are still some issues with phantomjs, it is still pretty awesome. It integrates seamlessly with Jasmine and Cucumber, so that’s a bonus. To start using protractor you can follow the official documentation here. One very cool feature I like is multiCapabilities. As E2E […]

Continue reading →

Quick tip

If you are using protractor to test your webapps, then you are inevitably using Promises. Sometimes you might want to create an immediately resolved/rejected promise. Typically you would write this: But you can just as easily write the same thing like this: Much easier!

Continue reading →

Lazy loading components in AngularJS

There is no need to load everything at first load for an AngularJS application. It only delays initialization, increases the web application’s size and hurts performance. It would be so much simpler if you could just load components when they are used and not sooner. (FYI, a component is one of AngularJS directives/filters/services and even […]

Continue reading →

Use Github to display 3D objects

Embedding Gists into websites is quite easy thanks to github. But did you know Github also allows you to embed a live 3D viewer for any stl file? Seriously Github, you are awesome! Example: This: <script src=”https://embed.github.com/view/3d/skalnik/secret-bear-clip/master/stl/clip.stl”></script> Becomes this:

Continue reading →