Skip to content

Instantly share code, notes, and snippets.

View tvwerkhoven's full-sized avatar

Tim van Werkhoven tvwerkhoven

  • ASML
  • Netherlands
View GitHub Profile
@tvwerkhoven
tvwerkhoven / README
Created November 6, 2011 22:29
iPhone 3GS battery life analysis & plots
These files can be used to analyse the battery usage of an iPhone 3GS under real-life usage.
iphone_battery.csv: measurement data
proc_iphone_batt.py: process & plot data
@tvwerkhoven
tvwerkhoven / mac-dict.py
Created December 20, 2011 17:09
look up phonetic spelling Apple's Dictionary.app through DictionaryServices
#!/usr/bin/python2.7
# -*- coding: utf-8 -*-
"""
@file mac-dict.py -- lookup entries in the Mac dictionary
@author Tim van Werkhoven
@date 20111220
@copyright Copyright (c) 2011 Tim van Werkhoven
Use DictionaryServices to look up words in Apple's Dictionary.app.
@tvwerkhoven
tvwerkhoven / coconut_plot.py
Last active December 10, 2015 01:58
Plot coconutBattery.app output
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
@file coconut_plot.py -- plot Macbook battery data
@author Tim van Werkhoven
@date 20121223
@copyright Copyright (c) 2012 Tim van Werkhoven <timvanwerkhoven@gmail.com>
This scripts plots data exported from [CoconutBattery.app][1] as CSV. This
can be useful to graphically investigate your battery performance.
@tvwerkhoven
tvwerkhoven / milieudata_januari.json
Last active December 10, 2015 13:48
Produce energy label for Albert Heijn recipes
{"Framboos": [["C", "Spanje"], ["E", "Mexico"]], "Nectarine": [["B", "Chili"]], "Limoen": [["A", "Brazili\u00eb"]], "Avocado": [["B", "Isra\u00ebl"], ["C", "Chili"], ["C", "Spanje"]], "Wortelen (breekpeen/waspeen)": [["A", "Nederland"]], "Carambola": [["D", "Isra\u00ebl"], ["E", "Maleisi\u00eb"]], "Radijs (los)": [["B", "Nederland"]], "Sperzieboon": [["B", "Marokko"], ["B", "Spanje"], ["C", "Senegal"], ["D", "Egypte"], ["E", "Kenia"]], "Kokosnoot": [["C", "Ivoorkust"], ["C", "Sri Lanka"], ["D", "Algerije"]], "Broccoli": [["B", "Frankrijk"], ["B", "Spanje"]], "Witte kool": [["A", "Nederland"]], "Lychee": [["C", "Madagaskar"], ["C", "Zuid-Afrika"]], "Rabarber": [["C", "Nederland"]], "Asperge (groen)": [["E", "Peru"]], "Courgette": [["A", "Spanje"]], "Rode biet": [["A", "Nederland"]], "Andijvie (gewoon)": [["A", "Spanje"], ["E", "Nederland"]], "Spitskool": [["A", "Nederland"], ["A", "Spanje"], ["B", "Portugal"]], "Ananas": [["B", "Costa Rica"], ["B", "Ecuador"]], "Kersen": [["E", "Chili"]], "Artisjok": [["B", "S
@tvwerkhoven
tvwerkhoven / whatsapp.pm
Last active November 8, 2017 01:50
Whatsapp chat log parser for pisg
# Whatsapp log parser for pisg, made by Tim van Werkhoven
# Features: parses logs, detects subject changes
# Known issues: only works without images, does not filter out 'image omitted' texts
# Use Charset = "utf-8" in config file to enable emoji
package Pisg::Parser::Format::whatsapp;
use strict;
$^W = 1;
sub new
@tvwerkhoven
tvwerkhoven / spotify-kodi
Last active November 9, 2018 21:44
spotify kodi startup script
#!/bin/bash
# spotify-kodi startup script
#
# Start spotify, wait for display, start kodi, bring kodi window into focus (again)
#
# # USAGE
# 1. Install somewhere (e.g. /snap/bin/)
# 2. Run as startup item on Linux
#
# # ABOUT
@tvwerkhoven
tvwerkhoven / kMeans.py
Created June 2, 2018 13:31 — forked from bistaumanga/kMeans.py
KMeans Clustering Implemented in python with numpy
'''Implementation and of K Means Clustering
Requires : python 2.7.x, Numpy 1.7.1+'''
import numpy as np
def kMeans(X, K, maxIters = 10, plot_progress = None):
centroids = X[np.random.choice(np.arange(len(X)), K)]
for i in range(maxIters):
# Cluster Assignment step
C = np.array([np.argmin([np.dot(x_i-y_k, x_i-y_k) for y_k in centroids]) for x_i in X])
@tvwerkhoven
tvwerkhoven / renamemp3.sh
Created April 5, 2010 20:02
Recursively rename all files in a directory
#!/bin/bash
#
# Recursively rename all files in a directory with the following rules:
# - Convert letters to lower case
# - Convert whitespace to underscore
# - Remove 'track' in the name
#
# Used to clean up filenaming of mp3s
#
# Tim van Werkoven, 20100405 <t.i.m.vanwerkhoven@xs4all.nl>
@tvwerkhoven
tvwerkhoven / MultiMarkdown_guide.md
Last active December 7, 2020 23:21
Brief introduction to MultiMarkdown highlighting features that were hard to find.
@tvwerkhoven
tvwerkhoven / notify-or-do-something-when-an-appliance-like-a-dishwasher-or-washing-machine-finishes.yaml Home Assistant Blueprint: Notify or do something when an appliance like a dishwasher or washing machine finishes
blueprint:
name: Appliance has finished+
description: Do something when an appliance (like a washing machine or dishwasher)
has finished as detected by a power sensor, and show power consumption.
domain: automation
input:
power_sensor:
name: Power Sensor
description: 'Power sensor entity (e.g. from a smart plug device).'
selector: