VGTech is a blog where the developers and devops of Norways most visited website share code and tricks of the trade… Read more



Are you brilliant? We're hiring. Read more

The 5 Whys – how to solve problems by identifying the root cause

The art and science of asking questions is the source of all knowledge. This simple, yet profound quote from the late American novelist Thomas Berger illustrates the power of questions – questions can make the invisible visible and the unknown known. Just as a coin has two sides, questions and answers are also intimately linked; understanding the nature of the question often lead us in the direction of the answer. It is humanity’s ability and willingness to probe deeper – to keep asking questions – that has led to incredible discoveries about our own nature and the complexities of our world and universe. (more…)


Light introduction to Web Components

CSS

Web Components is a new set of HTML5 definitions that is currently only partially supported in the latest browsers. This article intends only to glance at the technology hoping that you might get a little insight into one of the biggest evolutional steps of future HTML development.

(more…)


The pros and cons of Apples Newsstand, is it worth it?

iOS

Apple introduced Newsstand in iOS5 as a single location for users to gather all their magazine and newspaper app subscriptions. From the users perspective its a type of folder where all their news/magazine periodicals (that support Newsstand) are located. There is also a link to the Newsstand section of the App store where a user can discover new publications.

If you are publishing a news app you have the option to add it to Newsstand, before you do you should consider the advantages and disadvantages of Newsstand.
(more…)


Node and systemd, bff!

DevOps

Since Centos7 was released in July, a “nondesktop” distro(other than rhel7 ofc) is using systemd.
Like it, hate it or discuss it, systemd is here to stay.
As we have been discussing internally how to manage startup of nodejs apps, using monit/pm2/others has been alternatives, and now, imho, systemd is sailing up as the better option. And the main reason is KISS. systemd will already handle the rest of your stack, so why add more.

So how to use it? This is the simplest way.
(more…)


Less is more

Design

One of the things I remember the most from my first year at design school back in 2002 is the phrase “less is more”. The words originally came from architect Ludwig Mies van der Rohe in the early 20th century, and is the unofficial mission statement for the “minimalist” design trend. Twelve years later I can still hear the voice of my teacher explaining the importance of white space, contrast, typography and grids.  (more…)



NPM, Travis, Node 0.8 and the “Caret Operator”

JS

If you have a node.js project that you want to have tested using Travis-CI, you may run in to a problem if you want to support node <= 0.8. The reason for this is the new caret operator, which was introduced in node-semver.

This module is used by npm to figure out how to resolve versions for your dependencies, and while it’s a great idea, it fails to work on older node versions without upgrading npm first. It’s actually fairly trivial to fix this, however. (more…)


Setting up a mobile device lab

Mobile

It is becoming more and more challenging to test apps and websites on different devices, with different screen sizes, running different operating systems and with multiple browsers installed. How can you guarantee that your website or app works on every device and on every browser?

Nothing beats testing on the same devices as your users, not emulated or simulated versions of those devices. Physical interactions like pinching, zooming and scrolling, hardware features like the camera, GPS locations, the accelerometer, testing real occurring events like battery consumption or site performance are all best tested using physical devices.
(more…)


The pursuit of perfection

Many see the aspiration for perfection as an unrealistic endeavor and a recipe for unnecessary strain or disappointment. Most of us know from experience that virtually nothing in our world ever reaches a static state of perfection. Yet, there are ways to relate to the notion of perfection that is both practically useful and inspiring. Think of perfection as a journey – a direction, rather than a final destination. The pursuit of perfection is a consciously directed process of continuous improvement. It serves as a driving force, moving the present condition in the direction of perfection – the desired goal. (more…)