Journal

This is a personal/technical journal, semi-unfiltered thoughts, nothing professional, don’t take it seriously…

  • Why PHP Fails the Enterprise Test

    The WordPress stigma within the PHP community is identical to the PHP stigma within broader software engineering circles. While it is clear that the language will not die anytime soon, it fundamentally lacks what it takes to be considered for mission-critical enterprise tiers. By relying on a fragmented, volunteer-run supply chain, it exposes a fatal operational vulnerability.

    I’ve always taken PHP for granted as this massive, stable engine, but I had no idea that a project of this scale still faces such significant funding and leadership hurdles.

    PHP remains trapped by its own systemic decisions. For CTOs and systems architects evaluating long-term risk, this persistent lack of structural compliance and infrastructure maturity makes the language increasingly irrelevant in the strategic tech world. It survives not because it competes at the highest engineering level, but because the web it built is simply too large to fail.

  • Engagement, Feedback, and the Cost of Support

    Community feedback, even imperfect, and a clear vision of your audience is the fuel for better docs and sustainable engagement.

    Reading this recent post from a respected developer — on a very different scale, of course — reminded me how challenging it is to build and sustain an online community.

    Like Daniel describes, engagement often comes in the form of low‑effort questions: tickets opened without context, issues raised without reading the documentation, or requests for features that don’t align with the project’s vision. These interactions can be draining, but they also highlight something important — people care enough to reach out. Indifference would be far worse.

    In fact, even imperfect feedback is one of the most valuable sources for improving documentation and clarifying boundaries. Every question, whether well‑formed or not, points to a gap in understanding that can be addressed.

    Another key factor is having a clear vision of the audience we want to serve. Beginners seeking guidance, professional developers looking for advanced features, or decision‑makers evaluating solutions — each segment brings a different level of feedback and engagement. Defining this target audience is crucial, because it determines how we interpret questions, what kind of support we provide, and how we encourage the right kind of participation. Too often, projects lack this clarity, which makes community management even harder.

    That balance is why the Webinoly community remains private. It allows us to filter noise, focus on meaningful exchanges with committed supporters, and channel the energy from all kinds of feedback into constructive improvements that strengthen the project for everyone.

  • Low-Level Programming

    Most professional programmers today don’t know—and often don’t care—about low-level programming.

    The Upside: Abstractions Empower

    Abstractions democratize programming. They allow more people to build software without needing to master the intricacies of registers or instruction sets. This accessibility accelerates innovation in areas like AI, web development, and mobile apps, where speed-to-market often matters more than hardware-level optimization.

    The Downside: A Shrinking Pool of Experts

    But there’s a cost. Fewer engineers understand the “bare metal,” and that creates bottlenecks in critical domains—operating systems, compilers, embedded systems, and performance-sensitive applications. The industry isn’t collapsing because most developers don’t know assembly, but it is becoming increasingly dependent on a smaller group of specialists who do. That concentration of knowledge is risky. If fewer people understand the foundations, the resilience of the ecosystem suffers.

    Learning C and Assembly is like finally seeing the Matrix. Once you stop seeing magic and start seeing memory addresses and CPU cycles, your entire perspective on high-level languages changes. Diving into firmware is the ultimate reality check, it forces you to respect the hardware and understand the true cost of every abstraction you use, is a great way to understand that at the end of the day, it’s all just moving bits around silicon.

    Recommended lecture: C Skill Issue

  • Website traffic analytics are never truly reliable

    They don’t even qualify as a valid statistical sample.

    Between VPNs, ad blockers, privacy‑focused browsers, disabled JavaScript, and server‑side filters against “spam” requests, what you see in your favorite analytics tool is only a small fraction of real traffic, and even that fraction is distorted.

    Client‑side vs. server‑side analytics each have pros and cons depending on your goals. Yet most people don’t even realize server‑side analytics exist.

  • The NGINX nonsense

    Nonsense business strategy… Isn’t it?

    In the NGINX pre-built official packages, the Brotli module is only included in Nginx Plus, not in the open-source version, as if Brotli were a premium feature and not an open-source project.

    On the other hand, the Cache Purge module is a premium feature included only in Nginx Plus. However, you can find a similar module included in Debian and Ubuntu Nginx packages, and it appears to be promoted by the Official NGINX channels.

  • Phoning Home: Tracking Users

    A grey area in the GDPR compliance and a common practice in popular plugins.

    Practical example: You have a popular plugin installed in your self-hosted WordPress.org site, and you have explicitly enabled the “Disable Tracking” option in the plugin settings.

    Then you see, the plugin is constantly sending requests to an external domain, including some data in the URL query strings, like WP and PHP version.

    Also, as you might know, the IP and domain it will be recorded in the server logs.

    This is a relatively easy way to track users, and maybe the best way to keep track of real-active users, like a heartbeat!

    Under the GDPR, collecting IP addresses is generally considered personal data, especially if they can be used to identify or indirectly identify an individual. User consent is required unless the processing is strictly necessary for the basic technical functioning of a website (e.g., session management or security). In such cases, consent is not required, and the processing may be based on a legitimate interest or fall under the “strictly necessary” exemption.

    There is an issue in Yoast SEO, if you want to see how Joost de Valk reacts… In fact, they deliberately lie in their documentation.

    * This is not an isolated case, it’s a common practice you will find in different forms.