Computer Science

Read here posts related to computer science. This is not limited to pure science but also includes other things related to technology.

a pen and a syntactic tree

If you are interested in generating Finnish with a computer (NLG), you have probably already run into the problem of the complex morphology and syntax of Finnish. In addition to knowing how to inflect words, you have to take agreement into account. That for example, the verb agrees with the subject’s number and person: minä syön, sinä syöt and so on. And there’s more: case governance has to be solved too. A verb takes its direct object in a certain case, for example, you would say uneksin autosta but näen auton. Such is the problem of natural language generation. 🤷🏼‍♂️

You are in luck, I have resolved this issue and created a kick-ass python library called syntax maker. Just for you, my friend, free to use.  Are you ready to unleash the power of NLG? 😊😊 (more…)

lights looking like abstract curves

Whenever I have to setup a virtual machine on VirtualBox that has a web service running, I start scratching my head. 😅 Especially if I need to connect to it from the host, let alone other virtual machines. And frankly, I am so done with googling it up every time. So now, to remind my future self and to tell you how it’s done, I will walk us through it. 😃 (more…)

A notebook with mockups

Making an interface is a time consuming task. Hardly any framework makes it as easy as they promise. And sometimes you just need to prototype an idea to see if it really works. That’s when different ways of prototyping come in handy. 😊 (more…)

A green python ready to use HFST :-D

HFST (Helsinki Finite-State Transducer Technology) is a neat tool for modelling morphology of languages in a computational way. The problem is that currently, the Python API is under-documented. But fear not, in this post you will learn how to load optimised lookup files in Python and use them to analyse and generate word forms. 😃
(more…)

A big city seen from a tall building

When making software, one will automatically want to believe in the result being useful. Why wouldn’t it be? After all, the software product is built to solve a task, so it should be useful for the task, right? This is not necessarily the case. Nielsen defines usefulness of software by two key terms: utility and usability. In this post, I am going to walk you through these concepts. 🚶🏼 (more…)

A new message on a phone screen

The biggest misconception about usability is that you would always need to have real test users to improve the user experience. There are however more economical ways to make improvements into your application’s user interface. Today we are going to take a look at workload and missing information content. (more…)

Force Android to switch to mobile internet on weak WiFi

My new phone has an awesome WiFi modem. 📡 The problem is that it’s a bit too good for it’s own sake. Whenever I walk away from my home, I will be offline for up to 50 meters from my place. This is because my Android phone is still connected to my home WiFi, but the signal is too weak to provide any internet access.

Luckily, the issue of your phone staying connected to a weak WiFi is extremely easy to solve. 😊 (more…)

Super Mario toy celebrating

Lately, I have put much thought into usability in video games. Back in the days, we were used to games being not-so-user-firendly. Such as Super Mario, a platformer that doesn’t let you save is just as usable as Microsoft Word without save feature. Of course, if you could save your progress anytime in Super Mario, it would be as usable as Word when it comes to saving, but it would take a part of the game out. It would become too easy if you never had to start from the beginning after dying. Therefore, there’s a tradeoff! 🤔 (more…)