<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: hddqsb</title><link>https://news.ycombinator.com/user?id=hddqsb</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 04:03:00 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=hddqsb" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by hddqsb in "Toasts are bad UX"]]></title><description><![CDATA[
<p>I thought this was going to be about Android (which makes heavy use of that term), and I was expecting completely different complaints:<p>- The toast disappears quickly, so you might not have time to read it / take a screenshot<p>- It's not possible to copy the text<p>- Long text is truncated (e.g. exception messages)</p>
]]></description><pubDate>Tue, 20 Aug 2024 14:08:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=41300228</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=41300228</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41300228</guid></item><item><title><![CDATA[New comment by hddqsb in "Wolfram Alpha's math input is broken"]]></title><description><![CDATA[
<p>There is a serious bug in Wolfram Alpha's "math input" mode. When you enter e²ⁿ, it is interpreted as e²n (full details at the end). This was reported to them a month ago and still hasn't been fixed, so I figured it was time for some public shaming ;)<p>I've been really impressed with Wolfram Alpha over the years (both the natural language parsing and the power of Mathematica); my main issue until now has been that the natural language parser tends fail on inputs beyond some length (fortunately Mathematica syntax is also supported and works well). So I was very surprised when this glaring bug in math input mode was shared with me.<p>Full steps to reproduce:<p>1. Go to <a href="https://www.wolframalpha.com/" rel="nofollow">https://www.wolframalpha.com/</a><p>2. Click "MATH INPUT"<p>3. Click the "power" button (second from the right, icon is two boxes with one in superscript)<p>4. Type "e" (it should go in the first box)<p>5. Click the superscript box<p>6. Type "2n"<p>7. Click the "=" button<p>Result: The input field correctly shows e²ⁿ (with the "n" in superscript), but the formula shown in the "Input" section is e²n (the "n" is outside the exponent) and the "Plot" section shows a straight line which confirms that the input was misinterpreted as e² * n.<p>Explicitly adding parentheses around the "2n" fixes this. Ironically, when you do that the "Input" section shows the formula as e²ⁿ (without the parentheses; the same version that fails when entered in the input field).</p>
]]></description><pubDate>Tue, 20 Aug 2024 12:37:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=41299508</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=41299508</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41299508</guid></item><item><title><![CDATA[Wolfram Alpha's math input is broken]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.wolframalpha.com/input?i2d=true&i=Power%5Be%2C2n%5D">https://www.wolframalpha.com/input?i2d=true&i=Power%5Be%2C2n%5D</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41299507">https://news.ycombinator.com/item?id=41299507</a></p>
<p>Points: 4</p>
<p># Comments: 2</p>
]]></description><pubDate>Tue, 20 Aug 2024 12:37:34 +0000</pubDate><link>https://www.wolframalpha.com/input?i2d=true&amp;i=Power%5Be%2C2n%5D</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=41299507</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41299507</guid></item><item><title><![CDATA[New comment by hddqsb in "The new PostgreSQL 17 make dist"]]></title><description><![CDATA[
<p>Docker & co. also let you create a clean build environment (to a lesser extent), and I find them less intrusive than Nix / Guix.</p>
]]></description><pubDate>Tue, 13 Aug 2024 10:17:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=41234017</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=41234017</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41234017</guid></item><item><title><![CDATA[New comment by hddqsb in "ps aux written in bash without forking"]]></title><description><![CDATA[
<p>Fix:<p><pre><code>  ps() { for i in /proc/[0-9]*; do readarray -d '' -t cmdline < "$i/cmdline"; printf "%s: %s\n" "${i#/proc/}" "${cmdline[*]}"; done; }</code></pre></p>
]]></description><pubDate>Tue, 06 Aug 2024 09:44:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=41169180</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=41169180</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41169180</guid></item><item><title><![CDATA[New comment by hddqsb in "Ask HN: Fast data structures for disjoint intervals?"]]></title><description><![CDATA[
<p>A little late to the party...<p>> The slow cases usually tend to be trying to find wider slots and skipping through many smaller slots. There are often a lot of bookings up to the first wide enough slot too though, so it's a little bit of both.<p>This right here is the first critical issue. It doesn't matter how fast the data structure is if you're then going to do a linear search over the available slots to find the next one wide enough.<p>A good data structure for doing this efficiently is a range tree (<a href="https://en.wikipedia.org/wiki/Range_tree" rel="nofollow">https://en.wikipedia.org/wiki/Range_tree</a>), where in each node you store the maximum width of the available slots covered by the node. That lets you find the first available slot after some time <i>t</i> and wider than some duration <i>w</i> in O(log(n)), where <i>n</i> is the number of available slots. (It might not be obvious if you're not familiar with range trees; I'm happy to provide more details.)<p>For the implementation, there are a few options:<p>A. The simplest is to use a complete range tree, where the leaf nodes are all the possible times. You can lazily create nodes to avoid massive memory usage for sparse ranges. The advantage is that you don't need to do any balancing; the disadvantage is that the time complexity is O(long(T)) where <i>T</i> is the total number of possible times; so it's going to be a little slower on very sparse datasets.<p>B. The O(log(n)) implementation that's being called for is a self-balancing binary tree (e.g. red-black), modified to also store the maximums in each node. Unfortunately most libraries don't give you low-level control over the tree's nodes, so you'd likely need to copy the code and modify it (or implement the self-balancing tree from scratch).<p>C. If those are still too slow (and you're certain that your implementation is really O(log(n))), you'll need to improve the cache efficiency. That basically comes down to using larger nodes. The obvious approach is to switch to a B-tree; but you could also keep your nodes binary and just change the way they are allocated to emulate the memory layout of a B-tree (this is simpler but slower because it still uses lots of pointers). Another idea is to replace the first few layers of the tree with a hash table (or a simple array if your data is dense enough). Likewise you can replace the leaf nodes with small arrays.</p>
]]></description><pubDate>Tue, 06 Aug 2024 09:08:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=41169036</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=41169036</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41169036</guid></item><item><title><![CDATA[New comment by hddqsb in "Spanish High Court banned Telegram"]]></title><description><![CDATA[
<p>The article's actual title is "High Court orders temporary suspension of Telegram's services in Spain", not "Spanish High Court banned Telegram".<p>This is a temporary suspension while investigating "after media companies complained it was allowing users to upload their content without permission".</p>
]]></description><pubDate>Sat, 23 Mar 2024 11:28:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=39799125</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=39799125</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39799125</guid></item><item><title><![CDATA[New comment by hddqsb in "Basic proxy implementation using io_uring"]]></title><description><![CDATA[
<p>Great sleuthing, the missing piece of the puzzle is that the file contents are inside a <code> element while the line numbers are not, and <code> elements have a default font so they don't inherit the font from their parent element. Changing the selector to the following fixes the issue:<p><pre><code>  div#cgit pre, div#cgit code { ... }
</code></pre>
(The buggy CSS is not present in the the official cgit repository, so I assume the owner of kernel.dk is running a patched version of cgit.)</p>
]]></description><pubDate>Fri, 23 Feb 2024 14:10:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=39480761</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=39480761</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39480761</guid></item><item><title><![CDATA[New comment by hddqsb in "SSH3: SSHv2 using HTTP/3 and QUIC"]]></title><description><![CDATA[
<p>There is now an open issue: <a href="https://github.com/francoismichel/ssh3/issues/79">https://github.com/francoismichel/ssh3/issues/79</a></p>
]]></description><pubDate>Tue, 26 Dec 2023 11:38:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=38770893</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=38770893</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38770893</guid></item><item><title><![CDATA[New comment by hddqsb in "SSH over HTTPS"]]></title><description><![CDATA[
<p>In fact the article mentions a tool for this (sslh), but rejects it because it hides the source IP from the HTTP backend (and other reasons).</p>
]]></description><pubDate>Sun, 24 Dec 2023 15:51:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=38754272</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=38754272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38754272</guid></item><item><title><![CDATA[New comment by hddqsb in "SSH over HTTPS"]]></title><description><![CDATA[
<p>In the case of SSH, there is a single connection (in fact SSH implements its own multiplexing), so I don't see the advantage of HTTP/2.</p>
]]></description><pubDate>Sun, 24 Dec 2023 15:44:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=38754222</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=38754222</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38754222</guid></item><item><title><![CDATA[New comment by hddqsb in "Xmas.c (1988)"]]></title><description><![CDATA[
<p>I agree. Stack Exchange's Code Golf has public source, but the best there is 644 bytes: <a href="https://codegolf.stackexchange.com/a/4198" rel="nofollow noreferrer">https://codegolf.stackexchange.com/a/4198</a></p>
]]></description><pubDate>Sun, 24 Dec 2023 08:21:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=38752072</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=38752072</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38752072</guid></item><item><title><![CDATA[New comment by hddqsb in "SSH over HTTPS"]]></title><description><![CDATA[
<p>Yes, that's likely to work on many firewalls, but:<p>- it means you can't also serve HTTP on those ports (so you'd need a dedicated IP address for SSH), and<p>- as @charcircuit wrote, it won't resist deep packet inspection.<p>(But if DPI is a problem and you have a spare IP address, you could just use SSH over TLS without needing the HTTP CONNECT stuff and Apache.)</p>
]]></description><pubDate>Sun, 24 Dec 2023 07:42:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=38751926</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=38751926</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38751926</guid></item><item><title><![CDATA[New comment by hddqsb in "Nvidia sued for stealing trade secrets: blunder showed rival company's code"]]></title><description><![CDATA[
<p>This article is not about graphics drivers. The project in question is "advanced parking and driving assistance technology".</p>
]]></description><pubDate>Fri, 01 Dec 2023 15:02:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=38487487</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=38487487</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38487487</guid></item><item><title><![CDATA[New comment by hddqsb in "Sopwith – a classic bi-plane shoot 'em up from 1984 in the browser"]]></title><description><![CDATA[
<p>Tip: If pull up/down feel backward to you when the plane is flipped, go into the options and enable "Harry keys mode" :)</p>
]]></description><pubDate>Fri, 01 Dec 2023 14:00:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=38486709</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=38486709</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38486709</guid></item><item><title><![CDATA[New comment by hddqsb in "I analyzed Stack Overflow for secrets"]]></title><description><![CDATA[
<p>Yep. The relevant parts from the article:<p>> ... I run a simple scan ... against all the 74 real looking GitHub user tokens ... and discovered that 6 of them are actually valid.<p>> ... only 2 of them actually have bio and email, but one of them (a c/c++ developer) has a repo with 3.4k stars ...<p>> I obviously couldn’t verify all the secrets. From most of them I’ll probably be banned, so I stooped here.<p>As an alternative to manually testing the credentials (and risking bans), I wonder if any organisations would agree to test the credentials for you if you sent them a list of suspected leaks. If the organisation doesn't tell you which ones were valid (and takes responsibility for revoking/notifying), I don't see much room for abuse. Might be hard to convince the organisation of that though!</p>
]]></description><pubDate>Mon, 20 Nov 2023 11:54:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=38346736</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=38346736</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38346736</guid></item><item><title><![CDATA[New comment by hddqsb in "De-crufted Windows 11 coming to Europe soon"]]></title><description><![CDATA[
<p>A clever person got that account banned. When you try logging in with that email and a random password, it will fail, and Windows will allow you create a local account. (ref: <a href="https://news.ycombinator.com/item?id=37179504">https://news.ycombinator.com/item?id=37179504</a>, <a href="https://news.ycombinator.com/item?id=33049235">https://news.ycombinator.com/item?id=33049235</a>).</p>
]]></description><pubDate>Mon, 20 Nov 2023 11:33:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=38346528</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=38346528</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38346528</guid></item><item><title><![CDATA[New comment by hddqsb in "Setenv Is Not Thread Safe and C Doesn't Want to Fix It"]]></title><description><![CDATA[
<p>It is perfectly reasonable and consistent for one thread to set an environment variable while other threads are reading <i>different</i> environment variables.</p>
]]></description><pubDate>Mon, 20 Nov 2023 10:55:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=38346171</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=38346171</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38346171</guid></item><item><title><![CDATA[New comment by hddqsb in "Setenv Is Not Thread Safe and C Doesn't Want to Fix It"]]></title><description><![CDATA[
<p>Sure, some applications might require custom higher-level synchronisation, but it's still important for getenv/setenv to be thread-safe (i.e. not crash):<p>- The race might be irrelevant (e.g. simultaneous calls that access different variables are fine).<p>- The application author might not have complete control over all calls to getenv/setenv (e.g. if using a third-party library).</p>
]]></description><pubDate>Mon, 20 Nov 2023 10:37:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=38346026</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=38346026</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38346026</guid></item><item><title><![CDATA[New comment by hddqsb in "Debugging tricks in the browser"]]></title><description><![CDATA[
<p>In Chrome you can inspect your closure (as you clarified in <a href="https://news.ycombinator.com/item?id=38226743#38231705">https://news.ycombinator.com/item?id=38226743#38231705</a>) using the "Watch" pane, and then look at its "[[Scopes]]" pseudo-property. I don't think there is a way in Firefox.</p>
]]></description><pubDate>Wed, 15 Nov 2023 09:12:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=38274757</link><dc:creator>hddqsb</dc:creator><comments>https://news.ycombinator.com/item?id=38274757</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38274757</guid></item></channel></rss>