Master of Engineering (Software, 2013)
Bachelor of Engineering (Software, 2007)
Software Engineer at Swappie (01/2020 --)
Tmi Tomi Tuhkanen (Sole Proprietorship) (05/2012 --)
What is considered a good looking web page changes way too fast, so better to have a simple page that always looks ugly.
I shamelessly copy the style from the masters ;) (e.g. Knuth, McCarthy, Norvig)
Run C# scripts with .NET Core
Use dotnet script to run C# scripts with .NET Core. Compare script and execution with JS, Python and Kotlin implementations.
Tutorials / Educationals
Patterns & Principles
Code examples for Patterns and Principles - are these important anymore? training. Has also OOP vs functional examples.
Different implementations of a small React app (plain, container components and Redux).
MeWare, some are now ThemWare and some UsWare. Some are old, some older and some newish. Some are still in active development.
Sources can be found from GitHub and pre-2010 projects are in rar-archives.
GitHub PR Statistics
Create statistics of most active GitHub users using pull request count.
Lego Boost AI
AI and manual control for Lego Boost robots.
Fake JSON Server
Fake REST API for prototyping or as a CRUD backend.
RuuviTag Sensor Python Package
Python library for communicating with RuuviTag BLE Sensor Beacon and for decoding sensor data from broadcasted eddystone-url.
BotKit Slack Bot for office use.
Raspberry Pi & Mono
C#, Mono, NancyFx, OWIN, AngularJS, SignalR, ZeroMQ, ProtoBuf, Redis, Raspberry# IO
Controlling Raspberry GPIO and testing Mono with Raspbian and RaspberryPI.
App Engine Web Application
Python, HTML, Google App Engine, Visual Studio, oAuth
Debuggable Visual Studio Python project for a web app running on the Google App Engine.
Python, HTML5, jQuery
Create read-only wiki from text files.
Python, Django, MySQL
RSS reader, news rating.
jQuery, Windows Phone, PHP, MySQL
Match rating web site and Windows Phone application.
Compares user agent to bot list and logs IP.
Show statistics of own email account. Supports Gmail and IMAP.
My first attempt to learn game programming. Simple shoot incoming missiles game.
Widget that shows current uptime on desktop.
Youtube to embedded flash
Transforms youtube page to embedded flash video. If youtube's web site is blocked, this should still work.
C#, WCF, ASP.NET
Shows hourly count of inbound and outbound flights from Helsinki Vantaa airport.
C#, XML, Excel
User has to write correct translation for shown word.
Collects links from selected channel to xml file.
Eternity II solver
Uses brute force to solve Eternity II puzzle (surprisingly not very succesful).
C#, ASP.NET, Regex
Creates web page from selected code file.
Lines of Code
Counts physical lines of code from .cs and .vb files from given directory and its subdirectories.
Compares given numbers to this weeks correct numbers.
Replace Windows Task Manager with this
Good text editor for windows
Good enough free image editor
Because Windows is missing apt-get
Text-based web browser
Visual Studio extensions
Do a favour to your fellow developer and keep your code clean.