WWWTech / What’s new? (Combined feed)https://wwwtech.de/whatsnew.atom2022-12-26T08:43:19.145361+00:00Christian Krusechristian@kruse.coolhttps://wwwtech.de/aboutA pretty interesting article about gap buffers and ropes, two data structures to represent files in memory for an editor https://coredumped.dev/2023/08/09/text-showdown-gap-buffers-vs-ropes/tag:wwwtech.de,2005:Note/6322023-10-24T17:29:16.329079+00:002023-10-24T19:29:16.329079+02:00<article
class="note h-entry "
lang="en">
<div class="e-content">
<p>A pretty interesting article about <a href="https://coredumped.dev/2023/08/09/text-showdown-gap-buffers-vs-ropes/">gap buffers and ropes</a>, two data structures to represent files in memory for an editor.</p>
<time class="perma-link dt-published" datetime="2023-10-24T17:29:16">
<a href="https://wwwtech.de/notes/632" class="u-url">over 5 months ago</a>
</time>
</div>
</article>This is hilarious 🤣 „A Brief, Incomplete, and Mostly Wrong History of Programming Languages“ http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.htmltag:wwwtech.de,2005:Note/6312023-09-21T05:25:59.574162+00:002023-09-21T07:25:59.574162+02:00<article
class="note h-entry "
lang="en">
<div class="e-content">
<p>This is hilarious 🤣</p>
<p>„<a href="http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html">A Brief, Incomplete, and Mostly Wrong History of Programming Languages</a>“</p>
<p>Tidbit:</p>
<blockquote>
<p>1936 - Alan Turing invents every programming language that will ever be but is shanghaied by British Intelligence to be 007 before he can patent them.</p>
</blockquote>
<time class="perma-link dt-published" datetime="2023-09-21T05:25:59">
<a href="https://wwwtech.de/notes/631" class="u-url">over 6 months ago</a>
</time>
</div>
</article>Gaming seems horribly broken to me these days. Everything is packed with micro transactions, and everything is just a slot machine to get you going via a dopamin hit.tag:wwwtech.de,2005:Note/6302023-09-20T12:23:05.718590+00:002023-09-20T14:23:05.718590+02:00<article
class="note h-entry "
lang="en">
<div class="e-content">
<p>Gaming seems horribly broken to me these days. Everything is packed with micro transactions, and everything is just a slot machine to get you going via a dopamin hit.</p>
<time class="perma-link dt-published" datetime="2023-09-20T12:23:05">
<a href="https://wwwtech.de/notes/630" class="u-url">over 6 months ago</a>
</time>
</div>
</article>The perfect after worktag:wwwtech.de,2005:Picture/4022023-09-09T16:09:06.311054+00:002023-09-09T18:09:06.311054+02:00<article class="picture h-entry" lang="en">
<div class="e-content thumbnail">
<a href="https://wwwtech.de/pictures/402.jpg">
<img src="https://wwwtech.de/pictures/402.jpg?type=thumbnail" alt="A bottle of beer in the foreground, the sunny mountains in the background " class="image u-photo">
</a>
<time class="perma-link dt-published" datetime="2023-09-09T16:09:06">
<a href="https://wwwtech.de/pictures/402" class="u-url">over 6 months ago</a>
</time>
</div>
</article>Greetings from above the Chiemsee, at the Schnappenkirchetag:wwwtech.de,2005:Picture/4012023-09-08T15:33:18.635995+00:002023-09-08T17:33:18.635995+02:00<article class="picture h-entry" lang="en">
<div class="e-content thumbnail">
<a href="https://wwwtech.de/pictures/401.jpg">
<img src="https://wwwtech.de/pictures/401.jpg?type=thumbnail" alt="A beautiful view over the Voralpenland and the Chiemsee" class="image u-photo">
</a>
<time class="perma-link dt-published" datetime="2023-09-08T15:33:18">
<a href="https://wwwtech.de/pictures/401" class="u-url">over 6 months ago</a>
</time>
</div>
</article>„How to type the word blimpy in Emacs“ https://www.youtube.com/watch?v=2VOnKMJqIL0tag:wwwtech.de,2005:Note/6292023-09-04T19:08:43.539661+00:002023-09-04T21:08:43.539661+02:00<article
class="note h-entry "
lang="en">
<div class="e-content">
<p>„<a href="https://www.youtube.com/watch?v=2VOnKMJqIL0">How to type the word blimpy in Emacs</a>“</p>
<p>This is hilarious 🤣</p>
<time class="perma-link dt-published" datetime="2023-09-04T19:08:43">
<a href="https://wwwtech.de/notes/629" class="u-url">about 7 months ago</a>
</time>
</div>
</article>„Leinenpflicht? Ich bin doch an der Leine!“tag:wwwtech.de,2005:Picture/4002023-08-30T20:20:16.645318+00:002023-08-30T22:20:16.645318+02:00<article class="picture h-entry" lang="de">
<div class="e-content thumbnail">
<a href="https://wwwtech.de/pictures/400.jpg">
<img src="https://wwwtech.de/pictures/400.jpg?type=thumbnail" alt="Alfons trägt seine eigene Leine im Maul und läuft neben mir her" class="image u-photo">
</a>
<time class="perma-link dt-published" datetime="2023-08-30T20:20:16">
<a href="https://wwwtech.de/pictures/400" class="u-url">over 7 months ago</a>
</time>
</div>
</article>„Haskell Researchers Announce Discovery of Industry Programmer Who Gives a Shit“ https://steve-yegge.blogspot.com/2010/12/haskell-researchers-announce-discovery.htmltag:wwwtech.de,2005:Note/6282023-08-28T12:51:40.233725+00:002023-08-28T14:51:40.233725+02:00<article
class="note h-entry "
lang="en">
<div class="e-content">
<p>„<a href="https://steve-yegge.blogspot.com/2010/12/haskell-researchers-announce-discovery.html">Haskell Researchers Announce Discovery of Industry Programmer Who Gives a Shit</a>“</p>
<p>Hilarious article 🤣</p>
<p>Tidbit:</p>
<blockquote>
<p>"We knew that there are precisely 38 people who give a shit about Haskell," said Van Der Linde, "because every Haskell-related reddit post gets exactly 38 upvotes. It's a pure, deterministic function of no arguments -- that is, the result is independent of what we actually announce. But there are only 37 of us on our mailing list, so we figured there was a lurker somewhere."</p>
</blockquote>
<time class="perma-link dt-published" datetime="2023-08-28T12:51:40">
<a href="https://wwwtech.de/notes/628" class="u-url">over 7 months ago</a>
</time>
</div>
</article>PC hardware disappoints my time and time again. I ordered a workstation for faster Rust build times. An i7 13700 with 16 cores and 24 threads, 64gb RAM and a 1tb Samsung 990 NVMe ssd. While the performance is better than I was hoping for, damn, this machine when used in a casual edit&recompile workflow is as loud as our Dell servers. Fucking hell, how is anyone able to work with this thing on your desk?!tag:wwwtech.de,2005:Note/6272023-08-27T17:45:33.591686+00:002023-08-27T19:43:55.587059+02:00<article
class="note h-entry "
lang="en">
<div class="e-content">
<p>PC hardware disappoints me time and time again. I ordered a workstation for faster Rust build times. An i7 13700 with 16 cores and 24 threads, 64gb RAM and a 1tb Samsung 990 NVMe ssd.</p>
<p>While the performance is better than I was hoping for, damn, this machine when used in a casual edit&recompile workflow is as loud as our Dell servers. Fucking hell, how is anyone able to work with this thing on your desk?!</p>
<time class="perma-link dt-published" datetime="2023-08-27T17:43:55">
<a href="https://wwwtech.de/notes/627" class="u-url">over 7 months ago</a>
</time>
</div>
</article>For my fellow GNOME users, who are also extremely pissed of by these „$application is ready“ notifications: Grand Theft Focus fixes that ❤️ https://extensions.gnome.org/extension/5410/grand-theft-focus/tag:wwwtech.de,2005:Note/6262023-08-26T04:47:36.328219+00:002023-08-26T06:47:36.328219+02:00<article
class="note h-entry "
lang="en">
<div class="e-content">
<p>For my fellow GNOME users, who are also extremely pissed of by these „$application is ready“ notifications: <a href="https://extensions.gnome.org/extension/5410/grand-theft-focus/">Grand Theft Focus</a> fixes that ❤️</p>
<time class="perma-link dt-published" datetime="2023-08-26T04:47:36">
<a href="https://wwwtech.de/notes/626" class="u-url">over 7 months ago</a>
</time>
</div>
</article>Emacs 29: Install Tree-Sitter parser modules with an Emacs packagetag:wwwtech.de,2005:Article/1972022-12-26T08:43:19.145361+00:002022-12-25T19:59:21.029490+01:00<article
class="article h-entry"
lang="en">
<div class="e-content">
<p>Sadly installing grammars has to be done manually, and it is not trivial: you need to compile a grammar and copy the resulting <code>.so</code> or <code>.dylib</code> file to the right directory. To make handling a bit easier I wrote a small Emacs package for that: <a href="https://codeberg.org/ckruse/treesit-parser-manager">treesit-parser-manager</a>.</p>
<p>You define a list of parsers and <code>treesit-parser-manager</code> takes care of the rest. For example my list looks like this:</p>
<pre><code>(setq treesit-parser-manager-grammars
'(
("https://github.com/tree-sitter/tree-sitter-rust"
("tree-sitter-rust"))
("https://github.com/ikatyang/tree-sitter-toml"
("tree-sitter-toml"))
("https://github.com/elixir-lang/tree-sitter-elixir"
("tree-sitter-elixir"))
("https://github.com/tree-sitter/tree-sitter-typescript"
("tree-sitter-typescript/tsx" "tree-sitter-typescript/typescript"))
("https://github.com/tree-sitter/tree-sitter-javascript"
("tree-sitter-javascript"))
("https://github.com/tree-sitter/tree-sitter-css"
("tree-sitter-css"))
("https://github.com/serenadeai/tree-sitter-scss"
("tree-sitter-scss"))
("https://github.com/tree-sitter/tree-sitter-json"
("tree-sitter-json"))))
</code></pre>
<p>This defines a list with the grammars for Rust, TOML files, Elixir, TypeScript and TSX, JavaScript, CSS, SCSS and JSON. Now I can call <code>treesit-parser-manager-compile-or-update</code> and my little Emacs mode installs (or updates) the desired grammars.</p>
<p>A complete setup using <a href="https://github.com/radian-software/straight.el">straight</a> could look like this:</p>
<pre><code>(use-package treesit-parser-manager
:straight (treesit-parser-manager :host codeberg :repo "ckruse/treesit-parser-manager" :files ("*.el"))
:commands (treesit-parser-manager-install-grammars
treesit-parser-manager-update-grammars
treesit-parser-manager-install-or-update-grammars
treesit-parser-manager-remove-grammar)
:custom
(treesit-parser-manager-grammars
'(("https://github.com/tree-sitter/tree-sitter-rust"
("tree-sitter-rust"))
("https://github.com/ikatyang/tree-sitter-toml"
("tree-sitter-toml"))
("https://github.com/elixir-lang/tree-sitter-elixir"
("tree-sitter-elixir"))
("https://github.com/tree-sitter/tree-sitter-typescript"
("tree-sitter-typescript/tsx" "tree-sitter-typescript/typescript"))
("https://github.com/tree-sitter/tree-sitter-javascript"
("tree-sitter-javascript"))
("https://github.com/tree-sitter/tree-sitter-css"
("tree-sitter-css"))
("https://github.com/serenadeai/tree-sitter-scss"
("tree-sitter-scss"))
("https://github.com/tree-sitter/tree-sitter-json"
("tree-sitter-json"))))
:config
(setq treesit-extra-load-path (list (expand-file-name "tree-sit" user-emacs-directory)))
:hook (emacs-startup . treesit-parser-manager-install-grammars))
</code></pre>
<p>I hope this helps some fellow Emacs users!</p>
</div>
</article>