A milestone victory achieved in personal journey of software craftsmanship

After ~3 years of studying, building, learning and pushing forward every day I’ve decided that my knowledge has reached the level adequate for working in a professional development. I’ve started sending out my resume to local companies, and…

Read more
Doing some algorithm and data structure exercises the TDD way

I’ll be honest with you, I suck at algorithms and data structures. Trying to figure the proper approach is a difficult and brain-frying endeavor. And don’t get me started on the recursion, which makes everything 10x more challenging to…

Read more
A series of videos that I found useful.

I would like to start a collection of useful videos that I’ve found online. Although they are centered around Laravel, the ideas are easy to adopt in any other framework. Here goes the first batch! Matt Stauffer - Patterns that pay off…

Read more
Exploring Go by building a simple CLI app with some benchmark.

For a while I’ve been curious about Go and its relevance to Web development. I’ve heard a lot of good things about the performance, its rich standard library and how it has become a first language for many PHP and Node developers. So let’s…

Read more
Spacing utility inspired by Tailwind CSS.

In Tailwind CSS there is an amazing utility for adding padding and margin which makes spatial positioning of element a joy. While working with Bulma I’ve started to miss previously provided handy functionality. This snippet should remedy…

Read more
Using a materialized view to speedup queries in PostgreSQL and MySQL.

For example there is a dashboard for a fictitious logistics company, they have a multitude of workers, each frequently visiting the website. But there is a problem. The summary page that is found on the / route needs to execute a heavy…

Read more
How to generate MD5 hashes for all images inside of a browser.

One day I stumbled upon an interesting question: “How to generate a list of hashes for all the page images inside the browser?“. It got me intrigued about how versatile JavaScript actually is. Thus here are the result of that endeavor…

Read more
How to modify and use a service worker inside create react app.

When doing a recent project I decided to add offline capabilities. This was a dictionary app that relied on internet connectivity, and each new request was expensive time-wise. Luckily Create React App comes with an already configured…

Read more
How to setup a docker-compose file to develop a laravel application.

Docker can be a good replacement for Homestead and Valet when developing a project that needs to be shared with developers working on different operating systems (Linux, Windows, MacOS) and having special requirements not covered by…

Read more
How I've built and published my first vscode extension.

Building an extension at first seemed like a daunting task. There are so many new things to consider: Tooling, Testing, API, CI, CD and so on. And last but not least, what extension idea to realize. There are already so many amazing…

Read more
Higher-order functions in Haskell.

Higher-order functions allow common programming patterns to be encapsulated as functions. Basic Concepts A function that takes a function as an argument or returns a function as a result is called a higher-order function. Because the term…

Read more
Recursive functions in Haskell.

In Haskell recursion serves as the basic mechanism for looping. Basic Concepts It is possible to define a function which can call itself. This is the basic principle behind recursion. Same for the multiplication function, which can be…

Read more
List comprehensions in Haskell.

List comprehensions allow defining of many functions on lists in a simple way. Basic Concepts In mathematics, the comprehension notation can be used to construct new sets from existing sets. For example, the comprehension {x² | x ∈ {1..…

Read more
Defining functions in Haskell.

Going from conditional expressions and guarded equations to pattern matching, lambda expressions, and operator sections. Conditional Expressions As in most programming languages, Haskell supports conditional expression, which also can be…

Read more
Types, functions and classes in Haskell.

Code examples are adapted from Introduction to Functional Programming course. Access to GHCi is available on repl.it to test out these snippets online. Types Evaluating an expression e. Every valid expression has a type, which is calculated…

Read more
Basics in Haskell.

The code samples are adapted from Introduction to Functional Programming course. Best way to try these out is with repl.it where GHCi is easily accessible.

Read more
Roles of introspection and proper attitude in learning.

I’m sure everyone had the moment of clear realization that “I’m bad at this”, “it is too hard” and it would be much better and easier to quit now before too long. The awesome thing about these thoughts is that they act like road signs, and…

Read more
Adopting a new language as a medium to learn functional programming.

For a while now I wanted to dive into Functional Programming to properly learn how to use functional-lite concepts in JavaScript. It took me some time to window shop for a language that I was satisfied with. The main criteria for me were…

Read more
Why choosing proper tools for the job is important.

Initially, I’ve built this website with TypeScript. During development, I neglected to follow the TDD methodology. Didn’t do a thorough research of the eco-system. Had no solid goal of what should be the end-product. And in the end, had to…

Read more
The most important skill of 21st century.

What could be considered the most important skill nowadays? Of course, it depends on the line of work one does. Yet we hear a lot about the importance of so-called soft skills. That math or algorithms or logic is important. It’s clear that…

Read more
How community made software opens up new possibilities.

This website would not exist without open-source software. Many applications that are popular would not exist without open-source software. And even some jobs would be impossible without open-source software. So I guess OSS is quite…

Read more