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 · 31/08/2025
When you have to work on Sunday, and when reading the company's policies documentation you read "skateboarders" instead of "stakeholders", then you know it's not exactly what you're willing to do today... 😂
000
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 · 25/07/2025
Yesterday I installed GPGSuite on my Mac and today it turned out my keys were removed somehow 😩. I had a backup for my main key (for private and OSS), but lost the key I configured for Printify, and had to generate a new one. Remember to backup your SSH/GPG keys!
010
Greg Korba 🛠️🛹 Codito @codito.dev · 12/07/2025
I wrote an article about #ASDF - multiple runtime version manager, and how you can use it for developing #PHP apps that require different versions of the language. It serves me well as a fallback when #Docker runtime is not available 😊. blog.codito.dev/2025/07/asdf...
blog.codito.dev
ASDF: Multiple PHP versions on localhost
I prefer working with #Docker, but sometimes it’s required to have #PHP locally, and even more - multiple versions of it! There’s a simple way of achieving this: ASDF 😎.
020
Greg Korba 🛠️🛹 Codito @codito.dev · 08/07/2025
Why only young? There are projects like PHP-CS-Fixer that are under-sponsored, with maintainers doing everything basically for free. It may be discouraging after years of hard work.
010
Greg Korba 🛠️🛹 Codito @codito.dev · 08/07/2025
You still doing code reviews? There are AI tools for that 😅!
020
Greg Korba 🛠️🛹 Codito @codito.dev · 08/07/2025
I am excited to announce that I joined #uSoftware as a Senior Software Engineer and will provide services for #Printify in a Developer Enablement team 🤩! Looking forward for this new, great adventure - wish me luck 🤞☺️. blog.codito.dev/2025/07/prin...
blog.codito.dev
Printify: Here We Go!
I am excited to announce that I joined uSoftware as a Senior Software Engineer and will provide services for Printify in a Developer Enablement team 🤩!
010
Greg Korba 🛠️🛹 Codito @codito.dev · 30/05/2025
Nah, it's just a lack of proper knowledge. If you don't know you can assign ternary to variable and you put assignments into true/false side of ternary, then you're simply doing it wrong.
020
Reposted by Greg Korba 🛠️🛹 Codito
Greg Korba 🛠️🛹 Codito @codito.dev · 27/05/2025
I am looking for new role 😁! Contact me if you are interested in services from highly qualified software engineer around #PHP, #Docker, #QA and CI/CD, that is dedicated and cares about delivering value ❤️. DMs are open + greg [at] codito [dot] dev. blog.codito.dev/2025/05/open...
blog.codito.dev
Open to work
After four years at GetResponse it’s time for new opportunities! I am looking for a role related to #PHP, ideally in Developer Enablement context, but I am also open for alternatives. Read further for...
012
Greg Korba 🛠️🛹 Codito @codito.dev · 27/05/2025
I am looking for new role 😁! Contact me if you are interested in services from highly qualified software engineer around #PHP, #Docker, #QA and CI/CD, that is dedicated and cares about delivering value ❤️. DMs are open + greg [at] codito [dot] dev. blog.codito.dev/2025/05/open...
blog.codito.dev
Open to work
After four years at GetResponse it’s time for new opportunities! I am looking for a role related to #PHP, ideally in Developer Enablement context, but I am also open for alternatives. Read further for...
012
Greg Korba 🛠️🛹 Codito @codito.dev · 23/05/2025
I need to confess I always giggle a little when I work with tests that use abbreviated System Under Test notation, because SUT in Polish is a giant nipple 🤭. Yeah, I am a simple man 🙈. Anyway, remember to test your code!
010
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 · 16/04/2025
There IS a way: use at least #ParaTest 7.5.2 (requires #PHPUnit v11 though, that's why we did not have it in our app) 😊.
000
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
I don't publish much recently & according to the poll I made some time ago I rather try to focus on technical stuff here, but some of you were interested in my #fitness journey, so I wanted to share some update ☺️. Follow me on Hevy if you want to be up to date with my progress.
010
Greg Korba 🛠️🛹 Codito @codito.dev · 21/03/2025
Hopefully we can finish moving out soon, so I can exercise more and head towards my goals for 2025 🤞. It's not like there's no progress currently, as I improve significantly in areas needed to reach my goals, but it's just harder when you don't have enough time.
100
Greg Korba 🛠️🛹 Codito @codito.dev · 21/03/2025
Most of my workouts are at home at this point, before going to bed. I also do a 20kg vest dog walks, shrugging and doing squats all the way 😅. I try to squeeze that lemon as much as I can, but I miss proper and regular workouts, and most importantly: skateboarding.
110
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 · 17/03/2025
Today my work #M1 #MacBook started to restart randomly, it happened several times already (around 10 at this point), once I even got the recovery screen with information that OS requires reinstalling (but it booted after restart). I have latest #Sequoia. Any suggestions?
000
Reposted by Greg Korba 🛠️🛹 Codito
Greg Korba 🛠️🛹 Codito @codito.dev · 14/03/2025
It looks like I found the root cause and provided a fix (hopefully!) 😊. It took me a while to find why `lint:container` fails and prepare test with reproducer, because our DI setup is pretty complex. Luckily I was able to narrow it. github.com/symfony/symf...
github.com
[DependencyInjection] More bullet-proof expression evaluation by Wirone · Pull Request #59976 · symfony/symfony
Q A Branch? 6.4, 7.2 Bug fix? yes New feature? no Deprecations? no Issues n/a License MIT As asked here, we faced weird issue recently. I was able to reproduce it with minimal DI s...
001
Greg Korba 🛠️🛹 Codito @codito.dev · 14/03/2025
It looks like I found the root cause and provided a fix (hopefully!) 😊. It took me a while to find why `lint:container` fails and prepare test with reproducer, because our DI setup is pretty complex. Luckily I was able to narrow it. github.com/symfony/symf...
github.com
[DependencyInjection] More bullet-proof expression evaluation by Wirone · Pull Request #59976 · symfony/symfony
Q A Branch? 6.4, 7.2 Bug fix? yes New feature? no Deprecations? no Issues n/a License MIT As asked here, we faced weird issue recently. I was able to reproduce it with minimal DI s...
001
Greg Korba 🛠️🛹 Codito @codito.dev · 14/03/2025
I don't understand why it suddenly started to process that particular service differently or why it even needs to initialise these services during linting. The return type of the expression could be inferred statically and checked against the service's signature.
100
Greg Korba 🛠️🛹 Codito @codito.dev · 14/03/2025
It's either with `symfony/dependency-injection` 6.4.19 and 7.2.4 (PHP 8.3). The service is defined as lazy, one of its arguments is defined as a call to another lazy service using expression language. The difference is the called service's definition was changed (removed 1 arg).
110
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 · 06/03/2025
In case you were wondering what's the versioning strategy for #PHPStan and whether it follows SemVer or not, its author provided great explanation that sums it up ☺️. github.com/phpstan/phps...
github.com
Versioning strategy in PHPStan · phpstan phpstan · Discussion #12696
I am wondering what's the versioning policy in PHPStan? Because IMHO newly introduced feature should be part of 2.2.0 as a new feature, not 2.1.7. It seems like PHPStan does not follow SemVer, at l...
020
Greg Korba 🛠️🛹 Codito @codito.dev · 06/03/2025
#PHPStan 2.1.7 brings very cool new feature: extension point for conditional error ignoring 😍. Using `phpstan.ignoreErrorExtension`-tagged services you can have more atomic approach to handling static analysis errors. phpstan.org/developing-e...
phpstan.org
Ignore Error Extensions
010
Greg Korba 🛠️🛹 Codito @codito.dev · 04/03/2025
I am not a Laravel dev, but I use Docker Compose for local development. It's all you need to set up the whole stack with all the side services.
020
Greg Korba 🛠️🛹 Codito @codito.dev · 03/03/2025
Yes, this too. But I was looking at `bin/console` and it wasn't there, as `dotenv:dump` is not registered by default 😅.
010
Greg Korba 🛠️🛹 Codito @codito.dev · 03/03/2025
It's `dotenv:dump`. Probably I mixed command names with Laravel 😅. But I was sure there's one for Symfony.
110
Greg Korba 🛠️🛹 Codito @codito.dev · 03/03/2025
Am I hallucinating or there was `config:cache` command in #Symfony which's intent was to dump the config into PHP-format file to not parse `.env*` files every time 🤔? I am currently working on #Deployer recipe for some PHP project in our company and it seems like it's not there.
110
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 · 28/02/2025
Today I executed `brew upgrade awscli`, and you know what it means... Of course it touched `icu4c` installation and made local (asdf's) #PHP unusable 🙄.
010
Greg Korba 🛠️🛹 Codito @codito.dev · 26/02/2025
Even as marketing page it's - IMHO, of course - too "fancy". It should allow skimming quickly to get the initial information, but the scroll hijacking makes it impossible. There's no ToC navigation, only in-section topics, you basically need to scroll & scroll. I felt irritated before reaching end.
100
Greg Korba 🛠️🛹 Codito @codito.dev · 26/02/2025
I took a look at the new #Laravel page and in my opinion it has really great visual effects that are awesome for presentation purposes, but horrible for daily usage. The fact you need to scroll to progress the animation, and see most important parts after it ends is mind-blowing.
120
Greg Korba 🛠️🛹 Codito @codito.dev · 19/02/2025
I have a dream 🤩! I want to make small #gym at my new home, so it's easier to continue my #fitness adventure 😃💪. However, this dream is hard to achieve, that's why I'm looking for assistance. Can you help? Find full story & donate here: 4fund.com/z/home-gym 😊. Thanks ❤️!
4fund.com
Fundraiser: Home gym 🏡🏋️ | Grzegorz Korba | 4fund.com
Me and my family finally managed to buy the house and we're moving to the new place 🥳! However, it requires A LOT of work and money to renovate everything and to be able to get things done. My dream i...
021
Greg Korba 🛠️🛹 Codito @codito.dev · 18/02/2025
If you use #Deptrac in your #PHP projects, then migrate your Composer requirements from `qossmic/deptrac` to `deptrac/deptrac` 😊. Autoloading namespace is the same for 2.x so it does not require additional work. More info: github.com/deptrac/dept...
github.com
The deptrac repository has been moved · Issue #1452 · deptrac/deptrac
What is the reason for moving the repository? There are no announcements anywhere, which suggests that this may be a malicious action
010
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
Reposted by Greg Korba 🛠️🛹 Codito
Greg Korba 🛠️🛹 Codito @codito.dev · 17/02/2025
In 2007 I've recorded "Wysyp na wyspach" EP (~"The mob on the islands"), after my working holidays in Ireland. One of the songs was about dreads (made with that money): "Nie pleć głupot" means "Don't talk nonsense", but it also refers to braiding. soundcloud.com/wirone/nie-p... My verse is 2nd 😊.
soundcloud.com
Wirone - Nie pleć głupot (ft. Koutun)
Utwór pochodzi z albumu
001
Greg Korba 🛠️🛹 Codito @codito.dev · 17/02/2025
In 2007 I've recorded "Wysyp na wyspach" EP (~"The mob on the islands"), after my working holidays in Ireland. One of the songs was about dreads (made with that money): "Nie pleć głupot" means "Don't talk nonsense", but it also refers to braiding. soundcloud.com/wirone/nie-p... My verse is 2nd 😊.
soundcloud.com
Wirone - Nie pleć głupot (ft. Koutun)
Utwór pochodzi z albumu
001
Greg Korba 🛠️🛹 Codito @codito.dev · 17/02/2025
Yes, "brackets" is generic, but it is mostly related to []. There is even a code editor named like that, with [] in the logo 😊. brackets.io
brackets.io
A modern, open source code editor that understands web design
Brackets is a lightweight, yet powerful, modern text editor. We blend visual tools into the editor so you get the right amount of help when you want it. With new features and extensions released every...
000