siderea: (Default)
Siderea ([personal profile] siderea) wrote2025-11-06 03:12 am
Entry tags:

SNAP [curr ev, US]

Americans, as I hope you know, on Nov 1st, the Federal government, being shut down, did not transmit the money to the states to pay for the Supplemental Nutrition Assistance Program, aka SNAP, aka "Food Stamps". In many states, SNAP money is supposed to hit recipients' EBT cards on the first of the month. It didn't. There is in the SNAP budget funds to cover emergencies, but Trump said he would not release it; lawsuits ensued, and as of right now, partial payments are going to be or have been made.

I commend the following video to you. It's longish - 26 minutes – but worth your time.

2025 Nov 1: Hank Green [[profile] hankschannel on YT]: "This Shutdown is Different"

Hank Green, of vlogbrothers fame, invites Jeannie Hunter, Tennessee regional director of the Society of St. Andrew (aka EndHunger.org), on to his personal chanenel explain how the US's Supplemental Nutrition Assistance Program, aka SNAP, aka "Food Stamps", actually works.

Hunter turns out to be a great interview subject and the resultant conversation was fascinating. I highly recommend it - not just to understand what's at stake in the goverment shutdown, but for your own simple enjoyment of learning how things actually work, and also so you can more eloquently advocate for this system.

graydon2: (Default)
graydon2 ([personal profile] graydon2) wrote2025-11-05 12:28 pm

A note on Fil-C

Filip Pizlo recently released a (solo!) project called Fil-C that adds a memory-safety instrumentation pass to clang (for spatial safety -- out-of-bounds accesses), along with a runtime support library and a concurrent GC (for temporal safety -- use after free). It is, by the standards of such tools, highly compatible with existing code -- so much so that building a full linux distro userspace seems likely within reach with only modest patching effort. The stated performance overheads (measured by Dan Bernstein at "about 1-4x cycles") are by modern standards "probably tolerable" for many workloads (EDIT: also see a few initial measurements I made with the "optfilc" tools -- I did less-micro benchmarks and found a wider range), especially stuff that's IO bound or not otherwise straining for maximum performance.

I'm happy to see this work exist. It builds on a long line of academic and industrial work in this space (that Pizlo happily cites), including his own many years of iteration on the subject while at Apple. If I understand correctly, some of those earlier iterations are already in production in security sensitive code. I recall talking with Pizlo about these prototypes when I was at Apple too, and I'm pleased to see the work maturing to its current state.

(He also makes an interesting point that the bounds checking Fil-C inserts can make pointer-twiddling C code safer than pointer-twiddling unsafe Rust. This seems likely true! And it would be interesting to know if there's a way to have the best of both worlds, eg. if his instrumentation pass could be adapted to compile otherwise-full-speed optimized unsafe Rust blocks with a little bit of systematic compiler-injected bounds checking, perhaps derived from Rust's strict pointer provenance? Obviously this wouldn't be appealing for folks who use unsafe blocks for speed, but I think a lot are for other reasons and might enjoy an extra layer of checks. This is well beyond anything I know anymore, sadly I've long since lost track of what rustc can or can't do. Just speculating, but it seems to me that most unsafe Rust code doesn't allocate or free or interact with an allocator at all, so you'd want to drive it from something other than allocator, could probably still omit the GC.)

Naturally Fil-C has some caveats (if we're comparing to Rust, say, or other PLs with restrictions on mutable aliasing):

  1. It's not going to statically prevent any of the errors it prevents; it's strictly dynamic. So your programs will still crash on memory errors. But almost all programs have paths that crash, and perhaps the density of crashes will be tolerable.

  2. In addition to the stated performance overheads there will be a space overhead, as deferring frees until the GC is sure they're garbage (unreachable) will retain that garbage for a while. On most GCs the amount of memory spent on garbage is tunable: make the GC work more often and there's less retained garbage, but typical GC tuning will put the overhead at 1.5x-2x the memory. I haven't measured Fil-C-compiled code at all to see what its overheads are here EDIT: see measurements above, also included memory, looks to be more like 3-6x?) Anyway computers do have a lot of memory these days.

  3. It's not going to do anything much to solve data races or help with local reasoning for correctness. Preventing mutable aliasing has additional correctness advantages beyond being a tool for memory safety. Fearless concurrency remains out of reach. But perhaps it's less fearful since you'll only crash or get data corruption.

  4. There'll be a big obvious switch you can flip -- compile without Fil-C -- to turn the safety back off everywhere to make the program faster and use less memory. There will be a lot of temptation from bosses who like to see better numbers to flip that switch. But perhaps bosses in 2025 are safety conscious enough to leave it on.


In any event, I only mention those caveats because they're the sort of thing that motivated languages like Rust in the first place. There have been memory-safe, bounds-checked and GC'ed AOT-compiled languages for a long time! And I like them! I'm happy to code in Haskell or OCaml or SBCL or Modula-3 or Java or C# or whatever. The main problem motivating Rust was that there was an audience of developers who wouldn't accept those PLs for their use cases. People were very very attached to their C/C++ performance and memory-usage envelopes. Like there are (or were) a lot of people who argue against having frame pointers too. It's weird! The gap between C/C++ and the next-fastest safe PL has never been especially huge, it's never anything like the performance gaps between different generations of hardware. But it persists across time, and it's been enough for decades to sustain the "we have to be unsafe" argument.

If times have changed and people are now mostly ok with the caveats and will throw the switch to turn safety on, I'm super happy for that to be true! Code that fails more-safely on memory errors is a great thing for human civilization. For people who have huge legacy C/C++ codebases with no ability or desire to rewrite, or even are writing anew but feel constrained to avoid (or just don't like) safer PLs, I hope Fil-C meets their needs. If at some point (say) there's an easy-to-install Debian distro built with this, I'll probably use it.
dragonbat2006: Canon Error (Default)
dragonbat2006 ([personal profile] dragonbat2006) wrote in [community profile] little_details2025-10-27 10:39 pm

UK Boys' Boarding Schools circa 1914

 I tried Googling and got general info on curriculum, specific schools, and alumnae pages, but not the specific details I'm looking for.

My main character is an upper class 13-year-old boy who, due to long-term illness/frailty was educated by tutors at home, but is now being sent away to school. (Probably England, but since he lives in Yorkshire, I'm not completely opposed to it being Scotland if it turns out that there are significant differences in school experiences between the two countries and Scotland would work better for my character.)

1. Would most pupils begin classes in the fall term as is typical today? As in, would it be realistic for him to begin in September? Or was it more of a rolling admissions thing?

2. How far in advance would his father need to contact the school to enrol/register him? Would there normally be an entrance exam, or would it normally be, 'We accept anyone who can pay the fee, provided there's space'?

3. When it comes to letters to and from home, would there be any reasonable expectation of privacy, or would it be common for staff to read each piece of correspondence? Specifically, the boy has a female cousin of the same age with whom he's quite close. Would he get into any sort of trouble for writing to her or would her letters to him be delivered?

4. If she were in the vicinity of the school, would it be possible for them to meet under the auspices of a chaperone, or would that be totally unheard of?

5. How much would the outbreak of WWI impact him? I would guess that some of the younger teachers would have enlisted over the summer and some of the older boys talking about hoping it won't be over before they get a chance to get in it. Would that mean larger than expected classes? 

Thanks so much!
mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)
Mark Smith ([staff profile] mark) wrote in [site community profile] dw_maintenance2025-10-25 08:42 am

Database maintenance

Good morning, afternoon, and evening!

We're doing some database and other light server maintenance this weekend (upgrading the version of MySQL we use in particular, but also probably doing some CDN work.)

I expect all of this to be pretty invisible except for some small "couple of minute" blips as we switch between machines, but there's a chance you will notice something untoward. I'll keep an eye on comments as per usual.

Ta for now!