Posts
-
Imperfection allowed - notes on reviving my dev career
Some developers manage a beautiful, steadily upward-sloping career trajectory. I didn't. Do you ever feel like that? Check out my tale of reviving the dev within after stalling professionally.
-
My first take on KMM - Kotlin Multiplatform Mobile
As for a first project and practice assignment at Solita, I've explored a new technology - KMM and created Dev Notary, a simple application that lets users create, modify and share notes between other users.
-
Edutainment with AI
During the spring of 2022 I had a chance to take part in the development of an exhibition item for Heureka, the Finnish science centre. The key idea was to use an image recognition AI model and build a small iOS game application around it. In this post, I will share some notes about the process and details of implementing this app.
-
Writing Immutable JavaScript in 2022
JavaScript was not built for immutability, yet the concept has become more popular in recent years. How can we do it without cooking spaghetti?
-
Reinforcement Learning With Deepracer
Machine Learning is a wide field, and Reinforcement Learning is a very interesting part of it. I chose to learn something new by starting to train a Deepracer car to autonomously drive around a track, as fast as possible. This blog tells how I got started with AWS Deepracer, and what I learned about reinforcement learning.
-
Embedding Google Fonts for better Privacy and GDPR conformance
Regional court in Munich, Germany recently ruled Google Fonts as non-GDPR compliant due to the serving mechanism. This does pose a minor challenge, how does one embed webfonts to stay GDPR compliant?
-
Running Clojure programs on constrained memory
How much main memory is required to run a web service written in Clojure? Does choosing a dynamic, JVM based language for side projects require a hefty personal IT budget? How to find out if your Clojure program is close to running out of memory?
-
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?