<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: ssfak</title><link>https://news.ycombinator.com/user?id=ssfak</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 10 Jun 2026 08:19:20 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ssfak" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ssfak in "Using HTTP/2 Cleartext for a server in Go 1.24"]]></title><description><![CDATA[
<p>Related: <a href="https://http1mustdie.com/" rel="nofollow">https://http1mustdie.com/</a></p>
]]></description><pubDate>Mon, 25 May 2026 12:21:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=48266011</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=48266011</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48266011</guid></item><item><title><![CDATA[New comment by ssfak in "Migrating from Go to Rust"]]></title><description><![CDATA[
<p>In Go you can ignore the error value though, and use directly the returned value (`int` in your example). In Rust you cannot do that, you need to unwrap the Result or use the `?`</p>
]]></description><pubDate>Mon, 25 May 2026 09:06:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=48264858</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=48264858</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48264858</guid></item><item><title><![CDATA[Background Jobs in Go with Asynq and Valkey]]></title><description><![CDATA[
<p>Article URL: <a href="https://josephgoksu.com/blog/background-jobs-in-go-asynq-valkey/">https://josephgoksu.com/blog/background-jobs-in-go-asynq-valkey/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47650396">https://news.ycombinator.com/item?id=47650396</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 05 Apr 2026 15:26:54 +0000</pubDate><link>https://josephgoksu.com/blog/background-jobs-in-go-asynq-valkey/</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=47650396</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47650396</guid></item><item><title><![CDATA[New comment by ssfak in "Found a simple tool for database modeling: dbdiagram.io"]]></title><description><![CDATA[
<p>chartsdb[1][2] can be installed locally (or run through Docker) and import your database schema<p>[1]: <a href="https://chartdb.io/" rel="nofollow">https://chartdb.io/</a>
[2]: <a href="https://github.com/chartdb/chartdb">https://github.com/chartdb/chartdb</a></p>
]]></description><pubDate>Sun, 27 Apr 2025 19:08:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=43814325</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=43814325</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43814325</guid></item><item><title><![CDATA[New comment by ssfak in "PostgreSQL 17"]]></title><description><![CDATA[
<p>Using the pg_duckdb[1] is an option, if you can install extensions on your setup.<p>[1]. <a href="https://github.com/duckdb/pg_duckdb">https://github.com/duckdb/pg_duckdb</a></p>
]]></description><pubDate>Fri, 27 Sep 2024 09:00:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=41667888</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=41667888</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41667888</guid></item><item><title><![CDATA[New comment by ssfak in "Maestro: Netflix's Workflow Orchestrator"]]></title><description><![CDATA[
<p>For Python tasks you can check Prefect, among others..</p>
]]></description><pubDate>Tue, 23 Jul 2024 06:34:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=41043148</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=41043148</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41043148</guid></item><item><title><![CDATA[New comment by ssfak in "Surprising things about HTTP"]]></title><description><![CDATA[
<p>I was expecting something like sending a payload with GET requests is not prohibited by the standard...</p>
]]></description><pubDate>Thu, 09 Jun 2022 10:40:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=31679594</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=31679594</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31679594</guid></item><item><title><![CDATA[GraphQL Subscriptions: Why We Use SSE/Fetch over WebSockets]]></title><description><![CDATA[
<p>Article URL: <a href="https://wundergraph.com/blog/deprecate_graphql_subscriptions_over_websockets">https://wundergraph.com/blog/deprecate_graphql_subscriptions_over_websockets</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=31200625">https://news.ycombinator.com/item?id=31200625</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 29 Apr 2022 02:16:40 +0000</pubDate><link>https://wundergraph.com/blog/deprecate_graphql_subscriptions_over_websockets</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=31200625</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31200625</guid></item><item><title><![CDATA[New comment by ssfak in "The Problem with C (2020)"]]></title><description><![CDATA[
<p>More adequate title would be "C++ problems with C"..</p>
]]></description><pubDate>Tue, 01 Feb 2022 10:07:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=30160606</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=30160606</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30160606</guid></item><item><title><![CDATA[New comment by ssfak in "Best Practices for Using Functional Programming in Python"]]></title><description><![CDATA[
<p>Indeed, "Mostly functional" programming does not work: <a href="https://queue.acm.org/detail.cfm?id=2611829" rel="nofollow">https://queue.acm.org/detail.cfm?id=2611829</a></p>
]]></description><pubDate>Wed, 05 Dec 2018 15:41:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=18609208</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=18609208</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18609208</guid></item><item><title><![CDATA[New comment by ssfak in "Gene name errors are widespread in the scientific literature (2016) [pdf]"]]></title><description><![CDATA[
<p>The findings are well known, but I find it a bit ironic that the authors provide supplementary material as an Excel file...</p>
]]></description><pubDate>Mon, 08 Oct 2018 08:54:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=18165505</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=18165505</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18165505</guid></item><item><title><![CDATA[New comment by ssfak in "Clojure Design Patterns"]]></title><description><![CDATA[
<p>..and closures</p>
]]></description><pubDate>Fri, 24 Nov 2017 17:10:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=15771828</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=15771828</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15771828</guid></item><item><title><![CDATA[New comment by ssfak in "Show HN: WebSocket-first development"]]></title><description><![CDATA[
<p>I believe in the majority of cases SSE are a better technology than web sockets (e.g. WS do not seem to conform to HTTP/2.0, SSE offer transparent (browser-supported) reconnects, SSE event ids allow for replay, etc). The downside is no support in IE/Edge (you can vote at <a href="https://goo.gl/bd8V1K" rel="nofollow">https://goo.gl/bd8V1K</a>), no binary content (but again usually JSON is enough) and no fully bidirectional communication.<p>A good talk at the matter can be found at <a href="https://youtu.be/NDDp7BiSad4" rel="nofollow">https://youtu.be/NDDp7BiSad4</a></p>
]]></description><pubDate>Mon, 13 Feb 2017 20:48:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=13638622</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=13638622</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13638622</guid></item><item><title><![CDATA[New comment by ssfak in "RethinkDB versus PostgreSQL: my personal experience"]]></title><description><![CDATA[
<p>I am a bit puzzled about the scalability of listen/notify in Postgres and its use in the article. Each "listener" in the code requires a connection in the database so it's not a good design to have one listen "query" for each user. You will probably need a dedicated connection in a thread (or a limited number of connections) for the database listening functionality. You can possibly use some async PG driver but still on the database end I am not sure how efficient and scalable this solution will be.<p>I can assume that this is a good solution if you don't have (need) a high rate of "notify" statements and a high number of subscribers waiting on "listen". Any comments on these limits of PostgreSQL?</p>
]]></description><pubDate>Sat, 11 Feb 2017 07:10:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=13621534</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=13621534</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13621534</guid></item><item><title><![CDATA[New comment by ssfak in "Neanderthals were people too"]]></title><description><![CDATA[
<p><i>cough</i> sci-hub.cc <i>cough</i></p>
]]></description><pubDate>Fri, 13 Jan 2017 06:54:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=13388969</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=13388969</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13388969</guid></item><item><title><![CDATA[New comment by ssfak in "From Python to Go and Back Again"]]></title><description><![CDATA[
<p>Doesn't a TLS terminator proxy solve this? E.g. I usually put my application services behind HTTPS-enabled nginx and it works wonderfully.</p>
]]></description><pubDate>Sat, 17 Oct 2015 09:03:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=10403829</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=10403829</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10403829</guid></item><item><title><![CDATA[New comment by ssfak in "PostgreSQL Magic"]]></title><description><![CDATA[
<p>For windows functions a good tutorial can be found at <a href="http://tapoueh.org/blog/2013/08/20-Window-Functions" rel="nofollow">http://tapoueh.org/blog/2013/08/20-Window-Functions</a><p>Postgresql also has good support for SQL-99 : <a href="http://www.slideshare.net/MarkusWinand/modern-sql" rel="nofollow">http://www.slideshare.net/MarkusWinand/modern-sql</a><p>WITH clauses (CTE) are great, but they are "optimization fences" in Postgresql : <a href="http://blog.2ndquadrant.com/postgresql-ctes-are-optimization-fences/" rel="nofollow">http://blog.2ndquadrant.com/postgresql-ctes-are-optimization...</a></p>
]]></description><pubDate>Fri, 11 Sep 2015 08:01:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=10202497</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=10202497</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10202497</guid></item><item><title><![CDATA[New comment by ssfak in "Things I do to be consistently happy"]]></title><description><![CDATA[
<p>Well, he recommends to stick to a specific schedule (having a walk at 21:30, going to sleep at 22:00, waking up at 06:00, etc) The exact times do not really matter, but sticking to a specific time schedule is problematic IMHO when you have a family because of the non-determinism introduced (especially by the kids).. Unless everyone in your family agrees to follow (and stick to) a similar schedule..</p>
]]></description><pubDate>Mon, 20 Aug 2012 12:08:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=4407173</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=4407173</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4407173</guid></item><item><title><![CDATA[New comment by ssfak in "Make HTTP requests from your browser"]]></title><description><![CDATA[
<p>Somewhat similar but more useful for debugging "HTTP caching" by Mark Nottingham: redbot (<a href="http://redbot.org/" rel="nofollow">http://redbot.org/</a>)</p>
]]></description><pubDate>Mon, 09 Jan 2012 09:35:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=3441927</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=3441927</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=3441927</guid></item><item><title><![CDATA[New comment by ssfak in "Some People Understand REST and HTTP"]]></title><description><![CDATA[
<p>> This re-imagines passwords as nouns. As a side effect, you get a complete log of whenever anyone changes their password or requests to reset it. 
> Want to enforce password reuse policies? Do analysis of password lifetimes? Track down malicious abuse of your password reset system? 
> Those things are now pretty easy with a schema like this<p>I am also proponent of the more "resource oriented" view of an application but I fail to see how the CRUD approach you proposed is unique in order to support the above.. Because, all of the things that you mentioned can be also implemented/supported if you transmit the tokens in query strings. I.e. /password/:token and /reset_password/?token=:token are more or less the same thing from the REST point of view although the first is more user friendly, cache friedly, etc. After all URIs are opaque to the client: <a href="http://www.w3.org/DesignIssues/Axioms.html#opaque" rel="nofollow">http://www.w3.org/DesignIssues/Axioms.html#opaque</a> and that's where HATEOAS enters so the client just needs to know a single (bookmark) URI and the hypermedia will guide to the creation of the rest resource identifiers needed by the application (HATEOAS is indeed the "highest level" of REST: <a href="http://martinfowler.com/articles/richardsonMaturityModel.html" rel="nofollow">http://martinfowler.com/articles/richardsonMaturityModel.htm...</a>).<p>Unless you mean that by following the 'noun'-oriented view of the password tokens you can easily spot these operations in the apache logs.. to which I agree if you also include the user id in these URIs...</p>
]]></description><pubDate>Mon, 08 Aug 2011 09:20:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=2859350</link><dc:creator>ssfak</dc:creator><comments>https://news.ycombinator.com/item?id=2859350</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=2859350</guid></item></channel></rss>