Sign in

Greg Korba 🛠️🛹 Codito

@codito.dev
174 followers 119 following 225 posts

🇵🇱 codito.pl 🇬🇧 codito.dev | Self-educated specialist: PHP, CI/CD, QA automation, Docker, Gitlab and more 😎. Member of PHP-CS-Fixer team 🪶.

PostsRepliesMedia
Greg Korba 🛠️🛹 Codito @codito.dev · 27/11/2025
Huge shoutout to #PHPCSFixer team for implementing #PHP 8.5 support almost on day 1 😍🎉! It's still not released, but looks pretty complete and stable ❤️. If you're using PHP 8.5 already, you may verify it by adding `->setUnsupportedPhpVersionAllowed(true)` in your config file.
000
Greg Korba 🛠️🛹 Codito @codito.dev · 03/11/2025
No more #PHP tribes, no more framework wars! Finally someone found a way to make the PHP community united ❤️! larafony.com On a serious note, though, what an awful idea for a framework name 😭😂. Could be good for a banter, but this project looks serious 😅.
020
Greg Korba 🛠️🛹 Codito @codito.dev · 22/10/2025
NEW ACHIEVEMENT UNLOCKED 🔓🤯❤️🔥!! Honestly, I thought I would need to train this a little bit longer - I started yesterday, and today #muscleup is done 🥳! It's rough and ugly, but I'm proud anyway. Now I can work on improving the technique and aim for more reps 💪. #fitness
010
Greg Korba 🛠️🛹 Codito @codito.dev · 12/08/2025
It should also keep some tools for renovations, but let's stick to priorities 😂 #NewProfilePic
020
Greg Korba 🛠️🛹 Codito @codito.dev · 10/08/2025
Yellow Sack Spider (cheiracanthium punctorium) visited us today 😵‍💫. It's one of the 3 most poisonous spiders in Poland, its bite can cause serious problems up to two weeks after! He was sitting at our sink tap and I caught it in the jar... Creepy one 😳!
000
Greg Korba 🛠️🛹 Codito @codito.dev · 20/05/2025
Everything indicates that next #PHP version will ship pipe operator 😍! RFC is now in voting phase, with majority of Yes votes. In my opinion this is really nice addition to the language and something different than features added in previous versions. wiki.php.net/rfc/pipe-ope...
031
Greg Korba 🛠️🛹 Codito @codito.dev · 15/04/2025
Is there a way to make #ParaTest respect #PHPUnit's baseline? Running tests with the same config and the same baselines gives different results depending on whether raw PHPUnit or ParaTest is used for execution.
010
Greg Korba 🛠️🛹 Codito @codito.dev · 11/04/2025
I've upgraded to #MacOS 15.4 & what a pain in the ass this upgrade is 😫. Every command (e.g. Composer vendor scripts) or IDE hook is reported by the system, and in order to allow it you need to do THREE steps FOR EACH command 😤🤯! Just display "Open Anyway" on first modal, FFS.
010
Greg Korba 🛠️🛹 Codito @codito.dev · 10/04/2025
Hey #PHPStan enthusiasts! Is there a DI service that can be used in custom rule to resolve value of an argument passed to static method call? I did a simple implementation and it works, BUT it causes "Undefined constant" errors during analysis. Maybe there's something OOTB ☺️?
010
Greg Korba 🛠️🛹 Codito @codito.dev · 21/03/2025
It's the 6th week of the process of us moving out to the new house, and Hevy's chart shows it clearly - there's not much time for working out 😭. Paradoxically I probably lifted more weights than before, because I move stuff with my own hands 💪😃. hevy.com/user/wirone
110
Greg Korba 🛠️🛹 Codito @codito.dev · 20/03/2025
#PHP "clone with" RFC was abandoned by its author recently, but according to his comment in the PR his work can be picked up by anyone interested in delivering this feature into the language. wiki.php.net/rfc/clone_with
000
Greg Korba 🛠️🛹 Codito @codito.dev · 14/03/2025
We have really weird problem with #Symfony's `lint:container` command, which started to fail in one of our MRs because DI tries to call some factory with unresolved param that should be an int, but it's passed as a reference string, which causes TypeError.
100
Greg Korba 🛠️🛹 Codito @codito.dev · 11/03/2025
The chart is generated by `gnuplot`, and the input data is retrieved from Git history of a JSON file that stores #PHPStan errors' stats (cherry-picking total value using awesome `jq` tool). It is simple Proof of Concept, but it works great 😃.
for sha in $(git log -r --format=%h -- utils/phpstan/baseline_stats.json); do \
    echo "$(git log -n1 --format=%as $sha) $(git show ${sha}:utils/phpstan/baseline_stats.json | jq '.total')"; \
done | \
gnuplot -p -e "set style data lines;
    set xlabel 'date';
    set ylabel 'errors';
    set xdata time;
    set timefmt '%Y-%m-%d';
    set format x '%Y-%m-%d';
    plot '-' using 1:2 title 'PHPStan errors over time'
"
020
Greg Korba 🛠️🛹 Codito @codito.dev · 11/03/2025
Some time ago in our main app, I've introduced process for dumping #PHPStan baseline stats (total errors, sums by error identifier per area). It is automatically re-generated in our CI during production deployment. Thanks to this file and a few utils, we can now observe trends 😊.
Chart of PHPStan baseline error trend visualising how many error we have dumped to baseline and how it's changing over time.
151
Greg Korba 🛠️🛹 Codito @codito.dev · 02/03/2025
"It's a hard question, I am going to call a friend" The question is: who attacked Ukraine, and all 4 answers are: Russia. The comic is from Polish cartoonist @andrzejrysuje.bsky.social who is 🎯💯 most of the time.
010
Greg Korba 🛠️🛹 Codito @codito.dev · 02/03/2025
Our recent time is so crazy, that our bathroom's misplaced decoration I discovered yesterday sums it up perfectly 😂. #TakeItEasy #EvenThoughWeAreBusy
000
Greg Korba 🛠️🛹 Codito @codito.dev · 18/02/2025
As an YAML engineer I often use yaml-multiline.info to remember myself how handling of multiline scripts works 😆. With Bash's heredoc syntax (for string interpolation) it's different when it comes to end marker's placement. Important to avoid "unexpected end of file" errors.
Gitlab CI script with multiline cURL command that uses variable substitution via Bash heredoc.

example_job:
  after_script:
    - |-
      if [[ $CI_JOB_STATUS == "success" ]] ; then
        curl -X POST --location "https://example.com/api/foo" \
          -H "Content-Type: application/json" \
          -H "Accept: application/json" \
          --data @- << EOF
            {
              "gitlab_user_id": ${GITLAB_USER_ID},
              "merge_request_id": ${CI_MERGE_REQUEST_IID:-null},
              "pipeline_id": ${CI_PIPELINE_ID},
              "project_path": "${CI_PROJECT_PATH}",
              "source_branch": "${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-$CI_COMMIT_BRANCH}"
            }
      EOF
      # Heredoc end marker must be placed at the beginning of the line (aligned with |- of the script)

      fi
000
Greg Korba 🛠️🛹 Codito @codito.dev · 17/02/2025
New times ahead, so many changes! I've finally decided to cut off my #dreadlocks after more than 20 years. These were older than my kids, my marriage, and basically been with me half of my life 🥹. One love to the dreadlocks, #rasta forever ❤️💛💚! #newme #newlook #lifechanges
120
Greg Korba 🛠️🛹 Codito @codito.dev · 12/02/2025
My CI job with Hadolint is failing because Docker Registry gone away. I guess it's time to go to bed 😉.
010
Greg Korba 🛠️🛹 Codito @codito.dev · 12/02/2025
I am exploring the possibility of upgrading our app to #PHP 8.4 and found out that one of our internal libs has Composer constraint for `ext-redis` that enforces 5.x version. I allowed 6.x and also prepared fair matrix of tests (PHP, #Redis extension, Redis server) 😃.
110
Greg Korba 🛠️🛹 Codito @codito.dev · 12/02/2025
💡 If you need to install #PECL extension during your #Docker build, and it has interactive questions that determine how it's built, you have at least to ways of handling it: automatically answer all the questions with the same value, or pass the configure options to the command.
# Using `yes` utility to automatically answer interactive questions

RUN yes "yes" | pecl -q install redis-6.1.0

# Using `--configureoptions` for passing explicit build options (if you need different values, then `yes` can't handle it)

RUN pecl install \
  --configureoptions 'enable-redis-igbinary="yes" enable-redis-lzf="no" enable-redis-zstd="no"' \
  redis-6.1.0
000
Greg Korba 🛠️🛹 Codito @codito.dev · 05/02/2025
Did you know you can use #️⃣ as #PHP inline comment opening char? This feels.... awkward 🫠 3v4l.org/eBFhD
130
Greg Korba 🛠️🛹 Codito @codito.dev · 05/02/2025
Am I blind, or there really isn't a way to run Laravel Pint in a _real_ dry run mode that will exit with non-zero code? --test and --bail does not work, and --repair is the only one that exits with proper code, but it applies changes, and I only want to check files.
020
Greg Korba 🛠️🛹 Codito @codito.dev · 28/01/2025
Following already accepted and implemented "Support Closures in constant expressions" RFC, the new "First Class Callables in constant expressions" #PHP RFC extends the initial proposal with FCC usage. Hot or not? wiki.php.net/rfc/fcc_in_c...
000
Greg Korba 🛠️🛹 Codito @codito.dev · 23/01/2025
Do yourself a favour and stop using Laravel's magic aliases. Always explicitly import symbols from their respective FQNs and avoid this implicit fallback. Tools like #ComposerRequireChecker can report such symbols for you, fix is super easy, and the value is great.
021
Greg Korba 🛠️🛹 Codito @codito.dev · 22/01/2025
I am ALL IN for #PHP RFC about changing behaviour of sort/map/walk functions 😍! It always drives me mad when I need to put sorting in separate line, instead of inlining it in further expression. Just had it in my PHPStan's PR recently, urgh 🥴. wiki.php.net/rfc/array-so...
020
Greg Korba 🛠️🛹 Codito @codito.dev · 21/01/2025
I can't fully grasp the value of #PHP RFC for optional interfaces 😅. I mean... what's the point of implementing the interface conditionally? If it does not exist, then it can't be used to type against it in the code. People smarter than me: help 😃! wiki.php.net/rfc/optional...
110
Greg Korba 🛠️🛹 Codito @codito.dev · 21/01/2025
Interesting #PHP RFC: data classes 🤔. With `data` modifier, such classes would have been compared by values they carry, rather than memory allocation (object ID). No more big conditions with multiple expressions, single === would be enough! wiki.php.net/rfc/dataclass
040
Greg Korba 🛠️🛹 Codito @codito.dev · 20/01/2025
My daughter, who's 3 years and 4 months old, starts to write 😳🤯. She knows the letters (well, some/most) and can write some words with some help. She's so fantastic 😍!
220
Greg Korba 🛠️🛹 Codito @codito.dev · 16/01/2025
It's `\1` 😎.
000
Greg Korba 🛠️🛹 Codito @codito.dev · 16/01/2025
I want to find useless `assertInstanceOf` tests and created a regex with backtracking reference to match the exact same FQN used for assertion _and_ for instantiation, but it seems like `\g` is not supported in #PHPStorm. I used $1 too, no luck. Ideas? regex101.com/r/uuKa7O/2
200
Greg Korba 🛠️🛹 Codito @codito.dev · 16/01/2025
Please, never do this 🙏. It's a waste of time to write such test, waste of resources to run it, and waste of any code reader's time. It's obvious that creating instance of Foo will end up with an object that is an instance of Foo, no need to test it 🤦‍♂️.
040
Greg Korba 🛠️🛹 Codito @codito.dev · 14/01/2025
Sad reality of #OpenSource. Easy to use for free, hard to contribute with your own valuable time. Remember: contributing to #OSS is not only about providing features or fixing bugs, it's also sponsoring people like Juliette, triaging stuff, writing docs, answering discussions 😊.
141
Greg Korba 🛠️🛹 Codito @codito.dev · 04/01/2025
New achievement unlocked 🔓❤️ #gym #abs #fitness
020
Greg Korba 🛠️🛹 Codito @codito.dev · 02/01/2025
New year, new workout tracker 💪😁. Just lifted a bus! Good morning ❤️ hevy.com/workout/de8b...
000
Greg Korba 🛠️🛹 Codito @codito.dev · 30/12/2024
😏
110
Greg Korba 🛠️🛹 Codito @codito.dev · 24/12/2024
Fellow bluskyers, take care of yourself and your dearest ones today, tomorrow, and every day. Stay fit, stay strong, stay humble, stay the best you can be. #Wir1 #xmas
031
Greg Korba 🛠️🛹 Codito @codito.dev · 20/12/2024
It seems like discussion I sparked recently about #PHP releases on GitHub made an effect 😍! This is good enough: enables GH notifications for `php-src` repository, provides basic information about new version and points to downloads/changelog. Great job! github.com/php/php-src/...
1102
Greg Korba 🛠️🛹 Codito @codito.dev · 18/12/2024
I am wondering, why signing in the CI/CD is a bad idea though? It's a pity this automation was not implemented, it was a great PR!
000
Greg Korba 🛠️🛹 Codito @codito.dev · 18/12/2024
Once again I want to praise #PHPStorm 's Search & Replace by Regex feature, it's such a life saver! Using simple trick I was able to get rid of more than 2000 #PHPStan errors in our app in minutes - old code had `Foo|ObjectProphecy` types, where it should be `ObjectProphecy<Foo>`. Love it!
020
Greg Korba 🛠️🛹 Codito @codito.dev · 18/12/2024
I also had to improve one of our custom Rector rules so it does not use deprecated `PhpParser\NodeTraverser` class anymore. Obviously, I had to change Composer constraints too, but that's it 😃. Pretty straightforward!
000
Greg Korba 🛠️🛹 Codito @codito.dev · 09/12/2024
Now this is something remarkable: closure as default value for the promoted property with a hook! 🙈 Hopefully we won't see this (often) in the wild 😂. 3v4l.org/3inE8/rfc#vg...
PHP: Callable promoted property with default closure and with hooks
021
Greg Korba 🛠️🛹 Codito @codito.dev · 09/12/2024
My very own Anatoly moment at the #gym 😂. - [Guy] Damn, that's pretty heavy, I tell you. You've been practicing for a long time, haven't you? - [Me] Nahh, since May - [Guy] Fuuuuuuuck - [Me] And deadlift? I do it probably for the third time - [Guy] OK 😳 (laughs)
120
Greg Korba 🛠️🛹 Codito @codito.dev · 06/12/2024
Interestingly, properties with closures assigned as default value can also have property hooks, which makes the syntax a bit too curly 🙈. Imagine default closure with actual body + hooks...... oof, let's pray for #PHPCSFixer 🙏😆.
110
Greg Korba 🛠️🛹 Codito @codito.dev · 06/12/2024
"Closures in constant expressions" #PHP RFC was accepted and implemented, so in the next non-patch version (8.5 / 9.0) it will be possible to assign closures as a default values for class properties or function arguments. WDYT 🤔? wiki.php.net/rfc/closures... 3v4l.org/8bLVZ/rfc#vg...
130
Greg Korba 🛠️🛹 Codito @codito.dev · 04/12/2024
Just finished 8th episode of The Penguin 🐧 on HBO Max. Whoa, what a production. Colin Farrell created a fantastic character that awakens various emotions in you, especially in the season finale. Great story, superb acting, nice plot twists, bravo 👏!
021
Greg Korba 🛠️🛹 Codito @codito.dev · 04/12/2024
Thanks to @soyuka.bsky.social and Les-Tilleuls.coop we now can run #PHP docs' examples directly in the browser 🥳! It's done using #WASM, and you can see the implementation here: github.com/php/web-php/.... What do you think? My thoughts are in the thread.
120
Greg Korba 🛠️🛹 Codito @codito.dev · 02/12/2024
Hello rower my old friend 🎶! 30min/7.3km #fitness #gym 💪
010
Greg Korba 🛠️🛹 Codito @codito.dev · 01/12/2024
🤤 #omnomnom
011
Greg Korba 🛠️🛹 Codito @codito.dev · 01/12/2024
Niiiiiceeeeeeee 😍 #omnomnom 🍰
120