A magazine about programmers, code, and society. Written by and for humans since 2018.
by Adrian Kosmaczewski, August 4th, 2025
The infinite flexibility of software is not without some major disadvantages. That is the main reason why we, software practitioners, crave so much any kind of information about "the best" or "the right" way to build, test, deploy, and maintain our systems. Yes, our craft is already complicated enough, and we are not even talking about the human complexities like office layouts, employment shenanigans, dress codes, and whatnot. In this occasion we are going to talk about a resource that fights, with facts and examples, the battle of excellency in the world of PHP.
by Adrian Kosmaczewski, February 3rd, 2025
Around 20 years ago I found a job as a C++ developer. My new employer provided me the first day with a PDF file defining the very strict and mandatory set of guidelines to be followed for the production of code in the organization. These rules can be summarized as follows: do not use the Standard Template Library; do not use templates; and do not use multiple inheritance. If you are a C++ developer reading the previous phrase, I hope you can understand the dismay I felt while reading that. If you are not a C++ developer, suffice to say that to this day I do not understand why would anyone choose to use C++ without those features.
by Adrian Kosmaczewski, June 3rd, 2024
Most software developers are ejected from academia into the jaws of the business of software with little preparation. Of course, they are equipped with good enough knowledge about some more or less relevant programming language, and maybe some algorithm, hopefully including the venerable linked list reversion, indispensable to pass the dreaded coding interview. But not much more.
by Adrian Kosmaczewski, May 6th, 2024
Few ecosystems react as viscerally and as brutally to "bad" visual design than whatever Apple has brought into the world. From the first Macintosh to the latest Vision Pro, the whole idea of making apps for Apple platforms involves, hopefully sooner than later, a severe and serious evaluation of style along with functionality.
by Adrian Kosmaczewski, March 4th, 2024
A quick review of previous entries in the Library section of this magazine shows that it does not feature any book from The Pragmatic Programmers, for no other reason than gross oversight. We have discussed books from MIT Press, Addison-Wesley, O'Reilly, and many other publishing houses, and now it is time to solve this issue. This month we will elaborate on "Pragmatic Version Control Using Git", a 2008 book by Travis Swicegood.
by Adrian Kosmaczewski, January 2nd, 2023
We have often said in the pages of this magazine that some books carry with them the Zeitgeist of their era. Examples are Bruce Tate's "Beyond Java," Joe Armstrong's "Programming Erlang," and Toby Segaran's "Programming Collective Intelligence." Such books have a tremendous impact upon publication, freezing in words not only a valuable body of knowledge, but also the spirit and promise of a new direction for the industry. Even if the APIs they describe become obsolete over time (which is mainly unavoidable), they remain as hallmarks of an era, valuable witnesses of the preoccupations and needs of practitioners at the time of their publication.
by Adrian Kosmaczewski, October 3rd, 2022
Many different things bear the name "Gang of Four"; however, in this case, we are going to talk about a major bestseller in the history of computer books: "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. There is a high probability that every reader of this article owns, has read, or has at least skimmed through the pages of a GoF book once or twice. The book has been reprinted dozens of times (40 times at least until 2012.) It has been the subject of uncountable articles, videos, panel discussions, and, yes, also attacks.
by Graham Lee, August 1st, 2022
Adrian previously discussed Working Effectively with Legacy Code when he talked about how to choose a programming language for your book. It deserves revisiting though, so here it is in the library section.
by Adrian Kosmaczewski, January 3rd, 2022
If there is one thing that computer books are most definitely not usually praised for, it is their visuals. Thankfully, books about user experience and user interface design are usually, indeed, worthy of such acclaim. In this case, however, limiting a review to such criteria would be short-sighted, poor, and unjust. The truth is that most important literature works are multi-layered, profound, and suitable for multiple relectures.
by Adrian Kosmaczewski, November 1st, 2021
Robert L. Glass wrote a book in 1998 called "Software 2020", currently rated with only one star… by the author himself. In his review (written in 2017) he justifies this abysmal record because of a simple observation: none of the predictions in the book turned out to become a reality.