<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: CraigJPerry</title><link>https://news.ycombinator.com/user?id=CraigJPerry</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 14 Jun 2026 12:25:35 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=CraigJPerry" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by CraigJPerry in "Free SQL→ER diagram tool, runs in the browser, nothing uploaded"]]></title><description><![CDATA[
<p>The whole code base is a breath of fresh air to be honest: <a href="https://github.com/royalbhati/sqltoerdiagram/blob/main/src/main.js" rel="nofollow">https://github.com/royalbhati/sqltoerdiagram/blob/main/src/m...</a><p>Author is top notch in my book. I'm a sucker for someone taking a complex  problem and distilling out a simple solution. I don't know of higher praise to give a developer.</p>
]]></description><pubDate>Sun, 14 Jun 2026 08:53:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48525438</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48525438</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48525438</guid></item><item><title><![CDATA[New comment by CraigJPerry in "AI coding at home without going broke"]]></title><description><![CDATA[
<p>I wondered if there might be a no brainer "free" option on discarded hardware.<p>I have a GTX1080ti which i think is circa 2018, it's unused, more than paid for itself over the years, owes me nothing at this point so the hardware is free.<p>It runs Gemma e4b multimodal, qwen 3.5 8b or the qwen 4b embeddings models  well enough (40+ t/s for the LLMs).<p>The machine consumes 350 watts at the wall when under load (3 watts when sleeping, 80w at idle). Electricity costs me £0.035GBP/kwh which is cheap for the UK (load shifting via house battery).<p>144k output tokens for around 1pence (and takes an hour to do that in theory).<p>It's only JUST cheaper to use than the far more capable deepseek v4 flash model despite the free hardware and ~10x cheaper than normal electricity.</p>
]]></description><pubDate>Sat, 13 Jun 2026 17:29:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=48519418</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48519418</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48519418</guid></item><item><title><![CDATA[New comment by CraigJPerry in "Show HN: Extend UI – open-source UI kit for modern document apps"]]></title><description><![CDATA[
<p>Those bounding box demos are decent.<p>By quirk of fate i've spent the past 2 days prototyping some stuff on pdfjs. Just trying to figure out a game plan for handling bounding boxes in the face of page zooming, different resolutions etc. etc. I can't see it mentioned whether the components are virtualising pages (as in reusing dom elements as document pages scroll by). I guess i just learned what i'll be exploring tomorrow then...</p>
]]></description><pubDate>Wed, 10 Jun 2026 19:27:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48481375</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48481375</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48481375</guid></item><item><title><![CDATA[New comment by CraigJPerry in "Ask HN: Are you still using a Vision Pro?"]]></title><description><![CDATA[
<p>It's a shame because this is the best visual fidelity i think of all the devices.<p>I managed several days back to back, it's very like 1440p on a 27" and millions of people use that every day productively but when you're spending that kind of money, i don't want £200 monitor quality.</p>
]]></description><pubDate>Wed, 10 Jun 2026 05:55:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=48472008</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48472008</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48472008</guid></item><item><title><![CDATA[New comment by CraigJPerry in "Ask HN: Are you still using a Vision Pro?"]]></title><description><![CDATA[
<p>Zoom itself works absolutely fine, it's just the ipad app you get on vision pro. My complaint is what happens when you turn your camera on - meeting participants see an uncanny valley representation of yourself - your "Persona" which you scan in when you get the device.</p>
]]></description><pubDate>Wed, 10 Jun 2026 05:51:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=48471983</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48471983</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48471983</guid></item><item><title><![CDATA[New comment by CraigJPerry in "Ask HN: Are you still using a Vision Pro?"]]></title><description><![CDATA[
<p>>> Consumer power supplies probably don't<p>At least here in the EU they do and i think it's the case in most countries world wide?<p>Looks like that 2014 case might have been a sub-standard charger that didn't conform to required safety standards?<p>I actually experienced a (cheap) charger exploding under my desk back around 2015.<p>There's a youtuber called BigClive that delights in tearing down the bad chargers. Ken Shirrif's blog is the best resource i know of for this topic though.<p>Anyway, i feel pretty safe with the vision pro plugged in with an apple charger. The battery does get warm though...</p>
]]></description><pubDate>Wed, 10 Jun 2026 05:48:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48471953</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48471953</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48471953</guid></item><item><title><![CDATA[New comment by CraigJPerry in "Ask HN: Are you still using a Vision Pro?"]]></title><description><![CDATA[
<p>I bought the refreshed M5 version with the new headstrap. I read so many complaints about weight and it was just never an issue for me personally. Maybe the new strap is that much better?<p>That said, the battery cable was super annoying, id accidentally catch it multiple times per day. The battery is good for less than 2 hours so i used it plugged into the wall.<p>For zoom calls, the persona thing is hilariously bad, unusable in a business context. Interesting for a few minutes as a tech demo though.<p>The virtual layout is good - a big citrix app screen (its the ipad app) for remote desktop, zoom, safari etc off to the sides and then things like calendar widget pinned to physical wall. But text clarity / quality is just slightly not good enough for software development. Almost, its close. If you dont mind large fonts its good enough.<p>Ultimately returned it but it was a close run thing, i almost kept it.<p>I do still hanker for something like this, tempted to try xreal or other glasses but seems like the PPD is even lower.</p>
]]></description><pubDate>Tue, 09 Jun 2026 20:28:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=48467237</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48467237</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48467237</guid></item><item><title><![CDATA[New comment by CraigJPerry in "We should be more tired than the model"]]></title><description><![CDATA[
<p>>> I’m losing control over the code I write when I work with agentic code generation<p>> Are you saying we collectively need to get better at abstraction so that LLMs get better at abstraction (either by training, or our prompting), so that their code is easier to read?<p>No - our current abstraction for coding agents is a loop where we express some freeform specification of a goal, then a sub loop kicks off where an llm takes a stab at what good looks like for the next step (make an edit, search for info, run a command to cause some side effect etc etc), it iterates in this loop and when it's finished its sub loop, it declares end of turn and the loop returns to the user for steering input.<p>That inner agent loop can make it quite hard to stay in control.<p>What if instead of only these low level free form prompts we additionally had some higher level primitives to work with?</p>
]]></description><pubDate>Fri, 29 May 2026 15:03:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48323990</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48323990</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48323990</guid></item><item><title><![CDATA[New comment by CraigJPerry in "We should be more tired than the model"]]></title><description><![CDATA[
<p>I clearly identify with the problem the author raises, which is: the bottleneck is understanding.<p>I don't go along with their mitigations though.<p>In programming we have one tool for this: abstraction. Decomposition, pattern recognition, even data structures and algorithms are all down stream of abstraction. Collectively, we've never truly mastered abstraction, but it's what we have and we collectively wield it well enough that it's usually somewhat effective.<p>We are in dire need of a better abstraction.</p>
]]></description><pubDate>Fri, 29 May 2026 12:58:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=48322523</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48322523</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48322523</guid></item><item><title><![CDATA[New comment by CraigJPerry in "I love my Bluetooth keyboard"]]></title><description><![CDATA[
<p>I’ve had both - the 380 is much lighter to carry around than the 480.<p>I wouldn't recommend either though, for both, the keys are not nice to type on if you don’t press perfectly downward, if you have any angle other than vertical, the keys occasionally bind a little. This is amplified on the 480 with longer key travel. They’re different types of key mechanisms on both but suffer the same problem.<p>If you have any kind of case, the 480 stand slot can be harder to use.</p>
]]></description><pubDate>Mon, 25 May 2026 08:07:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48264558</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48264558</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48264558</guid></item><item><title><![CDATA[New comment by CraigJPerry in "-​-dangerously-skip-reading-code"]]></title><description><![CDATA[
<p>I prefer "the bottleneck is understanding" framing.<p>The author is nibbling at the same problem ultimately, but i don't think "hey one strategy is we could just let cognitive debt accumulate so we can go faster!" is a particularly insightful tool in the toolbox. Don't misread me, i'm not denying it can be a valid strategy.<p>Instead i want to read about insightful strategies for optimising that system-wide bottleneck we have: understanding.<p>Tell me about how you managed to shift to a higher level of abstraction, tell me about how and when that abstraction leaks. Tell me how you reduced the amount of information that has to flow through the system bottleneck.</p>
]]></description><pubDate>Sun, 24 May 2026 09:11:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48255781</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48255781</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48255781</guid></item><item><title><![CDATA[New comment by CraigJPerry in "Microsoft starts canceling Claude Code licenses"]]></title><description><![CDATA[
<p>>> many small decisions<p>It’s making guesses not decisions, framing as decisions will lead you astray to wasted time and tokens.<p>It’s vaguely productive to tell them a ton of relevant info upfront attempting to minimise their need for load bearing guesses. I say vaguely because obedience is generally only around the level where it's good enough to lull you into a false sense of security, not to actually be obedient.<p>It’s a bit more productive to use the various loop mechanisms (hooks, /goal etc) to evaluate each end of turn against guard rails and reject with clear instruction on whats unacceptable. Obviously if you only do this without the front load of info then you’re likely to spend more tokens to reach a satisfactory end of iteration.</p>
]]></description><pubDate>Sat, 23 May 2026 08:27:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48245875</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48245875</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48245875</guid></item><item><title><![CDATA[New comment by CraigJPerry in "Swift bricks to be installed on all new buildings in Scotland"]]></title><description><![CDATA[
<p>That was a really thoughtfully put together answer. Kudos, i enjoyed reading that</p>
]]></description><pubDate>Thu, 14 May 2026 19:55:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48140361</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48140361</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48140361</guid></item><item><title><![CDATA[New comment by CraigJPerry in "On The Conflation of Money and Things"]]></title><description><![CDATA[
<p>i turned off adguard on ios safari to see what you're talking about... oh wow! You really didn't overstate it.<p>In other news, my appreciation of the block lists i have configured in adguard just notched up a few more points!</p>
]]></description><pubDate>Thu, 14 May 2026 17:45:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48138688</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48138688</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48138688</guid></item><item><title><![CDATA[New comment by CraigJPerry in "Casio S100X Japanese Lacquer Edition (JP Page Only)"]]></title><description><![CDATA[
<p>>> like a Rolex watch<p>A Grand Seiko could be an apt comparison, this is hand finished rather than mass produced on a production line. Also, by a Japanese craftsperson using a prized skill (lacquer vs zaratsu).<p>>> vanity item<p>Who covets a calculator? The attraction here is surely celebrating the craftsmanship and the story / history behind the product and firm that produced it.</p>
]]></description><pubDate>Sun, 10 May 2026 07:00:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48081638</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48081638</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48081638</guid></item><item><title><![CDATA[New comment by CraigJPerry in "Mythical Man Month"]]></title><description><![CDATA[
<p>10x what? 10x revenue? 10x features shipped? Whats the measure, is it 10x speed of dev like parent comment? Because an unqualified 10x could mean 10x SLOC which is trivial with an agent but has negative value.<p>Assuming 10x on the speed of dev, Is the vscode repo a decent example? Recently they've been all in on AI augmented development so i'm thinking they'd be a reasonable subject?<p>How do you isolate out what counts as the "development" part of their delivery cycle (is that the dev inner loop, does that show up in frequency of commits then?) to measure it and see if it's running 10x?<p><a href="https://github.com/microsoft/vscode/graphs/contributors?from=03%2F05%2F2025" rel="nofollow">https://github.com/microsoft/vscode/graphs/contributors?from...</a></p>
]]></description><pubDate>Sat, 09 May 2026 07:47:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48072861</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48072861</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48072861</guid></item><item><title><![CDATA[New comment by CraigJPerry in "Stitch Together Lots of Little HTML Pages with Navigations for Interactions"]]></title><description><![CDATA[
<p>I guess it doesn't have to use JavaScript for the back behavior. It could use a server-side rendered referrer if that hasn't been stripped by the browser?<p>You say that JavaScript and fallbacks for menus is a solved issue but the number of menus that are just an absolute clusterfuck is ridiculous on the web today. They're really not a solved issue, Progressive enhancement is hard to do. Genuinely hard in some cases.<p>On balance, while this is not without flaws, it's interesting. Accessibility, deep linking, reduction in cognitive load for the developer. There's some merit here.</p>
]]></description><pubDate>Mon, 04 May 2026 07:01:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48005527</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=48005527</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48005527</guid></item><item><title><![CDATA[New comment by CraigJPerry in "How fast is a macOS VM, and how small could it be?"]]></title><description><![CDATA[
<p>OrbStack is impressive on the performance and energy efficiency fronts. I'm not aware of anything that comes close. But they're doing something funky under the covers. You can't just start any OS in a VM. It has to be somehow mangled to suit their VM. Thankfully NixOS is available so I'm fine for my use cases. It's still remarkable how efficient it is.</p>
]]></description><pubDate>Sat, 02 May 2026 18:28:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47989010</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=47989010</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47989010</guid></item><item><title><![CDATA[New comment by CraigJPerry in "GitHub Copilot is moving to usage-based billing"]]></title><description><![CDATA[
<p>The cheapest copilot plan felt totally unsustainable to me. For around £8 month i was getting 100 opus 4.6 prompts (albeit with a reduced context window size around 128k iirc vs 200k to 1m for first party hosted opus). Gpt5.4 was hosted with 400k context iirc.<p>On top of that, you’ve got 2000minutes of container runtime, so running cloud agents was included. As was anthropic agent sdk mode via copilot which is very comparable with claude code - not identical, the anthropic “modular prompt” is much leaner in the sdk version.<p>I cant say im mad, i got above what i paid in value. That said, going forward ill probably go back to openrouter payg rather than a subscription.<p>I got a free 3months of the gemini £19 plan and ive been playing quite a bit, 3.1 pro is a good model, i just find it slow. Flash i think i under appreciated until now.</p>
]]></description><pubDate>Mon, 27 Apr 2026 16:50:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47924060</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=47924060</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47924060</guid></item><item><title><![CDATA[New comment by CraigJPerry in "Our eighth generation TPUs: two chips for the agentic era"]]></title><description><![CDATA[
<p>>> Can't think of anything it's currently lacking.<p>Speed? The pro models are slow for me<p>The model 3.1 pro model is good and i don't recognise the GP's complaint of broken tool calls but i'm only using via gemini cli harness, sounds like they might be hosting their own agentic loop?</p>
]]></description><pubDate>Wed, 22 Apr 2026 16:38:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47865968</link><dc:creator>CraigJPerry</dc:creator><comments>https://news.ycombinator.com/item?id=47865968</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47865968</guid></item></channel></rss>