Toot

Here is my micro journal.

2025-01-10

This week I learned the range mini-notation and s_polymeter with the #pastagang Just made a nice little jam with @froos :) https://www.youtube.com/watch?v=2kGB7lrhy5Q

2025-01-07

We can now export a #pastagang nudel!


The new export button to copy the panels.
2025-01-06

I just pushed a long overdue supercollider update to #fedora https://koji.fedoraproject.org/koji/taskinfo?taskID=127613099

2025-01-05

https://strudel.cc/?IZcDT-4K-RIS // “the restaurant is closing” @by #pastagang

2025-01-05

About creative licensing of #pastagang stuff, I would prefer if reuse happens under identical terms, using something like CC-BY-SA or GPL. I think that’s ideal because it encourages others to do the same.

Though, I think CC0 is also fine, and I like how @mantissa uses it: «Free CG resources to use for all your projects, all of which are currently licensed Public Domain. No credit is required, but always appreciated.»

2025-01-04
2025-01-04

I released the first version of the peaks-player web components, and updated the install instructions:) https://github.com/TristanCacqueray/peaks-player

2025-01-04

first shader running in nudel #pastagang


a shadertoy in nudel, a nudeltoy?
2024-12-30

I wrote some #Haskell to generate a static copy of my posts on mastodon: Toot.hs here: https://midirus.com/toots

2024-12-26

I cleaned up the last #pastagang jam made with @TodePond and @sqx : https://www.youtube.com/watch?v=WkcEN8y1TDE&t=610s . I wrote some tools to quickly split the segments and extract the markers from Reaper :)

Unfortunately, I discovered that my obs only recorded in mono, so I didn’t bother making a proper remix.

2024-12-23

Last #pastagang jam of the year for me, with @TodePond and aks? https://www.youtube.com/watch?v=CZvi1nRQxFQ

Wish you all a great end of the year, and long live #algorave !

2024-12-22

Here you can find a preview of the loadShader function I wrote for #strudel to animate a WebGL toy using pattern events: https://strudel.cc/?ErKvnkz3z_3p

Thanks to @range_marten for the shader and the webgl2 boilerplate I used from the day12 of the advent of shader!

2024-12-21

While watching the end of cycle solstice stream from the eulerroom I set up #tidalcycles from source and managed to capture the midi output with Reaper through the SuperDirt midi device! Excited to try the arp function which looks different than the one from strudel.

2024-12-17

I am excited to share my remix of Chopin’s Op. 23. I started this project a month ago, and I feel that it pays to take the time to let the sound cook over an extended period. That way, I cultivated the track like a bonsai, and I think it’s now finished. :) https://midirus.com/audio/23PO

I’d love to hear your review, like is the bass too loud on your speaker?

2024-12-17

#Reaper is like the #Emacs of the Digital Audio Workstations: portable, minimal and customizable. It even has a M-x like interface called the Action List where you can bind and run thousands of commands, such as moving the cursor or inserting notes. With ReaPack, the package manager, you can extend it with open source extensions built by the community, for example to setup a ChordGun. The community is great too!

2024-12-16

I got a new softsynth and recorded a little scrappy demo to show how it looks like behind the midirus scene:) https://www.youtube.com/watch?v=26FkUVv9M-A

2024-12-16

morning coffee with tape delay:) strudel.cc/?TEMUBjQeTY9c


2024-12-14

Here is how it looks like to manually adjust the loudness of individual clips with a LUFS meter:)


2024-12-14

I’m trying to describe the role of IT professionals to explain my job at family reunions, and so far I think the following is the best intro: IT workers make tiny rocks do useful things. I feel like it is not relevant to introduce the different flavors of software development, computer designs or technologies. It sounds like a mistake to confine the job to a particular activity. Moreover, IT is already quite limiting if it doesn’t cover the human side of things, like cognition and emotion sounds even more important to solve real problems.

How do you explain what do you do for a living?

2024-12-13

I wrote a new post about running containers inside containers with Kubernetes:) https://www.softwarefactory-project.io/secure-bubblewrap-inside-kubernetes-with-procmount.html

2024-12-11

I’ve been refining one of my previous compo, and I think I just figured out how to bridge the two main parts. Here is a preview:)


2024-12-10

Here is Chilly Gonzales winning the world record for the longest concert by a solo artist:) https://www.youtube.com/watch?v=1fjSlgkNxXM

2024-12-08

I am excited to share my remix of “shaving clouds” @by pastagang. This was a nice one to produce, and even though it could use some extra polish, I hope you’ll like it as it is:) https://midirus.com/audio/pgShavingClouds

2024-12-07

I always struggle with the phase when mixing, I don’t know how to diagnose and fix the problem. I just discovered that inverting the phase may change the peak volume by +/- 2db, so I’m now trying to keep the setting that produces a gain.

Though that sounds like a lot of work to get a consistent gain over the whole track as it looks like every transients could be treated individually.

2024-12-04

In this video, you can hear and see Amon Tobin uses the TG1 for compression: https://www.youtube.com/watch?v=katihJUJh9Q

2024-12-04

https://strudel.cc/?TEMUBjQeTY9c // “morning coffee2” @by pastagang

2024-12-03

https://strudel.cc/?AfbPd7Hg6u7z // in the pond @by pastagang

2024-12-03

https://strudel.cc/?gVJMW8RwLPJX // “shaving clouds” @by pastagang

2024-12-02

I published a new track named opFlux. Since I don’t have a Strudel source this time, I took some pictures to explain the patches I used. At the end, I shared my thought on using physical devices for music production. Hope you like it!

https://midirus.com/audio/opFlux

2024-12-01

If you don’t know Dan Worrall, I can recommend his channel, it’s a gold mine for mixing techniques. I discovered him through this video by Jeremy, aka Red Means Recording: https://www.youtube.com/watch?v=Zk2xso7HZIs

2024-12-01

In this masterclass, Dan Worrall introduces an interesting psycho-acoustic trick to remove the fundamental note of a bass (at 18’40): https://www.youtube.com/watch?v=1xPO2Q2QHXk

2024-11-30

Turns out https://github.com/denoland/deno/issues/26402 can also corrupt REAPER scripts. The mid/side encoder is so simple, it got reformated as HTML when I had this bug: the input/output expressions got messed up, that’s why it didn’t work!

2024-11-30

I’m excited to share my remix of “mad montuno” @by the pastagang.

https://midirus.com/audio/pgMadMontuno

2024-11-29

So I’m discovering audio plugins (Virtual Studio Technology), and I just found how to bake the processing into a new sample. That sounds like the right workflow to keep my projects portable, without worrying about the extra dependencies.

It’s convenient to have this action right in the middle of the item menu:)


The Reaper menu to bake the effect into a new sample.
2024-11-29

I just learned how to setup a sample&hold modulation in Reaper. It’s not super user friendly, but that works great :) You can find my notes here: https://midirus.com/zettle/music/reaper#samplehold-modulation

2024-11-28

Now that I can run VST on Linux with yabridge, I’m evaluating Saturn2 to add color to my mix. Not sure I like doing such post-processing, but it’s nice to have the option :) Also, the ProQ3 seems to handle mid/side processing with just a click, so I’ll have to try that too!

2024-11-28

https://strudel.cc/?fEPl2wU6ssg2 // mad montuno @by pastagang

2024-11-27
2024-11-27

Here is a demo I made 8 months ago with a μFreak :) https://youtu.be/EEAHR4yLxKw?t=94

2024-11-26

I just discovered Doctor L, a French producer born in Dublin in the sixties. I would recommend to start with his first solo album named Exploring the inside world from 1998. But, he also just released a new track today you might like: https://doctorl.bandcamp.com/track/rare-moods-peace-in-da-neighbourhood

His influences are right up my alley!

2024-11-25

Not sure it was worth the effort, the amount of issues between LD_LIBRARY_PATH, wayland and nixGL was ridiculous. But hey, I can run this now :)


The Snapback VST running inside Reaper in a GNOME.
2024-11-25

At last, after fighting for a few hours with yabridge, carla and wine, I finally figured out how to run the Snapback VST on Linux!

2024-11-25

For example, I just learned about snapback, as explained by Dan Worrall below, and I’d like to apply this technique for the next prod: https://youtu.be/6K_4T19FB5w

2024-11-25

I have rendered “simple but hard” @by the pastagang. It could use more polish, but there is just so much to do, so I’ll leave it here for now:) https://midirus.com/audio/pgSimpleButHard

2024-11-24

Nothing like recording fresh loops in the morning:p


Super8 in action
2024-11-23

https://strudel.cc/?azOBiV6qi-o9 // simple but hard @by pastagang (preview)

2024-11-23

Here you can find my remix of the farfalle funk @by the pastagang. I’d like to revisit it later, but I hope you’ll enjoy this first render:) https://midirus.com/audio/pgFarfalleFunk

2024-11-22

The smell of a #reaper project freshly recorded:)


The vanilla reaper user interfacer showing a bunch of tracks ready to be mixed
2024-11-22

https://strudel.cc/?vGTLU-YVDzx- // farfalle funk @by pastagang

2024-11-22

Now trying to decipher the patterns from a video recording:)


lofi strudel
2024-11-22

I figured out how to use the #reaper Super8 looper for recording #strudel patterns! The trick is to press record only once on the input track, and let strudel run continuously. Then I play the parts individually, using the Super8 to playback the previous ones. It’s a bit tricky, but that way I can chop the loops afterward and they are mostly in sync!

It would be nice if the clocks were synchronized, but that’s not a big deal.

2024-11-20

With #strudel taking over my free time, it’s going to take a while before I can finish my compo, so here a preview. Hope you like it =>


2024-11-20

Here is how I used the JS 1175 compressor on my next compo: set the attack to >200uS, dial down the threshold until the compression reach -6/-9db. Lower the release to amplify the tail if needed. Then adjust the gain so that by-passing the plugin doesn’t change the volume.

I think I’m getting better results that way, but it’s exhausting to do all the adjustments :)

2024-11-10

I made another compo, live recorded with Reaper instead of the OP-1 tape. This one is special for me as it happened while I was dealing with some bad news. It may not be the healthiest way to cope with such a situation, but here you go, I hope you like it!

https://midirus.com/audio/opCapacity

2024-11-08

You can find the full version here: https://midirus.com/audio/opIPA

2024-11-08

I made a new compo, this time using a sample from vintage French television: https://cdn.midirus.com/audio/2022-opFreak/linaternet.mp3 What is the Internet?

2024-11-04

Today, I’m excited to announce my very own #Emacs tutorial which I created to help my teammates get started with this powerful environment! https://midirus.com/blog/emacs-tutorial

2024-11-03

Following up on opJardin, I made a new compo named Pinae, hope you’ll like it too! https://midirus.com/audio/opPinae

2024-10-29

Here I pushed the new prod. It’s called Jardin because I’m presently studying digital gardening, Hope you’ll like it! https://midirus.com/audio?track=OpJardin

2024-10-29

I’m thinking about making screen-cast. I’d like to combine Nick Mira’s flow with the esthetics of this marvelous piece:) https://youtu.be/Jk71bPz5VLo

2024-10-29

I just learned how to add a fourth notes to my chords thanks to the first 5 minutes of this video. Once in a while I get a good YT recommendation, and this time it made me practice music for a solid 10 hours :) https://youtu.be/9rYaQtoxsQs

2024-10-26

I just added #QMK support to my gen-zmk tool, here is the generated keymap.c:) https://github.com/TristanCacqueray/qmk-config/blob/main/gen_qmk.h

2024-10-21

Dear #strudel folks, I’m requesting your feedback on a new feature to add WebGL shader powered visuals with a new uniform pattern function. With the help of Felix, I put together the following PR, which I think is now ready for review. Thanks :) https://github.com/tidalcycles/strudel/pull/1196

2024-10-18

Ha, running deno fmt –ext html in your home directory will reformat all your files which doesn’t have an html extension, like corrupting your Git config 😅

2024-10-14

I am excited to announce the new release of my audio productions. More than 100 free sounds are now available on my website :) https://midirus.com/audio

2024-10-13

I can’t find a lightweight front-end to render a list of git repositories into HTML. I’d like to mirror my code, but my web host can only run PHP7. I just want the projects list sorted by last update, and the first paragraph of the README.

I’m tented to do a bit of PHP to scratch that itch…

2024-10-10

I’m happy to announce that midirus.com is now fully self hosted! I had some troubles with the rewrite rules implemented by ghpages, but my webhost provider helped me fix the htaccess. Next I’ll import my yt and soundcloud medias, then I guess I’ll have to write the MidiWeb manifesto =)

2024-10-09

I made yet another collaborative editor, this time with CodeMirror in haskell-xstatic; It’s the third implementations for my Noter app, after quill and ace!

2024-10-07

Midirus now has hosting! To celebrate, I uploaded a lost live recording I made in 2021, and if all goes well, I’ll migrate the rest of my stuff.

https://midirus.com/video/2021-12-22-opFreak

2024-10-05

I updated my #Lean4 gen-zmk keyboard config from version 4.3 to 4.9. The only breaking change was to rename std into batteries, not bad :)

2024-10-05

Folks, it is with great pleasure to inform you that I have switched to Corfu. I wrote about it in my upcoming #Emacs tutorial, enjoy! https://midirus.com/emacs/tutorial#corfu

2024-09-29

My piano phase with #strudel :) https://youtu.be/M7U3vGOQsTc . I missed a few transitions and I forgot to pan the patterns, but this is my first performance using this system and I hope you’ll like it! The code is in my animation-fractal branch and I would appreciate feedback to integrate this shader feature in strudel.

2024-09-29

It’s not much but here is my first #strudel compo, now onto setting the shader! https://strudel.cc/?wzPJ7F0q33TX

2024-09-28

I integrated the Truchet + Kaleidoscope FTW shader by @range_marten in #strudel. It reacts to pattern note!
Next I’ll add an envelop to smooth the values :)

https://www.youtube.com/watch?v=NudZWDzVt-Y

2024-09-28

https://strudel.cc is like a compression algorithm to convert sound into URL 😂

2024-09-28

I just added a picogl shadertoy inside #strudel ! Moving on to reading the patterns’ pitches to modulate stuff :) Code is https://github.com/TristanCacqueray/strudel/tree/animation-fractal


2024-09-27

I’ve implemented support for the <kbd> syntax in markdown for emanote: https://github.com/srid/emanote/discussions/514

2024-09-26

I have acquired <midirus.com> as a first step toward self-hosting. I just moved my ghpages for now, but I’m looking forward hosting my code and art in the future. I used to publish music video under that name, and I’m glad the domain was available!

2024-09-25

I finally joined the #Emacs cool kids and switched from Ivy to Vertico :) https://tristancacqueray.github.io/blog/from-ivy-to-vertico

2024-09-15

So I reconfigured my #Emacs for the upcoming version 30 and wrote about it in a new post :) https://tristancacqueray.github.io/blog/emacs-30

2024-09-13

I managed to setup a #guix vm, but I got stuck trying to add a 9p file-system to share the /gnu store with the host. I also faced many papercuts using the 1.4.0 qemu image, like running system reconfigure failed with an unknown revision from /home/ludo.

I wish building guix package could be done in a light container without a daemon. Going through qemu is really slow, like running the system reconfigure commands takes more than 20 seconds, even for minor changes.

I really like the project and I’d love to use it, but I’m not sure it’s worth the effort when my nix works just fine for now.

2024-09-12

I am contemplating migrating from #nix to #guix to setup my dev environment, basically emacs and ripgrep. Though I don’t want to install the build daemon as I’m used to run nix in a namespace on Fedora. Do you have any tips and would you recommend this change?

2024-09-11

I wrote a little #emacs helper to save the shell history per project.el: https://github.com/TristanCacqueray/emacs-toolbox/blob/main/project-shell.el

2024-08-30

I went down the optimization rabbit hole and found picogl to replace regl: the bundle is now 40KB.

These are the only two minimal library I could find that handle WebGL context loss, and picogl seems more efficient as it doesn’t retain buffers on the CPU. Therefore, the runtime memory usage went from 3MB down to 1.7MB.

2024-08-28

I reduced my weiqi-visualizer component bundle size from 396KB to 52KB by removing jschardet and replacing threejs with regl. The runtime memory usage dropped by 1MB!

2024-08-21

I made a little WebGL app to render goban: https://tristancacqueray.github.io/weiqi-visualizer/

2024-08-13

Just shared my thoughts on the game of Go! Check it out here: https://tristancacqueray.github.io/weiqi

2024-08-11

I am writing some notes about the game of go, and made a highlightjs plugin to render sensei library diagram format in markdown :) https://tristancacqueray.github.io/weiqi/initiation

2024-07-25

I wrote a new blog post about Operational Transformation: https://tristancacqueray.github.io/blog/butler-ot

2024-07-01

I’ve posted my report for the #ICFPContest https://tristancacqueray.github.io/blog/icfpc2024

2024-06-09

I wrote a new blog post about my recent work on pipewire.hs: https://tristancacqueray.github.io/blog/haskell-inline-c-pipewire

2024-06-02

I demonstrate a pipewire video source drawn with #Haskell :) https://github.com/TristanCacqueray/pipewire.hs/blob/main/pipewire/examples/VideoSrc.hs

2024-05-31

I get a tone playing with my #Haskell bindings to pipewire :) https://github.com/TristanCacqueray/pipewire.hs/blob/main/pipewire/examples/Tutorial4.hs

2024-05-26

I made some Haskell bindings for the libpipewire: https://discourse.haskell.org/t/bindings-to-pipewire-multimedia-framework/9630

2024-05-19

Always Together #animationFractal featuring the Mandala Flowers by @range_marten https://youtu.be/S5US5KZ9R-g

2024-05-18

The Secret of Monkey Island opening theme visualized with the Extruded Grid shader by @Shane: https://youtu.be/FBj8QWykvjg

2024-05-12

I wrote a new blog post about Live Reloading Haskell GUI: https://tristancacqueray.github.io/blog/live-reloading-haskell-gui-from-scratch

2024-05-05

Color Of The Summer Sky #animationFractal featuring the Mandala Flowers by @range_marten
https://youtu.be/wOJNzi5nn-Q

2024-05-03

I made my first contribution to freedesktop’s pipewire: https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1998

2024-04-30

I added a multiplayer REPL thingy to ButlerOS that lets you evaluate the content of a text editor on every keystroke, similar to KodeLife: https://github.com/ButlerOS/haskell-butler/pull/56

2024-04-30

http://ariis.it/static/articles/venzone/page.html is a free adventure game written in Haskell, the game-play is simple, yet challenging in a good way. It’s great, you should give it a try :)

2024-04-28

I think I improved my mixing skills with reaper, here are a couple of new #animationFractal demos I made with a friend this week end: https://www.youtube.com/playlist?list=PLOA1Lq_GM0VtxqAsQJzxr8SsgdiUXOvY2

2024-04-21

I wrote a blog post for #animationFractal featuring new demos I hope you’ll enjoy!

https://tristancacqueray.github.io/blog/using-dhall-to-animate-fractal

2024-04-20

I uploaded a new #animationFractal demo featuring the Glowing Petals shader by @lsdlive https://www.youtube.com/watch?v=ZTYozTBCQQU

2024-04-11

Introducing a new #animationFractal release of 11 mesmerizing classical pieces, the prettiest demos I have ever made! I hope you’ll enjoy :)

https://www.youtube.com/playlist?list=PLOA1Lq_GM0VvsnCyvoBjul7rYEBAAkN_s

2024-04-08

Here is another one of the famous nocturne: https://youtu.be/mI1RoiLmwRQ

2024-04-08

Here is the result, using 10 pitch modulations to control apollian parameters: https://youtu.be/xkV-kinsgY8

2024-04-04

#animationFractal now supports pitch modulation from midi events, thus I’m writing a new shader to make use of all these new parameters!

2024-04-01

Here is the result, using a new shader technique called phantom mode, the formula was really hard to match the sound: https://www.youtube.com/watch?v=Nozlvd1VZBo

2024-03-29

Not sure if my math is correct, but my audio tracking modulation already looks much better using this second-order system! I’ll have to make a new demo now :)

2024-03-29

Here is my #haskell implementation:


2024-03-29

I’m adding second order dynamics to #animationFractal by following this great tutorial: Giving Personality to Procedural Animations using Math https://www.youtube.com/watch?v=KPoeNZZ6H4s

2024-03-24

Another #animationFractal , this time featuring a new shader to try the simple-dsp audio filters on an unreleased track’s sound stems: https://www.youtube.com/watch?v=2aclcgDa8RM

2024-03-23

As suggested by @ffaff, I ran #animationFractal with baroque music to test the new integrated audio filters to extract a few meaningful values from the sound. Hope you’ll like this :) https://www.youtube.com/watch?v=flKZy-cz4_4

2024-03-15

I wrote a blog post to share the details of how I made the microX #animationFractal https://tristancacqueray.github.io/blog/making-of-microX

2024-03-14

Here is my latest demo made with #animationFractal , a Haskell Vulkan powered engine. I used smoother modulations this time, hope you’ll like it! https://www.youtube.com/watch?v=qZTqUQumC6s

2024-03-04

I made a new video with #animationFractal , a Haskell Vulkan powered engine. Hope you’ll like it: https://www.youtube.com/watch?v=EEAHR4yLxKw

2024-02-26

I wrote a new blog post about running containers inside a container: https://www.softwarefactory-project.io/recursive-namespaces-to-run-containers-inside-a-container.html

2024-02-25

Thanks to the recharge day, I took a break from coding to make this music video with #animation-fractal : <https://www.youtube.com/watch?v=hXdMsPSaRHU>. I hope you’ll enjoy it :)

2024-02-19

I published a new made in #haskell animation-fractal https://www.youtube.com/watch?v=O5W2TMFiKpo

2024-02-16

I am investigating how to create nested procfs namespace to run a container inside a container. Looking all the way back at plan9, it does not seem like this was possible, the plan9 procfs appears to be all or nothing, and it was not possible to create a fresh /proc mount.


2024-02-09

This video presents the fascinating story of Shuji Nakamura, it looks like an episode of Cosmos: https://www.youtube.com/watch?v=AF8d72mA41M

2024-02-08

Introducing LogJuicer, a tool for extracting anomalies from log files: https://logjuicer.github.io/ I just made the introduction video using the op1 :)

2024-02-04

Interesting, the documentation (in LaTeX) is written as code comment to help Copilot works in this project: https://github.com/AlexKontorovich/PrimeNumberTheoremAnd

2024-01-31

I wrote a little breathing app for my autochill project: https://www.shadertoy.com/view/Mc2Xzc

2024-01-28

Introducing ndbom, a tool to diff the sources of two #nix installables: https://github.com/TristanCacqueray/nix-diff-bill-of-materials


2024-01-27

ndbom can now prints #nix package source dependencies without the stdenv tools:


2024-01-25

#Nix folks, how to get the diff of all the sources used to build a devShell after running `nix flake update`? I’d like to see the list of change in great details, like every new line of code, is that possible?

2024-01-16

I wrote a gnome-shell extension to display the next schedule from org-mode: https://github.com/TristanCacqueray/gnome-org-next-schedule

2024-01-11

10 years of #haskell developments are now indexed in change-metrics/monocle!


2024-01-08

And here is a nix flake to try this out: https://github.com/podenv/nano-emacs.nix#readme

2024-01-07

I wrote some emacs-lisp code to generate org-mode reports with org-ql, here is how: https://tristancacqueray.github.io/blog/no-frills-daily-project-management-with-org-mode

2024-01-05

Here is a demo of change-metrics/monocle for the #haskell org -> https://demo.changemetrics.io/haskell

Feedback is welcome, we’d be happy to index gitlab.haskell.org too :)

2024-01-03

I used this trick to find the location of a failing NonEmpty.fromList. See this documentation for an example usage: https://github.com/change-metrics/monocle/blob/master/CONTRIBUTING.md#debug-by-dumping-every-stacktrace

2024-01-03

#haskell `-xc` saved the day, by displaying unknown exceptions stacktraces using the following command: `cabal –ghc-options=”-fprof-auto” –enable-executable-profiling –enable-profiling –enable-library-profiling -O0 run exe:monocle – api +RTS -xc -RTS`

2024-01-02

Pleasantly surprised by the look and feel of #nano-emacs by @rougier


2024-01-01

I wrote a toy GUI with monomer to display Quickwit search result with: https://github.com/TristanCacqueray/quickwit-haskell/blob/main/quickwit-ui/QuickwitUI.hs


2023-12-30

I’ve been working on a proof of concept http2 #haskell client library for quickwit.io search engine: https://github.com/TristanCacqueray/quickwit-haskell

2023-12-10

I completed my first #Lean4 project to generate keyboard firmware (ZMK) and documentation diagram from a lisp based configuration: https://github.com/TristanCacqueray/gen-zmk/tree/main#readme

2023-12-07

#Lean4 can coerce a regular list to a non empty lists when the list has at least one element with the CoeDep class: https://lean-lang.org/functional_programming_in_lean/type-classes/coercion.html#non-empty-lists-and-dependent-coercions

2023-12-07

Using #Lean4 inductive (sum) types and custom Ord typeclass to solve the day7 of AoC: https://github.com/TristanCacqueray/advent-of-lean/blob/main/AdventOfLean/Day07.lean

2023-12-05

The #Lean4 goal buffer is very handy to solve the advent of code interactively. Here is my solution for day5: https://github.com/TristanCacqueray/advent-of-lean/blob/main/AdventOfLean/Day05.lean

2023-12-04

With the help of `dbg_trace`, I solved day4 with #Lean4 Std.Data.RBMap : https://github.com/TristanCacqueray/advent-of-lean/blob/main/AdventOfLean/Day04.lean

2023-12-03

Using `partial` annotation to parse the day3 of the advent of code with #Lean4 : https://github.com/TristanCacqueray/advent-of-lean/blob/main/AdventOfLean/Day03.lean

2023-12-02

Using #Lean4 parsec to solve day 02 of the advent of code: https://github.com/TristanCacqueray/advent-of-lean/blob/main/AdventOfLean/Day02.lean

2023-12-01

I am giving #Lean4 a try for advent of code, here is my solution for day1: https://github.com/TristanCacqueray/advent-of-lean/blob/main/AdventOfLean/Day01.lean

2023-11-28

I wrote some emacs-lisp code to answer a three years old question where the current solution involves patching the keyboard’s firmware =) https://emacs.stackexchange.com/questions/55994/unicode-input-from-keyboard-qmk-to-emacs/79645

2023-10-24

After dealing with protobuf in monocle, I got a chance to use cap’n proto in logreduce, here is how it went: https://www.softwarefactory-project.io/leveraging-capn-proto-for-logreduce-reports.html

2023-10-18

Thanks to @lpil thorough review, I contributed the first LSP code action to remove unused imports from Gleam code!

https://github.com/gleam-lang/gleam/pull/2321

2023-09-26

I made yet another tiny game: https://github.com/TristanCacqueray/moonracer

2023-08-27

Dear followers, I would love if you could review this piece about Haskell before I share it to a larger audience. Thanks!

https://tristancacqueray.github.io/blog/beautiful-haskell

2023-08-11

Kubernetes generates random string for resource names using a custom set of characters to avoid “bad words” by excluding vowels and numbers like 0, 1 or 3 :-) https://github.com/kubernetes/kubernetes/blob/6e0cb243d57592c917fe449dde20b0e246bc66be/staging/src/k8s.io/apimachinery/pkg/util/rand/rand.go#L81-L83

2023-08-08

Using gephi preview mode to round the edges of a call graph from ghc core:


2023-08-08

The call graph of the cabal-audit command has 35k nodes and 86k edges (without counting the ones from GHC.Builtin.PrimOps and GHC.Tc.Errors.Ppr):


2023-08-07

Analyzing haskell call-graph through `-fwrite-if-simplified-core` with https://github.com/TristanCacqueray/cabal-audit


2023-07-12

My write-up for the ICFP Contest 2023 is https://tristancacqueray.github.io/blog/icfpc2023

2023-07-03

A new library to process^Wlearn dsp with Haskell: https://github.com/TristanCacqueray/simple-dsp

2023-05-15

Making of animation fractal OP-961 with Haskell Keid: https://tristancacqueray.github.io/blog/making-of-op961.html

2023-02-20

lambda-ray, another 10 liner to render a rotating >>= logo: https://github.com/haskell-game/tiny-games-hs/tree/main/base/lambda-ray#readme


2023-02-12

lazy-march, a 10 lines raymarchingsdf for the tiny-game.hs jam: https://github.com/haskell-game/tiny-games-hs/tree/main/hackage/lazy-march


2023-02-08

pure-doors, my gam-10-80-hs-prelude submission: https://github.com/haskell-game/tiny-games-hs/tree/main/prelude/pure-doors