Skip to content

Instantly share code, notes, and snippets.

Avatar
☺️

Mike Arvela mieky

☺️
View GitHub Profile
@mieky
mieky / github-artifacts-size.sh
Last active Jan 24, 2022
Get total size of artifacts in a GitHub repo
View github-artifacts-size.sh
#!/bin/bash
# Get total size for artifacts in a GitHub Repo. To run, first create a GitHub token
# with the "repo" scope: Profile > Settings > Developer Settings > Personal access tokens
#
# Requires jq 1.6 or higher.
if [ $# -ne 1 ] || [ -z $API_TOKEN ]; then
echo "Usage: API_TOKEN=<token> $0 <org/repo>"
exit 1
@mieky
mieky / ehdotus.md
Last active Sep 29, 2021 — forked from japsu/ehdotus.md
Sähköauton lataus taloyhtiössä
View ehdotus.md

Sähköauton lataus taloyhtiössä

Esitys yhtiökokoukselle

Taustaa

Sähköautojen osuus autokannasta kasvaa koko ajan. Valtioneuvoston tavoitteena on, että vuonna 2030 Suomessa olisi jopa 700 000 täyssähköautoa ja lataushybridiä, kun vuoden 2020 lopussa liikennekäytössä oli 9 674 täyssähköautoa ja 45 650 lataushybridiä. Maaliskuussa 2021 voimaan astui laki, jonka myötä taloyhtiöiden pitää varautua sähköautojen määrän kasvuun.

Sähköauton latauksen järjestäminen on yksi keskeisimpiä kysymyksiä sähköauton hankintaa pohtivalle. Sähköauton kotilatauksen toteuttaminen sähkö- ja paloturvallisella tavalla edellyttää lataukseen tarkoitetun suojatun pistorasian tai kiinteän latausaseman asennusta. Lisäksi sähköauton latauksessa taloyhtiössä on huomioitava osakkaiden yhdenvertaisuus.

@mieky
mieky / ts-node-memoize.ts
Last active May 1, 2021
Simple function invocation memoization with Typescript
View ts-node-memoize.ts
import * as crypto from "crypto";
type CacheKey = string;
type ExpiryTimestamp = number;
const log = (...args: any[]) => process.env.DEBUG && console.log(...args);
const hashCode = (input: string): string =>
crypto.createHash("sha256").update(input).digest("hex");
@mieky
mieky / .dir_colors
Last active Feb 27, 2021
macOS LS_COLORS for web development
View .dir_colors
# LS_COLORS
# Maintainers: Magnus Woldrich <m@japh.se>,
# Ryan Delaney <ryan.patrick.delaney@protonmail.com>
# URL: https://github.com/trapd00r/LS_COLORS
#
# This is a collection of extension:color mappings, suitable to use as your
# LS_COLORS environment variable. Most of them use the extended color map,
# described in the ECMA-48 document; in other words, you'll need a terminal
# with capabilities of displaying 256 colors.
#
View pseudo-uuid.js
// Generate a deterministic pseudo UUID (v4), such that the same input always gives the same output.
// Potentially useful for test mocks or such where a specific datum is associated to a specific UUIDs,
// but doesn't need guarantees against clashing.
// With ES6 modules, you can remove the "require" part, and instead import like this:
// import { createHash } from "crypto";
const pseudoUuid = (input) => require("crypto")
.createHash("sha256")
.update(input)
@mieky
mieky / rabbit_publish.sh
Last active Jan 8, 2021
Publishing a JSON payload into a local RabbitMQ HTTP API
View rabbit_publish.sh
#!/bin/bash
# Publish JSON payloads into a RabbitMQ HTTP API with curl and jq.
# Usage: rabbit_publish.sh exchange_name '{ "data": "my json payload" }'
#
# To install prequisites on macOS:
# brew install rabbitmq jq
# rabbitmq-plugins enable rabbitmq_management
if [ $# -ne 2 ]; then
@mieky
mieky / macos-lifehacks.md
Last active Jul 31, 2022
MacOS Lifehacks
View macos-lifehacks.md

Collection of useful tips & tricks to set up on a Mac.

Safari: bind cmd+alt+arrows to switch between previous/next tab

defaults write -app Safari NSUserKeyEquivalents '{
"Show Next Tab" = "@~\\U2192";
"Show Previous Tab" = "@~\\U2190";
}'
View fetch-luuppi-events.js
// npm install --save axios cheerio
const axios = require('axios');
const cheerio = require('cheerio');
const fetchEvents = () => {
return axios.get('https://www.luuppi.fi')
.then((response) => {
const $ = cheerio.load(response.data);
return $(".tapahtuma_otsikko a")
View looby-bot-1.js
const TelegramBot = require('node-telegram-bot-api');
const token = 'token-goes-here';
const bot = new TelegramBot(token, { polling: true });
bot.onText(/\/hai/, (message) => {
bot.sendMessage(message.chat.id, 'hello looby');
});
console.log('I am putting myself to the fullest possible use, which is all I think that any conscious entity can ever hope to do.');
@mieky
mieky / README.md
Created Jan 8, 2017
Mike's terminal
View README.md