
Ask HN: Programs that wasted you 100 hours? - lioeters
In the spirit of &quot;Programs that saved you 100 hours?&quot; ¹, - I&#x27;m curious to hear of experiences with software systems, languages, apps, or services that led you down an unproductive rabbit hole, only to come out at the other end (if ever) with not much to show for the effort.<p>¹ <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22849208" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=22849208</a>
======
bartread
Microsoft Outlook, no question:

\- It hangs all the time for a few seconds at a time,

\- The search is moronic (how about you look on the server _and on my
computer_ at the same time instead of hanging for a while and then displaying
that dumbass message offering the option to search on my computer instead when
there's a problem with the connection?),

\- Switching to the unread message view regularly results in a progress doofer
that never disappears until you switch to a different view and switch back

\- The message list font size gets corrupted by moving between Windows of
different DPIs forcing you to switch to a different folder then switch back
again to make everything readable

\- It asks you whether you want to save changes just because you've clicked a
link in a calendar appointment

\- Got thousands of emails? It's slow, slow, SLOW, SLOW(!!!),
_SLOOOOOOOOOOW!!!!!_

\- Too many modal dialogs

\- It's clunky as hell when juggling calendar appointments, booking rooms,
etc.

\- When opening a meeting series it asks me whether I want to open the whole
series or a single meeting _every single time_. Can I just have a modifier key
for this, please, so that I can open whichever way I choose without being
prompted?

\- Inconsistent and unpredictable behaviour when it comes to inserting images
as attachments versus inline in an email

\- Losing messages in conversation view

\- Difficult to follow conversations/find all messages if you don't use
conversation view(!)

\- Inconsistent behaviour around contact auto-completion: sometimes people end
up in the auto-complete list, sometimes they don't

I could go on. I won't.

~~~
zentiggr
The one feature I love about Outlook is that the inbox can be sorted by
Received time, ascending. And the list focus defaults to the most recent
entry.

Every SMS and email client that has 'most recent on top' as the only view
drives me f __ __*g nuts.

I want my oldest conversations on top so I can see which ones have been
awaiting a response or are done and can be archived/deleted, but apparently
that's not how anybody works anymore.

~~~
rightbyte
I do that too. Hardcoded defaults is a pain. I acctually like desktop Outlook
and I wish it just froze in time forever so I don't have to relearn it. I hate
when the UIs are changed and I have to relearn where all the buttons are in a
program I don't really care much for.

------
Crazyontap
I apologize for saying this in advance but I'd have to say for me it's GIMP.

Even after all its feature and popularity I find it extremely hard to use and
often end up wasting hours trying to create a simple graphic. As a last resort
I always end up booting Windows just to use Photoshop to do the same. I have
been trying to move away from Windows to linux and so far I'm super happy with
everything. But Photoshop is the only reason I have to keep Windows alive (or
atleast use wine)

~~~
cpach
IMHO, Gimp was much easier to use before they revamped the GUI to imitate
Photoshop. For those who didn’t try it, it looked like this:
[https://commons.m.wikimedia.org/wiki/File:Cleaning_up_Fourie...](https://commons.m.wikimedia.org/wiki/File:Cleaning_up_Fourier_screenshot_gimp_1.png)

~~~
eternalscreams
The menu layout and structure looks exactly the same, except it's floating,
which you get in modern GIMP by default. Can you explain in more depth how
it's tangibly different?

~~~
tetris11
The icons are different which still throw me off. The colour select tool is
weirdly now stacked behind the cropping tool or some other selection tool.

~~~
RMPR
That's why you learn keyboard shortcuts.

------
isoprophlex
MS Sharepoint takes the cake. Impossible to navigate, hysterically difficult
to use for storing and maintaining content repositories / wiki's.

Also the outlook/skype/teams/lync universe of communication tools is laughably
inconsistent, it's very difficult for me to do very simple tasks in these
tools.

~~~
tmaly
I was playing around with Sharepoint Online, the latest version. It was my
first time looking at sharepoint and I had something usable working in about
30 minutes. Maybe they fixed things with the cloud version?

~~~
loco5niner
I've disliked Sharepoint in the past, and recently also had good experiences.
Yes, perhaps they have cleaned up their act.

------
probably_wrong
Program that saved me 100 hours: using LaTeX to write a scientific paper.

Program that wasted me 100 hours: using LaTeX to make the poster for said
scientific paper.

LaTeX is great for when you need to focus on your content and don't have much
time to spend on the presentation. However, once the presentation is _the
entire point_ , LaTeX is not the right tool.

Well, except if you like boring posters.

~~~
Random_ernest
For me personally, my slides improved significantly when I started using
Latex. Imo Latex forces you to give clean, concise presentations. If there is
content that takes a lot of fiddling, your presentation is probably overloaded
with things that won't reach the audience anyway.

~~~
j7ake
You’ve never had to give a talk with a video inside ? Or have you gotten that
to work in latex ?

~~~
tetris11
Tab out to the video. Play. Tab back to presentation.

Video is included as a separate attachment in the email sent around.

------
pjc50
Factorio?

More seriously, the absolute worst developer experience I've ever had was a
weird proprietary environment called "OpenAT" for a mobile module system.
Admittely we were in the beta programme because we needed features, but every
new firmware update would fix some features of the operating system _and break
others_. At one point while trying to debug terrible sound we noticed that the
volume control wasn't at all linear but a sawtooth: the top few bits were
getting lost somewhere. Development required Eclipse, and the reboot-download-
reboot cycle took several minutes. No real JTAG, only debug logging over USB.
Crashes would, however, lose the log buffer, so you couldn't be quite sure
where the program crashed, and all the important bits were real-time so
couldn't be single-stepped. Debugging all that was _extremely_ slow.

A hundred hours is only just under three work weeks. It's very easy to get led
into a dead end that wastes that much development effort on a feature that
turns out to be infeasible or a bad idea, or an intractable bug. I think I've
had one of those incidents at every job, not necessarily every year but
frequent enough that they're not all memorable.

~~~
Engineering-MD
Factorio is great, I don’t see it as a waste! It’s given me a new respect for
logistics and advanced planning. I think the whole idea is a massive exercise
in programming, producing functions, changing structures and then debugging
the problem/expanding the bottle neck. But yeah it’s still a game.

~~~
Shorn
This is why I avoid the more complex games where you build things (Factorio,
Kerbal space program, etc.) Playing them scratches some of the same itches I
get from writing software. So I avoid playing them and re-direct that energy
into using an actual programming language to build a real thing.

There are upsides and downsides. The challenges in a game are designed to be
overcome, but the satisfaction of solving real problems is even better than
solving puzzles in-game.

Sometimes the parallels for me are uncanny. I'm faffing about with OpenSSL
right now and it feels like nothing so much as a badly designed game sub-
system. Can somebody please fix OpenSSL so I can get back to the core game
please? :)

I used to say that Unity3D is Minecraft for programmers.

------
chaps
Surprised nobody's mentioned systemd yet!

My worst experience was when I was on a cross-country train writing code for a
project whose database was mysql. No internet, intentionally. Something
happened with one of my inserts (can't remember what exactly) and I had to
restart mysqld. Problem was, with the bad insert, mysqld took longer than 30s
to start, which forced systemd to restart it because of a default,
undocumented setting to restart a service if it's not up after 30s. Again. And
again. And again. _Nothing_ in the documentation hinted that this was a
feature of systemd anywhere, and I was stuck troubleshooting that nonsense
instead of just writing code.

Systemd is just filled with undocumented crap and features that shouldn't
exist by default, leading to headache after headache after headache. Such a
pain in the ass.

~~~
throwaway_se099
> _Nothing_ in the documentation hinted that this was a feature of systemd
> anywhere

Nothing except three paragraphs in systemd.service(5) (TimeoutStartSec=,
TimeoutStopSec=, TimeoutSec=), with references to systemd-system.conf(5) where
the defaults are described. I wouldn't call that undocumented. Whether it
should exist by default is another question; on balance, I'm glad it does.

~~~
chaps
This seems like the bug I was having at the time:
[https://github.com/systemd/systemd/issues/3912](https://github.com/systemd/systemd/issues/3912)

Or this: [https://unix.stackexchange.com/questions/227017/how-to-
chang...](https://unix.stackexchange.com/questions/227017/how-to-change-
systemd-service-timeout-value)

Or this:
[https://github.com/systemd/systemd/issues/5773](https://github.com/systemd/systemd/issues/5773)

Or:
[https://github.com/systemd/systemd/issues/3901](https://github.com/systemd/systemd/issues/3901)

Or:
[https://github.com/systemd/systemd/issues/2047](https://github.com/systemd/systemd/issues/2047)

I don't remember seeing any documentation at the time, but I'm clearly not the
only one who's had issues with this exact problem. The last one has recent
examples of people not being able to find it, and understandably so. Their
documentation is shit, fullstop, and no reasonable service should restart in a
loop _by default_ after 90s. That's just asinine.

~~~
throwaway_se099
This seems to be veering in the direction of the Land of Moved Goalposts and
Non-Sequiturs, but I'm game for one more round, because lockdown.

It's rather unlikely that the first issue, which is an ordering problem during
service shutdown, has much in common with timeouts during service startup,
which you have described as your original issue.

The Stack Exchange question is a straightforward how-to for adjusting the
timeouts.

5773 requests a clarification of the documentation of timeouts and signalling
behavior.

3901 is a case of misplacing the timeout directive.

2047 is a sort of philosophical problem of reporting uniformity vs.
consistency with manual configuration. The systemd team prefers the former,
whereas I would prefer the latter for not violating the principle of least
surprise, although I understand the reasons for choosing the first option.

Anyhow, I still don't see good support for your assertion of the complete lack
of timeout documentation, just tangentially related distractions. A complex
set of problems, and service management _does_ qualify, will have edge cases,
insufficiently clear documentation, and outright bugs, which is why software
is never finished. Older init systems had all of these, but they didn't give
you the tools to attempt to rectify the problems, so it was all more or less
swept under the rug. Using a facile "shit, fullstop" characterization
therefore tells me more about _your_ views than the actual technical merits or
documentation quality of systemd.

~~~
chaps
The post is about how systemd wasted lots of time, in a thread about software
that has wasted lots of time. The issues around bad documentation and the
specific issue (the last one is probably the issue I had, but this was five
years ago lol. Knowing me and arch linux, I probably didn't have the full man
pages installed, so the cli tools were the only thing I had available.) wasted
me a lot of time and very clearly others, and that's exactly the point of this
discussion!

Hell, to troubleshoot that issue, I even ran something like a `find / -exec
strings -a '{}' ; | grep timeout` and found nothing that ended up being
helpful. But I absolutely had some form of documentation, again likely the
last link I provided which isn't simply a philosophical issue when it provides
misleading information that would have ultimately fixed the issue if it gave
more informative output!

You admit yourself that the documentation can be insufficiently clear with
bugs, and it's true: systemd happens to have lots of time killing bugs. The
whole point of this thread.

You're missing the forest for the trees, friend.

------
mojuba
In addition to the already mentioned MS Office pieces:

• Android programming. Tried it once, wasted many days trying to make sure the
app works on all phone models ranging from $10 to $1000. There were some
hardware-related parts that are poorly standardized and abused by the
manufacturers a lot. And yeah, the $10-$1000 range coverage is a bit too much
for such a poorly designed platform.

• Inkscape: if you are a perfectionist who regularly checks the SVG sources
generated by Inkscape, then... you may develop insomnia. The bloody thing will
stuff the file with garbage by some 90%, and will get all your coordinates un-
rouned to some unreasonably distorted numbers. No, it's not the "floating
point thing", it's worse. A few times I ened up writing up the SVG file by
hand from scratch, while checking it in the browser. Inkscape is outrageously
bad.

~~~
Jaruzel
> _Android programming._

Android Studio and Gradle can both die in a fire - how anyone manages to
actually write a decent app with those two, is completely beyond me.

~~~
avgDev
I always chuckle when I see a huge franchise app just crashing because I have
worked with android and understand how frustrating it can be. It just tells me
that I was not the only one struggling with the android development.

------
robpal
Nvidia GPU drivers and CUDA installations on Linux. Got better recently but
I've spent many nights fixing these installs, wrestling with nouveau etc.

Compilation of deep learning libraries from source on Windows -- don't do it.

Tikz -- LaTeX drawing "language". The images produced can be stuninngly
beatiful, but the manual has 1200+ pages and it takes forever to become
productive. If only journals accepted hand-drawn images...

~~~
mod
Can second this.

Also audio libraries on linux. ALSA vs whatever. Had a lot of issues with my
particular hardware & Arch.

Also way back when, X itself. Back when it was likely to not work on many
systems (~2001). I spent so many hours going back and forth to use my friend's
computer & internet to Altavista some help.

~~~
accraze
lol +1 for audio libraries / drivers on linux. spent many hours on the "battle
of configuration".

------
laurentl
Microsoft Powerpoint (and to a lesser extent Word). I lost count of the number
of days I spent trying to make my presentations and documents look good (which
for me means pixel perfect).

To be clear, this isn’t a failing of the software per se. PowerPoint is
powerful and lets you do a lot of stuff, but I took desktop publishing lessons
in high school, and I’m a bit obsessive to start with. I just _have_ to have
everything lined up and evenly spaced and just so. Which PowerPoint lets you
do easily enough, but then you need to add another box to your diagram... and
resize and reposition everything more or less manually.

Similar story for Word, which _almost_ lets you do professional(ish) documents
once you know where all the typesetting options are hidden. I’ve given up on
Word for technical documents and now use Markdown + pandoc to convert to Latex
and then pdf.

~~~
luspr
At my current company, Powerpoint is used as the main medium for communication
and reporting. Powerpoint slide decks are even considered some form of
documentation by many, even though they are not really suited for that: Bullet
points instead of coherent prose and explanations, ambiguity on the audience
of the presentation (internal vs customer), general clunkiness of a ppt files.
For many projects, documentation is just a shared directory with a number of
powerpoint files from various stages of the project. I hate it and I want to
change it, but I am still new to the organization and this behavior is deeply
ingrained.

Besides that, Powerpoint is pretty good if you actually want to do a
presentation.

~~~
notechback
On the flip side, I've noticed PowerPoint can bring immense efficiency gains
to environments where the standard is to write to a detailed report for every
little thing. You don't need a detailed user guide of 20 pages of text if a
few ppt do the same job.

------
yongjik
Personally: Linux desktop environments in general. Still couldn't figure out
how to manually save session states since last upgrade (using Linux Mint
Cinnamon now), took me a few hours to make hibernation work, and every time I
upgrade, Korean IME is either broken, does something slightly differently, or
first broken and after lengthy troubleshooting does something slightly
differently. (After last upgrade, for some reason it's not working only on
Facebook on Chrome. Fine, who needs to view Facebook on Linux anyway.)

At work: saltstack - a machine provision framework that's trying hard to sound
cute (pillar? grain? what the hell are they?) while making you write jinja
templates which generate a yaml file while calling arbitrary python functions
in a remote server, which is then sent to another remote server to be
transformed into a sequence of commands in arbitrary order. Good luck
debugging anything.

------
lordnacho
Excel.

Mostly because it makes you think you can do anything, and you can. It's a
rope to hang yourself with.

While Excel is a great prototyping tool, it's really not great for production
use. I've seen so many financial calculations attempted on Excel that ended up
creating a huge ball of spaghetti, references going all over, VBA code mixed
in with DLLs, VLOOKUPS all over, sometimes $A$1 sometimes A$1 (copying
behaviour), huge Rube Goldberg contraptions.

And people love it, they often don't think about maintainability or ease of
understanding for newcomers.

~~~
hunter-gatherer
I'm with you. My org tries to do so many things with excel, despite that fact
that is fails and breaks on us ever single day. What is worse, is that we use
excel sheets and a shared folder to monitor projects, tasks, and even track
casework. I hate it so much.

~~~
lordnacho
Yeah don't get me started on versioning, lol.

bondspricing_final_2_withswaptions_final_final5.xls. In a folder with 25
similarly named files. Good luck tracing the diffs.

But I guess that's not specifically Excel that causes this, it's people not
understanding versioning.

~~~
eterm
Blame the software industry for still not having a decent GUI for version
control.

Version control has been "solved" for the better part of 20 years but the
tools are awkward and only make sense if you're a software developer.

People unironically suggest you should learn more about tree structures to
understand and work with git. That's just about acceptable for developers, but
for non-developers that's a complete no-go.

One day there'll be a killer GUI for git or svn (or even just basic whole-file
linear version histories) but until then, people are doomed to email files
named like Presentation_FINAL_2_EJB_Edit.xlsx sitting under a "FINAL - DO NOT
DELETE" folder.

------
hyperman1
PVCS, a versioning system so weird and inconsistent that developers actively
tried to hide source code from the repository managers. When we announced a
migration to subversion, project managers were literally standing in line
begging to be the guinea pig for testing the migration procedure.

Some of its many random crimes againt humanity:

* Delete irrecoverably obliterates a file from history.

* The function that you should use instead of delete is almost impossible to find.

* If you do use that function, it is so buggy it causes corruption in your database, effectively obliterating the whole project.

* Acces rights management is insane. Never seen anything like it. It took 20 minutes of calculating effects from interfering rules to give someone access to a file without removing some other random person's access rights.

* Gui looks like the win31 era, and is so bad people prefer to manually update the database. Which was more trustworthy anyway.

* Multiple tree structures representing data blobs. Only one represents files. It is possible for the later part of a checkout to accidentally overwrite the early part.

* I've witnessed a team spending 6 months merging 2 weeks of development. 100 hours doesnt come close to the time wasted.

* Storage is an oracle db for metadata, and a file system for data. No deltas, changing 1 byte in a 1gb file writes out the whole gb.

* Commits over multiple files are not atomic, but the gui tries to pretend otherwise.

Now the weird thing was, it was so bad, management did not actually believe a
product could be this big of a waste. Even when multiple developers gave it as
a reason for leaving the company, they were brandished as whiners and no
attempt to even validate the truth of the statement was made. Software
stockholm syndrome is actually a thing.

~~~
adperry
I used it years ago over and VPN and it would literally take a day to pull the
latest branch.

------
rawgabbit
Not technically a program. But what we call “Agile” where I work wastes one
third of my day. It is essentially a way to paper over incompetence. Didn’t
make deadline? Feature is unusable? Need to revisit how we are doing Agile
again. Plus more meetings are needed. Never mind the fact Albert Einstein
cannot follow the train of thought of many of our product owners and scrum
masters.

~~~
schaum
Couldn't agree more. For simple 2 lines you sometimes need 4 Meetings without
he whole team involved and not even discuss about the indentation.

But sometimes, it seems to work ...

------
saeranv
Gmail.

At some point they redesigned the UI and it's been a horrible experience
since. It hasn't wasted 100 hours, but it certainly feels like it: \- It takes
multiple tries to delete files or select them as read. If you select the
options to mark as read, or delete a message. For some reason it 'forgets'
that I've done this when I exit the browser, and so I usually have to perform
this operation at least twice. \- There's some sort of annoying animation that
pops up when the inbox loads. Why?

~~~
adreamingsoul
I switched back to the HTML version.

~~~
rochak
How does a company go backwards?

~~~
rochak
Many do and it is inevitable. No good thing ever lasts.

------
mstaoru
China Great Firewall - no comments, just a huge idiotic waste of time and a
major, major, major PITA for every normal person that lives in China.

Webpack - I ain't no frontend dev, coming back to it episodically to discover
that FooBarPlugin is now BarBazPlugin, moved from alice: setting to bob:,
XxxPlugin just stopped working at all and unsupported (after like 9 months),
and ZzzPlugin now nukes the entire dist/ dir as a side effect.

XPS 15 9570 fans, they're controlled by BIOS and start at 45C specifically to
annoy people to no end. So under Linux, after much googling, you need to build
the dell-bios-fan-control utility which sometimes works, sometimes doesn't, in
shamanic ways. E.g. running lspci resets fans and they spin up again. Load kvm
modules, spin up again. I've spent probably way more than 100 hours to make
the laptop quiet.

------
jsccosta
Microsoft Word, every single time I have to produce a document in which there
is a lot of content. Edit a table, it screws up the image legends, which in
turn screws up the table of contents. Fix the table of contents, and the
something else in the document breaks. I curse my existence every time I have
to use anything from microsoft in my job. Having done consulting for many
clients across a myriad of environments and configs, whenever anything
microsoft was involved, it was a given that any task would take at least
double the time and require more resources. Using MS Word however is the
thing, that almost every time, drives very close to jumping out of window.

------
DeathArrow
Desktop Linux. Always something needs to be set up, always something breaking,
always something needed to be fixed, always had a problem to solve.

~~~
madamelic
Definitely agree with others: you might have had the wrong distro.

I have been running Ubuntu for about 6 years and have had less day-to-day
config or issues than Windows had.

The only issues that stick out are either trying to use apps that haven't been
maintained or trying to do something Linux just isn't good at (games).

I use Windows 10 for games, but day-to-day I am on Ubuntu 18.04.

------
cdubzzz
Perhaps a loose interpretation of “wasted”, but multiple different games have
wasted a lot of time I would otherwise have spent doing more productive
things. E.g. currently I have a side project that is actually really
interesting to me but I have been spending my limited free time (with a
toddler and an infant to keep up with) playing Deus Ex Mankind Divided. I may
not end up spending an actual 100 hours in it, but I did a few years back with
its predecessor Human Revolution.

~~~
paulryanrogers
Try to give yourself some slack. I too enjoy those games and have a toddler
and an interesting side project. What works for me is to let myself unwind
with some game time. And similarly reframe any time put into the side project
as a win, even just a few minutes.

While I do get a rush from being productive it can be exhausting to always be
'on'. Games are one way to turn 'off', bring some variety to life, and
experiment without guilt. Just remember that you don't have to finish the game
or win every match.

------
14k12j41j211
LaTeX. Compiler errors, add-ons from the 80s, and unhelpful defaults. No
problem to write Chinese chara… oh, in this environment? Sorry.

C++ compiler (or even better: linker) errors. They are just not meant to be
read by humans, lacking any pointers on what's really the issue.

~~~
ytch
Also the Makefile. I still cannot write customized Makefile for my side
project now

------
yellowapple
Windows as a porting target for desktop applications. I've written a few for
work (using PyQt5), and about 10% of my effort typically goes into getting the
application working on Linux. The other 90% goes into wrestling with Windows
doing everything in its power to fucking ruin my week.

Fman Build System (fbs) helps quite a bit, I've found, but there are still
more often than not some really annoying rough edges (not to mention that
Windows' file access performance is abysmal, so startup times for a PyQt5 app
are anywhere from multiple seconds to a full minute on Windows v.
instantaneous on Linux).

I've been looking into .NET Core w/ Avalonia as a potential replacement, both
because it's easier to cross-compile and because hopefully being more
designed-for-Windows will make it less of a royal pain in the ass. Not being
subject to the GNU GPL is a nice bonus (for internal stuff this ain't much of
a problem, but I generally prefer my FOSS projects to be as compatible with as
many other FOSS projects as possible; I'd rather proprietary software be able
to "steal" my work than prevent non-GPL FOSS projects from being able to
incorporate it).

~~~
mherrmann
fbs author here. Thank you for the mention :-)

~~~
yellowapple
Of course! Thank _you_ for the awesome tool. Probably would've lost my marbles
entirely without it.

------
gizmogwai
Without a blink, McAfee.

This abomination has the ability to put more than decent computer into a
miserable slug. I cannot imagine how much my client would have saved in
productivity from all its employees and contractors if that thing was
uninstalled.

~~~
1337shadow
Not to mention the video to remove it, hilarious but completely useless:
[https://www.youtube.com/watch?v=bKgf5PaBzyg](https://www.youtube.com/watch?v=bKgf5PaBzyg)

------
wayneftw
Every single failed project that I ever worked on.

I've built a lot of useful software but there have been years where I've
worked on projects that nobody ever used or will use. Half the time the cause
is the dysfunctional organization that I'm working for, that doesn't
understand their responsibility or won't listen to good advice.

The other portion of the time it's a side project that I never finished.

------
remus
Microsoft Access. I think the main problem is I keep expecting it to behave
like a normal database. Perhaps if you go in without those expectations you'll
have a better time? I don't know, and hopefully I'll never have to find out.

When I had to work with it on a semi-regular basis I kept this list of WTFs
that I'd add to each time I finished tearing my hair out trying to fix some
seemingly simple thing
[https://github.com/bourbonspecial/AccessFail/blob/master/why...](https://github.com/bourbonspecial/AccessFail/blob/master/why%20i%20hate%20access.md)

------
revicon
Wordpress. After banging on it over and over with themes and templates etc etc
I realized I should have just stuck with a static hosted Jekyll site, so thats
what I did.

------
Retardo_88
The Unity game engine. Backwards compatibility is low; documentation is scant
or out-dated; error messages are misleading or opaque; stack traces for
crashes are sometimes impossible to reason about.

------
samjanis
I've become wiser over the years, but the top 3 were

3: Windows/Symantec Defrag (pre-Vista era) When I had 10-40GB hdds it used to
be mesmerising watching the blocks fly around the screen. Eventually I find
something else to do and pretend the computer's broken.

2: Macromedia/Adobe Flash. Sometimes animations just didn't want to work.
Tweens are notoriously random with complex drawings. Delete and start all over
again.

1: Editing HTML after using a WYSIWYG editor. Code clean-up. It takes _ages_.

~~~
Fjolsvith
Defrag felt so good knowing things were getting put where they belonged.

------
AzzieElbab
Jira and confluence

~~~
Minor49er
I'd say Atlassian products in general. Jira has had a notorious bug for nearly
a decade (still ongoing, I believe) that would delete a description/comment if
you accidentally hit escape in the middle of writing it. Bitbucket also
changed the term "blame" to "annotate" because "blame" was a strong word that
hurts feelings (seriously, this is the reason) and didn't bother telling
anyone until people started wondering why blame wasn't supported. Also there
was the time they displayed a huge ascii rainbow logo every time you pushed a
commit, which is pretty distracting, considering you're expecting to find info
related to your push while you're working (you had to turn off this info
altogether to stop seeing this logo). I could go on, but basically, Atlassian
isn't terribly interested in your productivity.

~~~
sam_lowry_
IntelliJ also uses annotate instead of blame.

~~~
procinct
Annotate is a valid git command though right?

[https://git-scm.com/docs/git-annotate](https://git-scm.com/docs/git-annotate)

------
fmakunbound
In recent times, Angular. It’s utter rubbish and needlessly complex for doing
even the smallest of things.

~~~
redhale
I'm curious, can you share an example of what you mean? My experience has
typically been the opposite.

~~~
de_watcher
Don't know what exactly he means, but I have a similar feeling. My area is a
performance-oriented close-to-metal backend, but when I have to do something
in the UI I find it extremely opinionated and 90% of the code you read is to
make angular work while 10% is for your actual task.

~~~
winrid
That is the point though. Front end is a hot mess, so Angular makes it
opinionated so you don't have to spend time on lots of small design decisions.

------
anotheryou
WYSIWYG editors...

worst: confluence, bottom: desktop office suites, still bad: google docs

~~~
bartread
Oh my goodness: #### that WYSIWYG editor in Confluence hard. It's like an
extremely buggy version of Word 95. I've outright banned its use in our
company.

~~~
anotheryou
And I can't count the hours I spent converting from org-mode or markdown to
WYSIWYG, only to be stripped of my beloved editing tool at the point I need to
share a doc.

------
altmind
Docker. Images without command line tools(best practice!) Obscure init
systems. Unmountable overlay FSes. Dangling images eating all the disk, not
removable by prune. Root permissions everywhere and general necessity to debug
images way too often. and looong checkout times for every image update.

------
SahAssar
Slack: It refuses to accept that it is a webapp, so even though firefox fully
supports the relevant audio/video api:s I need to open another browser or
fiddle around with XWayland (electron/chrome does not support wayland) just to
be able to use it.

Microsoft Teams: Same as above, but with multiple login prompts each time.

Jira/Confluence: I swear every click/hover requires a network roundtrip to the
server because that's the only way it can be so sluggish. Also, 30s loading
times.

Webpack/Babel/Parcel/WhateverJS: Either kill me or kill IE so I can stop using
these tools to get even a moderately modern stack.

~~~
notechback
Making a more usable Jira must be a potential billion dollar business. Outside
it support/development It's used by many orgs because for their vague use
cases nothing else is available.

~~~
bibabaloo
It's amazing to me that there's 1000s of 'more useable Jira' variants out
there, but IME every team that tries to use one inevitably ends up back using
Jira.

~~~
Can_Not
but almost none with both markdown and dark mode.

------
mikecsh
Microsoft Windows. I lose 10-20 minutes 1-5x a day just logging in to Windows
in the NHS...

~~~
Stevvo
I second that. I loose 5 to 10 minutes every time I want to change a network
setting. No idea how it got messed up so bad. What used to be two mouse clicks
away from the desktop in XP is now hidden away by the "settings" app that
doesn't contain any settings at all.

~~~
cam_l
Funny thing is, the real settings app in windows is still more or less the
same as xp and still just two clicks away. I think they just put the new fake
settings app in there to fool people.

------
downerending
Perforce. The more I learned of it, the worse it got. Take the worst parts of
CVS and Subversion, and then toss them in the bin, because they're too good to
be in Perforce.

~~~
photawe
Oh yeah - perforce is such a stupid crap, I simply don't understand why they
still exist.

------
guiambros
sshd on Synology NAS [1].

It took me two weeks of troubleshooting, cross-compiling binaries and reverse
engineering the source code, until I figured out that I wasn't doing anything
wrong - Synology had actually changed their version of sshd to add all sorts
of proprietary crap [2].

Another one was the "Mouse battery low" alerts on Gnome under Ubuntu [3]. The
root cause was in upowerd, but Gnome developers could have applied more sane
defaults (e.g., no need to show the same alert several times _per day_ , and
even worse considering they don't go away unless you click to dismiss).
Certainly not 100 hours, but much more time than I'd like.

[1] [https://serverfault.com/questions/458553/cant-log-in-via-
ssh...](https://serverfault.com/questions/458553/cant-log-in-via-ssh-to-any-
accounts-using-bin-bash-shell-on-synology-nas)

[2] [https://wrgms.com/reverse-engineering-synology-
openssh/](https://wrgms.com/reverse-engineering-synology-openssh/)

[3] [https://wrgms.com/disable-mouse-battery-low-spam-
notificatio...](https://wrgms.com/disable-mouse-battery-low-spam-
notification/)

~~~
bkovacev
Would you mind sharing your overall experience with synology? I'm planning on
purchasing one for my home and all the reviews are positive, but I'm always
eager to hear the bad side.

~~~
guiambros
Despite my misgivings with some of their practices (e.g., modified sshd [1],
hardcoded telnet password [2]), for the most part I'm very satisfied with
their product and frequently recommend it to friends and family.

You may need to jump through some hoops to get the GPL code, but their product
is (or was? it has been a while since I last played with their source code)
reasonably open and full-featured, and works nicely out of the box. They also
release frequent updates, have a decent set of options for backup / logging /
media sharing out of the box, alerts are effective, and you also have an
appstore-like for 3P apps.

Also, they use Linux as the base, and in some models you can even get access
to the serial console with some effort, so you're not totally locked in on a
proprietary system, should something go really bad [3][4].

I have a RS815+ and an old DS212+, and both are very reliable. Not terribly
fast, but wouldn't expect much more from spinning disks anyway.

[1] [https://wrgms.com/reverse-engineering-synology-
openssh/](https://wrgms.com/reverse-engineering-synology-openssh/)

[2] [https://wrgms.com/synologys-secret-telnet-
password/](https://wrgms.com/synologys-secret-telnet-password/)

[3] [https://wrgms.com/recovering-a-failed-synology-
diskstation-d...](https://wrgms.com/recovering-a-failed-synology-diskstation-
ds2xx-serial/)

[4] [https://wrgms.com/entering-single-user-mode-on-a-
synology/](https://wrgms.com/entering-single-user-mode-on-a-synology/)

~~~
bkovacev
Thank you so much for the thorough response! I read through your articles and
then the rest of the blog post as well. On a side note, blog more, on the
topic - you have convinced me to grab them!

------
detaro
Probably not quite 100 hours, but proprietary "enterprise" VPNs. Everyone
needs a different version (universally outdated), many need hand-holding to
work on an up-to-date OS, need workarounds to have them not break routing
entirely, ...

------
rightisleft
Docker For Mac / OSXFS - steaming pile of garbage...

------
perilunar
Internet Explorer 6

I wasted a lot more than 100 hours coding workarounds for its numerous CSS
bugs. Probably millions of hours wasted world-wide. I hate Microsoft for the
way they screwed web developers.

~~~
hiram112
I almost switched careers early on due to IE6. At the time - 2006 or so, it
was every new junior developer's job to get up to speed with the codebase by
tackling a few of those outstanding IE6 glitches.

So for months on end, it was just 8 hours a day of Googling, scouring blogs
and mailing lists for obscure CSS and JS hacks to get something to work in IE,
while not breaking it in every other browser.

Luckily the recession ended a few of those jobs for me, and once hiring picked
up again, there was enough demand for real work, and IE6 was no longer
considered (probably about the time that YouTube refused to cater to IE6
users), and it quickly died off.

------
bouke
Dial-up modems and sound cards and IRQ settings. Getting them to work
simultaneously.

------
StratusBen
The AWS Management Console.

~~~
ezrast
Thank you. It blows my mind how rarely I see anyone talk about what an utter
disaster of a product this frontend is.

~~~
jf
I like to tell people that you can measure how bad the AWS console is by
looking at the valuation of companies like Heroku and Digital Ocean. Both
wouldn’t exist if AWS has a better console, the former was even built atop
EC2!

------
devchix
Python Net-SNMP. Python GPG. My Python ecosystem as I drag it from place to
place. I ask myself why I do this, frequently.

In the distant past, Solaris 9 for x86 on a laptop. I was younger (and dumber)
then. Took much longer than 100 hrs and aged me beyond death.

------
anotheryou
Tools without good open standards forcing me in to their UI or restricted file
formats:

jira, microsoft exchange, horribly sceumorphic PDF, anything with DRM

------
photawe
Visual Studio + UWP. I can't say the result is not good, but the wasted time
is waaaay over 100 hours in the span of roughly 9 months. And by waaay over
100 hours, I would say it's probably 1.5-2 hours/day , 7 days/week.

------
hedora
Python. Mostly other people’s python, but also everything I’ve ever written in
python.

~~~
Mikhail_Edoshin
My experience too, but I recovered when I stopped to make the code "pythonic".
If you use it basically as C with automatic memory management, it's OK. But
other people's python is still pythonic, of course.

------
bobbydreamer
At this point, Chrome, VSCode or Eclipse. I can't open all 3 in my laptop. All
these 3 consuming soo much CPU. At this point, Opera is better and instead of
VSCode going back to sublime and I have a terminal window separately open.

~~~
applecrazy
How many windows/tabs do you have open? I often have two WebStorm/IntelliJ
windows, VSCode, a dozen Chrome tabs, and at least one Electron application
open (usually Slack) and it's not too bad on the CPU.

------
altmind
I'm surprised no one mentioned openstack. I never deployed it, but by mere
reading its deployment docs, its going to be a mess in production and its not
doable by a solo dev. Anybody care to correct me?

~~~
kbr2000
I'll be eager not to correct you: it's such a complex tangle that it's a
liability. Also, it is huge, and full of inconsistencies that sweep through
the documentation, code, interfaces... It guarantees that anyone that wants to
use this professionally needs help sooner or later -- and you can guess where
that help comes from.

------
CM30
A somewhat obscure one, but Xenword. In theory the idea was a good one;
connect a XenForo install to a WordPress install so people could sign up/login
with the former and get access to various settings on the latter.

In practice on the other hand, I found the integration a complete nightmare,
and everything was very prone to breaking for random reasons, making it either
impossible to login or so the data wasn't pulled in properly etc.

And it's been a similar story with quite a few other software
bridges/integrations. So much so in fact, that I realised it's almost always
more practical to either find a solution that does both A and B at the same
time, or to just build something yourself with the features needed rather than
spend hours debugging an integration between two separate programs.

Edit: Oh, and Adobe Target. Even for an A/B testing tool this thing is
frustrating as hell to use, and has a ton of design decisions that make no
sense at all. For instance, you can't track clicks on an element by class/ID
if the class/ID doesn't exist on that page at the time you use the editor,
meaning you can't track clicks on an element that exists on some of the pages
you want to test but not others, or all items in a list/feed. You also can't
easily run the same test on multiple different pages with different URLs, so
you have to 'add a page' in the editor for each URL pattern and copy the code
over to it again.

------
7532yahoogmail
Fixing plsql errors in Oracle. Only a c++ compiler in a bad mood gives more
errors or as inscrutable ones ...

------
vectorboost
Skype for Business - I really hate this shit. Random disconnects, errors, no
offline message support, idiotic message history in Outlook, random errors
"Text is too long" etc.

~~~
ornornor
You forgot mangling urls by inserting underscores in the url, not being able
to copy and paste part of a message cleanly, stuttering audio or video when
your internet connection is perfect, and screen sharing that doesn’t start or
drops whenever it feels like. Oh and abysmal workflow around picking the right
audio device.

------
Nuzzerino
Most NoSQL databases, for sure. I tried plenty, but will avoid naming and
shaming specific ones here.

------
schaum
\- Eclipse, Eclipse and Eclipse (at least till 2016 then I finally used
IntelliJ) ... mainly the maven integration but to be honest everything,
android and gradle integration was also just pain.

\- Jira this splits up in 3 categories \- because of project member think they
need a complicated workflow, mostly in conjunction with time tracking \-
installation \- integrating with other applications

------
mattbee
Microsoft Defender. It gradually went from an invisible safety check to a
massive tax on battery, I/O and productivity.

I disabled it recently after it got into an incomprehensible endless CPU loop.
It's suddenly like having a new computer - it boots faster, I can switch tabs
without grinding, just everything is faster.

I can't think how much time it must have cost me - on every interaction in
years.

------
aasci
`material-ui` react component library. obscene amounts of boilerplate + every
update would require refactoring the mess they made me make.

~~~
runawaybottle
What? <Typography> elements are not intuitive to you with variants? All text
is Typography after all ...

I always say Material is such an aesthetically good looking UI, that
developers forfeit their common sense to leverage it.

------
jtdev
Every program in the Microsoft Office suite.

~~~
yread
Compared to what?

~~~
mr_overalls
Exactly. I love the spirit and motivation behind Office Libre, but Excel and
Word just _work_ for most basic tasks and an amazing number of corner cases.
Open-source products just don't even come close.

The only tools people don't complain about are the ones that no one uses.

~~~
zentiggr
At least Libre Writer has _sane_ ways to anchor a picture to a paragraph /
section / page.

I've lost my 100 hours trying to get Word to consistently place images in
technical docs, only to wind up fighting some of the most unpredictable
placement calculations I've ever encountered. I want to punch my screen right
now just thinking about it.

~~~
copperx
The sad thing is that LaTeX can be quite temperamental with image placement
too.

------
collyw
Salesforce (using their API). Our boss insisted on importing 4 years worth of
past data in to Salesforce so he could print some graphs via Tableua. I tried
to explain that it would be far easier just to leave Salesforce out of the
equation completely, but they had paid a small fortune for it, so insisted on
the wasted effort. Terrible platform from a developer perspective.

Then they bought Marketing Cloud, again terrible. Its supposed to be point and
click enough that non technical users can use it, but its too complicated for
them and absolutely terrible as it took 7 clicks to the edit page any HTML
email.

These two things make my current platform and all it's technical debt seem
like an absolute dream.

------
nailer
I don't want to mention individual projects and services, but the two most
common experiences are:

1\. Documentation. A chat provider and a serverless framework where the
documentation or the typescript definitions weren't kept up to date with the
code. Having to check types and their REST API and 'suck it and see' to
actually find out how it works. If you want contributors, your OSS project
should have working demos. If you want customers, the same.

2\. Unnecessary complexity. I think there's going to be a major change in the
front end world in the next few years as people realise they can already
achieve reactive data binding without the complexity of popular frameworks.

------
sam_lowry_
Datadog on Kubernetes, lately. Its blackbox nature creates tricky issues in my
company's infrastructure.

OTOH, I used New Relic with PHP website 6..8 years ago, and it was awesome in
everything, except the price.

I guess it all depends on the context.

------
madamelic
Heroku.

It just isn't good. I tried it way back and most of the time it turned into a
struggle that wasted hours.

I recently went back to it, thinking that it should be good now; it isn't.

My typical environment for a site is supervisor + nginx. Nothing crazy, super
simple.

For whatever reason, the heroku instance refused to take in my config (set
with `heroku config` and it was showing up in the Heroku console... but my
service was like "nope, not there". The keys existed on process.env but were
empty).

After about an hour I said "whatever" and stood it up on nginx + supervisor in
15 minutes.

~~~
zubairshams
I once wanted to deploy a React front end (only), not served by Node. I spend
4 hours just to do a simple deploy and the app kept crashing. Finally, an
obscure build pack command that needs to be executed surfaced on a blog post
which solved my problem, which was not to be found ANYWHERE else!

------
bloodorange
Without a doubt: perl.

"There is more than one way to do it" is such a boneheaded idea when you have
to work with other people on the same codebase.

------
cmollis
first time hacking on Mac OS Carbon. I had to port my open source project
(which ran on linux and Win32), to Mac (circa 2008?). I'd never built a thing
on a mac before.. at that point, Mac dev wasn't as big as it is now (and then
it was C++).. so Googling no help at all.. compiler errors, linker errors.. 6
months of 15 hour days.. completely lost most of the time.

------
allarm
Emacs. Spent a lot of time writing up my on config, switched to Doom
eventually. Been a happy user since then.

------
HugoDaniel
Witcher 3

------
quickthrower2
Hacker News! (But in a good way...)

------
inshadows
\- Counter-Strike 1.6

\- Quake 3 Arena

------
badpun
Windows 10. Mostly the forced updates and the fact that it randomly turns the
laptop on at night (to check for updates?) and spinning fans wake ME up,
resulting in worse productivity the day after due to interrupted sleep.

~~~
copperx
I've disabled all the common wakeup culprits (mouse, network, and USB activity
waking up the computer), and while it has made things significantly better, I
am still sometimes greeted in the morning by a powered on PC. And the wakeup
log isn't helpful at all. It's driving me up the wall.

------
sethammons
Debezium: reads mysql bin logs, feeds to kafka connect, then a kafka consumer,
and then replicates given tables into a separate db. Wasted around 100 hours
myself on it. As an org, we wasted closer to 2000 hours. Why? It can't handle
0000-00-00 dates due to a Java issue. They don't plan to fix it as it is "not
their problem." It can't replicate cascade deletes. We seeded our replicated
tables working through those issues and then the tables had different numbers
of records. I could have written a custom data migration utility in the time
wasted. I know because I have multiple times.

Chef: at one point, we had Chef Consultants come to help us with our
monstrosity. They said that we had something more complex and full featured
than anything they had ever seen and declined helping. I've lost weeks and
weeks to fighting against what we eventually grew.

Sysdig: personally, I lost maybe a few hours. As an org, we lost hundreds on
people trying to get it to work similar to Grafana. Sysdig, at the time, did
not support math operations. How this got passed on down to engineering is a
different story, but when you can't compute derivatives on counters, you can't
make decisions based on rates of change, something we require.

Twisted Python: Factories with mixins where a variable you are trying to
discover where it came from turns out to be a parent class's parent class's
mixin's parent class's mixin's parent class. True story. Dealing with cases
where someone raised an exception somewhere in the code years ago, but now the
section you are working in, you realize you cannot use Deferrals because
Twisted uses exceptions as control flow, and now the exceptions at some other
part of the code trigger ErrBack code somewhere else. As for the python part
itself, not knowing the actual type for the variable incoming on a function is
a pain. String? Int? Slice? Who knows! Add some print statements or read a
bunch of code to find out. Honorable mention to time lost on SQL Alchemy. I
can write SQL no problem. Every time I have to do something in SQL Alchemy, I
start with SQL which is done in 30 seconds, then I spend the next hour going
over documentation and experiments to get the query to build via SQL Alchemy.

AnyEvent Perl: 40 functions deep and not having a method signature. Yeah, time
to read through hundreds of lines of code with branches that could send any
number of parameters down to your function that you are looking at, or put
print statements to know _what_ has been stuffed into your parameter list.
Large systems benefit so much from strict typing. 40 functions deep and you
know _exactly_ what is coming into your function and what it should return.

Go Modules. I've probably not hit the 100 hours yet, but I'd not be surprised
to be in the 20 hour range. The module system was rolled out shoddily in my
opinion. We went from things Just Work(tm) to multiple environment variables
and language servers and editor issues. All I want is "is a vendor dir there?
Use it. Else, use GoPath." Can't have that though. With private repos,
proxies, vendor directories, environment variables, and varying levels of
support from editors, it is just a mess. With Go 1.14, modules are getting
better, but I'm still fighting the proxy servers in combination of vendor
directory and private repos. I _love_ Go. I hope it goes back to sanity.

------
platform
react native packaging into an Android app. More specifically: the @react-
native-community/cli followed by metro bundler.

Every single time I have to upgrade react-native, I have no problems with the
code base,

but with these horrible 'put a js config file here', put 'node_modules' there,
set environment variable this way -- kind of tools.

This is approximately equivalent in frustration, trying to build a Linux-
kernel with a new network-interface driver in early 90s.

..may be even worth than that.

------
brudgers
The web browser by several orders of magnitude...e.g. this.

------
benibela
All my own open-source projects. Thousands of hours wasted

~~~
pchanda
I would like to hear your thoughts on why you would think they were wasted.

~~~
benibela
Because I never benefited from them.

And they are too niche (Pascal, LaTeX, XQuery), so I did not learn anything of
relevance.

And all that programming has high opportunity costs and physical costs (back
pain, worsening eyesight, vitamin D deficit).

------
oweiler
Instana. It helped me troubleshoot some really nasty bugs in production but it
always takes me ages to find the information I'm looking for.

------
kalium_xyz
Bash; windows; safari mobile browser; the stock android samsung ships with
their phones; Tizen

This list is not exhaustive. You can help by expanding it.

------
smabie
Definitely sbt, the absolutely terrible scala build tool (and it used to be
called the simple build tool, ha!)

------
iOsiris
PeopleSoft's PeopleTools and nVision might be one of the worst out there.
Randomly hangs and crashes

------
sergiotapia
redux

redux sagas

2fa in general

those fucking cookie banners that no one gives a shit about

recaptcha

webpack

~~~
runawaybottle
Let me add to the list:

\- Trying to test isolated components with a mock Redux store

\- Figuring our how to set up tests for ‘connected’ components

\- The long walks I go on after looking at an actions file that I need to work
with

\- The long walks Redux has made me go on

------
wolco
BMCRemedy. Anything over 4000 records will kill you.

------
koliber
MUDs, in my teens.

~~~
totetsu
Except with muds it wasn't 100 hours, it was more often 100 days character
age..

------
stevefan1999
Writing game cheats. This was me 5 years ago.

------
adreamingsoul
Video games. Notable EVE Online

------
verdverm
Jenkins FML

------
whowhatwhy
2fa

------
greenie_beans
Drupal

------
tomrod
SAS

Minecraft

~~~
swayson
Minecraft has potential to develop creativity though :D It's a hard one to
quantify, but I think sometimes things like MineCraft, lego can boost
cognition if used in a deliberate way and one actually takes some learnings
from it.

------
singerislonely
Chronologically: Internet Explorer Firefox Facebook (the app) Chrome

------
randomsearch
git. Most of which was googling basic commands.

------
jklein11
Healthshare

------
knowyourleadcom
Windows, all of it. Random hard drive spin and you think to yourself maybe all
computers are like this? Maybe the 1000$ I spent on. A laptop wasn’t good
enough? And then you go back to your 200$ Linux laptop and get things done.

~~~
copperx
Hard drives shouldn't spin anymore; it's 2020.

