Skip to content

Instantly share code, notes, and snippets.

fischman /
Last active Oct 16, 2021
This gist is a "table of contents" for some finished versions of things I've designed, either for 3d-printed or lasercutting.


The designs below use OpenJSCAD V1 which has long been superceded by the incompatible V2 API. Links are to a kindly-provided V1 host that may not stick around forever, in which case V1 -> V2 migration guide may come in handy.

Also references/links are made to a Google+ community and posts, all of which were et by the Google+ turndown.

Tapered text

Prompted by a G+ post I hacked up a demo of tapered text


Keybase proof

I hereby claim:

  • I am fischman on github.
  • I am ami ( on keybase.
  • I have a public key whose fingerprint is 326F 3B6A 660B 9CB0 637D AA17 A678 6237 68A5 6A7C

To claim this, I am signing this object:

fischman / shell log
Created Jul 11, 2013
Example of negation in gyp
View shell log
fischman@fischman-linux ~/t $ GYP_DEFINES="base=0" GYP_GENERATORS=ninja ~/src/chromium/src/tools/gyp/gyp --depth=. t.gyp && grep NEGATION out/Default/obj/
cflags = -DNEGATION_1
fischman@fischman-linux ~/t $ GYP_DEFINES="base=1" GYP_GENERATORS=ninja ~/src/chromium/src/tools/gyp/gyp --depth=. t.gyp && grep NEGATION out/Default/obj/
cflags = -DNEGATION_0
fischman / gist:3654045
Created Sep 6, 2012
vdpau-driver use-after-free
View gist:3654045
==25091== ERROR: AddressSanitizer heap-use-after-free on address 0x7f1d93f98188 at pc 0x7f1d85f33161 bp 0x7f1d7bc16e30 sp 0x7f1d7bc16e28
READ of size 8 at 0x7f1d93f98188 thread T4
#0 0x7f1d85f33160 in render_thread /home/fischman/va-craxy/vdpau-driver/src/vdpau_video_x11.c:85
#1 0x7f1de231613b in __asan::AsanThread::ThreadStart() ??:0
0x7f1d93f98188 is located 264 bytes inside of 2304-byte region [0x7f1d93f98080,0x7f1d93f98980)
freed by thread T0 here:
#0 0x7f1de23131b5 in __interceptor_realloc ??:0
#1 0x7f1d85f0e38a in object_heap_expand /home/fischman/va-craxy/vdpau-driver/src/object_heap.c:62
#2 0x7f1d85f0e63b in object_heap_allocate /home/fischman/va-craxy/vdpau-driver/src/object_heap.c:104
View gist:3231029
fischman@trap ~/src/chromium/src/third_party/WebKit {b92881} $ echo -e "file://`pwd`/LayoutTests/jquery/traversing.html\nfile://`pwd`/LayoutTests/media/video-poster-blocked-by-willsendrequest.html" | ../../ninja/Debug/DumpRenderTree --pixel-tests -
Xlib: extension "RANDR" missing on display ":0.0".
ALERT: 198 tests of 198 passed, 0 failed.
Content-Type: text/plain
Content-Type: text/plain
Test for
View gist:3099718
<class 'google.appengine.api.datastore_errors.Timeout'>: The datastore operation timed out, or the data was temporarily unavailable.
Traceback (most recent call last):
File "/base/data/home/apps/chromium-status/r118900.356331869415836973/", line 74, in <module>
File "/base/data/home/apps/chromium-status/r118900.356331869415836973/", line 132, in bootstrap
config = db.GqlQuery('SELECT * FROM GlobalConfig').get()
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/", line 2101, in get
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/", line 2313, in next
return self.__model_class.from_entity(
View gist:2921204
commit 7dbe5ab20cdf7b014f1697d97908dd81100ca878
Author: Ami Fischman <>
Date: Tue Jun 12 18:18:47 2012
Better impl of MakeCurrent
diff --git a/content/common/gpu/media/ b/content/common/gpu/media/
index 39dd80f..e782235 100644
--- a/content/common/gpu/media/
+++ b/content/common/gpu/media/
View gist:2913124
diff --git a/Source/WebKit/chromium/src/WebLayerTreeView.cpp b/Source/WebKit/chromium/src/WebLayerTreeView.cpp
index fed3db9..7de17fd 100644
--- a/Source/WebKit/chromium/src/WebLayerTreeView.cpp
+++ b/Source/WebKit/chromium/src/WebLayerTreeView.cpp
@@ -167,7 +167,10 @@ void WebLayerTreeView::finishAllRendering()
WebGraphicsContext3D* WebLayerTreeView::context()
- return GraphicsContext3DPrivate::extractWebGraphicsContext3D(m_private->layerTreeHost()->context()->context3D());
+ WebCore::CCGraphicsContext* c = m_private->layerTreeHost()->context();
View gist:2913101
(gdb) bt
#0 0x00007f2cb89daa32 in WTF::RefPtr<WebCore::GraphicsContext3D>::get (this=0x20) at ../../third_party/WebKit/Source/WTF/wtf/RefPtr.h:58
#1 0x00007f2cb89da8ea in WebCore::CCGraphicsContext::context3D (this=0x0) at ../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/cc/CCGraphicsContext.h:47
#2 0x00007f2cb89da874 in WebKit::WebLayerTreeView::context (this=0x7f2cb496faf8) at ../../third_party/WebKit/Source/WebKit/chromium/src/WebLayerTreeView.cpp:170
#3 0x00007f2cb8a17096 in WebKit::WebViewImpl::graphicsContext3D (this=0x7f2cb496f880) at ../../third_party/WebKit/Source/WebKit/chromium/src/WebViewImpl.cpp:3659
#4 0x00007f2cc083065a in RenderViewImpl::createMediaPlayer (this=0x7f2cae18d000, frame=0x7f2cad4d6e00, client=0x7f2cac8a43d0) at ../../content/renderer/
#5 0x00007f2cb89db5bb in WebKit::createWebMediaPlayer (client=0x7f2cac8a43d0, frame=0x7f2caccb6000) at ../../third_party/WebKit/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:56
#6 0x00007f2cb
View LayoutTests:http:tests:security:video-cross-origin-allow.php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET");
header("Access-Control-Allow-Headers: origin, accept-encoding, referer, range");