shakedown.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A community for live music fans with roots in the jam scene. Shakedown Social is run by a team of volunteers (led by @clifff and @sethadam1) and funded by donations.

Administered by:

Server stats:

264
active users

#literateprogramming

0 posts0 participants0 posts today
screwlisp<p><a href="https://gamerplus.org/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://gamerplus.org/tags/systemsProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>systemsProgramming</span></a> <a href="https://gamerplus.org/tags/software" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>software</span></a> <a href="https://gamerplus.org/tags/commonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>commonLisp</span></a> <a href="https://gamerplus.org/tags/sitcalc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>sitcalc</span></a> <a href="https://gamerplus.org/tags/emacs" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>emacs</span></a> <a href="https://gamerplus.org/tags/eepitch" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>eepitch</span></a></p><p><a href="https://screwlisp.small-web.org/complex/my-eepitch-send-actions-and-the-situation-calculus/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">screwlisp.small-web.org/comple</span><span class="invisible">x/my-eepitch-send-actions-and-the-situation-calculus/</span></a></p><p>I relate <a href="https://gamerplus.org/tags/Sandewall" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Sandewall</span></a>'s call for situation calculus actions and the shared environment / database to be moved into the kernel viz my <a href="https://gamerplus.org/tags/literateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>literateProgramming</span></a> emacs useage.</p><p>People always said emacs /was/ the operatingsystem, didn't they.</p><p>Particularly, computer programs various send requests for actions to the emacs server where they are also seen playing out at they actually happen in real time.</p>
Vassil Nikolov<p>&gt; ... conversations with Knuth viz <a href="https://ieji.de/tags/literateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>literateProgramming</span></a> or otherwise? Were you saying that it was specifically in the context of his book that web was important?</p><p>Which book?</p><p><span class="h-card" translate="no"><a href="https://gamerplus.org/@screwlisp" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>screwlisp</span></a></span> <span class="h-card" translate="no"><a href="https://appdot.net/@mdhughes" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>mdhughes</span></a></span></p>
screwlisp<p><span class="h-card" translate="no"><a href="https://appdot.net/@mdhughes" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>mdhughes</span></a></span> <br>What were you sharing about your conversations with Knuth viz <a href="https://gamerplus.org/tags/literateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>literateProgramming</span></a> or otherwise? Were you saying that it was specifically in the context of his book that web was important?</p><p>The way eev resolves repl vs literate is that you only write in your literate document, and the repl updates on the other half of the screen without your cursor entering it.</p>
screwlisp<p><a href="https://gamerplus.org/tags/lispyGopherClimate" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lispyGopherClimate</span></a> <a href="https://gamerplus.org/tags/comingUp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>comingUp</span></a> on <a href="https://anonradio.net" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">anonradio.net</span><span class="invisible"></span></a> 45 minutes from tooting.</p><p>I'm just going to rhapsodise about my recent <a href="https://gamerplus.org/tags/literateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>literateProgramming</span></a> <a href="https://gamerplus.org/tags/tangle" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tangle</span></a> <a href="https://screwlisp.small-web.org/programming/tangle" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">screwlisp.small-web.org/progra</span><span class="invisible">mming/tangle</span></a> <a href="https://gamerplus.org/tags/lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lisp</span></a> program<br>and my piece of like-a-human <a href="https://gamerplus.org/tags/eev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>eev</span></a> <a href="https://gamerplus.org/tags/emacs" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>emacs</span></a> <a href="https://gamerplus.org/tags/commonlisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>commonlisp</span></a> <a href="https://gamerplus.org/tags/swank" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>swank</span></a> tooling <a href="https://screwlisp.small-web.org/screwniverse/cl-eepitch/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">screwlisp.small-web.org/screwn</span><span class="invisible">iverse/cl-eepitch/</span></a></p><p>And its relation to <a href="https://gamerplus.org/tags/softwareIndividuals" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>softwareIndividuals</span></a>, control problems with <a href="https://gamerplus.org/tags/AI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AI</span></a> as such.</p>
screwlisp<p><a href="https://gamerplus.org/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://gamerplus.org/tags/softwareEngineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>softwareEngineering</span></a> article <a href="https://screwlisp.small-web.org/programming/tangle/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">screwlisp.small-web.org/progra</span><span class="invisible">mming/tangle/</span></a> <a href="https://gamerplus.org/tags/commonLisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>commonLisp</span></a> <a href="https://gamerplus.org/tags/asdf" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asdf</span></a> <a href="https://gamerplus.org/tags/systemsProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>systemsProgramming</span></a> <a href="https://gamerplus.org/tags/series" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>series</span></a> <a href="https://gamerplus.org/tags/pathnames" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pathnames</span></a> <a href="https://gamerplus.org/tags/packaging" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>packaging</span></a> </p><p>Really simple... Sort of... But so intricate to write. I deal with (writing a smidge of <a href="https://gamerplus.org/tags/interactive" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>interactive</span></a> <a href="https://gamerplus.org/tags/lazyEvaluation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lazyEvaluation</span></a> <a href="https://gamerplus.org/tags/functionalProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>functionalProgramming</span></a> ) :</p><p>- Tangling markdown into an asdf :class :package-inferred-system lisp system<br>- Doing so with scan-file and collect-file from series<br>- Working with lisp’s make-pathname directories.</p><p><a href="https://gamerplus.org/tags/literateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>literateProgramming</span></a></p>
adamcrussell<p>To followup to my previous post this is the nuweb source for my <a href="https://mastodon.sdf.org/tags/Prolog" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Prolog</span></a> solutions to TWC 320.</p><p><a href="https://adamcrussell.livejournal.com/57668.html" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">adamcrussell.livejournal.com/5</span><span class="invisible">7668.html</span></a></p><p><a href="https://mastodon.sdf.org/tags/LiterateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LiterateProgramming</span></a></p>
Carlos Noceda Riva<p>New post about <a href="https://mastodon.social/tags/orgmode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>orgmode</span></a> <a href="https://mastodon.social/tags/orgbabel" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>orgbabel</span></a> <a href="https://mastodon.social/tags/emacs" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>emacs</span></a> and <a href="https://mastodon.social/tags/literateprogramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>literateprogramming</span></a> </p><p><a href="https://www.cnoceda.com/tecnologia/posts/20250412T072657--a-little-trick-in-my-literary-programming__babel_blog_emacs_tecnologia.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">cnoceda.com/tecnologia/posts/2</span><span class="invisible">0250412T072657--a-little-trick-in-my-literary-programming__babel_blog_emacs_tecnologia.html</span></a></p><p>Is there another way to do this? <br>Thanks in advance 🙂</p>
Ramesh #NotGoingBack<p>⬆️ <span class="h-card" translate="no"><a href="https://mastodon.social/@palmin" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>palmin</span></a></span> </p><p>Interesting juxtaposition of <a href="https://mastodon.social/tags/Sudoku" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Sudoku</span></a> and <a href="https://mastodon.social/tags/Knuth" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Knuth</span></a>. Remarkable how the order is completely reversed in the modern programmers' <a href="https://mastodon.social/tags/hierarchyOfNeeds" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>hierarchyOfNeeds</span></a> —</p><p>1. Get paid for computer programming</p><p>2. Even make your programs do useful work — May be sudoku grid from a dependency graph qualifies</p><p>3. Embrace <a href="https://mastodon.social/tags/LiterateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LiterateProgramming</span></a> —Make well-written programs FUN to read. </p><p>No <a href="https://mastodon.social/tags/TeXLaTeX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TeXLaTeX</span></a>, but my <a href="https://mastodon.social/tags/Swift" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Swift</span></a> toolchain does supports <a href="https://mastodon.social/tags/Markdown" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Markdown</span></a> in code comments to capture joy for posterity</p><p><a href="https://www-cs-faculty.stanford.edu/~knuth/lp.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">www-cs-faculty.stanford.edu/~k</span><span class="invisible">nuth/lp.html</span></a></p>
Karsten Schmidt<p>Some more info &amp; illustration of the lens axis used above (excerpt from the <a href="https://mastodon.thi.ng/tags/LiterateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LiterateProgramming</span></a> source code of the much older <a href="https://mastodon.thi.ng/tags/Clojure" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Clojure</span></a> version of <a href="https://thi.ng/viz" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/viz</span><span class="invisible"></span></a>)</p><p>This axis type uses circular interpolation to create the non-linear mapping:<br><a href="https://docs.thi.ng/umbrella/math/functions/lens.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">docs.thi.ng/umbrella/math/func</span><span class="invisible">tions/lens.html</span></a></p><p>There will also be an alternative/similar version using the generalized Schlick formula:<br><a href="https://docs.thi.ng/umbrella/math/functions/schlick.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">docs.thi.ng/umbrella/math/func</span><span class="invisible">tions/schlick.html</span></a></p><p>Source code link of the animation below:<br><a href="https://github.com/thi-ng/geom/blob/feature/no-org/org/src/viz/core.org#lens-scale-dilating--bundling" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/thi-ng/geom/blob/fe</span><span class="invisible">ature/no-org/org/src/viz/core.org#lens-scale-dilating--bundling</span></a></p><p><a href="https://mastodon.thi.ng/tags/DataViz" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DataViz</span></a> <a href="https://mastodon.thi.ng/tags/Visualization" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Visualization</span></a> <a href="https://mastodon.thi.ng/tags/NonLinear" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NonLinear</span></a></p>
Karsten Schmidt<p>Rather than considering even just once the needs &amp; massive benefits for creators and maintainers, current open source software infrastructure, support tools, but also developer culture itself is completely biased and optimized purely for the benefit of consumers/users. Choosing a non-standard project structure (in my case a mature Google-style monorepo with almost 200 largely independent, but related projects/libraries/tools) is increasingly actively punishing my work and efforts in a variety of ways, e.g.</p><p>- non-supportive UIs for improved browsing/overviews of monorepos<br>- harmed discovery via search &amp; metadata limitations<br>- wrong, misleading and downgraded project ranking calculations (npm)<br>- misleading/broken automated project analysis (GitHub)<br>- lack of support by documentation tooling (TypeDoc)<br>- lack of support by package managers (Zig) and/or hosting platforms</p><p>All of these (and more) factors are actively hurting, disqualifying &amp; even completely nullifying much of my time &amp; energy spent on these projects, making my dream goal of working on open source fulltime increasingly intangible (because the above factors all have an actively downgrading effect which makes these project seem lower quality/relevance). To some extent this is purely because this work is stored in a project structure which is optimized for maintenance &amp; automation. Technically, we're speaking about _one_ additional level of nesting. An extra subdirectory! Otherwise, not any different than a "normal" repo. Still — BOOM — confusion, inflexibility &amp; punishment ensues! 😫😭</p><p>So many external aspects and people do not give a damn that a monorepo setup like this and the custom tooling created to automate the maintainance and cross-linking of all these ~360 packages (incl. example projects) are _the only sane way_ for me as a single person to efficiently manage &amp; release a codebase of this magnitude.</p><p>I was aware of some misunderstandings about monorepos on purely social/human level, but never saw it coming that the more I was expanding and deepening this work, the more this structure and scope would hurt the project &amp; my goals, because 3rd party infrastructure is just as weirded out by such a "blasphemy" as some people are...</p><p>I'd genuinely like to hear ideas what I could/should do to escape the vicious circle created by the above factors, which is a real motivation killer... I really do wonder how other maintainers (esp. would like to hear from indie devs)<br>handle projects &amp; codebases of this scale without running into these issues...</p><p>Thank you for any insights!</p><p>Ps. I really seem to have a feeble for "think different" and going against the grain with these things (or maybe being too early?). The first set of 20+ <a href="https://thi.ng" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng</span><span class="invisible"></span></a> libraries for Clojure/ClojureScript were mostly written in a <a href="https://mastodon.thi.ng/tags/LiterateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LiterateProgramming</span></a> format, often combining source code with diagrams &amp; tables — this too led to many complaints and was partially to blame for not gaining much traction, even though these projects were singular offerings to that language community at the time (and funnily only became more popular _after_ 6-7 years, once I'd already left Clojure behind... go figure!)</p><p><a href="https://mastodon.thi.ng/tags/OpenSource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenSource</span></a> <a href="https://mastodon.thi.ng/tags/MonoRepo" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MonoRepo</span></a> <a href="https://mastodon.thi.ng/tags/Maintainance" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Maintainance</span></a> <a href="https://mastodon.thi.ng/tags/Infrastructure" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Infrastructure</span></a> <a href="https://mastodon.thi.ng/tags/Documentation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Documentation</span></a> <a href="https://mastodon.thi.ng/tags/Tooling" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Tooling</span></a> <a href="https://mastodon.thi.ng/tags/SocialCoding" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SocialCoding</span></a> <a href="https://mastodon.thi.ng/tags/Expectations" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Expectations</span></a> <a href="https://mastodon.thi.ng/tags/NonStandard" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NonStandard</span></a></p>
Nelson<p>Has anyone on here written any software using <a href="https://jawns.club/tags/LiterateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LiterateProgramming</span></a>? If yes, what tools did you use? Did they work well, and would you recommend them?</p><p>I've been fascinated by the concept ever since Inform 7 was released as open source, with its own literate programming toolset. <span class="h-card" translate="no"><a href="https://mastodon.gamedev.place/@zarfeblong" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>zarfeblong</span></a></span> quotes, "...no one has yet volunteered to write a program using another's system for literate programming." <a href="https://blog.zarfhome.com/2022/04/inform-7-open-source-release.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.zarfhome.com/2022/04/info</span><span class="invisible">rm-7-open-source-release.html</span></a></p><p>Did you write your own literate programming software?</p>
Karsten Schmidt<p><a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ThingUmbrella</span></a> readme/example tip: If you've got a local clone of the Git repo[1] and have everything built (via `yarn build`), you can then run: `yarn doc:readme` to re-generate the readme files of all packages and extract various code examples[2] into runnable TypeScript source files.</p><p>In <a href="https://mastodon.thi.ng/tags/LiterateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LiterateProgramming</span></a> parlance this process is called "tangling" and here is handled by <a href="https://thi.ng/tangle" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/tangle</span><span class="invisible"></span></a>, which you can of course use for your own projects/documentation/literate programming too! The tangled source files are written in the `export` folder of each eligible package and can then be (usually) directly run from the terminal using `bun` (<a href="https://bun.sh" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">bun.sh</span><span class="invisible"></span></a>), e.g. like so:</p><p>`bun packages/text-canvas/export/readme-barplot.ts`</p><p>Just thought this might be useful for some of you...</p><p>[1] <a href="https://github.com/thi-ng/umbrella/blob/develop/README.md#building" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/thi-ng/umbrella/blo</span><span class="invisible">b/develop/README.md#building</span></a></p><p>[2] So far there're only ~28 packages (15% of the total) for which I've updated the readmes with this mechanism. I'm hoping by end of the year all of them will be ready...</p><p><a href="https://mastodon.thi.ng/tags/ThingUmbrella" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ThingUmbrella</span></a> <a href="https://mastodon.thi.ng/tags/OpenSource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenSource</span></a> <a href="https://mastodon.thi.ng/tags/Documentation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Documentation</span></a> <a href="https://mastodon.thi.ng/tags/Examples" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Examples</span></a> <a href="https://mastodon.thi.ng/tags/TypeScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TypeScript</span></a> <a href="https://mastodon.thi.ng/tags/Bun" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Bun</span></a></p>
ratfactor<p>I got this wild hare to make a simple version of Knuth's Literate Programming in Ruby. How small could it be? Turns out 35 lines (not golfed) gives you quite a bit. 💎 </p><p>YES, it includes out-of-order source, so it's a "real" literate programming system (I eagery await your ire, LOL) and YES, the final program is written in itself.</p><p><a href="http://ratfactor.com/repos/rubylit/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">http://</span><span class="">ratfactor.com/repos/rubylit/</span><span class="invisible"></span></a></p><p><a href="https://mastodon.art/tags/literateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>literateProgramming</span></a> <a href="https://mastodon.art/tags/ruby" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ruby</span></a></p>
Jon Udell<p>"Some explanations can, will, and should be written by code authors alone, or by those authors in partnership with LLMs. Others can, will, and should be conjured dynamically by code readers who ask LLMs for explanations on the fly."</p><p><a href="https://thenewstack.io/how-to-use-llms-for-dynamic-documentation/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">thenewstack.io/how-to-use-llms</span><span class="invisible">-for-dynamic-documentation/</span></a></p><p><a href="https://social.coop/tags/LLM" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LLM</span></a> <a href="https://social.coop/tags/Documentation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Documentation</span></a> <a href="https://social.coop/tags/LiterateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LiterateProgramming</span></a></p>
Karsten SchmidtLong thread #OpenSource #ThingUmbrella
S. Lott<p><a href="https://fosstodon.org/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://fosstodon.org/tags/LiterateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LiterateProgramming</span></a> </p><p><a href="https://slott56.github.io/2023-07-18-literate_programming_with_pyweblp.html" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">slott56.github.io/2023-07-18-l</span><span class="invisible">iterate_programming_with_pyweblp.html</span></a></p><p>I (finally) put this up on PyPI.</p>
Karsten Schmidt<p><span class="h-card"><a href="https://merveilles.town/@neauoire" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>neauoire</span></a></span> Not Petri nets, but related if you're into that kind of graph based computation approach... I was (still am) very fond of the Signal/Collect programming model (which also can drastically simplify the implementation and parallelization of various types of algorithms):</p><p><a href="http://www.cs.cmu.edu/~wcohen/postscript/iswc-2010.pdf" rel="nofollow noopener" target="_blank"><span class="invisible">http://www.</span><span class="ellipsis">cs.cmu.edu/~wcohen/postscript/</span><span class="invisible">iswc-2010.pdf</span></a><br><a href="http://www.semantic-web-journal.net/system/files/swj971.pdf" rel="nofollow noopener" target="_blank"><span class="invisible">http://www.</span><span class="ellipsis">semantic-web-journal.net/syste</span><span class="invisible">m/files/swj971.pdf</span></a></p><p>FWIW (as more concrete reference with more examples/diagrams) my own <a href="https://mastodon.thi.ng/tags/LiterateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LiterateProgramming</span></a> <a href="https://mastodon.thi.ng/tags/Clojure" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Clojure</span></a> implementation &amp; interpretation of some of these ideas is here:</p><p><a href="https://thi.ng/fabric" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/fabric</span><span class="invisible"></span></a></p>
Karsten Schmidt<p><span class="h-card"><a href="https://hci.social/@designfactotum" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>designfactotum</span></a></span> Absolutely! Reproducibility, also in terms of enabling others (and future self) to understand/follow certain design decisions in software was one of the reasons why I spent several years practicing <a href="https://mastodon.thi.ng/tags/LiterateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LiterateProgramming</span></a>, e.g. resulting in source code like this:</p><p><a href="https://github.com/thi-ng/fabric/blob/master/fabric-facts/src/core.org" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/thi-ng/fabric/blob/</span><span class="invisible">master/fabric-facts/src/core.org</span></a><br><a href="https://github.com/thi-ng/fabric/blob/master/fabric-facts/src/dsl.org" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/thi-ng/fabric/blob/</span><span class="invisible">master/fabric-facts/src/dsl.org</span></a></p><p>Unfortunately, I had to give up on this due to switching languages/tooling and also because of pushback from potential contributors. As an alternative, I've been trying (occasionally) to use ADRs[1], but need to get back more into the habit of it, and reserve bandwidth/time for those... Looking at other large <a href="https://mastodon.thi.ng/tags/OpenSource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenSource</span></a> projects, as an outsider/novice it's hardly ever sufficient to just have access to the source code (and/or docs) without also having some understanding why or how key factors/decisions/patterns where used/arrived at... These aspects are hardly ever documented</p><p>IMHO the strong coupling of source code, version control, IDEs/build tools and filesystems (rather than say a block based/notebook-style approaches) is one of the biggest issues to overcome in moving software dev forward towards more reproducibility &amp; future introspection...</p><p>Slight tangent: More software will be globally generated via LLMs/autopilots, whose generated code will eventually (if not already) be treated as black boxes, at large. People/industry will build new houses/towers of cards and use layers of infrastructure (mud) to try to manage that mess (aka sweep it under the rug), but one of the biggest issues I can already foresee is a vastly increased lack of reasoning powers and debuggability with these approaches, in addition to the unavoidable &amp; unpredictable emergent interactions resulting from designing complex software systems indirectly via natural language prompting...</p><p>[1] Architecture Decision Records - <a href="https://github.com/joelparkerhenderson/architecture-decision-record" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/joelparkerhenderson</span><span class="invisible">/architecture-decision-record</span></a></p>
Karsten Schmidt<p><a href="https://mastodon.thi.ng/tags/ReleaseSunday" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ReleaseSunday</span></a> Good things come to those who wait... After 10+ years, incl. 4+ years of release candidates and now prompted by a recent PR by @dimovich, earlier today I've released <a href="https://thi.ng/geom-clj" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/geom-clj</span><span class="invisible"></span></a> v1.0.0 proper — a large, comprehensive <a href="https://mastodon.thi.ng/tags/opensource" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>opensource</span></a> 2D/3D geometry toolkit for both <a href="https://mastodon.thi.ng/tags/Clojure" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Clojure</span></a> &amp; <a href="https://mastodon.thi.ng/tags/ClojureScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ClojureScript</span></a>. It's a massive project with too many features to list here, see readme &amp; attached images for a partial list...</p><p>This was the first public project under the thi.ng moniker and from 2011-2016 I worked almost daily on it (though in it's current form it's the 4th rewrite). It also was the first project for which I decided to adapt a <a href="https://mastodon.thi.ng/tags/LiterateProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LiterateProgramming</span></a> process, using Emacs <a href="https://mastodon.thi.ng/tags/OrgMode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OrgMode</span></a>, allowing me to develop and intersperse source code with prose, sections, table of contents, reference/research links, tasks, diagrams, visualizations, tables &amp; parametric code templates. Amazing productivity booster &amp; dearly missed since... I continued using LP for several other large thi.ng libraries (most notably <a href="https://thi.ng/fabric" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/fabric</span><span class="invisible"></span></a>), but in 2018 I decided to give up, since it proved to be a major hurdle for 3rd party contributions... 😢</p><p>In hindsight, the project, design and learnings from Clojure heavily inspired and directly expanded into my later (current!) <a href="https://mastodon.thi.ng/tags/TypeScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TypeScript</span></a> work and the group of 20 new libraries under the same name (i.e. see <a href="https://thi.ng/geom" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/geom</span><span class="invisible"></span></a>). The latter is _not_ a direct port and currently still has a much stronger focus on 2D, yet again is one of the largest groups of libraries in the entire <a href="https://thi.ng/umbrella" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">thi.ng/umbrella</span><span class="invisible"></span></a> monorepo...</p>