I was born in the late 1980s in Finland, where I've spent most of my life. I've had fascination with computers since I've been a grade-schooler and always had a keen interest in what I can create myself.
Through my childhood I was always curious about games that came with different kinds of level editors that allowed to me express my own ideas. My own skills came into fruition through complex editors in games like Starcraft and later through simple creation tools like Visual Pinball and Game Maker.
In addition to creating things, I also wanted to share them with others which made shift into web development quite intuitive. I created my first web pages using simple HTML in 2000 and was making simple dynamic pages using PHP by the end of 2001.
Ever since, my focus has mostly been in PHP and always developing my understanding of programming through it. Over the years I've gained quite vast amount of knowledge particularly on issues regarding backend development like security and web protocols. I've always been looking into developing my knowledge and quality of my code.
During my career I've worked in different kinds of projects. I've had experience working in a consultancy company, public sector and a product company. My professional programming language has always been PHP and the major focus of my development has been backend development and focusing on modernizing legacy projects.
In my professional work I like to focus on quality of the code I produce and the security of the systems I develop. While I'm no expert on cryptography, I've become quite familiar with various security issues regarding web development and have developed intuitive sense into how to write secure applications.
As I've worked with various kinds of legacy systems, I've become better at recognizing code quality issues and taken interest into many different tools for automating code quality checks in projects. I regularly use tools like automated test suites, code linting tools and static analysis tools even in my personal projects and I'm happy to help adopting them into work flows in professional environments.
I've created plenty of projects as curiosities, hobbies and learning projects. Most of these are no longer available on the web. However, here are some of the projects that are still visible.
Cookie Clicker Optimizer
The Cookie Clicker Optimizer was a tool for optimizing the play of "Cookie Clicker" game. Originally I created the tool to help myself, but quite a lot of other people found it useful over time. Nowadays the website is mostly visited for the easy to use clicking speed test.
Sudoku Solver & Generator
I was never really interested in sudoku puzzles all that much, but when they become more popular I got a bit curious about how to solve the programmatically. This project became quite interesting from the point of view of optimizing PHP code as some of the solving algorithms are quite intensive and not all that suitable for PHP workloads.
Regular Expression Tool
This tool was created because I needed a better way to debug regular expressions and there weren't a lot of good options available on the web back then. These days there are plenty of good alternatives, but this is still a tool I use occasionally if I need to verify something about regular expressions.
I've always been quite passionate about open source code as I believe in enabling others to do great things. My biggest contributions to open source are the PHP libraries that I maintain and develop. Occasionally, I might also contribute to other projects I've found useful in the form of issue reports and minor pull requests.
Here is are examples of some projects where I've made such small contributions:
- PHP CS Fixer - Automated PHP code analysis and linting tool
- PHP Code Sniffer - Automated PHP code style checking tool
- Psalm - PHP static analysis tool
- Matomo - Open source PHP analytics tool
Activism & Advocacy
In addition to my programming work, I tend to advocate and push several issues when it comes to information technology and human rights. While I don't have a huge amount of experience in talking in public about matters relating to information technology, the topics I'm concerned in are privacy, security and consumer rights. Professionally, I also view matters of code quality quite important, but it's not really a topic that concerns the general public that much.
On human rights issues, however, I have far longer experience in speaking and organizing activities. In particular, I've volunteered with LGBT organizations for years and have helped with educating professionals especially in the health care industry about the needs and experiences of LGBT populace. Additionally, I've also helped quite extensively with organizing various support groups for LGBT people.