<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: kasbah</title><link>https://news.ycombinator.com/user?id=kasbah</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 16 Apr 2026 11:48:00 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=kasbah" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Open Footwear]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.openfootwear.com/">https://www.openfootwear.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45141794">https://news.ycombinator.com/item?id=45141794</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 05 Sep 2025 18:18:53 +0000</pubDate><link>https://www.openfootwear.com/</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=45141794</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45141794</guid></item><item><title><![CDATA[New comment by kasbah in "Online Ruler – Measuring in inches/centimeters"]]></title><description><![CDATA[
<p>Is it not possible to use `window.devicePixelRatio` instead of calibration?<p><a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio" rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/API/Window/devi...</a></p>
]]></description><pubDate>Wed, 30 Jul 2025 08:04:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=44731876</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=44731876</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44731876</guid></item><item><title><![CDATA[New comment by kasbah in "A Rust-TypeScript integration"]]></title><description><![CDATA[
<p>It's pretty straight forward to include the output of `wasm-pack` into a vite project. The output is a node module in a folder with the wasm files and a single "main" JS file.<p>Because I wanted to load WASM in a web worker for my project [1] I needed to use vite-plugin-wasm and `wasm-pack build --target web` but without that constraint you should be able to import the main JS file from the wasm-pack output directory using wasm-pack's default `bundler` target and no vite plugins.<p>[1]: <a href="https://github.com/kasbah/calm-go-pattern-search">https://github.com/kasbah/calm-go-pattern-search</a></p>
]]></description><pubDate>Fri, 04 Jul 2025 15:32:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=44465402</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=44465402</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44465402</guid></item><item><title><![CDATA[New comment by kasbah in "Game Programming in Prolog"]]></title><description><![CDATA[
<p>Interesting, thanks. I am especially interested in the idea of introducing player-defined concepts.<p>Would you be able to recommend a Datalog implementation that allows independant n-ary relations. Ideally one I can use from Python or Javascript in a sort of sandboxed way, as I am doing with Datascript, but if you have any recommendation at all it would be helpful to me.</p>
]]></description><pubDate>Fri, 11 Oct 2024 14:40:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=41809884</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=41809884</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41809884</guid></item><item><title><![CDATA[New comment by kasbah in "Game Programming in Prolog"]]></title><description><![CDATA[
<p>To me the interesting thing is the logic programming "rules" and their overlap with game rules. Inspired by work at Stanford on the logic programming based Game Description Language [1] I implemented Tic Tac Toe in Datascript yesterday: <a href="https://github.com/kasbah/datascript-games/blob/e06a37025bf921ed86935d40a0c882c8d053ad7b/tic-tac-toe.mjs">https://github.com/kasbah/datascript-games/blob/e06a37025bf9...</a><p>I am still not clear whether there isn't a more succinct rule definition than what I have there. In the Stanford paper you have rules like:<p><pre><code>   (<= (column ?n ?x)
     (true (cell 1 ?n ?x))
     (true (cell 2 ?n ?x))
     (true (cell 3 ?n ?x)))
</code></pre>
But in Datascript I have to do much more rigmarole around shuffling the data around:<p><pre><code>  [(column ?n ?x) 
    [?current "ident" "current"] 
    [?coord0 "type" "coord"] 
    [?coord1 "type" "coord"] 
    [?coord2 "type" "coord"]
    [?coord0 "m" 0] 
    [?coord1 "m" 1] 
    [?coord2 "m" 2] 
    [?coord0 "n" ?n] 
    [?coord1 "n" ?n] 
    [?coord2 "n" ?n] 
    [?coord0 "name" ?key0] [?current ?key0 ?x]
    [?coord1 "name" ?key1] [?current ?key1 ?x]
    [?coord2 "name" ?key2] [?current ?key2 ?x]]
</code></pre>
I don't know if this is down to Datascript/Datomic Datalog limitations or more the limitations of my understanding.<p>How do you approach your experiments? If you have any of your work to share or some tips on what I am doing I'd be very interested.<p>[1]: <a href="https://www.cs.uic.edu/~hinrichs/papers/love2006general.pdf" rel="nofollow">https://www.cs.uic.edu/~hinrichs/papers/love2006general.pdf</a></p>
]]></description><pubDate>Fri, 11 Oct 2024 10:44:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=41808274</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=41808274</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41808274</guid></item><item><title><![CDATA[New comment by kasbah in "LoaderShip – CSS-Only Loaders"]]></title><description><![CDATA[
<p>"Reticulating splines"</p>
]]></description><pubDate>Fri, 19 Jan 2024 10:36:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=39053873</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=39053873</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39053873</guid></item><item><title><![CDATA[New comment by kasbah in "Rough.js: Create graphics with a hand-drawn, sketchy, appearance"]]></title><description><![CDATA[
<p>I use this with <a href="https://wiredjs.com" rel="nofollow noreferrer">https://wiredjs.com</a> for creating interactive mockups. E.g.<p><a href="https://edea-dev.gitlab.io/mockups/" rel="nofollow noreferrer">https://edea-dev.gitlab.io/mockups/</a> (source: <a href="https://gitlab.com/edea-dev/mockups" rel="nofollow noreferrer">https://gitlab.com/edea-dev/mockups</a>)<p><a href="https://otfn.development.fabcity.hamburg/git-pdm-mockups/" rel="nofollow noreferrer">https://otfn.development.fabcity.hamburg/git-pdm-mockups/</a></p>
]]></description><pubDate>Fri, 22 Dec 2023 12:32:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=38733520</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=38733520</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38733520</guid></item><item><title><![CDATA[New comment by kasbah in "Show HN: Hacker News for AI News"]]></title><description><![CDATA[
<p>Use Lobste.rs with a filter: <a href="https://lobste.rs/filters" rel="nofollow noreferrer">https://lobste.rs/filters</a></p>
]]></description><pubDate>Wed, 30 Aug 2023 13:22:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=37321748</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=37321748</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37321748</guid></item><item><title><![CDATA[New comment by kasbah in "OtterCast: FOSS Audio streaming device running Linux using Sochip S3 SiP"]]></title><description><![CDATA[
<p>Shameless plug: the Kitspace page helps you build one yourself.<p><a href="https://kitspace.org/boards/github.com/ottercast/ottercastaudiov2/" rel="nofollow noreferrer">https://kitspace.org/boards/github.com/ottercast/ottercastau...</a></p>
]]></description><pubDate>Tue, 04 Jul 2023 13:39:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=36586494</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=36586494</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36586494</guid></item><item><title><![CDATA[A Reply to Josef Prusa]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.thea.codes/a-reply-to-josef-prusa/">https://blog.thea.codes/a-reply-to-josef-prusa/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=35399823">https://news.ycombinator.com/item?id=35399823</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 01 Apr 2023 12:41:01 +0000</pubDate><link>https://blog.thea.codes/a-reply-to-josef-prusa/</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=35399823</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35399823</guid></item><item><title><![CDATA[Red Team Blues [audio]]]></title><description><![CDATA[
<p>Article URL: <a href="https://craphound.com/news/2023/03/26/red-team-blues/">https://craphound.com/news/2023/03/26/red-team-blues/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=35362890">https://news.ycombinator.com/item?id=35362890</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 29 Mar 2023 20:21:15 +0000</pubDate><link>https://craphound.com/news/2023/03/26/red-team-blues/</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=35362890</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35362890</guid></item><item><title><![CDATA[New comment by kasbah in "Theory-building and why employee churn is lethal to software companies"]]></title><description><![CDATA[
<p>I was going to post this! I really enjoyed this episode (and also, all the other episodes of your podcast).</p>
]]></description><pubDate>Tue, 10 Jan 2023 18:39:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=34329401</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=34329401</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34329401</guid></item><item><title><![CDATA[Ghost Ships - What happens when ships become data?]]></title><description><![CDATA[
<p>Article URL: <a href="https://logicmag.io/pivot/ghost-ships/">https://logicmag.io/pivot/ghost-ships/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=34299059">https://news.ycombinator.com/item?id=34299059</a></p>
<p>Points: 58</p>
<p># Comments: 20</p>
]]></description><pubDate>Sun, 08 Jan 2023 13:47:30 +0000</pubDate><link>https://logicmag.io/pivot/ghost-ships/</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=34299059</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34299059</guid></item><item><title><![CDATA[New comment by kasbah in "Xiaomi’s humanoid drummer beats expectations?"]]></title><description><![CDATA[
<p>I find this DIY yellow drum machine robot from 14 years ago much more impressive.<p><a href="https://www.youtube.com/watch?v=_RyodnisVvU" rel="nofollow">https://www.youtube.com/watch?v=_RyodnisVvU</a></p>
]]></description><pubDate>Thu, 08 Dec 2022 20:59:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=33913317</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=33913317</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33913317</guid></item><item><title><![CDATA[New comment by kasbah in "Jqjq: Jq Implementation of Jq"]]></title><description><![CDATA[
<p>In all seriousness Python's json.tool is a great option here.<p><pre><code>    cat big.json | python3 -m json.tool
</code></pre>
or<p><pre><code>    python3 -m json.tool big.json</code></pre></p>
]]></description><pubDate>Fri, 25 Nov 2022 15:13:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=33743063</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=33743063</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33743063</guid></item><item><title><![CDATA[New comment by kasbah in "D2, a diagram scripting language that turns text to diagrams, is now open source"]]></title><description><![CDATA[
<p>It has since at least 1991 when Graphviz was first released.<p><a href="https://en.wikipedia.org/wiki/Graphviz" rel="nofollow">https://en.wikipedia.org/wiki/Graphviz</a></p>
]]></description><pubDate>Tue, 22 Nov 2022 12:43:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=33705140</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=33705140</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33705140</guid></item><item><title><![CDATA[New comment by kasbah in "Asdf – language tool version manager"]]></title><description><![CDATA[
<p>When I invoke `docker compose up` on my project with Docker version 20.10.18 it says:<p><pre><code>    The new 'docker compose' command is currently experimental.</code></pre></p>
]]></description><pubDate>Tue, 25 Oct 2022 10:34:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=33328670</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=33328670</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33328670</guid></item><item><title><![CDATA[Zython: WebAssembly Python for Servers and Browsers]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/sagemathinc/zython">https://github.com/sagemathinc/zython</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=33082424">https://news.ycombinator.com/item?id=33082424</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 04 Oct 2022 16:08:29 +0000</pubDate><link>https://github.com/sagemathinc/zython</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=33082424</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33082424</guid></item><item><title><![CDATA[New comment by kasbah in "LXC and LXD: a different container story"]]></title><description><![CDATA[
<p>What do you mean by Watchguard? I did a search but didn't find anything. Did you mean Watchtower maybe?<p><a href="https://github.com/containrrr/watchtower" rel="nofollow">https://github.com/containrrr/watchtower</a></p>
]]></description><pubDate>Fri, 23 Sep 2022 17:28:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=32954754</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=32954754</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32954754</guid></item><item><title><![CDATA[New comment by kasbah in "GHC 9.4.1 is now available"]]></title><description><![CDATA[
<p>Not yet but I'm going to try and crib from <a href="https://github.com/ocharles/dot-files/blob/master/nvim/init.lua" rel="nofollow">https://github.com/ocharles/dot-files/blob/master/nvim/init....</a> when I have some time to waste.</p>
]]></description><pubDate>Fri, 12 Aug 2022 17:12:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=32441361</link><dc:creator>kasbah</dc:creator><comments>https://news.ycombinator.com/item?id=32441361</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32441361</guid></item></channel></rss>