Technology should serve people, not the other way around

This essay is a repost from a Medium story.

I’ve known computers since I was about 5 or 6. It was the year 1995. My father’s workplace was the only place I could see computers at the time. Paperboy, Prince of Persia, and Oregon Trail were among the MS-DOS games he introduced me to. But it wasn’t the games or interactive graphics that drew me in, but rather the machine itself. I recall being enthralled by Windows. I’m fascinated by how it looked, how it worked, and the simple yet effective applications it contained. In 1998, we finally got our own computer with a dial-up internet connection.

For me, the computer was my only means of self-expression. With text, images, and sounds, I could create whatever I wanted. With audio files like .mp3 and .wav, as well as video files like Quicktime and Windows Media, I could listen to whatever music I wanted. mIRC was the only way I could communicate with people from all over the world. Even if they were in another country, I was able to share my thoughts and opinions with them. I didn’t have many friends in school back then because I preferred interacting with the keyboard.

The internet and technology have become obsessions for us. PCs, mobile phones, laptops, and smart devices have exploded in popularity over the last two or three decades. From the classroom to the bedroom, the internet had spread. We spend the majority of our time in front of a computer or on a mobile device. The majority of people spend far more time in front of a screen than they do outdoors.

True, technology is altering our lifestyles, but it also requires us to alter our lifestyles. It’s exhausting to be told that technology is working for us, not against us, all of the time. It’s all too easy to fall into this mindset and fail to recognise that it’s illogical.

We worship technology so much that we sometimes lose sight of its purpose. What can technology help me with? Is it possible for it to assist me in expressing myself more effectively? Is it capable of assisting me in interacting with people I have never met before anywhere in the world? Is it possible for technology to manipulate, control, and shape people’s lives? Yes, that is correct.

We are the product in the economy of attention. We are the resource that technology is consuming. By using technology such as the internet, we are giving up our privacy and freedom. Technology is working for us rather than against us. With each passing year, it gains more and more control over our lives, but we are completely unaware of it.

We are distracted from what we are doing right now by notifications, apps, and alerts on our mobile devices and computers. These are meant to draw our attention away from the rest of the world. Our focus is broken down into very small chunks. On our mobile devices and computers, we divide our attention between various notifications, apps, and alerts, or even multiples of each. Finally, being online has become an obsession for us. We just can’t seem to stop ourselves. We now try to avoid interacting with people in real life as much as possible.

And we don’t realise how much of our attention and technology we give away until we lose something. One of the most prominent examples is social media. We quickly share the most memorable events in our lives with others. That is, after all, what it is supposed to be. Some people, on the other hand, only share their happiest moments online in order to make others believe they are doing well.

We should not be defined by technology, but rather by how we use it and what we can accomplish with it. To put it another way, technology must be centred on humans rather than the other way around.

Allow yourself to be free.

Photo by Julian Jagtenberg from Pexels

The power of Now

Time is a powerful thing. We all have it, and not enough of it. It is precious. The best moments happen in the Now, because when we’re in Now, we’re truly living our lives to the fullest.

Not every day do we feel motivated or “feel it”. The trick is to just spends 5 minutes on it. Let’s have a scratch or two on it. That 5 minutes is all we need. Loosen up all the expectations.

Usually, that 5 minutes will be 10 or 15 minutes. Just let that sink in.

Later that you know, you are one hour clock in.

You just accomplished one task.

I’m not saying we should never work on projects or learn, but we should let projects and learning go when we feel it. That way, we will only feel the emotion of joy and passion when we’re in the Now.

The more we give attention to Now, the more we can be happy and appreciate it every time we remember it, even if only for 5 minutes.

Here you go, that’s my five minutes post.

Separation of Concerns

The separation of concern refers to the division of tasks within a broader function or responsibility to separate different functions. The process is often used in management and business, where it allows for specialization of functions according to their area of expertise.

In software engineering, software modules whose functionality have been separated into concerns should be design-time interchangeable. A module that is designed with concerns in mind is also said to be modularised. The idea of separation of concern is particularly relevant in object-oriented programming, where the concerns are often the same class.

The same can be said for complex enterprise applications building blocks. Separating the various concerns into different systems or layers simplifies code navigation and maintenance. When changes are implemented, the effects and regressions on other areas are minimised, and a healthier and more adaptable programme emerges.

Let’s visit how the same philosophy can be applied in business.

Decentralisation of control

In business, decentralisation of control refers to the distribution of decision-making power away from one central authority. Decentralisation can have positive and negative effects. It can be used to foster creativity and innovation, but it can also lead to infighting, inefficiency, slow decision-making, inconsistent policies, and poor-quality decisions.

In the context of software engineering, decentralization of control can be applied in two ways:

  1. In a module-based architecture, a module specifies a set of concerns and the way they interact. If a module provides a good abstraction and has its internal implementation sufficiently separate from the next module, then it can be exchanged for another module, and the internal implementation can be changed wholesale without affecting any external behaviours.
  2. In a layered architecture, the lower level layers implement the bare minimum to support all the higher-level layers. Ideally, the lower level does not need to be concerned about higher-level functionality. It can be designed independently of them and independently evolve over time.


Decoupling is the ability of two parts that are connected or related to function independently from each other. A good example of decoupling is putting a car engine in a boat to make it faster. Decoupling can be used without damaging the system itself.

In OOP, decoupling is often considered cohesiveness. High cohesion occurs when the elements of a module are well related to each other. Low cohesion means that the elements are not closely related to each other.

The philosophy behind this concept for the business is that by keeping functional areas, such as accounting and management, separate and independent from each other, the enterprise can function more efficiently. The same principle applies to software development for modularity and reusability.

This disconnection is intended to prevent repetition and redundancy. So that the segment or section can perform the best. It same philosophy behind microservice architecture. By avoiding functions duplication, any errors found will only need to be fixed once. Changes to one area of code will not have unintended effects on other areas of the programme.

One way separation of concerns or decentralization of control be implemented is by having a different leader for different areas, and having one leader who overlaps the other leaders.

How the SOC benefits the design business

The separation of concerns helps to keep the department clean, accessible and highly reusable. The modularity in business is designed into different areas so that it can be easily modified and changed to cope with business changes. Modular operation is structured, well structured and easily navigate. There is a positive effect in communication and coordination between different business departments through this strategy.

The benefit of modularity is the separation of concerns, which involves different concepts such as abstraction, coupling and cohesion. We can view the department as like code and classes in a program. Divide and conquer, decentralization or whatever we may call it, has a positive impact on conducting an independent operation.

Like software engineering, it helps with the reuse of different parts without having to write tedious procedures for each part, save time and effort when it comes to diagnostic. It also provides a simple method for building blocks, allowing the system to be re-used in different projects with minimal effort. The separation of concerns also aids in continuous integration and feedback, both of which are critical when developing the business.


Frugality is a virtue that involves moderation in the use of money, materials, time and energy. Although there are many definitions of frugality, the definition by Merriam-Webster defines it as “the quality or state of being frugal”.

One benefit that business has by maintaining frugality is its ability to maintain high standards while keeping an eye on expenses. An organization can also become more competitive if they are able to keep their costs low. Finally, an organization that maintains frugal practices is more likely to maintain innovative practices.

In startups, there are several positives to frugality. Startups must be able to control their expenses to survive, so they should take advantage of any opportunity that can save them money. A startup may also save money by using less energy by using solar energy or even saving electricity. Finally, there is the issue of not eating out as much as one might do in a larger company because it saves money.

Get rid of the office if you have to. If you can’t, at least have it be more for the show for the outside world. Make sure people are taking advantage of all of your facilities.

Frugality comes with many disadvantages for startups because there are risks involved with cutting corners. Being cheap is good, but never compromise with quality.

An organization can become more competitive if they are able to keep their costs low. In addition, an organization that maintains frugal practices is more likely to maintain innovative practices.

Check where the top 3 resources are and expenses go to. Technology is an important resource in startups. The same frugality rules apply to technology as the other resources stated above. The main purpose of obtaining technology for a startup is to save money and time.

Finally, in today’s highly competitive market, startups must be able to demonstrate monetization in order to attract investors. One way to demonstrate that they are profitable is to avoid paying for unnecessary services. If a startup does not have any employees, for example, there are numerous free software tools available. Keep it, however, if the tools can double productivity and output.

The difference between startups and normal companies is their struggle to survive. To prevent this the startup should be strict with expenses and make sure people make money in order for them to survive.

Startups should be frugal to stay competitive, but they need to have a budget for particular areas where they will have to spend their money. The budget can help speed up certain processes and allows startups to focus on what is most important.

Graph-powered BI

The first generation of business intelligence tools focused on reporting and OLAP cubes, which organised and analysed historical financial, sales, and manufacturing data. Despite being extremely useful, it only provides a backwards view of the world.

Second-generation business intelligence was all about real-time, allowing executives to view timely data while quickly adjusting and interacting with such views. This is where we are now, gradually.

Third-generation business intelligence, rather than just historical enterprise data, will generate data and analytics for decision-making based on the qualitative (real) world, such as finance sentiment, economics, and social information such as what key leaders have said in the past and present. It would be fantastic if we could link this data.

The next generation of BI will most likely have integration of these two components;

  • Enrichment – the ability to contextualise internal business data by enriching it with external “intelligence”;
  • Correlation – identifies relationships between internal and external data/logs.

A knowledge graph is a database that contains information about people, places, things, and events. It’s similar to a map that shows how things are related to one another. It facilitates us in comprehending the relationships between various entities in the real world. It can be used to power applications like dashboards, reports, and scorecards in business analytics.

The goal is to comprehend the world around us in a broader and more interconnected manner.

Uncluttered your life

When your life’s too cluttered and overwhelming then you may shut down and procrastinate by lying lazily on the couch and just watching the TV or your smart phone.

When that’s the case then start uncluttering both your work hours and your private time. Two questions that have helped me to do that and to find what is most important are:

  • What would I work on if I only had 2 hours for work today?
  • If I had just 1 hour of free time today then how would I spend it?

Use these to get out of an old rut, to question your normal day a bit and to find your top priorities.

Then see what you can eliminate, minimize or perhaps delegate of the things that are not contained in your answers.


The state of mind where a person does something without considering the consequences. The idea may seem brilliant at first, but the after-affects usually prove to be deadly. This phrase was invented by Michael Crichton in his book Jurassic Park (the character Malcolm says it)

Build your own image dataset from search engine

Finding or getting the right dataset is painful process. Here’s an idea : let’s scrape images from search engine.

A combination of category and variations would pull series of queries to wrest images from the search engine, before downloading an image from an URL.  Source code that scrapes close to 1M of images overnight (I do not own the code, however, I think it is very useful). Really helpful to getting train sets for the classifier.

The pipeline of developing dataset. Original diagram by D Grossman.

Read the details from the original post.

SketchUp : My first hour

Since the last three years, my top circles in the UK are artists and architects by genus. And of course, I am far disparate apart from them. I enjoy all of their works. Creative is one thing is that I have a strong keen and try to break free. I want to learn it.

Since the beginning, I asked few times and inform of my interest of learning 3D modelling. But I’ve been procrastinating..

The first start

Lately, I am learning bits of everything on arts and eventually invested (again) some interest in 3D.

5AM or so today, I shoved computer and dive. Finally I’ve installed SketchUp.

Oh 3D is mindblowing, man!

The real reason why I wanted to learn 3D is the hope to discover different types of patterns or way into my creative product. I only used the touchpad to draw the object as above. I’d say I quite familiar with tools like Sketch and Photoshop, so this is an entirely different world. Controlling in multiple axes environment is annoying, but hey – that what makes a 3D environment is 3D, right? I don’t have a mouse, so it putting more weight to the process.

After created object that not went as it should be, I thought I should learn to do real world objects, as what my architect friends do. So, I picked one thing that’s the most common and easy enough for me to make myself comfortable with control and SketchUp essential features. To simulate this, I drew a basic house.

Lets have a TV and dining table outside, why not ?

I love arts. However, art and me is like a distant cousins. I’ve spent years to appreciate the concept and learn, but the result are always terrible and distasteful. Nonetheless, I still believe it is learnable.

Colors, typography, patterns and other bagful components.. Oh man, those things are very hard!

WordPress : Battling with the White screen of death

Updating a deaf theme (no within-panel update) should be easy job.

Just upload, renaming folder for transition, and hit refresh.

Blank screen. ?

Nav to /wp-admin. Here is also white screen. And I had no backup!

I made mistake today. I accidentally renamed theme folder without deactivate the current theme first. The upshot? White screen of death. My friend Aqeel is on his way for an appointment for the project, possibly asking for collaboration for the website. And yet I updating the website.

The problem was, I hosted WordPress, naked, on DigitalOcean; with no cpanel, no PhpMyAdmin etc – putting more cream to challenges.

I learnt something. I also learnt there’s no clear way solution were found.

Here’s the way to solve this.

  1. Check the current_theme values on by accessing your database on wp_options. WordPress has fail-safe mechanism for this – if your current theme has problem, it will fall to another theme for that matter.
  2. Rename the intended theme as temporary name in wp-content. For example tweentyseventeen_new.
  3. This way, WordPress should load as it should because fail-safe exceptions are passed.
  4. If you’re lucky you will see your dashboard. Now change the theme. Fixed.
  5. If not working, rename plugins folder temporarily to disable all plugins. Repeat step one.

Moral of the story; do not maintain anything without backup.