Jukka Paulin
3 min readFeb 3, 2025

0% ChatGPT generated article on Tools in Software

Tools in software

When you enter modern software development, there is a moment of confusion, possibly.

In addition to be able to ride on the shoulders giants, we crave for the simple — the well working, understandable lines of code.

Modern software development often can give you a lot of tools, and in fact, many practical situations require tooling. This goes towards being a Full Stack developer.

Full stack has to do with having a software properly coded, maintained, and effective (run) the software on cloud — in the wild.

And I am not talking about the location of the Power ON button, on your laptop (have had that also as a source of confusion, all hands).

Things are very toolified.

We like to think of automating. And sure, automation has a lot of promises:

  • take away pain of remembering to do something periodically
  • delegate the mundane tasks to a program
  • make “shields” that help you keep things folded neatly, in their own correct places
  • with notification mechanisms, you can keep things on your radarf — be on the pulse — and ready to act.

Automating the Rare but Critical

One of the practical benefits where automation really kicks in, and saves you a lot of time, is when the task you want to automate happens infrequently enough so that you don’t gain muscle memory master in it. In other words: something is rare, but critical. And you bang your head in the wall — when time comes. Those pain points are often ripe for automating.

Automating mundane tasks

The wet dream of IT has always been automating the mundane tasks, I can tell you that: bring information at your fingertips.

A curious real-life tweak was, that WWW (the Web) actually made things a bit harder, in addition to being a revolutionary innovation. What happened was that sometimes data got lost in the “eye candy” — the wrappers in which data was presented. WWW inventor Tim Berners-Lee has adamantly urged us to first do the data, then add a layer of user interaction = the user interface.

However, we probably would not be happy, if everything was automatic. There is something very humanly understandable in our desire to be aware, but keep control. Keep making decisions. We want to buy, not be sold at. We want to be individualistic.

This very fact is maybe something that in the age of steam-ahead automation sometimes catches us on our heels: we want to stop for a while. (Our inboxes rarely obey this desire! ;)

What are Tools?

Tool in a Unix/Linux philosophy is a small piece of program, that usually takes in text, can take “flags” or parameters to guide the program, and then it outputs text. You can pipe the results into a text file.

And those text files can be fed to other tools, or used as the results of computation.

It is this beautiful lineage of tool philosophy, we have actually brewn a lot of great software.

Software often starts with one idea.

You basically want to make:

  • something new, that is useful for yourself
  • some exciting thing, that has not been done ever!
  • try out an idea — just out of curiosity
  • rewriting your own software completely from scratch
  • make a better version of something else that already

Enter 2025: we tend to need graphics, as well. Pretty much everyone is more apt to “seeing” what you are working on.

Although in reality, with the advent of LLMs and ChatGPT, we might be moving again towards text, at least as an intermediary.

When I was learning to code, I didn’t yet need much tools. Of course there was a compiler to make C files into executables. (Think: Node compiles Javascript to a just-in-time code that will get run then, in the javascript virtual machine, so that you think you are “running javascript”).

One of first and most versatile automation tools was “make”.

Make is a unix tool that follows commands in a Makefile. The idea is to automate the compilation of C or C++ source, into a executable file. In fact, Make is generic enough that it allows you to automate any set of actions, basically — given a file “triggers” the action. Triggering means that a file gets updated, so its contents are new, or the file appears for the first time.

Oh jeez, now I jumped to a long train. Cutting it here, see you soon! Will be writing more about this.

Jukka Paulin
Jukka Paulin

Written by Jukka Paulin

Blogger, human bean, geek. Owner of Jukkasoft.com and secret Wordpress lover.

No responses yet