matsdis

joined 2 weeks ago
[–] matsdis@piefed.social 3 points 4 days ago

My impression is that writing "pure CSS" has been replaced by writing !important selectors that undo all of your component library's auto-generated CSS, and then write your own CSS selectors on top, after trying to figure out the theming system for half a day... /rant

[–] matsdis@piefed.social 4 points 4 days ago

If you want to try another, maybe Material. (The design guidelines or the components. But IMO the component docu has gotten worse.) But if you are going to overwrite the styles anyway, it may be easier to write your own CSS instead of debugging someone else's.

So learn the HTML/CSS basics that you are missing, mostly on MDN. (CSS: selectors, pseudo-classes, flexbox, grid, css variables, units like rem/px/vh, media queries, collapsing of the margin, css reset and box-sizing, overflow, display, positioning, ...; HTML/Web APIs: CSP, self-closing tags, fetch() API, querySelect(), URL.parse(), sessionStorage, form submit, form validation, blob, event bubbling, your browser's inspect tools, ...).

Even if you use a framework you will generally have to learn all this stuff anyway.

[–] matsdis@piefed.social 2 points 4 days ago

This is orthogonal. If you want to do anything custom, it will often be easier to not use your JS framework at all for that part of the App. If you are going to use Tauri you will be using the Tauri API not the API of your framework. If you want stuff like touch input or show system notifications, you'll use the browser's APIs for that. If anything the framework will be in the way for lower-level stuff, and you always have the option to not use it for some part of your App.

[–] matsdis@piefed.social 6 points 4 days ago (2 children)

Maybe you are looking for a component library, something like Bulma or Bootstrap, rather than a JS framework. Your primary problem may be design, UX layout and learning basic CSS/HTML.

But if you want one of the lighter frameworks, I'd try Vue. But it is increasingly possible to do stuff without a framework, especially if your needs are not too complex. I'd start by looking into Vite, and use one of its simpler templates. You may want to select typescript instead of JS if you get the option.

Also... when you say "Frontend" we don't know if you're going to do a visualization-rich 3D application with touch gestures, or a business CRUD applications with lots of forms and tables and paginated lists filtered server-side, or a content-heavy web page with lots of articles to read...?

[–] matsdis@piefed.social 1 points 1 week ago

In Switzerland, 77% of the population voted against. Granted, the 1% may have influenced the voters by spending money on campaigns, or even by creating a narrative over decades. And maybe that proposal was too ambitious. But in the end, it was not just the 1% who voted against but 77%. There is still a lot of skepticism against UBI, despite all the positive evidence.

[–] matsdis@piefed.social 2 points 1 week ago (1 children)

Telemetry is in Server -> General -> Allow Anonymous Usage Collection. When you opt-out, it also send a final message to the server that you've opted out. The the telemetry itself looks reasonable, I don't mind sending it. It's really just the dark pattern of opt-out vs of opt-in that bothers me.

The donate button is the heart in the bottom left menu (not visible in the settings). It's unobtrusive. I wouldn't bother to remove it, except the tooltip says that I have to pay to remove it - now it has to go. Asking for donations is fine, but asking for money to remove a button is disgusting.

[–] matsdis@piefed.social 7 points 1 week ago (5 children)

I've set up Kavita for my e-books. Nice UI, looks promising, and I've added some books. I haven't really used it yet, because half of this was just an excuse to try podman (instead of docker). I wanted to set it up to run as unprivileged user, without the docker daemon running as root. That wasn't too hard, but it was definitely a few extra steps.

But something about Kavita didn't sit well with me. Maybe I don't self-host enough stuff to know what's normal, but there is a donate button, which I don't mind, but its tooltip says: "You can remove this button by subscribing to Kavita+."

I'm donating to a few software projects already, and I have developed a substantial amount of free software myself. There is nothing wrong with asking for money. But what I cannot stand is when software running on my own device is intentionally acting against my interests. And this tooltip was very clear about not letting me do something that I might want to do.

So I checked the source code for more. I found another anti-pattern: telemetry is opt-out instead of opt-in. But that seems to be it, I didn't find anything worse than that. So... fair I guess, if the author wants it that way. It's still free software. It looks like I could delete all the Kavita+ stuff myself and re-build. Which I'm going to do if I keep using it. But this is now an extra step that prevents me from just using it, because I need to feel in control of what I run. Kind of self-inflicted, I guess...

[–] matsdis@piefed.social 4 points 2 weeks ago (1 children)

More specifically, please don't use PNG for photos. Just converting to JPEG should do the trick.

[–] matsdis@piefed.social 5 points 2 weeks ago

That's a good article. Here is a related deep dive: Pineapples! (PDF)

Because the pineapple leaves close their stomata during the day they don’t have the benefits of evaporative cooling! Plants heat up and unless there is a breeze to move the heat out of the field they are prone to plant damage, fruit sunburn and “cooking” or “boiling”. Growth slows when temperatures exceed 36°C and stops at about 40°C.

[–] matsdis@piefed.social 2 points 2 weeks ago

More silly fun with types: (4min video) https://www.destroyallsoftware.com/talks/wat
(It starts with Ruby, but hang on.)

[–] matsdis@piefed.social 4 points 2 weeks ago

Protip: (kinda half rant too) Join a general software consulting company. You will then have the opposite problem, you will be seen as ANYTHING dev. Whatever combination of os, language, framework and domain you have the least experience with, you will be picked for that project because you're available. The dice will be re-rolled every 6 months. Until then you'll be the Angular dev. Oh wait you didn't mention Angular. Tough luck. This is the protip, not the amateurtip.

Amateurtip: (kinda half joking) You don't need a job to be Vue or Svelte developer...

And when the opportunity comes to select the tech stack, or switch teams/jobs, having any hands-on experience (even if it was just the tutorial) will be a huge plus, compared to nothing. You will know better what you're talking about, and it proves that you are seriously motivated. (Of course, you can also mention your side-project to your colleagues once or twice.)

view more: next ›