What code floating around doesn’t get the credit it deserves?
For further actions, you may consider blocking this person and/or reporting abuse
What code floating around doesn’t get the credit it deserves?
For further actions, you may consider blocking this person and/or reporting abuse
UgbabeOG -
Tara Doridy -
Michael Tharrington -
Michael Tharrington -
Once suspended, ben will not be able to comment or publish posts until their suspension is removed.
Once unsuspended, ben will be able to comment and publish posts again.
Once unpublished, all posts by ben will become hidden and only accessible to themselves.
If ben is not suspended, they can still re-publish their posts from their dashboard.
Once unpublished, this post will become invisible to the public and only accessible to Ben Halpern.
They can still re-publish the post if they are not suspended.
Thanks for keeping DEV Community safe. Here is what you can do to flag ben:
Unflagging ben will restore default visibility to their posts.
Top comments (128)
Microsoft Excel. Seriously.
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...
Hard disagree. It's over appreciated.
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.
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 🙃
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.
sql database + sql viewer (Jetbrain's datagrip my preference, flyway versioning) + python notebook / jupyter and excel should be entirely dropped from any usage.
Excel is a nightmare for any programmer - no file format backward compatibility, every version has own new file format. It was meant to be just a presentation / visualization tool with simple calculation abilities - now it becomes a 'all-mighty' super-tool nightmare which is being used as database. No scheme versioning, no data sharing, data corruption. It should be abandoned entirely - it's not super easy, it's just told to be easy.
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.
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.
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.
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.
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
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"
Just gonna leave this here pics.me.me/life-of-a-software-engi...
At least you didn't say "MS Project". :p
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.
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.
I know someone who can do anything in Excel, like with macros
ooo yes good one
I discovered Excel a while ago and it blew my mind :)
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.
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.
Team foundation server, perforce, RCS... I still shudder.
I don't think git is underappreciated at all. I mean, Git{Hub, Lab}. Everyone uses it.
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.
And github, gitlab get more of the credit. (gethub should definitely get credit to changing the way software is developed through.)
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).
I'd say that nobody outside of professional development uses it.
+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.
+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.
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.
I completely agree with all those, especially sqlite, its built in to android and is super easy to use and just WORKS.
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.
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
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.
Honorable mention: Postwoman:
Postwoman 👽 - API request builder: An open sourced, free, fast & beautiful alternative to Postman
Liyas Thomas ・ Aug 22 ・ 6 min read
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!
Not sure why I'd use that over Postman though 🤔
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.
I see, I tried it and I definitely prefer Postman over it. Open source is a plus, but not more than function :)
Postman used to be my go to rest client, but after a friend of me suggested Insomnia I don't see myself going back.
Thank you for the recommendation, looks amazing - will try as soon as I get to work
Wow, a cure for my sleepless nights 😊
Thanks Tore! That's another one I never knew about.
Everyone is so helpful here on DEV.
What does Insomnia better than Postman?
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.
Same. I find Insomnia a lot faster and easier to work with pretty much haven't touched postman since I switched over to it.
Definitely love insomnia. Use it pretty frequently.
After I discovered REST Client for VSCode I stopped visiting Postman often.
I don't have to switch tabs anynore...😊🤩
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.
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.
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.
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.
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.
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)
I always forget stuff like that whenever I have a bad reception 😅
Is there anywhere I can read more about this stuff? 😃
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.
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.
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.
Netlify is really amazing and easy to use.
None of these are underappreciated though! Most of the programmers uses them on a day to day basis all the times..
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.
Netlify one is true. I have used netlify a lot in that regard
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.
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.
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.
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?"
Linux
Considering most people don't know Android is based off of it, I'd have to agree.
ls
is the most reliable piece of software I use daily!"cd" is pretty good too
Fun fact,
cd
is a shell command, and not an external program likels
, so really, it's abash
feature :D (at least on Linux).That genuinely is a fun fact!
Windows Phone!
I sported a Lumia 630 back in the day and loved it. WP was way ahead of its time.
Homebrew, apt-get, chocolatey:
hard to imagine how much time would be wasted installing software without those
And upgrading software as well!
Flycut, a very handy clipboard manager for Mac OS, has made copy pasting much more handy. It allows you to scroll back to the previously copied values (the amount of values kept in memory is configurable).
Sadly I haven't found an equivalent that does the same for Linux nor Windows forcing me to work with Mac OS 🙈
I use KDE Plasma, and it has a built-in clipboard manager.
I've used Gnome 2 and 3, Cinnamon, Openbox, LXDM, and probably others, and plasma 5 is seriously the most fantastic DE I have seen. If you haven't used it and would want to go back to Linux, do give it a try!
Ditto does similar stuff on Windows
I use Alfred on macOS, which includes a clipboard manager that does that and Alfred also does a lot more. I severely underuse that software.
I Use Ditto on Windows, really handy!
I use Clipy (another clipboard manager) something like every 15 seconds. Sadly, it's only MacOS too.
I hate saying this... but PowerPoint.
Excel takes some knowledge, but anyone can make a PowerPoint. It’s like MS Paint for the office.
I worked somewhere that didn’t let you use rich text in email. Every email was just a PowerPoint with what they wanted to do in the email but could not.
Could not send a file or a image? Embed it into the PowerPoint to send... no joke.
Have a point to make, make 52 slides to say “No”.
So much of business Is just PowerPoints. Hell, “The Patriot Act” show in Netflix is just someone talking over a PowerPoint on a stage. Slightly more flashy than a TED talk.
Every time I see a Powerpoint presentation, I die a little. Mind you, I can't really blame the tool for people sucking at preparing presentations.
100 percent this!
Perf perf.wiki.kernel.org/index.php/Tut... This thing is awesome. If you're having trouble isolating performance issues or want a quick and dirty view into what's going on RIGHT NOW on the cpu, perf is your jam.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.