Skip to content

Instantly share code, notes, and snippets.

View petja's full-sized avatar
💻
Developing software

Petja Touru petja

💻
Developing software
View GitHub Profile
@petja
petja / fooni-videos.sh
Last active April 15, 2025 18:56
Download Fööni videos
# Prerequisites: htmlq, curl
# On Mac install with: brew install htmlq curl
# You can find the token by signing into your Fööni account, opening sidebar and checking the URL of "Flight videos" link. Token is hex string with the length of 64 characters (32 bytes).
# Warning! Don't share the token, it allows malicious actor to see your personal information!
LOGIN_TOKEN="_____REPLACE_ME_____"
TARGET_DIRECTORY="/tmp/fooni-videos"
mkdir -p "$TARGET_DIRECTORY"
function maskLine(text: string) {
const len = text.length;
const first = text.substring(0, 1);
const first2 = text.substring(0, 2);
const last = text.substring(len - 1);
if (len < 2) return text;
if (len === 2) return first + '•';
if (len === 3) return first + '••';
@petja
petja / README.md
Last active August 31, 2019 09:56
Pieksämäki raiteisto

Pieksämäki raiteisto

Kartta Pieksämäen liikennepaikan raiteista, jotka on väritetty liikennepaikan osien mukaan seuraavasti:

Liikennepaikan osa Väri
PMT Magenta
PMLA Sininen
TMU Punainen
PM Vihreä
@petja
petja / bikestation.sh
Last active August 27, 2018 10:13
🚲 Check the status of HSL citybike station
#!/bin/bash
# config
endpoint="https://api.digitransit.fi/routing/v1/routers/hsl/index/graphql"
querydata='{"query":"query {\n duunipaikka: bikeRentalStation(id: \"719\") {\n \tname\n bikesAvailable\n spacesAvailable\n }\n asema: bikeRentalStation(id: \"729\") {\n \tname\n bikesAvailable\n spacesAvailable\n }\n}","variables":{"id_0":"719"}}'
bold=$(tput bold)
normal=$(tput sgr0)
while true
@petja
petja / free-disk-space.sh
Created May 25, 2018 22:35
Free some disk space by removing node_modules older than 30 days
find ~/projects -maxdepth 2 -type d -name 'node_modules' -mmin +$((60*24*30)) -prune | awk '{ print "\""$0"\""}' | xargs rm -r
@petja
petja / README.md
Last active May 4, 2018 17:43
Välityskyvyn nosto Parola-Toijala

Radan välityskyvyn nosto Toijalan ja Parolan välillä

Kun lähi-/taajamajunaliikenne siirretään omille raiteilleen, parannetaan lähiliikenteen edellytysten lisäksi myös kaukoliikenteen täsmällisyyttä, mahdollistetaan kaukoliikenteen lisävuorot sekä nopeammat junat.

Tämä on esitys miten itse lähtisin parantamaan Riihimäki-Tampere -rataosan välillä lähiliikennettä.

Esityksessäni on kaksi osaa:

  • Raide Toijalasta Iittalaan nykyisen radan länsipuolella. Radalle ohjataan etelän suuntaan kulkeva lähiliikenne sekä tarpeen mukaan myös tavaraliikennettä.
  • Raide Parolasta Vinnilään nykyisen radan itäpuolella. Radalle ohjataan pohjoisen suuntaan kulkeva lähiliikenne sekä tarpeen mukaan myös tavaraliikennettä.
@petja
petja / project.sh
Last active May 16, 2018 09:31
List own projects, change directory and attach tmux easily
#!/bin/bash
if [[ "$TERM" =~ "screen".* ]]; then
echo "You have to detach tmux before continuing"
else
if [ -z "$1" ]; then
printf "\n\e[3mWhich project you want to open?\e[0m\n\n"
ls -t ~/projects
@petja
petja / app.jsx
Last active December 30, 2017 11:43
Yksinkertainen demo routeavasta React-softasta
import React from 'react'
import ReactDOM from 'react-dom'
import getViewFromURL from './routes.jsx'
class App extends React.Component {
state = {
view: null,
};
@petja
petja / peli.rb
Created August 5, 2017 20:56
Torakka-Jalka-Ydinpommi -peli
# Aseta vakiot
PELAAJA = 1
TASAPELI = 0
TIETOKONE = -1
TORAKKA = 0
JALKA = 1
YDINPOMMI = 2
LOPETA = 3
NIMET = ["torakan", "jalan", "ydinpommin"]
@petja
petja / opintopolku.sh
Last active June 30, 2016 18:53
Tarkista onko Opintopolku auki
while true; echo -n "Opintopolku "; do if [ $(curl -s -w "%{http_code}" "https://opintopolku.fi/omatsivut/" -o /dev/null) == "302" ]; then echo "ei ole auki"; else echo "on auki"; paplay $alert_sound; fi; echo "(tarkistettu: $(date "+%a %H:%M:%S"))"; sleep 30; done;