TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Things that used to be hard and are now easy

371 pointsby pingiunover 3 years ago

42 comments

Etheryteover 3 years ago
I would also add something along the lines of "building big webapps". Large frontend codebases used to be scary Lovecraftian horror where things were only touched out of utmost necessity. Runtime errors for weird corner cases. Dangling dependencies that no one could figure out whether they're safe to update/remove or not. Refactoring was both an art and an arcane incantation at the same time. Modern tooling and best practices have made most if not all of these problems nearly non-existent, and I'm grateful for it.
评论 #30408136 未加载
ignoramousover 3 years ago
&gt; <i>Things that used to be hard and are now easy:</i><p>&gt; <i>Concurrency, with async&#x2F;await (in several languages)</i><p>The number of times I&#x27;ve been bitten by the very specific semantics around async&#x2F;await in JavaScript makes me wonder if I&#x27;ve hit some kind of a ceiling in trying to grok it.<p>Coming from the world of threads, I&#x27;ve found Kotlin&#x27;s <i>structured concurrency</i> approach the best of the lot I&#x27;ve used so far, even if it isn&#x27;t with out its quirks: <a href="https:&#x2F;&#x2F;kotlinlang.org&#x2F;docs&#x2F;composing-suspending-functions.html" rel="nofollow">https:&#x2F;&#x2F;kotlinlang.org&#x2F;docs&#x2F;composing-suspending-functions.h...</a>
评论 #30409090 未加载
评论 #30407096 未加载
评论 #30407050 未加载
reidjsover 3 years ago
As someone who leans frontend, I find firebase and serverless (somebody else’s server) solutions really powerful for prototyping an idea or building a proof of concept. You can get something in front of your users tomorrow. I would second guess SaaS startups that start by building the infra&#x2F;data models unless they’re going for a highly technical play (aerospace, hardware, etc) or already have a ton of market knowledge.<p>I’m in the middle of a mongoDB to Postgres migration for a product with 0 users. When you’re trying to scale from 0 to 1 user then everything should help you explore the user’s problem space, even if it seems backwards to build the UI before the backend.
评论 #30408045 未加载
评论 #30407432 未加载
评论 #30410601 未加载
评论 #30406789 未加载
评论 #30408430 未加载
评论 #30408528 未加载
评论 #30406858 未加载
评论 #30407040 未加载
pleb_nzover 3 years ago
I would love to see the reverse of this &#x27;things that used to be easy and are now hard&#x27;<p>That would be an interesting read
评论 #30408345 未加载
评论 #30408190 未加载
评论 #30409530 未加载
评论 #30410370 未加载
评论 #30407924 未加载
评论 #30410808 未加载
评论 #30413422 未加载
评论 #30408686 未加载
评论 #30415237 未加载
评论 #30408691 未加载
tomalonerover 3 years ago
There&#x27;s another facet I&#x27;ve watched with interest:<p>&gt;&gt; Building videogames, with Roblox &#x2F; Unity<p>This has resulted in something like 90 new games entering Steam every day. While some games may still be art, they&#x27;re increasingly difficult to find among the noise. I&#x27;ve heard the mobile game market is in worse shape[1] by the deluge of games. &quot;More games for everyone!&quot; sounds great - but note that definitely doesn&#x27;t mean more &quot;good&quot; games - or more &quot;innovative&quot; games all the while encouraging rampant copying&#x2F;stealing of ideas.<p>[1] <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=Q30qZSEnI9Q" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=Q30qZSEnI9Q</a>
评论 #30407928 未加载
ChrisMarshallNYover 3 years ago
Writing GUI apps for Apple products.<p>Too many variables to mention, but I wrote my first Apple application in 1986. It took several weeks, and wasn&#x27;t much to look at.<p>These days, I can spin out a full-fat, shippable app, in a couple of hours. I do that all the time, for my test harnesses.
评论 #30408333 未加载
评论 #30408676 未加载
评论 #30408113 未加载
评论 #30408319 未加载
theonemindover 3 years ago
Regarding chocolate quality discussions: when Hersey started up, they couldn&#x27;t get any European chocolatiers to share their process, so they had to invent one. They used lipolysis, which creates butyric acid, the chemical that gives vomit its distinctive smell and aftertaste.<p>You can definitely taste it if you pay attention, like &quot;yep, that&#x27;s it, it&#x27;s that vomit aftertaste.&quot;<p><a href="https:&#x2F;&#x2F;www.google.com&#x2F;search?q=hershey+vomit" rel="nofollow">https:&#x2F;&#x2F;www.google.com&#x2F;search?q=hershey+vomit</a>
评论 #30409261 未加载
评论 #30409499 未加载
omarhaneefover 3 years ago
“Everything” that is easy used to be hard, depending on your time scale.<p>I’m certain that COBOL programmers were raving about the ease with which you could program the computer back in the day.<p>The items on this list sort of happen within a career so an individual had to experience how hard it was before. It probably reads different to someone coding for 5 years vs 30 years.
评论 #30409115 未加载
jbpnoy6fiftyover 3 years ago
I would also agree to this in MANY fronts, not just software. As a kid I dreamt of building a robot at ~6 years old. Just this past weekend, I helped my God-son build one (a solar kit for kids) and it was on sale for $10.<p>Things are generally more affordable now than they used to be for the masses, and more easier to achieve and prototype, in less turn around time, with 1 day shipping, or the mall-ification of society.<p>Cool stuff really.
评论 #30409964 未加载
jacobmartinover 3 years ago
I&#x27;ve only been using desktop Linux for 15 years, but it is vastly easier to use it as a daily driver than it used to be. It still has its problems--just yesterday I sunk an hour into an elusive bug. But when I was doing that, I remembered that such things used to be <i>nearly constant</i> and aren&#x27;t any longer.
评论 #30406882 未加载
评论 #30417321 未加载
评论 #30407457 未加载
评论 #30407380 未加载
globalise83over 3 years ago
IE support for JS&#x2F;CSS has been massively simplified by not supporting IE any more.
评论 #30408289 未加载
评论 #30420560 未加载
antirezover 3 years ago
It&#x27;s very hard to accept the statement that writing fast programs is now simpler with Go&#x2F;Rust. I think that what happened is more like this:<p>* With Go is now possible to write reasonably fast (not as fast as C) programs in a simpler way. That&#x27;s great indeed, but is not exactly the above statement.<p>* With Rust it is possible to write programs that have a speed that is comparable to the one of C programs, that are memory safe. So Rust made memory safety simpler, but writing a fast program in C is often simpler compared to writing a fast program in Rust, if we ignore memory safety. Overall Rust made programming harder: something that I&#x27;ll hardly excuse to it.<p>EDIT: The blog post was modified, so it only lists &quot;Go&quot; in the section about fast programs. My comment refers to the version of the blog post I read.
评论 #30407650 未加载
评论 #30407495 未加载
评论 #30409262 未加载
评论 #30407782 未加载
评论 #30407594 未加载
评论 #30407434 未加载
评论 #30410346 未加载
thedenover 3 years ago
Would be interested in also seeing a &quot;things that used to be easy but are now hard list&quot;. Feels like basic stuff is harder now:<p>* Privacy online<p>* Google search for niche or exact matches<p>* Browsing without captchas and blockers, especially if you don&#x27;t adhere to big tech&#x27;s rules for the internet<p>* Sending emails without worrying about spam filters being way too aggressive<p>* SEO before it got hacked to hell<p>* Barrier to entry for creatives to build things on the web (for all the flaws flash had, it bridged the gap)<p>* Finding real discussion and information. The growth of bots posting, misinformation, blogspam, and toxic echo chamber partisan discussion online (maybe it was always like this, i.e, eternal September?)<p>* MacBooks being easier to upgrade before when things weren&#x27;t soldered on<p>* In general anti right to repair hardware<p>* Not having to worry about dongles, i.e. connecting USB devices to your machine<p>* Ransomware wasn&#x27;t a thing. Nothing like a non-technical user needing to learn BTC or XMR to maybe get their data back<p>* Being able to buy software once vs a subscription, e.g., photoshop<p>* Work was easier to disambiguate from life before chat apps like Slack made employees always reachable<p>* CGNAT not being as common<p>* OAuth is still annoying to implement<p>* Blocking ads was easier<p>* Getting a job was easier for a lot of people prior to whiteboarding, leetcode tests, assignments, multi-day interviews and trials, etc. becoming more common<p>* GDPR making infra+dev work harder because big tech companies don&#x27;t understand consent and couldn&#x27;t behave, also leading to performative&#x2F;annoying cookie banners we see everywhere<p>* Needing an internet connection for software+tools that used to be able to run locally on your OS<p>* Website responsiveness was easier before all the devices and monitors with different viewports<p>* Archival (or scraping) was easier before the majority of human generated content was placed behind login walls (fb) and rendered content needing headless browsers<p>Edit: Call me cynical if you want—yeah some of those programmer things listed are easier now, but improvements on the core regressions I listed would help programmers (and non-programmers!) all across the world and in developing countries more than some niche highly paid SV engineers using terraform to orchestrate infra on GCP.
评论 #30407170 未加载
评论 #30407084 未加载
评论 #30407088 未加载
评论 #30407161 未加载
评论 #30406903 未加载
评论 #30407080 未加载
评论 #30407207 未加载
评论 #30407177 未加载
评论 #30407063 未加载
评论 #30407382 未加载
评论 #30407106 未加载
评论 #30406999 未加载
评论 #30415690 未加载
评论 #30407456 未加载
评论 #30407369 未加载
评论 #30407270 未加载
评论 #30407358 未加载
myself248over 3 years ago
Until &quot;large prime factorization&quot; makes this list, I think we&#x27;re cool.
eatonphilover 3 years ago
Personally, I disagree that parsing was hard before and made easy with PEG parsing.<p>For decades it has been easy and common to implement parsers by hand.<p>From what I can tell, universities and textbooks just overcomplicated the process by teaching parser generators.<p>I have done a few studies of various open source ecosystems now and (edited: other than CPython) I haven&#x27;t seen PEG parsers really used in anything but toy implementations of things.
评论 #30407116 未加载
评论 #30407048 未加载
评论 #30407615 未加载
评论 #30407453 未加载
asturaover 3 years ago
Rounded corners and gradients on the web. When I started both required background images, now they are just a css property.
评论 #30410571 未加载
CTmysteryover 3 years ago
Fun list. The only nitpick I have is for Spark. I would not consider it easy at all. From my experience, team members that needs to come up to speed on Spark usually take about a month to do so.
wackgetover 3 years ago
Eh... I&#x27;d argue against quite a lot of those being &quot;easier&quot; than doing things manually.<p>Docker is a prime example. It&#x27;s supposedly easier to spin up a docker container for a basic web server stack, but to be honest I&#x27;d rather install PHP&#x2F;MySQL and an SSL certificate manually, rather than spend time finding a decent container from a trustworthy source, and then spend 20 minutes trying to figure out how and why it&#x27;s been configured the way it has, etc. etc.<p>Plus there&#x27;s the need to actually install docker itself and learn how to use it in the first place.<p>Every one of these comes with its own learning curve which isn&#x27;t always better than just learning how the actual tools underneath work.
评论 #30407238 未加载
评论 #30407018 未加载
评论 #30407314 未加载
评论 #30407147 未加载
评论 #30407228 未加载
georgeecollinsover 3 years ago
The first commercial game I ever designed was built on a custom made 3d render. All sorts of things you do in harware now had to be done in code and you could seriously push like 1k triangles at 20 fps. And that was really good! It took the smartest programmers I have ever known to get that to work on a 486.<p>Now you have Unity, Unreal and hardware acceleration.
mchusmaover 3 years ago
Developing for mobile is so much easier overall with the Ionic framework.<p>It&#x27;s not for every application but I would say most applications it&#x27;s great for. My first startup we needed iOS, Android, and web teams. For my current startup, we have one frontend team using Ionic&#x2F;Angular and we just deploy to all 3 places with the same codebase.
throwawaaaaay17over 3 years ago
NLP with HuggingFace
评论 #30407523 未加载
oefrhaover 3 years ago
&gt; Cross-compilation (Go and Rust ship with cross-compilation support out of the box)<p>That&#x27;s not right? Go has builtin cross-compilation. Rust does not, you need to bring your own cross toolchain even after adding rust-std for the target with rustup, unless there are recent changes I&#x27;m not aware of.
评论 #30407993 未加载
Aqueousover 3 years ago
While I agree that many of these items are way easier than before, it still comes at a cost. Making a lot of these things easy has actually caused <i>new</i> problems that are once again, hard, mostly because of emergent complexity. For instance - configuring cloud infrastructure declaratively has made it very easy to stand up vast numbers of computational instances and distributed systems that now have to be reasoned about, monitored and managed effectively. CI&#x2F;CD pipelines means we are able to deploy code way more quickly and efficiently and with less manual testing, likewise causing an explosion in complex business logic that&#x27;s been deployed. If you&#x27;re not careful, the complexity enabled by these developments can quickly overwhelm you and your team.
fareeshover 3 years ago
I find the serverless frontend to be way more tedious than a monolith approach.
mahoroover 3 years ago
Wow! Let me continue :)<p>- Text-to-speech and vice versa, using cloud APIs. - creating a solid objects from 3D models (3d printing) - messaging: pub&#x2F;sub, message buses (kafka, redis, postgresql channels, rabbitmq etc) - advanced data structures are more available (sets&#x2F;hashes&#x2F;etc now in standard libraries of any language, and in many databases)<p>Things that surprisingly still a pain: - scanning documents preserving formatting (there are niche solutions but they are too expensive for a person who needs it a couple times a year)
评论 #30408892 未加载
orsenthilabout 3 years ago
One thing, I will like to add this. Learning new things and gaining mastery has become approachable too. Note, it is approachable, and as gaining mastery is intensely personal endeavor.<p>Learning new things via youtube, coursera, udemy, udacity, edx, many things. Mastery via project based learning, Github, tests in courses, certification exams, exercism, etc.
digitalsanctumover 3 years ago
Perhaps a good follow-on thread would be new things that have solved multiple other things that use to be hard or impossible.<p>For example, Rust comes to mind as something that has improved error messages, elimination of most memory-related bugs and &quot;fearless concurrency.&quot; All while being fast and having support for cross compilation.
romanivover 3 years ago
The general theme of this list is that technology gives us more and more hoops to jump through, then provides some trampoline to jump through them. We&#x27;re supposed to be eternally grateful. I&#x27;m not. I want to focus on problem-solving, not masterfully using trampolines.<p>&gt; SSL certificates, with Let’s Encrypt<p>Semi-mandatory SSL certificates weren&#x27;t a thing on the web until fairly recently. Not managing them at all was certainly easier than managing them with Let&#x27;s Encrypt, which has a lot of gotchas, requires tooling, knowledge and can suddenly break your website if something is off.<p>&gt; Concurrency, with async&#x2F;await (in several languages)<p>async&#x2F;await usage is literally the main reason why my recent project is written in Go instead of C#. I like C#. I don&#x27;t like Go. But dealing with all the gotchas of .NET Core async&#x2F;await APIs drove me away.<p>Moreover, Erlang had a much more sane and powerful parallelism model way before async&#x2F;await.<p>&gt; Centering in CSS, with flexbox&#x2F;grid<p>Again, like with SSL, this is technically correct, but generally incorrect. Centering <i>in CSS</i> has gotten much easier with flexbox&#x2F;grid. However, centering in HTML only became hard because tables were abandoned as the layout mechanism. Sure, they&#x27;re not &quot;semantic&quot;. But we&#x27;re talking about what became easier, right? Not about what became more ideologically correct, semantic, etc.<p>&gt; Configuring cloud infrastructure, with Terraform<p>Again, there used to be no Cloud infrastructure to configure. Personally, I find Terrafrom annoying more than anything else.<p>&gt; Setting up a dev environment, with Docker<p>As opposed to doing what? Keeping my dev environment simple is a constant battle and most of the time Docker is the weapon used by the other side. In 00s my dev environment was a text editor and some upload tool.<p>I haven&#x27;t used PHP in well over a decade, but for my latest personal project I&#x27;ve decided to brush up on PHP 8.1. Despite awful syntax, I can do stuff by writing a handful of lines of code in a text editor. It&#x27;s very refreshing. 100% focus on the outcome rather than tooling.
评论 #30407462 未加载
评论 #30407484 未加载
评论 #30407722 未加载
评论 #30407638 未加载
评论 #30407669 未加载
buescherover 3 years ago
How about things that used to be easy and now are hard? Or things that used to be hard, and now are intractable?
JattMannuabout 3 years ago
I use to have a very boring job of compareing 2 forms and check for discrepancy. Quite a meaning less job nowday We just use tools like<p><a href="https:&#x2F;&#x2F;www.freetextcompare.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.freetextcompare.com&#x2F;</a>
Corradoabout 3 years ago
What about spooling up 10,000 servers to do a job and then deleting them when it&#x27;s finished? I&#x27;ve literally done this for image processing and it&#x27;s not something that I could ever have done in the past.
tooltowerover 3 years ago
What a great list of &quot;Things I&#x27;ve been meaning to learn for years!&quot;<p>I was all hip and cool once, and now feel like a dinosaur. This should help me catch up
teromabout 3 years ago
I would add also PCBs for hardware prototyping. Ordering custom PCBs is ridiculously cheap and easy now.
singularity2001about 3 years ago
<p><pre><code> &gt;&gt;&gt; VPNs, with Wireguard </code></pre> Just tried it on iOS, please scratch it from the list
henvicover 3 years ago
&gt; VPNs, with Wireguard<p>I&#x27;d say: Tailscale.<p>I&#x27;d also add Kafka for integrating different systems&#x2F;databases, etc.
firefly284over 3 years ago
&gt; Writing code that runs on GPU in the browser (maybe with Unity?)<p>Is the author referring to WebAssembly ?
评论 #30410572 未加载
daxfohlover 3 years ago
I&#x27;ll add, &quot;knowing what you&#x27;re worth&quot;. I keep thinking levels.fyi, blind, etc. are underappreciated in their value as &quot;disruptive&quot; initiatives of the last few years, and will have a far greater social impact than bitcoin, self-driving cars, etc.
lopisover 3 years ago
I really like that XKCD comic about identifying birds in a photo, so it&#x27;s unfortunate that it didn&#x27;t age that well. How could we rewrite that comic to today&#x27;s tech? I was thinking something like:<p>A: I want to create an app that scans good feedback of our brand online...<p>B: there&#x27;s a li rary for that, consider it done<p>A: ... and understand if they are actually being sarcastic.<p>B: I&#x27;m gonna need 5 years and a lab of experts.
评论 #30407419 未加载
评论 #30406949 未加载
评论 #30407319 未加载
adriftover 3 years ago
&quot;Building fast programs, with Go&#x2F;Rust&quot;<p>Sure, bud.
评论 #30407242 未加载
评论 #30406806 未加载
评论 #30406741 未加载
评论 #30406830 未加载
nokamokover 3 years ago
Easy doesn’t (always) equal good.
midislackover 3 years ago
Laundry list of terrible stuff.<p>Let&#x27;s Encrypt is a headache and roots your box.<p>Concurrency was solved eons ago with common libraries widely used today. Erlang has had it as a design requirement since the beginning.<p>Centering in CSS! Heck isn&#x27;t that just an HTML tag?<p>Building fast programs... with a certain language. Admitting it&#x27;s slow? I don&#x27;t get it.<p>I could go through the whole little list like this.
grishkaover 3 years ago
&gt; Building cross-platform GUIs, with Electron<p>How about no. I so want this abomination of a technology uninvented.
评论 #30407237 未加载
评论 #30409015 未加载
评论 #30406859 未加载
评论 #30406867 未加载
评论 #30406813 未加载