DEV Community

Cover image for If you don't know about it, you most likely don't need it
Marvin
Marvin

Posted on • Originally published at marvin.hashnode.dev

If you don't know about it, you most likely don't need it

If you don't know about it, then you don't need it. Seriously. You don't.

In the last share about The Future of the terminal, I had a rather interesting conversation with one of the readers. It sparked a thought or two.

The baseline was:

Most of the differences are things people don't use that regularly.

Absolutely right.
You see, with the rapid diversification of technology, languages and frameworks alike, too often we get lost in the complexity and get sucked into the love of the challenge. We forget our initial reason; to solve a problem.

Let's sit down, shall we? See exactly what this means.
Say, for example, you had deployed a Django application and for some reason, you wanted to make some changes. That's where fabric comes in. You see, it allows you to SSH into your server, upload a file, activate a virtual environment - hell, it even lets you restart your application all from right within a sample simple script. All you need to do is import it:

from fabric.api import cd, env, prefix, run, task
Enter fullscreen mode Exit fullscreen mode

You are basically running a script as if you were getting into your server directly.

# access my server and create a new user.
>>> from fabric import Connection
>>> c = Connection('db1')
>>> c.run('sudo useradd mydbuser', pty=True)
[sudo] password:
<Result cmd='sudo useradd mydbuser' exited=0>
>>> c.run('id -u mydbuser')
1001
<Result cmd='id -u mydbuser' exited=0>
Enter fullscreen mode Exit fullscreen mode

Speaking of server management, we got Nagios, and for this, we have Shinken. If at one point you are like: " Who is going to do all these things again !!", use it. From re-using Nagios config files to deployment. It handles it with a slight layer of abstraction so that it does not seem that 'much' of a task.

Now if in reading about the last two packages you are like: 'Wow! I mean!', 'That looks cool!', 'This is incredible..', ask yourself, do you really want to use them? Or are you just amazed? If you were to go to their homepages right now, would you import them in a file or just install and keep them in stock in some random virtual environment? These are the questions you need to ask yourself.

Consider another scenario, when will you read that bookmark you made a couple of days, weeks or even months ago? Was it another impulse bookmarking? I have to admit, I am guilty as charged in this as well.

The well of frameworks, packages, and libraries is deep and extensive, but if you do not know what you are going to use a particular item for, chances are you do not need it in the first place.

A rather short page this time, trust me, I know. This is just to get that thought going in.
For now, this is it. Till next time - The Green Codes - and remember, it's time to go through your bookmarks.

Top comments (3)

Collapse
 
bretthancox profile image
bretthancox

This is a really great point. I think anyone in web development has added unnecessary technology at some point. We should always compare the value of the addition to the time and effort needed to implement the new tech.

You package the problem well. Thank you.

Collapse
 
marvinkweyu profile image
Marvin • Edited

@bretthancox ,It is indeed a concern. Getting a whole list of requirements for the project to run when in reality only half of them are actually being used.

Collapse
 
marvinkweyu profile image
Marvin

YAGNI stands for You Ainโ€™t Gonna Need It

Hhaha... I like that.