Skip to content

Instantly share code, notes, and snippets.

View eterps's full-sized avatar

Erik Terpstra eterps

View GitHub Profile
<h1>I blog with minimal HTML</h1>
<p>published: 10/02/25 (dd/mm/yy)<br>
updated: not yet
<p>Inspired from <a href=https://devpoga.org/i-blog-with-raw-html">I blog in raw HTML</a>
<p>The blog you're reading is written in minimal HTML.
<p>This (english) blog is at it's first incarnation, the longest lived one (so far). But I have a french blog available too.
# This is a blocklist to block samsung smart tv's sending meta data at home.
# Please help to collect domains!
# It could be that the TV does not receive any more updates or other services no longer work. Please report such an incident.
# https://gist.github.com/Perflyst/315f86393712a0c2107ee8eb58c6acee
0.0.0.0 device-metrics-us.amazon.com
0.0.0.0 samsungacr.com
0.0.0.0 samsungcloudsolution.com
0.0.0.0 samsungcloudsolution.net
0.0.0.0 pavv.co.kr
@eterps
eterps / select.rb
Last active December 12, 2024 15:20
Select
require 'sinatra'
require 'json'
TECH_TAGS = %w[javascript python ruby java rust golang react vue angular typescript]
get('/') { erb :index }
get('/suggest') { TECH_TAGS.grep(/#{params[:q]}/i).to_json }
get('/search') { erb :_results, layout: false, locals: { tags: params[:tags].to_s.split(',').reject(&:empty?) } }
__END__
@eterps
eterps / output.txt
Last active November 25, 2024 21:01
Polislite algorithm (inspired by pol.is)
Consensus Statements:
- Climate change requires immediate action (strong agreement)
Divisive Statements:
- Nuclear power is necessary for clean energy
- Carbon tax should be implemented globally
- Individual actions matter for sustainability
- Companies should be held liable for emissions
Group Positions:
from dataclasses import dataclass
@dataclass
class UnitQuantity:
value: int
@dataclass
class KilogramQuantity:
@eterps
eterps / app.tsx
Last active December 14, 2023 16:08
/** @jsx jsx */
import { Hono, Context } from "https://deno.land/x/hono/mod.ts";
import { basicAuth } from "https://deno.land/x/hono/middleware.ts";
import { serveStatic } from "https://deno.land/x/hono/middleware.ts";
import { jsx } from "https://deno.land/x/hono/middleware.ts";
import { env } from "https://deno.land/x/hono/helper.ts";
import { getProject, setProject } from './project.ts';
import { renderPrompt } from './prompt.ts';
import { getAIOutput } from './ai.ts';
@eterps
eterps / init.lua
Created November 4, 2023 14:57
Starter neovim configuration
local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
'git',
'clone',
'--filter=blob:none',
'https://github.com/folke/lazy.nvim.git',
'--branch=stable', -- latest stable release
lazypath,
})
@eterps
eterps / setup_sway
Created December 7, 2018 12:10
Install Sway (a tiling Wayland compositor) on Ubuntu
#!/bin/bash
set -e
# Based on: https://gist.github.com/concatime/265fa14d260f3aa237ddf991d58dd639
mkdir /tmp/setup_sway
cd /tmp/setup_sway
# === Helpers ===
@eterps
eterps / syscall.rs
Created October 6, 2022 10:26
Call write syscall on x86-64 Linux in Rust
use std::arch::asm;
fn main() {
let str = b"Hello world\n";
unsafe {
let res = syswrite(str.as_ptr() as u64, str.len() as u64);
println!("res: {}", res);
}
}
% bouncing balls
-initialization(main).
main :-
poke(0x4c00, [0x3c, 0x7e, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x3c], D1),
set_colors(0x0ce9, 0x01c0, 0x0ce5, D2),
start(D1, D2).
start([], []) :-