Money Moving with Odoo, the Open Source ERP

I bought some candy from Odoo ERP based web shop.

Update: they now have PayPal integration, too.

My students Emre Olgun, Roni Selander and Konsta Vaarala are running Odoo, the open source ERP. Enterprise Resource Planning (ERP) is a single system to control everything on the business side of a company, from sales to HR.

If you know Finnish, read more on OpenSourceERP2018.wordpress.com blog. They have both technical and business related articles.

Posted in Uncategorized | Tagged , , , , , , , , | Leave a comment

Simple Secrets in Salt Pillars

This is a simple example for storing secrets in Salt Pillars. If you have a hundred slaves machines, you don’t need to trust them all.

Following this tutorial requires working salt master-slave installation and salt states.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , | Leave a comment

Configure a Live USB in Two (2) Commands – terokarvinen/sirotin

You boot a computer form your USB stick and give two commands. It’s configured.

Install your programs, your settings, your configuration – automatically. Start from Sirotin, fork it, make it your own.

wget https://raw.githubusercontent.com/terokarvinen/sirotin/master/run.sh
bash run.sh
 

Fork me on GitHub: terokarvinen/sirotin.

Posted in Uncategorized | Tagged , , , , , , , , , | Leave a comment

Secrets in Salt Pillars – SSH Port Change

Salt helps you configure 1, 10, 100 or more computers. Secrets, such as encryption keys, must be given to authorized slaves only. In Salt, secrets are kept in pillars.

If you are just starting with pillars, do pillars tutorial first. This short listing of configuration files and commands is meant for people who already know salt. If you’re just getting started, see salt master-slave installation and salt states.



Continue reading

Posted in Uncategorized | Tagged , , , , , | Leave a comment

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 , , , , , , , , | Leave a comment

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 , , , , , , , | Leave a comment

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 , , , , , | Leave a comment

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 , , , , , , , , | Leave a comment

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 , , , , , , , , , , , , , , | Leave a comment

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 , , | Leave a comment

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

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 , , , , , , , , , , | Leave a comment

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 , , , , , , , , , | Leave a comment

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 , , , , , , | Leave a comment

Remotely Unlock Screensaver on Xubuntu Linux – sudo loginctl unlock-sessions

To unlock a locked Xubuntu Linux workstation, you can use ‘sudo loginctl unlock-sessions’ and alt-ctrl-F7. This command works over SSH and over Salt, but obviously it requires root access to target computer.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , | Leave a comment

Shorter Salt Ouput with –state-output terse

To get shorter output when configuring slaves with salt, use

$ sudo salt '*' state.highstate --state-output terse

If you’re just getting started, you should install salt first. To get even cleaner output, you can get rid of useless warning.

Posted in Uncategorized | Tagged , , , , , , | Leave a comment

Apache User Homepages Automatically – Salt Package-File-Service Example

These are example daemon configuration files for salt. Package-file-service is the most common way to configure daemons.

If you’re new, start with salt master-slave installation and a commented example of SSH Server install.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , , , | Leave a comment

Pkg-File-Service – Control Daemons with Salt – Change SSH Server Port

You can control a huge number of daemons with a configuration management system. Package-file-service is the common pattern for this: install the software, replace a configuration file and finally restart the daemon to use the new configuration.

This article shows a simple Salt state to change SSH server port.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , , , | Leave a comment

Quick Fix for Useless Salt Warning – Add “file_ignore_glob: []” to /etc/salt/master

Some versions of Salt give you a useless warning on every run. The problem is easy to fix.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , | Leave a comment

Run Salt SLS File Locally – sudo salt-call –local state.apply foo

What if I just want to run a single SLS file (salt state) once?

Save your state to /srv/salt/foo.sls and apply it

$ sudo salt-call --local state.apply foo

This masterless setup is just for quick testing. In production, you would use salt master-slave architecture.

Posted in Uncategorized | Tagged , , , , , , | Leave a comment

Salt States – I Want My Computers Like This

Describe how you’d like your computers, and Salt will configure them. For example, I want Apache web server, with PHP and user homepages, on all my computers whose name starts with ‘web’.

To say the same in jargon: write your infrastructure as code, so that configuration management system, the single source of thruth, applies your states idempotently.

Continue reading

Posted in Uncategorized | Leave a comment

Salt Quickstart – Salt Stack Master and Slave on Ubuntu Linux

You can control a thousand computers with Salt. And this is how you install Salt.

Slaves, the controlled computers, can be anywhere: behind an NAT, behind a firewall, on an unknown address. And still you can control them. Only the master server needs to have a public server and known address.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , , , , | Leave a comment

Aikataulu – Palvelinten hallinta ict4tn022 4-ti 5-ke 5 – loppukevät 2018 5p

Control 10 computers. Or 100. Or 1000. Just write what you want (idempotency). Control almost everything with one system (single source of truth). In plain text (infrastructure as code, versionable).

My current research area is configuration management systems: I gave an invited speech in IEEE ICIM, I’ve recently published a conference paper and gave some tailored teaching on this.

Course is finished, thank you all. Next configuration course is in the autumn 2018. And Penetration Testing course, too.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , , , , , , , , , , | 212 Comments

Arvioitava laboratorioharjoitus – Linux palvelimet ict4tn021-6 torstai – alkukevät 2018 – 5 op

This is the evaluated lab exercise for Linux Server Administration course, 50% of grade. Student had a Live USB stick and an empty computer, and he could use the public Internet. No other tools were allowed.

Student feedback was excellent: 4.8 out of five. Most common feedback was five out of five. Thank you!

Continue reading

Posted in Uncategorized | Tagged , , | 8 Comments

Arvioitava laboratorioharjoitus – Linux palvelimet ict4tn021-7 tiistai – alkukevät 2018 – 5 op

This is the evaluated lab exercise for Linux Server Administration course, 50% of grade. Student had a Live USB stick and an empty computer, and he could use the public Internet. No other tools were allowed.

Student feedback was excellent 4.5 out of 5. Thank you! Lowest feedback was 1 sufficient, but happily that was the only single feedback under 4 (very good). The most common feedback was 5 (excellent).

Continue reading

Posted in Uncategorized | 5 Comments
  • Recent Posts

  • Picks

  • Boxing Clock for AndroidOcton8 Diving T-ShirtsShaking Tower Panda Android GameLearn Chinese with Android
  • Student projects