The Core Is Fine. We, the People, Are Broken.
WordCamp Sofia had a quarter fewer people this year. WordPress did not lose them. Our egos, our attitude towards change and our lack of listening did.
Notes on life, code, security and stuff worth paying attention to
Hello, human, agent or what ever you are!
I'm Hristo Laskov. I work at the intersection of technology, design, business, security, and communication: which mostly means building things, taking them apart, and trying to understand why they work the way they do.
WordCamp Sofia had a quarter fewer people this year. WordPress did not lose them. Our egos, our attitude towards change and our lack of listening did.
PHP2Shell and a Node.js RCE landed on the same day. The patches were the easy part. What failed was us - the hype, the overconfidence, the "relax :)".
A monolith is a deployment shape, not a design failure. What a poor implementation actually is, how to make a boundary you can prove, and the bill it sends every month.
A worm that rebuilds itself from memory, the database, and your admins' browsers.
Giving back to the community is the most human thing to do, so I do it as often as I can. My team and I maintain a handful of open-source PHP libraries for local Bulgarian services: payment gateways, ERPs, shipping companies.
The only PHP library that covers all three BORICA surfaces: card payments through the CGI gateway, bank transfers and PSD2 through Infopay Checkout, and ERP through Infopay ERP.
Open banking through IRIS Solutions. PayByLink and QR generation, status checks and refunds server-side. The Web SDK component carries PSD2 consent in-page.
Prim.io cloud ERP, by Antipodes. Their API is RPC end to end, and this covers all of it, so you call a method instead of assembling payloads by hand.
Both Microinvest implementations, the hosted web one and on-premise. The same code talks to either.
LINK Mobility MessageHub. SMS, Viber, Push and Voice/TTS. Delivery reports and two-way callbacks parsed into typed objects.
The Speedy courier API. All ten service groups, including Shipment, Print, Track, Pickup and Calculate, returning typed response DTOs.
The Econt e-delivery API. All 25 RPC operations across seven service groups, generated from Econt's own OpenAPI spec so upstream changes are a regeneration.
ePay.bg and EasyPay, all three APIs. WEB for redirect payments with HMAC/RSA signing. One Touch for tokenized REST. Billing for obligations through the EasyPay counter network.
All MIT, all on github.com/ux2dev. Issues and pull requests welcome.