3,967 karma · joined April 8, 2008
18F: https://en.wikipedia.org/wiki/18F Overview of the related programs: https://willslack.com/pif-18f-usds/
(A warning about Odd Lots: the hosts never question or push back on people talking their book. This especially bad with politicians and political appointees, who are often very creative during their interviews.)
I'm aware of the early difference between compiled and interpreted languages. Luau has to be interpreted to meet its security goals, and I'm asking with similar goals in mind, so I guess I'm starting from that significant limitation.
Why were the users so entitled to free ongoing maintenance that its end is worth describing using a term from financial fraud?
It's very frustrating to have a tool that has spent 15 years fading into the background of reliable infrastructure become an intrusive, distracting mess.
After a couple months with jujutsu it's almost completely replaced my use of git. It’s a lot to hope for, but just as jujutsu surveyed a couple decades of VCS to syncretize a huge improvement, I do hope someone will do the same for collaborating with jujutsu. GitHub PRs feel very unfortunately frozen in amber because their popularity makes it very hard to fix the core UI design problems it has with multiple tabs, incoherent timeline, edited commits, missing "8 more comments", and now a steady drip of SPA jank.
The big remaining feature of GitHub is the network effect of coworkers and potential contributors already being logged in, and there could be a race between a competitor neutralizing that with bidirectional sync (see git-bug) and GitHub getting their usability problems sorted. Microsoft's legendary resistance to breaking changes means there's a very big window available.
Tailscale doesn't really address connecting to strangers, though.
It would be great if you could expand your explanation of the metaprogramming into a comment in the code. When I read it, I didn't immediately recognize the technique and its tradeoffs, so it seemed like an odd decision rather than an informed one.
Having two versions of phlex would be a strong negative to me. I don't like to see dev teams spread themselves out, it's one more choice I'd have to make when adopting, if switching between them I have new risks that they've slipped out of sync in some way, and it's altogether another odd decision that has to be explained.
What I was trying to say about the code is that I share the previous commenter's experience of "welp I guess if we want that bug fixed we have to click 'fork' on github... while we write up our plan to migrate away". Having had that experience several times, Phlex looks like an acceptable risk.
I agree on your criticisms of Erb and ActionView. I'd add that Erb is just really noisy jumping in and out of Ruby with <%= %> constantly. I'm regularly running down basic errors in producing well-formed HTML.
I'm still only experimenting a little with Phlex. I'm not sold on some of its design like the distinction between views and components, but maybe that's a practice/docs issue. I'd also like to see a performance test that's not a microbenchmark and I may try to make one this month. Similar to your note about haml, I've told the project devs that I'd be really encouraged by a phlex -> erb tool to reduce the perceived risk of getting locked into the dep.
EDIT: Oh, and I read the phlex code because I have similar experience outliving a dep. The library is ~1,600 loc with same again in tests. There's a little metaprogramming in SGML::Elements I dislike but it's not a dealbreaker. The library is small and straightforward enough that I'd be surprised if it broke without going unmaintained 5+ years, and I'd be fine maintaining a private fork for a year or so while migrating off.
There's a requirement to name a senior manager: https://www.legislation.gov.uk/ukpga/2023/50/section/103
There's personal liability attached to being the named senior manager: https://www.legislation.gov.uk/ukpga/2023/50/section/110
Other nearby sections have additional personal liabilities. Like Sec 109 (5) (a) probably criminalizes your exact suggested response of walking away from Ofcom's inquiries: https://www.legislation.gov.uk/ukpga/2023/50/section/109 It depends on the legal definition of "permits the suppression of... any information required". We'd have to hire a UK lawyer for a confident answer.
All this is a couple sentences in the law. The law is 250 pages long. Ofcom's guidance was rounding 3,000 pages the last time I counted.
If you want to understand the OSA, I think the most accessible and valid writing available is by Neil Brown: https://onlinesafetyact.co.uk/ There's a lot developing as Ofcom continues to publish new rules and ignore questions, so I suggest reading the 'Replies' tab of his fediverse account.
Comments from merged stories do have a label showing where the came from... but only before the merge; afterwards top-level comments are always attached to the primary story which is when things get especially confusing.
For this and other reasons, I'm in the middle of revamping UI for the feature and the database model: https://github.com/lobsters/lobsters/issues/1456
If anyone is real curious about the fine details, I've done almost all of this feature work on Lobsters office hours streams: https://push.cx/tags#story-merging I plan to continue that work in about four hours on today's stream so it's a great time to ask questions: https://push.cx/stream
As a (much) smaller community, story merging has been valuable for allowing us to build the critical mass of a good discussion. We also avoid rehashing the basics/easy misunderstandings. It's a pretty similar to dang's motivation about wanting to promote novel discussions. I have joked for a couple years that I'd love to see HN copy the feature so that HN can teach everyone how the feature works.
I've held a (trivial) business account at Mercury since before Synapse collapsed. Mercury has never attempted to notify me about missing customer funds, potential customer losses, or the lawsuit stemming from the collapse of their banking partner.
My friend had used a telehealth counseling service during acutely stressful events and Genesis demanded records that the service couldn't really be bothered to produce. It refused records from the actual doctor. Genesis's nitpicky follow-ups really went poorly with the modern standard for customer service, which is mostly nonexistent outside of billing. The back-and-forth went on for 8 months until my friend gave up.
> List.first : List a -> Result a [ListWasEmpty]
I found this section of the tutorial useful (and the preceding example of calling List.get): https://www.roc-lang.org/tutorial#error-handling
The `a` is the type from the `Ok` constructor (similar to Haskell's Left constructor in Either) and the brackets mean "List", not "optional" as in CLI docs, it's a list of types that might be used in the `Err` constructor (similar to Right). So `List.first` either returns `Ok a` or `Err ListWasEmpty`. For a slightly larger example, the tutorial has a `getLetter` that shows two error types.