Sign in

Norbert Orzechowicz

@norbert-tech.bsky.social
17 followers 11 following 263 posts

Problem solver, software architect, also working as a Data Witcher ⚔️, hunting and killing 🧌 and 🪳in data processing pipelines! Creator of flow-php.com

PostsRepliesMedia
Norbert Orzechowicz @norbert-tech.bsky.social · 11/02/2026
So many business owners (but also others who have never written a line of code) like to tell software developers how easy, fast, and maybe even redundant their job is getting with AI. So few developers tell the same to them. It looks like a projection, not prophecy 🤔
000
Norbert Orzechowicz @norbert-tech.bsky.social · 09/02/2026
I see two niches in the PHP ecosystem. One of them is data processing, and the second is observability. OpenTelemetry is an amazing concept, but the PHP implementation is not really aligned with how PHP and PHP apps work. Below comes from flow-php/telemetry and #Symfony Bundle
101
Norbert Orzechowicz @norbert-tech.bsky.social · 16/01/2026
I'm working on new package for Flow #PHP Framework! 🤯 Two packages to be more precise: flow-php/telemetry flow-php/telemetry-otlp-bridge thread 👇
100
Norbert Orzechowicz @norbert-tech.bsky.social · 13/01/2026
Last week I moved flow-php.com from G💩💩le to @ProtonMail Was planning this since a while but never had enough time, but let me tell you... It's AWESOME! User interface is light and clean, mobile apps works great. And those aliases <3
100
Norbert Orzechowicz @norbert-tech.bsky.social · 12/01/2026
Recently I have been working on a php telemetry library that is fully compatible with open telemetry protocol and does not use global state/singletons. I'm almost done with first draft, but of course I had to step into another rabbit hole... Async http client.
100
Norbert Orzechowicz @norbert-tech.bsky.social · 09/01/2026
Need to extract filtered data from PostgreSQL with pagination? Pass your WHERE parameters directly and Flow handles pagination correctly. The extractor auto-detects your parameter positions. If you use $1, $2 for filters, pagination params start at $3. #PHP #PostgreSQL #ETL
000
Norbert Orzechowicz @norbert-tech.bsky.social · 07/01/2026
Flow #PHP now supports onComplete callbacks for Symfony streamed responses. After streaming finishes, you get a Report with row counts, execution time, and memory stats. #PHP #DataEngineering #Symfony
000
Norbert Orzechowicz @norbert-tech.bsky.social · 07/01/2026
Flow #PHP 0.30.0 is out! github.com/flow-php/fl... flow-php/postgresql - is a dedicated Flow PHP Client for #PostgreSQL focused on parsing/query building. It's focused and optimized for PostgreSQL, powerful DSL makes building even the most complex queries programmatically.
github.com
Release 0.30.0 · flow-php/flow
[0.30.0] - 2026-01-06 Added #2130 - Allow preserving existing values during DBAL upsert - @stloyd #2129 - Schema::isSame to use it for early exit merge operation when schema is the same - @norbert...
100
Norbert Orzechowicz @norbert-tech.bsky.social · 05/01/2026
Building SQL queries with optional filters is messy. If-statements everywhere. String concatenation. Easy to mess up. Flow PHP now has a fluent condition builder for PostgreSQL queries. Build WHERE clauses incrementally. Add conditions when they exist, skip when they don't.
100
Norbert Orzechowicz @norbert-tech.bsky.social · 02/01/2026
From time to time I'm getting a feedback that Flow #PHP DSL is "ugly". I disagree! it's just different than what most devs are used to. Flow DSL is based on underscore, lower case functions that under the hood are creating objects. Yes, Flow is object oriented!
100
Norbert Orzechowicz @norbert-tech.bsky.social · 31/12/2025
Pagination is one the techniques to retrieve large data from database. Flow #PHP adapter for #PostgreSql provides 3 different types: - limit offset - key set - cursor Do you know which one is the least scalable?
010
Norbert Orzechowicz @norbert-tech.bsky.social · 29/12/2025
Flow #PHP playground is a PHP compiled to #WASM with multiple extensions allowing us to run #ETL pipelines in the browser. One of the recent additions was #excel support. try it yourself: flow-php.com/playground/...
010
Norbert Orzechowicz @norbert-tech.bsky.social · 25/12/2025
A top request with reports? Saving them as XLSX files. That's why we taught Flow #PHP to master #Excel. flow-php.com/documentati... Marry Christmas Everyone! 🎄🎁
flow-php.com
Documentation - Flow PHP - Data Processing Framework
Documentation
100
Norbert Orzechowicz @norbert-tech.bsky.social · 22/12/2025
Data processing in #PHP is still in it's early stages. Don't believe me? Look at your system and tell me how it's handling imports/exports. Is it perhaps hand written importer/exporter? Any chance it's using file_get_contents? What stops you from using a Data Frame?
000
Norbert Orzechowicz @norbert-tech.bsky.social · 18/12/2025
flow-php/postgresql received Client::explain() : Plan feature This means that we can now programmatically extract and analyze postgresql query execution plan! More details in flow-php.com/documentati...
000
Norbert Orzechowicz @norbert-tech.bsky.social · 16/12/2025
#1 Did you ever had to make a tradeoffs between using a query builder and using a database specific features like CTE in #postgresql? Not any more flow-php/postresql is a brand new library that just joined Flow #PHP Ecosystem! flow-php/postgresql comes with 3 building blocks 👇
110
Norbert Orzechowicz @norbert-tech.bsky.social · 12/12/2025
Flow #PHP now supports PHP 8.5. Dropped 8.2, moved to 8.3 for development, added support for 8.5. 0.29.0 coming soon. github.com/flow-php/fl...
github.com
Enabled support for php 8.5 in github actions by norberttech · Pull Request #1906 · flow-php/flow
Resolves: #1905 Change Log Added support for php 8.5 Fixed Changed Removed Deprecated Security
000
Norbert Orzechowicz @norbert-tech.bsky.social · 08/12/2025
I'm pushing release of next Flow PHP version by a week (maybe 2). There are two things I would like to include in the next release: - support for PHP 8.5 (and migrating codebase to 8.3) - first release of flow-php/postgresql library
100
Norbert Orzechowicz @norbert-tech.bsky.social · 05/12/2025
flow-php/pg-query quickly escalated from "I just want to parse sql to AST" into "why not build a proper query builder?" 😅 So there is, #PHP Query Builder for #PostgreSQL inspired by JOOQ (API will change, this is just PoC)
011
Norbert Orzechowicz @norbert-tech.bsky.social · 03/12/2025
Flow #PHP library for parsing SQL flow-php/pg-query just got significantly better! Now it can not only turn query into AST but also convert AST to nicely formatted string! flow-php.com/playground/...
010
Norbert Orzechowicz @norbert-tech.bsky.social · 02/12/2025
Another addition to Flow, auto generated Table of Contents to easier get to relevant sections of documentation 😁
000
Norbert Orzechowicz @norbert-tech.bsky.social · 01/12/2025
I just upgraded Flow #PHP Playground. Now it opens preview of predefined/uploaded files in tabs. I also added some colors to the output to make it more readable.
000
Norbert Orzechowicz @norbert-tech.bsky.social · 28/11/2025
🇵🇱 Staram się publikować tylko sprawy techniczne, ale ta jest ważna. Leszek z Joanną potrzebują pomocy, toczą walkę, której nie powinni, trzeba im pomóc wyrównać szanse. Więcej możecie przeczytać na pomagam.pl/4hgb6g Wpłać ile możesz, 5, 10, 500, sky is the limit
pomagam.pl
Walka z rozsianym rakiem jajnika | Pomagam.pl
Cześć! Jestem Asia, miałam wtedy 34 lata i nic nie zapowiadało tego co będzie dalej. Zwykła torbiel, usunie się i po sprawie. Nie martwiłam się zbytnio, lekarze mnie uspokajali. Po zabiegu lekarz operator powiedział tylko, że bardzo mu przykro ale to nie było to czego się spodziewali i niestety …
000
Norbert Orzechowicz @norbert-tech.bsky.social · 27/11/2025
I'm cooking another cool addition to Flow #PHP 👨‍🍳 What I was always missing was a proper SQL Parser in PHP, something that can create AST Tree from SQL query string. So I created one: flow-php.com/documentati...
flow-php.com
Documentation - Flow PHP - Data Processing Framework
Documentation
100
Norbert Orzechowicz @norbert-tech.bsky.social · 25/11/2025
I'm very excited about what I'm going to share now! Flow #PHP just received a fully interactive playground allowing to build and execute ETL pipelines directly in the browser!! 🤯 Demo: youtu.be/bJm0BZUrTrg
Dark IDE-like playground showing PHP ETL code on the right, project file tree on the left, and a tabular output of order rows at the bottom.
100
Norbert Orzechowicz @norbert-tech.bsky.social · 12/11/2025
New version of Flow #PHP was released, 0.27.0. This was a bigger release that brought a few very cool features to DataFrame. Let's start by covering the new data type - HTML delivered by @stloyd.
100
Norbert Orzechowicz @norbert-tech.bsky.social · 03/11/2025
1/8 I have been recently playing with the idea of creating an interactive playground for Flow #PHP where the ETL pipeline can be executed directly in the browser. Today I managed to put together the first working version!
100
Norbert Orzechowicz @norbert-tech.bsky.social · 28/10/2025
@stloyd came up with a proposition of adding HTLM entry type to Flow #PHP and leveraging DOM\HTMLDocument introduced in PHP8.4 Which in my opinion will open a whole new world of possibilities 🤩 You can check the progress and details here: github.com/flow-php/fl...
github.com
[Proposal]: Add `HTMLEntry` & related · Issue #1912 · flow-php/flow
Describe the Proposal To easily work with the new \DOM\HTMLDocument, it would be good to introduce a new entry, type &amp; cast for this. This would be a nice addition to the existing XML type, whi...
000
Norbert Orzechowicz @norbert-tech.bsky.social · 27/10/2025
Flow #PHP 0.26.0 was just released! Among fixes and improvements to our website, there is also a small gem. DataFrame::batchBy() It's a smarter version of batchSize that not only splits the dataset into batches by size but also keeps them logically grouped by column.
210
Norbert Orzechowicz @norbert-tech.bsky.social · 22/10/2025
Flow #PHP documentation just got significantly better 🤩 From now on, each example can also have multiple options - third nesting level. Here is a great example: flow-php.com/data_frame/...
Screenshot showing 3rd level of nesting of examples at https://flow-php.com
000
Norbert Orzechowicz @norbert-tech.bsky.social · 21/10/2025
Modularization is not easy at all, I described some of the challenges and potential solutions in the latest article on my blog: norbert.tech/blog/2025-1...
norbert.tech
The Dark Sides of Modularization
Practical challenges of system modularization - how to solve database-level coupling when extracting a module from a monolith. Comparing approaches: separation of responsibilities, projections, anemic events, and materialized views.
000
Norbert Orzechowicz @norbert-tech.bsky.social · 12/10/2025
Great news! Mago (Rust) has a new release that supports Flow (PHP) Types right out of the box, no extensions needed - just Mago 💪 github.com/carthage-so...
000
Norbert Orzechowicz @norbert-tech.bsky.social · 10/10/2025
This is a very cool way to share your reusable commands / hooks / sub-agents. One thing I'm missing here is a step where during plugin installation user could configure it providing things that are custom for his use case docs.claude.com/en/docs/cla...
docs.claude.com
Plugins - Claude Docs
Extend Claude Code with custom commands, agents, hooks, and MCP servers through the plugin system.
000
Norbert Orzechowicz @norbert-tech.bsky.social · 07/10/2025
Took me a while to find my hotel room 😅
000
Norbert Orzechowicz @norbert-tech.bsky.social · 06/10/2025
Last Friday, I gave a talk at the @PHPersPL meetup in Gdańsk about the Parquet file format and its use in #PHP. For those who couldn't attend: norbert.tech/blog/2025-0... P.S. I'm working on launching a series of webinars about Flow #PHP - stay tuned! 💪
norbert.tech
Parquet - Introduction
Complete guide to Apache Parquet - the binary, columnar file format. Learn how to achieve 10x smaller files, use metadata for lightning-fast filtering, understand Row Groups and Data Pages structure, and explore advanced features like encryption and Dremel algorithms.
000
Norbert Orzechowicz @norbert-tech.bsky.social · 02/10/2025
Flow #PHP GitHub Actions workflows just got faster. We introduced a series of refactorings that aim to reduce the total time of the test suite execution. More details below:
110
Norbert Orzechowicz @norbert-tech.bsky.social · 30/09/2025
Flow #PHP 0.25.0 was released yesterday. This time, we have significantly enhanced the Parquet library along with integrations for Excel and Google Sheets. As always, you can find more details on the release page: github.com/flow-php/fl...
github.com
Release 0.25.0 · flow-php/flow
[0.25.0] - 2025-09-29 Added #1866 - [XMLParserExtractor] Add support for Schema - @stloyd #1864 - [ExcelExtractor] Add support for Schema - @stloyd #1862 - [GoogleSheetExtractor] Add support for S...
000
Norbert Orzechowicz @norbert-tech.bsky.social · 29/09/2025
Parquet is an amazing file format that can reduce data size by 10 times, allows parallel processing, and selective reading out of the box. How can that be? Learn from my latest blog post about Parquet: norbert.tech/blog/2025-0... 🇵🇱🇺🇸🇫🇷🇪🇸🇮🇹🇩🇪
norbert.tech
Parquet - Introduction
Complete guide to Apache Parquet - the binary, columnar file format. Learn how to achieve 10x smaller files, use metadata for lightning-fast filtering, understand Row Groups and Data Pages structure, and explore advanced features like encryption and Dremel algorithms.
000
Norbert Orzechowicz @norbert-tech.bsky.social · 27/09/2025
Hmm maybe we should integrate FlowPhp with krakjoe.github.io/ort/ 🤔 That would bring ML capabilities to php ETL pipelines
000
Norbert Orzechowicz @norbert-tech.bsky.social · 24/09/2025
Some nice performance optimizations are coming to Flow #PHP Parquet library (mostly related to PHP Thrift implementation) 💪 app.blackfire.io/profiles/co...
000
Norbert Orzechowicz @norbert-tech.bsky.social · 23/09/2025
Flow #PHP can now be run on Windows! But not through WSL, pure Windows. The main blocker was the flow-php/filesystem library. I managed to turn the Path class into a facade that detects the OS and uses dedicated Windows or Unix Path implementation under the hood. github.com/flow-php/fl...
100
Norbert Orzechowicz @norbert-tech.bsky.social · 19/09/2025
Are you #PHP Developer working on Windows? I might have a good news for you! I'm working on providing support for Windows to Flow #PHP - Data Processing Framework! You can follow my progress here github.com/flow-php/fl...
000
Norbert Orzechowicz @norbert-tech.bsky.social · 16/09/2025
Flow #PHP 0.24.0 is out 🚀 In this release we continue improving Doctrine Dbal Adapter by adding transactional loader and retry loader. We also started exploring new way to improve DX - Transformations More details as always at github.com/flow-php/fl...
github.com
Release 0.24.0 · flow-php/flow
[0.24.0] - 2025-09-16 Added #1850 - Drop / Select Transformations - @norberttech #1850 - Missing DSL functions for BatchSize, Limit, MaskColumns, AddRowIndex transformations - @norberttech #1845 -...
100
Norbert Orzechowicz @norbert-tech.bsky.social · 15/09/2025
This is how easily I bumped phpstan level from 6 to 9 in one of my libraries. github.com/norberttech... All thanks to flow-php/types - tiny library developed for Flow #PHP Framework that for narrowing / casting
github.com
Static analysis hardening by norberttech · Pull Request #458 · norberttech/static-content-generator-bundle
Change Log Added flow-php/types library for better types narrowing Fixed Updated Changed increase phpstan level to 9 Removed Psalm ...
000
Norbert Orzechowicz @norbert-tech.bsky.social · 12/09/2025
Knowing that something you build for yourself and shared with others is solving their problems is the best possible reward ❤️ #OpenSource
020
Norbert Orzechowicz @norbert-tech.bsky.social · 07/09/2025
AGI 🤣
000
Norbert Orzechowicz @norbert-tech.bsky.social · 03/09/2025
I'm slightly adjusting priorities for the end of the year for Flow #PHP. Initially, I planned to focus on an interactive playground, and while I'd love to pursue that, parallel processing is far more crucial for the project. For more details, check out our Discord 👇
100
Norbert Orzechowicz @norbert-tech.bsky.social · 01/09/2025
Flow #PHP 0.23.0 was just released 🚀 Due to my vacation break and more focus on my consulting services, this is a smaller one, it comes mainly with minor bug fixes, you can find all the details here: github.com/flow-php/fl...
github.com
Release 0.23.0 · flow-php/flow
[0.23.0] - 2025-09-01 Added d755ea - 1password logo - @norberttech fcc085 - Tailscale VPN to the list of sponsors - @norberttech 45631e - cloudflare to sponsors lists - @norberttech Changed #181...
000
Norbert Orzechowicz @norbert-tech.bsky.social · 17/08/2025
I wrote a new blog post about how to approach preparing data for analysis in distributed transactional systems. norbert.tech/blog/2025-0... Available in: 🇵🇱🇺🇸🇩🇪🇫🇷🇪🇸
010
Norbert Orzechowicz @norbert-tech.bsky.social · 12/08/2025
1/4 Flow #PHP Playground Progress Update ⚙️ - we now have AST Traverser with Visitors detecting dangerous functions/classes usage - we have linter used on the snipped Both, Parser and Linter are generating Violations that are later mapped to a code editor
100