Observations Archives - Wootcrisp

Category: Observations

The faster I run, the faster my to-do list grows, and the faster I see I must run. Every day I swat angrily at the varyingly important tasks that past me has given to present me.

The task list is in chronological order, chunked by day, using a “*” prefix to indicate complete. Had I proper foresight I tell myself, I would have at least used Markdown when I started it, where instead of a * I would have used “* [ ]” and “* [x]” to prefix each line. There are legitimate pros and cons to consider using Markdown however. In this case the most practical benefits of it are that you can denote headings with # or ## or ###, and a strike-through with ~~[item]~~ but you can also make basic tables and embed images the same way you would with html. However, that latter stuff is a little too fine-dining for a personal to-do list in my opinion, as time is really of the essence.

If you’re needing a professional looking to-do list for work or something, then the trade-offs are slightly different. Pure Markdown has some issues. First, you’ll notice that you need to put two spaces at the end of each line for a line break. That’s not very “time is of the essence” in my opinion. And then you will note that rendering Markdown requires a text editor that can do that, and I will not seriously suggest using pandoc terminal commands for a simple to do list, and for a more exaggerated form of that same reason I do not recommend reStructured text for a to-do list. So for text editing I recommend Atom  as it has quite a buffet of packages that are easy to install and allow you to do things like mix Markdown with Latex. While this can tempt you into breaking convention—and therefore portability—because of the idiosyncratic set of packages that will be needed to properly interpret your document, it is easy to imagine recovering that portability with a series of package installation calls at the start of your document like so:

apm install language-latex
apm install language-markdown

I should also note that QOwnNotes  has treated me well for many years as it is very specifically designed to sync with Owncloud/Nextcloud and I’m hesitant to uproot that system for something like “atom-ownsync” which doesn’t seem to get updated very often.


It’s about that time of year where I check in with my mirror dance progress by dancing to the same music that was in my first videos.

2020 original (bad audio): 

2020 director’s cut: 

Last year’s: https://wootcrisp.com/2019/03/05/three-year-mirror-dance-progress/

At first I wasn’t sure what to think about this dance, but now that I’ve just given these videos my undivided attention, while sitting comfortably in the bath with my new bath shelf, and using some nice new headphones I was given for Christmas, I will indeed say that that the dance has its quality moments.

Also, in exchange for a free battery, I will also say that the particular Bomaker “CA-Dolphin Ⅰ” headphones I just watched the video with were worth doing business with, given that I don’t know anything about how they were made. I really would like to believe the company is wholesome, but in this matter I haven’t got a clue as to how I could actually learn something about the company “Bomaker“.

This kind of endorsement uncertainty reminds me of a website I developed about a decade ago: GreenAds.org. The success of a product submitted to this site was based on a combination vote_count and a green_score to rank products similar to something like Reddit. Individuals were incentivized to submit good products because they could include their affiliate id in the url, and publishers could serve a feed of popular items in their banners, swapping in their own affiliate codes in the product feed:

I recently managed to misplace all the code from GreenAds but that’s okay since it was garbage code anyway. The project that motivated GreenAds was Vidipedia.org, and there’s a bit more information about both projects at this Patreon I’ve been trying to work on when I have time: https://www.patreon.com/vidipedia

One of the ways I’ve been procrastinating recently is by thinking half-heartedly about Rubik’s cubes. I’ve never solved one, and don’t want to learn the algorithms, so I slog through some trial and error with it every now and then. To inspire a recent attempt, a few months ago I opened up the chapters on “Cubology” in “Metamagical Themas“, skimmed through some of it, then put on the Go Pro, and gave a newly acquired 2x2x2 cube the old college try. In what seemed like the blink of an eye the Go Pro was out of battery and I was sitting on near 18GB of boring footage from several attempts.

This scared me enough to not try again for a few months, but my mind has returned to the topic twice since then, and it recently led to a possible coincidence.

The first time my mind returned to the Rubik’s cube is an aside from this story, but I think worth mentioning and should be of interest to the general reader. I was trying to think of a more dynamical way to connect a set of neural fields such that each field doesn’t have to be fully connected to each of the other fields in order for them to be jointly capable of representing their entire space of combinatorial possibilities. The “dynamic neural field theory” (DNFT) approach to cognitive representation can already incorporate something like this in two ways. Multidimensional representations are typically decomposed into a set of fields that maintain bidirectional projections with each other through a common field. This is very useful because neural fields with more than 2 dimensions are challenging to simulate [1]Possibly the only “integral” 3-dimensional construct that we have is “colour”, according to \textcite{Shepard2001}: “We may need three dimensions of color not because the surfaces of objects vary in just three dimensions but because we must compensate for the three degrees of freedom of natural lighting in order to see a given surface as having the same intrinsic color regardless of that illumination”.  It’s a very complex issue, but I often return to the 4-layer colour encoder-decoder network reported in \textcite{Lehky1999} when I’m trying to think about modeling representations of colour: “A particular ratio of activities in the population of wavelength tuning curves is assigned the label “white,” and the distribution of wavelengths that caused it does not matter. The set of all labels forms a qualia space. In this way the system avoids dealing with a difficult inverse problem and instead does something simple but perhaps behaviorally useful. Information is lost in this process, but the information that remains appears useful enough that there are evolutionary advantages to developing such systems.”. In this talk by Sebastian Schneegans we can see  some methods to bind representations across 3 feature dimensions, like, for example, with 3 separate 1-dimensional fields, and a single 2-dimensional field, similar to what’s happening here:


In combination with a kind of “use-it-or-lose-it” strengthening and weakening of the connections between these fields—“competitive learning”, “sparse coding”—the computational burden is lessened dramatically. But this is not quite what I had in mind when I was thinking about Rubik’s cubes. Rather, I wanted some way to go from a representational space with a fixed frame of reference for each field, like small-medium-large, to a relative frame of reference like small_fruit-medium_fruit-large_fruit, via a sequence of discrete operations on just the actual set of fields themselves. Naturally, this made me think of the Rubik’s cube again, with the faces being a set of 6, 2-dimensional fields. I think it could be useful to think of each “facelet” location on a face of the cube as having a receptive field centered on a “preferred” distance for the transforms that move that facelet to a location on another face. The decision to rotate the cube in a particular way, would originate from integrating activity for each location, given that location’s rotation distance “preferences”/receptive-field. It’s weird to think of Rubik’s cubes solutions as requiring decision procedures based on this. Now before you say “it’s not weird that the Rubik’s cube solver would need a decision procedure using information like that, and it’s irrelevant to what a Rubik’s cube metaphysically is”, let me discuss the next time I thought of the cubes.

The second time I thought of the cubes since my failed attempt at solving the 2x2x2, was this evening, as I tried to wrestle my mind into focusing on something properly erudite. I opened Metamagical Themas once again and began reading “Magic Cubology” in earnest. In particular I was looking for the page containing that most interesting of anecdotes about Rubik’s Cubes that I had never forgotten: Rubik’s cubes are thought to be a model of quarks. I wanted to photograph this page for a new collection of curiosities that I’m putting together, possibly as a daily picture site.

It was just at this point, that my girlfriend came in the room and asked if I wanted to finish watching “Planes, Trains, and Automobiles” with Steve Martin and John Candy. This is where the coincidence happens. A few minutes into the movie, my mind conjured up an old picture of Steve Martin holding “Metamagical Themas”:


What are the chances? We had been watching the movie a bit last night, so Steve Martin likely activated the idea I have of him as being an erudite celebrity, and I think he does look a bit like Douglas Hofstadter, but…Metamagical Themas was also laying next to my bed from where we watched the movie so that might have suggested the movie in conjunction with Thanksgiving time. Alternatively, I had been humming and hawing over whether to make a “daily curiosity” site or just a montage of curiosities as part as an art piece in an upcoming gallery I’d like to release in time for Christmas. This humming and hawing may have provoked me into opening the book this evening, and the memory of Steve Martin’s picture may be a genuine coincidence.



1 Possibly the only “integral” 3-dimensional construct that we have is “colour”, according to \textcite{Shepard2001}: “We may need three dimensions of color not because the surfaces of objects vary in just three dimensions but because we must compensate for the three degrees of freedom of natural lighting in order to see a given surface as having the same intrinsic color regardless of that illumination”.  It’s a very complex issue, but I often return to the 4-layer colour encoder-decoder network reported in \textcite{Lehky1999} when I’m trying to think about modeling representations of colour: “A particular ratio of activities in the population of wavelength tuning curves is assigned the label “white,” and the distribution of wavelengths that caused it does not matter. The set of all labels forms a qualia space. In this way the system avoids dealing with a difficult inverse problem and instead does something simple but perhaps behaviorally useful. Information is lost in this process, but the information that remains appears useful enough that there are evolutionary advantages to developing such systems.”

A moment ago I found myself trying to explain why “Graham’s number” was more exciting to learn about than what it sounds like, i.e. it’s “just” a really big number. No no. This number expands your notion of what “big” actually means, because you need to learn about the operation that succeeds exponentiation in order to understand it: “tetration”. This Numberphile does a great job at explaining it.



As I was trying to explain the excitement of this number it occurred to me that I better understood how Douglas Hofstadter would remember his childhood feeling of disappointment in learning that a subscript like n in x_n, does not refer to something as interesting as exponentiation, like x^n.



So what is the hyperoperation (x[5]r) beyond tetration (x[4]r)? It is called “pentation”:




There is something incredibly satisfying about beating a corrupt system. I am currently posting this from behind a pay-for-use gateway at the Mexico City airport, connected to the internet using a DNS tunnel provided by an Android app called Slow DNS. All around the airport are signs saying “free wifi”, it just happens that this is a lie. There is no airport wifi, but there is “free wifi” available if you have an account with a telecom provider like Telcel. I do have an account with Telcel but was simply unable to have my credentials authorized. This is extra annoying because, 1) I ran out of data a few hours ago and, 2) I had to go to the airport early.

Frustrated, I tried to buy a drink at a bakery offering “free wifi” to customers, but was told that a drink would not be sufficient to elicit the password, and I certainly wasn’t going to pay Vancouver prices for a croissant. Fuming mad, I decided to try and use the Slow DNS app I downloaded last week as a stop gap measure until I have the time to get iodine installed on one of my servers. To my total shock it is actually working.

What is a DNS tunnel? For the lay person, it is sufficient to say that it is a way of stuffing normal internet traffic into the much more restricted little internet that allows you to access corporate pay-for-use gateway pages. More advanced readers might want to read a more detailed explanation here.

I have been looking for an excuse to do some DNS tunneling for almost 20 years and finally, finally, I have the tools and moral righteousness to do it.

It feels so good. You simply must try it for yourself. Just make sure the websites you visit are “https” and not “http”. I have no idea who runs Slow DNS and it’s best to assume you’re being watched.

Of the many important ideas that the renowned physicist Geoffrey West explains in his recent book “Scale“, several of his remarks about temperature stuck out as demanding more widespread attention:


I first heard West talk about these ideas in his interview on Sean Carroll’s Mindscape podcast. I must say that he came across as quite pompous in this interview, but it became clear over the course of the interview that his research was uniquely important.  In my view, his book is essential reading for any scientist.  


Obtaining EOS cryptocurrency has recently gotten a whole lot less brutal. See the guide below if you don’t care about my life story.

[optional backstory]

Earlier this year I did some consulting work that exposed me to two very promising seeming blockchainy projects: IOTA and EOS. I’ll describe the basic ideas for both, but I should say that my technical knowledge of these projects is at best superficial. In the case of IOTA, it turns out the “internet of things” is not the joke that a lot of people, including myself, had thought it to be. Having your fridge connected in an information network to your toaster actually does make sense in a lot of scenarios. Blockchains are not necessarily ideal for recording the micro-transactions that these kinds of connections might produce however, because the records pile up and aren’t very interesting. IOTA is a cryptocurrency that promises to deliver the useful elements of a blockchain (secure, decentralized) using a lightweight data structure called a “Tangle”:

The IOTA project appears to me to be quite serious, with major companies like Volkswagen and Fujitsu embracing the technology

The EOS project is just impressively ambitious. Using a technology called “delegated proof-of-stake” EOS appears to solve some of the problems encountered by the lovable proof-of-stake based Peercoin project, by being less extreme in its commitment to “decentralization”. Owning some EOS entitles you to vote for “block producers” who do all the hard work of verifying transactions, in addition to offering computing resources to their voting base. Only the top 21 vote receiving block producers are entitled to block rewards, which makes for a competitive dynamic that could feasibly retain the security of total decentralization, with some of the benefits of centralization (e.g., less wasteful mining). It has taken a jaw-dropping amount of thinking to pull this off. The company behind it all, block.one, raised billions of dollars that it now uses to support the development of the system. This includes a governance model that actually clearly defines how disputes and changes to the system can be resolved. In my view, the project makes my own forays into cryptocurrency voting ideas, specifically with votecoin.com, totally pointless.

There is much much more to say about EOS, but the point of providing all this backstory is to motivate this step-by-step guide. Trying to obtain EOS was a very trying experience. I literally failed to do so until just recently, and I would rank the difficulty almost as high as trying to get my nvidia GPU to play nice with Ubuntu. In terms of time spent failing and time spent ruminating on the issues, I’ve surely crossed the 100 hour mark since June. I am delighted that my favourite blockchain project of last year, Bancor, ended up being the saviour in this story.

[/optional backstory]

Step-by-step guide to obtaining EOS

*Assumes you already have some Ethereum. If not, it is easy enough to obtain, e.g., CoinSquare 

1. Install EOS Lynx on your phone. This costs money, but you need money in your EOS wallet to do anything.

2. Export your EOS Lynx keys to your computer.

3. Download and setup Scatter desktop and Scatter browser plugin and import EOS Lynx private key.

4. Make an account on bancor.network, and install MetaMask browser plugin. Follow the directions in this video EXACTLY. In summary:  A) Transfer Ethereum to BNT using MetaMask plugin on bancor.network (do no not use “Bancor wallet”), B) Transfer MetaMask Ethereum to MetaMask BNT using x.bancor.network, C) Transfer MetaMask BNT to EOS using eos.bancor.network 

You will not be able to buy EOS until you have enough EOS “staked” for CPU resources, which you can do using your Scatter desktop “Vault”. Great. So you can’t buy EOS until you have EOS. To solve this you’ll need to use “CPU Emergency“, fail, install Telegram, join the “CPU911” telegram group, and beg them to give your EOS account some CPU resources. Also note, that you require a balance in your ETH wallet on Bancor.network in order to process any transaction, even when not using that Ethereum balance in the transaction. 

5. You now have EOS, but you should also attach your Scatter wallet to EOS Toolkit to vote for some block producers. Voting is important. I have voted for LiquidEOS using their custom application because Bancor deserves it, but spread your votes out. 

I am traveling to Mexico for a few months, and the near constant media coverage of the violence here eventually led me to start thinking more seriously about safety. What started as a passing attempt to reassure friends and family that there was little reason to worry, reminded me of the actual interest I have in the topics of adventure travel and communication secrecy. In my early twenties for example, I hitchhiked around several countries in Central America, without knowing any Spanish, comforted, naively, by the two machetes protruding from out my backpack.

As a teenager, I thoroughly enjoyed Robert Young Pelton’s “The World’s Most Dangerous Places” which includes a good chapter on kidnapping related issues, but looking on it now, the information feels like it could use a bit of an update. At the time it was published, Mexico, evidently, trailed only Columbia in terms of kidnappings,

yet these more recent statistics show my home country of Canada as much further ahead: 

I honestly don’t know how this is possible, and it must have something to do with the methodological differences between the “Hiscox” rankings used in the former, and the latter’s UN sourced rankings. It’s hard to know what the actual risks are for a penniless homebody like myself but I nonetheless began to write out some strategies for communicating with friends and family in the event that I find myself in danger.  Some brief Googling revealed a paucity of articles that could help the casual traveller develop such strategies. So here is what I’ve thought about so far, though I would be curious to hear the suggestions that others might have in the comments.

  1. Agree on a strategy with trusted friends and family in advance.
  2. Keep location updated using a real time GPS tracking device or cell phone based GPS logger, and share the map with trusted contacts.
  3. Communicate using variations of names, places, contact information, and contact sequences. Examples:
    • Referring to your brother Jon as Jonathon could mean “duress = low”.
    • First contact made by emailing wootcrisp.parents@gmail.com could mean “location = unknown”.
  4. It is much easier to remember a location using what3words than it is to remember a GPS coordinate. These words will encode any location on earth within 3m2. For example, “skirt,shopper,computer“. How you would know these words and not be able to email for help, is a separate question.
  5. Phone apps that act as “dead man’s switches” can be used to trigger SMS messages containing notes and GPS coordinates, in the event that a notification is not responded to. The app I’ve been using was simple enough to setup and works as it should, so long as the phone doesn’t go to sleep (see edit at bottom). An SMS message to a private security firm could instruct them to send a car to that location for a small fee. 

As partially complete as this list is, the story doesn’t end just yet. The glib imagination of much modern sci-fi – evident in shows like Black Mirror and the horrifying psychological tortures used by the Klingons in the first season of Star Trek Discovery – led me to some of the academic literature on, what I can only refer to as, “mental secrecy”.  This “Ridealong” I recorded last year, looks at a paper by Ravi2007 that reports the use of an event-related potential (ERP) extracted from the EEG of an individual’s idiosyncratic electroencephalogram (EEG) in response to a simple visual stimulus. 

What differentiates this paper from other biometric cryptography methods in my view, is that the individual’s unique ERP used as the cryptographic key comprises averages from 61 electrode channels, which I have to think would be quite different when generated from a halcyon versus duressed state of mind. What this could mean then, is that your mind could store secrets that are only accessible if you don’t feel coerced. Maybe. If so, I think the ramifications are pretty obvious in the current context, and truly spectacular as a source of future ideas.

edit1: I’ve just come across a new article on this topic that I look forward to checking out: 

Lin, F., Cho, K. W., Song, C., Xu, W., & Jin, Z. (2018). Brain Password. Proceedings of the 16th Annual International Conference on Mobile Systems, Applications, and Services – MobiSys ’18, 296–309. http://doi.org/10.1145/3210240.3210344

edit2: It took a while to figure out where this setting was stored: Apps & Notifications >> Apps >> Settings >> Special access >> Ignore battery optimization >> set apps you want don’t want “dozed” by Android’s sleep function, to “Allowed”.

Wootcrisp ©2021. All Rights Reserved.