Computer Science

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

Rooting Nokia 3.2, European version

I recently bought a Nokia 3.2 phone with the sole intention of rooting it so that I could play around with it. The phone was just around 70e on Amazon and comes with Snapdragon, so it was an obvious choice. However, I learned quickly after receiving it that the guides online for rooting Nokia 3.2 were terrible. So I compiled a tutorial here explaining how I rooted the phone. This should work with mostly any Android phone, and in fact you can root whichever firmware version of your Nokia 3.2 00EEA with this method. Android 9 or 10, doesn't matter, this one will work for sure. 😎

(more…)
A laptop with vpn

A VPN is a nice tool for securing your internet connection and changing your virtual geographic location. VPNs are useful especially if you are using a public WIFI in a hotel or an airport, visiting a country with not so free internet such as China or doing activities that might get you into a trouble due to the political climate in your country. Now, some VPN providers offer an internet killswitch as a part of their Windows app. And sometimes this option will literally kill your internet for good. 😅

(more…)
Poetry and a cup of coffee

Poetry is a complex genre of literature, and it is often something that we wouldn't expect computers to be able to understand. Poems play with the language by intentionally breaking its structure and by expressing meaning in figurative language such as metaphors. A lot of the expressive power of poetry lies in its ability of provoking certain imagery, certain emotions, in the reader. 😌 As it turns out, it is possible to analyze Finnish poetry automatically in Python. 😃

(more…)
The amazing murre Python library

When we Finns write online or message with friends and family, we hardly ever resort to using standard written Finnish (kirjakieli). Instead, we write as we would speak (in puhekieli), as using the standardized spelling would make our communication sound a bit too official. Now, for computers, this is quite a challenge, as most of the datasets used for NLP tools represent well curated normative text. 🤯 Luckily, as always, there's a solution for processing spoken Finnish text in Python. ☺️

(more…)
text saying you got this

Turku dependency parsers, both the statistical and neural ones, are no doubt among the most important recent NLP tools developed for Finnish. Without them, doing NLP for Finnish would be extremely difficult. This posts explains how to use them easily to parse Finnish from your Python code. 🐍

(more…)
make games in Python with Unity

Python is a great programming language due to a multitude of reasons such as a long list of libraries ready to solve almost any problem you might encounter. For me, however, the biggest reason to prefer coding in Python with Unity over C# is that I simply don't have to type as much; no type declarations, semicolons or curly brackets, not to mention return types, scopes and so on… 😴

Yet, online I can only find outdated guides or worse yet "why don't you just learn C#, it's easy and blah blah" comments. 😫 But I like Python. 🥺Therefore, this post teaches you how to use IronPython with Unity. Just remember that IronPython only supports Python 2.

(more…)
How to install VISL CG3 on Mac, Windows and Linux

VISL CG3 is a neat tool for running constraint grammars (CGs) for things such as morphological disambiguation or syntactic parsing. Grammars of this formalism have been developed for a great many endangered Uralic languages boosting their NLP. And these CGs are actually easily available in UralicNLP for Python programmers.

Even for UralicNLP, a tool called vislcg3 needs to be installed on your machine, and it might be a tricky task if you cannot find the correct binaries for your operating system. Therefore I tailored this guide.

(more…)
How to use Omorfi for Finnish morphology

Omorfi is inarguably an amazing tool for processing Finnish morphology both in analysis and generation. However, using it might be quite a challenge for the users who are not too (H)FST savvy. 😅That is one of the motivations for my UralicNLP library the purpose of which is to provide an easy Python interface for a multitude NLP tools for Uralic languages. (more…)
Korp and Python. Access corpora from your Python code!

If you have done language technology in a Nordic country, you have probably heard about Korp. And by now, you have probably developed some sort of a love-hate relationship to it. My initial thought was: Korp is nice, but so what 🤷🏼‍♂️, I need to access it programmatically for it to serve any use. The fact that the API description is somewhat hidden online and that not all Korp services are open about the url of their API doesn't really help at all. 😩

Luckily, once again, yours truly has been typing in some code to make your life easier. 🤓 Behold, my very own python library for querying Korp. 😊 (more…)

Cognitive modelling - bringing computers closer to human brains

Cognitive science's gift to the artificial intelligence development is, by no doubt, cognitive modelling. In short, cognitive modelling is about coming up with some sort of a mathematical or computational model of how the brain operates. These models can then be used in various AI tasks to solve issues the human brain excels at. In this post we will go through three different ways to do cognitive modelling. 😊 (more…)