<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: evnc</title><link>https://news.ycombinator.com/user?id=evnc</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 27 Apr 2026 20:15:30 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=evnc" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by evnc in "Three constraints before I build anything"]]></title><description><![CDATA[
<p>Tana is basically a programming environment disguised as a text editor (in this way, it follows in the grand tradition of emacs you could say)</p>
]]></description><pubDate>Mon, 27 Apr 2026 15:19:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47922809</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=47922809</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47922809</guid></item><item><title><![CDATA[New comment by evnc in "CSS as a Query Language"]]></title><description><![CDATA[
<p>doh, good point. will fix this, I acknowledge I sort of handwaved the example. thanks for the correction!</p>
]]></description><pubDate>Sat, 25 Apr 2026 01:43:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47897866</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=47897866</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47897866</guid></item><item><title><![CDATA[New comment by evnc in "CSS as a Query Language"]]></title><description><![CDATA[
<p>one more, for completeness:<p><pre><code>  SELECT 'black' AS outline_color
  FROM elements parent
  JOIN elements child ON parent.id = child.parent_id
  WHERE parent.data_theme = 'light'
    AND child.data_theme = 'dark'
    AND child.focused = true

</code></pre>
there's a lot of ways to express the same thing! it's interesting to notice the connections between them, I think, and their strengths and weaknesses, e.g. I probably wouldn't want to write my whole design system in SQL, but since it's relational queries over the elements structure and properties, you <i>could</i>.</p>
]]></description><pubDate>Fri, 24 Apr 2026 21:12:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47895876</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=47895876</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47895876</guid></item><item><title><![CDATA[New comment by evnc in "CSS as a Query Language"]]></title><description><![CDATA[
<p>yeah I mean, to be clear, I'm less proposing "What if we add even more syntax and semantics to CSS" and more "what if we steal ideas from CSS, notice their similarity to logic / relational query languages, and use them to build something new". I probably could have articulated some of this better.<p>eg this example:<p><pre><code>  [data-theme="dark"] [data-theme="light"] :focus {
      outline-color: black;
  }
</code></pre>
means, in English/pseudocode, roughly: "If you have an element X with attribute data-theme="dark", and X has a child Y with attribute data-theme="light", and Y is focused, then the outline-color of Y is black".<p>so we could write this also as, e.g.:<p><pre><code>  outline-color(Y, black) if 
    data-theme(X, "dark") and
    parent(X, Y) and
    data-theme(Y, "light") and
    focused(Y)
</code></pre>
that's Datalog, except I went ahead and replaced :- with "if" and "," with "and".<p>if we want even more syntax sugar, we could do:<p><pre><code>  Y.outline_color := black if
    X.data-theme == dark and
    Y.parent == X and
    Y.data-theme == dark and
    Y.focused
</code></pre>
imagine `X.attr == val` <==> `attr(X, val)` as a kind of UFCS for Datalog to make it palatable to Regular Programmers, right<p>the declaration and scope of these variables is implicit here; if you want something even more ALGOL-family, we could write<p><pre><code>  forall Y {
    Y.outline_color := black if 
       Y.data_theme == "dark" and
       Y.focused and
       Y.parent.data_theme == "light"
  }
</code></pre>
here we've explicitly introduced Y, and made one of our joins implicit, and it looks even more like Regular Programming now, except the Datalog engine (or equivalent) is kind of running all these loops for you, every time one of their dependencies changes, in an efficient way ...</p>
]]></description><pubDate>Fri, 24 Apr 2026 20:50:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47895610</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=47895610</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47895610</guid></item><item><title><![CDATA[New comment by evnc in "CSS as a Query Language"]]></title><description><![CDATA[
<p>oh this is fun<p>> we copy and reapply patterns in different contexts and that might enable unexpected things<p>yeah, that's exactly what I am trying to do here. Mostly it doesn't go anywhere, but it's interesting for the hacker spirit within me :)</p>
]]></description><pubDate>Fri, 24 Apr 2026 19:43:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47894911</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=47894911</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47894911</guid></item><item><title><![CDATA[New comment by evnc in "CSS as a Query Language"]]></title><description><![CDATA[
<p>tbh, this started as a connection of two disparate ideas ("hey, this thing looks like this other thing"), and then just kind of explores it in different directions.<p>I think the conclusion (which I may not have made clear enough) is less like "These are limitations of modern CSS which ought to be fixed" and more "Maybe a CSS-like syntax could be added to a Datalog-like system and that would be helpful for making it more accessible to more engineers, navigating tree-shaped data, etc"<p>thanks for the feedback, anyway!</p>
]]></description><pubDate>Fri, 24 Apr 2026 19:41:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47894882</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=47894882</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47894882</guid></item><item><title><![CDATA[New comment by evnc in "CSS as a Query Language"]]></title><description><![CDATA[
<p>oh this is neat! Feels like exactly the sort of thing I was gesturing towards. Thanks :)</p>
]]></description><pubDate>Fri, 24 Apr 2026 19:37:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47894823</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=47894823</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47894823</guid></item><item><title><![CDATA[CSS as a Query Language]]></title><description><![CDATA[
<p>Article URL: <a href="https://evdc.me/blog/css-query">https://evdc.me/blog/css-query</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47893427">https://news.ycombinator.com/item?id=47893427</a></p>
<p>Points: 81</p>
<p># Comments: 27</p>
]]></description><pubDate>Fri, 24 Apr 2026 17:39:37 +0000</pubDate><link>https://evdc.me/blog/css-query</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=47893427</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47893427</guid></item><item><title><![CDATA[New comment by evnc in "5NF and Database Design"]]></title><description><![CDATA[
<p>sure! You can email me at notches_hoses_58@icloud.com (throwaway email), and we could go from there?</p>
]]></description><pubDate>Fri, 17 Apr 2026 01:38:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47801641</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=47801641</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47801641</guid></item><item><title><![CDATA[New comment by evnc in "5NF and Database Design"]]></title><description><![CDATA[
<p>I broadly agree with you, so I want to pick your brain a bit:<p>What would your ideal RDBMS / tooling look like, that facilitates 6nf effectively? Do you think it's more a limitation of the query/storage engine, or the query language (SQL), or the user interface? Do you think founding on Datalog (or similar), which kinda lends itself to "narrow" relations, instead of SQL which kinda lends itself to "wide" relations, would help here?<p>(I ask as one of my personal hobby-horses is trying to design better query languages and tooling, and 6nf/datalog maintains a kinda special place in my heart)</p>
]]></description><pubDate>Thu, 16 Apr 2026 03:28:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47788343</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=47788343</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47788343</guid></item><item><title><![CDATA[New comment by evnc in "Chess in SQL"]]></title><description><![CDATA[
<p>Someone has done a ray tracer in DuckDB, so essentially, yes: <a href="https://simonwillison.net/2025/Apr/22/duckdb-wasm-doom/" rel="nofollow">https://simonwillison.net/2025/Apr/22/duckdb-wasm-doom/</a></p>
]]></description><pubDate>Wed, 01 Apr 2026 17:45:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47604105</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=47604105</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47604105</guid></item><item><title><![CDATA[New comment by evnc in "A Few Words About Async"]]></title><description><![CDATA[
<p>Interesting. Does that mean if you want to say, make an asynchronous http request, you do something like “fire_event(HttpRequestEvent(…))” which returns immediately, and somewhere else define a handler like “on_event(HttpResponseEvent, function (event) { … })” ? So you kind of have to manually break your function up into a state machine composed of event handlers? How do you associate a given HttpResponseEvent with a specific HttpRequestEvent?</p>
]]></description><pubDate>Sun, 02 Nov 2025 14:57:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=45790783</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=45790783</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45790783</guid></item><item><title><![CDATA[New comment by evnc in "GPT-5 for Developers"]]></title><description><![CDATA[
<p>I assume they're doing "Structured Generation" or "Guided generation", which has been possible for a while if you control the LLM itself e.g. running an OSS model, e.g. [0][1]. It's cool to see a major API provider offer it, though.<p>The basic idea is: at each auto-regressive step (each token generation), instead of letting the model generate a probability distribution over "all tokens in the entire vocab it's ever seen" (the default), only allow the model to generate a probability distribution over "this specific set of tokens I provide". And that set can change from one sampling set to the next, according to a given grammar. E.g. if you're using a JSON grammar, and you've just generated a `{`, you can provide the model a choice of only which tokens are valid JSON immediately after a `{`, etc.<p>[0] <a href="https://github.com/dottxt-ai/outlines" rel="nofollow">https://github.com/dottxt-ai/outlines</a>
[1] <a href="https://github.com/guidance-ai/guidance" rel="nofollow">https://github.com/guidance-ai/guidance</a></p>
]]></description><pubDate>Thu, 07 Aug 2025 18:30:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=44828505</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=44828505</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44828505</guid></item><item><title><![CDATA[New comment by evnc in "Paxlovid: You'd have expected more"]]></title><description><![CDATA[
<p>Always enjoy Derek Lowe's writing.<p>n=1 here, though I've heard others say the same -- but I (fairly healthy 30s male, vaccinated) found Paxlovid massively reduced symptom intensity for me. Within a day my symptoms went from "top 5 fevers I've ever experienced, normal function significantly impaired" to "feels like a cold; can reasonably handle myself around the house and even take a software engineering interview".<p>I most likely would not have got a severe infection and <i>probably</i> would not have got Long Covid, given my age / health / vaccine status, even if I hadn't taken it; but nonetheless I'm glad I was able to get it. Definitely worth it for the weird taste (hard candy helps).</p>
]]></description><pubDate>Sat, 22 Feb 2025 01:45:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=43135254</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=43135254</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43135254</guid></item><item><title><![CDATA[New comment by evnc in "Ask HN: How to pivot to a Machine Learning engineer?"]]></title><description><![CDATA[
<p>Trying to make the same transition right now. I’ve got almost 10 years experience with python and data engineering and I’ve been reading tutorials and playing with projects on the side.<p>I think I’ve got a grasp of the fundamentals and the ability to learn fast on the job, but every MLE job listing I see wants “4+ years of experience training and deploying models in a production environment” or something (even non-Senior roles!). I’m not sure how to break into it, to acquire a MLE job to get the experience to acquire an MLE job. Does anyone have any advice?</p>
]]></description><pubDate>Wed, 26 Jun 2024 14:06:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=40800227</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=40800227</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40800227</guid></item><item><title><![CDATA[New comment by evnc in "Mamba-2 – State Space Duality"]]></title><description><![CDATA[
<p>I'm a bit of a noob here, but if<p>a) a linear SSM (a form of RNN?) is equivalent to Attention without the scaling and softmax; and<p>b) Attention is "all you need" and the thing that made Transformers radically outperform all the previous architectures like LSTMs that used to dominate NLP;<p>does that imply c) the scaling and softmax parts of the attention equation, in particular, is the magic touch that makes Transformers work so well?</p>
]]></description><pubDate>Mon, 03 Jun 2024 18:05:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=40565424</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=40565424</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40565424</guid></item><item><title><![CDATA[New comment by evnc in "Tesla Owners Get Only 64% of EPA Range After Just Three Years: Study"]]></title><description><![CDATA[
<p>Doesn’t this effect happen with EVs generally, not just Teslas? (I don’t particularly mean to defend Tesla here, but I wonder if this might be misleading)</p>
]]></description><pubDate>Sat, 25 May 2024 23:06:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=40478497</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=40478497</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40478497</guid></item><item><title><![CDATA[New comment by evnc in "Einsum for Tensor Manipulation"]]></title><description><![CDATA[
<p>Hey, this is neat! Thanks for sharing. I may be interested in collaborating with you on this when I have some free time.</p>
]]></description><pubDate>Sun, 28 Apr 2024 04:16:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=40185938</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=40185938</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40185938</guid></item><item><title><![CDATA[New comment by evnc in "Einsum for Tensor Manipulation"]]></title><description><![CDATA[
<p>When I see an embedded DSL passed around as strings like this I can't help but think "this could be its own programming language"<p>Then it could have syntax highlighting, auto complete, and so on. The type system for such a language could possibly include verifying shapes at compile time.<p>What would a language comprised of .ein source files for manipulating tensors, which compiles down to the same low level ops, look like?</p>
]]></description><pubDate>Sat, 27 Apr 2024 18:49:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=40182412</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=40182412</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40182412</guid></item><item><title><![CDATA[New comment by evnc in "Meta Llama 3"]]></title><description><![CDATA[
<p>They're commoditizing their complement [0][1], inasmuch as LLMs are a complement of social media and advertising (which I think they are).<p>They've made it harder for competitors like Google or TikTok to compete with Meta on the basis of "we have a super secret proprietary AI that no one else has that's leagues better than anything else". If everyone has access to a high quality AI (perhaps not the world's best, but competitive), then no one -- including their competitors -- has a competitive advantage from having exclusive access to high quality AI.<p>[0]: <a href="https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/" rel="nofollow">https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/</a><p>[1]: <a href="https://gwern.net/complement" rel="nofollow">https://gwern.net/complement</a></p>
]]></description><pubDate>Thu, 18 Apr 2024 18:37:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=40079329</link><dc:creator>evnc</dc:creator><comments>https://news.ycombinator.com/item?id=40079329</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40079329</guid></item></channel></rss>