Skip to content

Instantly share code, notes, and snippets.

Avatar
🇵🇸

Kristján Oddsson koddsson

🇵🇸
View GitHub Profile
@koddsson
koddsson / bib.bib
Created Dec 24, 2020
Create a HTML post from a obsidian markdown page
View bib.bib
@book{ahrensHowTakeSmart2017,
title = {How to Take Smart Notes: One Simple Technique to Boost Writing, Learning and Thinking: For Students, Academics and Nonfiction Book Writers},
shorttitle = {How to Take Smart Notes},
author = {Ahrens, S{\"o}nke},
year = {2017},
address = {{North Charleston, SC}},
isbn = {978-1-5428-6650-7},
language = {eng}
}
@koddsson
koddsson / index.js
Created Dec 19, 2019
A simple app that scrapes rightmove for flats and sends them to a Telegram chat.
View index.js
#!/usr/bin/env node
const cheerio = require('cheerio')
const fetch = require('node-fetch')
const loki = require('lokijs')
const telegram = require('telegram-bot-api')
const api = new telegram({ token: process.env.TELEGRAM_API });
const db = new loki('rightmoveFile', {
autoload: true,
@koddsson
koddsson / n
Created Jun 26, 2019
Simple Bash script that let's me post a micropub note from my terminal
View n
#! /bin/bash
ME="https://koddsson.com"
MICROPUB_ENDPOINT="$ME/micropub"
CODE=$(cat token)
STATUS_CODE=$(curl -sw '%{http_code}' -o /dev/null -d "code=$CODE&redirect_uri=http://nonexisting-domain.dev/callback&client_id=$ME" https://indieauth.com/auth)
if [ $STATUS_CODE -eq 404 ]; then
View await-in-getter.md

await in getter.

Since you can't make getters async in JavaScript classes it's impossible to do something like this:

class Foobar {
  set src(url) {
    this.src = url
    await this.fetchResults() // Unexpected keyword since the function isn't marked as `async`
  }
View gist:ac642e3986f430852618f8ee2517e0e5

Keybase proof

I hereby claim:

  • I am koddsson on github.
  • I am koddsson (https://keybase.io/koddsson) on keybase.
  • I have a public key ASDwi_uJqSvD3Q_-HXzwzFS1lFeiI0w5tUbP4ayRTJK8Qwo

To claim this, I am signing this object:

View post-checkout.sh
#!/usr/bin/env bash
# fork from https://gist.github.com/jakemhiller/d342ad51505addf78ec628a16fd3280f
changed_files="$(git diff-tree -r --name-only --no-commit-id $1 $2)"
check_run() {
echo "$changed_files" | grep --quiet "$1" && eval "$2"
}
check_run package.json "yarn"
View .gittemplate
xxx:
# 50-character subject line ^
# 72-character wrapped longer description. This should answer: ^
#
# * Why was this change necessary?
# * How does it address the problem?
# * Are there any side effects?
Related-to: [ISSUE]