Hacker Newsnew | past | comments | ask | show | jobs | submit | xionon's commentslogin

It isn’t a zero sum game. It’s possible for all students to get As and for that to still be a meaningful measurement of skill.

Grades don’t show your ability relative to others, they show your mastery of a set of knowledge and skills. You mastering something doesn’t prevent your neighbor from also mastering it.


It looks like grades may be different depending on when you were born.

https://en.wikipedia.org/wiki/Academic_grading_in_the_United...

In my day, Rank-Based grading was the system, but not just among the students in a specific class -- it was based on historical numbers. The same course was taught for many years so it was easy to get that longitudinal view.

Especially in secondary and high school, a 'C' meant you were average for the students who took the class. The tests had questions of differing levels of difficulty. If you couldn't answer the difficult questions, you clearly didn't "master" the material and therefore couldn't get an 'A'.

People with average ability would be expected to get an average on the test, so a 'C' would still mean you learned the material adequately and could move on to the next class / grade.


Perlmutter reportedly said audiences wouldn't notice a replacement actor because "black people look the same," and was a major blocker to woman-led superhero movies because he thought they couldn't sell.


Wow, glad the She-hulk & Ms Marvel returns proved him wrong!


The apartment analogy doesn't quite work, as the scanning only happened with photos that were going to be uploaded to iCloud.

It wasn't like constantly monitoring your private residence, more like setting up a breathalyzer checkpoint on the way to the freeway.


Fixed:

Your apartment complex decides they don’t want to be party to anything illegal. Just in case, they set up a police precinct in the lobby. They set up hidden cameras in the lobby, the hallway leading to your apartment, and the balcony of your apartment. "All public spaces of course" the crowd consents. And if their AI model detects anything suspicious, they send the video to the detective. Because you aren’t doing anything illegal, you have nothing to worry about, right?


You’ve just described every photo upload service in America, although my understanding was Apple would use a list of hashes of known bad content, not an “AI” as google does.

Everyone scans for CSAM. I am not conjecturing on the ethics of scanning photos here, I am suggesting that moving from server- to client-side scanning had no effect on any of the things you are ranting about. Hence why I do not understand the outrage.

> Working for me means not having software designed to report me to the police for how I use my device.

Let me fix it: “how I use iCloud Photos, a hosted service on Apple’s servers”.


Isn’t this literally done in most office buildings in the US and probably a lot of apartment buildings already? There are CCTV cameras everywhere in the US (and other countries).


Closer to scanning your vehicle for meth on the way to the freeway. Rather fraught analog either way perhaps.


I have a vague childhood memory of looking through a large illustrated book about spaceships in our public library and being in awe. When I came back on another trip, it was gone. I never knew the name or author, but the memory surfaces every few years. It always made me a little sad, because I couldn’t remember enough to find it as an adult - just the vibes I got as a child.

I am now 99% sure it was Spacecraft 2000 - 2100 AD. Thank you so much for posting the name and helping me solve this mystery.


You're welcome! One day when I was pretty young, my dad brought that book home from the local library. He didn't often do stuff like that, so it's a really nice memory.

I couldn't remember much about the book either. I did some digging a few years ago when I wanted to get a copy for one of my kids.

Tangent: the spaceship designs in the Homeworld games [0] remind me a lot of that book.

[0] https://en.wikipedia.org/wiki/Homeworld


What’s vile here?

The art looks unique, detailed, and dynamic.


Different strokes. It looks an unrefined, unskilled imitation of 100 year old art styles to me.


Maybe I’m misunderstanding what you mean, but the mural is close to 100 years old.


That would make it the tasteless trash from a vile era. Artists who knew they would never surpass the old masters, so they instead said, "are the old masters' works even that good?" Followed shortly by shit and menstrual blood smeared canvases


I think you're confusing two completely different periods and approaches to art. That "vile era" also produced Grant Wood and plenty of other iconic American artists, so it's not even clear what you're referring to (unless you just don't like anything contemporary, in which case, good for you?).


They're saying neither; they're saying that politics is inextricable from life, and that work is part of life. You can't extract politics from work any more than you can extract personal life from work. People aren't robots.


I can confirm that in Thunderbird 102 on Windows 11, you can use View -> Font Size via the menu. It changes all UI font sizes I could find. I don't remember if this setting existed in the 9x releases.

The default is 12px. The max appears to be 30px.

Changing font size only appears to change the UI font, not the message fonts, but it does appear to change all UI sections I tested. I saw increased font in the 5 major UI sections and the Settings section.

When setting size to 30px, the the email panes looks mediocre, but usable. The icons do not increase in size, but the bounding boxes for text areas do, so things lay out approximately correct. It's clear this is not yet fully supported.

The Address Book looks like garbage, and clearly has a layout bug. In the list of contacts, the selectable boxes around different contacts do not scale appropriately, and the text from one sits over the text from its neighbors. It functions properly, and the individual contact view is usable, so this may not be a deal breaker until its fixed.

The other sections I use (calendar & tasks) look fine. I do not have any chat accounts set up, so I cannot test that section.

Overall, I would rate it as a usable first step, but hopefully they do not consider it finished. As a minimum, icons need to scale with font sizes, and the padding between elements at high font size needs to scale, or at least have some breakpoints.


Thanks, View->Font Size is not present in the version I'm using, but it sounds like they may have just added it. I guess they finally listened to the cries of users. I will look into how to run the new version without confusing apt too much.


You think that China, famous for it's nationwide firewall, will provide open solutions?


What's possible is that China will have one policy for its own citizens, but another for the rest of the World. They have proven to be very flexible on ideology if it makes them rich.


Just ask Jack Ma


> I ran Rails in production years back and swore it off then. We had constant memory leaks that seemingly came from Rails itself, and the only solution we had was "just restart the server."

This hasn't been a serious problem in a decade.

> We also had no typing then, so every bug was a runtime bug. Hopefully it's improved in the years since...

The ecosystem has been introducing gradual typing, but even at high scale, types were not remotely the most common type of problem I ever ran into, and certainly not "every" bug.

(ex-Braintree engineer, we processed billions of requests on Rails)


> types were not remotely the most common type of problem I ever ran into, and certainly not "every" bug.

If you took that away from what I wrote, I apologize. I meant that without a compiler and type-checker, you would only find bugs at runtime. In my experience, the vast majority of these would be easily discovered by a compiler. Presumably that experience is shared by Ruby devs since they're now adding type-checking.

> This hasn't been a serious problem in a decade.

That may be true. I haven't had any need to revisit Ruby or Rails since I moved to Go. But it was a serious problem with no workaround, and I've never encountered any scenario like that since switching to Go.


While I do like static typing, I find more bugs because people have no clue about security and they think they can do it better by just tying together a few libraries and storing a jwt in local storage or they forget to handle Prisma exceptions or they didn't know what session fixation is or because they forgot to consider a corner case of foreign key exceptions from the database library, etc, etc than because somebody passed a string where an integer was needed.

Giving up frameworks with 10+ years of hardening and documentation and libraries and support etc just because of coroutines or static types or nice syntax or because that's what google does then I should do it too makes absolute no sense to me.


Yes. And new projects are even better started now with Rails than in the past (aside from the JavaScript hell still plaguing rails).

Active storage and variants make life so easy.


> (aside from the JavaScript hell still plaguing rails)

It's not too bad now, set up a Node environment and there's first class support for using vanilla esbuild or if you want to go without Node entirely there's import maps and lots of goodies at the Rails level to help you manage your JS dependencies. Technically Webpack is still supported too but it's vanilla Webpack instead of Webpacker, that's all part of the new https://github.com/rails/jsbundling-rails abstraction for using a number of different JS bundling tools with their stock set ups.

Personally I went with the esbuild + tailwind combo and it's been smooth sailing. I have an example app here https://github.com/nickjj/docker-rails-example.


If you're finding bugs in production that a compiler or typechecker could have found then there's something seriously wrong with your test suite. That's how Rails works, if you don't have 90%+ statement coverage it will be hell.


IME, adding that 90% statement coverage is much of the tedium and frustration of the job in Ruby-land--in particular for things that you just get solved for free with something like TypeScript.

It might have improved somewhat, but I find myself pretty comfortable with a much more pared-down test suite that focuses on correctness tests at logical module boundaries in TypeScript, rather than verifying things the computer can just do. I do look forward to seeing Ruby's gradual typing become more entrenched in the ecosystem, though, because I like the language--I just don't like using the language professionally because of the additional manual work I find myself doing.


> IME, adding that 90% statement coverage is much of the tedium and frustration of the job in Ruby-land--in particular for things that you just get solved for free with something like TypeScript.

I would argue that if your unit test is only testing things which would have been shown by the type system of another language, you are testing at too low of a level. In addition to being tedious, such tests are often very brittle.


Those tests are brittle, and they're also the thing that protects you at module boundaries when those boundaries are being hammered on by different groups of people.

Having them not be necessary is nice.


On the other hand, if you have a compiler/typechecker that finds things that your test suite could find I will always reach for the compiler/typechecker. No sense in writting tests against something a standard tool will find aside from sanitizing data from your inputs.


My experience with ruby is often documenting the expected argument and return types with comments and then writing code and/or tests to enforce the types.

Having also used Go a fair amount, I very much prefer the real type system which both documents and enforces.

I enjoy both languages though.


I’ve worked on many large rails apps at scale and large Java apps at scale. There has been no significant difference in the big count between them despite Java having static types.


Java has a bad type system that makes it awkward to express many well-typedness guarantees (too much boilerplate to create new types (classes or interfaces), no sum types (tagged unions), no null safety, exceptions are a mess especially with lambdas, and don't get me started about all the reflection madness of popular frameworks that throws type-safety out of the window, etc.). As a result you don't get much safety in exchange for all the boilerplate. Still, I find Java massively easier to refactor. You can remove a field from a class and verify that you've changed all the places that were using it (barring reflection, of course). In Rails, that requires at least running the whole testsuite which could be very slow (because Rails tests are often very slow). And even then, you have no guarantee you didn't miss a particular case.

Languages with better type systems do exist (Rust, Swift, Kotlin, from what I hear even typescript?, and all ML type languages including Haskell, ...). They are much better at preventing bugs. My life became better when I had to stop worrying about NPEs, for example.


I’ve had the same experience with Swift, Kotlin, and typescript. No clear difference in quantity of bugs or speed of development.


> [...] types were not remotely the most common type of problem I ever ran into, and certainly not "every" bug.

That's a typical response from dynamic typing advocates, but the response is that in a language with a good type system, many more things can be type errors than would be in a dynamically typed one.

For example, from my time writing Ruby, trying to call methods on `nil` was an incredibly common error, but this is simply a type error in some more modern statically typed languages (including Kotlin and Swift).


A substantial number of bugs I see where a method is called on nil are business logic errors that result in something not being where it's expected, and those bugs would just manifest differently at runtime with static typing. Every web app I've ever seen in a statically typed language has plenty of logic relying on "unwrap nullable or raise error" mechanisms.


That may be your experience. It's not mine. Null-safety forces you to think about the exceptional case (and whether it is supposed to occur at all). If you do so poorly, yes, you'll have errors too. But it's not something that can happen to you by accident.

For example, if you have a method A that gets a foo from the method B and then does something to that foo, you might get a runtime error if B returns nil. If this happens over dozens of method calls, it can start to become very hard to see where the error was introduced.

But if you know that B is always supposed to return foo and never nil, then the compiler can show you where the error in your definition of B is ahead of time.

The value of null-safety is not in making everything nullable and then just proceed with unwrapping etc., the value is that we can make a lot of types explicitly non-nullable.

I don't think it's controversial that a good type system allows to verify more soundness guarantees at compile time. The only controversy is whether it's worth the effort.


I agree with you about the value of static typing and non-nullability, don't get me wrong. My experience is just that _web development_ and other use cases traditionally favored by dynamic interpreted languages tend to have a lot of unexpected nulls of a type that are not prevented by strict typing. There are other types of bugs that I absolutely expect to see less of with strict typing.


I agree, I think it’s a good reason to use the static typing in Ruby > 3.0.

Any static analysis tool you can use to catch bugs before runtime in production is something we want.


How do you celebrate one’s accomplishments while ignoring one’s behavior in the process of making those accomplishments?

Or rather, is it actually too nuanced to think the ends don’t justify the means?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: