[-] spartanatreyu@programming.dev 9 points 2 days ago

This doesn't seem overly useful.

It's a list taken out of a bunch of books with no regard for how something can be the best path in one language and a smell in another language.

Look at this page for example: https://luzkan.github.io/smells/imperative-loops

It suggests using functional loop methods (.map(), .reduce(), .filter()) instead of using imperative loops (for, for in, for each) but completely disregards the facts that imperative loops also have access to the break, continue, and return keywords to improve performance.

For example: If I have an unsorted list of 1000 cars which includes a whole bunch of information per car (e.g. color, year manufactured, etc...), and I want to know if there were any cars were manufactured before the year 1980, I can run an imperative loop through the list and early return true if I find one, and only returning false if I haven't found one by the end of the list.

If the third car was made in 1977, then I have only iterated through 3 cars to find my answer.

But if I were to try this with only functional loops, I would have to iterate through all 1000 cars before I had my answer.

A website with blind rules like this is going to lead to worse code.

[-] spartanatreyu@programming.dev 2 points 4 days ago

QOI is just a format that's easy for a programmer to get their head around.

It's not designed for everyday use and hardware optimization like jpeg-xl is.

You're most likely to see QOI in homebrewed game engines.

[-] spartanatreyu@programming.dev -1 points 4 days ago

Are you not made primarily of water?

[-] spartanatreyu@programming.dev 2 points 4 days ago

The syntax is only difficult to read in their example.

I fixed their example here: https://programming.dev/comment/12087783

[-] spartanatreyu@programming.dev 6 points 4 days ago* (last edited 4 days ago)

I fixed it for you (markdown tables support padding to make them easy to read):

markdown table
x y
|markdown|table|
|--------|-----|
|x       |y    |
[-] spartanatreyu@programming.dev 2 points 4 days ago

Chromium had it behind a flag for a while, but if there were security or serious enough performance concerns then it would make sense to remove it and wait for the jpeg-xl encoder/decoder situation to change.

It baffles me that someone large enough hasn't gone out of their way to make a decoder for chromium.

The video streaming services have done a lot of work to switch users to better formats to reduce their own costs.

If a CDN doesn't add it to chromium within the next 3 years, I'll be seriously questioning their judgement.

[-] spartanatreyu@programming.dev 13 points 5 days ago

I'm under the impression that there's two reasons we don't have it in chromium yet:

  1. Google initially ignored jpeg-xl but then everyone jumped on it and now they feel they have to create a post-hoc justification for not supporting it earlier which is tricky and now they have a sunk cost situation to keep ignoring it
  2. Google today was burnt by the webp vulnerability which happened because there was only one decoder library and now they're waiting for more jpeg-xl libraries which have optimizations (which rules out reference implementations), good support (which rules out libraries by single authors), have proven battle-hardening (which will only happen over time) and are written safely to avoid another webp style vulnerability.

Google already wrote the wuffs language which is specifically designed to handle formats in a fast and safe way but it looks like it only has one dedicated maintainer which means it's still stuck on a bus factor of 1.

Honestly, Google or Microsoft should just make a team to work on a jpg-xl library in wuffs while adobe should make a team to work on a jpg-xl library in rust/zig.

That way everyone will be happy, we will have two solid implementations, and they'll both be made focussing on their own features/extensions first so we'll all have a choice among libraries for different needs (e.g. browser lib focusing on fast decode, creative suite lib for optimised encode).

[-] spartanatreyu@programming.dev 132 points 1 week ago

That's 41 degrees for everyone who doesn't measure things in bird per gun.

[-] spartanatreyu@programming.dev 32 points 2 weeks ago

What to know about blue supermoons:

  1. They literally mean nothing.
  2. The change is imperceptible to everyone.
  3. Expect useless clickbait slop about it until it passes.
12

Feel free to tweak the two custom properties in the css pane to explore the different mosaic patterns that are generated.

16
I made a thing (codepen.io)
submitted 3 months ago* (last edited 3 months ago) by spartanatreyu@programming.dev to c/webdev@programming.dev

Single HTML element + CSS only

  1. Inhale for 4 seconds
  2. Hold for 4 seconds
  3. Exhale for 4 seconds
  4. Hold for 4 seconds

And repeat

Inspired by: https://quietkit.com/box-breathing/

Note: The current Safari version has a bugged linear() implementation that has been fixed in the upcoming version.

[-] spartanatreyu@programming.dev 35 points 5 months ago* (last edited 5 months ago)

There's a reason Teams is/was shit.

The first teams was written in AngularJS (which is a slow to run resource hog, but fast to develop) wrapped in Electron. It was kind of a minimum viable product, just to build something quickly to get some feedback and stats on what people needed.

The plan was to build a new native version of teams and build it into the next windows while having an web fallback (built on react) for everyone else.

They stopped working on the original teams and started working on the new versions.

They got half-way through working on the native and react versions when suddenly, covid happened.

They couldn't keep working on the new versions because they wouldn't be ready for a while, so they had to go back and resume development on the old one, introducing patch after patch to quickly get more features in there (like more than 2 webcam streams per call).

Eventually covid subsided and they were able to resume development on the new teams versions.

Windows 11 launched with a native teams version (which has less features but runs super quick), and the new react based teams (which can now be downloaded in a webview2 wrapper) has been in open beta since late last year (if you've seen the "Try the new Teams" toggle, then you've seen this). The React+Webview2 teams will replace the AngularJS+Electron version as the default on July 7th.

49
9
32
Typescript 5.2 Released (devblogs.microsoft.com)
14
[-] spartanatreyu@programming.dev 46 points 1 year ago

Github has always had being a job site be it's secondary feature.

Except that it has a slightly higher bar of entry to recruiters and recruitment bots spreading toxic positivity, and anyone asking for a job is able to prove (at least some of) their value by showing off their code and how they participate publically in other repos (if at all).

10
18
Typescript 5.2 beta announcement (devblogs.microsoft.com)

Shows a great example of JS' new using keyword (similar to defer in D, Go, Swift, etc...)

[-] spartanatreyu@programming.dev 36 points 1 year ago

cURL was one of these for a while (according to my limited understanding)

It was made in the 90s and it didn't get commercial support until a few years ago.

18
submitted 1 year ago* (last edited 1 year ago) by spartanatreyu@programming.dev to c/programming@programming.dev

Comments should provide context, not repeat what the code already says. The Redis codebase has 9 distinct types of comments (Function, Design, Why, Teacher, Checklist, Guide, Trivial, Debt, Backup), each with a specific goal in mind.

2
8
48

The mistake most devs make when trying to document their project is that they only make one (maybe two) types of documentation based on a readme template and/or what their mental model of a newcomer needs.

Devs need to be actively taught that:

  1. Good documentation isn't one thing, it's four. To have good documentation, you need all four distinct types of documentation.
  2. What the four types of documentation are (this is discussed in the link)

If you don't have all four types of documentation, you have bad documentation.

view more: next ›

spartanatreyu

joined 1 year ago