Clean Code

Image for post
Image for post

Overview

Continuing from https://maziz88.medium.com/practical-clean-code-variables-methods-classes-f470eeffb98e, Software engineering in essence, strives to minimize coupling and increase cohesion. This in effect, minimizes impact of changes, and localize the changes made. The organization of the code will be in such a way where it’s logically grouped, reduces the gap in the mental model, which then helps with understanding.

All these are important especially inmaking software more maintainable and flexible by easily adding, removing and changing existing features according to business requirement. This translates to less time on understanding, coding, debugging and less chance for regression on existing features.

If you always dread of changes, amending features to your software, have a look the code base and reflect on the points we are going to discuss next. …


Clean Code

Practical guide for applying and evolving clean code, design patterns to domain driven. This series will highlight each of the steps and then connect all of them into the big picture so everything can make more sense. This article being the first, focusing on clean code at class level and below.

Image for post
Image for post
Clean Code

Overview

By no means this article is comprehensive. This article highlights items which in my experience would help start off. Readers should expand further by reading books on the subject.

Clean code here, means that the code has qualities that can make developers / programmers understand and change it easily such as (but not limited…


Review

Cheapest mechanical keyboard I can buy in Malaysia. At around MYR 184 (including shipping in peninsular Malaysia, via Shopee, June 26 2020) you could get blue, brown or red Outemu switch.

Image for post
Image for post

Context for the comparison

I’ve been using Filco Mejestouch brown key for 9–10 years for work and Ducky red, blue and brown cherry mx switches at home (the other home, Covid 19 and all, go figure) currently. Also used a typewriter and as well :P and probably the IBM buckling spring (during Wordstar hype) in the past.

So the comparison I am going to make will be with those input (switch ?!?) types.

Overview

Approach

This will be a review based on the usage of this keyboard for about 3 months since June. …


Architecture

In some cases, you may choose to use kafka + avro for internal communication in your micro-service architecture. One thing you have to consider is the distribution of the avro source (the .avsc) among the micro-services. Imagine having a group of micro-services that produce some messages and and another consuming it. How would it go? Copy by script to each one of them perhaps?:P

Image for post
Image for post

Approach Overview

We are going to see 2 approaches to distribute the schema sources among the micro-services.

Artifact repository

The idea is to use a separate module (maven’s sub-project or gradle’s multi projects build) in your project that contains all the avro schema for the producer. …


Building a Custom Workstation

Getting the right OS for the Custom Workstation, https://medium.com/@MazizEsa/assembling-the-workstation-5a3287b56f23. I found there are a few things that I need to adapt in order to be productive moving to Ubuntu, such as equivalent software, new habits that need to be picked up and also some difficulties that need to be mitigated.

Image for post
Image for post
Ubuntu 20.04

The move

I’ve been using MacOS and Windows as my daily drivers (MacOs for work, Windows for non-work related) and Linux when I need to deploy stuff and troubleshoot on server. …


Building a Custom Workstation

Now it’s time to assemble all the components into a working machine. We are going to see the differences in installing an AMD vs Intel based platform, installing the Random Access Memory (RAM), Solid State Disc (SSD) and troubleshooting some issues when installing the OS. Previous part https://medium.com/@MazizEsa/testing-the-power-supply-unit-529bebd3a2e0

Image for post
Image for post
Assembling the good stuff

Installing the Central Processing Unit (CPU)

As this is my first time installing an AMD CPU, I’m quite nervous with its mounting system. Normally on Intel platform the mounting system is using a Land Grid Array(LGA) configuration, where the pin is on the socket of the MOBO. …


Building a Custom Workstation

After planning and getting the components needed, now it’s time to check if my existing power supply unit (PSU, that was purchased and used 10 years ago, transported in a luggage via flight and then was put into storage 5 years ago) still works. You can see previous story on procuring the components, https://medium.com/@MazizEsa/procuring-new-workstation-6cd77c499bd9

Image for post
Image for post

The PSU to be Reused

The PSU that will be reused for this build is the Cooler Master Real Power 550W, 80% bronze efficiency. Not the best but it suits the need of this build. You can find a 15+ year old review at https://www.techpowerup.com/review/cooler-master-realpower-550w/.

This PSU is used to power Intel 2600k (stock speed, no OC) processor and AMD 6850 graphic card flawlessly in the past. …


Building a Custom Workstation

I have only a work laptop which of course only should be used for work. Personal projects or open source stuff strictly a no no. So I’d decided to build a machine for work… and a bit of gaming. Let’s see what kind things that need to be considered into building a workstation. IE: Ubuntu vs Mac, amount of ram, processors.

Image for post
Image for post
Components Purchased

Work-Play Hardware?

This machine suppose to enable me to code comfortable (open source stuff, runs docker, java and technology other stacks) and game at 60 fps in 1080p. Running docker and JVM (I’m predominantly a Java software engineer :P) push me to get 32gb 3200mhz ram while the gaming part push me to get a 1660 gtx super. 3200mhz ram speed does impact AMD’s system more than Intel. …


I have the opportunity of watching / observing closely my son grow up. I noticed that:

  1. Kids always fail. In fact failure is the norm and success is an exception. Failure to hold stuff, failure to walk, failure to stand and etc. I guess when you grow up you start getting “fatten up” by success and failure starts to make you feel frustrated and prevented you from doing things, when in fact failure is a normal thing.
  2. Kids will try anything. Putting stuff in mouth, chewing it, putting stuff in holes, corner or whatever space, even if the stuff may get wedged.When you grow up however, and also maybe because of being pampered by success you are afraid of failure so you tend to try stuff less, limiting your avenue of growth. …

About

Maziz

Someone who bricked a motherboard after flashing the wrong rom because of trying to OC an intel celeron from 400mhz to beyond 600mhz in 3rd grade.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store