sharing ideas and opinions

Common knowledge? So what? Share it anyway.

Until recently, I’ve always used to beat myself up for not having anything interesting to share with the world. Looking around me, I saw all these cool people sharing their experiences and ideas through twitter, blog posts, screencasts, and podcasts. Meanwhile, I had nothing. Nothing interesting enough to share without feeling silly for being too […]

Unfinished features is the reason why you are not shipping. Duuh!

Unfinished features is the reason why you are not shipping your side projects

Duh! What else could it be? Everyone knows you should put all your energy into your application’s core features and ignore everything else that gets in your way. And yet we continue to build unnecessary crap and fail to ship our best work. From time to time, I run into some issues one of my […]

Inline forms validation with InertiaJs and Laravel

Inline form validation with InertiaJS, Vue, and Laravel

In this post, we’ll go over how we can handle inline form validation with InertiaJS, Vue, and Laravel. As an example, we’ll take a basic todo list where we can edit each item using an inline form. All we have above is a v-for that loops through a todos array and displays the form whenever […]

Active routes in Inertia with Laravel and VueJS

One of the problems I ran into in my Inertia & Laravel applications and saw other people do the same, was how to accurately determine the active route so you can style it accordingly. In the PingCRM demo, we have a sidebar containing a menu whose items are highlighted every time you visit a specific […]

Managing SVG icons in VueJs apps

Managing SVG Icons in VueJs applications

Using the right icons can make our applications not only better looking but also more intuitive. Inline SVG icons are safe, sharp, and easy to customize, but they tend to ruin our markup and make it less pleasant to navigate. Another problem is that they are hard to re-use. Because, one, you cannot really know […]

5 rules for picking long-lasting method names in OOP

When you write a piece of code for the first time, names don’t matter that much. You obviously know what everything is and what it does. However, while it’s cheap and easy to understand now, code written using poor names will grow to be incomprehensible as time passes and your application gets bigger. The price […]

InertiaJS – How to refresh state when browsing back

I’ve been using InertiaJS on all my new projects, and it’s been a great choice so far. But as it happens with everything in the world, there have been a few hiccups. One of those hiccups has to do with refreshing state when navigating back. Inertia is designed to mimic the default browser behavior, which […]

How to approach refactoring legacy applications without hindering your ability to release new features

If you read my article on why rewriting applications from scratch is almost always a bad idea and agreed with it, this article acts as a short guideline on how should one approach refactoring legacy applications without hindering their ability to release new features. Find the biggest pain point. Look at the codebase and ask […]

Photo by Luke Carliff on Unsplash

Don’t throw away the past. Learn from it.

My article on why rewriting applications from scratch is almost always a bad idea got a few responses on medium. One of which got me thinking more deeply about how valuable are the lessons learned during the initial development of the application. Adam is right. The lessons from v1 are immensely valuable and should bear […]

Why rewriting applications from scratch is almost always a bad idea

There are many good reasons to rewrite a legacy application, but most of the time, the cost outweighs the benefits. In this article, I try to balance the pros and cons of rewriting applications from scratch and articulate why it is almost always a bad idea. Many developers, including myself, can live with a legacy […]