DEV Community

Ben Halpern
Ben Halpern Subscriber

Posted on

What’s the most under-appreciated software?

What code floating around doesn’t get the credit it deserves?

Top comments (117)

Collapse
 
isaacdlyman profile image
Isaac Lyman

Microsoft Excel. Seriously.

  • The only database that the average person can use without training
  • Handles gigantic data volumes with extreme efficiency
  • Does everything. Like, I regularly discover new features, and no matter how obscure they are, they always work perfectly
  • Does massively complex calculations without a hitch
  • A non-negotiable dependency of almost every industry and profession
  • Dependable and consistent in a way that 99% of software cannot hope to achieve
  • Completely scriptable
Collapse
 
ben profile image
Ben Halpern

The only database that the average person can use without training

I basically have no idea how to actually use excel 😄

I agree with you, but I still never wrapped my head around how to use this piece of software effectively...

Collapse
 
elmuerte profile image
Michiel Hendriks

Hard disagree. It's over appreciated.

  • It does not handle large volumes of data. I cannot get it to process a simple 50MiB CSV file on my desktop without it freezing for a while.
  • It does not understand timestamps/dates property. It assumes you have a record for every minute, otherwise 14:01 and 14:35 are put next to each other.
  • It does not properly handle numbers. Internally everything is stores as a IEEE double.
  • If a cell contains only digits, and assumes it is a number even though it cannot handle it. "000005234523453249587234985" is simply ruined.
  • It is the main competitor of a lot of specialized software. I work on software for the logistics sector, a big competitor of our business is MS Excel. If you ever wonder why things went wrong with your online order, there is a fair chance some company used Excel, and messed something up.
  • It is too easy to use, but too hard to use. It's like MS Paint with numbers.

PS, LibreOffice Calc does not solve many of those issues.

PPS, If somebody knows something between MS Excel and R to handle larger data sets to plot some graphs, please tell me.

Collapse
 
terabytetiger profile image
Tyler V. (he/him)

If a cell contains only digits, and assumes it is a number even though it cannot handle it. "000005234523453249587234985" is simply ruined.

A quick note on this: If you input '000005234523453249587234985 into the cell it will store as a string and maintain the leading 0's. This is a pain for working with, but does make the numbers display nicely.

I recently found out about this because a user was inputting numbers like this and breaking a formula later on the page 🙃

Collapse
 
isaacdlyman profile image
Isaac Lyman

I see a lot of these as productive compromises rather than bugs, but interesting thoughts in any case. It turns out that all software is built on compromises, even Excel.

Collapse
 
piannaf profile image
Justin Mancinelli

I was not a big Excel user until Joel Spolsky taught me a few things. youtu.be/0nbkaYsR94c

I started using it (and Google Sheets) more and more learning just how powerful and expressive they are.

As you said, there's lots to discover.

Collapse
 
krkd profile image
krkd

The only database that the average person can use without training

I don't have any training. I can't use Excel, aside from filling in values and clicking together basic equations with the GUI. Can I use Excel? Yes. Can I do anything useful with it? No.

I think I get where you are coming from here: Excel is probably easier to learn for non-technical people than other tools for data manipulation and statistics, such as R or Python. But you'd still need training to properly utilize Excel.

Handles gigantic data volumes with extreme efficiency

That is one argument I don't subscribe to at all, I'm with Michiel Hendriks on this one. Everything over ~2500 columns, without complex macros or anything, and you'll wait for it to load way longer than what feels necessary.

A non-negotiable dependency of almost every industry and profession

Aside from the fact that this doesn't say anything about the quality of the software, that's not because of Excel per se, or the lack of alternatives, but a result of Microsoft massively and successfully pushing it for decades.

Collapse
 
jasterix profile image
Jasterix

Excel is also great for cleaning up data! I use it whenever I need to change formatting for a list of records- remove spaces, add commas, etc

I also love Excel's concatenate feature, which comes in handing for quickly creating arrays and objects from strings. In terms of data handling, it definitely is the best quick tool to use

Collapse
 
pinotattari profile image
Riccardo Bernardini

The only database that the average person can use without training

Should an untrained person use a database?

This is a kind of advocacy that I hear a lot. "If you use MySQL (or any other DB) you cannot ask your secretary to manage a data base" This sounds to me like "If you use a dentist drill you cannot ask your children to cure your cavities"

Collapse
 
ferricoxide profile image
Thomas H Jones II

At least you didn't say "MS Project". :p

Collapse
 
alohci profile image
Nicholas Stimpson

What would you use instead? The problem that Project tries to solve has always struck me as a pretty tricky one. Not that I've looked in a long time, but I've not seen a better solution.

Thread Thread
 
ferricoxide profile image
Thomas H Jones II

It's more the history/lore behind the project (if people working at Microsoft at the time of its initial release are to be believed).

That said, it's a horribly misused piece of software. Seems like 90% of the people that decide to use it (and not much smaller percentage of the people that should know how to use it) actually know how to use it effectively.

Collapse
 
_hs_ profile image
HS

Just gonna leave this here pics.me.me/life-of-a-software-engi...

Collapse
 
deepu105 profile image
Deepu K Sasidharan

I know someone who can do anything in Excel, like with macros

Collapse
 
rose profile image
Rose

ooo yes good one

Collapse
 
helad11 profile image
Helad

I discovered Excel a while ago and it blew my mind :)

Collapse
 
ben profile image
Ben Halpern

Everyone has different interpretations of this question, which is fun.

I'd answer this question with...

SQLite

It is installed in practically every computer, phone, etc. on earth.

git

We take for granted how epic a technology git is. It takes on some incredibly difficult problems with grace. Even if its interface is confusing or dangerous at times, its underlying mechanics are so much more sound than most software.

curl

Another one of these ever-present pieces of software that just runs on so many machines and has been getting updates and new features for decades.

Collapse
 
aadibajpai profile image
Aadi Bajpai • Edited

I don't think git is underappreciated at all. I mean, Git{Hub, Lab}. Everyone uses it.

Collapse
 
ben profile image
Ben Halpern

That's true, but I still think the shear excellence of it gets taken for granted by the average developer. The fact that we can build software in a distributed manner using this tool is freaking magical.

Thread Thread
 
jessekphillips profile image
Jesse Phillips

And github, gitlab get more of the credit. (gethub should definitely get credit to changing the way software is developed through.)

Collapse
 
katafrakt profile image
Paweł Świątkowski

Yes, everyone uses it. And everyone uses probably about 10% of its capabilities, while thinking it's all it does (push, pull, merge, commit, maybe rebase).

Collapse
 
miku86 profile image
miku86

I'd say that nobody outside of professional development uses it.

Collapse
 
bretthancox profile image
bretthancox

Git is 100% underappreciated. Everyone should have to deal with one of the older, commercial solutions to appreciate it. Working with Subversion and Rational ClearCase definitely set me up to love git.

Collapse
 
codingmindfully profile image
Daragh Byrne

Team foundation server, perforce, RCS... I still shudder.

Collapse
 
pareshjoshi profile image
Paresh

+1 for SQLite, I wasn't aware about it until I used it in my recent assignment. It is very powerful storage component (remember, I am not saying database server). I'd definitely consider it as a replacement of storing data in files.

Collapse
 
tsundara profile image
Thyag Sundararmoorthy

+1 for SQLite. I was doing a diff between couple files(several GBs). The Unix tools based on estimate would have taken 3-4 hrs. I loaded them into SQLite, used the MINUS operation and the job was done in 5 mins. Remarkable piece of software for crunching locally stored data.

Collapse
 
andevr profile image
drew

Maybe its dumb, but I started using github to log any code I write from scratch, even just method challenges in Java(I'm still learning). Mainly as a way to keep up activity on my account, and also I can look back if I'm unsure how to do something. I also have my personal site hosted on Pages. Nice to have free hosting. I just pay for a custom domain.

Collapse
 
fultonbrowne profile image
Fulton Browne

I completely agree with all those, especially sqlite, its built in to android and is super easy to use and just WORKS.

Collapse
 
mburszley profile image
Maximilian Burszley

Sqlite isn't really "built" into anything as there's no DBMS to speak of. Every programming language simply contains modules to interact with its files almost as a rite of passage.

Collapse
 
mike_hasarms profile image
Mike Healy

I'm often in awe of Git. I never had to use Subversion or its predecessors but I still often give silent thanks to Git

Collapse
 
katnel20 profile image
Katie Nelson

For me, I've been doing a lot of Web API work lately, so Postman has been invaluable in testing my code. It lets you build client-side requests in many formats and keeps track of them all for later use.

Collapse
 
deciduously profile image
Ben Lovy
Collapse
 
katnel20 profile image
Katie Nelson

Awesome!
Never heard of it, but I just went there and it looks great.
I love the name too. 😊
Thanks Ben, I learn something new everyday!

Collapse
 
aadibajpai profile image
Aadi Bajpai

Not sure why I'd use that over Postman though 🤔

Thread Thread
 
zerquix18 profile image
I'm Luis! \^-^/

I think the advantage is that is web-based, unlike Postman which you have to install.
I've tried to use it but it can't really replace Postman, but maybe they'll eventually make it good enough. It's open source.

Thread Thread
 
aadibajpai profile image
Aadi Bajpai

I see, I tried it and I definitely prefer Postman over it. Open source is a plus, but not more than function :)

Collapse
 
torepett profile image
Tore Pettersen

Postman used to be my go to rest client, but after a friend of me suggested Insomnia I don't see myself going back.

Collapse
 
katnel20 profile image
Katie Nelson

Wow, a cure for my sleepless nights 😊
Thanks Tore! That's another one I never knew about.
Everyone is so helpful here on DEV.

Collapse
 
daletman profile image
daletman

What does Insomnia better than Postman?

Thread Thread
 
torepett profile image
Tore Pettersen

I find Insomnia to be easier to use. I needed to read the docs once and after that everting just made sense for me.
With Postman I more frequently had to google my way through the bit more advanced features.

Collapse
 
fly profile image
joon • Edited

Thank you for the recommendation, looks amazing - will try as soon as I get to work

Collapse
 
jsn1nj4 profile image
Elliot Derhay

Definitely love insomnia. Use it pretty frequently.

Collapse
 
dsaseymour profile image
Danny Seymour

Same. I find Insomnia a lot faster and easier to work with pretty much haven't touched postman since I switched over to it.

Collapse
 
adisreyaj profile image
Adithya Sreyaj

After I discovered REST Client for VSCode I stopped visiting Postman often.

I don't have to switch tabs anynore...😊🤩

Collapse
 
downey profile image
Tim Downey • Edited

Probably something like openssl. It is responsible for so much of the security provided by TLS that we take for granted on the web and is maintained by just a few people.

It is used by over two thirds of websites and a single vulnerability in it cause cause widespread damage.

There's a lot of other critical infrastructure software that falls in this category too.

Collapse
 
mburszley profile image
Maximilian Burszley

Not sure how much "appreciation" openssl deserves these days. I think the general rule is you don't implement security yourself and everyone has taken that to an extreme with the particular tool.

Collapse
 
elmuerte profile image
Michiel Hendriks

OpenSSL was run by mainly 2 people, and only 1 could almost be fully employed. Where was big tech to support these people?

Sure, there have been a bunch of major bugs in it. Just like other SSL/TLS libraries.

So yes, OpenSSL is underappreciated.

Collapse
 
bradtaniguchi profile image
Brad • Edited

Literally anything built free and opened source is under-appreciated. So much of the modern tech world is built on essentially "free labor".

Gotta stop one second and appreciate that fact not everything costs $, but everything does cost time.

Collapse
 
piannaf profile image
Justin Mancinelli

Lots of people complain about cell signal coverage and quality. I used to too. Then I worked at Ericsson building software to help the people who engineer the cell towers to optimize their performance.

Wow, there is a lot that goes into cellular software to deal with the constraints of physics and the ever increasing expectations people have (and the increasing number of people/devices)!

Imagine you are talking to someone while driving (or on a train) and the signal needs to hand off from one tower to another at 65mph without dropping quality. Or you are trying to meet with someone near Shibuya Crossing with 2,500 other people and there are dozens of cellular antennas from all different carriers pointing in the same direction but the interference can't drop your call, or if it does, it needs to correct in less than a second so you can still hold a conversation.

My team had to deal with clusters of towers, each sending multiple terabytes of data every 15 minutes. We didn't deal with the software of the towers themselves but had software processing the data sent from them so engineers could then analyze if they should point the antenna in a slightly different direction, or change the gain of an antenna, or if neighboring antennas weren't handing off to each other properly.

The fact that we complain so much about it shows cellular software is very under-appreciated.

Collapse
 
patryktech profile image
Patryk

I worked for a company that did GSM network optimization for Telcel, in Mexico, and we offered services through Ericsson.

Definitely an extremely interesting business problem. Among other things, I was tasked with building a C# interface (which was essentially not much more than a web app wrapper) with a Google Earth plugin to show the network state on the map, locate traffic, with maps for interference, traffic, handovers, etc.

Was fun.

Collapse
 
piannaf profile image
Justin Mancinelli

Very cool. That reminds me I worked with teams in Croatia and Spain who were making similar mapping functionality for an internal web tool. It used the data my team processed. My favorite map to look at was the visualization of neighbor relations

(@anras573 you should take a look at what ANR is in that link, too. I had forgotten about it in my response to you. There are many more acronyms mentioned there you can look up and get a better understanding of this stuff)

Collapse
 
anras573 profile image
Anders Bo Rasmussen

I always forget stuff like that whenever I have a bad reception 😅
Is there anywhere I can read more about this stuff? 😃

Collapse
 
piannaf profile image
Justin Mancinelli

Heh, and no one likes getting the bill. My job before Ericsson was working on rating and billing software that needs to handle different kinds of events, several hundred-thousands a second, that need to be processed in accordance with the subscriber's plan so each person will be billed correctly according to text/voice/data rates that may change depending on roaming, or if the destination is a family member, or a toll-free call, etc.

This video gives a very high level overview youtu.be/iMduQ96N1F8. All the training I had was internal, on the job, so I don't know what else to send. You are probably very good at searching, but if you didn't know to search for OSS or BSS, you might not get far. When I worked at Ericsson, we got raw logs from cell towers (which aggregate multiple antennas) and batched data from OSSs which aggregate multiple towers. Both had different data that was important to keep track of.

Collapse
 
itscosmas profile image
Cosmas Gikunju

Netlify - Just how easy it is to deploy your frontend apps with netlify for free.
git - Git is an extremely powerful utility that I'd clearly not live without.
StackOverflow - Just saved me right now after hours pulling my hair.

Collapse
 
tedgoas profile image
Ted Goas

I'm a huge fan of Netlify's branch previews too :) Makes it so easy to show folks unfinished / unmerged work without them having to pull down and build a whole repo.

Collapse
 
iraamoni profile image
Suborna

None of these are underappreciated though! Most of the programmers uses them on a day to day basis all the times..

Collapse
 
itscosmas profile image
Cosmas Gikunju • Edited

what I mean is we really use this tools and software as a norm for free and don't really think about what goes on under the hood.

Collapse
 
ogaston profile image
Omar Gaston Chalas

Netlify is really amazing and easy to use.

Collapse
 
dato2003 profile image
DavidZ

Netlify one is true. I have used netlify a lot in that regard

Collapse
 
maxart2501 profile image
Massimo Artizzu

npm

Seriously, I think 75% of web development would be into chaos if npm suddenly stopped working. With that, a lot of IT companies.

What's actually quite scary is that npm is a private company that's still on the edge of financial collapse, and we don't have a backup plan ready.

Collapse
 
elmuerte profile image
Michiel Hendriks

Doesn't that make npm over appreciated?

So much work relies on it, and it is still a really volatile piece of software. I don't use it that often, but every time I need to use it, something is broken in some way, again. NPM is the Windows Me package/dependency managers.

Collapse
 
metalmikester profile image
Michel Renaud

One of my coworkers would agree with you. I'm still too new to it, though I grabbed some stuff a couple of weeks ago and kept seeing warnings about vulnerabilities and such and I was like, "OK, what the hell am I supposed to do about this?"

Collapse
 
thatonejakeb profile image
Jacob Baker

ls is the most reliable piece of software I use daily!

Collapse
 
dato2003 profile image
DavidZ

"cd" is pretty good too

Collapse
 
patryktech profile image
Patryk
$ which cd
which: no cd in [...]

Fun fact, cd is a shell command, and not an external program like ls, so really, it's a bash feature :D (at least on Linux).

Thread Thread
 
thatonejakeb profile image
Jacob Baker

That genuinely is a fun fact!

Collapse
 
kosich profile image
Kostia Palchyk

Linux

Collapse
 
aghost7 profile image
Jonathan Boudreau

Considering most people don't know Android is based off of it, I'd have to agree.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.