Skip to content

Instantly share code, notes, and snippets.

View jiko's full-sized avatar
👋
Hi!

James Koppen jiko

👋
Hi!
View GitHub Profile
@stettix
stettix / things-i-believe.md
Last active July 10, 2024 23:00
Things I believe

Things I believe

This is a collection of the things I believe about software development. I have worked for years building backend and data processing systems, so read the below within that context.

Agree? Disagree? Feel free to let me know at @JanStette. See also my blog at www.janvsmachine.net.

Fundamentals

Keep it simple, stupid. You ain't gonna need it.

@terabyte
terabyte / amazon.md
Created December 6, 2017 02:27
Amazon's Build System

Prologue

I wrote this answer on stackexchange, here: https://stackoverflow.com/posts/12597919/

It was wrongly deleted for containing "proprietary information" years later. I think that's bullshit so I am posting it here. Come at me.

The Question

Amazon is a SOA system with 100s of services (or so says Amazon Chief Technology Officer Werner Vogels). How do they handle build and release?

@non
non / answer.md
Last active January 9, 2024 22:06
answer @nuttycom

What is the appeal of dynamically-typed languages?

Kris Nuttycombe asks:

I genuinely wish I understood the appeal of unityped languages better. Can someone who really knows both well-typed and unityped explain?

I think the terms well-typed and unityped are a bit of question-begging here (you might as well say good-typed versus bad-typed), so instead I will say statically-typed and dynamically-typed.

I'm going to approach this article using Scala to stand-in for static typing and Python for dynamic typing. I feel like I am credibly proficient both languages: I don't currently write a lot of Python, but I still have affection for the language, and have probably written hundreds of thousands of lines of Python code over the years.

Propositions in re: Android Programming (based on recent experience)

  1. The official documentation is less good than programmers deserve.
  2. * In particular, the documentation is tailored to two types of programmers: novices just learning, and people who know a lot and need only reference information (that assumes a great deal of background knowledge). An Android programmer has to struggle a lot to move from the first category to the second - there's nothing systematic for her in the middle.
    
  3. Searching via Google and landing (most often) on Stack Overflow is inadequate:
  4. * The problems described, and the solutions offered, are narrow.
    
  5. * Solutions do not give enough context to (easily, successfully) generalize beyond the cases they cover.
    
  6. * Solutions are partial code, so require too much work to put into practice.
    
    • It's hard to tell if a solution from date X applies today.
@camillebaldock
camillebaldock / README.md
Last active October 24, 2015 20:31
Dashing Plex widgets from local scheduled job

Description

A Dashing widget for displaying the number of unplayed films, home videos and TV shows on a Plex media server.

See a live demo here.

Usage

Due to the fact that I didn't want to expose my Plex server to outside my network, I decided to run the script on a personal machine at home and push the data to my Dashing application.

@non
non / godel14.md
Created March 12, 2015 17:01
Gödel's fourteen point outline of his philosophical views.

Gödel left in his papers a fourteen-point outline of his philosophical beliefs, that are dated around 1960. They show his deep belief in the rational structure of the world. Here are his 14 points:

  1. The world is rational.
  2. Human reason can, in principle, be developed more highly (through certain techniques).
  3. There are systematic methods for the solution of all problems (also art, etc.).
  4. There are other worlds and rational beings of a different and higher kind.
  5. The world in which we live is not the only one in which we shall live or have lived.
  6. There is incomparably more knowable a priori than is currently known.
  7. The development of human thought since the Renaissance is thoroughly intelligible (durchaus einsichtige).
  8. Reason in mankind will be developed in every direction.
@jeetsukumaran
jeetsukumaran / DisableNonCountedBasicMotions.vim
Last active January 25, 2019 12:06
Disable Basic Motions if not Preceded By a Count
" Notes:
" (1) To enhance the ergonomics of this sufficiently to make it practical, at
" least, until your brain grows a new lobe dedicated to counting line offsets
" in the background while you work, you should either make sure you have
" something like the following in your `~/.vimrc`:
"
" set number
" if has('autocmd')
" augroup vimrc_linenumbering
" autocmd!
@chrisblakley
chrisblakley / server-side-ga-events.php
Last active August 16, 2022 19:22
PHP functions to send data to Google Analytics
//Parse the GA Cookie
function gaParseCookie() {
if (isset($_COOKIE['_ga'])) {
list($version, $domainDepth, $cid1, $cid2) = explode('.', $_COOKIE["_ga"], 4);
$contents = array('version' => $version, 'domainDepth' => $domainDepth, 'cid' => $cid1 . '.' . $cid2);
$cid = $contents['cid'];
} else {
$cid = gaGenerateUUID();
}
return $cid;
@sergejmueller
sergejmueller / nginx.conf
Last active May 10, 2018 18:16
OCSP stapling PEM file for RapidSSL certificates used on Nginx. Details: https://plus.google.com/+SergejMüller/posts/Vq1Hf1AZ2vY
...
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /usr/share/ssl/cert/rapidssl.pem;
@earthgecko
earthgecko / bash.generate.random.alphanumeric.string.sh
Last active July 4, 2024 17:31
shell/bash generate random alphanumeric string
#!/bin/bash
# bash generate random alphanumeric string
#
# bash generate random 32 character alphanumeric string (upper and lowercase) and
NEW_UUID=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
# bash generate random 32 character alphanumeric string (lowercase only)
cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 32 | head -n 1