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

This is cool but like...a docker container running locally works fine too?

So this article itself is literally content chunking.

> So you end up with short paragraphs, sometimes with just one or two sentences

The average number of sentences per paragraph in the article is... 2.4


Most of it seems fine, although eating even more meat than we already do is a bit perplexing.

The new "guidelines" for alcohol are pretty laughable though. I say that as someone who enjoys his fair share of beers. “The implication is don’t have it for breakfast," <- direct quote from celebrity Dr Oz during the press conference.


Steve Jobs died 14 years ago. If we're attributing this to those in charge, Jony Ive's departure is much more correlated.

Apple's UI design started going downhill with the iOS 7 "flat design" release which was very shortly after Steve's death, and seemed to correspond to Ive being given a little too much free rein in the leadership vacuum that followed.

Jobs had his own flaws, but he was definitely a huge part of why Apple's UI design (and product design in general) has historically been as good as it has.


> Apple's UI design started going downhill with the iOS 7 "flat design" release which was very shortly after Steve's death, and seemed to correspond to Ive being given a little too much free rein in the leadership vacuum that followed.

This was so obvious to me. The damage done to Apple by losing Jobs as their most vicious editor was almost instantly noticeable.


I agree. Jobs being around for the birth of the GUI probably played a big role in that. Pushing past text-based terminals to graphical interfaces meant having to spend every moment thinking about purposeful interaction and design.

Maybe we could use Vison Pro to recreate a visit to Xerox Parc in 1979 to inspire the current designers to use UI patterns that gave been working well for fifty years.

Pretty sure iOS 7 was regarded as awful on launch and then a little while later people decided it was amazing and lovely to look at once the kinks were ironed out.

People just don't like new things that change what they are used to.


Apple spent the next several years walking lots of the changes back, in particular the thin text and overdone translucency

One thing I'll definitely give Apple is that they have walked back some design decisions that were total flops in the past, such as the butterfly keyboard and the touchbar (though I found it more than a bit annoying when I'd see reviews saying how great and visionary Apple was for simply undoing bad decisions - it deserved an "OK, good" not an "OMG Apple is amazing!!)

I like this article because it points out how undeniably awful some of these decisions were in a "this signifies something is seriously, fundamentally wrong with Apple design" way. I really hope Apple listens a does a major course correction.


Count me as someone who never turned around on the iOS 7+ flat design being a usability degradation.

> then a little while later people decided it was amazing and lovely to look at

Sorry, who decided this? Which people exactly?


Alan Dye designed IOS7 as well.

iOS7 was great; it had mistakes but they ironed them out. Aqua under Jobs had mistakes too... OS X was hated at first.

Apple often took bold steps and then improved things.

But Liquid Glass seems like a step in the wrong direction.


Jony Ive’s elevation was the problem: neither he nor his protege Alan Dye (who worked on the boxes) had UI training or experience and that has shown since iOS 7 where the focus shifted to things which looked nicer on the side of the iPhone box than they are in actual use - stuff like Liquid Glass shipping with an illegible lock screen keyboard is possible because they never put the lock screen in a presentation or product screenshot.

As a complete outsider, my impression is that this started slow because they had to politically overpower Apple’s actual UI group. Liquid Glass probably managed that with a unified look across all devices pitch which should’ve weighted the relative impact on the popular platforms much higher than the niche Vision Pro.


Yea. Nobody wants to be a full-time code reviewer.

Hi it's me, the guy who wants to be a full-time code reviewer.

If you really did that full time and never wrote code, you’d be a terrible reviewer.

This is fine for us who've been building code by hand for many years before the advent of LLMs but it's definitely going to be a problem going forward.

strong +1 here :-)

Be careful what you wish for.

I generally agree with you, but am trying to see the world through the new AI lens. Having a machine make human errors isn't the end of the world, it just completely changes the class of problems that the machine should be deployed to. It definitely should not be used for things that need those strict verifiable processes. But it can be used for those processes where human errors are acceptable, since it will inevitably make those some classes of error...just without needing a human to do so.

Up until modern AI, problems typically fell into two disparate classes: things a machine can do, and things only a human can do. There's now this third fuzzy/brackish class in between that we're just beginning to explore.


I can agree with you. And in a discussion with adults working together to address our issues I will.

The issue is that we don't have exact proof that AI is suitable for tasks and the people doing those are already laid off.

The economy now is propped up only by the belief that AI will be so successful that it will eliminate most of the workforce. I just don't see how this ends well.

Remember, regulations are written in blood. And I think we're about to write many brand new regulations.


Yea I'm not attempting to make any broad statements about regulations or who has or hasn't been laid off. Only that a common mistake I see a lot of people making is trying to apply AI/LLMs to tasks that need to be deterministic and, predictably, seeing bad results.

There is a class of task that is well-suited for current gen AI models. Things that are repetitive, tedious, and can absorb some degree of error. But I agree that this class of tasks is significantly narrower than what the market is betting on AI being able to accomplish.


Fairly hardcore rubyist here. Ruby-lsp is excellent. But in no way is RBS becoming standard. Maybe it will, I don’t know. But adoption is very, very low as of today. Rbs-inline is just someone’s pet project and has very little activity (though it does appear that the person who wrote it is trying to implement it directly into Rbs now, which would be great)

Personally I can’t see any comment based typing system gaining real traction.


As long as Matz is firmly against, inline typing should never be a part of Ruby. I started working on a large Rails codebase that adopted Sorbet and it is nothing but an impediment to progress.


I work in a large Sorbet codebase (though it isn't a Rails one) and it's a huge boon IMO. The number of tests we don't need to write because of Sorbet is really nice.

It does occasionally require structuring your code differently, but I find the type-system-encouraged approach often gives a more elegant and harder-to-misuse interface in the end.


You work in a large Ruby codebase that _isn't_ Rails?! Are you hiring??


I was assuming Stripe, but would love to hear of others!


Very curious to hear about the specific cases where types make tests unnecessary.

I spend my working life swapping between Ruby and typescript projects and the typescript project is utter garbage with poor test coverage that needs a day of human QA for every build whereas the Ruby project is well tested such that we know that CI passing means it’s good to be released.


Types don't make testing in general unnecessary, but it removes a class of error handling that runtime type checking handles for you. You can really trust the types when using Sorbet.

(I also work in a 40m+ loc non-rails ruby codebase that is almost entirely typed with Sorbet.)


Haha “tell me you work at Stripe without telling me you work at Stripe”


I think it will need to be a strong 3rd party that basically gives it the Typescript treatment.

Adds type annotations to the core language syntax. The compiler does type checking, strips the annotations, and outputs plain Ruby.


Sorbet is backed by Stripe.

Why is it important to be a separate layer that compiles to plain untyped Ruby?


So that it doesn’t have to go through the Ruby development process. Matz doesn’t want it, and even if he did it would take years just to get people to agree on a syntax, much less actually get it implemented and rolled out.

Same reason Typescript was made and we didn’t add types to JavaScript.


Is Sorbet not what you’re describing?

And RBS is officially part of Ruby…


Neither of them integrate annotations into the language. They’re both bolt-ons and it shows, badly. If either of them were good developer experiences one would have caught on. But they’re both way off the beaten path in terms of what engineers expect in a type system and not in a good way.

Type annotations in the language as syntax. Static type checker with an emphasis on inference. Compiles into Ruby so that it integrates with the entire existing Ruby ecosystem, so unlike Crystal as well.

Those are the general features you need/want and why TS caught on and none of the existing solutions hit the mark.


You might find https://blog.jez.io/history-of-sorbet-syntax/ interesting, written by one of the primary contributors to Sorbet.

Sorbet is a bit different from TypeScript because it has runtime type checking, not just static.


> adopted Sorbet and it is nothing but an impediment to progress

How so?

I never really missed types in Ruby, even if I like them a lot in typescript, but right now I'm doing some "vibe coding" on a personal project and I was thinking about trying Sorbet. I think that it could help Claude Code avoid some mistakes it often makes which make it waste a lot of time fixing.


It’s not a huge impediment but it adds up through: extra lines of sig code I now need to essentially ignore as I read as well as waiting for precommit hooks to check a giant codebase for compliance, plus extra rbi files in git. If engineers followed convention over config and tested types where necessary, no need for inline types. Just use TS if you want types.


Interesting: how is CC in your experience at writing tests and then using them to avoid mistakes?


When writing non-vibe-coded software I use CC a lot to write tests, but I have a skill to tell it not to create redundant tests, which otherwise it tends to do, and I have to check them anyway to ensure that they cover what needs to be covered, and sometimes to trim them down.

When vibe coding, what I noticed is that CC tends to make mistakes which it does catch with tests and fix on its own, but my hope is that using Sorbet this will happen much less, and thus development will go faster with less (slow) test cycles.


Very interested to read the blog post about the results.


DHH also doesn’t like typing in Ruby at all, and Rails is designed around what he likes.


Maybe I wasn't clear, but until now there were 2 types of type notations being debated, RBS and sorbet/RBI. Sorbet adopting RBS means that's the lowest common denominator. Typing is definitely not a standard, not yet. rbs-inline is definitely not a pet project, it's the RBS creator response to the main complaint about RbS , its the reason sorbet finally adopted it, and will be part of mainline rbs gem.


Almost any modern rails apps that have a job queue will use this at some point


So....LLMs can hallucinate GIDs. I hope that everyone is aware of that.


Is there any way to actually enforce this in reality? Eventually some leaf service is going to need to hit an API on an upstream node or even just 2 leaf nodes that need to talk to each other.


IAM roles.

Said less snarky, it should be trivial to define and restrict the dependencies of services (Although there are many ways to do that). If its not trivial, that's a different problem.


I don't mean that. I mean that eventually the business is going to need some feature that requires breaking the acyclic rule.


Ah, you don't mean enforce a novice making a mistake, you mean ensure from a design purity perspective?

I don't think its true that you need requests to flow both ways. For example, if a downstream API needs more context from an upstream one, one solution is to pass that data down as a parameter. You don't need to allow the downstream services to independently loop back to gather more info.


Again, it depends on the business case. Software is simply too fluid to be able to architect any sort of complex system that guarantees an acyclic data flow forever.


Since you called the problem “trivial,” we can now all depend on you to resolve these problems for us at little cost, correct?


Restricting arbitrary east-west traffic should be table stakes... It should be the default and you opt into services being able to reach each other. So in that sense its already done.


The solution requires AWS since the gp thinks that's the only access control mechanism that matters. So I doubt there is going to be little cost about it.


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

Search: