Aikataulu – Linux palvelimet ict4tn021-3003 – alkusyksy 2018 – 5 op


Moved: current course page is Aikataulu – Linux palvelimet ict4tn021-3003 – to 8-14 – alkusyksy 2018p1 – 5 op
Tero’s Linux Course is ict4tn021-3003. I will only give one beginner course on Linux in the Autumn, because penetration testing, configuration management and other advanced courses take most of my time.

Learn to manage your own Linux server – in 8 weeks. Beginners welcome. Student feedback excellent 4.8 out of 5. Course is in Finnish.
Moved: current course page is Aikataulu – Linux palvelimet ict4tn021-3003 – to 8-14 – alkusyksy 2018p1 – 5 op
Continue reading

Posted in Uncategorized | Tagged , , , , , , , , | Comments Off on Aikataulu – Linux palvelimet ict4tn021-3003 – alkusyksy 2018 – 5 op

ViolentMonkey for User Scripts – Your Own JavaScript or CSS on Any Website

ViolentMonkey Firefox Addon allows you to run your own JavaScript and use your own styles on any website. It’s Free software (MIT license) and source code is available.
My fix for Moodle sorrow borders works with ViolentMonkey. It seems that my old GreaseMonkey scripts don’t work on GreaseMonkey, but they do work on ViolentMonkey.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , | Comments Off on ViolentMonkey for User Scripts – Your Own JavaScript or CSS on Any Website

NoReload Heroes on Nintendo Switch – New Distribution Agreement for StupidStupidGames

My former students got a Nintendo Switch distribution agreement (press release in Polish). Congratulations Suvi, Jussi, Eelis and the whole StupidStupidGames!
I can still remember when you published your first beta on my innovation course in 2013 and your first Steam release in 2016.

Read the story of NoReload Heroes.

Posted in Uncategorized | Tagged , , , , , | Comments Off on NoReload Heroes on Nintendo Switch – New Distribution Agreement for StupidStupidGames

Plenary Speaker and Program Chair in ICIM2018, Oxford

My invited speech in ICIM 2017, Chengdu, China.


If you are coming to ICIM2018 conference in Oxford, come to say hi. They kindly invited me as a plenary speaker and program chair.
4th International Conference on Information Management (ICIM2018) will be in Oxford, UK, from May 25th to 28th.

Posted in Uncategorized | Tagged , , , , , , , , | Comments Off on Plenary Speaker and Program Chair in ICIM2018, Oxford

Make a Million of Those – Jinja Templating Salt States

Do you need a 50 users and Apache name based virtual hosts for each? If you use salt, you can use loops and variables with Jinja templates on your states. This short example configuration creates three text files with different contents, using a loop and variable.
Templates write states in a concise way. Abstracting away repetition also reduces typing errors. DRY – don’t repeat yourself.

Prerequisites: master-slave salt and salt states.
Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , , , , | Comments Off on Make a Million of Those – Jinja Templating Salt States

Name Based Virtual Hosts on Apache – Multiple Websites to Single IP Address

Usually, you have a single IP adress and many websites to hosts. With Apache, you can have many domain names (terokarvinen.com, botbook.com…) on a single IP address (109.74.201.133).
Here is a brief list of commands and configuration files for name based virtual hosting. Prerequisites: command line interface, Apache basics.
Continue reading

Posted in Uncategorized | Tagged , , | Comments Off on Name Based Virtual Hosts on Apache – Multiple Websites to Single IP Address

Windows Installer Cheatsheet – Install Hundreds of Programs Automatically – Silent Installer Flags

Windows lacks package management. But you can install Windows applications silently, with a single command. And this cheatsheet tells you the command.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , , , | Comments Off on Windows Installer Cheatsheet – Install Hundreds of Programs Automatically – Silent Installer Flags

Save Checkbox State to LocalStorage – JavaScript and JQuery Example

You can save your JavaScript variables to browser localStorage. They are saved in the client’s web browser until user decides to “Clear recent history”.
Live demo allows you to see how the checkbox state is saved – even if you reload the page or close your browser.
Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , | Comments Off on Save Checkbox State to LocalStorage – JavaScript and JQuery Example

MySQL Automatic Install with Salt – Preseed Database Root Password

MySQL is probably the most popular multi-user database in the world*. It’s part of the most popular web development stack, LAMP (Linux Apache MySQL PHP).
This article shows a Salt state to automatically install MySQL on Ubuntu.
As the package installation strangely asks for database root password interactively, we must answer the question before installing mysql-server. We use preseed to answer the questions beforehand.
Following this article requires Salt installation and understanding states.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , | Comments Off on MySQL Automatic Install with Salt – Preseed Database Root Password

Send a Message to Logged in Users – wall, xwrited

You can send a message to logged in Linux users with ‘wall’ (write all). In the unlikely event you want to send a popup message to desktop user, it’s possible with xwrited and some setup.
Users actually want to work with their computers, so you shouldn’t send them useless messages.

$ echo "Backup batteries will run out in 10 minutes"|wall

Continue reading

Posted in Uncategorized | Tagged , , , , , , | Comments Off on Send a Message to Logged in Users – wall, xwrited