Skip to content

Instantly share code, notes, and snippets.

View drewc's full-sized avatar
🏠
Working from home

Drew Crampsie drewc

🏠
Working from home
View GitHub Profile
@drewc
drewc / gist:5f260537b7914a2b999c8a539fb48098
Last active October 6, 2023 20:10
gerbil-swank for wiki?
━━━━━━━━━━━━━━━━━━━━━━━━━
I LOVE A SLIME'Y SWANK!
Drew Crampsie
━━━━━━━━━━━━━━━━━━━━━━━━━
Table of Contents
─────────────────
(declare (block) (standard-bindings) (extended-bindings))
(begin
(define drewc/gurf/surf#surf-driver!
(lambda ()
(letrec* ((_min-sleep119_ '1e-5)
(_max-sleep120_ '.05)
(_sleep-incr121_ '1e-8)
(_sleep122_ _min-sleep119_)
(_sleepy123_
(lambda ()
(import (for-syntax :drewc/gsf/glib) :std/foreign
:drewc/gsf/glib :std/srfi/13)
(export read-bytes-from-input input-tell input-seek input-byte-position)
(begin-glib-ffi (read-bytes-from-input input-tell input-seek G_SEEK_SET G_SEEK_CURR G_SEEK_END)
(c-declare #<<END-C
#include <gsf/gsf.h>
(user)> (def (pregexp-match* re str (start 0) (end (string-length str)))
(def (%m start end)
(if (= start end)
'() (let ((first (pregexp-match-positions re str start end)))
(if (not first) '()
(cons (cadr first) (%m (+ 1 start) end))))))
(let ((idxs (delete-duplicates (%m start end) equal?)))
(map (lambda (idx) (substring str (car idx) (cdr idx))) idxs)))
#!void
defsyntax (define-endpoint stx)
(def (%defvar name match in)
(let ((e (gensym))
(i (gensym))
(c (gensym))
(varname (string->symbol (format "~A::endpoint"
name))))
`(define ,varname
(let ((,e
(defun sequence-right-trim (thing sequence)
(let ((last (elt sequence (- (length sequence) 1))))
(if (equalp thing last)
(subseq sequence 0 (1+ (position-if-not (lambda (c) (equalp c thing)) sequence :from-end t)))
sequence)))
* Install
** libs
#+BEGIN_SRC shell
sudo apt-get install openssl libssl-dev \
sqlite3 libsqlite3-dev build-essential automake zlib1g-dev \
liblmdb-dev libtool libjson-perl
#+END_SRC
** Gambit
@drewc
drewc / gist:4711189368050e510609
Created October 27, 2015 18:38
Verifying that +drewc is my blockchain ID. https://onename.com/drewc
Verifying that +drewc is my blockchain ID. https://onename.com/drewc