Helping make the web work for everyone. Welcome to my website. My name is Sylwester Wojnowski and I help individuals and organisations achieve presence on the web.

Blog // Pick of the week

Checking trees for sameness with recursion and spaceship operator in PHP

Checking trees for sameness with recursion and spaceship operator in PHP

16 Jul 2020 14:51:53


Learn how to check whether two trees are the same using a recursive algorithm or the spaceship operator in PHP.


Read full article »

Blog // Recent Posts

cURL over HTTPS - web mailbox authentication and data access

01 Aug 2020 16:35:27

cURL over HTTPS - web mailbox authentication and data access

CURL is one of these killer command line tools, which are as good today, in the age of ever more ubiquitous JavaScript and APIs as they were years ago, in gone-by times when a simple GET or POST HTTP request would have done what it takes. It is a transport tool, which ...

Read more »

Turning OOP class to graph for better code composition and understanding

28 Jul 2020 00:28:15

Turning OOP class to graph for better code composition and understanding

Comprehending code is often a hard and time-consuming task. It becomes even harder when a piece of code your are dealing with is a large class with a sizeable number of properties and methods. Level complexity grows even further when object based on a class starts calling ...

Read more »

Dissecting e-mail spamming hack based on PHP CGI

24 Jul 2020 18:27:44

Dissecting e-mail spamming hack based on PHP CGI

In this article, more out of curiosity than for a good reason, I look at one way of how e-mail spam gets sent by hacked PHP CGI setups. The scenario goes like this: a carefully crafted URL changes PHP configuration to enable a remote file inclusion into a script executed by a ...

Read more »

Using arrow functions for recursive post-order tree traversal

24 Jul 2020 00:31:31

Using arrow functions for recursive post-order tree traversal

JavaScript arrow functions are cool addition to the language. You no longer think about a good name for your function, are allowed to skip "function" keyword, and sometimes even drop parameter's enclosing parentheses. In this article I look at whether these ...

Read more »