<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: komuW</title><link>https://news.ycombinator.com/user?id=komuW</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 19 Oct 2026 08:34:47 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=komuW" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Founder Mode and the Art of Mythmaking]]></title><description><![CDATA[
<p>Article URL: <a href="https://charity.wtf/2024/12/17/founder-mode-and-the-art-of-mythmaking/">https://charity.wtf/2024/12/17/founder-mode-and-the-art-of-mythmaking/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42450294">https://news.ycombinator.com/item?id=42450294</a></p>
<p>Points: 6</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 18 Dec 2024 13:35:33 +0000</pubDate><link>https://charity.wtf/2024/12/17/founder-mode-and-the-art-of-mythmaking/</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=42450294</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42450294</guid></item><item><title><![CDATA[New comment by komuW in "Show HN: I combined spaced repetition with emails so you can remember anything"]]></title><description><![CDATA[
<p>Take a look at FSRS.<p>The paper: <a href="https://dl.acm.org/doi/10.1145/3534678.3539081?cid=99660547150" rel="nofollow">https://dl.acm.org/doi/10.1145/3534678.3539081?cid=996605471...</a><p>Various implementations: <a href="https://github.com/open-spaced-repetition/awesome-fsrs">https://github.com/open-spaced-repetition/awesome-fsrs</a><p>Some benchmarks of various srs algorithms: <a href="https://expertium.github.io/Benchmark.html" rel="nofollow">https://expertium.github.io/Benchmark.html</a></p>
]]></description><pubDate>Thu, 05 Dec 2024 07:14:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=42325780</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=42325780</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42325780</guid></item><item><title><![CDATA[New comment by komuW in "Dito – an advanced Layer 7 reverse proxy server written in Go"]]></title><description><![CDATA[
<p>Have you looked at Tyk? <a href="https://github.com/TykTechnologies/tyk/">https://github.com/TykTechnologies/tyk/</a></p>
]]></description><pubDate>Thu, 10 Oct 2024 06:57:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=41796294</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=41796294</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41796294</guid></item><item><title><![CDATA[New comment by komuW in "Ask HN: Who wants to be hired? (September 2024)"]]></title><description><![CDATA[
<p>Location: Nairobi, Kenya<p>Remote: Yes<p>Willing to relocate: No<p>Technologies: Golang, Python, Django, SQL, PostgreSQL, AWS<p>Résumé/CV: <a href="https://www.komu.engineer/cv/komu-CV.pdf" rel="nofollow">https://www.komu.engineer/cv/komu-CV.pdf</a><p>Email: komuw05@gmail.com<p>Blog: <a href="https://www.komu.engineer/blog" rel="nofollow">https://www.komu.engineer/blog</a><p>I'm a software engineer with ~8yrs experience. Here's somethings that I've done;<p>- Reduced cloud costs for a production kubernetes service by 20%. This was done by analysing pod utilisation on kubernetes and then right-sizing the pods to match the expected usage.<p>- Read the SMPP specification and implemented a client for it from scratch. Integrated the client into a production application and used it to send out SMS at averaget rates of 800/second.<p>- Created an open source ACME client based off the ACME specification.</p>
]]></description><pubDate>Wed, 04 Sep 2024 07:02:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=41442676</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=41442676</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41442676</guid></item><item><title><![CDATA[Africa's infrastructure-led growth is failing. It's time to focus on agriculture]]></title><description><![CDATA[
<p>Article URL: <a href="https://carnegieendowment.org/research/2022/12/africas-infrastructure-led-growth-experiment-is-faltering-it-is-time-to-focus-on-agriculture">https://carnegieendowment.org/research/2022/12/africas-infrastructure-led-growth-experiment-is-faltering-it-is-time-to-focus-on-agriculture</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41244818">https://news.ycombinator.com/item?id=41244818</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 14 Aug 2024 11:18:02 +0000</pubDate><link>https://carnegieendowment.org/research/2022/12/africas-infrastructure-led-growth-experiment-is-faltering-it-is-time-to-focus-on-agriculture</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=41244818</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41244818</guid></item><item><title><![CDATA[New comment by komuW in "Ask HN: Who is hiring? (August 2024)"]]></title><description><![CDATA[
<p>Hi, could you guys please reply to job applications. I had applied in April and up to now I haven't received even a rejection email.</p>
]]></description><pubDate>Fri, 02 Aug 2024 09:08:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=41137226</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=41137226</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41137226</guid></item><item><title><![CDATA[New comment by komuW in "Why is observability so expensive?"]]></title><description><![CDATA[
<p>My solution[1] to this problem is to do what they did in the Apollo Guidance Computer; log to a ring buffer and only flush it (to disk or wherever) on certain conditions.<p>1. <a href="https://www.komu.engineer/blogs/09/log-without-losing-context" rel="nofollow">https://www.komu.engineer/blogs/09/log-without-losing-contex...</a></p>
]]></description><pubDate>Thu, 04 Apr 2024 06:44:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=39927266</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=39927266</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39927266</guid></item><item><title><![CDATA[New comment by komuW in "How does Sidekiq really work?"]]></title><description><![CDATA[
<p>Nice article. If you ever wondered how the python equivalent(celery) works, I wrote a blogpost about that ~4years ago; <a href="https://www.komu.engineer/blogs/07/understand-how-celery-works" rel="nofollow">https://www.komu.engineer/blogs/07/understand-how-celery-wor...</a></p>
]]></description><pubDate>Mon, 05 Feb 2024 20:09:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=39266421</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=39266421</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39266421</guid></item><item><title><![CDATA[How to propagate context without cancellation]]></title><description><![CDATA[
<p>Article URL: <a href="https://tyk.io/blog/how-to-propagate-context-without-cancellation/">https://tyk.io/blog/how-to-propagate-context-without-cancellation/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=37259942">https://news.ycombinator.com/item?id=37259942</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 25 Aug 2023 10:06:28 +0000</pubDate><link>https://tyk.io/blog/how-to-propagate-context-without-cancellation/</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=37259942</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37259942</guid></item><item><title><![CDATA[Small Dog]]></title><description><![CDATA[
<p>Article URL: <a href="https://bikozulu.co.ke/2023/07/11/small-dog/">https://bikozulu.co.ke/2023/07/11/small-dog/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=36685556">https://news.ycombinator.com/item?id=36685556</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 11 Jul 2023 18:49:32 +0000</pubDate><link>https://bikozulu.co.ke/2023/07/11/small-dog/</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=36685556</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36685556</guid></item><item><title><![CDATA[New comment by komuW in "Clog: Making a homegrown ClickHouse log for $20 a month"]]></title><description><![CDATA[
<p>My favorite technique for reducing the cost of logging is the same technique that was employed in The Apollo Guidance Computer(though I'm not sure if they did it for cost purposes).<p>To quote from Annotations to Eldon Hall's Journey to the Moon[1]:
"The Coroner recorded every instruction executed, with its inputs and results, writing over the oldest record when it filled up. When a program crashed, you could punch out a full record of what it was doing in most of its last second and analyze the problem at your ease. I have often wished that PCs offered such an advanced feature."<p>So essentially buffer all logs into an in-memory circular buffer of capacity N. If a log record is emitted that has a certain severity/level; flush all records from the buffer to disk/clickHouse/grafana/whatever.<p>The python MemoryHandler[2] almost implements the said technique, except that it also flushes when buffer is full; which is not particularly what I would want.<p>I also wrote a blogpost[3] about how to log without losing money or context, ~3yrs ago.<p>1. <a href="https://authors.library.caltech.edu/5456/1/hrst.mit.edu/hrs/apollo/public/blairsmith3.htm" rel="nofollow">https://authors.library.caltech.edu/5456/1/hrst.mit.edu/hrs/...</a><p>2. <a href="https://github.com/python/cpython/blob/v3.11.1/Lib/logging/handlers.py#L1353-L1359">https://github.com/python/cpython/blob/v3.11.1/Lib/logging/h...</a><p>3. <a href="https://www.komu.engineer/blogs/09/log-without-losing-context" rel="nofollow">https://www.komu.engineer/blogs/09/log-without-losing-contex...</a></p>
]]></description><pubDate>Mon, 13 Feb 2023 13:43:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=34773246</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=34773246</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34773246</guid></item><item><title><![CDATA[Plain text Kubernetes secrets are fine]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.macchaffee.com/blog/2022/k8s-secrets/">https://www.macchaffee.com/blog/2022/k8s-secrets/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=34530674">https://news.ycombinator.com/item?id=34530674</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 26 Jan 2023 12:04:47 +0000</pubDate><link>https://www.macchaffee.com/blog/2022/k8s-secrets/</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=34530674</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34530674</guid></item><item><title><![CDATA[Libxev: A cross-platform, high-performance event loop]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/mitchellh/libxev">https://github.com/mitchellh/libxev</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=34528009">https://news.ycombinator.com/item?id=34528009</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 26 Jan 2023 05:26:07 +0000</pubDate><link>https://github.com/mitchellh/libxev</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=34528009</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34528009</guid></item><item><title><![CDATA[Gleam gets Incremental Compilation]]></title><description><![CDATA[
<p>Article URL: <a href="https://gleam.run/news/v0.26-incremental-compilation-and-deno/">https://gleam.run/news/v0.26-incremental-compilation-and-deno/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=34489415">https://news.ycombinator.com/item?id=34489415</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 23 Jan 2023 14:52:22 +0000</pubDate><link>https://gleam.run/news/v0.26-incremental-compilation-and-deno/</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=34489415</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34489415</guid></item><item><title><![CDATA[Type Checking If Expressions]]></title><description><![CDATA[
<p>Article URL: <a href="http://journal.stuffwithstuff.com/2023/01/03/type-checking-if-expressions/">http://journal.stuffwithstuff.com/2023/01/03/type-checking-if-expressions/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=34397857">https://news.ycombinator.com/item?id=34397857</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 16 Jan 2023 07:22:08 +0000</pubDate><link>http://journal.stuffwithstuff.com/2023/01/03/type-checking-if-expressions/</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=34397857</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34397857</guid></item><item><title><![CDATA[New comment by komuW in "CircleCI says hackers stole encryption keys and customers’ source code"]]></title><description><![CDATA[
<p>Note that dumping the Vault's process memory is beyond hashicorp/Vault's threat model. See: <a href="https://github.com/hashicorp/vault/issues/1446#issuecomment-221625921">https://github.com/hashicorp/vault/issues/1446#issuecomment-...</a><p>I'm bringing this up because the circleCI blogpost says that the attacker did memory-dump encryption keys from a running process. See <a href="https://circleci.com/blog/jan-4-2023-incident-report/" rel="nofollow">https://circleci.com/blog/jan-4-2023-incident-report/</a><p>So even if they were using hashicorp/vault, the attacker could probably still have been able to mem-dump vault's process.</p>
]]></description><pubDate>Sun, 15 Jan 2023 11:54:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=34388746</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=34388746</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34388746</guid></item><item><title><![CDATA[New comment by komuW in "CircleCI says hackers stole encryption keys and customers’ source code"]]></title><description><![CDATA[
<p>Note that dumping the Vault's process memory is beyond hashicorp/Vault's threat model. See: <a href="https://github.com/hashicorp/vault/issues/1446#issuecomment-221625921">https://github.com/hashicorp/vault/issues/1446#issuecomment-...</a></p>
]]></description><pubDate>Sun, 15 Jan 2023 11:50:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=34388727</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=34388727</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34388727</guid></item><item><title><![CDATA[New comment by komuW in "CircleCI says hackers stole encryption keys and customers’ source code"]]></title><description><![CDATA[
<p>yeah this just kicks the can down the road.</p>
]]></description><pubDate>Sun, 15 Jan 2023 11:43:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=34388696</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=34388696</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34388696</guid></item><item><title><![CDATA[New comment by komuW in "CircleCI says hackers stole encryption keys and customers’ source code"]]></title><description><![CDATA[
<p>> That requires client-side SSL authentication,<p>I do not think it requires client side SSL. See: <a href="https://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967/" rel="nofollow">https://engineering.salesforce.com/tls-fingerprinting-with-j...</a><p>What is been fingerprinted is the TLS negotiation between client and server.</p>
]]></description><pubDate>Sun, 15 Jan 2023 11:03:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=34388521</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=34388521</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34388521</guid></item><item><title><![CDATA[New comment by komuW in "CircleCI says hackers stole encryption keys and customers’ source code"]]></title><description><![CDATA[
<p>From the circleCI blogpost[1]:
"Our investigation indicates that the malware was able to execute session cookie theft, enabling them to impersonate the targeted employee in a remote location"<p>I haven't seen much discussion on how this specific attacker entrypoint can be mitigated. So I'm going to make a naive attempt in this comment.<p>How about storing the client's IP address in the session cookie. Then whenever the server recieves the cookie, it compares the client's IP address against the one stored in the session cookie. The server denies the login if there's a mismatch. 
The cookie would of-course have to be signed(hmac etc) so that it is tamper proof.<p>One problem with this is that client IP addresses are easily spoofed[2].<p>So, instead of storing the client's IP address; how about we instead store the clients' SSL fingerprints[3][4]. I haven't looked much into the literature, but I think those fingerprints are hard to spoof.<p>1. <a href="https://circleci.com/blog/jan-4-2023-incident-report/" rel="nofollow">https://circleci.com/blog/jan-4-2023-incident-report/</a><p>2. <a href="https://adam-p.ca/blog/2022/03/x-forwarded-for/" rel="nofollow">https://adam-p.ca/blog/2022/03/x-forwarded-for/</a><p>3. <a href="https://github.com/salesforce/hassh">https://github.com/salesforce/hassh</a><p>4. <a href="https://github.com/salesforce/ja3">https://github.com/salesforce/ja3</a></p>
]]></description><pubDate>Sun, 15 Jan 2023 09:36:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=34388099</link><dc:creator>komuW</dc:creator><comments>https://news.ycombinator.com/item?id=34388099</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34388099</guid></item></channel></rss>