36 karma · joined February 15, 2013
The scare got me very interested in accessibility and I've looked into using Talon with eye tracking and stenography via Plover to improve my ergonomics, but I've never fully committed to any of them, but I'd love to know what communities exist. A Kinesis Advantage and a vertical mouse seem to keep it at bay on all but the longest of work days.
If I need more support while handling shoes, I just sit on the stairs or lean against the wall or hold on to the railing. In other words, there are an abundance of anchor points that aren't free standing.
And thanks for the kind words. This is the first thing I've fabricated out of wood in years. It was very satisfying to finally finish it - metaphorically, as it's not actually stained or sealed.
Instead, the top surface now holds my daily carry gear and anything I need to take with me in the near future, such as gifts for family.
Thankfully synesthesia is really simple - match the string, take the md5 of it, lop off some bits and interpret that as a color. There's no additional structure to superimpose on color selection.
I've been toying with using the idea for forums so that it is easier to keep track of who is replying to whom[2]. I also would like to try using it as a layer on top of traditional syntax highlighting, perhaps as an emacs minor mode - if those can provide colors to the buffer; I've written hardly any elisp and don't know what capabilities are available.
[1] https://github.com/cromo/synesthesia [2] https://imgur.com/E1N1Zsm
I opened the quickstart in Chrome and went all the way through without a hitch until the very end - the last code block doesn't appear to do anything. Clicking submit doesn't update the visible output, nor does it clear the form as the code shows it should.
I'm thoroughly liking the environment other than the hiccups though. I'm not familiar with datalog, but have dabbled a bit in prolog and always liked the way unification felt.
The point of mal is to guide an implementer through the steps necessary for making an interpreter using a language they are comfortable in. It gives some insight into how various constructs are implemented, such as closures and tail call optimization. The purpose is not so much to make a lisp-like language (although that is the outcome), but to learn what goes into making an interpreter for one - especially when you can't lean on the constructs that already exist in the host language.
The use case that drove its development was needing to keep track of UUIDs across multiple logs - and grep --color will colorize its matches, but not differentiate between ones that have different content. With this, I could watch both logs as data was passed from one to the other and keep track of e.g. the orange one.
I also thought it would be nice to be able to use patterns from logstash's grok, so I wrote grokpat[2] to find patterns for me. A lot of grok's patterns use atomic groups, which aren't available in Python 2, so I wrote redi[3] to convert them from grok's syntax to Python compatible syntax.
So I can now colorize logs easily as follows:
tail -F program.log | synesthesia "$(redi "$(grokpat uuid)")"
[1] https://github.com/cromo/synesthesia
[2] https://github.com/cromo/grokpat
[3] https://github.com/cromo/redi