<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: chucke</title><link>https://news.ycombinator.com/user?id=chucke</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 16 May 2026 03:08:22 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=chucke" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by chucke in "Portugal: The First Global Empire (2015)"]]></title><description><![CDATA[
<p>lol, the trans-pacific route was pointless. Portugal monopolized the Indian ocean and spice trade for more than 100 years. It established the atlantic triangle trade of Africa (supplying slaves) to Brasil (supplying sugar) to Europe. All of them comercially viable for centuries. Meanwhile, Spain could barely cross the Pacific ocean and make it the viable trade route to the spice islands that it longed for to be.<p>Many forget that the circumnavigation of Magellan was both a mistake and a failure. The discovered pass to the Pacific, the southernmost point in the planet not counting Antarctica, was considered unnavigable most of the year (the magellan fleet had to wait 6 months at Puerto San Julian before daring to continue the search, surviving its first mutiny attempt), before treading the slow currents of the Pacific, which took down the majority of the fleet to scurvy (while most likely contributing to the madness of Magellan, which made him the delirious zealot which jumped foolishly to his death at the hands of Lapu Lapu). In fact, part of the fleet tried to make it back through the Pacific, only to give up again, come back to the spice islands and be captured by the portuguese, while the remainder barely made it back, commanded by Elcano, one of the mutineers of Puerto San Julian; a route that btw, they feared taking, as it was in direct violation of the Tordesillas treaty and would certainly condemn them to death would they be discovered. 1 ship out of 5 made it back. 18 out of 270 men. By the time they arrived, the new world colonization was still mostly considered a failure, Columbus still an outcast, not even worthy of naming the continent he discovered (this was roughly 18 years before the Aztecs, Incas, and all the gold and silver that got plundered).<p>Meanwhile, the portuguese routes remained largely uncontested, that is, until a certain young portuguese king died in a battle in the north of Africa leaving no children, thereby opening the door for the two crowns being ruled by the same king, and with it, making Portugal a target for the many enemies Spain had been collecting along the way. And that was the beginning of the end for the portuguese century.<p>The Manila galeon is certainly an historic milestone, but it connected America with Asia. Payload needed to be carried by land all the way to the Gulf of Mexico before departing to Europe. Barely global, if that's what's implied. It started quite late in the history of the spanish in Americas, some 100 years after the conquest of Mexico, because until then, extracting and transporting all the gold and silver to Europe was considered more profitable, until there was so much silver in circulation in Europe that it devalued it, thereby making Asia a more enticing market for its silver, as it was still considered valuable by then. The route also lasted a bit more than 50 years. Consider that the portuguese route to India was still being navigated way into the end of the 1800s, and only being truly disrupted by the opening of the Suez canal.<p>I'm not here to downplay the several achievements, or exacerbate the atrocities of the spanish empire. Every empire had them, no less the portuguese (while they did not come up with the idea of slavery, the atlantic triangle is responsible for the biggest intercontinental forced transfer of human beings in history, and the massive economic dependence it created in African kingdoms caused its brutal collapse after the abolition). But not calling it the first global empire of the discovery age, specially taking into consideration that they literally started a century before anyone else, is factually incorrect.</p>
]]></description><pubDate>Thu, 19 Feb 2026 23:46:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=47081511</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=47081511</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47081511</guid></item><item><title><![CDATA[New comment by chucke in "Ruby 4.0.0"]]></title><description><![CDATA[
<p>Both are true. Different camps meant that any significant change to the language was scrutinised loudly. If my memory doesn't fail me, the last significant changes from the time Guido was still in charge, and he mostly abandoned the BDFL because of backlash. Since then python has been on a constant "analysis paralysis" state, with only efforts about performance pushing through (no one complains about a faster horse).</p>
]]></description><pubDate>Thu, 25 Dec 2025 19:22:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=46386476</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=46386476</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46386476</guid></item><item><title><![CDATA[New comment by chucke in "Ruby 4.0.0"]]></title><description><![CDATA[
<p>Maybe I wasn't clear, but until now there were 2 types of type notations being debated, RBS and sorbet/RBI. Sorbet adopting RBS means that's the lowest common denominator.  Typing is definitely not a standard,  not yet. rbs-inline is definitely not a pet project, it's the RBS creator response to the main complaint about RbS , its the reason sorbet finally adopted it, and will be part of mainline rbs gem.</p>
]]></description><pubDate>Thu, 25 Dec 2025 17:30:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46385786</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=46385786</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46385786</guid></item><item><title><![CDATA[New comment by chucke in "Ruby 4.0.0"]]></title><description><![CDATA[
<p>Happy bday ruby!<p>For the usual doomsdaysayers saying "ruby can't X so I left it for Y", when X is typing, RBS is becoming the accepted standard (now that sorbet supports it),and RBS inline notation next to signature/code too (for peeps complaining about separate files); when X is LSP, ruby-lsp is the standard and already supports "go to definition" (its major hole for a long time), and its plugin architecture allows other other features to reuse the same code AST/index (So that each linter/formatter/type checker doesn't have to parse their own); when X is parallelism, ractors are have actually become performant in a lot of common cases, and it's only missing some GC improvements to be truly non-experimental.<p>There are new shiny things like ZJIT or Box, but even the core team recommends against using them in production for now. But they'll get better, as its been happening with the things listed above.<p>No wildly new syntax changes is also a good thing. Should help alternative implementations catch up.</p>
]]></description><pubDate>Thu, 25 Dec 2025 13:27:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=46384271</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=46384271</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46384271</guid></item><item><title><![CDATA[New comment by chucke in "Friendly attributes pattern in Ruby"]]></title><description><![CDATA[
<p>Static typing has come, there's RBS, which has (finally) coalesced (after adding support for inlining in code) as the blessed type notation, supported by both steep and sorbet. Considering that big companies have adopted it, I'd say that the community agrees and has done something about it. But as you can imagine, many ruby apps have been stuck in legacy for years.<p>About performance, not sure how you think static typing could solve it, but considering the significant investment recently in JITs, in particular YJIT and ZJIT, again, the big apps seem to agree with you and have done something about it?<p>Even if you ditch CRuby for the JVM, you can still use JRuby, and still leverage the language while not being pulled down by the runtime.<p>It's not like you're without options.</p>
]]></description><pubDate>Sun, 09 Nov 2025 22:23:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=45869789</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=45869789</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45869789</guid></item><item><title><![CDATA[New comment by chucke in "Lisbon Airport is turning away private jets inbound for the Web Summit"]]></title><description><![CDATA[
<p>Lmk when the app launches, will beta test if for free.</p>
]]></description><pubDate>Sun, 09 Nov 2025 19:04:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=45868155</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=45868155</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45868155</guid></item><item><title><![CDATA[New comment by chucke in "Rv, a new kind of Ruby management tool"]]></title><description><![CDATA[
<p>What is the real problem being solved here? For all the issues that bundler still has, rv doesn't seem to address most of them. Bundler has been fast enough for a while now, how fast does this need to be? And do we now have to know rust to contribute?<p>If indirect is salty that the rubygems/bundler didn't turn out yet to be what he wanted, I wonder whether a simpler and faster alternative to bundler written in RUBY wouldn't be the answer, with incremental merges into bundler. Gel was mostly there, even if most never knew about it, but at least it got the bundler ppl to merge the pub grub resolver.</p>
]]></description><pubDate>Wed, 27 Aug 2025 09:36:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=45037308</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=45037308</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45037308</guid></item><item><title><![CDATA[New comment by chucke in "Ruby 3.4.0"]]></title><description><![CDATA[
<p>The listen gem works on windows: <a href="https://github.com/guard/listen?tab=readme-ov-file#listen-adapters">https://github.com/guard/listen?tab=readme-ov-file#listen-ad...</a> . Not sure whether guard builds on top of it.</p>
]]></description><pubDate>Thu, 26 Dec 2024 20:46:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=42517676</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=42517676</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42517676</guid></item><item><title><![CDATA[New comment by chucke in "Optimizing Ruby's JSON, Part 1"]]></title><description><![CDATA[
<p>Bear in mind that: the author is part of the ruby core team; json is a standard lib gem; the repo from the json gem was in the original author namespace; the repo had no activity for more than a year, despite several quality MRs.<p>It took some time to track and get the original author to migrate it to the ruby team namespace.<p>While I'm glad they to all this trouble, there's only a few who could pull this off. Everyone else would flock to or build a narrative.</p>
]]></description><pubDate>Thu, 19 Dec 2024 03:06:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=42458012</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=42458012</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42458012</guid></item><item><title><![CDATA[New comment by chucke in "Dear OAuth Providers"]]></title><description><![CDATA[
<p>I wonder whether the reason for this is a lack of available certified oauth libraries on top of which to build a provider at the time it was built, which led most of these examples to roll their own, with the obvious flaws. There isn't yet such a certification for oauth, although the oidc federation certifies and lists a bunch of them: <a href="https://openid.net/developers/certified-openid-connect-implementations/" rel="nofollow">https://openid.net/developers/certified-openid-connect-imple...</a> (I maintain one of them). Which is the next best thing.</p>
]]></description><pubDate>Fri, 13 Dec 2024 08:40:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=42406940</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=42406940</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42406940</guid></item><item><title><![CDATA[New comment by chucke in "Running Durable Workflows in Postgres Using DBOS"]]></title><description><![CDATA[
<p>OK, I see I skipped that. Nevertheless, I would expect users to read "exactly once" and put an http call in the step. It's the type of knife people their hands with.</p>
]]></description><pubDate>Wed, 11 Dec 2024 16:56:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=42389834</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=42389834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42389834</guid></item><item><title><![CDATA[New comment by chucke in "Running Durable Workflows in Postgres Using DBOS"]]></title><description><![CDATA[
<p>> DBOS has a special @DBOS.Transaction decorator. This runs the entire step inside a Postgres transaction. This guarantees exactly-once execution for databases transactional steps.<p>I stopped here. I know, authors really want to chase the exactly-once dragon, but this won't scale. If the step takes a long time, it'll keep the transaction open with it for that time. The master replica has to bookkeeping that. That state has to be replicated. That will also affect MVVC further on. As your scale grows, you'll see disk usage growing and eventually swapping, replica lags, AND vacuum halting for surges. I hope your uncalled engineers have a steady supply of coffee.</p>
]]></description><pubDate>Wed, 11 Dec 2024 08:38:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=42385949</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=42385949</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42385949</guid></item><item><title><![CDATA[New comment by chucke in "Speeding up Ruby by rewriting C in Ruby"]]></title><description><![CDATA[
<p>That's not true. Sure, many hot path functions dealing with tensor calculations are done in numpy functions, but etl and args/results are python objects and functions. And most web development libs are pure python (flask, django, etc)</p>
]]></description><pubDate>Wed, 04 Dec 2024 19:36:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=42321168</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=42321168</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42321168</guid></item><item><title><![CDATA[New comment by chucke in "Optimize Database Performance in Ruby on Rails and ActiveRecord"]]></title><description><![CDATA[
<p>As someone who evangeline Arel where I used to work 10y ago, I can assure you that arel has *never* been considered stable (it also never followed semver), nor has it ever been considered recommended or publicly documented API to use with rails, neither in the time prior to the gem having been moved to the github rails org, nor after. And every rails core team member that has publicly mentioned arel since, afair has always prefaced it with the "private API" warning.<p>> Sometimes you just need SQL not everything that AR gives you.<p>I used to agree, until I took a step back and realised how much ruby code ceremony I had to write in order to write, p.ex. A multi insert statement With an expression. It was several character more, and didn't seamlessly trabslate to SQL. I eventually replaced the AREL craft with core sequel, where I'd use it to build the queries and pass the statements to the AR sql execution method. I could have gone with raw sequel too.<p>> Hanami is a complete Rails replacement. I wouldn’t advocate for that at all.<p>The top level comment mentioned abstractions that something like hanami already supports. Instead of bending rails, to something it was not built to support, you either pick an alternative tool that does, or you accept what rails does and move on.</p>
]]></description><pubDate>Sun, 10 Nov 2024 17:27:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=42101341</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=42101341</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42101341</guid></item><item><title><![CDATA[New comment by chucke in "Optimize Database Performance in Ruby on Rails and ActiveRecord"]]></title><description><![CDATA[
<p>The rails core team would tell you NOT to use arel, as it's private API.<p>The conceptual compression of having activerecord be a database table mapper, entity class, form/input validation, and query builder, it's both its greatest strength and its greatest weakness, depending of the stage of the business. FWIW the ruby community has more suitable alternatives which self serve the kind of abstractions you describe, such as hanami.</p>
]]></description><pubDate>Sat, 09 Nov 2024 19:58:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=42096512</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=42096512</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42096512</guid></item><item><title><![CDATA[New comment by chucke in "What Is a Staff Engineer?"]]></title><description><![CDATA[
<p>Now do principal and distinguished.</p>
]]></description><pubDate>Sat, 09 Nov 2024 17:59:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=42095781</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=42095781</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42095781</guid></item><item><title><![CDATA[New comment by chucke in "Rewrite It in Rails"]]></title><description><![CDATA[
<p>In ruby, the sequel database toolkit is vastly superior to activerecord, and that is a subject of discussion here and there. The difference is that rails is what most rubyists use at work, unlike in python, where choices are more diverse.</p>
]]></description><pubDate>Sun, 03 Nov 2024 08:04:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=42031773</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=42031773</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42031773</guid></item><item><title><![CDATA[New comment by chucke in "Rewrite It in Rails"]]></title><description><![CDATA[
<p>FYI rbs-inline is maintained by the rbs creator, and will eventually be merged into mainline, once the inline syntax alternatives are set in stone. All to address the main complaint you mentioned above.</p>
]]></description><pubDate>Sat, 02 Nov 2024 10:47:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=42025491</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=42025491</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42025491</guid></item><item><title><![CDATA[New comment by chucke in "Rewrite It in Rails"]]></title><description><![CDATA[
<p>No, they only have time for features and productivity,  which is, as you pointed out earlier, what rails is good  at.</p>
]]></description><pubDate>Sat, 02 Nov 2024 10:12:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=42025324</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=42025324</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42025324</guid></item><item><title><![CDATA[New comment by chucke in "Christopher Columbus may have been Spanish and Jewish, documentary says"]]></title><description><![CDATA[
<p>Calling Cortes genocidal is also quite farfetched, considering that he conquered the Aztec territory, despite being vastly outnumbered, because every native tribe and settlement they found on the way banded together to overthrow the Aztec.<p>I wouldn't call the Aztecs genocidal either, despite the ritual sacrifices, brutal treatment of other peoples, and everybody in mesoamerica who came to know them hating them so much that they preferred the uncertain fate of joining the white bearded men from the east.</p>
]]></description><pubDate>Mon, 14 Oct 2024 06:16:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=41834711</link><dc:creator>chucke</dc:creator><comments>https://news.ycombinator.com/item?id=41834711</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41834711</guid></item></channel></rss>