<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: erlkonig</title><link>https://news.ycombinator.com/user?id=erlkonig</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 11 Jun 2026 03:08:46 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=erlkonig" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by erlkonig in "Building an HTML-first site doubled our users overnight"]]></title><description><![CDATA[
<p>Someone should send this doc to papajohns.com, which has overcomplicated their website to the point it doesn't even work in Firefox anymore.</p>
]]></description><pubDate>Wed, 10 Jun 2026 19:22:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=48481313</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=48481313</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48481313</guid></item><item><title><![CDATA[New comment by erlkonig in "Ask HN: We just had an actual UUID v4 collision..."]]></title><description><![CDATA[
<p>Almost impossible, it depends on how fast they're being generated and the precision of the timestamp.  The real problem is two years later when someone finds and removes that usleep(10000); /* sleep 10 µs */ that was the hard speed brake needed for the UUID generator, and suddenly duplicate IDs start showing up a few times per day or something similar.</p>
]]></description><pubDate>Sat, 09 May 2026 16:16:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48076104</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=48076104</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48076104</guid></item><item><title><![CDATA[New comment by erlkonig in "Ask HN: We just had an actual UUID v4 collision..."]]></title><description><![CDATA[
<p>I keep telling the dev teams I'm on that with enough data points, all those random numbers will (probably) eventually collide, and *then* we'll see how robust their software really is.  At least your database flagged it, and hopefully nothing major exploded.<p>And yet, plenty of experienced devs, including team leads and CIOs, are convinced it's impossible.  As in, they absolutely don't write code to deal with the condition.  So a bad RNG can randomly destroy the system far sooner than expected at any time, and it won't be noticed, caught, re-genned, or anything, with concurrent corruption being entirely possible. They're fine with it.  I feel like these are the same guys who don't check to see if malloc() succeeds.<p>I like to ask them, "If it's impossible, you're using too many bits, right?".  I haven't talked any of them into hedging with a  brownian motion detector, or a lava lamp or something for better randomness yet, but I'm still trying.</p>
]]></description><pubDate>Sat, 09 May 2026 16:11:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=48076074</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=48076074</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48076074</guid></item><item><title><![CDATA[New comment by erlkonig in "Quarkdown – Markdown with Superpowers"]]></title><description><![CDATA[
<p>I really hate it when the recommended install method is curl-ing some script directly into a shell, often as root.  Especially since it's pretty well known that the remote end can tell whether it's going to a script or a file.<p>Quarkdown's page has this:<p>curl -fsSL <a href="https://raw.githubusercontent.com/quarkdown-labs/get-quarkdown/refs/heads/main/install.sh" rel="nofollow">https://raw.githubusercontent.com/quarkdown-labs/get-quarkdo...</a> | sudo env "PATH=$PATH" bash<p>And… yuck.  And that ".sh" is kind of annoying all by itself.</p>
]]></description><pubDate>Tue, 28 Apr 2026 07:56:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47931618</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=47931618</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47931618</guid></item><item><title><![CDATA[New comment by erlkonig in "GoDaddy gave a domain to a stranger without any documentation"]]></title><description><![CDATA[
<p>GoDaddy proved themselves corrupt forever ago, grabbing domains their customers didn't pay for in time and then auctioning them back to those customers for massive markups.  There's a litany of terrible things they've done.<p>My main domain is still with nic.ddn.mil / rs.internic.net … i.e the travesty of itself today, networksolutions, which once had the ethics to only give one domain name to each physical site so as to make sure future generations could have them.  That fled the moment some pharm company attempted to buy about 90 domains at one and the greed set in.  But the same process they failed to improved for a decade or two after getting an income stream is still considered more reliable that GoDaddy.<p>GoDaddy is corrupt, the joke everyone already knew who was in the know.</p>
]]></description><pubDate>Sun, 26 Apr 2026 23:16:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47915852</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=47915852</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47915852</guid></item><item><title><![CDATA[New comment by erlkonig in "A new California law says all operating systems need to have age verification"]]></title><description><![CDATA[
<p>This is happening in Colorado too, meaning it could be part of a national push:<p>Colorado Senate Bill "26-051"<p>The actual bill and links to its two sponsors Matt Ball and Amy Paschal.<p><pre><code>    https://leg.colorado.gov/bills/SB26-051

    https://leg.colorado.gov/legislators/matt-ball

    https://leg.colorado.gov/legislators/amy-paschal
</code></pre>
It puts the infrastructure in place to do all of those things if a future(?), authoritarian regime wants to.<p>* It also reveals that visitors to any site are children, compromising their privacy and opening them up to targeted advertising<p>* The data will undoubtedly be added to the accumulated, traded databases so many services use<p>* The bill makes onerous demands of developers to consider other items that may suggest the user is actually in a different age bracket, like doing websearches for "toys" (child) or "toys" (adult) - which works what percentage of the time, exactly?<p>* And it's totally ineffective, since kids can look at porn anywhere they want, or internationally, regards of useless bill like this<p>The most egregious part of this bill is that:<p>* It legislates that if kids connect to a website, that website can query their age brackets (an "age signal"). This means their approximate age is revealed for kids-specific advertising, manipulation, or even sold to a pedophile group.<p>A DEVELOPER SHALL REQUEST AN AGE SIGNAL WITH RESPECT TO A PARTICULAR USER FROM AN OPERATING SYSTEM PROVIDER OR A COVERED APPLICATION STORE WHEN THE DEVELOPER'S APPLICATION IS DOWNLOADED AND LAUNCHED.<p>Basically SB 26-051 creates a mechanism that can be used to harvest the data that certain users are kids and then sell that data to anyone who will pay for it.<p>Data like this is traded internationally, which makes it tragic that elected lawmakers would waste time pushing a bill whose only mid-term effect would be making Colorado less attractive to developers and software companies.<p>The irony is that normally your kids would have been protected, by standard practices, from having their age exposed. This bill reverses that, putting your children at more risk.<p>The bill also would force many devices to provide age bracket data that are surprising to most people, because this part:<p>"DEVICE" MEANS ANY GENERAL-PURPOSE COMPUTING DEVICE THAT CAN ACCESS A COVERED APPLICATION STORE OR DOWNLOAD AN APPLICATION.<p>... means anything with Internet access and storage. This includes smart televisions, thermostats, tablets, smartphones, smart watches, some fitness tracking devices, some smart toilets, and so on, all potentially reporting your activity on demand, even if that back-end service has nothing to do with porn.<p>The bill is also poorly structured. Clearly it's intended to focus on services like app stores (Android, Apple), but by attempting to integrate support for this into operating systems, makes it available to hostile actors for any purpose worldwide. Further, it requires developers to guess whether other available information on a user might mean they're really in a different age bracket, exposing them to fines of $2500 to $7500 per minor "affected" (note: "affected" is not defined in the bill). The exemptions give blanket protection to developers working on for-internal-use software, but give no exemptions to recreational programmers. non-profit personal software, university projects, and so on, casting a chilling effect across software engineering generally.<p>Lastly, the bill is ineffective. Most of the web runs on Linux, a coöperative international effort, nominally controlled by one man in Finland. There is no chance of this bill's mechanism being implemented in this context. Nor will other developers be especially interested in rewriting software for this Colorado-specific bill. Further, the kids supposedly being protected from all the Colorado native porn sites would just web-browse to nearly any porn site and be outside of Colorado anyway, if not outside the US entirely.<p>These sponsors aren't alone. Most elected lawmakers are equally bad at technology and protecting democracy from the threats that come from chipping away at privacy protection. Bills like this appear in other states all the time, despite being toothless, easily circumvented by kids (who trivially circumvent even face photo hurdles), or radically compromising the privacy of adults (like this one).<p>There's also the long game, where these sometimes Democrat-led bills in various states could eventually see a much deeper-reaching federal one, where, instead of a "age signal", the user's computer must send an "ID signal", allowing all personal interactions with the Internet to be tracked, analyzed for political and other biases, and used by backbone firewalls to control exactly what people are allowed to read. Very handy for a dictator who might want to block off "fake news".<p>This is only a hypothesis, but one has to wonder whether sponsors to such bills even care if the bills work or pass, since either way they still get to claim they Protected the Children! even though the bills themselves violate privacy for everyone, often cause websites about breast cancer to be censored, or pave the way for authoritarian control - something this one stands out for. The only thing really surprising is that this bill wasn't sponsored by MAGA Republicans deliberately to add another paving stone to the road to national censorship.<p>I urge everyone to get in touch with other Colorado representatives to call for a fight against this travesty of a bill. Further, I would excoriate the two sponsors by email and phone, and tell them now that you will not reward this sort of juvenile lawmaking with your vote. Lastly, tell other people about how Matt and Amy plan to strip away their privacy in a way that puts children more at risk than doing nothing.</p>
]]></description><pubDate>Sat, 28 Feb 2026 07:05:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47191477</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=47191477</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47191477</guid></item><item><title><![CDATA[New comment by erlkonig in "The lost art of XML"]]></title><description><![CDATA[
<p>While XML was imperfect from overcomplication, JSON is imperfect by falling short of even basic database use, and somehow despite its alleged simplicity it manages to be unstandardized almost as badly as Markdown.  JSON and YAML both fail to have comments that survive processing, something it's easy to regret since XML does have comments that appeared in the parsed objects.<p>A saner subset of XML, possibly run through some over-caffeinated developers to lighten its redundant syntactic feeling, would have given us something FAR better than JSON's failure and YAML's gratuitously hypercomplicated syntax.<p>Developers Are Stupid
   - developer.</p>
]]></description><pubDate>Sun, 25 Jan 2026 03:12:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46750330</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=46750330</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46750330</guid></item><item><title><![CDATA[New comment by erlkonig in "Modetc: Move your dotfiles from kernel space"]]></title><description><![CDATA[
<p>XDG doesn't handle complex environments, especially not heterogeneous computing environments. Something long the core strength of Unix is acknowledged by XDG and then left utterly unaddressed.  Without this, the "standard" is as much an impediment as an aid.<p>It's amusing that modetc goes through all this effort to twist dotfiles into the XDG half-solution, and here I am using symlinks through /dev/shm/xdg/* to warp XDG into sort-of working in an actual heterogeneous environment.<p>Because XDG by itself is a failure beyond trivial cases.</p>
]]></description><pubDate>Sun, 25 Jan 2026 02:54:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=46750237</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=46750237</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46750237</guid></item><item><title><![CDATA[New comment by erlkonig in "Show HN: mdto.page – Turn Markdown into a shareable webpage instantly"]]></title><description><![CDATA[
<p>A while ago, I just wrote a filter to be able to paste markdown into a <name>.smd file, and an Apache filter to autoprocess them much like any other filter (and a <named>.smd.meta for title info and some other metadata).<p>This makes it super easy to write something cool on Reddit or whatever, then just paste the markdown into an index.smd file in a new directory (named meaningfully) and <i>poof</i> it's in a webpage.<p>The core of all of it is a /var/www/cgi-bin/markdown-to-html program centered on:<p><pre><code>    python3 -m markdown -x codehilite -x fenced_code -x toc
</code></pre>
It's enabled in my ~/www/.htaccess of all places:<p><pre><code>  # This works, with setup in /etc/apache2/conf-enabled/mod-ext_filter-adds.conf
  AddType text/markdown .md
  AddType text/markdown .smd 
  AddOutputFilter markdown-to-html            md
  AddOutputFilter markdown-to-shtml;INCLUDES smd

</code></pre>
Much easier to just edit markdown (index.smd usually) and reload than reconvert, and that filter above lets you include arbitrary HTML too, critical to deal with markdown numerous weaknesses.</p>
]]></description><pubDate>Sat, 17 Jan 2026 04:42:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46655298</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=46655298</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46655298</guid></item><item><title><![CDATA[New comment by erlkonig in "How Markdown took over the world"]]></title><description><![CDATA[
<p>I just hate that (1) you can't nest anything into a table (2) it's different everywhere.<p>Restructured Text is much more capable, and yet here we are, still using Markdown.<p>My markdown pages often also have HTML in them, I mainly use Markdown so if I decide some overlong thing I wrote on Reddit actually doesn't suck, I can copy-paste it into a webpage, and my web-server's .smd handler does the convertion.  Lowest common denominator.  :(</p>
]]></description><pubDate>Fri, 09 Jan 2026 22:38:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46560437</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=46560437</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46560437</guid></item><item><title><![CDATA[New comment by erlkonig in "Go away Python"]]></title><description><![CDATA[
<p>Fine advice overall.<p>Except:<p>Don't put suffixes on command names.  Don't.  It's a DOS thing that has no meaning in Unix. It confuses users.  It breaks hiding implementation details.  It encourages users to do the wrong thing.  It makes changing what language a script's in have a ripple effect of breakage across everything else that uses it.<p>Don't do it.</p>
]]></description><pubDate>Wed, 31 Dec 2025 02:17:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=46440598</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=46440598</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46440598</guid></item><item><title><![CDATA[New comment by erlkonig in "Exploring the Fragmentation of Wayland, an xdotool adventure"]]></title><description><![CDATA[
<p>The general movement of UI paradigm has been from one tech to the next with a focus on backwards compat.  Almost amusingly so at times, but this is how all the earlier users and use cases can most easily progress.  E.g.<p>* hollerith cards and sundry + printer
* printing teletype
* dumb (video) terminal
* smart (cursor addressable) terminal
* images of smart terminals
* images of smart terminals with color (businesses resisted color for years)
* ... ?<p>And in the meantime we have an evolution of support for modelling things visually and working with more descriptive protocols - or even function-defining protocols to raise the abstraction chatting with the display server in realtime.  In this, "abstracted" means something that can be sent over the network instead of using a local buffer.  These are in a less strict order than foregoing...<p>* text, color plotters, VDST, and all that other old slow stuff
* [skipping a bit up through bitmapped greyscale graphics]
* bitmapped color graphics
* abstracted 2D graphics (-> W and X)
* abstracted 3D graphics (OpenGL + GLX)
* dynamically client-extendable remote graphics servers (NeWS, mostly 2D)
* ... ?<p>So here I am, waiting for the next stage in these. Hypothesizing that finally we'll get something with 3D abstracted, network graphics (display lists in GLX but accelerated with something like XCB?), where the primary display coördinate space is (x, y, x) instead of (x, y), where the client can push some code to the remote server and raise the abstraction on the fly, <i>finally</i>.  Where maybe we'd be able to permission the objects in that space and share it among users live.  Where the 2D apps would be inside the 3D space instead of the other way around.  Something for the 2000s instead of familiar abilities provided in 1990.<p>But instead, Wayland.  Wayland, which is not backwards compatible with X.  Wayland, which is 2D at its heart.  Wayland, another 1990 era graphics system with a super thin offering of features for actual end users (not devs) which come at substantial cost in lost X features.  Wayland, which resists the one user doing things we've long thought of as normal - in the name of "security".<p>Wayland is not what I've been waiting for.</p>
]]></description><pubDate>Fri, 21 Nov 2025 03:26:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46000908</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=46000908</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46000908</guid></item><item><title><![CDATA[New comment by erlkonig in "The least amount of CSS for a decent looking site (2023)"]]></title><description><![CDATA[
<p>I can't really enjoy an article on CSS where the third thing he does is to override the USER'S PREFERRED FONT SIZE.<p>Arrogant.<p>But not as bad as those jerks that use smaller and smaller, progressively lower contrast text as the actual content gets more important.   Huge readable repetitive headings, microfiche gray-on-gray for the stuff that mattered.</p>
]]></description><pubDate>Tue, 07 Oct 2025 11:08:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=45501675</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=45501675</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45501675</guid></item><item><title><![CDATA[New comment by erlkonig in "Converting existing users to systemd-homed managed users"]]></title><description><![CDATA[
<p><tirade style="justified"><p>F*k systemd, and systemd-homed along with it.<p>Their docs don't even mention homes mounted over NFS, or LDAP managed users.  This is the same sort of pathetically marginal garbage that damns Snaps, which somehow think that large environments put all user directories in /home - even that that is NOT a standard and doesn't scale worth a damn.<p>Systemd is a curse, the TRON MCP that doesn't even seem have a system for alternate solutions to compete.  Before systemd we saw a more lively environment of alternatives for each service area, but systemd strangles this with a collection of mediocrities, and lack of foresight.<p>Looking through the doc at <a href="https://systemd.io/HOME_DIRECTORY/" rel="nofollow">https://systemd.io/HOME_DIRECTORY/</a> shows a entire webpage built of ideas many would rightfully reject, some defy standards, some defy common sense, and best practices, fail to scale, add arbitrary constraints, or have other problems.<p>I've been a sysadmin at large sites before. systemd-homed looks a lot like unusable trash.<p></tirade></p>
]]></description><pubDate>Thu, 07 Aug 2025 02:58:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=44820110</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=44820110</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44820110</guid></item><item><title><![CDATA[New comment by erlkonig in "Ancient X11 scaling technology"]]></title><description><![CDATA[
<p>This whole issue just seems so pathetic.  PostScript and DPS, notably NeWS, have device-independent scaling from the outset - you can completely omit even mentioning pixels, even though they're 2D.   Wayland braying on about scalability here just highlights how they don't even understand the game.<p>Going to OpenGL is a nice tactic, since OpenGL doesn't give a flip about screen coördinates anyway.<p>I miss NeWS - it actually brought a number of great capabilities to a window system - none of which, AFAIK, are offered by Wayland.</p>
]]></description><pubDate>Wed, 25 Jun 2025 01:29:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=44372876</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=44372876</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44372876</guid></item><item><title><![CDATA[New comment by erlkonig in "Understanding Memory Management, Part 1: C"]]></title><description><![CDATA[
<p>Using abort() every time malloc and kin fail isn't really satisfying anything except the idea that the program should crash before showing incorrect results.<p>While the document itself is pretty good otherwise, this philosophical failing is a problem.  It should give examples of COPING with memory exhaustion, instead of just imploding every time.  It should also mention using "ulimit -Sd 6000" or something to lower the limit to force the problems to happen (that one happens to work well with vi).<p>Memory management is mature when programs that should stay running - notably user programs, system daemons, things where simply restarting will lose precious user data or other important internal data - HANDLE exhaustion, clean up any partially allocated objects, then either inform the user or keep writing data out to files (or something) and freeing memory  until allocation starts working again. E.g. Vi informs the user without crashing, like it should.<p>This general philosophy is one that I've seen degrade enormously over recent years, and a trend we should actively fight against.  And this trend has been greatly exacerbated by memory overcommit.</p>
]]></description><pubDate>Fri, 17 Jan 2025 09:50:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=42735827</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=42735827</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42735827</guid></item><item><title><![CDATA[New comment by erlkonig in "Tips on how to structure your home directory (2023)"]]></title><description><![CDATA[
<p>Most of both this article and the discussion is covering the simple case of home on a local hard drive, rather than the more interesting real-world situations with network-mounted home directories and multiple different HW/OS architectures you'd want to be able to have handled transparently.  Which is fine.<p>For more... interesting network scenarios, it can be helpful to construct some variable, say, $HOSTABI, that includes tokens for both hardware and OS.<p>$ echo $HOSTABI
x86_64-ubu-2204<p>Which can then be used inside architecture-influenced variables like ARCH, LIBRARY_PATH / LD_LIBRARY_PATH, PATH, as well as inside the user's own installation system (makefiles, etc) used for anything the user compiled.  Great for just installing some new hw/sw combo, mount home, cd into "~/src" or equivalent and run "make install", and just get all your own code recompiled and  installed for your new architecture.<p>This is a microcosm of what sysadmins on heterogeneous networks do, mostly for different hardware architectures, although this was a much more common situation in earlier years than more recently where Linux has taken over even more of the corporate/research world.  I've found it pretty useful even at home, where I'm using my one home directory across my systems' different installations of Linux with different library requirements (although I should probably sell that SGI Onyx/RE - IRIX not Linux - that Wing Commander III was rendered on).<p>My home directory is usually populated almost exclusively with dotfiles and some threescore subdirs with 3ish-letter names like doc/ etc/ fun/ (I'm a gamer) git/ iso/ job/<site>/<recursehere> lib/ man/ pub/ (packages of my own programs) sbin/ src/ steam/ (yep) tmp/ var/ (notes, logs, etc) vr/ ... and so on.<p>It seems to work out alright.  Contains about half a million subdirs and 4.2 million files. ;-)</p>
]]></description><pubDate>Fri, 19 Apr 2024 23:23:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=40092980</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=40092980</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40092980</guid></item><item><title><![CDATA[New comment by erlkonig in "Ask HN: Will Google delete inactive gmail accounts that forward email?"]]></title><description><![CDATA[
<p>Putting any personally important email account in the hands of some huge corporate provider is pretty much always a recipe for eventual problems.<p>Although big companies also have some leeway to steal domains (and the associated email addresses) from small companies and hobbyists, so just trying to keep your email to yourself doesn't solve everything.<p>Of course, that nearly every domain anyone wants is taken already is also a bane on us caused by a big company - Network Solutions, the privatized descendant of the Internic, as they realized their old rule of one entity / on domain didn't <i>have</i> to be followed, and blithely made their first evil sale of 80-odd domains to some household name drug company that wanted a domain for each common ailment or something.  The idea of saving readable domains for future generations went right out the windows once someone waved money under their nose (and they didn't use that money to improve their UX for over a decade), and now virtually all registers are shills for shoving domains you don't need down your throats.  Ugh.  At least the old Internic had ethics.<p>Just like Google had the do-no-evil motto - somehow I doubt that's still a thing.  Good luck getting a lost email account of them - they didn't give my Google phone number back even though the system still <i>knows</i> it's mine.<p>A bit off topic at this point, sorry.</p>
]]></description><pubDate>Sat, 09 Sep 2023 14:54:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=37446106</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=37446106</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37446106</guid></item><item><title><![CDATA[New comment by erlkonig in "Let's make PostgreSQL multi-threaded"]]></title><description><![CDATA[
<p>However, that Apache situation, multithreading *like* things together (request handling), is a more reasonable act than say, turning all of PostgreSQL into a monolithic process.  PostgreSQL is a much more heterogeneous system than Apache, with potentially more interesting ways to lock up than Apache with its rather simple overall mission.<p>Sure it sounds interesting to try a branch of pg with, for example, just the sessions being multithreaded - but then how DOES one forcibly stomp on some session that has grabbed some critical lock without crashing other users' sessions?   Killing off a session's thread inside of a MT'ed session handler without putting any other threads at risk would be the first problem (and an admin is likely to use "ps -Lef" to find the thread ID and then "kill").  Many MT programs I see lose their little minds if a thread is killed from outside.<p>Going <i>too</i> crazy with threads can also cause performance issues, since there is overhead - just less than for processes - around thread creation/switching/etc, and is why thread pools are common.  There's a short article about this at:<p><pre><code>    https://stackoverflow.com/questions/5961536/what-is-best-a-single-threaded-or-a-multi-threaded-server/5964238#5964238
</code></pre>
There's some theory about how multithreading to handle a bunch of fds versus using poll / nonblocking I/O in a singlethreaded solution being equivalent at some level in computing science, but skill sets tend to matter more in practice.<p>This is a pretty good page on the options in general, though dated (anyone already know of a newer equivalent to it?):<p><pre><code>    http://www.kegel.com/c10k.html
</code></pre>
I feel sure work has been put into making kernel support for both MT *and* the poll and nonblocking I/O models more efficient since then. :-)</p>
]]></description><pubDate>Mon, 12 Jun 2023 05:58:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=36288970</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=36288970</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36288970</guid></item><item><title><![CDATA[New comment by erlkonig in "Let's make PostgreSQL multi-threaded"]]></title><description><![CDATA[
<p>You can usually find developers interested in any fashionable approach to a problem. Change is fine.  What improvement, specifically, though?  Adding multithreading is not a functional improvement in and of itself, but more the opposite.  MT should be used when a specific, important functional gain can be realized through no other approach.<p>I'm not trying to win an argument or anything here, I'm just highlighting from my and others' experiences that multithreading is a tradeoff not to be made casually.  It makes <i>some</i> things faster, especially if not I/O bound, but it also increases dev and debug cost, and reduces the number of developers who can assist.  That downside tends to permanent.</p>
]]></description><pubDate>Sun, 11 Jun 2023 19:50:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=36284929</link><dc:creator>erlkonig</dc:creator><comments>https://news.ycombinator.com/item?id=36284929</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36284929</guid></item></channel></rss>