Ask HN: Thing that used to be easy, but are now hard

29 points by BiteCode_dev ↗ HN
Currently, the "Things that used to be hard and are now easy" article is on the HN front page, but I wonder what the opposite list would be.

What do you think, in IT, used to be easy, but is now difficult?

42 comments

[ 5.3 ms ] story [ 80.7 ms ] thread
Running your own email server, without the establishment email providers just blackholing all of the messages you send.
Running your own email server is borderline impossible nowadays. It's the boss of self hosting.
Visiting websites. Used to be easy but now with the cookie consent popups, saying "no" has been deliberately made an operation involving multiple clicks and selections.

On the other hand, "Accept all cookies" makes it go away in one click though lol.

On mobile it becomes ten times as worse

I am more annoyed by the walled gardens that requires you to log in/get a mobile app to view "public" content.

Quora, LinkedIn, Reddit, Twitter, just to name a few. And it's getting worse every year.

I know it’s a trope at this point, but getting into web development seems daunting compared to the time before The Framework Wars.

There’s just so much choice and variety out there. Even if you pick one of the big three (React/Vue/Angular) there are sub-frameworks and it’s easy to get analysis paralysis.

Depends on the situation. There's always a lot to learn but if you're building something for yourself you can get by with html, js and css.
One would pretty much just go with React. It's the most common.

Choosing to learn Angular at this juncture seems rather pointless. I'm surprised it's still alive.

I bet I could find a person saying exactly this, but opposite, in a few minutes on Twitter :)
Can't go wrong with vanilla javascript
Printing a single character to the screen; It used to be: - write a byte, maybe just write it to a byte in screen memory

  Now:
    - Oh it's UTF, how many bytes, decode to find the glyph
      - find a font with it in
    - render it somewhere
    - gets composited
    - and antialiased
    - or was it an emoji and needs multiple colours?
Except before, poor Asian, Arabic and basically any other than Latin languages could not print anything to the screen. Nowadays every single language, real or invented, has Unicode characters and all you have to do is call an API be done.
Yeh, as I remember they used to have their own hacks for it; what was really hard was mixing languages in a single program or document.
Streaming a movie.

Netflix used to offer a comprehensive library and unlimited watching sessions for a reasonable price and a single subscription, now you should be subscribed to 4 different streaming services just to watch content from the main producers, not even all content. Torrents are back.

>Torrents are back.

They never left because most of us saw this coming.

Torrents are hard, too. To avoid getting sued one needs to pay a VPN subscription (Paying a business for a service, kind of ironic for a pirate). And even then, people have been caught because they use identifying information to sign up for the VPN. This problem is solved by using a VPN that doesn't keep logs, but how does one know which service to trust? Furthermore, once the data is downloaded, one has to manage it: dealing with hardware failures and the sheer data size. The data can be uploaded to the cloud, but then one risks deletion for copyright violation. The workaround for this is encryption, but then one has the hassle of managing encryption keys at the risk of losing access to their data.
Javascript framework learning path is way more complicated than old school jQuery.
Creating a new e-mail account. All the major providers require your phone number now and sometimes even that's not enough.
Hosting public Internet services from your own workstation. Pre-NAT, every machine had a public IP address. (This is possible again with IPv6, but now we also have default-deny policies on firewalls in many places.)
I strongly suspect getting started with front-end development is much harder than in 2000-2005.

The tools and resources (codepen, stackoverflow, youtube, etc) are 100x better and more numerous, but many of those tools also make for much longer toolchains, which add complexity, as do all modern frameworks, on top of expectations of what a website is, so the learning curve and total cruft to get started is significantly higher.

The sheer number of terms you will be introduced to is much higher. Imagine a brand new person who wants to learn JS and all the terms they will encounter in the first month of searching around: React, Vue, GraphQL, MongoDB, Node, npm, Apollo, Typescript, Babel, Eslint, Grunt, Gulp, git, SCSS, Sass, tailwind, etc. How many of these do they really need to know? What decisions do they need to make about them, if any? (eg react or svelte). Not only are there are lot of terms, but its not obvious to a total newcomer which of them are actually relevant to front-end development and which are not. It's obvious to us, but only because we are steeped in it already. So a mentor seems more essential than ever before.

By comparison, in the Geocities era, getting introduced to things and feeling your way around making changes to a site felt much less complicated. And for frameworks/tools they would learn about jQuery, and maybe Wordpress, and that's pretty much the only such terms they'd come across. So it at least looks a lot more daunting than 2005. I think this is somewhat unfortunate, and we might be scaring away good would-be programmers.

Nitpick: the Geocities era peaked well before jQuery was created in 2006. By that point Geocities was already in decline and would be shutdown only 3 years later.
This is where I'm at. Yesterday I was making a list of all the technologies that I felt I needed to learn. So far:

Javascript Node Next.js Kubernetes Typescript npm yarn Gulp Docker Electron Webassembly Ember.js Vue.js React Angular.js

It's honestly frustrating, because there's too much stuff.

The Mastodon instance I run for me and my friends is several orders of magnitude more code than the wiki I once ran for me and my friends, never mind the Wordpress installation behind my personal site. Updating it is always a giant task of merging my tweaks back into the latest from the central repository, and getting the thousands of packages it depends on across three different package managers to work properly. I think that wiki was a tiny handful of Perl files. Maybe even just one. I still haven’t gotten webpack to stop deciding one of my custom SASS files doesn’t exist after the latest update, it’s clearly some other error behind this but I don’t have the energy to grovel through five miles of scrollback to try and trace it down right now.

Getting started in programming is a much bigger step compared to turning on your 8-bit computer and having its BASIC prompt right there, constantly inviting you to explore beyond typing load “cool game” followed by run.

Contacting customer service at pretty much any company.
I am trying to contact AT&T due to them thinking I haven't returned their hardware yet. Calling "customer support" results in about three minutes of being "on hold" followed by "leave a message." They call back hours and hours later and don't even leave a message. Virtual "chat" is just glorified drop-down list automation using "AI."

It's pathetic.

to find a post office.

In Germany, 99% are closed and the remaining ones are either banks in disguise or telco kiosks selling stamps.

Hosting a web application if you aren't a professional, and want to save money.

Seeing as its my entire job, I have no problem getting all kinds of web applications setup and running on all kinds of platforms. But I was recently trying to help a friend with their web hosting. They were used to the old school style host where you just get a directory you can (S)FTP files into. All the systems administration is taken care of for you. You can setup some SQL databases via a Web UI if necessary. Something like mod_php is already going. It really holds your hand through dealing with other things like DNS.

Nowadays those old style kinds of hosts still exist, but there are less of them, and they mostly suck. They charge too much money and impose too many limitations. The problem is that all the amazing options we have today like cloud hosts (AWS, Azure), VPC (Linode, Digital Ocean), PaaS (Heroku), Saas(Wordpress.com, Shopfiy), and hosting your own servers all require more technical expertise and/or more money than that old school style of web host.

Liquidweb is still great for this, with unmatched uptime. Not super cheap but well worth it.
Making an impression on YouTube and other social media outlets.

As an example, back around Y2K there was a website called mp3 dot com. Pretty much every reasonably good musician who uploaded their music managed to get a really good following.

Nowadays if you want a following, your sound and video quality has to be flawless, and if you don't post a high volume of flawless media, you lose any audience you might have been lucky enough to attract.

There are just so many options that any given content producer is easily forgotten.

Search. The relevance of results from all the big providers is appalling now. I have largely changed the way I work towards using cached docs, specialist sites and relying on textbooks as I did before the internet. WTF happened to search, and in particular to Google?
Setting up a dependable Windows machine. In the days of Windows 7, you installed a clean image from Microsoft, added the drivers you really needed and you were good to go. If you didn't do anything weird to your system, it could run for years without a hitch.

Nowadays, Windows reboots on you at the most inopportune moment. Updates often change the look and feel of the system. Drivers break in unexpected ways. Even if you use the clean image, Windows automatically installs manufacturer bloatware, see Waves Max Audio Pro for example. Even something as simple as sleep mode works much less reliably than it used to, a lot of laptops, especially Dell laptops, wake up randomly, and there's not much you can do about it. You need a Microsoft Account to even install the damn thing. If you can't use one because of age restrictions, lack of internet connectivity, living in a country on the embargo list or for whatever other reason, you're screwed. Your home folder will be named after your first name. If your first name contains diacritics, some old software is going to crash in weird ways and there's not much you can do about it. If there's a file that Windows Defender doesn't like, it's going to be nuked. Even backups don't help, if you plug in the drive. with your backups, Defender is going to delete that file from there too. Not to mention all the telemetry, advertising and other shady stuff Microsoft is doing these days. I've been an avid Windows user for years, but it has gotten so bad I just had to switch to something more sane. If I feel more in control of my computer on a Mac than I do on a PC, there's definitely something wrong.

I feel like Windows has been like this for 20 years at least. Windows 2000 & XP would auto-run executables on whatever CD or USB drive you plugged in (good luck). Windows XP had auto-updates. Vista started downloading/updating drivers automatically. The registry has always been a train wreck. Even the ads aren’t a particularly fresh hell. I remember games minimizing from full screen so Windows XP could show me nag notifications about MSN Messenger.

Edit: and the solution for these problems is also the same, for the last 20 years: build your own install media using enterprise tools, slipstream in all the updates and drivers you like, and disable all the crapware, insecure defaults, etc. I was very proud of my custom Windows XP distro as a high schooler (complete with custom Steam-like system theme).

> Windows 2000 & XP would auto-run executables on whatever CD or USB drive you plugged in (good luck).

But at least plugging in CDs and USB drives is something only someone with physical access can do.

> Windows XP had auto-updates.

In Windows XP, there was a setting to disable them forever, even in Home Edition.

This. Windows 7 is a sweet-spot that I cannot leave. Few sites/apps/dev-tools are dropping windows 7 support, but It is still as usable as it ever was. You can always try downgrading your OS!!
Ignorance is bliss.

How trivial was to make a simple CGI taking input as it were without ever worrying about escape characters, codification, SQL injections, XSS and so on.

Everything previous to a (security) arms race looks so easy, intuitive and simple.

Coming up with 'fresh' ideas and creating a profitable side project is much more challenging. There is so much more competition then there used to be. The few projects I made money on in the past I would suspect I would have a real hard time even getting eyes on today.
Writing competitive applications or games without a huge team. In the 80s and early 90s, a single person could create an office application like a spreadsheet or word processor, or a best-selling game, in a year or less. Today, despite much better tools, this is almost impossible.
doing reliable phone calls (even during power outage).

Was no problem up until the 90ies (in germany).

Making non-bloated programs/apps. The smallest popular way might be a Go back-end and Vue front-end. Typically it might be a GraphQL back-end and Electron front-end.

Cross-platform desktop apps: Eclipse/Netbeans RCP, Flutter, Qt? At least with Win32/64 it used to be roughly a single proprietary target, now there's multiple desktop, mobile, and web targets.