I don't use twtxt anymore, but I keep accidentally adding logs to it because the command I use to use !say is so similar to the shortcut I use to make !zet messages. So, some of my logs make no sense because they are out of context.
I think I'm going to create some boilerplate code for !gestku that isn't ad-hoc. I think I'm ready for this. Gestkus need less code because of how quickly I want to make them.
Note: this seems to be for male chorus, and isn't the arrangement that I hear in the sixteen recording.
trying to justify using tinyscheme, lua, and LIL at the same time.
Fossil Repo containing a version of the TH1 scripting language [[https://fossil.wanderinghorse.net/repos/th1-sgb/index.cgi/wiki/th1-sgb]] #links
the bright sessions. a science fiction podcast [[https://www.thebrightsessions.com/season-one]] #links
fake english word generation for Go and CLI: [[https://github.com/nwtgck/go-fakelish]] #links
a zero dependency shell script that makes it really simple to manage your text notes [[https://github.com/nickjj/notes]] #links
Ask HN: most interesting, mildly impractical, well-written books on software? [[https://news.ycombinator.com/item?id=29306651]] #links
old school dinner rolls [[https://smittenkitchen.com/2021/10/old-school-dinner-rolls/]] #links #food
a close look at a spinlock [[https://blog.regehr.org/archives/2173]] #links
decentralized P2P messaging platform that works on a LAN. [[https://briarproject.org/]] #links
I don't know how to browse the web anymore. [[https://manuelmoreale.com/thoughts/i-don-t-know-how-to-browse-the-internet-anymore]] #links
Article on designing 21st century instruments for teaching music theory (aka ditch the piano): [[https://historyofmusictheory.wordpress.com/2021/11/01/should-we-burn-the-pianos-introducing-a-collaborative-project-focused-on-building-new-instruments-for-theory/]] #links
cylob: some interesting work with vocal synthesis. [[https://cylob.bandcamp.com/album/placeholder]] #links
breakdown of a synthwave track [[https://synthctrl.com/blogs/blog/gunship-tech-noir-breakdown]] #links
squinewave: a sine-square-saw-pulse oscillator with hardsync: [[https://github.com/required-field/squinewave]] #links
DX7 Technical Analysis [[https://ajxs.me/blog/Yamaha_DX7_Technical_Analysis.html]] #links
trikuf: 3x3 tiles that comply with geometric square kufic rules, as seen in !kuf. #halfbakedideas
timeline of audio formats [[https://en.wikipedia.org/wiki/Timeline_of_audio_formats]] #links
I think the forth-lisp works if you think of it as a forth by default that pushes and pops s-expressions. #halfbakedideas
building a Forth that sits alongside a LISP. If it's not an S-expression, it gets interpreted as a word. #halfbakedideas
oh boy, I'm looking at !minilisp and I have to say I'm inspired to try and hack on it somehow #halfbakedideas
netsurf browser with the framebuffer backend is very impressive. it actually looks better than the GTK one, which is messed up and renders things too small with too small icons.
I have now created a log documenting my attempts at making fudge: !fudgelog
been thinking way too much about a musical morse code system over the past 24 hours: !musigram
damn. almost friggin done with #looptober. what an exhausting experience.
Prof. Jellywhipple's Ultra-Fantastic Computer Music Time Loop #halfbakedideas
It's been a crazy few weeks. Will need to spend some time refocusing.
new algo in #sndkit @!(sndkitref "sparse")!@ is a sparse noise generator, similar to velvet noise, that produces a random series of impulses at a specified rate in Hz.
thinking about a building something in the realm of !gesture that could work alongside !gest. The core principle of gest is line construction using breakpoints and an external clock. This new system, which I think I will call sloop, is more about making lines using slope. It would work by sending it messages: go from here, to there, in some amount of time, and use an external clock. If it reaches there, you have arrived. If a new message arrives before you get there, you are already here, now you have a new there. I think this approach would lend itself well to more open-ended kinds of gestures. #halfbakedideas
I need to remind myself that I own an !arduboy. Arduboys are cool.
phew. took me long enough, but I finally got an initial draft for using the monome grid in C directly via libmonome: !grid_tutorial
play/pause/stop is not a great interaction, but it does count. thinking of interactive music as a gradient rather than a dichotomy (interactive vs non-interactive) seems like a healthier way to think about things. #halfbakedideas
initial timekeeping implemented in !zet this morning. right now there's only a means of clocking in/out and saving the data, and not much else. but it is basically the last thing I'd need in order to replace org agenda.
creating vocal tract shapes using the monome grid, and then morphing between them using something like !gest. #halfbakedideas
musical experience that involve harvesting, farming, growth, and caretaking of virtual musical creatures with personality. creatures would socialize with eachother and their interactions would change the overall musical sounds implicitely. #halfbakedideas
implicit music, or the idea that music naturally exudes from everything. composition is not the act of making music, but of starting with music and working backwards. #halfbakedideas
lots of activity in !gest. no longer is it one of the #halfbakedideas.
my little travel pillow arrived today for my feet while sitting in the meditation bench. paired with my foam pad for my knees, I think I can begin trying to test this out for my future portable kneeling workspace. #updates #halfbakedideas
conceptualizing the monome grid as a highly accurate low-density monochrome display #halfbakedideas
on a monome 16x8 grid, you can get 10 consecutive 3x3 blocks in a 2x5 configuration. what's left is a narrow 1x vertical strip, and a 2x horizontal strip. interesting divisions for a glyph based interface with controls. #halfbakedideas
low-res hard-edged SDFs in btprnt. mainly as a way to compose organic looking geometry. #halfbakedideas
I want to somehow use my monome grid to build out coarse vocal tract shapes for a physical model like !voc or @!(sndkitref "tract")!@. 16 diameters with 8 steps of resolution, or 32 diameters with 4 steps of resolution. #halfbakedideas
new algo in sndkit: @!(sndkitref "tract")!@, a physical model of the vocal tract.
@!(sndkitref "glottis")!@ is an analytical model that approximates the kind of sound the human glottis makes, and is now available as a sndkit model. This is extracted from the !voc project.
life decisions approaching. any day now. depending on the outcome, it'll range from major to huge. #updates
feels good to finally chip away at !voc. down to less than 500 LOC.
I finally got around to writing down some audio programming tips for people starting out @!(ref "audio_programming_recipe")!@.
I'm back on twitter, kind of. I'm only using it to mirror posts from my mastodon account: [[https://twitter.com/yesthiswaspaul]].
many examples of #metapost with pictures [[http://tex.loria.fr/prod-graph/zoonekynd/metapost/metapost.html]] #links
the croissant circle of life @!(ref "croissant_circle_of_life")!@.
I think I'm done trying to be social on twtxt. This is too hard. Enjoy my read-only feed?
created an overview page on patch hotswapping in !monolith the #monolithwiki: @!(monolithref "hotswapping")!@.
the 'magic circle' sine wave algorithm: [[https://ccrma.stanford.edu/~jos/pasp/Digital_Sinusoid_Generators.html]] #links
some words today on installing monolith. I still wouldn't recommend it: @!(monolithref "install")!@.
1bitr is a one-bit text-based music tracker [[https://github.com/zserge/1bitr]]. #links
I just want to make cute cuddly characters that sing a chitter. I don't know how else to say this.
inspired by sigrid's now page. I probably should be doing that more here [[http://ftrv.se/now]]. #links
ECHO: the music of harold budd and brian eno [[https://www.youtube.com/watch?v=K7Dm-ne-iSY]] #links
my tiny screen can comfortably display a text block of 45 lines with a maximum length of 79 characters. wonder what kind of information is possible to convey with that kind of information density... #halfbakedideas
making great progress getting interactive sound and video working on android. it's a setup I wish I had 5 years ago.
feels good to be using tmux again more regularly. ansi-term in emacs is well, special.
a decentralized community !zet. individual zet feeds could be managed using something like git/git submodules, then built locally into self-contained SQLite files. zet items would be referenced by their zet nickname and UUID. #halfbakedideas
trying to get myself to reach for !links browser instead of firefox for locally testing my wiki. For the most part, it really doesn't need the heft of firefox. When links -g is used, it really really doesn't need firefox.
with !zet and !zetdo, I find myself constantly needing to type out UUIDs. thing is, they aren't the easiest thing to type. might invent an intermediate typer-friendly intermediate UUID format that can then convert to the regular UUID format. #halfbaked
new algorithm in @!(ref "sndkit")!@: @!(sndkitref "phasor")!@ generates a normalized periodic ramp signal, typically used for table-lookup oscillators.
don't get me wrong, I love the power of emacs. but it's a very complex piece of software, which is inherrently brittle. not a problem in the short term, but for some of my more long term tools it's a consideration.
if I don't need org-agenda, that's one less dependency on emacs, which I have a love/hate relationship.
if I could figure out a way to integrate scheduling tasks in !zetdo, and maybe clock in/out, I think I wouldn't really need org-agenda anymore.
a supplementary component to !zetdo called something like "due", which schedules items in the TODO and dynamically creates schedules similar to org-agenda. #halfbaked
I really need to feel less guilty about not doing bullshit. I decided not to do bullshit work, and it ended up being a nice day.
SQL(ite) and zettelkastens as a medium for non-linear story telling. #halfbaked
added recipe I use for brown sugar cinammon poptarts: !poptarts #food #breakfast #baking
Writing a "tweet" is low-friction, and the medium forces you to chunk out ideas into (mostly) self-contained thoughts.
I'm finding the microblogging format to be really useful for working out ideas.
the stern-brocot tree [[https://en.wikipedia.org/wiki/Stern%E2%80%93Brocot_tree]].
user-defined order in SQL [[https://begriffs.com/posts/2018-03-20-user-defined-order.html]] #sql #links maybe something that can be adapted to !sqlite?
cistercian numerals [[https://en.wikipedia.org/wiki/Cistercian_numerals]] #links #notation
created !zetdo today, a small TODO app built on top of !zet. It seems like it could replace (or maybe enhance?) org-mode for some of my needs.
decided to publish the initial words I wrote up for this granular delay I created, available at the !loom: @!(loomref "bugz")!@.
rounded rectangle recipe in #cairo [[https://www.cairographics.org/samples/rounded_rectangle/]] #links #vector #graphics
Just copied over more samples today from my sample collection from one drive to another. Things are in more than one place for the first time in a long time, maybe ever in some cases? Feels nice.
lagrange is a gui desktop space for browsing geminispace. it builds and runs on alpine linux! [[https://gmi.skyjake.fi/lagrange/]] #links
new breathing card today! bc12.tizhaimy. check it out at !breathing_cards.
monolith now has 38 unique literate programs. their woven representations can be found at my website [[/proj/monolith/program]]. #monolith
the !zet I have written for my wiki is probably going to end up replacing what I've been using twtxt for these past few months. this means less spam here. you're welcome.
I tried removing a flag from curl, and now tweets are downloading to the cache folder now. I think. will have to wait for folks to say stuff.
added a !meta page. this proof of concept integrates with the weewiki !zettelkasten I am developing to produce something similar to this !feed.
I've already implemented like 4 new features today just out of necessity with my !sample_curation project.
I am loving how organic this !zettelkasten is in !weewiki. the key value structure I'm using is so simple and allows for many structures to emerge from it.
to start my sample !zettelkasten, I imported some waveform collections I had nearby: AKWF, Architecture Waveforms 2010, and WaveEdit #samples #curation #zet
I still can't get over how I can download megabytes of information instantly these days. I am a child of dial-up.
a collection of high-res wavetables with a !CC0 license: [[https://waveeditonline.com/]] #links #samples
okay. txtnish is now officially sketchy. sometimes feeds don't update, even if I run txtnish update, and this means missing replies. I gotta find something else if I'm going to make this more than a write-only experience.
with the addition of crate in weewiki, I finally found an opportunity to add some words to the !sqlar page #updates
implemented initial crate import in !weewiki. one step closer towards !sample_curation
I've got a good feeling about the !zettelkasten I'm building for !weewiki. I think it is going to grow legs very quickly.
added some pages on #permissive #publicdomain licenses that I often reach for: !CC0 and !unlicense.
with some scripting, I could probably use my upcoming !weewiki !zettelkasten as a drop-in replacement for !twtxt, and then generate the twtxt file. however, I think I am going to keep them separate for the time being. let them both grow to serve different purposes.
initial crate words imported in to weewiki source repo. no code yet, but it's pretty clear to me what needs to happen next in order to make an MVP. #updates
some good initial progress with the !weewiki zettelkasten. messages can be made and tied to previous messages by providing partial UUIDs (that then get automatically expanded). basic export also works. #updates
I'm really sad to have (temporarily) taken my monome grid + arc off my desk, but the empty space on my table makes me think better. Hopefully, I'll be able to appreciate them more when they come back. #updates
okay, now !worgle and friends are uploaded to the !loom: [[/loom/worgle]]. #updates
smoothstep is a stateless smoother function commonly used in computer graphics. could be interesting in the audio domain as well (parameter smoothing, phase warping/distortion synthesis, etc): [[https://en.wikipedia.org/wiki/Smoothstep]] #links #halfbaked
notation as a tool of thought [[https://www.jsoftware.com/papers/tot.htm]] #links
I had this notion yesterday of ignoring whitespace completely in !txtvm. this could allow for some ascii-art patterns in the output (similar to what some IOCC entries do). #halfbaked
my room is now a bit cleaner, much more empty. more space to think and concentrate hopefully. #updates
thinking of computer interfaces as being hypertypewriters #halfbakedideas
phsclk is an algorithm that divides an incoming phasor signal into an arbitrary number of ticks that are equally spaced. @!(sndkitref "phsclk")!@ #sndkit #updates
tools encourage creation. toys encourage discovery. sometimes these overlap. #halfbakedideas
gyo is an imaginary 4-bit computer [[https://git.sr.ht/~rabbits/gyo]] #links
plans for weewiki: a zettelkasten-like interface, a microblogging platform inspired by !twtxt, and some utilities for managing collections of SQLar archives. #updates #halfbakedideas
finally finished all the initial ugen documentation. everything now has a sentence or two. the generated page can be accessed from the ugen wiki page [[/proj/monolith/wiki/ugens]] #updates #monolith
new sndkit algorithm: @!(sndkitref "expmap")!@ creates an exponential curve from a linear ramp. #sndkit #updates
!weewiki is now MIT licensed! can't believe I forgot to add it, considering the fact that it already has !janet in there. #updates #weewiki
thought it might be interested to post some of the code used to produce one of my !breathing_cards: !waigel
code for the codex [[https://git.sr.ht/~pbatch/codex]] #codex #updates
I gotta put hatching patterns in !btprnt. I just gotta. #halfbakedideas
hatching is a monochrome system traditionally used in woodcuts and engravings to denote tinctures (colors) [[https://en.wikipedia.org/wiki/Hatching_(heraldry)]] #1bit #links
the concept of literally typed languages. as in, languages designed to be satisfying to type. #halfbakedideas
I've recently been reading up on zettelkastens again, since it is very closely related to the ethos of a personal wiki system like !weewiki. The thing that interests me is the emergent patterns that come from linking things to things. Which is exactly the sort of solution I'm looking for !sample_curation. #halfbakedideas
not to mention there's lots of interesting transformations one can apply to the linear ramp of a phasor signal. movable midpoint as seen in phase distortion synthesis and !phasewarp. exponential and @!(sndkitref "bezier")!@ mappings. Not to mention all the trig functions and waveshaping synthesis techniques. All these things would warp tempo in interesting periodic ways. #halfbakedideas
it's also easy to use scaling and wrap operations to transform a phasor signal into smaller/larger phasor signals, allowing for interesting rhythmic microcosms that stay in sync #halfbakedideas
I'm hoping to build a phasor-to-clock signal generator, which divides up a phasor into an arbitrary number of ticks. Using a global phasor as a global clock would allow for interesting polyrhythms, as well more flexible precision in sequencers. It's also closer to how human-based conducting works. #halfbakedideas
lil (little interpretted language) is a tiny scripting language with implementations in C and Pascal. Apparently, the author maintains it in a private !fossil repo, which is pretty neat: [[http://runtimeterror.com/tech/lil/?ref=hvper.com]] #links
sitelen sitelen is a style of non-linear writing that appears as hieroglyphic blocks, and can be used with toki pona [[https://jonathangabel.com/toki-pona/]] #links #tokipona
the fe language by rxi would make for a great frontend for generating txtvm code maybe #halfbakedideas
been adopting a document-as-you go approach to the !monolith wiki. as I dogfood my software to make pieces an etudes like !breathing_cards, I write about it in a wiki stub. #workflow #documentation
added channels page to !monolith wiki: [[/proj/monolith/wiki/channels]]. #updates
sitelen telo v1.01, a japanese logographic script for toki pona. might want to try to make a #1bit version of this for !btprnt [[https://www.reddit.com/r/tokipona/comments/jax1x2/sitelen_telo_v101_a_japaneseinspired_logographic/]] #links #tokipona
now that !txtvm is no longer !halfbaked, I decided to update the wiki page on it. #updates
added a few notes on woven program output on the !monolith wiki page #updates
introducing the #loom, a collection a small literate programs woven to HTML: [[/loom]] #links #updates #literateprogramming
I need a loom for all my random woven literate programs. #halfbakedideas #literateprogramming
beautifully rendered 3d vector-art animations of old electronic items: https://guillaumekurkdjian.com/electronic-items/ #links #vector #graphics #art
a 1-bit delay line? basically could be used to store audio-rate impulses, clocks, and triggers. the buffer would be a bitbuffer, so it would be a very memory-efficient. the notion of feedback some kind of feedback could be compelling too... #halfbakedideas #1bit
es is an extensible shell derived from Plan9's rc. It's also placed in the #publicdomain https://github.com/wryun/es-shell #links #plan9 #github
saw this great writeup once on how somebody visualized data by drawing faces with them, and letting our brain's natural face feature-extraction algorithms interpret the data. Kinda want to try to do that with some of these samples and waveforms I'm curating. #halfbakedideas
if you thought emails were great at getting stuff lost, wait til you check out this thing called twtxt
This morning I had this really weird notion of building a generative podcast complete with musical interludes and asemic speech using a speech synthesizer. It'd be interesting to have "interviews" with two distinct vocal characters. #halfbakedideas
added @!(sndkitref "bezier")!@ to !sndkit today. coupled with @!(sndkitref "oscf")!@, it is capable of making some really weird wet FM-y sounds. Me like! #updates #sndkit
I think I got txtnish working better for me now. hopefully I'll be able to reply/see replies now! #updates
@eli_oat happy to be an enabler :) I keep finding new uses for Janet as well! It has proven to be a remarkable extension language for !weewiki.
Hey @prologic! still figuring out how to reply to people. I'm based in the New England in the US. What about you?
a 1bit version of this iconset would be pretty neat [[https://icons.mono.company/]] #links #halfbakedideas
a new addition to !sndkit: @!(sndkitref "oscf")!@ is an arbitrary size table-lookup oscillator with floating point precision. #updates #sndkit
Eisenkraut is a standalone cross-platform audio file editor built on top of SC3: [[https://archive.org/details/eisenkraut]] #sound #links #supercollider
some initial words + code for a table-lookup oscillator with floating point precision to be included in !sndkit. testing and monolith come tomorrow. #updates #sndkit #monolith
The Suiko ST-50. A rare japanese synthesizer designed to accompany poetry: [[https://www.youtube.com/watch?v=Rzo9ebsFd6Q]] #links #synthesizers #youtube
permapeople.org is a platform for permaculture people. [[https://permapeople.org/blog/2020/10/05/why-i-am-building-permapeople-org.html]] #links #permaculture
more attempts at articulating the !sample_curation problem space today. #updates
initial ugens page added to !monolith wiki, with link to woven ugens scheme file. the first non-C woven file in monolith. [[/proj/monolith/wiki/ugens]]. #docs #updates
realtime lighting in pico8: [[https://medium.com/hackernoon/pico-8-lighting-part-1-thin-dark-line-8ea15d21fed7]] #links #graphics #pico8 #pixelart
asemic script done in contextfreeart: [[https://www.contextfreeart.org/gallery/view.php?id=945]] #links #generative #asemic #graphics
generative bad handwriting: [[https://avinayak.github.io/programming/art/2020/09/18/p5-strokes.html]] #links #generative #asemic #graphics
raymarching soft shadows in 2d: [[https://www.rykap.com/2020/09/23/distance-fields/]] #links #graphics #2d #raymarching
a minimal MIT licensed chain loader for multiple architectures, including pi4. found via raspi3 baremetal tutorial link (same author): [[https://gitlab.com/bztsrc/imgrecv]] #pi4 #baremetal #links #pi
bare-metal programming on a raspberry pi 3, a tutorial: [[https://github.com/bztsrc/raspi3-tutorial]] #links #pi #pi3 #baremetal #lowlevel #c
what is the best dumb TV? [[https://news.ycombinator.com/item?id=24666968]] #links #hackernews #tv #dumb
hoard of bitfonts: [[https://github.com/robhagemans/hoard-of-bitfonts]] #links #typography #bitmap #fonts #1bit #8bit #pixelart
typography in 8 bits: system fonts: [[https://damieng.com/blog/2011/02/20/typography-in-8-bits-system-fonts]] #links #typography #1bit #8bit #pixelart
get Igno Quilez's classic FBM domain warping example as a metal print [[https://www.redbubble.com/i/metal-print/Warping-1-by-InigoQuilez/45300039.QL7J0]] #links
suddenly I have an urge to build a concatenative macro language to go along with this !txtvm project of mine. Together, they maybe could build a more @!(ref "thoughtful_programming" "thoughtful")!@ !runt? #halfbakedideas
just made a !links page for myself to keep track of interesting things I find. Anything with the hashtag #links gets placed there automatically.
randoma11y is a color generator that generates two colors and scores them using WCAG system for accessibility: [[https://randoma11y.com/]] #links #color
James Tenney's Meta Hodos and Meta Meta Hodos are an attempt to derive music theory from first principles: [[https://monoskop.org/images/1/13/Tenney_James_Meta-Hodos_and_Meta_Meta-Hodos.pdf]] #links #composition #musictheory
LC is a new music programming language that is prototype-based, strongly timed, and designed with microsound synthesis in mind: [[https://www.hnishino.com/2019/05/09/lc-a-new-computer-music-programming-language-with-three-core-features/]] #links #composition
A fork of twtxtc, a #twtxt client in C: [[https://github.com/neauoire/twtxtc]] #links
a podcast on medical alert sounds: [[https://99percentinvisible.org/episode/sound-and-health-hospitals/]] #links #sound
a collection of clarisworks patterns: [[https://hecanjog.com/claris/claris.html]] #links #1bit
7seconds is a composition project where composers try to compose something no longer than 7 seconds in length. [[http://www.microsound.org/projects/project.php?name=Seven%20Seconds]] #links #composition
The lospec palette list is a database of palettes for pixel art: [[https://lospec.com/palette-list]] #links #pixelart #color
a WIP video codec for pixel art: [[https://twitter.com/yip_pe/status/1296978100522115073?s=21]] #links #pixelart
Helmut Lachenmann has an interesting notation system for stringed instruments: [[https://www.youtube.com/watch?v=GZt3UfNDNV0]] #links #composition #notation
the c64 method would be an even cheaper video storage mechanism, but you wouldn't get constant 2-bit color.
so, having the etudes be ~20mb/minute for sound AND video ain't too bad, and that's before doing any sort of compression. My etudes are almost always 80-120 seconds long, so the total size of a lossless uncompressed etude would be ~40mb, consistently. #halfbakedideas
sound for #breathingcard etudes in 44.1 kHz mono 32-bit floating point sound. that's about ~10mb a minute raw uncompressed audio. #halfbakedideas
my #breathingcard etudes are 128x64 resolution videos with 4x zoom, that normally use no more than 4 colors (2-bits) using a 2-bit color storage format, that's ~7mb a minute for raw uncompressed 60 fps video. not bad. #halfbakedideas
I've been thinking about storing the output of some of my audio-visual etudes in a more portable lossless 4-bit indexed color format, rather than rely on x264 directly. #halfbakedideas #etudes #breathingcards #longterm
also hoping to bring bits of #sndkit into #9front and #neindaw. maybe build a whole professional-quality music production platform around plan9 concepts instead of the tired cliche of emulating analog workflows? #halfbakedideas
this morning I planned lots of #halfbakedideas for #sndkit in the near-distant future: a ROMpler with crossfading capabilities and optional input, and vowel formant filter, paired with a physical model of the glottis.
huh. it seems that dumping + gzipping a SQLite database can sometimes have better compression than gzipping the SQLite database directly. cool. #sqlite
Implemented ftlists in #monolith today, along with #tlseq, and #tchoose nodes. More info at the monolith wiki [[/proj/monolith/wiki/ftlist]].
a western music theory textbook, but reimagined to actually make sense for computers instead of humans. #halfbakedideas
support for homemade :emojis: in my HTML feed parser? perhaps. perhaps not. #halfbakedideas
the @!(sndkitref "chaosnoise")!@ algo is now in !sndkit and !monolith #DSP #chaos #noise #patchwerk #monolith #crackle
new breathing card: @!(ref "breathing_cards" "tairyzesh" "tairyzesh")!@
listening to some of Tim Follin's 1-bit work on the ZX Spectrum makes we want to try do make 1-bit music on the !arduboy #halfbakedideas
reworked the CLI argument parsing in !weewiki today. running weewiki with no arguments now prints all available subcommands. #weewiki
I've been making this chocolate pudding recipe every 4 days for the past 5 months or so: !pudding #cooking #chocolate #yum
thinking about implementing some noise generators for !sndkit. A chaos noise generator that leverages numerical instabilities in IEEE floating point, and a 1-bit linear feedback shift register noise generator based on NES audio. #sndkit #halfbakedideas #dsp
all files !monolith written using !worgle have now been automatically HTMLized via !weewiki. the top-level browser can be found [[/proj/monolith/program][here]].
a concept that's organically grown with my !literate_programming efforts is this idea I call a !proof_of_thought #literate_programming #thoughtful
check out my !keywords page! It automatically scrapes all =keywords= into an index.
A fragment of my !monolith program has been woven to a !weewiki from !worgle using !sqlite. Find it for now at [[/proj/monolith/wiki/][the monolith project page]].
well, it seems like I managed to automatically weave all the !literate_programming parts into a !weewiki! It's not all that helpful yet though, due to the fact that pages have autogenerated names like 'wm_000_0002'. A table of contents comes next...
gotta publish my chocolate pudding recipe here at some point #TODO
A AM radio modulator filter. Put one or more signals into it, and virtually tune between them like you would on a radio. #halfbakedideas
An NES-inspired noise source. Basically, 1-bit noise using a linear-feedback shift register algorithm, as defined in the NES specs. #halfbakedideas
so, I actually did throw out my Csound book last night. Tore out all the pages and recycled them.
being able to render TeX math equations to PNG files is pretty empowering, because it allows me to write about more technical things here that would otherwise be more difficult to communicate in plaintext.
I never thought I'd ever say this, but I am officially done with Csound. I've been using Csound since I was 16 years old, but now I feel like throwing my copy of the Csound book in the trash. Good riddance.
an extendable text editor inside of a Blit that tries really hard not to edit text. #halfbakedideas
at the end of the day, I do like the stiffness of the tactile grey switches, even if it means I don't get to type as fast, or as long. they just feel great to me. #mk
I rotate out my !planck keyboards weekly. going from brown switches to tactile grey switches is always a bit of an adjustment! #mk #thumpthumpthump
somehow get !weewiki pages rendered in !btprnt. maybe build a btprnt backend for links browser? #halfbakedideas
The master plan is to export the !worgle bits of !monolith to a !weewiki, then begin adding user-level documentation that is able to dynamically reference bits of source code as another wiki page.
a copy of the btprnt program can be found at the !btprnt_program page
while eventually I hope to get all of literate org parts of !monolith posted online as a self contained !weewiki, I've decided to post little pieces as self-contained documents. here is a copy of !trigvm, the toy VM used to power a rhythmic computer-sequencer controlled entirely from the !monome_grid
this rhythm machine I'm working on for !monolith has finally given me an opportunity to crack open and use Hacker's Delight. This morning I needed to find a way to count the number of active bits, and there's a whole chapter dedicated to it :)
The Content Creator at Innsmouth Trail #lovecraftian #halfbakedideas
a microblogging creative coding platform like dwitter, but for sound. users would be encouraged to remix, the output of one persons code would become the input of the new code. only text would be stored on the server, with audio rendered client-side. to save on time, there could be caches of frozen audio for remixes. #halfbakedideas
the natural color system: when in doubt, these are some pretty good functional colors. [[https://en.wikipedia.org/wiki/Natural_Color_System]].
a music sequencer, but for producing continuous gestures instead of discrete steps. have it be clocked with an external source so it can play well with others. perhaps build a notation system around it. #halfbakedideas
!txtvm, a text-based toy VM, used to run tiny domain-specific bytecode programs using only printable ascii characters. #halfbakedideas
a 1-bit synthesizer and sequencer for the !arduboy #halfbakedideas
I really want !btprnt to be integrated into !weewiki somehow. Both can speak !janet, and I already figured how to embed PNG images inside of an HTML document. In small doses, it could be fun. #halfbakedideas
the idea would be to build and share tiny 6.5 bit programs encoded as printable ascii characters. this could then in turn be read by a virtual computer to do things like paint a picture or compose a piece of music. #halfbakedideas
a 6.5 bit fantasy computer, whose bytecode representation can be represented entirely as printable ascii characters. The first 6 contain standard data space, with the 7th bit used to represent one of 32 values. #halfbakedideas
links web browser is surprisingly good, especially when you can get it in graphics mode: !links_browser
@eli_oat thanks for reading my wiki! janet is pretty cool right? happy noodling.
goodbye blogging? hello wiki-ing and micro-blogging? [[/blog/posts/2020-07-27-goodbye_hello.html][a new blog post suddenly appears]].
built a little script for looking up IDs in twtxt tweets: !twtxt_search. Going to use it as a way to look up and reference specific tweets in my wiki.
parsing expression grammars coming in real clutch right now. punctuation can now exist after wiki reference tags. Thanks !janet!
I'm so close to being able to get my literate programs written in !worgle converted into a self-contained !weewiki. #literateprogramming #worgle #weewiki
I've been actually thinking about introducing a '#+RELAX' tag in !worgle that would explicity turn off strict mode, allowing literate programs to be written more casually.
weewiki uses a custom org markup parser written in ANSI C to render the HTML. No emacs needed! my hope is to introduce a user-defined callback that can process these to allow for custom meta-commands.
a new fix to !weewiki will ignore all org-mode command strings by default. Now things like PROPERTY tags won't show up in the output.
first night on the new tatami mat + futon was a success. very comfty.
@hjertnes are you using emacs as twtxt client or something? does it render the org markup for you into links?
@lucidiot very cool idea! may have to try something like that at some point...
It turns out that fts5 is enabled by default on SQLite! My twtxt2sqlite generator has been updated to use fts5. Now I can do full text search on all my twtxt tweets. I have implemented a related-tweets box in the !twtxt_playground as a proof-of-concept. More info on fts5 can be found at [[https://www.sqlite.org/fts5.html]].
attempting masto verification @!(prin "<a rel=\"me\" href=\"https://post.lurk.org/@paul\">with this link")!@.
updating my wiki index, so some pages are not going to be featured there anymore: !MIDI_sucks !sample_curation !howyousay !sixtycolumnrule
documenting my experiments with twtxt/weewiki integration at the !twtxt_playground
Inline Janet means I should be able to make calls to functions defined in the config file. For example, the =ref= function is how I usually make wiki reference links. This @!(ref "wiki_index" "link right here")!@ should take you to my automatically generated weewiki index of all the wiki pages.
Wow! Inline Janet code does work. What a happy accident. Will use with the upmost restraint.
Technically not org, but weewiki org. So this means that I might be able to run inline Janet code? @!(prin "Hello from Janet.")!@
I actually think my org markup might work here. Testing a [[/proj/patchwerk][link]].
here is the script I use to convert my twtxt feed into a SQLite database: !twtxt_sqlite
I'm using a wrapper around txtnish called !say to make it easer to tweet stuff.
a new twtxt/weewiki feature: any word starting with '!' will translate to an internal weewiki reference in my HTML renderer. Example: here is my !wiki_index
a unique thing I do with my twtxt feed is convert it to a SQLite database. This, combined with the Janet + SQLite scripting abilities available in SQLite, could provide interesting metrics and insights over time.
there are also things like using #hashtags, which could be a useful tool to coordinate with weewiki somehow.
in particular, twtxt provides timestamps. weewiki doesn't really track the passage of time. it only wants to be a key/value database with org markup.
all I have to do is hit "say", write a few bits of things, and then hit ENTER. much easier than using txtnish directly.
made a script that simplifies making twtxt entries. let's see how well it works...
building a http server into weewiki has been more useful than I initially expected
despite all the tools I've made, it is still a chore to update this thing. some things you just can't automate
made a PR to the linux-surface kernel today. it's only udev rules, but I still feel accomplished
so glad USB phone tethering exists. no way am I going to stumble through wpa_supplicant and wpa_cli to connect to coffeeshop wifi
It really looks so much better not having html extension in my wiki.
attempting to build arm-none-eabi cross compiler from source. why have I never thought of this?
embedded scripting languages are all fun and games until you break their garbage collector
finally hacked ijanet up to behave like the scheme REPL. very excited about this!
thank you sean costello for teaching me how to make planetarium music
physical models are wild animals that are never meant to be domesticated
after a month hiatus, I am getting back into some low level norns work. 8x8 bitmap fonts look real good on this thing
gameboy color speaker replaced using ds lite speaker. sounds quieter than I expected. but better than no sound at all. this, combined with the new case I got for it, makes it almost feel like a brand new device :)
should also note that I have been traveling a lot recently, so the heavy speakers do not travel with me. it is difficult to get re-acquainted with them for this reason.
even though I have these nice hs7 studio monitors on my desk right now, most of my monitoring has been done using my minirig mini. There is just something so irresistable about writing music for something so cute and tiny.
listening richard devine's new album sort/lave today. of course the sounds are top notch, but I really am enjoying how 'composed' it all feels. it really demonstrates true mastery of modular environments.
postcard sized art is such a lovely scale for the visual medium. attempting to imagine the sound/temporal version of that
planck keyboard feels 98% natural to me now. I'm using stiff tactile grey cherry switches on them, which feel great to me, but my fingers need to build up strength for long-term use.
rx pixel editor looks seen on HN today looks interesting to me (and the sort of thing I've wanted to build), but the vulkan support seems like overkill. Also, my graphics cards drivers are broken on Alpine, so the program probably won't run. trying anyways.
when composing, it can be hard to know what is good or crap, so you just have to power through it
added paragraph blocks and code blocks to weewiki HTML output. things look decent.
statically generated my twtxt feed here: https://pbat.ch/wiki/twtxt.html. learning how to be social on this thing comes next.
Maybe it's just me getting older, but there is something very satisfying about seeing big chunky text on screen. Currently using an Atari font on my computer. Once your eyes get used to it, it's actually quite lovely.
trying out script. not instant upload, but that's probably for the best
right now, it's a three step process for me to tweet and upload. gotta make it just one.
I could see me using this. Just need to figure out the best workflow for making 'tweets'.
Timeline Sandbox