<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: ryanto</title><link>https://news.ycombinator.com/user?id=ryanto</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 25 May 2026 00:43:54 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ryanto" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ryanto in "Lotusbail npm package found to be harvesting WhatsApp messages and contacts"]]></title><description><![CDATA[
<p>Incus uses LXC containers under the hood, which is better for development since the containers are made for running systems/os. Docker is best for running applications, but not that great for active development containers (imo).<p>With LXC any changes you make to the os/filesystem are persisted and there after the container boots up and shutsdown. So I don't have to worry about ephemeral storage or changes being lost. It feels more like a "computer" if that makes sense.</p>
]]></description><pubDate>Tue, 23 Dec 2025 14:34:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=46365606</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=46365606</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46365606</guid></item><item><title><![CDATA[New comment by ryanto in "Lotusbail npm package found to be harvesting WhatsApp messages and contacts"]]></title><description><![CDATA[
<p>I run incus os, which is an operating system that is made for spinning up containers and VMs. Whenever I have to work on a JS project I launch a new container for development and then ssh into it from my laptop. You can also run incus on your computer without installing it as an operating system.<p>Containers still have some risk since they share the host kernel, but they're a pretty good choice for protection against the types of attacks we see in the JS ecosystem. I'll switch to VM's when we start seeing container escape exploits being published as npm packages :)<p>When I first started doing development this way it felt like I was being a bit too paranoid, but honestly it's so fast and easy it's not at all noticeable. I often have to work on projects that use outdated package managers and have hundreds of top-level dependencies, so it's worth the setup in my opinion.</p>
]]></description><pubDate>Tue, 23 Dec 2025 00:10:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46360846</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=46360846</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46360846</guid></item><item><title><![CDATA[New comment by ryanto in "I got hacked: My Hetzner server started mining Monero"]]></title><description><![CDATA[
<p>Sorry to hear you got hacked.<p>I know we aren't supposed to rely on containers as a security boundary, but it sure is great hearing stories like this where the hack doesn't escape the container. The more obstacles the better I guess.</p>
]]></description><pubDate>Wed, 17 Dec 2025 22:42:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46306614</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=46306614</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46306614</guid></item><item><title><![CDATA[New comment by ryanto in "Malicious versions of Nx and some supporting plugins were published"]]></title><description><![CDATA[
<p>You can use pnpm, which forces you to approve the install scripts you want to run.</p>
]]></description><pubDate>Wed, 27 Aug 2025 16:30:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=45041827</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=45041827</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45041827</guid></item><item><title><![CDATA[New comment by ryanto in "Bun 0.3"]]></title><description><![CDATA[
<p>Looks awesome. Gotta say, the built in testing, websockets, and file system router are exciting to see.<p>Is anyone using bun in production? Would love to hear your experience.</p>
]]></description><pubDate>Wed, 07 Dec 2022 17:40:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=33897418</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=33897418</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33897418</guid></item><item><title><![CDATA[New comment by ryanto in "Testing React Apps in 2022 with Cypress: An In-Depth Guide for Beginners"]]></title><description><![CDATA[
<p>I've been a long time Cypress user, but recently have been feeling those pain points you mentioned, the half-async-half-sync APIs are driving me mad :)<p>Im interested in Playwright, but wondering how you find the visual runner compared to Cypress? Are you able to run your tests in the browser and use a `debugger` or dev tools?</p>
]]></description><pubDate>Sat, 01 Oct 2022 21:25:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=33050260</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=33050260</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33050260</guid></item><item><title><![CDATA[New comment by ryanto in "D1: Our SQL database"]]></title><description><![CDATA[
<p>This is so cool!<p>From the blog post it says read-only replicas are created close to users and kept up to date with the latest data.<p>- How should I think about this in terms of CAP? If there's a write and I query a replica what happens?<p>- How are writes handled? Do they go to a single location or are they handled by various locations?<p>I'm excited to try this. It's so cool to see databases being distributed "on CDNs" for lack of a better term.</p>
]]></description><pubDate>Wed, 11 May 2022 14:08:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=31340148</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=31340148</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31340148</guid></item><item><title><![CDATA[New comment by ryanto in "Advice on JSX Conditionals"]]></title><description><![CDATA[
<p>Great article!<p>I will say I've found that using prettier makes nested ternaries much more readable.<p>I couldn't imagine using them without prettier, but since every app I work on these days uses prettier nested ternaries aren't so bad.</p>
]]></description><pubDate>Wed, 09 Mar 2022 17:12:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=30617078</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=30617078</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30617078</guid></item><item><title><![CDATA[New comment by ryanto in "Next.js 10"]]></title><description><![CDATA[
<p>yes, next will prerender everything. you should give it a try.</p>
]]></description><pubDate>Tue, 27 Oct 2020 16:50:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=24909230</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=24909230</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24909230</guid></item><item><title><![CDATA[New comment by ryanto in "In defense of functional CSS"]]></title><description><![CDATA[
<p>I think for css classes like ".profile-card" this approach makes a lot of sense. Tailwind has @apply, which is a great way to turn these utility classes into named css classes.<p>However, after a while your app will end up with classes like .profile-card--inner, .profile-card__wrapper, and .profile-card__inner__wrapper--horizontal. When that happens it's usually easier to use those utility classes directly in the HTML template. You'll end up with something like:<p><pre><code>    <div class="flex items-center mb-4">
    </div>
</code></pre>
It's quick to write and requires no context switching!</p>
]]></description><pubDate>Thu, 27 Sep 2018 15:12:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=18085252</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=18085252</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18085252</guid></item><item><title><![CDATA[New comment by ryanto in "Ask HN: What slackbot would you pay $10/month for?"]]></title><description><![CDATA[
<p>There's a lot of problems that slackbots can solve, but asking people what type of slackbot they would pay $10 a month for is not probably not going to generate a lot of viable business ideas.<p>Find out problems folks are having and from there narrow that list down to those that are easily solvable by slackbots.</p>
]]></description><pubDate>Sat, 19 May 2018 17:39:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=17108849</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=17108849</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17108849</guid></item><item><title><![CDATA[New comment by ryanto in "Fellow Engineers: This is where your money comes from"]]></title><description><![CDATA[
<p>> the amount your company pays you is primarily determined by how much they would have to pay someone else to do the same job.<p>This is true, but the thing you're missing is that there's not many folks out there that can add value for customers. That's why engineers who create value get paid so well, which is the articles point.<p>I've noticed that engineers that get paid the most tend to understand the technical and business trade-offs that come from decisions they make.</p>
]]></description><pubDate>Mon, 22 Jan 2018 00:18:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=16200922</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=16200922</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16200922</guid></item><item><title><![CDATA[Video: Intro to Broccoli.js]]></title><description><![CDATA[
<p>Article URL: <a href="https://embermap.com/topics/intro-to-broccoli">https://embermap.com/topics/intro-to-broccoli</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=14187576">https://news.ycombinator.com/item?id=14187576</a></p>
<p>Points: 6</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 24 Apr 2017 19:55:31 +0000</pubDate><link>https://embermap.com/topics/intro-to-broccoli</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=14187576</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14187576</guid></item><item><title><![CDATA[New comment by ryanto in "Slack may regret its letter to Microsoft"]]></title><description><![CDATA[
<p>While the decision can be made by one person, I'm not sure this is true. There is a big switching cost for most team tools.<p>* There's going to be a lot of discussion and consensus building. Most of the team is going to have an opinion on the subject.<p>* Setting up new accounts for team members, teaching team members how to use the new tool, and change management all take time.<p>* Most teams have integrations within their chat apps, these will have to be switched or re-implemented to use new APIs.<p>I think it's fair to say that most team tools have good moats. The longer the team has used a tool the stronger the moat becomes.</p>
]]></description><pubDate>Thu, 03 Nov 2016 16:30:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=12865432</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=12865432</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12865432</guid></item><item><title><![CDATA[New comment by ryanto in "Ask HN: Do i really need a css preprocessor?"]]></title><description><![CDATA[
<p>It depends on the type of work you do. If you are putting together a handful of pages and only plan on spending a few hours writing CSS then probably no need for preprocessor.<p>On the other hand, if you're a front end developer or you find yourself working on CSS multiple times a week then you should absolutely use a preprocessor.<p>There are tradeoffs between the two approaches, but preprocessors do save you time so the added complexity can be worth it the more you work on styling.</p>
]]></description><pubDate>Wed, 20 Jul 2016 13:55:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=12129010</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=12129010</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12129010</guid></item><item><title><![CDATA[New comment by ryanto in "UberRUSH API – Add on-demand delivery to your app or service"]]></title><description><![CDATA[
<p>Neat. I've always wondered if Uber's ride sharing had a weak moat. As a consumer there's little difference for me between taking an Uber, Lyft, or something else. This makes it easy to compete in the consumer ride sharing market.<p>If Uber is able to integrate with other apps this introduces a high switching cost for those apps... and that gives them a pretty solid moat. Excited to see how this API gets used.</p>
]]></description><pubDate>Thu, 09 Jun 2016 21:55:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=11872676</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=11872676</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11872676</guid></item><item><title><![CDATA[New comment by ryanto in "Cutestrap: 8k CSS framework"]]></title><description><![CDATA[
<p>As others have said it's very strange at first. My co-worker introduced it to me a little over a month ago and I remember thinking "how is this maintainable?". After a few hours it started to make sense and now I can't imagine going back to BEM.<p>Being able to design UIs without opening a single CSS file has made HTML pretty fun and I've found I'm much better at componentizing the right things.</p>
]]></description><pubDate>Sat, 21 May 2016 01:55:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=11742811</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=11742811</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11742811</guid></item><item><title><![CDATA[New comment by ryanto in "Ask HN: How did you determine if you and cofounder could work together?"]]></title><description><![CDATA[
<p>I've found the best way to know if I'm going to work well with someone is to have previously worked with them before. Look for people you've enjoyed working with, be it a co-worker, classmate, someone you've worked on open source with.<p>Things that I think must exist between cofounders.<p>* You must like and trust each other.<p>* Make sure you are able to be candid with each other.<p>* Know each others weaknesses. Really another way of saying have realistic expectations.<p>If you have no prior work experience try working on a small one-off project to get a feel for each other's working styles.</p>
]]></description><pubDate>Thu, 10 Dec 2015 06:07:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=10709129</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=10709129</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10709129</guid></item><item><title><![CDATA[New comment by ryanto in "Design patterns for functional and procedural programming?"]]></title><description><![CDATA[
<p>Yes, all styles of programming have patterns because patterns are something humans are good at. If you want to learn more about functional programming I would recommend reading the following books.<p>* Learn you a Haskell by Miran Lipovaca<p>* Purely functional data structures by Chris Okasaki</p>
]]></description><pubDate>Tue, 01 Dec 2015 06:52:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=10653986</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=10653986</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10653986</guid></item><item><title><![CDATA[New comment by ryanto in "Ask HN: How can I leverage my Open-Source contributions to further my career?"]]></title><description><![CDATA[
<p>Here are a few suggestions.<p>* List open source on your resume.<p>* During interviews talk about your open source accomplishments. Use open source as a way to show you have experience in software development. This is especially helpful with team based open source projects.<p>* If you are contributing to an open source project with a community be vocal in that space. Answer stack overflow questions, write blog posts, tweet, and get involved in other online areas where discussion takes place.<p>* Build a website for your open source project. HTML content is easier for most people to consume compared to a github repo with README.md.<p>* Speak at a conference or meetup. A great way to get started with this is to give a 5 minute lighting talk demo for the project at your local language meetup.<p>Doing these things will help you market yourself and your open source work. This usually opens the door to networking with people that have similar interests, which is a great way to further your career.</p>
]]></description><pubDate>Tue, 24 Nov 2015 07:08:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=10619528</link><dc:creator>ryanto</dc:creator><comments>https://news.ycombinator.com/item?id=10619528</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10619528</guid></item></channel></rss>