I Read. You Learn.

The Junior Developers Guide to Meaningful Software
Styling with React’s Material-UI v4 – Part 2

Styling with React’s Material-UI v4 – Part 2

Today, I will go over Material UI's Theming. This will continue the first part where you've learnt how to style Material-UI's components using makeStyles. Prerequisite: This article assumes you are familiar with styling components using makeStyles, which I've...

Styling with React’s Material-UI v4 – Part 1

Styling with React’s Material-UI v4 – Part 1

For the past year I've been working with Material-UI, and let's say my relationship with it had its ups and downs. I've finally found the time to tackle Material-UI heads-on and truly understand how it works. This is the first part of a series about styling with...

Server-Side Template Injection + Hack the Box Walkthrough

Server-Side Template Injection + Hack the Box Walkthrough

Lately, I've been interested in learning more about cybersecurity, and especially about web application penetration testing. I've been fortunate enough to receive two SANS courses which gave me a wide knowledge base about the different attack vectors you could use on...

Exploiting Samsung Router WLAN AP WEA453e

Exploiting Samsung Router WLAN AP WEA453e

August 2020, I discovered multiple vulnerabilities in Samsung WLAN AP WEA453e, including a pre-auth root RCE, which means an attacker could run code remotely with root privilege’s without logging in.

Automatically Add JIRA Tickets To Your Commits

Automatically Add JIRA Tickets To Your Commits

It's time to stop manually writing your JIRA tickets inside each commit message. To do so we will briefly go over Git hooks, and the following bash script I wrote to add the JIRA ticket automatically. git hooks Git hooks are scripts that run automatically when...

Code Smells Every Developer Should KNOW And Their Refactoring

Code Smells Every Developer Should KNOW And Their Refactoring

Every software developer will eventually develop his own sense of how and when he should refactor his code, in order to develop that sense, that intuition I've assembled a list of code smells that should indicate its time you refactor your code. Naming Software...

Improve Your Recursions Performance With Tail Call Optimization

Improve Your Recursions Performance With Tail Call Optimization

I've always heard about optimizing recursions with tail call optimization (TCO), so lately I've decided to learn more about it.  While it seemed pretty cool that we can bring the performance of a recursive loop closer to that of the manual loop, I was in for a big...

Learn How To Compress Your Responses With Express and Node.js

Learn How To Compress Your Responses With Express and Node.js

Compression reduces up to 70% of the size of text-based files ( HTML, JS, CSS, etc..) and some compression algorithms can reduce the size even more, this will result in a much faster loading time for your clients and less bytes going over the wire. Gzip compression is...

Display Large Amounts Of Data With A Virtual List

Display Large Amounts Of Data With A Virtual List

There will come a time when you’ll work on an application that will have to display a large amount of data at the same page, the page will slow down or even the application will be blocked until the rendering is finished. Let's see how to handle this type of...

Correctly Use Javascript’s Imports To Improve Bundle Size

Correctly Use Javascript’s Imports To Improve Bundle Size

A very often overlooked aspect for developers is how they import their libraries into their project. Importing libraries incorrectly will rapidly increase your bundle size, increase your build time and will make the user eventually wait more time for the page to load....

The Recursion That Cost Me a Full Stack Position

The Recursion That Cost Me a Full Stack Position

It's 6 PM. I’m tired and after a long day at work. I’ve arrived at the interview site and met the team leader whom I will be working with. we start with the basic “Tell me about yourself questions”, and go straight to the JavaScript coding test. I’ve been handed a...