hello.js

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

Thursday, 7 December, 2017 UTC

Linting Your TypeScript Project Using TSLint

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

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)

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

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

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)

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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?

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

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

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


Tuesday, 23 February, 2016 UTC

Notes on learning Elixir - Part 1

Notes on learning Elixir - Part 1

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


Wednesday, 17 February, 2016 UTC

Narrowing it down

Narrowing it down

A Few days back, I had lunch with a fellow freelancer who I only knew from his work and online presence. Being the first time for us to meet, we didn't discuss anything in detail, but rather shared our experiences in the freelance market with each other, ... more


Sunday, 7 February, 2016 UTC

What does ideal project look like?

What does ideal project look like?

A good time to think about what you enjoyed and what you disliked during a project is when the project is ending. If you have the capacity to influence which projects you are likely to take, then you can achieve happiness by taking a project you are ... more