<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: philfreo</title><link>https://news.ycombinator.com/user?id=philfreo</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 18 Apr 2026 19:52:15 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=philfreo" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by philfreo in "Making MCP cheaper via CLI"]]></title><description><![CDATA[
<p>Is this article from a while back?<p>> Before your agent can do anything useful, it needs to know what tools are available. MCP’s answer is to dump the entire tool catalog into the conversation as JSON Schema. Every tool, every parameter, every option.<p>Because this simply isn't true anymore for the best clients, like Claude Code.<p>Similar to how Skills were designed[1] to be searchable without dumping everything into context, MCP tools can (and does in Claude Code) work the same way.<p>See <a href="https://www.anthropic.com/engineering/advanced-tool-use" rel="nofollow">https://www.anthropic.com/engineering/advanced-tool-use</a> and <a href="https://x.com/trq212/status/2011523109871108570" rel="nofollow">https://x.com/trq212/status/2011523109871108570</a> and <a href="https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool#mcp-integration" rel="nofollow">https://platform.claude.com/docs/en/agents-and-tools/tool-us...</a><p>[1] <a href="https://agentskills.io/specification#progressive-disclosure" rel="nofollow">https://agentskills.io/specification#progressive-disclosure</a></p>
]]></description><pubDate>Wed, 25 Feb 2026 22:10:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47158757</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=47158757</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47158757</guid></item><item><title><![CDATA[New comment by philfreo in "Windows-Use: an AI agent that interacts with Windows at GUI layer"]]></title><description><![CDATA[
<p>Cool. Reminds me of using SendKeys() in Visual Basic 6 in the 90s<p><a href="https://learn.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.devices.keyboard.sendkeys?view=windowsdesktop-9.0" rel="nofollow">https://learn.microsoft.com/en-us/dotnet/api/microsoft.visua...</a></p>
]]></description><pubDate>Fri, 12 Sep 2025 15:44:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=45223414</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=45223414</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45223414</guid></item><item><title><![CDATA[New comment by philfreo in "A phishing attack involving g.co, Google's URL shortener"]]></title><description><![CDATA[
<p>Can someone explain point #9 in the gist? How’d they know part of the two factor code?</p>
]]></description><pubDate>Fri, 24 Jan 2025 19:08:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=42816100</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=42816100</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42816100</guid></item><item><title><![CDATA[New comment by philfreo in "Show HN: GUI for editing Mermaid class diagrams"]]></title><description><![CDATA[
<p>I spent some time playing around with this recently and loved it at first. I also realized ChatGPT is pretty good at generating Mermaid diagrams (didn't try your own AI features).<p>However after getting into it some I ran into some significant frustrations. After creating a medium-complexity diagram, I was excited to see the Whiteboard feature to drag things around / improve the layout manually. But it really started breaking, it just wouldn't let me organize/drag things where I wanted, and I couldn't get things to not overlap. I also wished more diagram types supported Whiteboard (I noticed some didn't).<p>Also I some confusion between the capabilities of mermaidchart.com and mermaid.live. Are these competitors? Variations of similar apps. I was confused. Also "Playground" vs "Live Editor" is confusing.<p>Overall glad this exists and hope it continues to improve.</p>
]]></description><pubDate>Fri, 17 Jan 2025 16:54:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=42740205</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=42740205</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42740205</guid></item><item><title><![CDATA[New comment by philfreo in "How a four-day workweek works, from the companies pulling it off"]]></title><description><![CDATA[
<p>At Close we have been offering an 80% salary / 4-day week option for engineering roles for a few years now. This originally was mandatory during early 2020 COVID-19 economic uncertainty as a way to cut costs without doing layoffs. Quickly it became optional – most people moved back to 100% but some people decided they enjoyed it and wanted to continue that arrangement.<p>What's interesting about 4d weeks is that it's 20% less work but 50% more days off, which can be  very impactful for folks.<p>Our 80% option is a flexible thing, as in you can choose to do it for the summer but not the rest of the year. We try to adjust workloads accordingly. I've taken advantage of it myself for a period of time and it gave me more free time to be with family and also work on side projects.<p>Some people really love taking our 80% option / 4d and others absolutely don't want to.<p>Companies offering flexibility in work hours can really help retention IMO, and is a natural progression after (a) remote / freedom of location, and (b) freedom of specific work schedule.<p>I know a few companies offer "4-day week summers" to everybody or even "everyone always does 4-day weeks". But I like the "fairness" of giving people an option, since different people are in different life situations at different times where working more vs. less can be especially helpful.</p>
]]></description><pubDate>Fri, 29 Sep 2023 19:51:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=37709289</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=37709289</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37709289</guid></item><item><title><![CDATA[New comment by philfreo in "Facebook open sources Lexical, an extensible text editor library"]]></title><description><![CDATA[
<p>Is this meant to be a good drop-in rich-text/WYSIWYG editor?<p>What is the format that it creates that you could then persist in a database? Does it just save its state in HTML or some JSON format or what?</p>
]]></description><pubDate>Thu, 14 Apr 2022 03:31:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=31023150</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=31023150</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31023150</guid></item><item><title><![CDATA[How We Improved Reliability of our WebSocket Connections]]></title><description><![CDATA[
<p>Article URL: <a href="https://making.close.com/posts/reliable-websockets/">https://making.close.com/posts/reliable-websockets/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=29026740">https://news.ycombinator.com/item?id=29026740</a></p>
<p>Points: 41</p>
<p># Comments: 18</p>
]]></description><pubDate>Thu, 28 Oct 2021 14:49:33 +0000</pubDate><link>https://making.close.com/posts/reliable-websockets/</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=29026740</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29026740</guid></item><item><title><![CDATA[New comment by philfreo in "Ask HN: How to get back in employment market after working on side projects?"]]></title><description><![CDATA[
<p>As a hiring manager at a startup-ish SaaS company:<p>I love seeing side projects, both because<p>- it shows you have entrepreneurial skills (care about and able to think about more than just code)<p>- as well as the technical side (shows you’re able to build from scratch, probably work across the stack, etc.)<p>Show off as much as you can:<p>- leave the websites up even if the business isn’t viable. Better to be able to see and play with a side project versus just seeing a line on a resume and having no idea how significant or good it was.<p>- open source what you can. It can be very helpful to point to code from real projects you wrote, especially if you have a gap in employment.<p>Try to foster great references. Even if they aren’t recent, you will do better if you have a few raving fans.<p>Unless you had a lot of management experience, I suggest trying to find a job as an IC. More open roles / people seem more desperate for developers. If you’re good, it won’t matter much if you have a gap. Personally I prefer to hire ICs who have a little management experience because they tend to be better employees as well as are more likely to be someone who can eventually lead/manage with us as well.<p>Overall: the biggest thing is you want to <i>show</i> that you have been doing good technical work over the last few years versus just some unemployable person who had “projects”.<p>I’m hiring frontend/React and backend/Python engineers: phil@close.com</p>
]]></description><pubDate>Wed, 16 Jun 2021 10:53:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=27527035</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=27527035</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27527035</guid></item><item><title><![CDATA[New comment by philfreo in "What Working At Stripe Has Been Like"]]></title><description><![CDATA[
<p>As a customer of Stripe too, I almost[1] couldn't <i>disagree</i> more.<p>Running a global online/SaaS business is hard. So much complexity everywhere. I wish Stripe would handle MORE problems & complexity and would happily pay for it.<p>Just a few examples Stripe could handle:<p>- Checkout + Portal is a great start, but it still takes too much (expensive) design+dev brainpower to create the entire experience of a high quality trial-to-paid and existing-customer billing management in a SaaS app.<p>- Running a SaaS company at any scale is full of Support headaches that Stripe Dashboard simply does not handle well - stuff like tweaking a billing date, and doing combination (e.g. wire transfer + credit card) payments, "can you re-send my invoice but with my VAT ID on it this time?" and many more. At any scale, lots of effort is spend on custom billing support tickets and building internal tooling even if you use all of Stripe's features.<p>- Are you a SaaS company selling all over the US? Good luck being complaint with all 50 states in terms of sales tax reporting without expensive legal/accounting help. Did you hire any remote out-of-state employees? Good luck -- now your financial compliance got even more complicated.<p>Stripe doesn't do any of these things well today. And if they did, it would likely be much cheaper than the in-house solutions everyone is coming up with instead. I think Stripe should handle 10x as much complexity for a SaaS company than it does today, and of course they should get paid for doing so.<p>[1] I agree it would be amazing to see Stripe come up with smoother flows for supporting payments that bypassing the expensive card network's fees.</p>
]]></description><pubDate>Fri, 09 Oct 2020 00:56:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=24725611</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=24725611</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24725611</guid></item><item><title><![CDATA[New comment by philfreo in "Show HN: IPOs.fyi – Missing Out on IPOs Was Frustrating, So I Fixed It"]]></title><description><![CDATA[
<p>I'd suggest putting the information directly on your site (at least the IPOs coming up in the next X days) and charge for the deeper access + email notifications. But that way people have a reason to visit your site even if they haven't decided to pay yet.</p>
]]></description><pubDate>Thu, 23 Jul 2020 21:53:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=23932781</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=23932781</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23932781</guid></item><item><title><![CDATA[The Billing Customer Portal]]></title><description><![CDATA[
<p>Article URL: <a href="https://stripe.com/blog/billing-customer-portal">https://stripe.com/blog/billing-customer-portal</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=23681670">https://news.ycombinator.com/item?id=23681670</a></p>
<p>Points: 8</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 29 Jun 2020 19:40:11 +0000</pubDate><link>https://stripe.com/blog/billing-customer-portal</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=23681670</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23681670</guid></item><item><title><![CDATA[New comment by philfreo in "Python 3"]]></title><description><![CDATA[
<p>With an 8 year old codebase w/100s of thousands of lines of code and 100s of dependencies, this was no easy task.<p>We had read many of the blog posts about the Python 3 transition, and yet still had a number of surprises. Here were some of the more interesting ones.</p>
]]></description><pubDate>Thu, 14 May 2020 15:45:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=23180907</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=23180907</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23180907</guid></item><item><title><![CDATA[Python 3]]></title><description><![CDATA[
<p>Article URL: <a href="https://engineering.close.com/posts/python-3">https://engineering.close.com/posts/python-3</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=23180730">https://news.ycombinator.com/item?id=23180730</a></p>
<p>Points: 18</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 14 May 2020 15:31:12 +0000</pubDate><link>https://engineering.close.com/posts/python-3</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=23180730</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23180730</guid></item><item><title><![CDATA[New comment by philfreo in "Show HN: Offline text extractor from screenshots in macOS"]]></title><description><![CDATA[
<p>I already have screenshots going into a Dropbox -> Screenshots directory (with "Fan" display from my macOS Dock), which I like.<p>However I do want non-cloud OCR / text search on existing + new screenshots.<p>Basically I don't want you to change anything about my screenshot setup except make it searchable.<p>Does VisionShot do this for me?</p>
]]></description><pubDate>Mon, 30 Mar 2020 15:50:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=22728936</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=22728936</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22728936</guid></item><item><title><![CDATA[New comment by philfreo in "Building a static serverless website using S3 and CloudFront"]]></title><description><![CDATA[
<p>> The redirect logic provided by the S3 website endpoint can be moved to a Lambda@Edge function.<p>The post here is using Lambda@Edge to handle pointing example.com/about/ to example.com/about/index.html<p>However there's a lot more you can do / may want to do with Lambda@Edge if you're hosting a Cloudfront+S3 website.<p>I just wrote up how I set up a system to make managing server-side redirects (e.g. 301s from /old-page to /new-page) easier via Lambda@Edge.<p><a href="https://news.ycombinator.com/item?id=22351484" rel="nofollow">https://news.ycombinator.com/item?id=22351484</a><p><a href="https://engineering.close.com/posts/redirects-using-cloudfront-lambda-edge" rel="nofollow">https://engineering.close.com/posts/redirects-using-cloudfro...</a></p>
]]></description><pubDate>Mon, 17 Feb 2020 22:29:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=22351508</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=22351508</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22351508</guid></item><item><title><![CDATA[Using Lambda Edge to setup server-side redirects on a CloudFront+S3 static site]]></title><description><![CDATA[
<p>Article URL: <a href="https://engineering.close.com/posts/redirects-using-cloudfront-lambda-edge">https://engineering.close.com/posts/redirects-using-cloudfront-lambda-edge</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=22351484">https://news.ycombinator.com/item?id=22351484</a></p>
<p>Points: 12</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 17 Feb 2020 22:26:21 +0000</pubDate><link>https://engineering.close.com/posts/redirects-using-cloudfront-lambda-edge</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=22351484</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22351484</guid></item><item><title><![CDATA[New comment by philfreo in "Show HN: Screenshot Hero - iPhone app to make all photos text searchable"]]></title><description><![CDATA[
<p>Is there an app like this (local only) for macOS?</p>
]]></description><pubDate>Thu, 16 Jan 2020 19:00:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=22067684</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=22067684</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22067684</guid></item><item><title><![CDATA[Show HN: BoxedName – Ready-to-go names for your next startup]]></title><description><![CDATA[
<p>Article URL: <a href="https://boxedname.com/">https://boxedname.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=21966424">https://news.ycombinator.com/item?id=21966424</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 06 Jan 2020 04:22:12 +0000</pubDate><link>https://boxedname.com/</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=21966424</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21966424</guid></item><item><title><![CDATA[New comment by philfreo in "A way to make anonymous online donations"]]></title><description><![CDATA[
<p>In the US, another way to make anonymous donations to charity is to use a Donor Advised Fund [1]. For example Fidelity Charitable [2] makes it easy to make grants anonymously if you choose.<p>Beyond that, there can also be additional tax advantages to giving to giving via DAF, especially if you have appreciated stock, bitcoin, etc. [3]<p>1. <a href="https://www.irs.gov/charities-non-profits/charitable-organizations/donor-advised-funds" rel="nofollow">https://www.irs.gov/charities-non-profits/charitable-organiz...</a><p>2. <a href="http://fidelitycharitable.com/" rel="nofollow">http://fidelitycharitable.com/</a><p>3. <a href="https://twitter.com/philfreo/status/964970877338247169" rel="nofollow">https://twitter.com/philfreo/status/964970877338247169</a></p>
]]></description><pubDate>Mon, 09 Dec 2019 19:13:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=21745390</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=21745390</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21745390</guid></item><item><title><![CDATA[New comment by philfreo in "GitHub for Mobile"]]></title><description><![CDATA[
<p>I'll echo this and the related/parent comments -- super common experience for me too. I WANT to use iOS Safari and frequently do -- I just wish their mobile web version was given more love/functionality versus being a stripped down version.</p>
]]></description><pubDate>Wed, 13 Nov 2019 22:21:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=21530305</link><dc:creator>philfreo</dc:creator><comments>https://news.ycombinator.com/item?id=21530305</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21530305</guid></item></channel></rss>