Programming thread

  • Want to keep track of this thread?
    Accounts can bookmark posts, watch threads for updates, and jump back to where you stopped reading.
    Create account
Also this is an important lesson for why you don't do COPY . . in your Dockerfile.
Could you expand on this? I am unfamiliar with Docker and a cursory search did not reveal what you meant. I know it’s a container system but the whole world of “just download a preconfigured Docker image” is still very foreign to me.
 
Okay, so? Mike Acton said Microsoft Word takes 10 seconds to load. Were they wrong? Does this somehow invalidate my experience of photoshop and word taking inordinate amounts of time to load? Shall I name any other mainstream program that used to work fine in the 90's and 2000's but now is a laggy, bloated piece of shit? The fact that everyone is having the same universal experience of shitty software speaks volumes in and of itself.
Yes, they are often wrong. You shouldn't repeat blindly what others have said. I've used PCs from the 90s, and they took longer to boot up, and programs were sluggish, even on stuff like Windows 3.11. When most of these guys say it more snappy, I swear they are running an old computer with an old SD card adapter or similar. My Amiga 1200 boots in 1 second from a CF-IDE adapter, these didn't exist back in 1990. I am sure it would take ages if I booted it off the original 20mb hardrive,
 
Last edited:
Could you expand on this? I am unfamiliar with Docker and a cursory search did not reveal what you meant. I know it’s a container system but the whole world of “just download a preconfigured Docker image” is still very foreign to me.
My advice is about writing your own docker build files, named and called Dockerfiles.

They're basically a collection of very simple commands to be run in a base image. You start with some named image, like a specific version of Debian or something like that, and you can copy in files from the outside world (usually project files in your repo), and then you can run whatever shell commands you want.

Even aside from distributing software, docker is super useful for doing deterministic tests. I can run a build or some test and know far more accurately that it'll run or build on the deployment machine because you can isolate out any local environment changes that you've made.

It solves the problem of "well it ran on my machine".

A lot of Dockerfiles will start out with "FROM debian:trixie" and then "COPY . .".

This starts with a bare Debian image and copies in the entire contents of the current directory into the starting directory of the image.

Then usually the next step is something like "RUN make", which would then run the build, just like you would outside of the container, just inside in a repeatable environment. Each step is tagged and logged and some parts of the container state are hashed and recorded as a layer. Earlier layers are cached.

The problem with copying a blank copy of the whole source directory is that it'll drag in everything. Including any sensitive files like configuration files or encryption keys or anything else you might have lying around. I don't know about you but I often have lots of things at times hanging around in dev repos that I don't intend to commit. It's recommended to write more narrow COPY commands that copy in specific files or directories one by one. (Usually you'll write a .dockerignore as well but the failure case of docker ignore is different from just writing tighter copy steps in the first place.)

I guess the pre containerization risk was with PHP where source code often lived and mingled in directories with static content. Back then a crawler could realistically hit endpoints like /oldconfig.php on a few thousand machines and might have a chance that some dumb sysadmin left something around that he shouldn't have.

In the containerized world it's a similar thing, except it's someone building an image and a poorly written dockerfile dragging in a bunch of stuff it's not supposed to.

Edit: oh god, I just remembered apache used to have per directory configuration files too, didn't it? God, I haven't thought about apache for years.
 
Last edited:
I am sure it would take ages if I booted it off the original 20mb hardrive,

... do you know the difference between hardware and software? Actually, don't answer that, because you don't seem to understand what a rhetorical question is either. You just proved my point.

Hardware has advanced over 1000x in performance while software is running slower than ever. The fact you experience drastic boot time reduction by switching to modern hardware while running old system software is literally proving my point. And Mike/Jonathan's point as well. These old programs, when run on modern hardware, operate at the speed of light compared to the modern crap equivalents, even adjusting for increased functionality of the newer versions. Yes, modern photoshop does a lot more than the original. But it shouldn't be so laggy under any circumstance.

I used photoshop in the 90's. It was absolutely 'snappier'. Because the state of programming back then had not decayed into the cesspit it is today. You can even look through the old source code of MS Word 1.1 and Adobe Photoshop 1.0. They were both data-oriented design. The sheer stupidity of micromanaging every single resource, constructors/destructors, OOP, try/catch bullshit had not yet permeated the ecosystem.
 
Hardware has advanced over 1000x in performance while software is running slower than ever. The fact you experience drastic boot time reduction by switching to modern hardware while running old system software is literally proving my point.
Not really. Amiga OS is a very basic OS by today's standards. The OS is made for the machine. The biggest bottleneck in most machines is I/O to disk. Anything remotely faster will make it feel like lighting. What was being communicated is that people have warped perceptions of hardware and software in the 90s. It was slow, shit, insecure and often unreliable. Things are generally much better now.
And Mike/Jonathan's point as well. These old programs, when run on modern hardware, operate at the speed of light compared to the modern crap equivalents, even adjusting for increased functionality of the newer versions. Yes, modern photoshop does a lot more than the original. But it shouldn't be so laggy under any circumstance.
Blow is delusional. He thinks he can solve global warming and complex computer security issues. He has a habit of talking out of his backside.

You and blow using the most enshittified products as a data benchmark and attributing it to modern C++ features, is fucking retarded. His evidence is him proclaiming "I know it doing a bunch of try ... catch stuff and unwinding things.". That isn't evidence of anything. He is guessing.

You need to actually look at why these programs are slow. Have you even profiled this shit? You actually need to investigate claims made by other people instead of repeating their shit wholesale which is what you've done. I know when people are just repeating shit that a YouTuber has said.

BTW. I have some old laptops and PCs, and they can run a lot of modern software fine. We are talking 15–20 years old. What they can't run well is JS/CSS effect laden sites. Modern Native programs actually run pretty quick, even electron-based stuff like VS Code runs well on 16-year-old hardware. I have run operating systems that were of the same vintage, and they often run slower than more modern operating systems.
I used photoshop in the 90's. It was absolutely 'snappier'. Because the state of programming back then had not decayed into the cesspit it is today. You can even look through the old source code of MS Word 1.1 and Adobe Photoshop 1.0. They were both data-oriented design. The sheer stupidity of micromanaging every single resource, constructors/destructors, OOP, try/catch bullshit had not yet permeated the ecosystem.
Considering earlier you attributed poor programming practice to your complaints about modern C++. I doubt you have any idea what you are talking about.
 
Last edited:
Back
Top Bottom