Function naming is hard (even PHP-FIG gets it wrong)

Craft, Programming, Uncategorized

There’s a famous saying that two of the hardest problems in computer science are cache invalidation and naming things. When it comes to defining standards, there’s no cache involved, but there¬†is a lot of naming of things. It should come as no surprise, but I recently was shocked to see that the folks who create […]

Continue Reading

Simple, lightweight Rust tutorials


So I finally decided to write some tutorials. For Rust. I’ve kept myself from writing any tutorials before, but this time I made an exception. Here’s why. Be advised, though. There’s nothing special in these tutorials. I write them as I learn Rust from the only excellent book online, and the content and structure of […]

Continue Reading

Learning Rust – One tutorial at a time


I never wrote any programming tutorial before. That’s a paradox for those who know me, because I absolutely love to learn and teach. Why not a tutorial till now, then? To put it briefly, I haven’t been sufficiently excited about a programming language before. Sure, there’s Python, Go, Elixir, Kotlin, and many other elegantly designed […]

Continue Reading

Enjoy Those Lights!

Showcase, Uncategorized

Today I have taken an important step towards unchaining the designer in me. And it has to do with the choice of color scheme for coding. Now, most developers will agree that color-coding is extremely important in programming (it allows us to quickly discern parts of the code we want, and improves focus and readability) […]

Continue Reading

A new blog post format


There’s a lot I want to write about. But the whole thought of structuring, expanding, connecting, and what not, when it comes to fleshing out a post, makes me weep. Unless the post is vast in scope, there’s no reason to make it too long. This applies to most of the posts out there, where […]

April 22, 2019

The stack is rarely the concern

Advice, Career

Much is made of the tech stack in the startup world. “Work with a world-class team of engineers working on the XYZ platform and shape the future of mankind” — so goes a typical hiring pitch for developers. And for good reason. Good developers and talents engineers are driven by the desire to improve. So […]

February 20, 2019

this, that, and everything else


One of the most puzzling things in JavaScript is this. We could begin by explaining what it is, what it does, and what makes it complicated, but this is not a tutorial. This is a rant, and like all good rants, it should begin with an example. ūüôā Let’s write some code for an object […]

November 24, 2018

WTF is Late Static Binding in PHP?


One of the features in “advanced” PHP you come across is Late Static Binding. There are two things that make this feature very interesting: It is remarkably useful It is¬†extremely poorly explained in the official docs So if you’ve heard of this term the first-time, or like me, have lost a few hair over what […]

June 28, 2018

The pointless PHP vs. Node debate


Imagine a million transactions a¬† month. Okay, 10 million. Assuming it’s a company that sells products, and the typical order size is $50, we’re talking of $500 million in monthly revenue. Or $6 billion annual. That’s big deal. Very few businesses reach that level. Now, also asuume that the order flow is evenly distributed during […]

June 5, 2018

Biases and improvement

Advice, Career, Craft, Life

The biggest hurdle to your improvement as a software developer are your biases. The idea that React/Angular/Vue/Backbone are somehow superior to other alternatives; the idea that Python is a much more robust web development language than PHP; the idea that PostgreSQL is the only sensible relational database out there; the idea that nothing matches the […]

April 11, 2018

Laravel: How many controllers are too many?

Laravel, Software

Recently, in a phone interview for a remote positions,¬†this post of mine was called out by the interviewer. His comment was, more or less, that it was stupid to worry about the number of controller in an MVC application. He said that putting logic in controller is a very bad practice, and that I should […]

March 2, 2018

When not to work for a startup [for developers]


These days, startups have a charm that only Paris can rival. They are painted as the far-off, blessed lands where creativity, money, and benefits are flowing freely, and no conformity exists. If you’re a developer, you have dreamed of working for a startup at least once already. Well, sometimes it’s not a good idea. Please […]

March 2, 2018