@pierstoval@mastodon.social
@pierstoval@mastodon.social avatar

pierstoval

@pierstoval@mastodon.social

• 💻 Freelance full-stack tech lead, developer, coach and software architect.
• 🛠 Expertise with PHP/Symfony, JS/Typescript, Svelte, Rust, Docker, and many other tools.
• 🧹 Legacy application renovator.
• 🕊️ Free Open Source advocate.
• Speaking 🇫🇷 and 🇬🇧
• ⏲ 10+ years of dev experience
• ✊ Woke leftist (words can change depending on far-righters' way to call us)
• 🌈

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

Schrank, to random German
@Schrank@phpc.social avatar

@packagist Awesome! composer req phpunit now adds phpunit to require-dev as default, without asking - I LIKE!

pierstoval,
@pierstoval@mastodon.social avatar

@Hariboas @shochdoerfer @heiglandreas @gmazzap @naderman @Schrank

I've seen projects where even the dockerfiles, docker-compose, etc., are in an entirely different repo, and you could run the project in dev with anything (your own docker images, symfony cli, frankenphp, etc.).

However, there is still something about the tests that is very specific:

pierstoval,
@pierstoval@mastodon.social avatar

@Hariboas @shochdoerfer @heiglandreas @gmazzap @naderman @Schrank

Do you have a CI? Do you deploy your project to production if the test suite fails, locally or in the CI?

If you do, tests are just information, metadata about the "current estimated safety" of the project.

If you need tests/CI to be green before deploying, this means that your tests ARE a necessary part of your project, same for the testing framework the tests use.

pierstoval,
@pierstoval@mastodon.social avatar

@heiglandreas @Hariboas @shochdoerfer @gmazzap @naderman @Schrank

Sure part of the dev chain, indeed, however if you change your deployment systems, the tests won't change. If you change your DBMS, it will. There are different part in your entire project architecture that are all bound together and some of them are harder to replace, and tests are harder to replace anyway, and moreover tests define the expected behavior of your app, so it's definitely part of it.

pierstoval,
@pierstoval@mastodon.social avatar

@heiglandreas @Hariboas @shochdoerfer @gmazzap @naderman @Schrank

You seem to have a strong belief that production and development must be separated, could it be code, architecture, or tooling.
However, all of it is part of the project.
That's why we talk about "project" and not "source code": the source code by itself can't do much without the specs, the CI (hopefully), the production infrastructure, etc.
The tooling in this case will definitely be part of the project.

pierstoval,
@pierstoval@mastodon.social avatar

@heiglandreas @Hariboas @shochdoerfer @gmazzap @naderman @Schrank

And I'd even say that the IDE is also part of it sometimes: a few years ago I was using IntelliJ (like I do since 2014) and a new coworker was using VSCode. He struggled in defining some testing rules, and whenever he had to execute the tests, he had to do it in CLI only, and it came with a few productivity issues that a properly configured IDE won't face.

(Even though most modern IDEs shouldn't make a difference in that part)

pierstoval, (edited ) to random French
@pierstoval@mastodon.social avatar

Nope, four years later they still hate me and don't want to unlock my account.

Too bad, maybe I would have PAID come to the next SymfonyLive.

pierstoval,
@pierstoval@mastodon.social avatar

@herndlm Read the alt 😇

pierstoval, to random French
@pierstoval@mastodon.social avatar

Once again, a unit test and a hell lot of debugging time helped me realise that I long ago had a function that should have been broken but wasn't for strange reasons.

Still, in a Promise, I used "return resolveFunc" instead of calling "resolveFunc()".

My bad, shit happens

pierstoval,
@pierstoval@mastodon.social avatar

To be clear, my final code is this diff:

return new Promise((resolve) => {
this._callback(data, operation, requestParameters);

  • return resolve;
  • resolve();
    });

That's stupid, I know.

I even don't have any idea why I couldn't see that before. Everything worked super well, but it's only when unit-testing this particular piece of code that I realized the promise actually takes super long time, therefore is never resolved ("never resolved" should have given me a hint, by the way)

pierstoval,
@pierstoval@mastodon.social avatar

(No blame, I wrote this code years ago)

olafurw, to random
@olafurw@mastodon.social avatar

I've open sourced my simple rust sudoku game. It's not great code and there are some tests missing, but enjoy.

https://github.com/olafurw/rust-sudoku

pierstoval, (edited )
@pierstoval@mastodon.social avatar

@olafurw I'm sorry, I just dropped an issue. I may take a look at it if I find more time, but overall it could be solved quickly with db migrations 👍

EDIT: nevermind, I fixed that in a PR: https://github.com/olafurw/rust-sudoku/pull/2

pierstoval, to random French
@pierstoval@mastodon.social avatar

Laravel folks will literally keep reinventing the wheel and adding glitter on it instead of going to therapy

pierstoval,
@pierstoval@mastodon.social avatar

@emilweth I guess Laravel always took example on node.js, at this point

pierstoval,
@pierstoval@mastodon.social avatar
pierstoval,
@pierstoval@mastodon.social avatar

@dantleech Nope, Symfony CLI is open-source: https://github.com/symfony-cli/symfony-cli

It was first made to ease local development and integration with SymfonyCloud, but now that SymfonyCloud has abandoned its white mark and moved back to Platform.sh, the Platform.sh integration in Symfony CLI is just a wrapper around the Platform.sh CLI tool (which is also open source: https://github.com/platformsh/cli)

The "installer" part is still a wrapper around "composer create" though.

pierstoval,
@pierstoval@mastodon.social avatar

@dantleech To be clear: I was at first pretty fine with the Symfony installer because back then it gave some "hope" to see different Symfony "distributions" (like the "demo", "skeleton", and "full" we first have), but no work has ever been done to promote other distributions.

Before the CLI tool, promoting a distribution was just about promoting another repo for "composer create", but now it's more about Github templates (like for API Platform's distribution, or Monofony, for instance).

pierstoval,
@pierstoval@mastodon.social avatar

@dantleech I had so many fights when I was working at SL with the maintainers of Symfony CLI, I really insisted to open-source the CLI tool and they didn't want it.

They only did it once SymfonyCloud "moved" (or more specifically "came back") to Platform.sh 🤷‍♂️

pierstoval,
@pierstoval@mastodon.social avatar

@herndlm I KNEW IT

pierstoval,
@pierstoval@mastodon.social avatar

@herndlm What saddens me the most is that it's the same with the React hype. I hate that, but somehow I will end up being forced to join the hype train if I want to keep a job.

And I really hate that monopolizing-hype every framework has.

pierstoval,
@pierstoval@mastodon.social avatar

@ojrask That's the capitalist version of Open Source.

Not Free Libre open source.

They want to bring you in and keep you there as much as possible, and make you dependent of them.

Standards > monopoly.

pierstoval,
@pierstoval@mastodon.social avatar

@rolfdenhartog @ocramius Do you also stick to "PHPUnit" instead of "Pest"? 😉

pierstoval,
@pierstoval@mastodon.social avatar

@rolfdenhartog That's some serious coding! Did you drop usage of Facade and embraced Dependency Injection too? 😱

pierstoval, to random French
@pierstoval@mastodon.social avatar

I'm gonna stop saying "I'm cooking laundry detergent again".

Instead, I'm gonna say "I'm continuing the production of the fluid".

pierstoval, to random French
@pierstoval@mastodon.social avatar

I watch the crossmark-former-bird-site like once or twice a week, only because I have a few mutuals there left.

And when I do, I usually scroll one or two pages-long to taste the evolution of this fascist-compliant website.

It was already completely buggy because I use Firefox and some ad-blockers, but now videos and polls don't even show.

Same with Fb: some posts are totally invisible, videos bug. Youtube is slow.

These assholes want their damn tracking so much they exploded their website.

pierstoval,
@pierstoval@mastodon.social avatar

@ArnaudStrill That's a known thing: Youtube enforced Firefox users to have a longer buffering time than anyone else, for no real reason.

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