Skip to content

Instantly share code, notes, and snippets.

@kenkeiter
kenkeiter / rescue_time.rb
Created August 25, 2014 22:37
Get your RescueTime productivity using Ruby and the RescueTime API.
require 'rest_client'
require 'json'
class RescueTimeProfile
API_BASE_URL = 'https://www.rescuetime.com/anapi'
TIME_SCORE_SCALE = {
2 => 1,
1 => 0.75,
0 => 0.50,
@jashkenas
jashkenas / semantic-pedantic.md
Last active January 14, 2026 08:17
Why Semantic Versioning Isn't

Spurred by recent events (https://news.ycombinator.com/item?id=8244700), this is a quick set of jotted-down thoughts about the state of "Semantic" Versioning, and why we should be fighting the good fight against it.

For a long time in the history of software, version numbers indicated the relative progress and change in a given piece of software. A major release (1.x.x) was major, a minor release (x.1.x) was minor, and a patch release was just a small patch. You could evaluate a given piece of software by name + version, and get a feeling for how far away version 2.0.1 was from version 2.8.0.

But Semantic Versioning (henceforth, SemVer), as specified at http://semver.org/, changes this to prioritize a mechanistic understanding of a codebase over a human one. Any "breaking" change to the software must be accompanied with a new major version number. It's alright for robots, but bad for us.

SemVer tries to compress a huge amount of information — the nature of the change, the percentage of users that wil

@lovelydinosaur
lovelydinosaur / put_as_create.py
Created November 3, 2014 11:55
PUT-as-create mixin class for Django REST framework.
class AllowPUTAsCreateMixin(object):
"""
The following mixin class may be used in order to support PUT-as-create
behavior for incoming requests.
"""
def update(self, request, *args, **kwargs):
partial = kwargs.pop('partial', False)
instance = self.get_object_or_none()
serializer = self.get_serializer(instance, data=request.data, partial=partial)
serializer.is_valid(raise_exception=True)
@0xbb
0xbb / README.md
Last active August 3, 2025 16:19
Macbook Pro 11,3 - Linux - AppleMuxControl reverse engineering
@ryankurte
ryankurte / 12d1:1f1c
Last active June 11, 2018 21:17
Enable Huawei K4203 Cellular Internet dongle on Linux
TargetVendor=0x12d1
TargetProduct=0x1f1c
MessageContent="55534243123456780000000000000011062000000101000100000000000000"
@denji
denji / golang-tls.md
Last active February 21, 2026 12:07 — forked from spikebike/client.go
Simple Golang HTTPS/TLS Examples
Generate private key (.key)
# Key considerations for algorithm "RSA" ≥ 2048-bit
openssl genrsa -out server.key 2048

# Key considerations for algorithm "ECDSA" ≥ secp384r1
# List ECDSA the supported curves (openssl ecparam -list_curves)
@bnagy
bnagy / gpgmutt.md
Last active December 1, 2025 23:19
Mutt, Gmail and GPG

GPG / Mutt / Gmail

About

This is a collection of snippets, not a comprehensive guide. I suggest you start with Operational PGP.

Here is an incomplete list of things that are different from other approaches:

  • I don't use keyservers. Ever.
  • Yes, I use Gmail instead of some bespoke hipster freedom service
@JamesMessinger
JamesMessinger / NewsArticle.yaml
Last active July 31, 2018 09:13
Example of using `allOf` to extend an object in a Swagger API
swagger: "2.0"
info:
version: "1.0.0"
title: minimal
description: News Articles ftw
paths:
/users:
get:
responses:
"200":