@tbroyer@piaille.fr avatar

tbroyer

@tbroyer@piaille.fr

Web development (frontend, Web APIs), Web app security, build tools, Java, Kotlin, Gradle, etc.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

aeris, to random French
@aeris@firefish.imirhil.fr avatar

Quelqu’un saurait comment avec docker compose virer les containers qui sont issus d’un run sans l’option --rm ?
Si on tente un docker compose rm xxx-run-yyy il ne voit rien.
Il y a une option supposée mergée mais… qui n’existe juste plus ?
https://github.com/docker/compose/pull/3178

tbroyer,
@tbroyer@piaille.fr avatar
tbroyer,
@tbroyer@piaille.fr avatar

Quelle version de Compose ? Parce que "it works on my machine", que le conteneur tourne toujours (detached) ou non.

$ docker compose run keycloak true  
$ docker compose run -d keycloak cat  
$ docker compose ps --all  
<montre les 2 conteneurs, un Up, l'autre Exited>  
$ docker compose down --remove-orphans  
<arrête le conteneur qui tourne, supprime les 2 conteneurs>  
$ docker compose version  
Docker Compose version 2.27.0  
melix, to random
@melix@mastodon.xyz avatar

Benefits of constructor injection vs setters: you don't have to rebuild your code 2387619 times to figure out all the dependencies.

tbroyer,
@tbroyer@piaille.fr avatar

@melix …and every single place you need to update (particularly unit tests that don't use DI) whenever dependencies change: code just fails to compile.

argyleink, to CSS
@argyleink@front-end.social avatar

steal this dialog and popover snippet

  • transitions
  • entry/exit
  • backdrop included

ready for richer design system integration

try on Codepen
https://codepen.io/argyleink/pen/zYbQBOm

tbroyer,
@tbroyer@piaille.fr avatar

@argyleink Your "IN" and "OUT" comments seem off to me.
IMO the starting-style defines the IN, and the non-starting-style and non-open style (in the first rule, the transitioned properties' values) defines the OUT.
The second rule defines the style of the showing popup/dialog (and their backdrop)

timbray, (edited ) to random
@timbray@cosocial.ca avatar

Your reaction to the AI buzz:

tbroyer,
@tbroyer@piaille.fr avatar

@timbray There are so many use cases for AI and all the buzz is around "generic" GenAI. Computers should be about automating boring tasks to leave us the creative ones, not the other way around.
So mostly annoyed by the buzz.

ayo, (edited ) to random
@ayo@ayco.io avatar

What’s your preferred app configuration format? Comment explanations or answers not in options (I can only add 4)

🙏 pls for science

tbroyer,
@tbroyer@piaille.fr avatar
tunetheweb, to random
@tunetheweb@webperf.social avatar

This just really annoys me about the fediverse.

Has there been any attempt to fix this (without hacks and extensions)?

It sets localStorage of my preferred instance the first time I use another instance to pre-fill it for next time. That's OK but I think it should just auto-redirect to my instance as soon as the page loads when it sees that.

Even then it expires and still annoying for each instance.

Or maybe you should be able to register a lite redirect profile on other common instances?

tbroyer,
@tbroyer@piaille.fr avatar

@tunetheweb I only glanced over the article but IIUC this might be being worked on: https://wedistribute.org/2024/03/activitypub-nomadic-identity/

tbroyer, to webdev
@tbroyer@piaille.fr avatar

Announcing Platformer: a set of libraries to help implement:

• attribute reflection in web components following the HTML specification
• WebIDL type coercions for your public JS APIs (including web component properties)

https://github.com/tbroyer/platformer

Comes with ECMAScript decorators (compatible with TypeScript 5.2+ and Babel) for vanilla custom elements and Lit elements.

Currently not published on NPM (as I'm still evaluating whether all of this is a good thing worth pursuing 😂 feedback welcome!)

develwithoutacause, to til
@develwithoutacause@techhub.social avatar

any errors thrown in attributeChangedCallback get swallowed. They're not propgated to whoever called el.setAttribute('observed', 'data').

tbroyer,
@tbroyer@piaille.fr avatar

@zachleat @develwithoutacause Probably because no built-in element would ever throw when changing an attribute.
State is derived from attributes, but attributes don't directly "set" state, and it's not abnormal to sometimes be in some sort of "invalid state" and you have to cope for it.

Would you like it if you had to be careful updating min, max and value in proper order or it would throw?

See https://blog.ltgt.net/web-component-properties/ where I touch the subject a bit (among other things)

tbroyer, to random
@tbroyer@piaille.fr avatar

For those interested, I just published on GitHub a series of tests for reflecting attributes in web components (see https://blog.ltgt.net/web-component-properties/ for the rationale, I'll update it soon following those tests), reusing the same tests as used by browsers for built-in elements.
Tests include (for now) vanilla custom elements and Lit custom elements.

https://github.com/tbroyer/custom-elements-reflection-tests

tbroyer, to random
@tbroyer@piaille.fr avatar

Tell me you don't understand REST and HTTP without saying you don't understand REST and HTTP.

dutchcelt, to web
@dutchcelt@mastodon.social avatar

In the EU, iOS will soon allow multiple browser engines. Is this the end of Safari's dominance on iOS? Will it fall into obscurity? Will it eventually be discontinued? Will the tables be turned as Safari becomes a Chromium browser? That would be ironic.

https://dutchcelt.nl/posts/the-singular-web/

tbroyer,
@tbroyer@piaille.fr avatar

@dutchcelt Do you think Apple continues to invest in Safari because of some sunk-costs fallacy? They could have already switched to Chromium a long time ago, so I don't think this is going to happen.

As for whether Safari will lose its dominance on iOS, I'm not sure either: people don't care about the browser engine, they care about integrations and they (already) use Chrome on iOS because of how it can sync their data with their Google account, whether WebKit or Chromium.

tbroyer, to typescript
@tbroyer@piaille.fr avatar
tbroyer, to webdev
@tbroyer@piaille.fr avatar

Built-in HTML elements' properties all share similar behaviors, that don't come for free when you write your own custom elements. Let's see what those behaviors are, why you'd want to implement them in your web components, and how to do it, including how some web component libraries actually don't allow you to mimic those behaviors.

https://blog.ltgt.net/web-component-properties/

tbroyer, to random
@tbroyer@piaille.fr avatar

Anyone knows how to create a "meta" ES decorator? I.e. a decorator that applies other decorators. Such that:

@metaDecorator accessor myProp = 42;  

would be equivalent to:

@someDecorator  
@otherDecorator  
accessor myProp = 42;  

I'm looking for any blog post, example, or helper lib (if needed, I don't know).

/poke @rauschma

tbroyer, to random
@tbroyer@piaille.fr avatar

Unpopular opinion: "I could rewrite <framework or library> in a few days" is a good proxy metric for:

• actually using such framework/library rather than reimplementing it in a few days: this means you grasp what it does but delegates edge cases handling to it

• not using a library/framework this wouldn't apply to: this means it's too complex/"magic" to comprehend, and remember you're liable for everything you put to prod, whether you wrote it or not; too complex == undebuggable/unmaintainable

tbroyer, to webdev
@tbroyer@piaille.fr avatar

📣 I've written about how I improved (in my opinion) @stefan' &lt;sparkly-text&gt; by, for instance, moving the sparkles to the shadow DOM. I also left many things to be done though. Of course this is subjective, so YMMV.

https://blog.ltgt.net/web-component-step-by-step-improvement/

tbroyer, to Java
@tbroyer@piaille.fr avatar

Sigh, Oracle being Oracle again?

Anyone knows what changed in the TCK license agreement? and why it was announced just days before the release?

https://adoptium.net/blog/2023/09/temurin21-delay/

tbroyer, (edited ) to random
@tbroyer@piaille.fr avatar

So, a company didn't include "credentials and OTP are stored together" (Google Authenticator sync'ing OTP to same GSuite account used for SSO) as part of their threat model (and didn't monitor Google Authenticator updates and update their threat model accordingly), and blames the tools, and Google for employing "dark patterns", when they're breached through social engineering?

https://retool.com/blog/mfa-isnt-mfa/

tbroyer, to random
@tbroyer@piaille.fr avatar

Today I once again referred to @jaffathecake's 2016 blog post about HTTP caching, to be reminded that no-cache doesn't mean "don't cache", and must-revalidate doesn't mean "must revalidate".

Thanks again Jake.

https://jakearchibald.com/2016/caching-best-practices/

tbroyer, (edited ) to random
@tbroyer@piaille.fr avatar

"The fediverse is a privacy nightmare" – Café Lob-On
by @Bloonface
https://blog.bloonface.com/2023/07/04/the-fediverse-is-a-privacy-nightmare/

Mnaudin, (edited ) to math French

deleted_by_author

  • Loading...
  • tbroyer,
    @tbroyer@piaille.fr avatar

    @Mnaudin 8 lignes ⇒ 9 bandes
    Chaque bande fait h/9 de hauteur.
    Chaque bande a une aire égale à la différence des aires des triangles définis par les lignes en dessous et au dessus.
    L'aire de chaque triangle, de haut en bas (t de 1 à 9) est Tt = (t/9×b × t/9×h) / 2 = t²bh/162
    Pour les bandes bleues: T1-T2+T3-T4+T5-T6+T7-T8+T9=(1-4+9-16+25-36+49-64+81)bh/162=45bh/162=145
    Soit bh=522 (aire totale: T9=522/2=261)
    Pour les bandes rouges: T9-145=116

    tbroyer, to webdev
    @tbroyer@piaille.fr avatar

    So, what do people use nowadays to make slideshows from Markdown, Asciidoc, or HTML that can ideally render to PDF in addition to HTML?
    (if it doesn't do PDF, don't hesitate to suggest anyway!)

    tbroyer, to climate
    @tbroyer@piaille.fr avatar

    What if I told you that most promoted actions about climate-friendly software are misguided?

    Backing data for that claim and my opinion on the low-hanging fruits:

    https://blog.ltgt.net/climate-friendly-software/

    Key takeaways:

    • Pick servers in carbon-neutral or low-carbon datacenters first
    • Optimize for the perceived performance and battery life
    • Don't be the one that will make your users change their device
    • Sometimes, ideas aren't even worth their impacts

    tbroyer, to random
    @tbroyer@piaille.fr avatar

    This is awesome news! Many more manufacturers should do that (if not DIY, at least make it easy)

    Nokia launches DIY repairable budget Android phone https://www.theguardian.com/technology/2023/feb/25/nokia-launches-diy-repairable-budget-android-phone

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • tacticalgear
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • Durango
  • cubers
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • ngwrru68w68
  • kavyap
  • GTA5RPClips
  • provamag3
  • ethstaker
  • InstantRegret
  • Leos
  • normalnudes
  • everett
  • khanakhh
  • osvaldo12
  • cisconetworking
  • modclub
  • anitta
  • tester
  • megavids
  • lostlight
  • All magazines