Live data from Hacker News

Everything Easy is Hard Again (2018)

frankchimero.com

121–130 of 269 posts

Re: Everything Easy is Hard Again (2018)

#121

Earlier quoted context omitted.

Not the OP, but I left professional programming to become a writer (in Czech, not in English; pardon my mistakes). It actually has something in common, you still write structured text for living, though your target audience are now people, not machines. Some readers commented that they find my style clear and understandable; maybe it is a carry-over from programming, where you cannot be ambiguous. But I find writing…

Hi, I'm really curious, what do you write exactly for a living? Do you write fiction books, non-fiction books, blog posts, technical documentation?

1. Political commentary for a local newspaper. They pay reasonably well. 2. Popularization of science and technology for a few web outlets. 3. Books about interesting historical events, these are by far the most popular and earn me majority of my writing income. 4. I dabbled a bit in fiction, but long forms like novels seem to be out of reach for me. My strength is in shorter texts that can be written in an afternoon. 5. A free blog that comes with an e-shop where my books can be bought.

Re: Everything Easy is Hard Again (2018)

#122

The delineation of this argument is what made me switch to Linux. On Windows, things that should have been getting easy were getting harder for me: software management was getting worse, updates were getting worse, and everything that should "just work", just wouldn't. My experience on MacOS was just as bad, with all of the 32-bit apps I used gone in the wind. Now the 64-bit apps are up on the chopping block, and I h…

>> The learning curve for Linux was larger than Windows or MacOS, but I only learned the truth. By cutting away abstraction, I can actually understand what my system is doing, and be a better citizen of my operating system. Linux is arranged masterfully, and makes the Windows filesystem look like a joke in comparison.

What windows filesystem (FAT, FAT32, exFAT, NTFS) look like a joke and compared to which Linux filesystem? Ext2? Ext3? Ext4? ReiserFS? ZFS? It’s pretty clear that you never used Linux in the 90’s from your comment. And the main problem with Linux at the time had nothing to do with the filesystem but mainly with the immaturity of the complete system. I am very curious to understand what great truth you understood by using Linux. Would you kindly teach me this great knowledge and illuminating experience that I somehow missed?

Re: Everything Easy is Hard Again (2018)

#123
post #46

Earlier quoted context omitted.

what kind of work did you get into after programming out of curiosity? rare to see people go the other way

Not the OP, but I left professional programming to become a writer (in Czech, not in English; pardon my mistakes). It actually has something in common, you still write structured text for living, though your target audience are now people, not machines. Some readers commented that they find my style clear and understandable; maybe it is a carry-over from programming, where you cannot be ambiguous. But I find writing…

Writing human-language and programming indeed have a lot of skill transfer. They're both writing after all. But most importantly it's the ability to clearly communicate ideas and organize thoughts.

Re: Everything Easy is Hard Again (2018)

#124
post #51
post #4

Customer needs for most websites basically haven't changed in two decades. Outside of a few complex SPAs doing interesting things, structurally we're building the same things we were building back then (blogs, brochure sites etc) — it's just that the way we're building them has become (optionally) much more complex.

20 years ago one could assume 1024x800 and it would mostly work. Then smart phones came with small vertical screens and touch input. Then tablets made it necessary to support screen rotation. Then retina displays required to support dpi-aware images. Then dark/light mode came and general color management...

> 20 years ago one could assume 1024x800 and it would mostly work.

IE 5 and 6 and Netscape Navigator 4 would all beg to differ. Having made simple websites two decades apart, CSS is much less hassle nowadays.

Re: Everything Easy is Hard Again (2018)

#125
post #117

Earlier quoted context omitted.

You can still use your old copy of Dreamweaver if you really want to. I think Adobe still sells new versions too. I wouldn't advise using website builders in general (Dreamweaver was always kind of sketch), and I certainly wouldn't advise using Adobe software in general (they're an awful company with overpriced products), but I can't imagine modern Dreamweaver has gotten particularly worse than it was before. You can…

Oh, you would want to use it. The games and similar mini software just don't have anything comparable to it. The loss of flash is very unfortunate.

The Ruffle project is trying to make a flash player with wasm. Mayne that at least can return.

Re: Everything Easy is Hard Again (2018)

#126
post #72

The simple page you could make 20 years ago is the simple page you can make today. With a few minor tweaks, it will work as well as it did 20 years ago. If you want to make a complex web app today, that's easier than it was 20 years ago. The tools are infinitely better. If for some reason you decide to use the tools meant for complex web apps to make your simple page, you're going to feel like everything has gone hor…

I agree with you, but the problem, the big problem, is that you're looked down if you propose to use simpler tools.

It is horribly difficult to not use these advanced tools for simpler problems. At work my team does just f**ng CRUD forms, and for doing this we have the most overcomplicated stack I've seen in my life. Go backend with React, Redux, Rxjs,custom.webpack craziness, and 32 tons of internal weird libraries no one would willingly use ever even if pointed with a gun.

If I propose to just use Rails for this and be done with it, I'd be declared and heretic and expulsed from the frontend team.

Re: Everything Easy is Hard Again (2018)

#127

Earlier quoted context omitted.

You are spot on. And now, try OpenBSD. It's the next step in removing useless abstractions.

I'm an avid Linux user, completely unfamiliar with BSD. Could you shed some light on how it further removes abstractions? I don't mind trying it out by booting it from a usb

[deleted]

Re: Everything Easy is Hard Again (2018)

#128
post #72

The simple page you could make 20 years ago is the simple page you can make today. With a few minor tweaks, it will work as well as it did 20 years ago. If you want to make a complex web app today, that's easier than it was 20 years ago. The tools are infinitely better. If for some reason you decide to use the tools meant for complex web apps to make your simple page, you're going to feel like everything has gone hor…

I'm not sure this is quite true. 99% of early 2000s websites can be made by an unskilled operator automatically, by using something like Squarespace or Wordpress. The other 1% are the hard projects -- desktop quality applications that need to run on 5 platforms and 3 Javascript engines. Most people that do frontend engineering are being paid to work on those hard problems, so the job is going to feel harder than it did 20 years ago. There is no money in the easy things; it's all been automated away.

To some extent, the tooling does make things harder than it needs to be; it's converged to a very strange local maximum that's very far away from the global maximum. The problem, I think, is a complete lack of integration along the entire stack. You write your code in a programming language whose source code is sent to the user to compile, and there are hundreds of minor variants on how the user will interpret that code. You have to defensively handle it all. But, developers want to reuse code, and those runtimes don't really support code reuse, so you have to bolt it on with a fake "compile" stage, where you concatenate all your dependencies together and split it up into chunks to be served to the end user's compiler at just the right time. The language that is used for these tools is a little on the outdated side, so this compile stage takes 30 seconds on one CPU core, leaving your commodity-grade 32 core workstation 96% idle while you sit around waiting. And, people don't even like this language for writing their code, so they write it in a different language that is compiled to that first language. After all that, you have code that can run on users' machines, but that's only like 30% of the problem. You have to serve that code to them, preferably from a datacenter that's physically close to their terminal. You have to serve them ancillary assets, like instructions for how to format the data your app interacts with, and images. Like the author mentions, there are a million different image formats, and you have to pick the right one for the end user, relying on a single line of text like "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36". That's hard, so there is some service you can buy to do that for you, completely unrelated to that aforementioned "build process". The TL;DR is that there are hacks on top of hacks, and moving parts on top of moving parts, that it's a wonder it works at all. But we're in this state where we can't even fix it, because there is no one party responsible for the end-to-end experience. All you can do is bolt on more and more components and hope that you get closer to a local maximum.

The takeaway is that in a distributed system of glued-together components, no one entity is responsible for the success of your users. And, those that manage to build success for their users will do it all through very careful glue, that can come apart and blow up at any time. That means they have a never-ending job that consists only of unnecessary toil. At some point, the person that decides "FUCK IT" and throws this all away and builds some sort of integrated experience is going to make a lot of money. But there are many lifetimes of work ahead to achieve this goal, and you'll be dead before you finish, so why even try? That's where we are. Good luck.

Re: Everything Easy is Hard Again (2018)

#129
> simply npm your webpack via grunt with vue babel or bower to react asdfjkl;lkdhgxdlciuhw

I am sorry to spam, but this is exactly the problem intercooler.js and now htmx were designed to solve:

https://intercoolerjs.org/2016/10/05/how-it-feels-to-learn-i...

90+% of the websites being built (and 90%+ of 99% of the websites being built) could use a much simpler, traditional HTML-oriented REST-ful model at a fraction of the complexity of frameworks being used today.

Re: Everything Easy is Hard Again (2018)

#130

Earlier quoted context omitted.

I love Linux based operating systems and I've used them pretty much exclusively for at least a decade now, and I agree with a lot of your post, but >By cutting away abstraction, I don't think I agree with this take. You haven't cut away abstraction, you've changed to a different kind of abstraction. Linux's 'everything is a file' abstraction is just that, an abstraction. >Linux is arranged masterfully, and makes the…

> Every flavour of Linux uses a different layout for its root directories, stores configs in different places and generally is not consistent from distro to distro. As a very casual Linux user (macOS is my daily driver), are there any efforts to solve these "death by 1,000 cuts" arbitrary (I assume) differences?

These differences mostly come down to package manager variations, which should be one of the main considerations when picking out a distro in the first place. My personal advice is to use Arch/Manjaro with pacman, and avoid all snaps/flatpaks. The AUR is designed for people to integrate these apps like Spotify and Bitwig into the proper locations, instead of snaps and flatpaks making their own folders and such.
Post reply on HN