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:

249
active users

#plt

0 posts0 participants0 posts today
rk: it’s hyphen-minus actually<p>My little scripting language is strongly, statically, and nominatively typed. No typecasts; you must use type transfer functions. </p><p>The compiler can automatically derive transfer functions from base types, so free constructors. </p><p>I’m thinking about predicated types with fallible constructors.</p><p>type EvenInt int where($ % 2 == 0)</p><p>would derive a constructor from int that returned None for odds; seems nice but having to check for failure on construction seems less fun.</p><p><a href="https://mastodon.well.com/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a> <a href="https://mastodon.well.com/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.well.com/tags/compilers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compilers</span></a></p>
rk: it’s hyphen-minus actually<p>Who called it linear typing and not “once in a lifetime”?</p><p>Who called it const and not “same as it ever was”?</p><p>Who called it a stack trace and not “how did I get here?”</p><p><a href="https://mastodon.well.com/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a> <a href="https://mastodon.well.com/tags/rerun" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rerun</span></a> <a href="https://mastodon.well.com/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a></p>
Lobsters<p>Use Your Type System via <span class="h-card" translate="no"><a href="https://social.treehouse.systems/@RunxiYu" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>RunxiYu</span></a></span> <a href="https://lobste.rs/s/a9frrj" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">lobste.rs/s/a9frrj</span><span class="invisible"></span></a> <a href="https://mastodon.social/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a> <a href="https://mastodon.social/tags/practices" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>practices</span></a><br><a href="https://www.dzombak.com/blog/2025/07/use-your-type-system/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">dzombak.com/blog/2025/07/use-y</span><span class="invisible">our-type-system/</span></a></p>
jbz<p>「 Go is the most hated programming language. Compared to other languages, it provides 80% of utility with 20% of complexity. The hate comes from people who want 81% of utility, or 85% or 97% 」 </p><p><a href="https://blog.kowalczyk.info/article/d-2025-06-26/go-is-8020-language.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.kowalczyk.info/article/d-</span><span class="invisible">2025-06-26/go-is-8020-language.html</span></a></p><p><a href="https://indieweb.social/tags/go" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>go</span></a> <a href="https://indieweb.social/tags/golang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>golang</span></a> <a href="https://indieweb.social/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a></p>
Lisp & Scheme Weekly<p>The next phase of jank's C++ interop</p><p><a href="https://jank-lang.org/blog/2025-06-06-next-phase-of-interop/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">jank-lang.org/blog/2025-06-06-</span><span class="invisible">next-phase-of-interop/</span></a></p><p>Discussions: <a href="https://discu.eu/q/https://jank-lang.org/blog/2025-06-06-next-phase-of-interop/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">discu.eu/q/https://jank-lang.o</span><span class="invisible">rg/blog/2025-06-06-next-phase-of-interop/</span></a></p><p><a href="https://mastodon.social/tags/clojure" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clojure</span></a> <a href="https://mastodon.social/tags/compilers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compilers</span></a> <a href="https://mastodon.social/tags/compsci" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compsci</span></a> <a href="https://mastodon.social/tags/cpp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cpp</span></a> <a href="https://mastodon.social/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a></p>
Lobsters<p>The next phase of jank's C++ interop <a href="https://lobste.rs/s/wrdnsx" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">lobste.rs/s/wrdnsx</span><span class="invisible"></span></a> <a href="https://mastodon.social/tags/c" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>c</span></a>++ <a href="https://mastodon.social/tags/clojure" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clojure</span></a> <a href="https://mastodon.social/tags/compilers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compilers</span></a> <a href="https://mastodon.social/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a><br><a href="https://jank-lang.org/blog/2025-06-06-next-phase-of-interop/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">jank-lang.org/blog/2025-06-06-</span><span class="invisible">next-phase-of-interop/</span></a></p>
rk: it’s hyphen-minus actually<p>Reification of continuations lets you do some neat things.</p><p><a href="https://mastodon.well.com/tags/lisp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lisp</span></a> <a href="https://mastodon.well.com/tags/scheme" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>scheme</span></a> <a href="https://mastodon.well.com/tags/callcc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>callcc</span></a> <a href="https://mastodon.well.com/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a></p>
rk: it’s hyphen-minus actually<p>Someone here might know. What’s up with the encoding of exception regions in Java class files? Why are exception handlers encoded as subroutines and then there’s a (relatively complex) mapping of instruction spans to subroutines, rather than explicit calls in the code? It seems to complicate class file validation, as noted in the spec itself, and requires extra annotations in the class file.</p><p>I’m sure there’s a good reason, I just don’t understand it yet. </p><p><a href="https://mastodon.well.com/tags/java" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>java</span></a> <a href="https://mastodon.well.com/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a> <a href="https://mastodon.well.com/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.well.com/tags/compilers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compilers</span></a></p>
Ramin Honary<p><span class="h-card"><a class="u-url mention" href="https://mastodon.social/@wingo" rel="nofollow noopener" target="_blank">@<span>wingo</span></a></span> is asking if anyone knows of a good course on the Nanopass framework (perhaps to recommend to others), but as usual he forgot to add hashtags to his post. So please reply to this post here: <a href="https://mastodon.social/@wingo/113956474737820425" rel="nofollow noopener" target="_blank">https://mastodon.social/@wingo/113956474737820425</a></p><p><a class="hashtag" href="https://fe.disroot.org/tag/tech" rel="nofollow noopener" target="_blank">#tech</a> <a class="hashtag" href="https://fe.disroot.org/tag/software" rel="nofollow noopener" target="_blank">#software</a> <a class="hashtag" href="https://fe.disroot.org/tag/lisp" rel="nofollow noopener" target="_blank">#Lisp</a> <a class="hashtag" href="https://fe.disroot.org/tag/scheme" rel="nofollow noopener" target="_blank">#Scheme</a> <a class="hashtag" href="https://fe.disroot.org/tag/schemelang" rel="nofollow noopener" target="_blank">#SchemeLang</a> <a class="hashtag" href="https://fe.disroot.org/tag/r7rs" rel="nofollow noopener" target="_blank">#R7RS</a> <a class="hashtag" href="https://fe.disroot.org/tag/r6rs" rel="nofollow noopener" target="_blank">#R6RS</a> <a class="hashtag" href="https://fe.disroot.org/tag/guilescheme" rel="nofollow noopener" target="_blank">#GuileScheme</a> <a class="hashtag" href="https://fe.disroot.org/tag/guile" rel="nofollow noopener" target="_blank">#Guile</a> <a class="hashtag" href="https://fe.disroot.org/tag/compilers" rel="nofollow noopener" target="_blank">#Compilers</a> <a class="hashtag" href="https://fe.disroot.org/tag/programminglanguages" rel="nofollow noopener" target="_blank">#ProgrammingLanguages</a> <a class="hashtag" href="https://fe.disroot.org/tag/plt" rel="nofollow noopener" target="_blank">#PLT</a></p>
jbz<p>The Fantastic Forth</p><p><a href="https://ratfactor.com/forth/the_programming_language_that_writes_itself.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">ratfactor.com/forth/the_progra</span><span class="invisible">mming_language_that_writes_itself.html</span></a></p><p><a href="https://indieweb.social/tags/forth" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>forth</span></a> <a href="https://indieweb.social/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a></p>
Lobsters<p>The fizzbuzz that did not get me the job via <span class="h-card" translate="no"><a href="https://social.vivaldi.net/@lproven" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>lproven</span></a></span> <a href="https://lobste.rs/s/qjzguh" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">lobste.rs/s/qjzguh</span><span class="invisible"></span></a> <a href="https://mastodon.social/tags/javascript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>javascript</span></a> <a href="https://mastodon.social/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a><br><a href="https://kranga.notion.site/The-fizzbuzz-that-did-not-get-me-the-job-180e7c22ef3b80c3a386f7f8de720ac7" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kranga.notion.site/The-fizzbuz</span><span class="invisible">z-that-did-not-get-me-the-job-180e7c22ef3b80c3a386f7f8de720ac7</span></a></p>
Ruby Weekly<p>Why don't constructors have override checking?</p><p><a href="https://blog.jez.io/constructor-override-checking/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.jez.io/constructor-overri</span><span class="invisible">de-checking/</span></a></p><p>Discussions: <a href="https://discu.eu/q/https://blog.jez.io/constructor-override-checking/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">discu.eu/q/https://blog.jez.io</span><span class="invisible">/constructor-override-checking/</span></a></p><p><a href="https://mastodon.social/tags/compsci" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compsci</span></a> <a href="https://mastodon.social/tags/java" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>java</span></a> <a href="https://mastodon.social/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.social/tags/ruby" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ruby</span></a></p>
Lobsters<p>Type Inference in Rust and C++ <a href="https://lobste.rs/s/hbzctm" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">lobste.rs/s/hbzctm</span><span class="invisible"></span></a> <a href="https://mastodon.social/tags/c" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>c</span></a>++ <a href="https://mastodon.social/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a> <a href="https://mastodon.social/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a><br><a href="https://herecomesthemoon.net/2025/01/type-inference-in-rust-and-cpp/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">herecomesthemoon.net/2025/01/t</span><span class="invisible">ype-inference-in-rust-and-cpp/</span></a></p>
Abhinav 🌏<p>Writing an <a href="https://fantastic.earth/tags/interpreter" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>interpreter</span></a> for <a href="https://fantastic.earth/tags/Brainfuck" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Brainfuck</span></a> is almost a rite of passage for any programming language implementer, and it’s my turn now. In this post, I write not one but four Brainfuck <a href="https://fantastic.earth/tags/interpreters" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>interpreters</span></a> in <a href="https://fantastic.earth/tags/Haskell" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Haskell</span></a>: <a href="https://abhinavsarkar.net/posts/brainfuck-interpreter/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">abhinavsarkar.net/posts/brainf</span><span class="invisible">uck-interpreter/</span></a></p><p>Please boost for reach. If you have any questions or comments, please reply to this post.</p><p><a href="https://fantastic.earth/tags/ProgrammingLanguages" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ProgrammingLanguages</span></a> <a href="https://fantastic.earth/tags/compilers" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compilers</span></a> <a href="https://fantastic.earth/tags/LangDev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LangDev</span></a> <a href="https://fantastic.earth/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a> <a href="https://fantastic.earth/tags/blog" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>blog</span></a></p>
Preston Maness ☭<p>@alberta.nyc@tiktok.com "Two linked lists at the same time." AKA, "If leetcode questions actually happened on the job."</p><p><a href="https://www.tiktok.com/@alberta.nyc/video/7445803475595775274?lang=en" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">tiktok.com/@alberta.nyc/video/</span><span class="invisible">7445803475595775274?lang=en</span></a></p><p><a href="https://tenforward.social/tags/SoftwareEngineering" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareEngineering</span></a> <br><a href="https://tenforward.social/tags/SoftwareDevelopment" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareDevelopment</span></a> <br><a href="https://tenforward.social/tags/software" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>software</span></a> <br><a href="https://tenforward.social/tags/corecore" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>corecore</span></a> <br><a href="https://tenforward.social/tags/hopelesscore" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>hopelesscore</span></a> <br><a href="https://tenforward.social/tags/hopelessnesscore" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>hopelessnesscore</span></a> <br><a href="https://tenforward.social/tags/tiktok" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tiktok</span></a> <br><a href="https://tenforward.social/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <br><a href="https://tenforward.social/tags/LinkedList" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LinkedList</span></a> <br><a href="https://tenforward.social/tags/DataStructures" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DataStructures</span></a> <br><a href="https://tenforward.social/tags/Algorithms" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Algorithms</span></a> <br><a href="https://tenforward.social/tags/LeetCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LeetCode</span></a> <br><a href="https://tenforward.social/tags/PLT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PLT</span></a></p>
jbz<p>HTML Is Actually a Programming Language. Fight Me<br>—WIRED</p><p>「 HTML is the most significant computing language, programming or otherwise, ever developed. Every other programming language has to grapple with how HTML has redefined computing over the past 30-plus years. So many “pure” programming languages automate the production of more and more HTML 」</p><p><a href="https://www.wired.com/story/html-is-actually-a-programming-language-fight-me" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">wired.com/story/html-is-actual</span><span class="invisible">ly-a-programming-language-fight-me</span></a></p><p><a href="https://indieweb.social/tags/html" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>html</span></a> <a href="https://indieweb.social/tags/webdev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>webdev</span></a> <a href="https://indieweb.social/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a></p>
Ruby Weekly<p>How it became like this? Ruby Range class</p><p><a href="https://zverok.space/blog/2024-07-26-range-evolution.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">zverok.space/blog/2024-07-26-r</span><span class="invisible">ange-evolution.html</span></a></p><p>Discussions: <a href="https://discu.eu/q/https://zverok.space/blog/2024-07-26-range-evolution.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">discu.eu/q/https://zverok.spac</span><span class="invisible">e/blog/2024-07-26-range-evolution.html</span></a></p><p><a href="https://mastodon.social/tags/compsci" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compsci</span></a> <a href="https://mastodon.social/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.social/tags/ruby" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ruby</span></a></p>
Ruby Weekly<p>Vignettes on language evolution: discovering an old syntax feature history</p><p><a href="https://zverok.space/blog/2024-07-01-optional-args.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">zverok.space/blog/2024-07-01-o</span><span class="invisible">ptional-args.html</span></a></p><p>Discussions: <a href="https://discu.eu/q/https://zverok.space/blog/2024-07-01-optional-args.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">discu.eu/q/https://zverok.spac</span><span class="invisible">e/blog/2024-07-01-optional-args.html</span></a></p><p><a href="https://mastodon.social/tags/compsci" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compsci</span></a> <a href="https://mastodon.social/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.social/tags/ruby" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ruby</span></a></p>
Ruby Weekly<p>The design decisions and evolution of a method definition - Ruby case study</p><p><a href="https://zverok.space/blog/2024-06-14-method-evolution.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">zverok.space/blog/2024-06-14-m</span><span class="invisible">ethod-evolution.html</span></a></p><p>Discussions: <a href="https://discu.eu/q/https://zverok.space/blog/2024-06-14-method-evolution.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">discu.eu/q/https://zverok.spac</span><span class="invisible">e/blog/2024-06-14-method-evolution.html</span></a></p><p><a href="https://mastodon.social/tags/compsci" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compsci</span></a> <a href="https://mastodon.social/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.social/tags/ruby" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ruby</span></a></p>
Ruby Weekly<p>Do I not like Ruby anymore?</p><p><a href="https://sgt.hootr.club/molten-matter/maybe-i-like-python-now/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">sgt.hootr.club/molten-matter/m</span><span class="invisible">aybe-i-like-python-now/</span></a></p><p>Discussions: <a href="https://discu.eu/q/https://sgt.hootr.club/molten-matter/maybe-i-like-python-now/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">discu.eu/q/https://sgt.hootr.c</span><span class="invisible">lub/molten-matter/maybe-i-like-python-now/</span></a></p><p><a href="https://mastodon.social/tags/compsci" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>compsci</span></a> <a href="https://mastodon.social/tags/plt" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plt</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://mastodon.social/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://mastodon.social/tags/ruby" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ruby</span></a></p>