Creating Legacy Boot Xubuntu USB – UnetBootin and bootable FAT32 partition

Xubuntu Linux can boot from USB disks, even without installing to hard drive. It supports both BIOS and UEFI boot.

For most USB sticks, you can just use UnetBootin after taking the USB from the package.

Continue reading

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

Faster ‘vagrant up’ with apt/deb Package Proxy

Create virtual machines faster by caching deb packages.

Use squid-deb-proxy on host OS, then add an apt.conf.d/ config file to make guest OS apt-get use your proxy.

Following these notes requires fluency with command line, sudo, daemons and vagrant.

Continue reading

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

200 Lines of Code Saves 20 000 EUR

My student Joram Puumala wrote a program to automatically configure routers.

The CEO of NDC Networks, Markus Ahonen: “NDC is expecting to deliver over 5000 routers during 2018, so the calculable savings in direct effort are significant. Especially as handling this amount of routers would require a new part time hire, leading to additional costs upward of 20 000 EUR/year.”

The news is also on Haaga-Helia front page (in Finnish). Thesis available in Theseus and GitHub.

Would you like to read the 201 lines of code?

Continue reading

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

Naughty Questions and Easy Way to Forest – Apps for Android

Hurt your leg, baby in the cart and you still want to go walking in the woods? Moving with a wheelchair? Old? If you are based in Helsinki, check out HelpostiLuontoon.fi.

My students Jenni Saarinen, Elina Rajuvaaara and Kristina Lindfors have created a map and an app that shows curated routes for those who move slowly. Check out Helposti Luontoon app in Google Play.

Have a drink if you have sent naughty pictures. And download Boing Drinking Game App if you want to play a drinking game.

These two apps were the first ones to get paying customers on DigiStartUp course. I’m teaching it with Taru Parikka and Teemu Ruohonen.

Posted in Uncategorized | Leave a comment

Configuration Management Course Awards 2017: Most slaves: Tommi, most OSes: Matias

Tommi Timonen had the most slaves, a total of 1478 computers. He had 20 physical computers running many virtual computers each. Congratulations Tommi!

Tommi also took second place with his previous setup of 639 computers. Third place was Tatu Erkinjuntti with 200+ slaves, or 1500+ slaves on the same master on different times.

Matias Räisänen controlled the largest number of different operating systems: SunOS Solaris i86pc 11, Ubuntu Linux 16.04.2 LTS armv71, Windows 7 amd64, Windows 8 x86 (32 bit), Windows Vista x86 (32 bit), Windows 10 x86 (32 bit). He is also running multiple processor architectures. Congratulations Matias!

Continue reading

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

Automaticaly Build Penetration Testing Environment – Kali, Metasploitable, Vagrant

My student Toni Jääskeläinen developed a PenTest environment that can be set up automatically. Based on my idea, it’s distributed as a single Vagrantfile.

Using pentest tools requires special care and skill, as even mistakes with some of these tools could be crimes in some places. Check local laws before downloading. Often, it’s best to disconnect from the Internet when testing.

Vagrantfile for PenTest environment and thesis in Finnish.

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

Automation of Router Configuration with Python & SSH

My student Joram is automating router configuration for NDC Networks.

Joram configures Advantech B+B routers for NDC’s clients. The configuration is done using custom built Python Paramiko SSH script.

The routers are configured for clients of NDC, an 8 person company with 3 million EUR revenue. An estimate of 3000 to 4000 routers per year need to be configured. Based on Joram’s test, automation is 80% faster than fully manual operation, saving over a month of working time per year.

See the results & read the source code: Puumala 2017: Automation of router configuration

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

Tommi’s 639 Puppet Slaves

My student Tommi tested Puppet with 639 slaves. Tommi is running some 20 physical computers with about 30 virtual computers each.

Tatu has 263 slaves – on a single physical machine with a huge swap file.

Who will get 640 slaves?

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

Top Configuration Management Systems – Puppet vs Salt vs Ansible vs Chef

The leading configuration management systems compared: Puppet, Chef, Ansible, Salt. My students Joona, Jori, Eero and Jarkko gave a presentation and demonstrated each system.

ArcticCM provisioned and configured a couple of Linux desktops and servers, and also configured some Windows desktops. They published a Free (MIT licensed) configuration for that network with each of the four tools.

Download code for Puppet, Salt, Ansible and Chef.

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

Provision Multiple Virtual Puppet Slaves with Vagrant

For testing, it’s convenient to provision many virtual slave computers to your master.

This Vagrant file installs two virtual computers and automatically configures them as slaves to a puppetmaster in a predefined IP address.

Advanced stuff warning: Using this sample configuration requires fluency in command line, Puppet master-slave architecture and knowing the basics of vagrant and virtualbox.

Continue reading

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

Multiple Virtual Computers in Minutes – Vagrant Multimachine

You can install multiple virtual computers in minutes.

This example shows how to install two Ubuntu 16.04 virtual machines and configure SSH – in a couple minutes.

Continue reading

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

Aikataulu – Monialaprojekti Infra pro4tn001-5 – kevät 2018 – 10 op

English: Complete a project with a company as a client. Work with students from different tracks and backgrounds. Course in Finnish.

Tee projekti yritysasiakkaalle ryhmässä, jossa on opiskelijoita eri aloilta.

Continue reading

Posted in Uncategorized | Leave a comment

Aikataulu DigiStartUp digt4tn024-3 – keväällä 2018 – molemmat 1p ja 2p – 10 op

English: Create your own digital product and find paying customers. Real customers, actual money. Course is in Finnish.

Luo digitaalinen tuote ja hanki sille maksavia asiakkaita. Siis oikeita asiakkaita, joilta saa oikeaa rahaa.

Continue reading

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

Aikataulu – Linux palvelimet ict4tn021 7-ti ja 6-to – alkukevät 2018 – 5 op

English: Learn to manage your own Linux server – in 8 weeks. Beginners welcome. Student feedback excellent 4.7 out of 5. Course is in Finnish.

Aloita nollasta. Opiskele 8 viikkoa ja hallitset omaa Linux-palvelinta.

Opintojakson suoritettuaan opiskelija:

  • Osaa hallita Linuxia palvelimena
  • Osaa tehdä tärkeimmät asetukset tärkeimmille palvelimille (Apache, OpenSSH)
  • Osaa asentaa www-ohjelmointiin sopivan alustan
  • Osaa tehdä itselleen uusia asetuksia palvelinohjelmistoihin ohjeiden avulla
  • Tietää esimerkkejä palvelintilan tarjoajista ja hinnoista sekä fyysisten palvelinten vastaavista ominaisuuksista

Continue reading

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

Aikataulu – Linuxin keskitetty hallinta – 3 op, vanha OPS – loppusyksy 2017 p5 – Puppet

Control 10 computers. Or 100. Or 1000. Use Puppet, the tool used by US Gov (security baseline), Mozilla, Google (laptops and desktops) and Wikipedia.

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

The course in Finnish.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , | 44 Comments

Starting with JavaScript – Arrays, for..of, F12 console

JavaScript gets you to results easily. It’s the native language of web pages.

You can create and sell Android Apps easily by packaging your HTML and JavaScript with PhoneGap/Cordova. All popular (1000+ installs) cell phone apps in my courses have been created this way, including Lauri’s Times Grid Table with over 50 000 installs.

But how do you learn JavaScript? Read MDN JavaScript, try it out in Firefox F12 console, and learn some more in FreeCodingCamp.org.

This article shows you a simple example with a lion, a horse and a duck.

Continue reading

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

Initial Testing and Tries on MySQL Socket Authentication

MySQL has some initial support for passwordless socket authentication, but based on by very brief and initial testing, it does not seem to be ready for prime time yet. If you want socket authentication, PostgreSQL does socket authentication out of the box.

This article describes some tests on MySQL socket authentication and a configuration that does not work.

Continue reading

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

Simpler Puppet Manifests – Resource Defaults and Manifest Ordering

Tips to make your Puppet manifests shorter and easier to read.

Resource defaults: If I say ‘package’, of course I want it installed. Services are usually running and enabled at boot.

Manifest ordering: Top-down, so I don’t have to ‘require’ the package in every other resource.

Puppet is the configuration management system used by Google (desktops and laptops), Wikipedia (servers) and US Gov (security baseline).

Continue reading

Posted in Uncategorized | Tagged , , , , , | 1 Comment

Apply Puppet Resources Top Down – ordering=manifest – Order without Require

By default Puppet manifest ordering is arbitrary. You either have to use require a lot or apply your modules twice. But there is an easy fix:

$ sudoedit /etc/puppet.conf
[main]
ordering = manifest
# ...
Posted in Uncategorized | Tagged , , , , , , , , | Leave a comment

Aikataulu – Palvelinten hallinta ict4tn022-3 – 5 op, uusi OPS – loppusyksy 2017 p5

Control 10 computers. Or 100. Or 1000. Use Puppet, the tool used by US Gov (security baseline), Mozilla, Google (laptops and desktops) and Wikipedia.

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.

The course in Finnish.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , , , , , , , , | 119 Comments

Arvioitava laboratorioharjoitus – Linux palvelimet ict4tn021-5 torstai – alkusyksy 2017 – 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.

Course feedback was excellent 4.7 out of 5. The mode (most common) feedback grade was the highest score 5. Thank you! You can read student feedback (and some more).

The exercise is in Finnish.

Tervetuloa “Turvallinen Sipuli Oy:n” palvelukseen. Olet nyt tietohallitopäällikkömme (ja -osastomme). Tämä on Linux palvelimet ict4tn02-4 torstain ryhmän arvoitava laboratorioharjoitus, 50% arvosanasta.

Continue reading

Posted in Uncategorized | 4 Comments

Arvioitava laboratorioharjoitus – Linux palvelimet ict4tn021-4 tiistai – alkusyksy 2017 – 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. Course feedback was excellent 4.5 out of 5. The exercise itself is in Finnish.

Opiskelijat saivat hyviä arvosanoja, yleisimmät olivat 4-erittäin-hyvä ja 5-kiitettävä, joskin skaala oli käytössä ja joukkoon mahtui hylättykin suoritus. Katso Teron kommentit labrasta ja läksyistä.

Kurssipalautteen keskiarvo oli 4.5 erittäin-hyvän ja kiitettävä välillä, moodi ja mediaani oli 5-kiitettävä (paras mahdollinen). Lue opiskelijoiden kurssipalaute ja lisää palautetta. 100% eli 24/24 kurssin suorittaneista antoi palautteen.

Tehtävä alkaa…

Olet nyt “Kätketty Mestari” Oy:n tietohallintopäällikkö (ja -osasto). Tämä on Linux palvelimet ict4tn021-4 arvioitava laboratorioharjoitus.

Continue reading

Posted in Uncategorized | Tagged , | 4 Comments

Acute 0.2.2 – Integrate Help Commands to Single Interface – pydoc3, puppet describe and man in GoldenDict

Access all documentation commands and dictionaries trough a single interface.

Acute(1) suppresses output if it’s just “documentation not found”, so your interface stays clean.

With GoldenDict and acute, you can see real time queries to help commands along offline programmer’s dictionaries and regular dictionaries.

By using ‘grep’ as a command, you can quickly add any one-thing-per-line as a dictionary.

Continue reading

Posted in Uncategorized | Leave a comment

Print Special Characters as Backslash Escapes – Python3 One-liner with Unicode Support

Let’s find that weird or invisible character that breaks your code

$ echo "Hello in Finnish: Päivää"|python3 -c 'import sys; s=sys.stdin.read(); print(s.encode("unicode_escape"));'
b'Hello in Finnish: P\\xe4iv\\xe4\\xe4\\n'

Continue reading

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

Commands in GoldenDict – Offline Dictionary of man, grep, pupppet help and your commands

NEW: There is a new, better version of this article and program.

Add Python reference, man pages and your own commands to dictionary.

This example shows how to add commands as dictionaries to GoldenDict. Commands show information for the exact versions of software we have installed and this information (man, puppet help…) gets updated automatically with the software.

By using ‘grep’ as a command, we can quickly add any one-thing-per-line as a dictionary.

Continue reading

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

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