SpringBoot creating UserDetailsService authentication with login and signup form example

There are plenty of online tutorials showing how to create database-based authentication for Spring. Some of them use SQL query to authenticate user and retrieve its roles, some use DAO… but none of them worked well for me and all of them had some major problems, even like SQL Injection. So, in this post I […]

UNIX-history source codes on GitLab

I found that there are some people on GitHub that collect source codes from early UNIX ages, like first compilers, first shells, or PDP7-UNIX. Just to made them available in one place (slightly decentralize access to them) – I decided to create gitlab.com account `UNIX-history` for them. You can find there source codes from 1970, […]

Insulting sudo mode

Sudo has an easter-egg that’s disabled by default. It can insult you each time you provide incorrect password. Just like that: [sudo] password for agilob: You can’t come in. Our tiger has got flu [sudo] password for agilob: You do that again and see what happens… [sudo] password for agilob: You can’t get the wood, […]

Omnia Turris – random rainbow colours

Script for Omnia Turris making your router light with random colour every second.       #!/bin/bash   colors=(’red’ ‘blue’ ‘green’ ‘white’); leds=(’lan0’ ‘lan1’ ‘lan2’ ‘lan3’ ‘lan4’ ‘pwr’ ‘wan’ ‘pci1’ ‘pci2’ ‘pci3’ ‘usr1’ ‘usr2’);   while true; do for led in "${leds[@]}" do rand_color=$[$RANDOM % 5] rainbow ${led} ${colors[rand_color]} done sleep 1; done#!/bin/bash colors=(‘red’ ‘blue’ […]

Automated delivery and publication of apps using FDroid and GitLabCI

In my spare time I develop applications on Android. I also “maintain” F-Droid repository for some of my public projects. I wanted to automatically publish each build after: Compilation passed Test on a connected device passed Signed build completed So I made a simple setup with help of GitLabCI and own F-Droid repository. This post […]

Rust – get user’s home directory

fn main() { let mut path: PathBuf = get_app_dir(); path.push(".config"); path.set_file_name("properties"); path.set_extension("ini"); let str_path = path.to_str().unwrap(); if str_path.len() != 0 && path_exists(&path) { println!("Path {} exists", str_path); } }   fn get_app_dir() -> PathBuf { let dir: PathBuf = match env::home_dir() { Some(path) => PathBuf::from(path), None => PathBuf::from(""), }; dir }   pub fn path_exists(path: […]

Automated updates on Debian using Tor and official hidden services

I like to automate some boring and easy tasks we all have to do often, so I would like to share with you an easy but not too widely known trick in Debian/Ubuntu for automated upgrades, that can be performed without any manual actions. This post describes the following configurations for a server: Installation and […]

QFakturat – program do zarządzania fakturami, produktami i danymi klientów na Linux

Kilka lat temu, żeby zdobyć trochę doświadczenia poza Java i Ruby, zabrałem się za naukę Qt4.8 i C++. W ramach tego ćwiczenia zacząłem pracować nad aplikacją, która nie istniała wtedy na Linuxa i pewnie do dziś jest tego typu unikalnym programem na pingwina i diabełka. Aplikacja była pisana na wymogi prowadzenia firmy taty, gdzie z […]

XXX loves opensource…

…that’s why we published our product on OSI-compatible license! We <3 open-source! Well, does Microsoft/Google/Apple/Netflix/XXX really love open-source? No, they don’t. In fact they do more to extinguish open source by fighting them with patent wars, you don’t hear about, developing DRM, you hear about when it’s too late and dropping support for some key-products […]