Goals: Add links that are reasonable and good explanations of how stuff works. No hype and no vendor content if possible. Practical first-hand accounts of models in prod eagerly sought.
from enum import Enum | |
import time | |
TEMP_PATH = "/sys/devices/virtual/thermal/thermal_zone0/temp" | |
FAN_PATH = "/sys/class/thermal/cooling_device0/cur_state" | |
class FanSpeed(Enum): | |
OFF = 0 | |
LOW = 1 |
#!/bin/sh | |
# time execution | |
time bin/rubocop -L --stderr $(git diff --name-only --cached | grep '\.rb') | |
# bare minimum | |
bin/rubocop $(git diff --name-only --cached | grep '\.rb') | |
# -L = list files (good to see which one got checked since we don't see the nested command's output | |
# --stderr = may or may not be useful to pipe output there |
Presented by Evadne Wu at Code BEAM Lite in Stockholm, Sweden on 12 May 2023
We have celebrated 10 years of Elixir and also nearly 25 years of Erlang since the open source release in December 1998.
Most of the libraries that were needed to make the ecosystem viable have been built, talks given, books written, conferences held and training sessions provided. A new generation of companies have been built on top of the Elixir / Erlang ecosystem. In all measures, we have achieved further reach and maturity than 5 years ago.
For years, people have been using jemalloc with ruby. There were various benchmarks and discussions. Legend had it that Jemalloc 5 didn't work as well as Jemalloc 3.
Then, one day, hope appeared on the horizon. @wjordan offered a config for Jemalloc 5.
FROM ruby:3.1.2-bullseye
RUN apt-get update ; \
# From page 16 of https://ntruprime.cr.yp.to/nist/ntruprime-20201007.pdf | |
# Linked from https://www.imperialviolet.org/2021/08/26/qrencoding.html | |
def rebase(innums, indenoms, limit, newbase): | |
if len(innums) != len(indenoms): | |
raise "Bad" | |
syms = [] | |
if len(innums) == 1: | |
num, denom = innums[0], indenoms[0] | |
while denom > 1: |
# From https://datatracker.ietf.org/doc/html/draft-msporny-base58-03 | |
# The description on that page is misleading or just wrong. | |
# This was derived from converting the Rust code here: | |
# https://github.com/hachi-bitto/btc-wallet/blob/5dde65a262d3239a23292fc2a4a692994603aeb0/wallet/src/base58.rs | |
TABLE = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" | |
FORWARD = {k:v for (k, v) in enumerate(TABLE)} | |
BACK = {k:v for (v, k) in enumerate(TABLE)} |
I want Microsoft to do better, want Windows to be a decent development platform-and yet, I constantly see Microsoft playing the open source game: advertising how open-source and developer friendly they are - only to crush developers under the heel of the corporate behemoth's boot.
The people who work at Microsoft are amazing, kind, talented individuals. This is aimed at the company's leadership, who I feel has on many occassions crushed myself and other developers under. It's a plea for help.
You probably haven't heard of it before, but if you've ever used win32 API bindings in C#, C++, Rust, or other languages, odds are they were generated from a repository called microsoft/win32metadata.
In the olden days, HTML was prepared by the server, and JavaScript was little more than a garnish, considered by some to have a soapy taste.
After a fashion, it was decided that sometimes our HTML is best rendered by JavaScript, running in a user's browser. While some would decry this new-found intimacy, the age of interactivity had begun.
But all was not right in the world. Somewhere along the way, we had slipped. Our pages went uncrawled by Bing, time to first meaningful paint grew faster than npm, and it became clear: something must be done.
And so it was decided that the applications first forged for the browser would also run on the server. We would render our HTML using the same logic on the server and the browser, and reap the advantages of both worlds. In a confusing series of events a name for this approach was agreed upon: Server-side rendering. What could go wrong?
In dark rooms, in hushed tones, we speak of colours.