Skip to content

Instantly share code, notes, and snippets.

View tavisrudd's full-sized avatar

Tavis Rudd tavisrudd

View GitHub Profile

See https://ai.googleblog.com/2022/11/making-traversable-wormhole-with.html for a recent advance from Google researchers using their Sycamore quantum computer.

This lead me to ChatGPT to see if it could talk sensibly about this research before the fact and in some way predict the approach used.

Tavis Rudd: Hypothetical ways to make a Traversable Wormhole with a Quantum Computer using AdS/CFT. Discuss it from the perspective of information theory and geometry

One possible approach to creating a traversable wormhole using a quantum computer and AdS/CFT is to leverage the holographic principle, which states that the physics of a gravitational system can be described by a lower-dimensional boundary theory. In the case of AdS/CFT, this boundary theory is a conformal field theory (CFT) that encodes the information about the bulk AdS space.

Using this principle, one could attempt to encode the geometry of the wormhole in the CFT, and then use the quantum computer to manipulate the CFT in order to manipulat

@tavisrudd
tavisrudd / Witness.hs
Last active October 12, 2015 18:11
Messing around with type elaboration from ADT -> GADT
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE ExistentialQuantification #-}
@tavisrudd
tavisrudd / Cheetah_CHANGELOG
Last active January 20, 2016 04:22
The old CHANGES file from the Cheetah project.
2.0 (Oct 12, 2007)
!!!THIS RELEASE REQUIRES RECOMPILATION OF ALL COMPILED CHEETAH TEMPLATES!!!
- fixed exception handling issue in the C implemenation of NameMapper
[patch from Eric Huss]
- fixed filtering of #included subtemplates
[patch from Brian Bird]
See the release notes from 2.0b1-5 and 2.0rc1-8 for other changes since
@tavisrudd
tavisrudd / Lazy infinite streams in Bash
Last active May 23, 2017 14:30
Lazy, infinite recursive sequences in Bash (like in Haskell, if you squint). The result is ugly but interesting.
Lazy, infinite recursive sequences in Bash (like in Haskell, if you squint).
I was inspired by the beautiful Haskell zipWith implementation of the Fibonacci sequence `fibs = 0 : 1 : zipWith (+) fibs (tail fibs)`
to find an equivalent in bash using 'coroutines' and recursive pipes.
My original experiments were https://twitter.com/tavisrudd/status/367164339716751360
"fun w/ recursive pipes: e=echo;mkfifo fib;{ $e 0 1 1 >fib &};{ while read i j k; do $e $i >&2; $e $j $k $(($j+$k));sleep .4; done;}<fib>fib"
and https://twitter.com/tavisrudd/status/367142071489937408
"o=ouro;b=boros;mkfifo $o$b;e=echo; { $e $o > $o$b & }; { while read s;do $e $s>&2;case $s in $o)$e $b;;*)$e $o; esac; done; }<$o$b >$o$b"
@tavisrudd
tavisrudd / alphabet.txt
Created April 11, 2013 06:03
My dragonfly / natlink alphabet code words. I also have the standard NATO phonetic alphabet enabled (https://en.wikipedia.org/wiki/NATO_phonetic_alphabet).
Aff
Brav Bravo
Cai
Doy Delt Delta
Eck Echo
Fay
Goff
Hoop
Ish
Jo
@tavisrudd
tavisrudd / links.txt
Created March 23, 2013 04:55
some links related to my voice coding talk at #pycon
@tavisrudd
tavisrudd / kinesis.txt
Created March 2, 2013 18:10
A partial list of the Kinesis Advantage / Controllermate / Emacs keybinding tweaks I've done.
Remapped on kinesis itself
--------------------------------------------------------------------------------
caps lock -> backspace (freq use)
backspace -> right gui/windows (freq use)
left alt -> return/enter (very infreq use)
right ctrl -> return/enter (freq use)
right gui/windows -> left gui
enter -> right gui (infreq use)
@tavisrudd
tavisrudd / dss-buffer-and-window-handling.el
Created March 8, 2012 07:22
a collection of handy emacs window management functions and a few for buffers
(require 'ibuffer)
(defalias 'list-buffers 'ibuffer)
(require 'ibuffer-vc)
(setq ibuffer-formats
'(
(mark dss-modified vc-status-mini " "
(name 35 35 :left :elide)
;; " " (mode 10 10 :left :elide)
" " filename-and-process)
@tavisrudd
tavisrudd / clojure-ignore-form.el
Created January 27, 2012 19:31
A handy elisp function for inserting, toggling or moving Clojure's #_ reader macro.
(defun dss/clojure-ignore-form ()
"Inserts, toggles, or moves Clojure's #_ ignore-next-form reader macro."
(interactive)
(flet ((in-string-p () (eq 'string (syntax-ppss-context (syntax-ppss))))
(in-comment-p () (eq 'comment (syntax-ppss-context (syntax-ppss)))))
(skip-chars-forward " ")
(while (in-string-p)
(backward-char))
(cond
;; switch from a comment to an ignore form, if paredit is enabled
@tavisrudd
tavisrudd / defmethod.clj
Created January 19, 2012 22:13
add metadata to clojure multifn methods
(defmacro defmethod
"Creates and installs a new method of multimethod associated with dispatch-value. "
{:added "1.0"}
[multifn dispatch-val & fn-tail]
`(. ~(with-meta multifn {:tag 'clojure.lang.MultiFn}) addMethod ~dispatch-val (fn ~@fn-tail)))
(defmacro defmethod-with-metadata
"Creates and installs a new method of multimethod associated with dispatch-value. "
{:added "1.0"}