Posts
-
Is it better to burn out than fade away - tales from boredom
We are all human. No amount of professionalism and specialization can change that. We feel human things and sometimes those things become disorders. Although I really like my work, weirdly enough, my biggest obstacle has been dealing with boredom. Find out my insights and avoidance strategies in combatting boreout syndrome, the lesser-known sibling of burnout.
-
Code reviews are more important than programming - and other tips and motivations for code reviews
Why should we do code reviews? What makes code reviews even more important than programming? Why and how to shift-left code reviews? This blog post will give answers to these questions and go deeper into the world of code reviews. In the end, there will be also some tips on why code reviews should be small, and why you shouldn't comment too much on code reviews.
-
Spice up your JavaScript with curry
Functional programming comes with a plethora of jargon. Let us delve deeper into the technique called currying.
-
Can you keep a secret? Using Themis on native mobile development.
Building a mobile application that keeps secrets (API, tokens, certificates, server URLs) safe is hard. In this post, we share a strategy to create an app that uses Themis as a safeguard against deobfuscation and binary deconstruction exploits to flood our backend.
-
Docker on WSL2 without Docker Desktop
After January 31, 2022, Docker Desktop will require a paid subscription. Here you can find instructions for running Docker on WSL2 under Windows without Docker Desktop (target distributions being Debian & Ubuntu).
-
The DevDay of Solita - See the pictures!
The DevDay of Solita is something many people wait eagerly for each year. What kind of event it is and why on Earth people are willing to travel even from Oulu to spend a day and night together with colleagues in Sappee. Let's find out!
-
GitHub Copilot - let AI write your code?
Using tools to increase effectiveness has been a long-standing trend in the software development community. Latest wave comes in form of GPT-3, OpenAI, and ultimately GitHub Copilot. Let's try to answer the question: Can AI write your code?
-
Do's and Dont's of Dev Academy Pre-assignments
The fall 2021 Solita Dev Academy applicants were required to submit a pre-assignment as part of the recruitment process. We were part of the team reviewing the pre-assignments and wanted to share some insights gained from the experience.
-
Am I you or someone else or nobody - Probabilistic entity linking
Even as the world is more and more digital there still are analog parts where there is no identifier for an entity. This causes the need to somehow identify if a certain piece of data is the same as another instance of that data. In this blog, I'm going to demonstrate how to do probabilistic entity matching and the performance aspects of that process.
-
Software Engineering and everything related - Software and Project as systems
Have you ever wondered why a change to software produces unexpected results? Taking a system theory flavored view might help software developers. Read on to find out more!
-
Grokking Clojure transducers
What are transducers and why should I care? Here's an attempt to answer that question.
-
Rudiments of Data Wrangling in Rust
The Rust programming language is typically positioned for systems programming, but there is nothing stopping us from enjoying it for basic data wrangling tasks like those often done in Python.
-
Devs be like
Is the (work) life of a developer just coding? Do we all spend our free time exploring new programming languages or other related stuff?
-
Type Phantoms and Safe APIs
Writing both frontend and backend of a web application in TypeScript allows using common model type definitions in both. Let's explore one technique to make the API calls type-safe as well.
-
Why avoid an ORM
I happened to discourage using an ORM in our company internal Slack, and suddenly found myself needing to explain some problems common in ORMs. I got a little bit carried away, and the explanation turned into this blog post.
-
I challenged low-code with code
Low-code platforms will account for 65% of application development by 2024. Why? Can the low-code productivity gains be challenged with traditional coding? In this blog, I'm going to try to find out.
-
Locust makes performance testing easy
Locust is a load testing tool where user behavior is defined with Python code. This blog post gives you a few hints on how and why to use Locust.
-
Automatically generated API tests with Clojure and Reitit
Is your entire API tested? Maybe you should test that.
-
Watch your dependencies (dependency confusion and other attacks)
Do you know how exactly your build tool resolves your dependencies? Are you sure? Dependency confusion is yet another subtle attack that can hit you if you are not careful, but it's definitely not the only one.
-
Generalist Specialization and The Impostor Syndrome
Impostor syndrome is a common visitor in our profession. We are often in charge of shaping the world of the future, while boldly going to new, unknown areas. In this article I'll touch on what is impostor syndrome, how to recognize it, what to do about it, and how it relates to being a generalist.