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
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
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
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
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
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 · 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
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
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
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 · 10/02/2025
The fact that iPad Pro doesn't have hotspot feature and can't be used as internet source using its mobile connection is just 🤯. Device for gazillions $$$ and missing basic functionality. This is (along with other reasons) why I won't be an Apple fan, ever.
120
Greg Korba 🛠️🛹 Codito @codito.dev · 07/02/2025
I really like @sentry.io, it helps so much with observability from developers' PoV. But its approach to releases is mind-boggling 😩. Not only `prefix@name` convention & sharing releases between projects is weird, but also displaying adoption for web apps does not make sense 🤷‍♂️.
020
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 · 31/01/2025
I lost significant amount of time on debugging why my Slack message from CI job does not contain everything it should. It turned out that I was modifying Bash variable in a loop, which in fact was a local variable & original one remained untouched 😩. www.codeproject.com/Tips/5356411...
codeproject.com
Updating bash Variables in a Loop
How to update a bash variable inside a loop when reading from command output
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 · 22/01/2025
There are another 2 #PHP RFCs with similar concept 😵‍💫! - Records: wiki.php.net/rfc/records - Structs: wiki.php.net/rfc/structs-v2 How on Earth voters can process all of that? Each of these RFCs require a lot of attention, I feel sorry for them 😅.
000
Greg Korba 🛠️🛹 Codito @codito.dev · 21/01/2025
Aaaand it's now live 😃. Tomorrow I will update #PHPStan and #Symfony extension in GetResponse, which should prevent any other issues with static analysis not catching bugs related to DI container ☺️. github.com/phpstan/phps...
github.com
Release 2.0.2 · phpstan/phpstan-symfony
65f02c7 - Add result cache meta extension for DI container 7417f3a - Configuration class no longer needed, pass arguments directly to services
020
Greg Korba 🛠️🛹 Codito @codito.dev · 21/01/2025
Been a while since my last contribution to #PHPStan, but here it is ☺️. Very first implementation of result cache meta extension is almost done for #Symfony plugin 👍. github.com/phpstan/phps...
github.com
Release 2.1.2 · phpstan/phpstan
Improvements 🔧 Add support for result cache meta extensions (#3765), phpstan/phpstan-symfony#255, thanks @Wirone! See the docs: https://phpstan.org/developing-extensions/result-cache-meta-extensi...
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