A week spent coughing, writing Java, and watching Andor. First World Problems hah. Not bad in the scheme of things! :)
Virtual errands, GPU token generation. Oh right, Alloy
Pairing, unicode tokens, graphviz bling
Pairing, learning about LLM KV-caching
Applied LLM Demos; basic token output visualization with graphviz
Llamas, Pythons, Coffee, and Sway
Some notes and thoughts on Peter Kriens' video, as posted on the Alloy Discourse
Fuzzy brained, but starting to figure this thing out.
Packing up for my 6-week batch at the Recurse Center.
I'm attending The Recurse Center for 6 weeks from March 25 - May 3.
Sharing some thoughts on my Recurse Center project, exploring how to bring Alloy or similar tools into the Day Job.
I'm attending a 6-week retreat at Recurse Center! This will go from March 25 - May 3. So ... gotta get set up!
I'm trying to solidify my understanding of the schema organization for Human Essentials. The goal is to build up some documentation to make contribution even easier for new folks. Also I like to play with PlantUML and GraphViz.
Reflections on Github Copilot and AI coding assistants.
I found a weird self-published book in a street-side Little Library. Here is my review.
Using OpenAI API GPT-3.5 to generate and judge stories.
Creating a simple snake game with the help of ChatGPT.
Notes from the Changelog interview with Cory Doctorow on Chokepoint Capitalism
Jam with Theo -- banging drums, strumming bass, and making up nonsense about Wanda Vision!
Song inspired by Hoda The Dog lounging about in the living room sun!
Here you can play all the music I've written or been involved with in one lovely place. Also check out my Music Gear and Setup!
A delightful song about that one shoe you can't seem to find!
Initial attempt at My Little Dog, part of the 2023 RPM Challenge
I'm going to try to do the RPM Challenge again this year. Millionth try is a charm?
An exploration of mitigating project risks with frequent deploys and prioritizing end-to-end execution.
I had ChatGPT write me a poem .... but first some somewhat irrelevant background information!
During the COVID-19 pandemic I worked with an awesome group to build a harm-reduction dataset. The https://covidcanidoit.org/ website teaches people what to do and not to do based on current community-risk levels.
A hexagon-grid sound and sequence memory game.
Pair a keyboard with the Norns and Grid. Then you record commands like a set of timed and sequenced macros visible and triggered on the grid. Like a guitar-looper mashed up with a REPL mashed up with a sequencer!
For a raw directory view of my projects, see the TLT:projects/ projects directory. The raw view is sorted roughly by language... but it is difficult from the direct listings to figure out which projects are worth looking at. Thus I present here a list of programming-related projects, and the tools and languages I might use to create them.
In today's sugary exploration, let's take a look at a shorthand for object key expansion in Javascript (ECMAScript 2015+, es6+). For an overview of the TON of delicious sugar that was added to Javascript at around es6, check out es6-features.org.
A brain-dump of various approaches to debugging (code) things that I like.
We're using Firebase as the hosting service for https://covidcanidoit.com and the experience has been kinda weird, coming from a more traditional server-database world.
Cool things I saw on the internet at some point:
I got a Pocket Operator PO-33 a while back, and find it super fun -- it is minimalist and usable. It inspires me to play around with beats and tunes ... and it also inspires me to work on my own samplers, sequencers, and synths.
I made this by sampling some random Jazz, looping it, and layering in some drums and effects -- all using my fun Pocket Operator PO-33!
I'm working on making the jump from READING about recent machine learning techniques to APPLYING recent machine learning techniques. I have some nice datasets at work, so I am doing a bit of double-dipping by playing with those.
The graph module uses GraphViz to draw graphs. Here are some examples I've put together, but much fancier thinges are possible. See http://www.research.att.com/sw/tools/graphviz/refs.html for GraphViz documentation, and see http://www.research.att.com/sw/tools/graphviz/examples/ for some examples.
Generative artwork, floating and fading.
(Cats Dominate Our Lives Too Much)
I think it's important to learn through destruction. I like to proble the edges of things, and one of the best ways of knowing where IS the edge is to go over it. So ... let's go over the edge.
I've been doing a spot of accounting at work over the last few months. This is clearly a failure of delegation and management on my part, but it has led to at least one deep observation that I mightn't have had otherwise.
Un-Mixed: (download)
I Dockerized this website yesterday! I had already built a cpanfile that declares the Perl5 dependencies of OddMuse, which made it easy. I'm also going to run this with the data directory directly bind-mounted.
I gave a lightning talk at The Perl Conference about my collection of Perl6 Colons. Looks like Geoff gave me 34 extra seconds... not sure that I approve :)
I've been exploring the world of Open Source Music Production! Here I detail my setup.
There are many tools in my programming toolbox, but one that I've felt is missing is constraint and logic programming. I've done a spot of Prolog and played with some inference systems of various types ... but even when I run into something where I think it's the right hammer... I don't have a go-to tool.
Listen: (download)
I've been having lots of fun with https://github.com/vimwiki/vimwiki lately! I've mixed in a bit of encryptfs to have a private directory of notes. Sometime during boot, I set it up with:
Listen: (download)
Last night at the DC Perl Mongers meetup we collaboratively built a proof-of-concept for storing key/value pairs as messages in a slack channel, https://github.com/plicease/globalhash. This was made straightforward by great Slack API docs and cpan:WebService::Slack::WebApi. Example usage:
A fun thing to do is to explore things using introspection/reflection. In Ruby and Perl6, for example, we can get a list of methods for a given object instance pretty easily:
One of the codebases I work on regularly has a large and slow test suite. So slow that it typically only runs in totality in a continuous-integration (ci) environment, and there it uses the parallel_tests gem to slice it into pieces and run in parallel. This gets it to run in like 30 minutes instead of 2.5 hours.
Listen: (download)
Idea for a programming language: make experienced programmers twitch by forcing minor and common errors to be part of the language.
As both a learning exercise and a fun use of Bracketology, I built a web app to help you pick out a great white elephant gift! I did it initially with Clojure, ClojureScript, Reagent, Figwheel. I've now re-built it with Ruby, Opal, React.rb, and helped build the new opal-hot-reloader!
I enjoyed presenting at DCRUG tonight on React.rb, which I've been playing with for the last few weeks. Good turnout too!
Listen (acoustic draft): (download)
Welcome to the DC-Baltimore Perl Workshop!
I often see people porting libraries from language to language, and new languages often have a rush to re-implement a bunch of things. Some of this makes sense, some of it is madness.
Today I attended http://retroruby.org, a great un-conference in Arlington. I got my toehold in the local Ruby community at the Arlington meetup, and was happy to visit with lots of familiar people. I didn't meet any new people, though that was mostly because it was easy to spend time catching up.
Listen: (download)
Github project: https://github.com/awwaiid/p6-Inline-Ruby
Tags: Polyglot, Ruby, Perl6, Python