<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: qweqwe14</title><link>https://news.ycombinator.com/user?id=qweqwe14</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 08 Apr 2026 12:59:34 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=qweqwe14" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by qweqwe14 in "Fabrice Bellard Releases MicroQuickJS"]]></title><description><![CDATA[
<p>This would never happen because there's zero incentive to do this.<p>Browsers are complex because they solve a complex problem: running arbitrary applications in a secure manner across a wide range of platforms. So any "simple" browser you can come up with just won't work in the real world (yes, that means being compatible with websites that normal people use).</p>
]]></description><pubDate>Tue, 23 Dec 2025 18:10:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=46367603</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=46367603</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46367603</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Show HN: I built a system for active note-taking in regular meetings like 1-1s"]]></title><description><![CDATA[
<p>There is a way: you have to make something that's better in a meaningful way, so that companies' management would want to SWITCH to it. And your new shiny thing also has to be compatible with all of the integrations, the ecosystem etc. that the current thing has.<p>I'm not even mentioning trust issues, when sensitive data is involved.<p>Doing anything less and hoping that companies would use your toy project is just wishful thinking. Sorry to be that guy, but please get real.</p>
]]></description><pubDate>Tue, 09 Dec 2025 08:26:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46202583</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=46202583</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46202583</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Linux Kernel Explorer"]]></title><description><![CDATA[
<p>How is this different from <a href="https://elixir.bootlin.com/linux" rel="nofollow">https://elixir.bootlin.com/linux</a></p>
]]></description><pubDate>Thu, 27 Nov 2025 08:43:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46067154</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=46067154</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46067154</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Zlib-rs is faster than C"]]></title><description><![CDATA[
<p>> Add a borrow checker to C++ and put rust to bed once and for all<p>Ah yes, C++ is just one safety feature away from replacing Rust, surely, any moment now. The bizzare world C++ fanboys live in.<p>Every single person that had been writing C++ for a while and isn't a victim of Stockholm syndrome would be happy when C++ is put to bed once and for all. It's a horrible language only genuinely enjoyed by bad programmers.</p>
]]></description><pubDate>Sun, 16 Mar 2025 20:48:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=43382165</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=43382165</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43382165</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Zlib-rs is faster than C"]]></title><description><![CDATA[
<p>The fact that it's faster than the C implementation that surely had more time and effort put into it doesn't look good for C here.</p>
]]></description><pubDate>Sun, 16 Mar 2025 20:07:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=43381813</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=43381813</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43381813</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Zlib-rs is faster than C"]]></title><description><![CDATA[
<p>"Barely" or not is completely irrelevant. The fact is that it's measurably faster than the C implementation with the more common parameters. So the point that you're trying to make isn't clear tbh.<p>Also I'm pretty sure that the C implementation had more man hours put into it than the Rust one.</p>
]]></description><pubDate>Sun, 16 Mar 2025 20:03:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=43381776</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=43381776</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43381776</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Show HN: I built a memory-safe web server in Rust"]]></title><description><![CDATA[
<p>What about Cloudflare's pengora?<p>Edit: or <a href="https://github.com/memorysafety/river">https://github.com/memorysafety/river</a><p>Edit 2: or <a href="https://github.com/sozu-proxy/sozu">https://github.com/sozu-proxy/sozu</a></p>
]]></description><pubDate>Sun, 02 Mar 2025 08:08:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=43228411</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=43228411</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43228411</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Show HN: I built a memory-safe web server in Rust"]]></title><description><![CDATA[
<p>Have you heard of axum[1] or actix-web[2]? What does this do that existing Rust web servers don't?<p>I think the "web server" ecosystem in Rust is pretty mature by now, so you should probably state in what way your project is novel on the website.<p>Edit: OK, I realized that this is supposed to be an nginx/caddy replacement, so a complete, configurable web server/proxy. Maybe check out <a href="https://github.com/memorysafety/river">https://github.com/memorysafety/river</a> or <a href="https://github.com/sozu-proxy/sozu">https://github.com/sozu-proxy/sozu</a><p>[1] <a href="https://docs.rs/axum" rel="nofollow">https://docs.rs/axum</a><p>[2] <a href="https://docs.rs/actix-web" rel="nofollow">https://docs.rs/actix-web</a></p>
]]></description><pubDate>Sun, 02 Mar 2025 07:56:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=43228335</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=43228335</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43228335</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Zelensky leaves White House after angry meeting"]]></title><description><![CDATA[
<p>Are there actual, living people thinking that donating to Ukraine will influence anything? These donations might as well be a margin of error compared to government funding, aid packages and what not.<p>The Ukraine is simply too small of a country to actually win a war against Russia, all that these aid packages are doing is prolonging the war that Ukraine cannot win.<p>It's like saying "if only Germany had <insert Wunderwaffe> it would've won WWII". At some point they were going to run out of men anyway (they did). Sort of like how Ukraine will eventually run out of men if they continue.</p>
]]></description><pubDate>Fri, 28 Feb 2025 20:53:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=43210586</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=43210586</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43210586</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Okay, I Like WezTerm"]]></title><description><![CDATA[
<p>This, unironically, is entirely correct. Some people spend way too much time configuring stuff that doesn't matter.<p>"If you've never spent hours ricing your OS, you have no heart. If you still do, you have no brain."</p>
]]></description><pubDate>Mon, 12 Aug 2024 15:31:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=41225580</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=41225580</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41225580</guid></item><item><title><![CDATA[Async: What Is Blocking?]]></title><description><![CDATA[
<p>Article URL: <a href="https://ryhl.io/blog/async-what-is-blocking/">https://ryhl.io/blog/async-what-is-blocking/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41137210">https://news.ycombinator.com/item?id=41137210</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 02 Aug 2024 09:04:14 +0000</pubDate><link>https://ryhl.io/blog/async-what-is-blocking/</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=41137210</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41137210</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Userland rootkits are lame (2022)"]]></title><description><![CDATA[
<p>There's also TracerPid field in /proc/PID/status, which is non-zero when a process is being ptraced<p>> Sus tests for common indicators of compromise<p>There's a lot of stuff that Linux malware tends to do that almost no legitimate program does, this can be incorporated into the tool. Just off the top of my head, some botnet clients delete their executable after launch, in addition to being statically linked, which is an almost 100% guarantee that it's malware.<p>Check for deleted executables: ls -l /proc/*/task/*/exe 2>/dev/null | grep ' \(deleted\)$'<p>(not really reliable) check for statically linked running programs: wc -c $(grep -L libc /proc/*/task/*/maps 2>dev/null) 2>/dev/null | grep -v '^0 '<p>Although a malicious process can just mmap libc for giggles, and also theoretically libc can be named in a way that doesn't contain "libc". A more reliable method is parsing the ELF header in /proc/PID/exe to determine if there's an ELF interpreter defined.<p>You can also check for processes that trace themselves (TracerPid in status == process id), this is a common anti-debug tactic.<p>You can also hide the process by mounting a tmpfs on top of it's proc directory, tools like ps ignore empty proc directories due to the possibility that the process has terminated but it's proc directory is still around. This is obviously easily detectable by checking /proc/mounts or just listing empty directories with numeric names in /proc<p>Another heuristic can be checking /proc/PID/cmdline for two NUL bytes in a row, some malware tries to change it's process name and arguments by modifying the argv array, however they are unable to change the size of cmdline, hence having multiple NUL bytes is a viable detection mechanism. Legitimate programs do this too, but it's rather uncommon.<p>You can obviously combine these heuristics to make a decision whether the process is malicious, as by themselves they aren't very reliable</p>
]]></description><pubDate>Mon, 01 Jul 2024 10:56:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=40844524</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=40844524</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40844524</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Userland rootkits are lame (2022)"]]></title><description><![CDATA[
<p>The downside with kernel-level rootkits is you essentially have to compile it for many different kernel versions if you want it to work everywhere. I think I've read about some malware that literally contacted a server, sent the kernel version, and the server would compile the rootkit on demand.</p>
]]></description><pubDate>Mon, 01 Jul 2024 06:39:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=40843177</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=40843177</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40843177</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Userland rootkits are lame (2022)"]]></title><description><![CDATA[
<p>In case you're interested, it's usually done via ptrace by attaching to every process and modifiying the syscall arguments every time it makes one. There are performance issues associated with that (ptracing is rather expensive) and IMO it's more complex than LD_PRELOAD. Furthermore, ptrace may be disabled altogether on some installations, even for root. See yama_ptrace_scope<p>I wouldn't say it's a practical approach. Works for a cool demo, sure, but as an adversary I would be hesitant to use this widely.</p>
]]></description><pubDate>Mon, 01 Jul 2024 06:35:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=40843160</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=40843160</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40843160</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Userland rootkits are lame (2022)"]]></title><description><![CDATA[
<p>I'm of the opinion that all systems should at least have a static busybox, it's useful for more than just rootkit hunting, for example if you somehow break your installation because of glibc shenanigans (rare but happens)</p>
]]></description><pubDate>Mon, 01 Jul 2024 06:30:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=40843134</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=40843134</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40843134</guid></item><item><title><![CDATA[Userland rootkits are lame (2022)]]></title><description><![CDATA[
<p>Article URL: <a href="https://grugq.substack.com/p/userland-rootkits-are-lame">https://grugq.substack.com/p/userland-rootkits-are-lame</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=40841649">https://news.ycombinator.com/item?id=40841649</a></p>
<p>Points: 45</p>
<p># Comments: 45</p>
]]></description><pubDate>Mon, 01 Jul 2024 00:47:45 +0000</pubDate><link>https://grugq.substack.com/p/userland-rootkits-are-lame</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=40841649</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40841649</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Show HN: From dotenv to dotenvx – better config management"]]></title><description><![CDATA[
<p>lmao so true</p>
]]></description><pubDate>Wed, 26 Jun 2024 15:15:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=40800990</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=40800990</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40800990</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Show HN: From dotenv to dotenvx – better config management"]]></title><description><![CDATA[
<p>Well, if there's an arbitrary file read, shouldn't the attacker be able to just read /proc/PID/environ anyway? It behaves like a regular file in that regard, unlike /proc/PID/mem, which requires seek operations to read data.</p>
]]></description><pubDate>Wed, 26 Jun 2024 14:14:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=40800325</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=40800325</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40800325</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Show HN: From dotenv to dotenvx – better config management"]]></title><description><![CDATA[
<p>Sorry but it <i>is</i> largely all-or-nothing in this case, if someone has access to the user the app runs as, you are screwed. It doesn't matter whether you use env vars or files.<p>I'm assuming the parent intended to say "if someone gained access to your user you are pwned anyways", which is true, unless you actually go to the effort of storing the secrets securely using OS-provided mechanisms. Env vars are not that.<p>> which isn't feasible in the real world<p>Well of course it isn't, how would you justify those sweet cybersecurity experts' paychecks otherwise? Not saying cybersecurity isn't important, but there's way too much snake oil in the industry nowadays (always has been?).</p>
]]></description><pubDate>Wed, 26 Jun 2024 03:54:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=40796221</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=40796221</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40796221</guid></item><item><title><![CDATA[New comment by qweqwe14 in "Show HN: From dotenv to dotenvx – better config management"]]></title><description><![CDATA[
<p>There isn't a right answer. It's just that people don't understand that one doesn't provide any meaningful benefit over the other (in the context of storing secrets), but the security "experts" are always eager to claim "X is insecure, do Y instead, it's best practice btw"<p>Unless I'm missing something, there are three scenarios where this comes up:<p>1. You are using a .env file to store secrets that will then be passed to the program through env vars. There's literally no difference in this case, you end up storing secrets in the FS anyway.<p>2. You are manually setting an env var with the secret when launching a program, e.g. SECRET=foo ./bar. The secret can still be easily obtained by inspecting /proc/PID/environ. It can't be read by other users, but so are the files in your user's directory (.env/secrets.json/whatever)<p>3. A program obtains the secret via some other means (network, user input, etc). You can still access /proc/PID/mem and extract the secret from process memory.<p>So I'm assuming that what people really want is passing the secret to a program and having that secret not be readable by anything other than that program. The proper way to do this is using some OS-provided mechanism, like memfd_secret in Linux. The program can ask for the secret on startup via stdin, then store that secret in the special memory region designed for storing secrets.</p>
]]></description><pubDate>Wed, 26 Jun 2024 03:14:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=40796057</link><dc:creator>qweqwe14</dc:creator><comments>https://news.ycombinator.com/item?id=40796057</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40796057</guid></item></channel></rss>