Skip to content

Instantly share code, notes, and snippets.

View files.py
from collections import deque
import bs4
import requests
def extract_files(site_name):
dirs = deque('/')
result = []
while len(dirs):
path = dirs.pop()
page = bs4.BeautifulSoup(requests.get(site_name + path).text, 'html.parser')
for link in page.find_all('a'):
View nesemu1.cc
// modified version of nesemu1.cc, STL is removed
// clang -fno-threadsafe-statics -lm -fno-exceptions nesemu1.cc `pkg-config sdl --libs --cflags` -Wall -W -pedantic -Ofast -std=c++0x -g -Og && ./a.out Rockman.nes
#include <stdint.h>
#include <signal.h>
#include <assert.h>
#include <math.h>
#include <SDL.h>
/* NESEMU1 : EMULATOR FOR THE NINTENDO ENTERTAINMENT SYSTEM (R) ARCHITECTURE */
@ebraminio
ebraminio / nvpath.c
Last active May 11, 2020
nv path sample
View nvpath.c
// gcc nvpath.c -o nvpath -lGL -lglfw && primusrun ./nvpath
#include <stdio.h>
#include <stdlib.h>
#include <GLFW/glfw3.h>
#ifndef __APPLE__
PFNGLPATHCOMMANDSNVPROC glPathCommandsNV = NULL;
PFNGLCOVERSTROKEPATHNVPROC glCoverStrokePathNV = NULL;
@ebraminio
ebraminio / test.js
Created Apr 7, 2020
naudiodon test
View test.js
const portAudio = require('naudiodon');
var http = require('http');
var clients = [];
http.createServer((req, res) => {
if (req.url === '/data') clients.push(res);
else res.end(`<script>
var context = new AudioContext();
fetch('/data').then(response => {
@ebraminio
ebraminio / a.html
Created Mar 16, 2020
demonstrating layoutng bug
View a.html
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style>
@font-face {
font-family: iransans;
src: url("data:font/ttf;base64,AAEAAAAPAIAAAwBwRFNJRwAAAAEAANH0AAAACEdERUYVzhQ8AADR/AAAAJBHUE9T2pZ3rgAA0owAABV4R1NVQvHy3JkAAOgEAAAFJk9TLzKfIOoCAAABeAAAAGBjbWFw6J3s7AAACTgAAAdIZ2FzcAAIABYAANHoAAAADGdseWYg6RLXAAAUNAAApxxoZWFkE8RzMgAAAPwAAAA2aGhlYRFuB5UAAAE0AAAAJGhtdHgLgBkBAAAB2AAAB2Bsb2NhC+niBgAAEIAAAAOybWF4cAHpAekAAAFYAAAAIG5hbWVc7P65AAC7UAAABgNwb3N0jrcN1gAAwVQAABCTAAEAAAABAAC5josHXw889QAJCPwAAAAA1kPDygAAAADWWGNo+677WAxdCq4AAAAJAAIAAAAAAAAAAQAACWD7UAAADLD7rv28DF0AAQAAAAAAAAAAAAAAAAAAAdgAAQAAAdgA+AAGAO8ABQABAAAAAAAAAAAAAAAAAAUAAQADBO0BkAAFAAAFmgUzAAABHwWaBTMAAAPRAGYDXAAAAgsFBgMIBAICBIAAIAMAAAAAAAAACAAAAABHT09HAEAAAP7/CPz7tAAACWAEsAAAAEEACAAABL8GYwAAACAABQTNAGYAAAAAAloAAAK4AAAD+wBwAhgAkwJwAMAGbwA4BlP/owal/5wGpgB0BGcAbgOaAA8D4gANCoQASAZ6/58HYf+oC0kAbQtkAJQHgP+dB6r/mws0ACgHGAAeBij/nAYv/5UHSwASBfwAbwRy/6QEkf+bBU0AaAR7/50ErP+aB+gAEggcACUFywBhAjn/nAKi/5kF/AA5BNUASQSN/5gEvv+ZBPsANwPeAF4F8
@ebraminio
ebraminio / a.js
Last active Mar 7, 2020
Open a coordinate in JOSM
View a.js
// https://github.com/openstreetmap/openstreetmap-website/blob/e72acaca9b988d41298415d51a10533d3a27e958/lib/osm.rb#L452
function bounds(lat, lon, radius) {
lat = lat * Math.PI / 180;
lon = lon * Math.PI / 180;
var latradius = 2 * Math.asin(Math.sqrt(Math.sin(radius / 6372.795 / 2)**2));
try {
var lonradius = 2 * Math.asin(Math.sqrt(Math.sin(radius / 6372.795 / 2)**2 / Math.cos(lat)**2))
} catch (e) {
var lonradius = PI;
@ebraminio
ebraminio / ct.cc
Last active Feb 20, 2020
Test CTFontCreatePathForGlyph
View ct.cc
// clang a.cc harfbuzz.o -std=c++11 -fno-exceptions -DHAVE_CORETEXT -framework CoreText -framework CoreFoundation -framework CoreGraphics && ./a.out
#include "src/hb-coretext.h"
static void _single_element_callback (void *info, const CGPathElement *element)
{
switch (element->type) {
case kCGPathElementMoveToPoint:
printf ("M%lf,%lf", element->points[0].x * 100, element->points[0].x * 100);
break;
case kCGPathElementAddLineToPoint:
@ebraminio
ebraminio / dwrite.cc
Created Feb 20, 2020
Test GetGlyphRunOutline
View dwrite.cc
// gcc -DHB_NO_MT c.cc -ldwrite && a.exe
// But it gives some apparently random number...
// M0,0 C0,0 0,-536870912 0,0 C0,0 -1610612736,0 0,0 L0,0 L0,0 C1073741824...
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <windows.h>
#include <DWrite_1.h>
#include <d2d1.h>
@ebraminio
ebraminio / a.cc
Last active Feb 22, 2020
Print SVG path from GDI's HFONT using GetGlyphOutlineW
View a.cc
// gcc a.cc -lgdi32 && a.exe
#include <stdint.h>
#include <stdio.h>
#include <math.h>
#include <windows.h>
int
@ebraminio
ebraminio / a.c
Last active Mar 2, 2020
Simple Font Viewer based on HarfBuzz
View a.c
// clang a.c -DHB_NO_MT -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden ../harfbuzz/src/harfbuzz.cc unix/*.c common/*.c `pkg-config --cflags --libs gtk+-3.0` -lm -ldl -Oz -flto -fuse-ld=lld -Wl,--lto-O3 -Wl,--strip-all -Wl,--gc-sections && ./a.out
// a.out = 646K, containing libui and harfbuzz shaping and draw
// i686-w64-mingw32-g++ a.c -DHB_NO_MT ../harfbuzz/src/harfbuzz.cc windows/*.cpp common/*.c -luser32 -lkernel32 -lgdi32 -lcomctl32 -luxtheme -lmsimg32 -lcomdlg32 -ld2d1 -ldwrite -lole32 -loleaut32 -loleacc -luuid -static-libgcc -static-libstdc++ -Wl,-Bstatic -lstdc++ -lpthread -Wl,-Bdynamic
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "ui.h"
You can’t perform that action at this time.