HN user

paperpunk

293 karma
Posts1
Comments74
View on HN
Mythical Man Month 2 months ago

I have a harness for Claude Code "hooks" (https://code.claude.com/docs/en/hooks) which in my case execute a Go tool in a separate project which runs changes made by claude through a validator with various rules that can be defined (regex, semgrep, etc.). They can warn claude or they can block changes outright.

When I find claude is using tools or approaches that I have replaced with more specific ones, I ask claude to add a hook to prevent doing this in the future and point it to the instructions of what to do instead.

And of course I wrapped all that up in a Skill so it knows what approaches to take to add things to hooks.

It becomes fairly trivial to incrementally stop it making repeated mistakes like this.

Tangential but when reading books like Lord of the Rings with songs periodically written in the text, I’ve always enjoyed trying to sing the songs out loud and set a melody for them that feels appropriate for the universe. It really makes the songs come alive.

Steam Machine 8 months ago

I love Valve games and I love that they are spending their resources in areas I care about and that feel underserved by other companies, but I don't think the moral comparison is so clear cut. They were also pioneers in micro-transactions, loot crates, software distribution tax, and turning Counter-Strike skins into a speculative frenzy.

I feel like I could very easily write this list in the opposite direction.

1. I'll just fix it – as a junior you can get away with not working on something unless you're told to. As a senior you're expected to take ownership. Cut through organisational malaise. See a thorny bug not being solved because it sits slightly across team boundaries? Fix it.

2. Working nights and weekends – as a junior you can expect to just turn up during your work hours and nobody will bat an eyelid. As a senior sometimes you'll have to make sacrifices. Stay on late to deal with that incident. Monitor a vendor migration over the weekend.

3. Asking a lot of questions – as a junior you can get away with being shy and avoidant. As a senior you're going to need to push through the discomfort and ask the important questions, challenge people, and have gotten over your fear of looking stupid to ensure you always have the right information.

4. Being "Extra" Helpful – as a junior you can very much just focus on your project work. As a senior you're expected to find impact beyond what is given to you in JIRA tickets. You need to review other PRs, manage other projects, unblock team members questions. Your job is beyond just closing tickets now.

5. Loud enthusiasm – as a junior you are not likely to have the political capital to get your org to take a risk on a new framework, language, tool. As a senior you are expected to have the experience to be able to take those risks when they are appropriate for the situation.

It's true though that you need be thoughtful about whether your behaviour is what is valued in your job. Regardless of seniority, different managers, different companies can value traits that other companies punish, and visa versa. You can really suffer if you're not aware of what it is your managers actually want from you.

I was only disputing parent assertion that trust is a solved problem and that banks don't "need" a solution.

I haven't the foggiest if stablecoins solve these problems any better. In theory I think all participants having visibility into the ledger would at least answer the problem of "where actually is the money", but I'm not even sure of that though because of fiat on/off ramps, custodial arrangements, roll-ups that might happen off chain, etc.

I don't know if you could use smart contracts to encode a recall/dispute resolution process into transactions but that's very hand-wavey and possibly collapses under scrutiny!

All in I've no idea if crypto helps us here but I do think we have a long way to go either way.

I think this may be an insightful comment.

It's not for lack of trying that traditional, "database driven" cross-border payments are costly and unreliable. SWIFT have thrown technology at this problem: GPI, Swift Go, ISO20022, etc.

Unfortunately the ecosystem has an extremely weak technical culture. Banks rarely follow the standards as written – your perfectly crafted API payment may be re-keyed by a low-paid human operator on a slow, buggy UI written a decade ago.

I could believe that the developer experience and technical standards of the participants is where the value lies right now.

The one thing I'm not sure on is to what extent those ecosystems depend on reduced regulatory scrutiny compared to banks.

I wouldn't really say trust is a solved problem in cross-border transfers. Why only today I've seen transactions where:

- an intermediary credited another institution only to realise later they didn't have the money, and have to beg pretty-please to return the payment over a SWIFT message (there is no guarantee here, at best there is "market practice" which is basically just manners, but for banks)

- an intermediary failing to credit the next institution because of a processing error, but when inquired from remitter claiming they had in fact credited it

Many of these cases are very expensive to resolve. Far more expensive than the value of the payments in question. And for that reason they are often left unresolved.

Now I don't know if I'm convinced on stablecoin remittance, I find many of the counter-arguments extremely compelling, but some days I sure do think gee it would be nice if everyone was transacting on a shared public ledger and I could have some certainty of the status of a transaction.

Fintech dystopia 12 months ago

Can you give more details on this? Why is it that the existing banking system cannot do this kind of foreign remittance? E.g. correspondent banking via Swift?

Is it high fees, is it overly burdensome sanctions/AML checks, something else?

This is frankly the actually difficult part of the process. ISO20022 is just a way to send messages, your actual commercial and settlement arrangements still need to be done. Banks are not required to provide such a service, you will specifically need an arrangement with a bank that offers that. Or more likely with an intermediary like Wise which will abstract the distractions like ISO20022 away from you.

For what it's worth I currently play flat games on Quest 3 via Xbox Cloud Gaming (i.e. streaming) [1], in passthrough mode (i.e. mixed reality with the virtual screen floating in the air) using a PS4 controller paired with the Quest 3, and it's definitely very playable, if much lower visual quality than just playing it on a 4K TV (30hrs into Starfield at the moment). But I like it because I can take my giant floating screen in any room of the house or in bed and don't have to stop when my partner wants to use the TV.

I'm pretty sure this will work on day 1 on Vision Pro since Xbox Cloud Gaming already works on Safari with PS/XBox controllers paired to Macs/iPads/iPhones, and with the supposed higher quality display, passthrough, and user interface (the Quest hand tracking is insufferable) I expect it will be even better.

[1] https://news.xbox.com/en-us/2023/12/13/play-xbox-game-pass-w...

Not my experience at all.

Was able to do latency-sensitive gaming like VR gaming from a Shadow PC 200 miles away. Have happily streamed PC games to my phone whilst out and about on 4G networks. I suppose if you're comparing it to 4K ultra quality local gaming you might find it much worse, but for someone who only has a MacBook Pro I found it performed significantly better to stream the game from a PC elsewhere than to try to run Mac native versions of games – and also just let me open up high quality games very quickly from many devices without having to mess around with cables and device drivers and all that stuff.

My partner streams the Xbox games to her Surface laptop which is definitely not powerful enough to play them natively.

That said I know it's still fairly niche, but I think it has a shot of tapping into a much broader casual market than e.g. PC gaming and consoles which require people to already care enough to do a big upfront investment.

I've been involved in an attempt to do this at a smaller scale, for a specific discipline: https://maxfacts.uk/ – which aims to be a complete resource for patients and professionals in the oral and maxillofacial field. Like WebMD, but up-to-date, properly researched, and very thorough.

The linked article here talks about having structured, quantitive information, but I think this might be an engineer's view on medicine. The reality on the ground is much messier. We tried to give people enough information on medical practice, explanations on the biological/chemical mechanisms, and other resources to make their own informed choices about their treatment and care. For example, trying to explain the mechanics of taste, and texture for eating food so that people can understand what kind of adaptations they can make to improve their quality of life. I think we probably fall short of that goal sometimes because our material is overly technical or scientific but it's a work-in-progress.

The author does say they have a wife. But I know what you mean – I took my Quest to my sister's over Christmas and there were many near-misses with a two-year old not understanding the adult is not playing with them. If I had young kids I would probably want to put a lock on the door for when I'm going to use it.

It might not necessarily, and I was genuinely wondering what patterns people use, but there are a few things about our monolith in particular that have seemed to make it harder for us:

- The monolith has to do all the work of the whole system when it starts, so start-up time is a lot longer, which makes rolling deployments much slower

- The monolith is much heavier in resource requirements, so it's much more expensive to spin up multiple of them

- The monolith has a much larger surface area, so post-deployment but pre-release verification is much more complex

- The migration path for a smaller service to support zero-downtime is simpler than for a larger service, so on average it's probably easier to get it working for an existing 'microservice' (although may be easier for the monolith than an equivalent full set of microservices)

We had a spirited debate about this in our application at work recently. Some devs feel (strongly) that having no option to open links on the same page is a user-hostile choice. Other devs feels (also strongly) that users most likely want to open a link in a new tab so that’s what should happen.

We never reached an agreement but someone did make a claim, that I was unable to verify, that modern users don’t use the back button and therefore relying on it to allow users to find their way back is unacceptable. I wonder if anyone else has heard that (I suspect the HN crowd knows about the back button though ;))

Equally it's acceptable to go down the single-page-application route and just make sure you prioritise performance. A lot of SPAs/"rich" web applications are not slow because of inherent performance disadvantage to that model, they're slow because they're poorly written.

Perhaps just because I've dedicated a lot of time to it but I think something like React makes it a lot easier for me to find where my performance bottlenecks are and eliminate them vs. mixed server-side dynamic HTML / progressive enhancement.

TypeScript already supports those 'class properties' - and with a few extra features - so you don't need to use Babel for this syntax: you already have it.

I'd still rather use hooks though :)

Slate is not an editor so much as a framework for building editors. Which is to say yes, it would be a good basis for an editor for mathematical formulas, but you would have to create the schema yourself (MathML seems like a good starting point). Defining transformations so you could use the LaTeX syntax as short-cuts seems like it would not be too arduous – although obviously a complete implementation would be a vast undertaking.

It was an attempt to provide a resource for comprehensive, in-depth, accessible information for maxillofacial / heck & neck patients and practitioners. Part of the movement of empowering patients by giving them the information traditionally held by clinicians, but also helping clinicians to be aware of scientific research from adjacent disciplines that might be useful.

The CMS design comes into it because when you have a larger collection of non-technical authors you need an accessible way to manage the content. This was how it was initially conceived anyway - in practice more development time had to go towards handling the users' existing workflow (MS Word) rather than migrating them into the CMS directly. A real eye-opener for me about user-centred design..

https://maxfacts.uk

My issue is mainly that Word doesn't really maintain the same structured hierarchy in the XML that HTML would – it's more like a sequential format. The users wanted a way to indicate certain types of content or annotations and they do so via coloring text in certain ways – but I found in practice this is very hard to reconcile since there is a lot of invisible formatting in word, the element may terminate and start again, with a new invisible element in between. Invisible to the user - but very visible to the parser.

Essentially it's a balance of attempting to remove all the spurious elements (`<o:p>`, or invisible empty formatting, etc.) and then reason about what remains. Much of that involves a lot of walking the tree to inspect neighbouring nodes because them being co-located can indicate something.

Look you may be recoiling in horror by now – it sounds horrific. Actually what we have is a remarkably stable system all things considered but it was built up over time. I think the only approach you can take is write a large amount of unit tests for the schema normaliser, with real MS-word samples and expected outputs, and then really put the system through its paces. Every time you find an example that breaks your model, add a unit test for that snippet, and evolve.

God forbid a Word update ever introduces a new format.