
Case Story: Finazilla - Modern & Advanced Budgeting Solution June 23, 2019
The Finazilla is a Jyväskylä-based (Finland) SaaS company that specializes in advanced budgeting solutions. I had the pleasure to work with them from January 2018 through
The Finazilla is a Jyväskylä-based (Finland) SaaS company that specializes in advanced budgeting solutions. I had the pleasure to work with them from January 2018 through
The photo was taken by Kenneth Sutherland. Had to clip one of the organizers (Juho) away from the right edge of the photo, to maintain the
There are plenty of resources where you can learn to use right built-in value type, such as decimal when dealing with money. Unfortunately, picking a right
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
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
In 2017 and also briefly in 2018, I had the pleasure to work with NordSafety. Two projects were successfully executed and, in this article, I will
This is just a quick recap of the workshop day (24.4.2018). The next two days will are conference days full of talks. You can
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
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.
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
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
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
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
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
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
You might have seen an exclamation mark after a variable name, for example person!.name. The language feature is called Non-null assertion operator. What is the
Higher-order components and monad have something in common, both sound esoteric, but at least higher-order component (HOC) is easy to explain. It is a component that
The problem If you have set tsconfig setting noUnusedParameters to true, the compiler will give an error when you have defined a function, but you're not
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
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
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
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
I have been running my site and blog on Heroku with free PostgreSQL database. Last year, Ghost team announced that they would drop the support of
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
Nearly two years ago, I created a blog post called Working remotely from abroad: One month in Hungary. A year ago, my wife, our dog, and
TypeScript FSA (previously known as Redux TypeScript Actions) is a library that helps you define actions with types and use those actions while enjoying the compiler's
If you are a freelancer or business owner, you probably have contracts that need signing. Each month, I write freelancing agreements and get signatures from the
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
It has been one year since the last review, and it is once again a good time to reflect on the things I liked and disliked
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
I had the pleasure of being a guest on a podcast called Developer on Fire. In each episode, a developer is interviewed, but, unlike many programming
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
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
The benefits of creating and maintaining website style guides is so clear that I try to contribute a style guide to new or existing web services
Photo by Sebastiaan ter Burg, Quantified Self meetup presentation CC BY 2.0 Everyone has a slightly different goal when attending conferences and meetups. An attendee
I had the privilege to participate in a REFRESH conference held in Tallinn, the capital city of Estonia. The conference is about creating great web products,
Developers tend to be curious persons, and it is quite common to struggle with the thought that should you narrow down learning to a particular niche.
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
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
I read many job ads, both international and Finnish. As a freelancer, I need to be aware of new opportunities and the kinds of expertise companies
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.
When I started freelancing, I knew that I needed to improve my online presence. I created a website and started blogging. The first post was published
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
Today we have the privilege of hearing the thoughts of Deveo CEO Ilmari Kontulainen. Ilmari has a lot of insights to offer about the software development
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
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
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
I always enjoy hearing recommendations of books, videos, tv shows, etc. Now it is my time to give something back to you! I have almost completely
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
One of the main reasons why many professionals don't want freelance is the number of responsibilities beyond practicing their craft: accounting, marketing, job-seeking, learning (without being
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
The title of this blog post is an adaptation of an old Zen saying: You should sit in meditation for twenty minutes every day, unless you're
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
During my career, my work environments have varied from an office with a timecard to 100% remote work. Each work environments has its own pros/cons.
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
Straight to the point blog post about online tools and services that I use either daily/weekly/monthly basis. Not all of them are about development,
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
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
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
There has been a lot of discussion about people getting tired of learning new libraries/frameworks, setting up their tools, choosing technologies, negativity and developers attitude
We have seen many libraries and frameworks written in JavaScript, but we rarely see projects like OS.js. I'll let the author, Anders Evenrud, describe the
I have had a hectic start of the year 2016, and I had to neglect writing for two weeks. It is always a bit burdensome when
Once again a year has passed and now it's a good time take little bit time to think what has happened during the year. Listing the
In this blog post, I'll try to give a brief, practical and easy to understand introduction to Immutable.js library. Why should you use it, a
React itself has a quite small API surface to learn, and in theory, it should be easy to grasp. Unfortunately, the learning resources are making things
You're reading a monthly blog post with a listening suggestions. I listen to plenty of podcasts and thought people might be interested when I find interesting
Let's face it, most of the offices aren't great for work that requires focus. Office workers are bombarded with interruptions and distractions. Colleagues are (rightfully) asking
I had been working remotely on several projects, but it was my first time working from abroad. My homeland is Finland and this time we went
JSHint - the JavaScript Code Quality Tool, as they call it, has served me well for past year. I enjoyed Sublime integration via SublimeLinter plugin, and
On October, I gave a talk at Budapest Node.js to raise some discussion about how software developers get hired. The talk had a little bit
You're reading a monthly blog post with a listening suggestions. I listen to plenty of podcasts and thought people might be interested when I find interesting
I was privileged of having an opportunity to keep a talk at Node.js Budapest meetup. I found that the Node.js community is very active
By working faithfully eight hours a day you may eventually get to be a boss and work twelve hours a day. -Robert Frost I had been
Once a week I press Publish, and I haven't had any exceptions. I have been writing this blog fairly short time (since the beginning of this
With all the confusion with io.js has been settled, and epic merge has been done, it's time to upgrade your current project. To bring a
You're reading a monthly blog post with a listening suggestions. I listen to plenty of podcasts and thought people might be interested when I find interesting
I have been using Compose.io to host my MongoDB database and quite often I need to test migration scripts against a clone of a database.
Getting hired is a problem that many of us face at some point in our career. There are plenty of articles and discussions that focus on
There is a network related error that I stumble upon quite often. The weird thing is that this occurs in a non-corporate networks such as my
As a freelancer or owner of an agency one of the biggest decision on a weekly or monthly basis is who do you want to work
You're reading a monthly blog post with a listening suggestions. I listen to plenty of podcasts and thought people might be interested when I find interesting
Starting to develop Node applications on Windows is much easier than it used to be. Most of the problems I encounter these days are related to
I am far from being a petrol head, and even virtual driving doesn't resonate much. Colin McRae Rally 2.0 for PlayStation was an exception. Schoolmates
Around 40% of the npm users are using Windows. It is a big chunk but unfortunately, there has been long-running Windows specific issues that have caused
Running a Ghost blog as part of a website is a quite common scenario, and I was surprised when I encountered a problem when deploying to
The project I'm working on has a database per client architecture. The database is created when a client registers to the service. In the first phase,
There are many cases where Gulp plugins are not necessary and can cause more problems than real benefits. Let's take gulp-kss as an example. It is
We (digital services providers) use a lot of different kind subscription based services in our work. Managing service subscriptions, licenses and domains is still an unsolved
The consulting company X had decided that they need to update their brand as it was out-of-date and gave misleading impression about the company. The former
This is a part two of lodash series. Strings Objects Removing falsey values from object I asked from the community to share some lodash/underscore tips
It's been 1.5 years of freelancing and 4-day work weeks (30h / week). The original plan was to use the fifth day for non-billable work such
This is a part one of lodash series. Strings Objects lodash has a lot of hidden gems and by using them you can avoid copy-pasting untested
What things you should consider when planning to self-publish a tech book? How to validate is there enough interest for the topic? Very inspiring discussion with
I had a pleasure to have a lunch with Mr. Tero Piirainen JavaScript expert extraordinaire. He has written popular JavaScript libraries such as RiotJS, HeadJS and
Last year was my first full year as a freelancer. In this post I'm going to share with you what kind of costs I had during
Self-deception is a process of denying or rationalizing away the relevance, significance, or importance of opposing evidence and logical argument. Once in a cafe I was
The Web development and it's tools, libraries and best practices are constantly evolving and keeping yourself up-to-date is sometimes difficult. What I like to do is
We had a case where each customer would get their own sub-domain. Let's say Nokia would be one of the clients. They would get nokia.ourapp.
When you close Node application on Windows with Ctrl + C. You get a "Terminate batch job Y/N" question. The annoying part is that it doesn't
You have probably encountered a warning message saying: "npm WARN deprecated packageX: Use packageY instead, see {link to the repository/web-site}". This warning is displayed because