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

Uncategorized

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

Uncategorized

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

this, that, and everything else


JavaScript

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?


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


Software

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]


Career

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