<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: ratww</title><link>https://news.ycombinator.com/user?id=ratww</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 26 Apr 2026 11:50:09 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ratww" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ratww in "How boring should your team's codebases be"]]></title><description><![CDATA[
<p>A few years ago I start a dashboard project that was mostly raw SQL.<p>I then saw the team wanting to convert it to ActiveRecord, which they started. But lots of queries had to use AREL (Rails' "low level SQL AST abstraction"), since they weren't really possible or just too difficult to do in ActiveRecord.<p>But AREL is so incredibly unreadable that every single AREL query often had its equivalent in plain SQL above it, as documentation, so new people could understand what the hell it was doing.<p>In the end some junior was unhappy with the inconsistent documentation and petitioned that every query, simple or complex, AREL or ActiveRecord, had to be documented using SQL above the AREL/AR code.<p>Then they discovered that documenting using Heredocs rather than "language comments" enabled SQL syntax highlighting in their editors.<p>After that we had both: heredocs with the cute SQL and some unreadable AREL+AR monstrosity right below it.<p>I still laugh about this situation when I remember it.</p>
]]></description><pubDate>Sat, 15 Oct 2022 13:15:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=33214493</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33214493</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33214493</guid></item><item><title><![CDATA[New comment by ratww in "How boring should your team's codebases be"]]></title><description><![CDATA[
<p>You either start with or without an ORM, depending on your assessment of whether the project is gonna need one.<p>If you start without one, you still have to partition your code well enough so that retrofitting one doesn't cause a huge mess. Basically keep your "raw SQL queries" in a centralised place (file or folder), rather than strewn together in controllers/views/services. And you should do <i>exactly the same</i> if you use an ORM. Isolate the fuck out of it and make it "easily removable" or "easily replaceable".<p>Also keep the "effects" of your ORM or your non-ORM away from those other parts too: your controllers, views and services should be totally agnostic to whatever you're using in the data layer. When you add subtle coupling you lose the possibility of changing it, but it also makes your project less maintainable.<p>This is easier said than done: in dynamic languages or with structural typing like Typescript it's very easy: it's all objects, anyway, so ORM or no ORM it's the same. In stricter languages like Java it might lead to lots of intermediate data structures which are verbose and causes problems in itself. Or the middle ground: use primitives (lists and maps) rather than classes and objects, although ORMs like Hibernate will make things difficult for you, since they're not too flexible about how they're used and their types tend to "creep" all over your project.<p>-<p>Most unmaintainable projects don't become unmaintainable because people "forgot to prepare". They become unmaintainable because people assumed everything is permanent, so there's no penalty to using everything-everywhere. So there are "traces" of the ORM in the controllers and views, the serialisation library and serialisation code is called in models in services as a "quick hack", the authorisation library is called from everywhere because why not. You quickly lose the ability to easily reason about code.<p>The same applies other areas. I could make a treatise of how game developers <i>love</i> sticking keyboard-reading code absolutely everywhere in the codebase.</p>
]]></description><pubDate>Sat, 15 Oct 2022 13:02:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=33214399</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33214399</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33214399</guid></item><item><title><![CDATA[New comment by ratww in "How boring should your team's codebases be"]]></title><description><![CDATA[
<p>And I answered to that already on my second paragraph.<p>Taking the nuclear option after merely <i>"seeing [something] as"</i> risky without exhausting the much-cheaper remaining options is not <i>"somewhat understandable, if not plain reasonable"</i>. And it's not "ways and quirks": it's incompetence at best or corruption at worst.<p>This kind of situation might be common, but it is not understandable nor reasonable.</p>
]]></description><pubDate>Sat, 15 Oct 2022 12:42:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=33214276</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33214276</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33214276</guid></item><item><title><![CDATA[New comment by ratww in "How boring should your team's codebases be"]]></title><description><![CDATA[
<p><i>> Your good developers are often the ones who like to tinker with frameworks, patterns and complexity. Note: good developers don't force this down people's throats, but they're always thinking about what they can apply in the future. That's not to say they can't be perfectly fine working on boring code. But they often get bored with it. They can be 5x as productive as your average developer when working on the boring code, but you're just ticking down a clock in a lot of cases.</i><p>In my experience that depends.<p>But the tinkering kind is often satisfied when they are able to tinker on their own code. Even (or especially!) if they're allowed to do it during working hours. But allowing engineers to literally hone their craft on the clock is something that is becoming rarer and rarer, unfortunately.<p>But I agree that a developer that refuses to admit failure of their experiments and wants to force their experiments on others is a problem, of course.<p>On the other hand, there's more to this job than coding, and a lot of people interested in "learning" will leave as soon as they find out there's nothing more about the problem-domain to learn.</p>
]]></description><pubDate>Sat, 15 Oct 2022 12:29:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=33214204</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33214204</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33214204</guid></item><item><title><![CDATA[New comment by ratww in "How boring should your team's codebases be"]]></title><description><![CDATA[
<p>Nowhere in the grandparent's post says that it was a "walled garden", or even that it was closed source. The fact that only one person was needed doesn't mean there's only one person available. OP even said he worked for a company in a reply. The rationalisation automatically assumes that the grandparent is either incompetent or lying by omission, which is very uncharitable.<p>Even if all those problems were true, if it was <i>really</i> analysed as risky, the proper thing to do is to bring in one or two more engineers, perform audits, ask for the full source if it's not available. Ask for documentation. Heck, OP said it's not minified: try to reverse engineer it, if need be. Perhaps it's not even necessary!<p>There's absolutely no need to bring a 9-digit-sum team to replace a working system made by one person, even if this is common practice in our industry. Not before all other rational avenues are pursued <i>if</i> there are problems.<p>What also pisses me off is that what happened on the other side might have been caused by companies like the ones I worked for. For a long time I worked for consultancies, and it was routine for sales to "translate" our feature lists into procurement rules (sorry don't know the term in english) and give that to companies and government so we would be the only ones able to answer.<p>And the worst part is that software engineers go on with this tune because they enjoy so much overengineering everything from scratch.</p>
]]></description><pubDate>Sat, 15 Oct 2022 12:02:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=33214073</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33214073</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33214073</guid></item><item><title><![CDATA[New comment by ratww in "Apple gets $19M fine in Brazil for not selling iPhones with charger"]]></title><description><![CDATA[
<p><i>> Apple disagrees. They don't run promotions of that sort, or promotions, in fact. The price is the price, it's core to the brand.</i><p>That's not entirely true. I got my M1 in a promotion, with a discount. I also got my Watch "bundled" with the bracelet (the packages were literally bundled together), also with a nice discount. That was at a flagship Apple Store.<p>Also "the price" is not "core to the brand" in Brazil. It changes very frequently and is not a direct conversion of the American price.</p>
]]></description><pubDate>Fri, 14 Oct 2022 16:05:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=33205366</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33205366</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33205366</guid></item><item><title><![CDATA[New comment by ratww in "Apple gets $19M fine in Brazil for not selling iPhones with charger"]]></title><description><![CDATA[
<p><i>> Wow, really? That is an interesting choice.</i><p>It is interesting but very pragmatic for this situation: until somewhat recently most computers and chargers only had USB-A ports.</p>
]]></description><pubDate>Fri, 14 Oct 2022 16:02:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=33205322</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33205322</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33205322</guid></item><item><title><![CDATA[New comment by ratww in "Apple gets $19M fine in Brazil for not selling iPhones with charger"]]></title><description><![CDATA[
<p>Funnyly enough Apple's Brazilian PR team completely fumbled their response to the Ministry of Justice:<p><i>> Existem bilhões de adaptadores de energia USB-A já em uso em todo o mundo que nossos clientes podem usar para carregar e conectar seus dispositivos.</i> [1]<p><i>> Translation: There are billions of USB-A power adapters already in use around the world that our customers can use to charge and connect their devices</i><p>Those "billions of USB-A adapters" however won't work with the cable provided in newer iPhones, which is lightning and USB-C.<p>[1] <a href="https://g1.globo.com/tecnologia/noticia/2022/09/06/ministerio-da-justica-determina-suspensao-de-venda-de-iphone-sem-carregador-e-aplica-multa-de-r-12-milhoes-a-apple.ghtml" rel="nofollow">https://g1.globo.com/tecnologia/noticia/2022/09/06/ministeri...</a></p>
]]></description><pubDate>Fri, 14 Oct 2022 15:48:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=33205117</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33205117</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33205117</guid></item><item><title><![CDATA[New comment by ratww in "Show HN: Minimal, no-JS web forum software"]]></title><description><![CDATA[
<p>Firefox mostly, but that also happens with Safari in my other PC.</p>
]]></description><pubDate>Fri, 14 Oct 2022 15:20:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=33204727</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33204727</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33204727</guid></item><item><title><![CDATA[New comment by ratww in "Never pay for online dating (2010)"]]></title><description><![CDATA[
<p>Businesses want to make money, and dating apps can make heaps of money by retaining users and making it pricier for them to find a relationships.<p>Users that want relationships want to find someone ASAP and delete the app.<p>Those two goals are completely incompatible.</p>
]]></description><pubDate>Tue, 11 Oct 2022 16:12:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=33165164</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33165164</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33165164</guid></item><item><title><![CDATA[New comment by ratww in "Never pay for online dating (2010)"]]></title><description><![CDATA[
<p>One of the main criticisms I see is that low-Elo people <i>also</i> get show mainly high-Elo people. So there's much less chance for two low-Elo people matching with each other, the algorithm works against it.<p>Since you have a limited number of "likes" per day, you have to actively "say no" to people that's attractive to you.</p>
]]></description><pubDate>Tue, 11 Oct 2022 15:50:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=33164847</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33164847</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33164847</guid></item><item><title><![CDATA[New comment by ratww in "Never pay for online dating (2010)"]]></title><description><![CDATA[
<p>Well, if the government wants to help people meeting offline, it's gonna cost a helluva lot more than a website... to the point it doesn't sound like a waste anymore. I don't see society going back to offline dating by itself.</p>
]]></description><pubDate>Tue, 11 Oct 2022 15:39:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=33164700</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33164700</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33164700</guid></item><item><title><![CDATA[New comment by ratww in "Never pay for online dating (2010)"]]></title><description><![CDATA[
<p>Isn't that exactly how Tinder also works, or at least used to work? I remember Tinder being heavily criticised for using Elo ranking.</p>
]]></description><pubDate>Tue, 11 Oct 2022 15:24:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=33164465</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33164465</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33164465</guid></item><item><title><![CDATA[New comment by ratww in "Never pay for online dating (2010)"]]></title><description><![CDATA[
<p>Is it?<p>To a complete outsider it feels as if Hinge is just becoming the new Tinder. Anecdotal of course (mostly from women friends), but partly supported by the growth of Hinge lately.<p>People looking for relationships don't want to be matched with people only looking for hookups, and people looking for hookups don't want to part of a club that accepts them. Apps have the incentive to make money so they don't really do anything.</p>
]]></description><pubDate>Tue, 11 Oct 2022 15:21:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=33164415</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33164415</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33164415</guid></item><item><title><![CDATA[New comment by ratww in "Show HN: Minimal, no-JS web forum software"]]></title><description><![CDATA[
<p><i>> it supports css based thread collapsing</i><p>I didn't knew but I love it... I wish more developers took interest in such things.</p>
]]></description><pubDate>Mon, 10 Oct 2022 19:44:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=33155635</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33155635</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33155635</guid></item><item><title><![CDATA[New comment by ratww in "Show HN: Minimal, no-JS web forum software"]]></title><description><![CDATA[
<p>> Old Reddit<p>Important distinction.<p>New Reddit also fell prey to bad development practices and is without exaggeration unusable for me. It often "crashes" and the whole page goes dark-grey on my browser, and this has been happening for at least a year. After reloading I can't see all messages without navigating away, and middle click messes with the scrolling. At this point I will assume they either don't care or are fucking with me.</p>
]]></description><pubDate>Mon, 10 Oct 2022 19:41:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=33155603</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33155603</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33155603</guid></item><item><title><![CDATA[New comment by ratww in "Show HN: Minimal, no-JS web forum software"]]></title><description><![CDATA[
<p>Well, first, it's not reliable. If the network goes down and it doesn't have some form of recovery, you gotta start from scratch. Second, it's not bookmarkable (except for the odd case), so you can't send specific pages to anyone, you often can't start navigating in it one day and continue on other, or in another device. Third, you lose navigation and exploration features, like navigating to the first page and seeing the oldest stuff, or going into the middle.<p>But the biggest reason people hate as a matter principle is because it is in 99% of cases done without any UX research and without any care from developers, and that's in the best case. The worst case is to cause doomscrolling, which is nefarious in its own.<p>It is disrespectful to users. If you don't want people seeing old content just fucking delete it.</p>
]]></description><pubDate>Mon, 10 Oct 2022 19:36:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=33155550</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33155550</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33155550</guid></item><item><title><![CDATA[New comment by ratww in "Your browsing behavior is being modeled as a language"]]></title><description><![CDATA[
<p>And you're absolutely right, despite the downvotes, but here's the coldest of all hot takes: it doesn't matter if it's shit. It just has to be there.<p>Doomscrolling and modern web products were never about quality, but rather about giving the user the hope of potentially seeing something of quality.<p>Which means that my cousin magic_hamster who said "this can just be an algorithm" is also right [1]. In most cases there's no need to leverage AI here. 90% of everything is gonna be crap, and people historically often get addicted to low-quality crap anyway.<p>[1] <a href="https://news.ycombinator.com/item?id=33150830" rel="nofollow">https://news.ycombinator.com/item?id=33150830</a></p>
]]></description><pubDate>Mon, 10 Oct 2022 13:18:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=33150993</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33150993</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33150993</guid></item><item><title><![CDATA[New comment by ratww in "The Hummingbird Clock: date videos by background mains hum"]]></title><description><![CDATA[
<p>I find it personally hard to date stuff that came out or that I watched during the pandemic. To me it felt like I consumed 4 or 5 years of content in the span of each year. My sense of time is completely twisted.</p>
]]></description><pubDate>Sun, 09 Oct 2022 16:00:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=33142452</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33142452</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33142452</guid></item><item><title><![CDATA[New comment by ratww in "The Hummingbird Clock: date videos by background mains hum"]]></title><description><![CDATA[
<p>That would be very interesting to know! Especially considering the two studios he mentioned aren't exactly close to each other:<p><a href="https://goo.gl/maps/MLw3twvRi9GumYeX8" rel="nofollow">https://goo.gl/maps/MLw3twvRi9GumYeX8</a></p>
]]></description><pubDate>Sun, 09 Oct 2022 15:56:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=33142407</link><dc:creator>ratww</dc:creator><comments>https://news.ycombinator.com/item?id=33142407</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33142407</guid></item></channel></rss>