Skip to content

Instantly share code, notes, and snippets.

Avatar

Ferdinand Prantl prantlf

View GitHub Profile
View p4-diff-changelist.py
#!/usr/bin/env python3
#
# Copyright 2014-2020 Cameron Hart <cameron.hart@gmail.com>.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
@prantlf
prantlf / main_test.go
Created May 2, 2020
Tests and benchmarks for formatting integers with commas separating thousands
View main_test.go
// Save this file as main_test.go and run "go test -bench ."
package main
import (
"bytes"
"regexp"
"strconv"
"testing"
@prantlf
prantlf / package.json
Last active Oct 1, 2019
Serves files from the current directory and subdirectories over HTTP for local development purposes using multiple workers.
View package.json
{
"name": "dev-http-server",
"version": "0.0.1",
"description": "Development HTTP server serving the current duirectory.",
"license": "MIT",
"author": "Ferdinand Prantl <prantlf@gmail.com> (http://prantl.tk/)",
"contributors": [],
"homepage": "https://gist.github.com/prantlf/2514e4b43b8c6ef6ab08a4d2084a69ba",
"repository": "https://gist.github.com/prantlf/2514e4b43b8c6ef6ab08a4d2084a69ba",
"bugs": "https://gist.github.com/prantlf/2514e4b43b8c6ef6ab08a4d2084a69ba",
@prantlf
prantlf / har2paths.js
Last active Sep 29, 2019
Extract URL paths from a HAR file
View har2paths.js
// Useful for generating a list of paths for performance testing using `wrk`
// and https://github.com/timotta/wrk-scripts/blob/master/multiplepaths.lua.
const description = `Usage: node har2paths (file.har) > paths.txt
Prints URL paths of all server calls made while loading the first page
from the HAR file, which has been created for a SPA.`
const harName = process.argv[2]
if (!harName) {
@prantlf
prantlf / nginx.conf
Last active Sep 29, 2019 — forked from foxxyz/nginx.conf
Serve current directory via nginx
View nginx.conf
# Simple development setup to serve a directory at http://localhost:9001.
# Start nginx in the directory to serve with `nginx -c ~/nginx.conf`.
# When using a laptop with an above average equipment. 2 workers
# significantly increase the throughput. 4 workers still help
# noticeably. The server slows down With more than 6 workers.
worker_processes 2;
events {
accept_mutex off;
}
@prantlf
prantlf / color-conversion-algorithms.js
Created Feb 25, 2019 — forked from mjackson/color-conversion-algorithms.js
RGB, HSV, and HSL color conversion algorithms in JavaScript
View color-conversion-algorithms.js
/**
* Converts an RGB color value to HSL. Conversion formula
* adapted from http://en.wikipedia.org/wiki/HSL_color_space.
* Assumes r, g, and b are contained in the set [0, 255] and
* returns h, s, and l in the set [0, 1].
*
* @param Number r The red color value
* @param Number g The green color value
* @param Number b The blue color value
* @return Array The HSL representation
@prantlf
prantlf / install_ruby_with_rbenv.md
Last active Dec 3, 2018 — forked from stonehippo/install_ruby_with_rbenv.md
Installing a new Ruby with rbenv on Mac OS
View install_ruby_with_rbenv.md

Install a new Ruby with rbenv on Mac OS (and make yourself a superhero)

If you're doing stuff with Ruby on a Mac, e.g. installling Jekyll or something, by default you'll end up having to use the sudo command to do stuff, since the permission to modify the default config is not available to your user account.

This sucks and should be avoided. Here's how to fix that.

Installing a new Ruby

To make this better, we are going install a new, custom Ruby. This used to be a big, scary thing, but thanks to the awesome tools Homebrew and rbenv, it's a snap.*

A word of warning: you will have to use Terminal to install this stuff. If you are uncomfortable with text, words, and doing stuff with your computer beyond pointing and hoping, this may not work well for you. But if that's the case, I'm not sure why you were trying to use Ruby in the first place.

@prantlf
prantlf / Mac OSX Setup - Brew
Created Nov 15, 2018 — forked from jbelke/Mac OSX Setup - Brew
Mac OSX Setup - Brew and Cask
View Mac OSX Setup - Brew
# Get Sudo.
if [ $EUID != 0 ]; then
sudo "$0" "$@"
exit $?
fi
# Install Xcode first - https://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12
# Install Xcode command line tools.
xcode-select --install
@prantlf
prantlf / can-be-seen.js
Last active Sep 2, 2018
Check, that an element can be really seen in the browser window
View can-be-seen.js
// Checks, that the element is not only visible in DOM,
// but that it can be really seen either in the window,
// or only in the visible part of the windows (viewport).
// The centre of the element has to be seen, at least.
function canBeSeen (element, inViewPort) {
// Filter out hidden elements
if (element.offsetHeight === 0) {
return false
}
// Get extents of the viewport
@prantlf
prantlf / japanese-font-family.md
Last active Oct 5, 2020 — forked from vanquang9387/japanese-font-family.md
Japanese default css font family
View japanese-font-family.md

Most Japanese websites use default font sets provided on Windows, Mac or Ubuntu. The latest ones are Meiryo, Hiragino Kaku Gothic Pro and Noto. For older versions such like Windows XP, it is good to add former default fonts MS Gothic(or MS Mincho)/Osaka. Older Linux versions may include Takao fonts.

Some old browsers could not understand those font names in English, some others do not recognize the names in Japanese, so it is safe to write both in Japanese and English.

Meiryo and Hiragino's order is, because Mac users may have Meiryo from MS-Office, and Hiragino is more familiar and matching well on Mac, better by starting Hiragino series.

So the current recommended practice is like this:

font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, メイリオ, Meiryo, "MS Pゴシック", "MS PGothic", "MS ゴシック" , "MS Gothic", "Noto Sans CJK JP", TakaoPGothic, sans-serif;
You can’t perform that action at this time.