<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: jose_zap</title><link>https://news.ycombinator.com/user?id=jose_zap</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 10 Jun 2026 07:29:01 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jose_zap" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jose_zap in "Haskell Foundation 2026 Update"]]></title><description><![CDATA[
<p>>  the tooling is decades behind, say, Rust or Go<p>That's definitely not true, even if that was true maybe 6 years ago. As someone who's uses Haskell daily and also many other languages, I can see Haskell's tooling as more advanced than many others.</p>
]]></description><pubDate>Thu, 21 May 2026 10:40:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=48220459</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=48220459</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48220459</guid></item><item><title><![CDATA[New comment by jose_zap in "Statecharts: hierarchical state machines"]]></title><description><![CDATA[
<p>We have been using statecharts at our company for all business processes after I wrote an interpreter for them inside Postgres.<p>It has been a great experience so darn it makes processes very resilient against change and very easy to come back to after years.<p>The library is open source too:<p><a href="https://github.com/kronor-io/statecharts" rel="nofollow">https://github.com/kronor-io/statecharts</a></p>
]]></description><pubDate>Sun, 26 Apr 2026 20:41:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47914170</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=47914170</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47914170</guid></item><item><title><![CDATA[New comment by jose_zap in "What canceled my Go context?"]]></title><description><![CDATA[
<p>No, it can be any pure function or IO. Both will get interrupted.</p>
]]></description><pubDate>Sat, 07 Mar 2026 09:10:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47285924</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=47285924</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47285924</guid></item><item><title><![CDATA[Using Haskell in Production]]></title><description><![CDATA[
<p>Article URL: <a href="https://agentultra.com/blog/using-haskell-in-production/">https://agentultra.com/blog/using-haskell-in-production/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45185995">https://news.ycombinator.com/item?id=45185995</a></p>
<p>Points: 22</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 09 Sep 2025 18:11:39 +0000</pubDate><link>https://agentultra.com/blog/using-haskell-in-production/</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=45185995</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45185995</guid></item><item><title><![CDATA[New comment by jose_zap in "Go is still not good"]]></title><description><![CDATA[
<p>Haskell would be one of them. It features transactional memory, which frees the programmer from having to think about explicitly locking.</p>
]]></description><pubDate>Fri, 22 Aug 2025 19:56:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=44989091</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=44989091</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44989091</guid></item><item><title><![CDATA[New comment by jose_zap in "Solving `Passport Application` with Haskell"]]></title><description><![CDATA[
<p>That was definitely true many years ago. Nowadays Haskell has some really good tooling.<p>It has a feature-rich LSP, code formatter, package manager, dead-code checker, configurable linter, thread debugger, memory debugger, vulnerabilities checker, and much more.<p>That’s just what is provided by external tooling. Then, it also has everything the compiler has to offer, which is bit more than what most languages do. For example, you can now compile to JavaScript or WASM.</p>
]]></description><pubDate>Sun, 29 Jun 2025 06:30:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=44410765</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=44410765</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44410765</guid></item><item><title><![CDATA[New comment by jose_zap in "OpenAI: Scaling PostgreSQL to the Next Level"]]></title><description><![CDATA[
<p>> Postgres offers strictly serializable isolation indeed, but IIUC it's basically a form of read locking so will tank performance.<p>It will not. We use it at work for all transactions and its is very performant.</p>
]]></description><pubDate>Sun, 25 May 2025 17:17:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=44089224</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=44089224</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44089224</guid></item><item><title><![CDATA[New comment by jose_zap in "Silly job interview questions in Haskell"]]></title><description><![CDATA[
<p>Interestingly, the naive solution presented in this article is O(n) thanks to laziness.</p>
]]></description><pubDate>Fri, 23 May 2025 18:36:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=44075283</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=44075283</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44075283</guid></item><item><title><![CDATA[New comment by jose_zap in "Ask HN: Is there any programming language that doesn't have WTFs?"]]></title><description><![CDATA[
<p>That’s floating point, though. Not Double. Floating point has the same gotchas in all languages because it is a defined standard.</p>
]]></description><pubDate>Mon, 21 Apr 2025 21:42:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=43756829</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=43756829</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43756829</guid></item><item><title><![CDATA[New comment by jose_zap in "Pipelining might be my favorite programming language feature"]]></title><description><![CDATA[
<p>Haskell has & which goes the other way:<p><pre><code>    users
      & map validate
      & catMaybes
      & mapM persist</code></pre></p>
]]></description><pubDate>Mon, 21 Apr 2025 14:46:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=43752601</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=43752601</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43752601</guid></item><item><title><![CDATA[New comment by jose_zap in "Goodbye API. Hello RSQL"]]></title><description><![CDATA[
<p>The screenshot looks like a copy of the hasura web console. The same looks also similar to Hasura’s internal RQL. I wonder if this is just a coincidence.</p>
]]></description><pubDate>Sat, 28 Sep 2024 15:39:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=41680916</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=41680916</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41680916</guid></item><item><title><![CDATA[New comment by jose_zap in "Why Haskell?"]]></title><description><![CDATA[
<p>Yes, it is possible to linearize it. You can, for example use do notation:<p><pre><code>    result <- do
        a <- someEitherValue
        b <- anotherEitherValue
        return (doStuff a b)
</code></pre>
In the above example the do notation will unwrap the values as an and b, but if one of the results is Left, the computation is aborted, returning the Left value.<p>This is one just of the many techniques available to make error checking linear.</p>
]]></description><pubDate>Thu, 12 Sep 2024 18:09:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=41523753</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=41523753</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41523753</guid></item><item><title><![CDATA[New comment by jose_zap in "Why Haskell?"]]></title><description><![CDATA[
<p>We do that at our company, it's been great</p>
]]></description><pubDate>Thu, 12 Sep 2024 15:08:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=41521812</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=41521812</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41521812</guid></item><item><title><![CDATA[New comment by jose_zap in "Venezuela's Supreme Court certifies Maduro's claims he won presidential election"]]></title><description><![CDATA[
<p>The UN Human Rights Council issued a warning that its independent fact finding mission found that the Supreme Court lacks independence, and therefore cannot be trusted in this matter.<p><a href="https://x.com/UN_HRC/status/1826624015097888919" rel="nofollow">https://x.com/UN_HRC/status/1826624015097888919</a></p>
]]></description><pubDate>Thu, 22 Aug 2024 18:48:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=41323286</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=41323286</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41323286</guid></item><item><title><![CDATA[New comment by jose_zap in "Go is my hammer, and everything is a nail"]]></title><description><![CDATA[
<p>> imagine being able to insert `print(a)` into your program to see what's in the `a` variable at a specific time. Hey, I know that's not pure, but it's still damn useful.<p>In Haskell that’s Debug.Trace.traceShow. You can use it in pure code too.</p>
]]></description><pubDate>Fri, 16 Aug 2024 17:38:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=41268525</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=41268525</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41268525</guid></item><item><title><![CDATA[New comment by jose_zap in "Suspicious data pattern in recent Venezuelan election"]]></title><description><![CDATA[
<p>Here’s a FAQ about the security features of the voting machines <a href="https://www.smartmatic.com/wp-content/uploads/2022/11/FAQ_Cybersecurity_ENG_May31_2022.pdf" rel="nofollow">https://www.smartmatic.com/wp-content/uploads/2022/11/FAQ_Cy...</a><p>I also agree the parties should disclose the public key and the parameters to calculate the hash.<p>The code and the keys are stored in a database that is audited by political parties before the election. What I’m not certain about is whether they have access to it at this time.<p>Proving the validity of the acts should be trivial, especially for any party who had access to the audited database. There is little point in forging fake ones.</p>
]]></description><pubDate>Fri, 02 Aug 2024 12:08:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=41138162</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=41138162</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41138162</guid></item><item><title><![CDATA[New comment by jose_zap in "Suspicious data pattern in recent Venezuelan election"]]></title><description><![CDATA[
<p>Witnesses representing political parties are entitled by law to a copy of the tally before the machine sends its results to a central server.<p>Each copy must be signed by all witnesses and also contains a digitally-signed hash of the tally at the bottom of the receipt.</p>
]]></description><pubDate>Fri, 02 Aug 2024 07:52:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=41136929</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=41136929</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41136929</guid></item><item><title><![CDATA[New comment by jose_zap in "Suspicious data pattern in recent Venezuelan election"]]></title><description><![CDATA[
<p>There is no need to do any difficult OCR, the QR code contains the tally in machine-readable format. You just need a phone and copy the result to a csv file</p>
]]></description><pubDate>Thu, 01 Aug 2024 10:27:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=41127719</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=41127719</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41127719</guid></item><item><title><![CDATA[New comment by jose_zap in "Suspicious data pattern in recent Venezuelan election"]]></title><description><![CDATA[
<p>The images can be corroborated by the random string that is printed at the bottom. It’s a digitally signed hash of the tally for that machine.<p>Political parties have access to the signing key and can verify that the signature matches.</p>
]]></description><pubDate>Thu, 01 Aug 2024 10:25:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=41127708</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=41127708</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41127708</guid></item><item><title><![CDATA[New comment by jose_zap in "Suspicious data pattern in recent Venezuelan election"]]></title><description><![CDATA[
<p>The electoral system in Venezuela mandates electronic voting. By law, each machine must print its results before sending the tally to a central server.<p>Multiple copies are printed. One goes to the CNE, another goes to the military, and several others are given to witnesses representing different political parties.<p>Each copy must be signed by all the witnesses, including the representative from the CNE.<p>The opposition candidate gathered as much as 80% of the total printouts and made them available for everyone to see and analyze.<p>Printouts can be validated because the result is digitally signed with a key that is known to the political parties and other organizations. The signature is at the end of each printout.</p>
]]></description><pubDate>Thu, 01 Aug 2024 07:13:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=41126852</link><dc:creator>jose_zap</dc:creator><comments>https://news.ycombinator.com/item?id=41126852</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41126852</guid></item></channel></rss>