HNHacker News
TopNewBestAskShowJobs

afloatboat

231 karma · joined July 12, 2015

submissionscomments
afloatboat··on Unsafe and Unpredictable: My Volvo EX90 Experience
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.

afloatboat··on Y Combinator urges the White House to support Europe's Digital Markets Act
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.

afloatboat··on Sunsetting Create React App
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.
afloatboat··on Two examples of hover styles on images
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.

afloatboat··on Show HN: Visualization of website accessibility tree
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.

afloatboat··on Show HN: Visualization of website accessibility tree
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"`

afloatboat··on Show HN: Visualization of website accessibility tree
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: ", " / ""; } } }`

afloatboat··on Show HN: Visualization of website accessibility tree
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.

afloatboat··on Hire HTML and CSS People
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.

afloatboat··on Hire HTML and CSS People
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.

afloatboat··on 80% of developers are unhappy. The problem is not AI, nor is coding
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.

afloatboat··on Show HN: I made a drag and drop CSS grid generator
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.

afloatboat··on It's not just you, Next.js is getting harder to use
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

afloatboat··on Ask HN: What macOS apps/programs do you use daily and recommend?
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.

afloatboat··on Ask HN: Recommendation for Intermediate CSS Course?
While I haven’t read his book [0], I always enjoy the articles by Ahmad Shadeed [1][2]. The ones that focus on how big websites like Facebook implemented specific functionality and how he would have tackled it are a great resource in advanced CSS.

I would also recommend the “thinking of ways to solve…” gui challenges [3] YouTube videos and web.dev articles by Adam Argyle.

Others have mentioned Josh W Comeau who definitely puts out good articles as well.

In the end, as with everything programming related it comes down to actually building stuff and getting your hands dirty. CSS is really something you can only get better at by running into real world issues and discovering its quirks.

[0] https://debuggingcss.com/

[1] https://www.ishadeed.com

[2] https://www.defensivecss.dev

[3] https://youtube.com/playlist?list=PLNYkxOF6rcIAaV1wwI9540OC_...

afloatboat··on Ask HN: Is it just me, or is software development crazy
I was recently thinking of posting a similar ask hn, but opted not to because if felt too complainy and I’m not sure if the issue is with me or not.

I mainly feel that the scope of a developer’s responsibilities is constantly growing and it’s becoming too much.

I started doing front-end ~20 years ago. At that time we got a psd file, cut it into pieces and created a clickable mock-up. Maybe you’d need to loop through some php of a templating language to make it more dynamic but the logic resided in the backend.

Today I’m still responsible for converting that design, but it’s no longer a clickable mock-up, it’s now an application with its own state and logic that needs to be managed. We now have auth in the client so OAuth comes into play as well.

Instead of creating an index.htm and style.css we npm init which throws cryptic errors about mismatched dependencies, use a bundler, typescript, eslint, … all with their own config. It’s crazy to juggle all this config he’ll.

We used to upload our files to an ftp and called it a day. Now I have to setup a CI/CD, configure our AWS setup and it should all happen in one sprint.

As a React developer it’s also assumed that you know React Native. So you don’t only need to manage node, npm, … you’re now managing Xcode, Android Studio and the entire ecosystem that comes with it. How can you possibly build something of quality under these circumstances?

So yes, we should take a step back and look at the complexity we’re creating. Or at least look into splitting up that complexity into more different roles so that a front-end developer can do front-end again.

afloatboat··on Next.js 14
I'm currently investigating the feasibility of using Next.js for a major refactor of our service and the one thing that stands out to me is how fractured the Next ecosystem is. More than 6 months after the App router was introduced the most important libraries are still in beta and don't have conclusive documentation for integrating with App dir.

For my projects localisation is a necessity. I tried both i18n and next-intl and found them both lacking in functionality, buggy and missing documentation. This should just be part of the framework or at least have a tighter integration.

The same story with next-auth.js, which confusingly still exists while promoting https://authjs.dev/. For the most basic implementation it probably works, but the app router documentation is spliced into the normal documentation which creates a whole lot of ambiguity.

There's been a lot of discussion surrounding caching for Next.js 13 as well. I personally find it confusing and the behaviour described in the documentation regarding revalidateTag/revalidatePath and client-side caching does not match my real world experience. I would love some more documentation regarding user-specific caching as well, for instance with personalised user dashboards.

It feels a bit ridiculous to release Next.js 14 today as we're still getting used to Next.js 13. And though there might not be any big/breaking changes it creates a feeling where Vercel is racing forward without keeping other library maintainers or its users in mind.

afloatboat··on jq 1.7
Alternatively, https://fx.wtf/ is also a great interactive viewer with JavaScript filtering that I recently discovered through HN.
afloatboat··on The electric vehicles we need now are e-bikes (2022)
What makes these brands leading in your opinion? From a tech and design perspective I get the appeal that VanMoof and Cowboy have, I've wanted one for years because of that. But in doing research I've also read a tonne of horror stories about random failures and reliability issues where repairs mean shipping it back to Cowboy/VanMoof, waiting weeks or months and then getting your bike back only to do it all over again a short while later.

For a bike the traditional brands that use of the shelf parts like Bosch and Shimano still have the advantage in my opinion, especially if you don't live close to a dealer/repairshop that can handle it.

Edit: What's also putting me of from both VanMoof and Cowboy is their rocky financial history. Last month Cowboy secured funding, but it was looking sketchy for a bit. I wonder what would happen to all those cloud features from Cowboy if the company goes under.

afloatboat··on State of JavaScript 2022
I've use React Router 6 in combination with @tanstack/react-query 4 in a ±2 month old project without issue. I did notice that React Router 6 annoyingly by default returned to an object notation for its routes instead of elements, but with `createRoutesFromElements` the option is still there. I find the object notation less readable and it doesn't follow the React paradigm.

One thing that I imagine would cause issues (or make react-query at least partially redundant) is the `loader` prop that React Router now has that allows is to do data fetching and posting in the router. I didn't try that due to time constraints.

The biggest pain for me in Javascript is tool configuration, it's something that I'm just not good at and configuring Prettier, eslint, testing library (with mocks), tsc, … and all the rules that inevitably start crashing with each other is hell. That's why for the longest time I kept using CRA which had all these things preconfigured with sane defaults. But CRA development is moving at a crawl and with the lack of SSR NextJS makes much more sense so I'm focussing on that now.

afloatboat··on Deploy a website on imgur.com
I see people comment this on HN on a daily basis and it always boggles my mind. For me this reads as: 'This thing that was initially conceived years ago when computers were incapable of much more than display text should never evolve/change to take advantage of current capabilities'.

Yes, initially the web could only display hyperlinked text. The same can be said for many technologies/inventions, should we therefore never expand the capabilities of our tools? What is the difference between the web and your operating system in that regard? Why are OS APIs so different?

We can also look at the positive effect this evolution has had where what used to be platform specific tooling is now often simply available via a URL. I much prefer that over random executables that are not sandboxed and by default have full access to all your data. Yes, this can be mitigated, but the average user won't.

No it's not all sunshine and roses, we've made trade-offs with regards to performance and UX among others, but this is still an ongoing process as the modern web is still relatively young and changing.

afloatboat··on Migrating to Next.js from Create React App
I wanted to check out Factor a couple of weeks ago and got stuck on the installation step, an error about it using esmodules for lodash if I remember correctly. The docs were behind an authwall and there was a forum full of spam and one thread with the same issue 4 months old and one reply 2 months old by a user who had the same issue and no resolution. All in all that was a poor experience for me. Granted, it was under development but it doesn’t seem like there was much community at the time and no clear development path either. I checked the site again after your comment and it seems they’ve launched now so I’ll check again, although I’m mostly interested in a headless CMS which isn’t what Factor is trying to be.

As for Next, I’ve played around with it and I liked the built-in support for Head, Image and Link. The SSR and lazy loading is amazing and should be the default for every tool, I hate that CRA does not support this out of the box. I was surprised when I tried to export my test and I couldn’t find an output folder though, and even more surprised and disappointed when I found you had to do `next build && next export` which immediately threw an error because the default loading behaviour of the Image component relies on Vercel hosting to work.

afloatboat··on React Renderer for Three.js
Ah, right. But the mesh useRef is not wat is being rendered, the `mesh` component is more like rendering a div. If you open the sandbox and remove the useRef mesh and references it will still work.

Pretty confusing though, would have been better to call it `meshRef`. I also expected these components to be capitalised, but it probably makes sense in the way that in the dom renderer default components are lowercase as well.

afloatboat··on React Renderer for Three.js
I believe the `null!` is some trickery to let the rest of the code know that the `ref.current` will never be null, but with how React works you can’t really provide any other value. It prevents having to check for `null` everytime you address the value.

I don’t understand your first issue. The component is assigned to the ref, not the other way around, so why would it render `undefined`? It’s possible that `mesh.current` is undefined at first render, but that shouldn’t matter for the component, only for the reference.

afloatboat··on Sony’s 2021 TV lineup runs Google TV and fully embraces HDMI 2.1
Intel had the right idea with its Compute Card [0], but decided to sunset it a couple of years ago. It's clear that the way we're manufacturing these devices now is not the way forward. We're putting computers in televisions and refrigerators that can barely keep up with today's requirements, yet the general population expects these devices to have a lifespan of >10 years. With global warming as it is this is starting to border on criminal negligence.

[0] https://www.tomshardware.com/news/intel-compute-card-bad-ide...

afloatboat··on Ask HN: Is HN slow today?
The same question was asked when Google was down. Apparently this leads to a surge of traffic to HN because everyone wants to know what’s up and this causes the slowdown. The recommended ‘solution’ is to log out so that HN can serve you with the static version of the site.
afloatboat··on Epic’s decision to bypass Apple’s App Store policies was dishonest, says judge
Not a direct answer to your question, but somewhat related. When the iPhone was first released (or a year later when the App Store was released) we did have more competition than we do today.

Windows Mobile, Symbian OS, BlackBerry OS (and to some extent Maemo) all had the opportunity to compete with iOS and Android but were either too slow to transition to market demands or did not get a lot of traction to start with.

While not officially a monopoly in my book, I think it's safe to state that we're now down to iOS and Android for 99% of the market with KaiOS Ubuntu Touch (Tizen?) picking up some of the more niche or cheap devices.

afloatboat··on New Fonts on macOS Catalina
There’s a local function for @font-face that allows you to link a webfont to a locally installed font and it will indeed skip the download if it can find it.
afloatboat··on Zoom freezes feature development to fix security and privacy issues
Then again, how did this happen? In my scenario you have a product owner asking for specific functionality to be added, a (group of) developers gives their estimation of how much effort/time this will take and some time later it gets built.

So when the product owner asked the developers to add the ability to log in with Facebook, they looked at the technical documentation of the Facebook SDK, but probably not much thought went into how Facebook would channel through data even for non-facebook users. And if the technical staff did not communicate this to the PO they might not have been technically savvy enough to consider this a problem/threat.

I don't want to defend Zoom, I've actually also been pushing against using it in our company. But I also don't agree with the idea that every bad thing that comes out of Zoom was done with malicious intentions. I think it speaks more about software development in general. Don't forget that every website with Google Analytics, Facebook Pixel, Facebook Like buttons, Twitter embeds have basically been doing the same thing for years.

afloatboat··on APIs in less than 5 minutes with Strapi
They've added an eventListener that intercepts left clicks on anchor tags so they can add a fadeout, but they don't account for modifier keys (CMD/CTRL) changing the default behaviour. The context menu ignores this.
Page 1 of 2Next →