Skip to content

Instantly share code, notes, and snippets.

@tkafka
tkafka / ringbuffer.h
Created December 7, 2013 23:10
OMG, ringbuffer in C macros :)
#include <stdlib.h>
#include <memory.h>
#include <malloc.h>
#ifndef _ringbuffer_h
#define _ringbuffer_h
// semantics: buffer goes from start to end-1, start == end -> empty or full, see 'full' flag
#define ringBuffer_typedef(T, NAME) \
typedef struct { \
@tkafka
tkafka / apifier-get-results.sh
Last active May 29, 2016 20:14
Apifier result downloader. Usage: bash apifier-get-results <execution_id>
#!/usr/bin/env bash
if [ -z "$1" ]; then
echo "Usage: bash apifier-get-results <execution_id>"
exit 1
fi
FORMAT="csv"
EXECUTION_ID="$1"
@tkafka
tkafka / README.md
Created July 8, 2016 08:54
d3.v4 treemap update example

Each pixel represents approximately one byte.

@tkafka
tkafka / _pebble_function_size.sh
Last active October 8, 2016 16:34
Optimizing app size (for aplite): script to show code space size for every function. I noticed that you can read size of every function from build/pebble-app.map. So, here's a script to do it :)).
#!/usr/bin/env bash
cat ./build/pebble-app.map |
# pick important part of file
sed -n -e "/^ \*(\.text\.\*)/,/^ \*(\.rodata)/p" |
# remove first and last line
sed -e "1d" -e "\$d" |
# ensure every function is on single line:
Weathergraph shows:
🕑 Time, of course :)
🏃 Daily steps
❤️ Current heart rate
⛅️ Precise forecast from Yr.no (Dark Sky/Forecast.io coming soon!)
🌡 Hour-by-hour temperature (orange chart at the bottom)
🌧 Hour-by-hour precipitation - rain and snow (blue chart overlay)
☁️ Hour-by-hour ☁️ cloudiness (cloud cover) and ☀️ sunshine (clouds on top + sun rays)
🌤 Daily minimum and maximum (overlaid above chart)
@tkafka
tkafka / email od bazose.eml
Last active April 4, 2018 07:46
U bazose se jako odesilatel zobrazuje `jardalukas@gmail.com via bazos-www2.superhosting.cz`. U nas tam kde podvrhujeme gmail taky: `davngy@gmail.com via seznam.cz`
Original Message
Message ID <20171013084129.684C860593@bazos-www2.superhosting.cz>
Created at: Fri, Oct 13, 2017 at 10:41 AM (Delivered after 0 seconds)
From: jardalukas@gmail.com
To: keff85@gmail.com
Subject: Bazos.cz - odpoved na inzerat 80580804 - Fitbit Ionic - nejlepsi fitness tracker, novy
SPF: PASS with IP 88.86.119.246 Learn more
DMARC: 'FAIL' Learn more
@tkafka
tkafka / install_git_lfs.sh
Last active May 31, 2019 17:02 — forked from show0k/install_git_lfs.sh
Compile and Install git-lfs on Raspberry Pi (with golang compilation)
install_git_lfs()
{
set -e
# Get out if git-lfs is already installed
if $(git-lfs &> /dev/null); then
echo "git-lfs is already installed"
return
fi
GIT_LFS_BUILD=$HOME/.bin
@tkafka
tkafka / LICENSE.txt
Last active September 5, 2019 13:38
Drop-in replacement for ReactCSSTransitionGroup that uses velocity.js instead of CSS transforms. Add your own transitions to `transitions` hash.
The MIT License (MIT)
Copyright (c) 2014 Tomas Kafka
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
@tkafka
tkafka / opengraph.template.html
Last active March 16, 2020 17:40 — forked from druellan/opengraph.template.html
Basic template for OpenGraph/Facebook metatags
Detail
<html prefix="og: http://ogp.me/ns#">
<head>
<title>{advert.title ořezaný na 60 znaků, případně s trojtečkou pokud jsme ho ořezali} · dobro.cz</title> <!-- ˜60 chars -->
<meta name="description" content="Nabídka pomoci na dobro.cz — pomáhejme si v době koronaviru"> <!-- Nabidka ˜150 chars -->
<meta name="description" content="Žádost o pomoc na dobro.cz — pomáhejme si v době koronaviru"> <!-- Poptavka ˜150 chars -->
<meta property="og:title" content="{advert.title}">
<meta property="og:description" content="Nabídka pomoci na dobro.cz — pomáhejme si v době koronaviru"> <!-- Nabidka -->
<meta property="og:description" content="Žádost o pomoc na dobro.cz — pomáhejme si v době koronaviru"> <!-- Poptavka -->
extension String {
func padding(leftTo paddedLength: Int, withPad pad: String = " ", startingAt padStart: Int = 0) -> String
{
if count < paddedLength {
let rightPadded = padding(toLength: max(count, paddedLength), withPad: pad, startingAt: padStart)
return "".padding(toLength: paddedLength, withPad: rightPadded, startingAt: count % paddedLength)
} else {
return self
}
}