Skip to content

Instantly share code, notes, and snippets.

View magistau's full-sized avatar
☮️
pls no war

Tau magistau

☮️
pls no war
View GitHub Profile
@cmj
cmj / nitter_instances.md
Last active November 2, 2026 22:00
Active Nitter instances
@polytypic
polytypic / article.md
Last active September 1, 2026 09:25
Fear the `Obj.magic`

Fear the Obj.magic

Reaction of a junior OCaml programmer being suggested to use Obj.magic

Let me first quote a paragraph from the Memory Representation of Values (with my emphasis):

Obj is an undocumented module that exposes the internals of the OCaml compiler and runtime. It is very useful for

@decorator-factory
decorator-factory / sum_type.py
Last active December 27, 2022 16:11
Sum type in Python
class _EmbellishedBase:
_constructor_name: str
def embellished(name, definition):
class EmbellishedMeta(type):
def __repr__(self):
return f"embellished({self._constructor_name!r}, {definition!r})"
class Embellished(_EmbellishedBase, metaclass=EmbellishedMeta):
@samsch
samsch / stop-using-jwts.md
Last active October 23, 2026 14:44
Stop using JWTs

Stop using JWTs!

TLDR: JWTs should not be used for keeping your user logged in. They are not designed for this purpose, they are not secure, and there is a much better tool which is designed for it: regular cookie sessions.

If you've got a bit of time to watch a presentation on it, I highly recommend this talk: https://www.youtube.com/watch?v=pYeekwv3vC4 (Note that other topics are largely skimmed over, such as CSRF protection. You should learn about other topics from other sources. Also note that "valid" usecases for JWTs at the end of the video can also be easily handled by other, better, and more secure tools. Specifically, PASETO.)

A related topic: Don't use localStorage (or sessionStorage) for authentication credentials, including JWT tokens: https://www.rdegges.com/2018/please-stop-using-local-storage/

The reason to avoid JWTs comes down to a couple different points:

  • The JWT specification is specifically designed only for very short-live tokens (~5 minute or less). Sessions
@JMichaelTX
JMichaelTX / JXA Resources.md
Last active July 24, 2026 18:06
JavaScript for Automation (JXA) Resources

JXA Resources

Revised: 2019-11-28 16:16 GMT-6

JXA

This is a list of the key resources I have found useful. If you know of others, please post in a comment below, and I will add to this list.

I have tried to order this list in the order that, to me, is best for learning JXA from scratch. We all learn a bit diferently, so adjust to suit your style/needs. Please post if you have suggestions on learning JXA.

@aras-p
aras-p / preprocessor_fun.h
Last active October 16, 2026 17:32
Things to commit just before leaving your job
// Just before switching jobs:
// Add one of these.
// Preferably into the same commit where you do a large merge.
//
// This started as a tweet with a joke of "C++ pro-tip: #define private public",
// and then it quickly escalated into more and more evil suggestions.
// I've tried to capture interesting suggestions here.
//
// Contributors: @r2d2rigo, @joeldevahl, @msinilo, @_Humus_,
// @YuriyODonnell, @rygorous, @cmuratori, @mike_acton, @grumpygiant,
@creaktive
creaktive / rule110-full.html
Created August 16, 2012 14:59
Rule 110 HTML+CSS
<!DOCTYPE html>
<!-- http://eli.fox-epste.in/rule110-full.html -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Rule 110</title>
<style type="text/css" media="screen">
body {
-webkit-animation: bugfix infinite 1s;
font-family: "Courier New";