<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: fsaintjacques</title><link>https://news.ycombinator.com/user?id=fsaintjacques</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 12 Apr 2026 09:07:28 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=fsaintjacques" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by fsaintjacques in "Progressive encoding and decoding of 'repeated' protobuffer fields"]]></title><description><![CDATA[
<p>I recently toyed with a tiny VM for protobuf, you can use it in redpanda WASM streams, or in streaming pipeline (without having to use SAX parsers or IDL shenanigans with projected message compiled...) for filtering and projecting before deserializing. 100% written by claude.<p><a href="https://github.com/fsaintjacques/wql" rel="nofollow">https://github.com/fsaintjacques/wql</a></p>
]]></description><pubDate>Thu, 09 Apr 2026 22:40:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47711203</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=47711203</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47711203</guid></item><item><title><![CDATA[New comment by fsaintjacques in "Building a Streaming Platform in Go for Postgres"]]></title><description><![CDATA[
<p>If only go had lambdas, functional interfaces and record classes...</p>
]]></description><pubDate>Tue, 07 Nov 2023 00:21:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=38171305</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=38171305</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38171305</guid></item><item><title><![CDATA[New comment by fsaintjacques in "How to (and how not to) design REST APIs"]]></title><description><![CDATA[
<p>I highly recommend anyone to read Google's [AIP](<a href="https://google.aip.dev/" rel="nofollow noreferrer">https://google.aip.dev/</a>). There's even a grpc schema linter for it. Put more focus on the resource data design than nitpicking on transport details. I would consider the best lessons to be:<p>- Optional but supported user defined identifiers, it's so frustrating to work with API that passes you back an identifier.<p>- String identifier (names) for resources, with some kind of type namespacing, i.e. the prefix in the author's document
- Consistent set of fields (create_time, update_time, annotations, ...)<p>- Avoid dynamic map (this is a JSON self-inflicted wound)</p>
]]></description><pubDate>Wed, 01 Nov 2023 21:23:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=38105507</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=38105507</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38105507</guid></item><item><title><![CDATA[New comment by fsaintjacques in "Protobuf-ES: Protocol Buffers TypeScript/JavaScript runtime"]]></title><description><![CDATA[
<p>JSON parsing is a minefield, especially in cross-platforms scenarios (language and/or library). You won't encounter those problems on toy project or simple CRUD applications. For example, as soon as you deal with (u)int64 where values are greater than 2^53, a simple round-trip to javascript can wreak silent havoc.<p>See <a href="http://seriot.ch/projects/parsing_json.html" rel="nofollow">http://seriot.ch/projects/parsing_json.html</a><p>Protobuf support for google's first-class citizen languages is usually very good, i.e. C++, Java, Python and Go. For other languages, it depends on each implementation.</p>
]]></description><pubDate>Mon, 31 Oct 2022 12:48:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=33404984</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=33404984</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33404984</guid></item><item><title><![CDATA[New comment by fsaintjacques in "Ask HN: Have you used SQLite as a primary database?"]]></title><description><![CDATA[
<p>If the application is in go, you can likely embed litestream.</p>
]]></description><pubDate>Mon, 25 Apr 2022 12:48:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=31153684</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=31153684</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31153684</guid></item><item><title><![CDATA[New comment by fsaintjacques in "AMD and Valve Working on New Linux CPU Performance Scaling Design"]]></title><description><![CDATA[
<p>glibc already does dynamic dispatch for the memcpy family of functions.</p>
]]></description><pubDate>Mon, 02 Aug 2021 19:30:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=28041514</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=28041514</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28041514</guid></item><item><title><![CDATA[New comment by fsaintjacques in "Ask HN: Who is hiring? (April 2021)"]]></title><description><![CDATA[
<p>Optable | Montreal and Remote | Golang, React, Crypto | Full-Time | <a href="https://www.optable.co" rel="nofollow">https://www.optable.co</a><p>Optable is building a decentralized data management and connectivity platform designed for online advertising. Our goal is to enable advertisers to leverage publisher's first-party data in a world where third-party cookies and globally shared identifiers will disappear. We operate private instances of our software on behalf of our customers. We use modern, secure multiparty computation and cryptographic techniques to allow matching of data while protecting privacy.
We are looking for full-stack engineers who are comfortable working on complex backend features but won't shy away from front-end development. We are also looking for a cryptography engineer to help us build cryptography software and protocols.<p>Please apply by writing to careers -at- optable.co and mention hackernews.<p><a href="https://www.optable.co/jobs/software-eng-full-stack-dev" rel="nofollow">https://www.optable.co/jobs/software-eng-full-stack-dev</a>
<a href="https://www.optable.co/jobs/cryptography-engineer" rel="nofollow">https://www.optable.co/jobs/cryptography-engineer</a></p>
]]></description><pubDate>Thu, 01 Apr 2021 18:57:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=26664637</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=26664637</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26664637</guid></item><item><title><![CDATA[New comment by fsaintjacques in "Samsung TV owners complain about increasingly obtrusive ads"]]></title><description><![CDATA[
<p>It sure does.</p>
]]></description><pubDate>Tue, 29 Sep 2020 10:40:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=24626064</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=24626064</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24626064</guid></item><item><title><![CDATA[New comment by fsaintjacques in "I lost €4k in a Facebook scam"]]></title><description><![CDATA[
<p>Let me introduce you to the underworld of affiliate marketing <a href="https://www.investopedia.com/terms/a/affiliate-fraud.asp" rel="nofollow">https://www.investopedia.com/terms/a/affiliate-fraud.asp</a><p>There's always money to be made if you can generate significant legitimate traffic to a given destination.</p>
]]></description><pubDate>Mon, 14 Sep 2020 14:38:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=24470651</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=24470651</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24470651</guid></item><item><title><![CDATA[New comment by fsaintjacques in "FlexBuffers"]]></title><description><![CDATA[
<p>Not zero copy, requires deserialization.</p>
]]></description><pubDate>Sun, 21 Jun 2020 13:40:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=23591958</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=23591958</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23591958</guid></item><item><title><![CDATA[New comment by fsaintjacques in "Google faces $5B lawsuit for tracking people in incognito mode"]]></title><description><![CDATA[
<p>Because it would be a trivial indicator that you're in incognito mode.</p>
]]></description><pubDate>Wed, 17 Jun 2020 17:58:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=23554507</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=23554507</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23554507</guid></item><item><title><![CDATA[New comment by fsaintjacques in "How we scrape 300k prices per day from Google Flights"]]></title><description><![CDATA[
<p>There's a very high chance this is monetization of botnets, which adds even more to the overall shadyness.</p>
]]></description><pubDate>Sat, 13 Jun 2020 19:23:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=23511946</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=23511946</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23511946</guid></item><item><title><![CDATA[New comment by fsaintjacques in "Pure Bash Bible"]]></title><description><![CDATA[
<p>Python is a portability minefield. I'll spend more time trying to get the script/package run than reading the bash script.</p>
]]></description><pubDate>Thu, 19 Sep 2019 14:19:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=21016396</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=21016396</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21016396</guid></item><item><title><![CDATA[New comment by fsaintjacques in "Launch HN: Memfault (YC W19) – Crashlytics for Firmware"]]></title><description><![CDATA[
<p>See <a href="https://backtrace.io" rel="nofollow">https://backtrace.io</a>, disclaimer, previous employee.</p>
]]></description><pubDate>Mon, 26 Aug 2019 18:47:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=20802525</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=20802525</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20802525</guid></item><item><title><![CDATA[New comment by fsaintjacques in "AdTech Sucks"]]></title><description><![CDATA[
<p>rtb bid request volume can easily go 1m/sec, this is not impressions, but offers to buy for an impression.</p>
]]></description><pubDate>Fri, 07 Jun 2019 14:31:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=20124865</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=20124865</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20124865</guid></item><item><title><![CDATA[New comment by fsaintjacques in "AdTech Sucks"]]></title><description><![CDATA[
<p>Technical challenges and salary. In my local market, most jobs are web shops and/or CRUD business applications with low pay.</p>
]]></description><pubDate>Fri, 07 Jun 2019 14:29:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=20124855</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=20124855</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20124855</guid></item><item><title><![CDATA[New comment by fsaintjacques in "On SQS"]]></title><description><![CDATA[
<p>Tables as queues is perfectly legit, one less component to worry about.</p>
]]></description><pubDate>Mon, 27 May 2019 12:08:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=20021455</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=20021455</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20021455</guid></item><item><title><![CDATA[New comment by fsaintjacques in "Floyd Martin retires after nearly 35 years as a mailman tomorrow"]]></title><description><![CDATA[
<p>I received my first paper nigerian scam last month!</p>
]]></description><pubDate>Fri, 24 May 2019 16:33:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=20003178</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=20003178</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20003178</guid></item><item><title><![CDATA[New comment by fsaintjacques in "How does a relational database work? (2017)"]]></title><description><![CDATA[
<p><a href="https://cstack.github.io/db_tutorial/" rel="nofollow">https://cstack.github.io/db_tutorial/</a></p>
]]></description><pubDate>Wed, 17 Apr 2019 11:50:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=19681689</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=19681689</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19681689</guid></item><item><title><![CDATA[New comment by fsaintjacques in "AI Startups in Montreal"]]></title><description><![CDATA[
<p>They have a few people and a tiny office recruiting for developers. I work beside them.<p><a href="https://www.peersight.com/job/appnexus-senior-software-engineer-real-time-platform" rel="nofollow">https://www.peersight.com/job/appnexus-senior-software-engin...</a></p>
]]></description><pubDate>Tue, 23 Oct 2018 14:40:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=18283740</link><dc:creator>fsaintjacques</dc:creator><comments>https://news.ycombinator.com/item?id=18283740</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18283740</guid></item></channel></rss>