Skip to content

Instantly share code, notes, and snippets.

@Tetralux
Tetralux / tiny.zig
Last active March 11, 2023 10:37
A simple example of a calculator programming language that compiles to native code!
//
// A simple example of a calculator programming language, that compiles to native code!
//
// Written by Tetralux <tetraluxonpc@gmail.com>, 2023-03-09.
//
// Programs are a string that you pass as an argument in the form of a mathmetical expression.
// e.g: '10 + 4 - 1 + 7'.
// This program will generate some Zig code that computes the answer, and prints it to stdout.
// It then will invoke the Zig compiler as a subprocess to compile and run this program.
//
@doccaico
doccaico / main.zig
Last active March 25, 2024 16:00
Conway's Game of Life
// Build: zig build-exe -O ReleaseFast --strip src/main.zig
// Run: zig build run -- -w 70 -h 40 -m "*" -s 0.07 -c 25
// Version: 0.10.0-dev.3475+b3d463c9e
// Date: 2022/08/09
const std = @import("std");
const fmt = std.fmt;
const mem = std.mem;
const os = std.os;
@LewisGaul
LewisGaul / zig-blog-posts.md
Last active August 10, 2025 13:50
Collection of blog posts about the Zig programming language
@probonopd
probonopd / Wayland.md
Last active April 28, 2026 23:52
Think twice about Wayland. It breaks everything!

Think twice before abandoning X11. Wayland breaks everything!

tl;dr: Wayland is not "the future", it is merely an incompatible alternative to the established standard with a different set of priorities and goals.

Wayland breaks everything! It is binary incompatible, provides no clear transition path with 1:1 replacements for everything in X11, and is even philosophically incompatible with X11. Hence, if you are interested in existing applications to "just work" without the need for adjustments, then you may be better off avoiding Wayland.

Wayland solves no issues I have but breaks almost everything I need. Even the most basic, most simple things (like xkill) - in this case with no obvious replacement. And usually it stays broken, because the Wayland folks mostly seem to care about Automotive, Gnome, maybe KDE - and alienating e

@fvclaus
fvclaus / README.md
Last active January 8, 2024 16:16
Run vscode tasks with nvm

Nvm does not work in vscode tasks, because tasks are run without a shell. .bashrc is not loaded and the nvm command is unknown.

My solution uses a wrapper script around /bin/bash that reads in the correct node version from .npmrc in the project folder.

#!/bin/bash

set -e

if [[ "$2" == nvm* ]]; then

export NODE_VERSION=v$(cat .nvmrc)

@JoelQ
JoelQ / elm-types-glossary.md
Last active March 30, 2025 21:26
Elm Type Glossary

Elm Types Glossary

There's a lot of type terminology and jargon going around when discussing types in Elm. This glossary attempts to list some of the most common type terms along with synonyms, terms from other language communities, examples, and links to more detailed articles on each topic.

@rofrol
rofrol / moje wnioski macbook vs.md
Created April 26, 2018 13:00
moje wnioski macbook vs
  • macbook ma najlepszy touchpad
  • oprogramowania mniej niż na Windows, a jeśli już to płatne. Ale to i tak lepiej niż Linux gdzie jest stary Skype, nie można udostępniać ekranu w Slacku, nie ma wielu programów. Czasami jest jakiś program na maca którego nie ma na Windows jak np. Sketch.
  • przełączanie między aplikacjami: Mi na przykład bardziej pasuje zmiana programu przez alt+tab niż przesuwanie trzema palcami lub pokazanie wszystkich okien. Dodatkowo to pokazanie nie zawsze pokazuje miniatury. Nie wiem od czego to zależy. Dodatkowo przełączanie cmd+tab na macu grupuje aplikacje zamiast pokazać wszystkie okna. Jest hyperswitch ale on nie zachowuje stałej kolejności choć może jest to w opcjach. Dodatkowo niektóre aplikacje nie pokazują się przy używaniu hyperswitch jak są w fullscreen, np. zoom.us.
  • zewnętrzny monitor: nie da się z domyślnym oprogramowaniem zrobić only extrnal. Zainstalowałem jeden otwartoźródłowy i polecany, to wyłączył mi dwa ekrany
  • na zewnętrznym monitorze znika mi czasami kursor - musz
@jan-warchol
jan-warchol / sync-history.sh
Last active November 7, 2025 03:40
Synchronize history across bash sessions
# Synchronize history between bash sessions
#
# Make history from other terminals available to the current one. However,
# don't mix all histories together - make sure that *all* commands from the
# current session are on top of its history, so that pressing up arrow will
# give you most recent command from this session, not from any session.
#
# Since history is saved on each prompt, this additionally protects it from
# terminal crashes.
@bgourlie
bgourlie / mortality.md
Last active December 2, 2017 21:54
Interpreting DUSCMPUB-formatted mortality data

Interpreting mortality data in DUSCMPUB format

This gist explains how to interpret the DUSCMPUB-formatted mortality data found [here][1] in conjunction with the [reference PDF][2].

The [reference PDF][2] uses 3 components to describe the type of data, its location within the row, and its size:

  • data item: A specific datapoint, for example, a value representing the highest completed level of education.
  • tape location: The column within the line where a data item is located. Each character in a line represents a column, with each line having 472 columns.
  • size: The number of columns used to represent a particular data item.
@evancz
evancz / data-interchange.md
Last active December 27, 2025 05:40
Why do I have to write JSON decoders in Elm?

A vision for data interchange in Elm

How do you send information between clients and servers? What format should that information be in? What happens when the server changes the format, but the client has not been updated yet? What happens when the server changes the format, but the database cannot be updated?

These are difficult questions. It is not just about picking a format, but rather picking a format that can evolve as your application evolves.

Literature Review

By now there are many approaches to communicating between client and server. These approaches tend to be known within specific companies and language communities, but the techniques do not cross borders. I will outline JSON, ProtoBuf, and GraphQL here so we can learn from them all.