Skip to content

Instantly share code, notes, and snippets.

View hipertracker's full-sized avatar

Jaroslaw Zabiello hipertracker

View GitHub Profile
@hipertracker
hipertracker / irish_bank_holidays.py
Created November 13, 2020 11:44
Irish bank holidays
from workalendar.europe import Ireland
def irish_bank_holidays(year: int) -> list:
calc = Ireland()
return [x[0] for x in calc.holidays(year)]
@hipertracker
hipertracker / PageSearchInput.vue
Created June 17, 2020 14:07
Dynamic URL change: Quasar/Overmind + TypeScript + vue-router
<template>
<q-input clearable filled type="text" :value="q" @input="updateQuery" />
</template>
<script lang="ts">
import { defineComponent, ref, onMounted } from '@vue/composition-api';
export default defineComponent({
name: 'PageSearchInput',
@hipertracker
hipertracker / DynamicQuery.vue
Last active June 15, 2020 02:05
Dynamic URL change: Quasar + TypeScript + vue-router
<template>
<q-page padding>
<b>Search</b>
<q-form>
<q-input filled type="text" :value="query" @input="updateQuery" />
</q-form>
</q-page>
</template>
<script lang="ts">
@hipertracker
hipertracker / main.go
Last active February 27, 2020 11:11
Golang: sorting a slice of string with Polish sorting rules
package main
import (
"fmt"
"sort"
"github.com/tidwall/collate"
)
type text []string
@hipertracker
hipertracker / tokenize.py
Last active February 1, 2020 23:22
Words tokenizer
import glob
import re
from typing import Iterator, List, Set, Tuple
from yaml import BaseLoader, load
def extract_words(text: str, min_length: int = 2) -> Set:
regex_words = re.compile(r"[\W]+", re.U)
return set(
@hipertracker
hipertracker / flatten.py
Created January 12, 2020 22:47
Missing list flatten function in Python
def flatten(items: list, result: list = None) -> list:
if result is None:
result = []
for item in items:
if isinstance(item, list):
flatten(item, result)
else:
result.append(item)
return result
from django.test import TestCase
from portal.lib.verses_parser import extract_verses, refs_with_chapter, split_refs
class VersesParserTestCase(TestCase):
maxDiff = None
def test_split_refs(self):
given = split_refs("Gen 1:2; 3:4-5", ["bw"])
@hipertracker
hipertracker / zsh-and-oh-my-zsh.txt
Created December 18, 2019 22:37
zsh + oh-my-zsh simple install
1. Install zsh from packages
2. Install oh-my-zsh:
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
3. configure ~/.zshrc
...
@hipertracker
hipertracker / react-custom-element.js
Created December 11, 2019 14:44
React refs forwarding to custom element issue
import * as React from 'react'
import {Component} from 'react'
class App extends Component {
setSvgRef(ref) {
console.log('Parrent React got ref:', ref); // this works
}
render() {
return <ScatterPlot svgRef={e => this.setSvgRef(e)}/>
@hipertracker
hipertracker / setStateSynchronous.js
Created November 14, 2019 00:14
React synchronous setState
setStateSynchronous(stateUpdate) {
return new Promise(resolve => {
this.setState(stateUpdate, () => resolve());
});
}
// https://stackoverflow.com/questions/42018342/is-there-a-synchronous-alternative-of-setstate-in-reactjs