Skip to content

Instantly share code, notes, and snippets.

View waywardmonkeys's full-sized avatar

Bruce Mitchener waywardmonkeys

View GitHub Profile

Keybase proof

I hereby claim:

  • I am waywardmonkeys on github.
  • I am bmitchener (https://keybase.io/bmitchener) on keybase.
  • I have a public key ASA2knFEGp-JKEzYbeYnG-fIAlZ_fPia7MHMtZ3QTu_fdQo

To claim this, I am signing this object:

@waywardmonkeys
waywardmonkeys / notes.md
Last active February 6, 2016 05:17
Front end for Network Spaces

A front-end UI for network spaces

I think a lot about what I'd like to see in a front-end for network spaces and related applications.

I would like to have a user interface that permits mixing a command line interface with a GUI. One example of this from the past is that of CLIM, the Common Lisp Interface Manager and the Symbolics Dynamic Windows framework, which was a predecessor to CLIM.

This is not intended to be a completely general application framework (at least at the outset) or to create any sort of user interface. At the outset, it will be limited intentionally to a class of applications and interface styles.

CLIM

D Kalloc_testVobjc_test_suiteI () {
D c_;
D s_;
D T3;
DWORD T4;
DWORD T5;
DWORD T6;
D o_;
D T8_0;
D T9;
@waywardmonkeys
waywardmonkeys / dynamic-class.dylan
Created September 13, 2013 10:43
Testing out creating classes with slots at runtime
Module: dynamic-class
Synopsis: Testing out creating classes with slots at runtime
Author: Bruce Mitchener
Copyright:
define function main (name :: <string>, arguments :: <vector>)
let foo-gf = make(<generic-function>, required: 1, debug-name: "foo");
let bar-gf = make(<generic-function>, required: 1, debug-name: "bar");
let slots = vector(vector(allocation: #"instance",
getter: foo-gf,
module: calvino-glfw3-test-suite
synopsis: Test suite for the calvino-glfw3 library.
define suite calvino-glfw3-test-suite ()
test basics;
end suite;
define test basics ()
glfwInit();
glfwWindowHint($GLFW-VISIBLE, 1);
@waywardmonkeys
waywardmonkeys / awk.pass.cpp
Last active December 14, 2015 13:59
Causes the emscripten relooper to crash (previously caused stack range errors).
//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <regex>
@waywardmonkeys
waywardmonkeys / atomic_flag_clear.pass.cpp
Created February 26, 2013 18:24
emscripten bug with volatile atomic ops.
//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <atomic>
@waywardmonkeys
waywardmonkeys / includes.pass.cpp
Created February 26, 2013 09:48
Test case for possible emscripten compiler bug
//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <algorithm>
@waywardmonkeys
waywardmonkeys / enumeration.dylan
Created December 5, 2015 04:27
enumeration in dylan?
Module: posix-sockets
Synopsis: Auto-generated bindings for the POSIX sockets API.
Author: Bruce Mitchener, Jr.
Copyright: See LICENSE file in this distribution.
define primary class <enumerated-value> (<object>)
constant slot enumerated-value :: <integer>,
required-init-keyword: value:;
constant slot enumerated-name :: <string>,
required-init-keyword: name:;
@waywardmonkeys
waywardmonkeys / bad_tls.s
Created August 24, 2012 02:25
TLS comparison
_KemptyQVKdMM2I:
00000000 pushl %ebp
00000001 movl %esp,%ebp
00000003 pushl %edi
00000004 pushl %esi
00000005 subl $0x10,%esp
00000008 calll 0x0000000d
0000000d popl %edi
0000000e calll _get_teb
00000013 movl 0x15273-0xd(%edi),%ecx