Skip to content

Instantly share code, notes, and snippets.

View wezm's full-sized avatar

Wesley Moore wezm

View GitHub Profile
(** {0 An implementation of a small dependently typed language}
This is an implementation simple dependently typed language where types are
first-class and where the output types of functions may depend on the inputs
supplied to them.
Type checking is is implemented in terms of an {i elaborator}, which checks
and tanslates a user-friendly {i surface language} into a simpler and more
explicit {i core language} that is more closely connected to type theory.
Because we need to simplify types during elaboration we also implement an
require "open-uri"
r = -> { URI(_1).read }
post_dates = r.("https://daringfireball.net/archive/")
.scan(%r{<small>(.+?)</small>})
.map { |(x)| Date.parse(x.gsub("&nbsp;", " ")) }
link_dates = r.("https://daringfireball.net/linked/")
.scan(%r{href="(.+?/linked/20\d\d/.+?)"})
@grahamperrin
grahamperrin / freebsd-wifi-adaptors.md
Last active December 27, 2025 05:35
FreeBSD: Wi-Fi: suggested adaptors

FreeBSD: Wi-Fi: suggested adaptors

There are numerous suggestions, I'm not yet aware of any other collection.

If the list below grows to become useful, someone might like to adapt its content for the FreeBSD wiki.

Suggestions, in chronological order

https://forums.freebsd.org/posts/381779 (2018-03-17)

@p4bl0-
p4bl0- / 00_readme.md
Last active December 1, 2025 16:13
A complete compiler for a simple language (in less than 150 LoC)

This project is a tiny compiler for a very simple language consisting of boolean expression.

The language has two constants: 1 for true and 0 for false, and 4 logic gates: ! (not), & (and), | (or), and ^ (xor).

It can also use parentheses to manage priorities.

Here is its grammar in BNF format:

expr ::= "0" | "1"

@SCG82
SCG82 / hdrtosdr.sh
Last active April 11, 2023 04:38
Convert HDR video to SDR with tone mapping (especially for iPhone 12)
#!/bin/bash
#************************************************
# hdrtosdr.sh *
# v1.0.0 *
# developer: SCG82 ([email protected]) *
#************************************************
USAGE_S="Usage: $0 -s [start time hh:mm:ss] -e [end time hh:mm:ss] -w width -h height -p preset FILE"
USAGE="Usage (arguments are optional): $0 -s [start time hh:mm:ss] -e [end time hh:mm:ss] -w [output width] -h [output height] -p [preset: ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow,placebo] FILE"
@akihikodaki
akihikodaki / README.en.md
Last active March 11, 2026 03:20
Linux Desktop on Apple Silicon in Practice

Linux Desktop on Apple Silicon in Practice

NOTE: Time flies, and it's been almost five years(!) since I wrote this. Beaware the text below is now outdated (e.g., now Asahi Linux has graphics acceleration even better than this). The commands listed are up-to-date.

I bought M1 MacBook Air. It is the fastest computer I have, and I have been a GNOME/GNU/Linux user for long time. It is obvious conclusion that I need practical Linux desktop environment on Apple Silicon.

@luzhuomi
luzhuomi / pocketchip_debian10.md
Last active August 24, 2025 23:31
A tutorial to upgrade NXT pocket C.H.I.P to Debian Buster

Pocket Chip Debian 10 Upgrade Guide

The purpose of this tutorial is to walk through the required steps to upgrade NXT chip (or pocketchip) from debian jessie to debian buster.

If you would like to start your Chip from scratch, follow the steps in the Preparation section.

Preparation (Optional)

A linux host machine, recommended Ubuntu 18.04. However I managed to do it with 20.10 with some tweak.

PWM fan control in Linux with a Gigabyte Aorus motherboard

  • install lm-sensors with your package manager

sensors

If it won't show any fan/speed, continue

sensor-detect

@mgrabovsky
mgrabovsky / glossary.md
Last active November 2, 2022 06:59
Plans for a glossary of terms in the area of programming language theory, type theory and formal methods (PLT, TT, FM)

A

  • abstract data type (ADT)
  • abstract interpretation
  • abstract syntax tree
  • α-equivalence (alpha-equivalence)
  • algebraic data type (ADT)
  • aliasing
  • automated reasoning
  • axiomatic semantics
@tstellanova
tstellanova / state_of_rust_fc_2020.md
Last active May 28, 2025 05:03
Current State of Embedded Rust for Flight Controllers

Introduction

A wide variety of widely-available flight controllers and associated robotics boards have been released in the past five years. These boards incorporate a careful selection of sensors and actuator outputs useful for robotics-- not just for flying vehicles, but also rovers and underwater vehicles. This living document analyzes briefly the compatibility of embedded Rust with these inexpensive and powerful boards.

Overall Utility Issues

General issues that impact the usefulness of embedded Rust with these kinds of boards:

  • No (or fragmented) DMA support. Some embedded HAL crates have DMA support already, but many do not. Almost none of the DMA APIs resemble each other. There is at least one effort underway to unify the DMA APIs