hello.js

var please = require('share');
console.log('thank you');

NEW !!!

Friday, 11 January, 2019 UTC

Year 2018 Review from Freelance Web Developer Perspective

I have written a couple of retrospectives in the previous years and this year is no different. The retrospectives have been from freelancing perspective, but this time I wanted to try adding a bit more random things that were interesting. Freelancing ... more


Thursday, 6 December, 2018 UTC

Debugging Jest Tests in Visual Studio Code When Using WSL

In the ideal world, investigating why a test fails should be a trivial task, but sometimes the code that is under testing is not easy to follow. Or, even the test can be hard to understand. To get understanding what is going on you can use console.log ... more


Monday, 26 February, 2018 UTC

Adopting Prettier Into Existing Project

Prettier is an opinionated code formatter for different languages (such as JavaScript and TypeScript) and style sheet files. Prettier wasn't the first code formatter, but it had a new approach that led to being very praised and popular tool. The powerful ... more


Sunday, 18 February, 2018 UTC

The Windows Subsystem for Linux From Web Developer Perspective

If a Web developer would make a switch to Windows from Linux or MacOS, the most significant thing they would miss is a proper Unix shell. Disclaimer: that statement is only based on discussions with numerous web developers, so the sample size rather ... more


Friday, 19 January, 2018 UTC

Two Key Points To Focus When Learning TypeScript

I started writing TypeScript at the end of 2015. Since then I have written three medium-sized TypeScript projects. Even though TypeScript is very pleasant to learn (good resources, online playground, smooth learning curve, etc.) it can become a painful ... more


Sunday, 31 December, 2017 UTC

Year 2017 Review from Freelance Web Developer Perspective

It has been one year since the last review, and it is again time reflect how the year went. The way I approach life is quite simple: do more things that bring positive feelings and try to minimize that drain energy. Freelancing - Overview My work-life ... more


Thursday, 7 December, 2017 UTC

Linting Your TypeScript Project Using TSLint

Usage of TypeScript's powerful type system decreases specific type of bugs. Linting tools provide additional static code analysis to spot common mistakes and ensure consistency across the large codebase. In each project team decides which of the rules ... more


Friday, 10 November, 2017 UTC

Recap of React Helsinki Meetup Talk

I gave one of the talks on React Helsinki meetup on 8th of November 2017. The title of the talk wasn't very imaginative, but it was quite descriptive: "Lessons learned from three React + Redux projects." These lessons were learned the hard-way ... more


Sunday, 15 October, 2017 UTC

Type System Differences in TypeScript (Structural Type System) VS C# & Java (Nominal Type System)

When a developer with C# or Java background learns TypeScript, there is a temptation to write TypeScript with the same style as C# or Java. It is easy to lose TypeScript's beauty by not understanding the type system TypeScript offers and how it differs ... more


Friday, 22 September, 2017 UTC

Two Easy Ways to Get Started With TypeScript and React

Setting up a build process for a modern web application can be a tedious process. Knowing your tools is important when you're going to maintain the software. When you want to learn a programming language or experiment with an idea, you want to get started ... more


Saturday, 22 July, 2017 UTC

Three Ways to Provide (TypeScript) Type Definitions to Open-Source Libraries

Even though the library of type definitions is vast, the amount of JavaScript libraries is even greater. Every TypeScript developer will encounter a situation where the type definition is missing, or it is not up-to-date. There are four options to deal ... more


Thursday, 15 June, 2017 UTC

What's New and Shiny In The TypeScript Community (June 2017)

The TypeScript team and community have done amazing work lately. In this blog post, I'll show some of the new language features, tools, and libraries that have been released or will soon be released. Enjoy! Prettier TypeScript support For those who are ... more


Sunday, 4 June, 2017 UTC

Different Approaches To Modeling Data With TypeScript

TypeScript is a very well-planned type system that has type inference, structural subtyping, generic types, contextual typing, intersection types, literal types, union types, etc. In this blog post, I try to solve an example problem in two different ... more


Thursday, 18 May, 2017 UTC

Type-safe Asynchronous Actions (Redux Thunk) Using TypeScript FSA

If you haven't read the previous blog post (which describes FSA and the TypeScript FSA library), please read it before continuing. In this article, I cover the creation and usage of Typesafe actions and the way to unit test reducers that use asynchronous ... more


Thursday, 4 May, 2017 UTC

Refactor Redux Reducers Like a Pro With TypeScript

TypeScript is a perfect match for React reducers because it has an intelligent type system, making refactoring much easier than it is with plain JavaScript. The topic of reducers is also an easy way to start learning and enjoying TypeScript because reducers' ... more


Monday, 23 January, 2017 UTC

Practical Guide to React and CSS Modules

Web developers have spent tremendous time and effort to make reusable components. One of the problems has been CSS and its cascading nature. For example, if a developer creates a component that displays a tree structure, how can she/he ensure that CSS ... more


Saturday, 10 December, 2016 UTC

Starting a React project at the end of the year: 2015 VS. 2016

About a year ago, team members and I were thinking about an ideal front-end stack to fulfill a client's business requirements. We ended up with a React setup. A year later, we can say that the technologies we used were valid choices for the project. ... more


Wednesday, 2 November, 2016 UTC

Yarn vs. npm: Installation Time

Yarn is a client for the npm registry, Node.js ecosystem for the packages. This new client will address performance, reliability, and security-related issues. Before diving into this article, which is about speed comparison, please read the introductory ... more


Sunday, 16 October, 2016 UTC

Problem Solved: Custom Checkbox not Working on Edge

The problem In the current project, I made a custom checkbox. The custom implementation used native control and didn't rely on any JavaScript, but for some reason, it didn't work on Edge. It is a common technique to give style for the native HTML checkbox ... more


Wednesday, 24 August, 2016 UTC

Find The Cause of A Bug Faster With These 3 Chrome Tips

I have come to a conclusion that many debugging methods and tools haven't reached a broad audience. Perhaps we consider reading a blog post or watching a video about a browser's developer tools uninteresting or unimportant, yet developers spend a great ... more


Friday, 12 August, 2016 UTC

Better User-Experience to the Cloud Deployment

For quite some time, consumer cloud services have been easy to use: users don't need to think about where the files are or how to share them. Unfortunately, developers haven't had this luxury. Sharing the product under development is still a bit cumbersome. ... more


Tuesday, 26 July, 2016 UTC

Using ESLint as an ES2015 Learning Tool

I have used various linting tools to keep code consistent across teams. A few weeks back, I started using ESLint with my website and hobby projects. Most of the projects used plain old ES3 syntax. I expected some nagging about semicolon and curly brace ... more


Saturday, 25 June, 2016 UTC

It Is Not Just About Having The Right Tool for The Job

After launching my email list, I received a ton of great questions. Here's one of them: I would be interested in post about technologies / tools / techniques you use for stable production applications. Not just javascript of course. Instead of listing ... more


Monday, 6 June, 2016 UTC

I Was Wrong About TypeScript, Here is Why

When something new is announced, people have a tendency to choose sides. When TypeScript was announced, I wrongfully picked a few key concepts that didn't resonate with me, then chose my side: against. In this blog post, I'll try to explain what I was ... more


Thursday, 26 May, 2016 UTC

Using Ghost Apps to Add Custom Handlebars Helpers To Your Theme

Ghost blogging platform theming support gives us plenty of built-in blog and post related Handlebars helpers. There are cases where built-in helpers are not enough and we need a way to apply custom helper. In this blog post, I'll show you how new Handlebars ... more


Wednesday, 18 May, 2016 UTC

Three HTML Form Related Tips That Make Web Developers Life Easier

I've recently learned a few things about HTML forms, which are a fundamental part of the web. We web developers spend quite a lot of time and effort making forms simple and accessible so that users can easily accomplish tasks. Even after years of working ... more


Tuesday, 26 April, 2016 UTC

GraphQL and Relay with Ville Immonen

Dear readers, I am pleased to introduce you to Ville Immonen, a co-founder of Reindex. Today we will be discussing what Reindex is, the problems it solves, the company's operation, and upcoming news for 2016. Ville, it is great that you spared your precious ... more


Monday, 11 April, 2016 UTC

How does HTTPS benefit small sites such as blogs?

I've never doubted that I should install an SSL/TLS certificate for a web service that I have been building for a client. Any site that has at least one form should use HTTPS—not just the login screen, but the whole site. When it came to my personal ... more


Sunday, 27 March, 2016 UTC

NPM-Gate: Seeking constructive criticism, finding joke sites and arrogance

If you haven't heard about so-called NPM-gate, then please read one of the summaries of the topic (Ars Technica, npm blog or Business Insider). As a person who has made NodeJS production code, I couldn't just close my eyes on the topic. Unfortunately, ... more


Tuesday, 8 March, 2016 UTC

Notes on learning Elixir - Part 2

Disclaimer: I have been programming for a while, but I am a complete Elixir n00b. These are my unfiltered notes while learning the Elixir language. Official Getting Started documentation is where I started the learning process. I tried to write as many ... more