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

Sad to hear that about the PS3, seeing how long it took them to go to market.

Been driving a Polestar 2 for nearly 4 years now and while it’s not a disastrous experience it could be a lot better. Things have improved over the years, but still pretty disappointed.

The infotainment system runs on a very outdated atom chip that’s too slow for Android Automotive. Constant frame drops, crashes or stuff just generally not working.

In a recent software update they disabled the cockpit view if you put it in reverse, just to save on resources.

The whole Android Automotive thing is worthless. There are barely any apps and when they finally released YouTube after 2 years it was just a buggy wrapper around the mobile web view. Most videos will just display a green screen due to lack of codec support, so I just pull out my phone now when I’m charging. But even the radio or Spotify fail to play half of the time.

The 360 degree camera sometimes will just not work. I still have a tiny back window, unlike the Polestar 4, but the reverse lights are so tiny and dim that it’s impossible to see anything when reversing at night.

Digital Key works, but also have to regularly pull out my phone to trigger it or manually press the button in the app. If you’re in a parking garage without internet you’re simply not getting into the car. And that’s without the random logouts.

Lane assist works relatively well, if it weren’t for the constant nagging to put your hands on the wheel even if you’re lightly tugging it. I need to really jerk it a bit before it stops beeping at me, making it completely useless.

Maintenance happens at the Volvo dealership where they made sure to make me feel like a second class citizen for not leasing a Volvo. They didn’t read my reservation mentioning the broken rain sensor, ensuring I had to return a week later for them to replace it because they didn’t have the part in stock.

I was between a model 3 and this car initially. Mainly because of the software, and for that reason I still regret not going for the M3, but given the current situation I’m happier driving the PS2.

Nearly 4 years in the chipset is still the same for the newer model.


Oh believe me, model 3 is a piece of garbage. Mine started to creak after 20k miles. 2 months after repairs the car started to creak again. I am talking loud, embarassing creaks like old barn doors. Repair costs were so high my insurance company canceled. I will never ever own a Tesla again. Btw it's funny how people complain about auto pilot. At least you can disable auto pilot, making it the last problem to worry about with those trash cans.


I got a loan for a house 2 years ago. The process included showing our 3 last pay slips, the expected cost of the house (new build) and showing the bank how much money we had in our accounts (I loaned at a different bank that gave me better rates). There was a base percentage that lowered based on your level of income and the ratio of own contribution/loaned amount.

I live in a Central European country.


Eastern Europe: I must consent and they do check whether there are any other loans and how good I have paid them. So they do evaluate credit rating at least here.


So, credit score with extra steps, and no rewards (lower interests) for people who could prove that they are solvent and responsible with money.


Having bought a house a couple times and having a 800+ credit score each time it doesn't sound like extra steps at all. I also had to provide all that information and more to get a mortgage


Well interest rates are lower in Europe than the US.

The other advantage over credit scores is that people willingly give their information out and are able to understand the banks decision.


> and no rewards (lower interests) for people who could prove that they are solvent and responsible with money.

That's really what's driving support for credit scores, isn't it? That they provide some some people the (perception of an) ability to prove their character, their moral superiority, and to feel rewarded for all their hard sacrifices.

Similar, I believe, to credit cards and all those rewards and air miles shenanigans - everyone feels they're gonna be winners, so they support a private tax on everyone.


Those seem totally distinct?

For example, credit card points are a zero sum game. Credit scores are not. Everyone could be creditworthy, but many are not, and it’s highly beneficial to the entire system to be able to identify which group a person fits into (including for the person who isn’t creditworthy!)


Maybe?

My mind isn't made on credit scores, though I do feel it might be a case similar to insurance - it's not strictly a zero-sum game, but it's also socially harmful to have such a system be 100% efficient. I.e. with insurance, if everyone was correctly pooled into small bucket that near-perfectly reflects their actual risk profile, insurance would stop making sense - those who need it most wouldn't be able to afford it, and those who could afford it need it the least and would be better off putting that money into savings accounts.

There's a lot of areas in the economy where increasing efficiency past some point just makes systems inhumane and exacerbates social problems.

I feel default risk estimation may just be like that - the more reliable you want your credit score, the more invasive you need to be wrt. what information you collect and how you do it; meanwhile, the system becomes less and less tolerant of mistakes and unfortunate circumstances, while also exerting more control over how people live their lives.

Already the US credit score makes people obsessed about credit, and getting credit cards and loans to improve/game their credit scores with their future mortgage in mind. That very much affects people's life choices at scale. I don't think having everyone leading their lives to optimize their credit score is a way to have a healthy society; conversely, maybe letting the lenders eat a little more risk, and the wealthiest (and most responsible with money, and most morally superior) have a little smaller line, actually improves overall well-being.


I agree with your concerns but don't feel like we're at that tipping point to be honest, relative to the value of credit being generally easy to get for the legitimately creditworthy.

> Already the US credit score makes people obsessed about credit, and getting credit cards and loans to improve/game their credit scores with their future mortgage in mind

I've encountered very, very few people doing this to an inappropriate degree (obviously yes you should consistently demonstrate creditworthiness, that's not gaming though). Anecdotally, the people I see doing this are actually seriously not creditworthy. A whole lot of "you bought 3 cars and fucked your score, here's how to dig your way out." But like... the evidence actually shows you can't be trusted with credit!

I don't disagree with any of your big picture concerns about the system and the possible edge cases or distortions of priorities. I just haven't seen evidence those are huge problems relative to the value of the system.


Next should have the same functionality that Gatsby had when doing a static export: pre-optimised images for different breakpoints that are created at build time. That would be a truly portable solution.


SVG elements also support currentColor for the fill property, which is linked to CSS’s color property.

<svg><path d=“” fill=“currentColor” /></svg>

element { color: hsl(0 0% 0%) }

One advantage is that you can target the parent element and the SVG will change automatically.

You can also create multiple “shades” by having currentColor on multiple paths with different opacity.


Pretty clean, I like it.

I tested it out on a page I'm developing that has some meta data on a TV show. One of the elements is a set of divs each containing span with an `aria-label` describing the contents. With MacOs' VO this gets called out correctly, and Chrome's Accessibility Tree also picks this up, but this tool doesn't show the `aria-label`, it just shows the separate values as strings one after another.

It also picked up a `::before { content: ", " / ""; }` as `, value`, but that's not supported very well in general.


Is there a chance to get a link to the page? I'd love to try it out and fix.


I can't link the page, but this is a cleaned up DOM output (the extra spans/divs are components):

`<div><div><span aria-label="IMDb rating" title="IMDb rating">IMDb 8.2</span></div><div><span aria-label="Parental guidance" title="Parental guidance">12+</span></div><div><span aria-label="Production year" title="Production year">2007</span></div><ul aria-label="Genre"><li><div><span>Romance</span></div><li><div><span>Comedy</span></div></ul></div><section><div><h2 id=":r1j:-cast">Cast:</h2><ul aria-labelledby=":r1j:-cast"><li><span>ABC</span><li><span>DEF</span><li><span>GHI</span></ul></div></section>`

`section ul { margin: 0; padding: 0; list-style: none; li { display: inline; &:not(:first-child)::before { content: ", " / ""; } } }`


Adding a name to an element without a role, like span or div, is technically invalid; in this example, only the <ul> elements have valid names added to them, because they implicitly have the role of "list."

Also, aria-label and aria-labelledby replace the contents of an element when the contents would otherwise be the name; if the <span> elements where <p> instead (which has an implicit role), screen readers would only read "IMDb rating" and not "IMDb 8.2."

What might be happening is the aria-label attributes are ignored but the title attributes are used as a description after the contents. For some elements `title` can be used as an element description; I think descriptions are also invalid without a role but they may get used anyway.

I think it's best for a visualizing tool to not display attribute information that won't be used by screen readers.


That's some good feedback and I honestly think this should have been an definition list from the start.

I was interested about how it would change if I replaced those `span` with `p` and it still reads the entire block for me with VoiceOver.

- Parental guidance, group

- [arrow right]

- end of, Parental guidance, group

- [arrow right]

- 14+

- [arrow right]

- Production Year, group

- …

When I look at the Chrome Accessibility Tree it shows

heading "Tags"

  paragraph "Parental guidance"

    StaticText "14+"

  paragraph "Production year"

    StaticText "2016"

When I revert back to the span the `paragraph` is replaced by `generic`. I only have hands on experience with VO so I imagine that JAWS/NVDA might yield different results.

I do believe you're right that this shouldn't be a `aria-label` and I will replace it with `aria-description`, but I don't think that we can say that `aria-label` should only be used to fully replace the contents, as a landmark container would also be named by aria-label: https://www.w3.org/WAI/ARIA/apg/patterns/landmarks/examples/...

Edit: I just tested this but `aria-description` is not read at all. And https://developer.mozilla.org/en-US/docs/Web/Accessibility/A... seems to indicate that aria-label should still be ok, but the div does have a `role="application"`


Be aware that the vast majority of people who rely on VoiceOver use Safari as their browser; on mobile devices, they have no choice. There are some ways in which Chrome for Mac does a better job of managing its accessibility tree than Safari but there are a bunch of other issues.

Accessible Name and Description Computation is complicated, some elements can get their name from their contents and some can't; frankly, I can't keep it all straight in my head.

https://www.w3.org/TR/accname-1.2/

Additionally, there's what the specs say and what browsers and screen readers actually do.

VoiceOver doesn't support the `aria-description` attribute yet. The `title` attribute is often computed as an element's description, when it's not computed as its name (it's not a good choice for naming elements, except <iframe>).

https://a11ysupport.io/tech/aria/aria-description_attribute

`role="application"` isn't a good role for static content and should only be used when letting a screen reader used its keyboard shortcuts would interfere with the user operating interactive controls (which should rarely be the case).

https://www.w3.org/TR/wai-aria-1.2/#application


Don’t get me wrong, I was just making an observation about a ‘role’ being specified. Not suggesting the role=“application” should be used here.

Ultimately in my case I’m leaning to either replacing the production year, parental guidance and IMDb rating with a dl or prepending sr-only titles to the individual tags.

I tested the page with VO on Safari and got the same results as on Chrome. So the good thing is that in practice the current setup appears to be accessible, but it’s frustrating that the theory seems to be different and just not clearly defined.


That's super helpful. I will get this fixed soon :)


I wish! I love working with HTML and CSS, but every front end job is covered by the blanket term “front end” that considers you as much a JavaScript ‘architect’ as they do a UI developer. Not realising that this does not make the slightest sense.

Can’t tell you how many times I’ve had to tell experienced developers they should use anchors to link to other pages and not an onClick. Those same people are much better in architecting then I will ever be, yet technically we have the same job description.


> use anchors to link to other pages and not an onClick

That's beyond bizarre.


Not if you consider that a lot of front end developers today started learning web development through JavaScript.

I started around 2000, when people were still using tables for layout and CSS was pretty new. If you wanted interactivity you relied on the built-in tools on the web because there was no other choice (apart from something more extreme like Java applets or Flash).

Today’s web developer starts with something like React, learns JSX instead of HTML and doesn’t need the form tag or checkboxes/radiobuttions/select because they have useState, onClick and className to highlight whatever they think is active. I’ve been working as a React consultant for +6 years now, and every PR I see has the same issues.

I wish I was lying about the onClick on anchor tags, and for primary navigation it’s usually done right. But once they see a block link that contains multiple components (a “card”) the mind always seems to jump to onClicks that call navigate.

A more advanced error is when something is an anchor, they correctly implement the a tag with an onClick and preventDedault, but they forget to check if the user is holding down shift, hyper or control or if they pressed any other than the primary mouse button to try and open the link in a different tab/window.

Semantics in general is a lost art as well. A Text component that only returns p or spans is used for titles, they don’t consider hierarchy at all.

To be fair, there is so much logic in the client now that I understand that people with different ambitions have taken an interest in it. The only problem is that companies just blindly hire for front end developers without considering the different expertises.

I think this is the root cause for a lot of the complaints HN has about JS. I want to build good UI and UX, but there’s so much other work and configuration that I’m expected to work on, in a limited timeframe to not ruin my velocity that I just never get to it.


As an unhappy front-end web developer I feel I'm mostly unhappy because my job title has stayed the same, while the responsibilities have changed drastically. I've always been a developer that liked to work on the UI. I got joy from creating good looking and feeling components, going the extra mile in terms of small animations and tidbits to make it feel just right. As the years went on JavaScript played a bigger part in that, so naturally I picked that up as well. But I still only learned JavaScript to enhance the visual components that I was building.

Now, n years later I can barely work on the graphical side anymore because most of my time is spent on writing business logic on the client. Fetching data from the server, parsing and massaging it, data management, … So I've basically become a backend developer for the frontend now.

The visual part of the web has been taken over by tools like Webflow and Framer or the other extreme with ThreeJs. I recently talked to some companies/recruiters just to casually see what was available and my desire to go back to the more graphical/ui/ux side of things, but everyone was just looking for a 'react developer', so just the same boat that I'm in now.

So yeah, I power through, but that doesn't mean I'm happy about it. I'm also not completely unhappy, but things could definitely be better.


Grid has been around for a while now, together with flex it’s the way to go to start building layouts. But like everything it requires practice to get the nuances down and learn about the pitfalls. You won’t experience many cross browser issues these days with either of them. And in terms of accessibility you mostly need to consider that visual order does not necessarily match tab order. Especially for grid where you can arbitrarily place elements in the grid.

An older resource for learning grid would be https://youtube.com/playlist?list=PLu8EoSxDXHP5CIFvt9-ze3Ing.... 6 years old but grid itself has gone mostly unchanged. https://css-tricks.com/snippets/css/complete-guide-grid/ https://css-tricks.com/snippets/css/a-guide-to-flexbox/

https://flexboxfroggy.com/ Is a good way to introduce yourself with the concepts of flexbox.


And this one is for the grid https://cssgridgarden.com/


We just turned back from Nextjs after a 4 month trial for a new application.

Some issues we ran into:

- The dev environment is too finicky. Full page reloads instead of HMR and random errors after x reloads.

- Cache is a black hole and works differently between dev and production. They’re changing things up now with v15, but this lack of stability is not fun to rely on.

- The file based router has its limitations. For instance: having the language in the URL means your entire tree remounts when the language is changed.

- No clear way to bootstrap specific stuff outside of React

- Portals don’t seem to work on the server.

- very easy to mess up auth stuff. At some point Supabase even put out a YT video [0] where their implementation caused auth to be accidentally cached. There are 3 levels of checks you need to do just to be safe, but this is all very opaque.

For me it also wasn’t clear how to combine client and server state. These patterns haven’t been defined yet and I kept running into hydration issues with no clear solution.

A year after the app router the eco system still feels very much in limbo and brittle.

I also worked with Next as a replacement for Gatsby’s SSR, but quickly discovered that there’s no easy way for Next to just pre generate all responsive image sizes it needs for a static output like Gatsby has. You need to implement a custom loader and rely on something like cloudinary. This is ridiculous for a completely static site.

[0] https://youtu.be/v6UvgfSIjQ0


  - very easy to mess up auth stuff. At some point Supabase even put out a YT    
  video [0] where their implementation caused auth to be accidentally cached. There 
  are 3 levels of checks you need to do just to be safe, but this is all very opaque.
Auth is all you need. It is a non-functional requirement in that your site is non-functional if auth is broken.

In the large it is Yahoo or Google or Facebook buying a site and hooking it up into their entire service but in the small it is "I want an email newsletter script" and instead of messing around with HMR and file-based routing and other inessentials to develop my own, I just pick a best-of-breed application and hook it up to my user database and auth system and I am in business. (Today, without a clean API, I can hack that application to query my user database and be behind my auth module if the tech stack is sufficiently similar to my own at risk of braving whatever inessentials that route entails)


Rolling your own auth is like the first big no no in application security. Unless you're an expert, leave it to the experts


Absolutely disagree. You shouldn't roll your own bcrypt, but you should have full knowledge of how it's used to offer authentication. Hell this is required to even move forward with sales in many enterprise software contexts. If you don't know how passwords work, for the love of god don't offer password-based login.


Exactly. It is not the implementation of the auth module that matters to me so much as is the API through which it slots into the rest of the system. I want the expert designed modules that I can plug various systems into.

Because we haven’t seen good frameworks at the user management level, I think, the mistakes made by the creators of that YT video are common in the industry.


[flagged]


Please make your substantive points thoughtfully and without personal attacks. "The fuck you are talking about" is much too aggressive for this site, as you'll see if you'll review the guidelines.

Even "I'm sorry but" is the sort of flamebait we're trying to avoid here.

If you wouldn't mind reviewing https://news.ycombinator.com/newsguidelines.html and taking the intended spirit of the site more to heart, we'd be grateful.

Edit: you've unfortunately been doing this a lot lately:

https://news.ycombinator.com/item?id=40819104

https://news.ycombinator.com/item?id=40818298

https://news.ycombinator.com/item?id=40817238

https://news.ycombinator.com/item?id=40810372

We have to ban accounts that post like that, so if you'd please fix this, that would be good.


Not implementing auth doesn't mean using platforms. Just use any of the many OIDC client/server libraries or completely pre-made open source dockerized services.

For example react-oidc-context on the client side and Passport.js on the server, or Casdoor.


It only takes your auth provider going down once to abandon this idea entirely, both as a user and a consumer.

Edit: dockerized services sound interesting, do you have an example?


Casdoor is one such Docker image, or Authelia, FusionAuth, Authentik or the Ory stack


Thanks!


Im sorry but encryption isn't that hard. Login isn't that hard. Session management isn't that hard.

Verifying you haven't broken any of these things is hard, and monitoring for breaches when you have a lot of legitimate users is very hard.


Verifying that your vendor hasn't done anything dumb is hard.

Supporting your customers when they have problems is hard.

Debugging issues with a thrird party in the loop is hard.

Just because you farmed out auth doesn't mean you get to stop monitoring for breaches, or doing all the other things you need to do to have an eye on security.

Farming out auth just ads a recurring cost per user and complexity that your going to ignore till its a bigger issue than dealing with this up front would have ever been.


I didn't think anyone said you had to farm out auth to a third party platform.


NextAuth and company won't do that for you either.


Try hono.js ;)

https://hono.dev/


Cool, let’s bet on another framework which nobody knows where it will be next year, or if it will still exist at all.

At some point people will realize there’s some value on full stack batteries included frameworks that have been around for a long time.


What do you recommend?


inertia.js is his choice (see his comments). Not bad actually.

As I already said: My comment was not meant totally serious, I also hate this framework hopping... although hono.js is promising.


Yet another JS framework, and it looks great. I've only skimmed the doc, but I already like its simplicity.

But I have a mixed opinion on the big Context object. It may help to write less verbose code, but it can also cause OOP's antipattern God Object[1], even though the context is more of a namespace rather than a big object.

  // Not
  app.get('/hello', (c) => { return c.json({ greet: `Hello ${c.req.params('id')}`)
  // But
  import { jsonResponse } from 'library'
  app.get('/hello', (req) => { return jsonResponse({ greet: `Hello ${req.params('id')}`)
[1] https://www.wikiwand.com/en/God_object

Fix: format


Hono is great, the context object is really just a collection of helper methods for returning responses, a way to store values through the lifetime of the request, and the Req and Res objects. I understand the concern but I wouldn't let that stop you from trying it out.


I was not totally serious about it. My hunt for the next best framework is over... I tend to use vanilla JS for my pet projects and for more serious stuff I use whatever I find interesting or what the project uses :-)


So instead of using battle proven frameworks (such as Laravel, rails, Django, etc) you just invent your own?

Doesn’t sound like a great idea to me.


It depends. If its something like my personal todo list pure-todo [1], I tend to write it down in less than a week without using any frameworks and hardly ever touch it again.

If it's something like m4b-tool[2] or tone [3], that has to be maintained for a while, I tend to use battle proven libraries or frameworks (in this case Symfony, because it is an older project and Spectre.Console and atldotnet for tone). I prefer libraries over frameworks though, less background magic.

However, I have the feeling that you also find something in this comment that you don't like - maybe the shameless advertisement of my FOSS projects ;-)

1: https://github.com/sandreas/pure-todo

2: https://github.com/sandreas/m4b-tool

3: https://github.com/sandreas/tone


What do you use instead?


Raycast

- Replaces Spotlight for opening applications

- Replaces Magnet for window management, same features but don’t have to run a separate app now.

- keeps a clipboard history

- allows me to convert colours and units

- integrates with my calendar to show me upcoming meetings, shows them in my menu bar and lets me join them with one click

- allows me to prevent my Mac from sleeping (for certain durations) with caffeinate command

- has a variety of plugins available

Probably forgetting a lot of things I use it for, but even without the premium features I use it all the time.


I was a big Quicksilver user. I was a big Alfred user (from literal day 1). I’m now a big Raycast user. In fact Raycast is the only one where I’ve developed my own extensions (beyond basic toy scripts), the extension model is very good (even if distribution is iffy).


I wish the Pro version wasn't subscription based. I'd pay a one time cost even if they dropped the stuff that needs server support (AI, Sync, whatever).


Please send them that feedback! I did, and I hope they don’t mind me sharing their response:

  Thanks for reaching out and for the feedback.

  Pricing, like everything else at Raycast, is something we will continuously evaluate and try to balance between what is best for our users and also for us as a company. And on this subject we are indeed looking into the possibility of offering a cheaper Pro Plan (lite version) subscription without AI for example or even offering a lifetime license with additional benefits outside the app. So more on this subject to come soon.

  Best,

  —
  Daniel Sequeira
  Engineering Manager at Raycast


I wish the Pro separated AI and everything else. I can’t use the AI stuff at work for contractual reasons, but it’s also clear that most of the cost goes into that. I’m not paying $10/m for longer clipboard history, but I’d probably pay $50 one off for all the local-only bits.

Problem is that they’re VC backed and you don’t get SaaS valuations on selling a ton of single-purchase software.


It's good but VC backed. Also the actual file search is really bad.


Also, it has by far the best plugin system I've ever seen. It combines all the best practices from Web-Development with their own custom React-reconciler.

You can write fairly sophisticated UIs with less effort than for a shell script. If a FOSS version of this ever takes off, it could have the potential to replace terminal-UIs outright.


I came here to scream Raycast… but this is a great breakdown. Raycast replaces _so many_ apps (and even web browser functionality) for me, and I’m not even on the Pro tier.

To your list, I would add app shortcuts / key commands / quick links / snippets / code image generators (optically from selection) to name a few.


Is Raycast better than Alfred? Or mostly the same?


IMO No. Raycast:

- Took VC money and pushes for subscription instead of a clear payment model.

- Rides the AI Hype train.

- Is still not able to handle file workflows properly.

- Alfred workflows are easier to write and to debug due to workflow editor, you have to be a web developer to find the proposition of writing what is basically a small react app a good one.

- Also, IMO, not very fast, consumes a lot of resources and has a clumsy UX due to using stateful multistep apps.

I would always prefer Alfred to Raycast, but I am stuck with Launchbar which is still the Launcher with most smooth workflow for me. The whole <Object><Action> paradigm is just so fast - select something, tab, match an app with 2 keystrokes-enter -> Opens in app. Works on text, files, whatever.


Yeah the fact that the first thing I see on their landing page is about AI has me peacing out.


Tough question. Alfred never really clicked for me, Raycast clicked right away, but I can't put my finger on why.


Link?


raycast.com


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

Search: