Few days ago I replaced a broken disk in my home server's RAID1 array. So it now has two active disks again. But I started to think that why wouldn't I add one more, now that I have also one spare disk.
I have a server at home for providing LAN and working as a backup proxy server. It is using RAID1 (software RAID by mdadm) configuration with two disks. Last week the second disk died and started making annoying sound (bad bearing tells my hearing).
Switching was easy once I got a disk with identical size. A bigger disk would have been ok, the excess disk space just would have been left unused. But with a smaller disk, I would have had to first copy data from the last active disk to a new smaller disk and then build a new RAID1 array and finally copy data back. Luckily I didn't have to go that route.
I like mysteries and puzzles. They provide solid, exciting and interesting base for movies, books and recreational activities. And, at least in the software industry, they can be used in recruitment prescreening and/or candidate selection. This was also the case in Synopsys Pesti Challenge 2016, which I stumbled upon when reading backlogs Geek Collision's IRC channel. The challenge was part of the Pesti Career Day, a networking event aimed at the students of University of Oulu.
In the previous post I wrote about how and
why I changed the engine behind my website to Nikola. There was just one thing which got lost in
migration: support for ASCII Box reStructuredText compiler
extension, which provides
asciibox reStructuredText directive. With
asciibox directive, one can compose ASCII text diagrams which then get
rendered as images by reStructuredText compiler.
Website re-powered by Nikola
I switched the engine behind http://tjjr.fi, to a simple but featureful static
site generator, Nikola. Previously, my website was
generated with a simple homebrew script which basically just glued together
Jinja2, Docutils and
rsync. It was really simple and
worked well in my modest usage scenarios: only handful of pages, irregular
updates, no commenting, no galleries and no archives. But now requirements have
changed since I'm planning to start blogging regularly.
Below you can find a list of (highly subjective) reasons why I chose Nikola. And because of its highly subjective nature, this post must not be considered as a testimony of Nikola's superiority over its rivals. Chances are that it might not be the best tool for you. This post is only about why Nikola works for me.
Install KVM guest on LVM-managed host with libvirt
Goal: use logical volumes on a KVM host as virtual disks on KVM guests. The key in achieving the goal is to define a logical volume pool and then let libvirtd allocate virtual volumes for guests from that pool. The logical volume pool will be backed up by a LVM logical volume group.
I wrote a simple report mining tool, Klupu, designed to extract and visualize data from meeting minutes of various governing bodies of city of Jyväskylä. Klupu is a Finnish word for flail; a tool used for separating grains from husks. Grains of knowledge, in this case.
Simple mailing list with Exim4
Even though installing and configuring a full-fledged mailing list software, such as Mailman, is not a very difficult task to do, for really simple use-cases one can get a away with by just adding an email alias and tweaking few settings of the MTA. This post shows how I did it with Exim4.
Stipe: Text Input Method for Dual-Joystick Game Controllers
This thesis was submitted to University of Jyväskylä, Faculty of Information Technology, as a partial fulfillment of the requirements for the degree of Master of Science.
The thesis is written in Finnish, but the abstract and the title is published also in English.
Currently, text input methods for game consoles are mainly virtual selection keyboards. Unfortunately, they are slow and unpleasant to use. Gesture-based methods show promises of significant improvements, but still, they might not be fast enough to satisfy the requirements of modern text entry tasks. In this study, a new gesture-based text input method for dual-joystick game controllers is introduced. It's called Stipe. Stipe was implemented as a Linux keyboard driver which interprets joystick gestures as keyboard events. Also a long-term usability study was conducted for evaluating the typing speed potential of Stipe. Subjects used Stipe for as long as 44 hours. They reached over 40 wpm typing speed. The results of the usability study show, that Stipe has quite high typing speed potential, but mastering a fluent Stiping skill is comparatively slow process.
text input, text entry, game controller, gamepad, joystick, thumbstick, analog stick, gesture, unistroke, recognition
The full version of the thesis is available at Jyväskylä University Digital Archive.
Software Transactional Memory
This short paper was submitted to University of Jyväskylä, Faculty of Information Technology, as a partial fulfillment of the requirements for the functional programming course (Funktio-ohjelmointi 2).
The paper is written in Finnish, but the abstract and the title is published also in English.
Thread synchronization with locks is cumbersome and error-prone. Furthermore, lock-based implementations are not modular. While multicore processors keep penetrating user markets, programmers have to find better methods to harness the benefits and manage the complexity of multithreading in applications. In this paper, I'll give a glance at one solution for these new challenges, namely Software Transactional Memory.