[ / / / / / / / / / / / / / ] [ dir / abdl / animu / cafechan / doomer / leftpol / sw / vg / wmafsex ][Options][ watchlist ]

/tech/ - Technology

You can now write text to your AI-generated image at https://aiproto.com It is currently free to use for Proto members.
Email
Comment *
File
Select/drop/paste files here
Password (Randomized for file and post deletion; you may also set your own.)
* = required field[▶ Show post options & limits]
Confused? See the FAQ.
Expand all images

File (hide): a06e40c26101234⋯.png (17.74 KB, 980x996, 245:249, 46486415314.png) (h) (u)

[–]

 No.1013661>>1013671 >>1013673 >>1013680 >>1013689 >>1013705 >>1013726 >>1013757 >>1014002 >>1014009 >>1014415 >>1014421 >>1014446 >>1015064 [Watch Thread][Show All Posts]

There's the good kind of overengineering and then there's people that step so far over the edge that it's horrifying and fascinating at the same time.

Give examples, particularly funny ones, about unnecessary complex programs, systems, devices. It doesn't have to be software, although that's probably where most examples will be found.

What's an existing sensible substitute for your example?

Systemd, dbus, pulseaudio, whatever are of course allowed, as long as you give horrifyingly fascinating details.

I'll start with https://github.com/sindresorhus/trash-cli

A cross-platform "app" to move things to the trash, with companion apps to empty the trash, delete files and folder and its own API. Of course written entirely in Javascript.

I'd replace it with either nothing or a shell oneliner.

 No.1013665>>1013668 >>1013669

Windows 10.

Who thought that putting 20 different card games in it is a good choice?!


 No.1013668>>1013682

Can someone tell me if Emacs (GNU/Emacs?) qualifies?

>>1013665

>the calculator has a splash screen

That hunk of junk is a prime example.


 No.1013669>>1014454

>>1013665

Windows 98 had a bunch of extra bullshit screensavers/themes/sounds/backgrounds etc iirc


 No.1013670>>1013682 >>1013691 >>1014102 >>1014185

Things like: ?

https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition/

I think the CoC is unironic though?


 No.1013671

File (hide): f9cbf06ad8e8762⋯.jpg (311.77 KB, 1920x1080, 16:9, ITS SO BEAUTIFUL.jpg) (h) (u)

>>1013661 (OP)

LINGsCARS.com


 No.1013673>>1013682 >>1013700


 No.1013674>>1013676 >>1013677 >>1013687 >>1013700 >>1013705 >>1013728 >>1014172 >>1014415 >>1014602

File (hide): 767add5fd1045e7⋯.jpg (128.35 KB, 650x442, 25:17, bulk_rename_tool.jpg) (h) (u)


 No.1013676

>>1013674

i see ur a man of culture too fam


 No.1013677>>1013728

>>1013674

before learning powershell (or scripting) this was very useful for renaming downloaded media. no-one uses the same naming convention

I'd rather one over-featured tool than 50 smaller ones, at least when using GUIs in which inter-program piping doesn't really exist


 No.1013680

>>1013661 (OP)

>I'd replace it with either nothing or a shell oneliner.

At first I thought "that wouldn't be cross platform".

Then I noticed that this thing has almost 30 lines of code just in cli.js alone. That is ten times the number of platforms it claims to support.


 No.1013682

File (hide): 84291e519a86478⋯.jpg (18.91 KB, 693x342, 77:38, 154854548746.jpg) (h) (u)

>>1013668

>Emacs

It's more of an editor platform that's programmable and extendable, so you're not obligated to fill it with features to have it work as intended. I'd say no, even though it has a lot of stuff in by default.

>>1013670

just wow.

>>1013673

I'm more fascinated than horrified tbh. Pretty amazing.


 No.1013684>>1013685 >>1014119 >>1014172 >>1014415

I'd like to complain about the average page weighing around 2MB. But that's nothing compared to the fact that browsers now ship with a fucking compiler and that while browsing the web you just download and execute code written by hell knows who. I'd like to say that ideally a browser shouldn't have to compile anything, rather it should render pages and possibly execute some very simplistic scripts.

But that wouldn't be indicative of how insane the industry is.

Almost everything that has anything to do with the web is overengineered. A couple of examples:

>asm.js

Just imagine. C, a low-level language, is compiled into a subset of JS, a dynamically typed and absurdly high-level interpreted language, which is then compiled before running. It's not that it is overengineered in the way it's done, rather, the very existence of this thing is overengineering. I highly recommend checking out the "code generation" part on the wikipedia page. Some solid examples of just how insane this is.

>electron

Needs no explanation. A fucking browser engine is bundled with your program. And not just some engine, it's chromium, which is almost an operating system of itself, it even contains drivers. So your clipboard manager or whatever the fuck you wish to implement with this wonderful technology is gonna carry a joystick driver among tons of other garbage.


 No.1013685>>1013690 >>1013717 >>1014172

>>1013684

I'm really curious about the alternative to the current state of things. Web isn't used for documents anymore, it's a GUI framework for applications. How would anyone make this mess less haram without just saying "We should stop making web apps."?


 No.1013687>>1013705 >>1013719 >>1013729 >>1013783 >>1013909 >>1014415

>>1013674

That entire program in linux:


for i in `ls -1 <regex-files-to-rename-goes-here>`;do mv $i `echo $i|sed -e 's/<regex-from>/<regex-to>/'`;done

change out ls for find, stat, etc. as required, and expand sed script as necessary for multiple changes.


 No.1013689

>>1013661 (OP)

Nothing will beat the pile of spaghetti a novice OOP programmer will generate when trying to implement "patterns". I've seen monstrosities that make an abstract-hammer-factory-generator-proxy look sensible in comparison.

I'll pick on myself a bit. I wanted a single keystroke to dim the laptop and secondary screen. So I wrote an AutoHotkey script for the keyboard binding, which called a powershell script that presented a GUI with dimmer options, which then called a .NET library I wrote in C#, which makes several attempts to dim the screen using various methods, as not all are compatible with all GPU's and monitors. It was horrendous but it worked.


 No.1013690>>1013695 >>1013700

>>1013685

You cannot. "Web app" is essentially a fancy word for next gen proprietary software.


 No.1013691

>>1013670

"Stringreturners" unironically made me think of Django. Thank god I never had to work with java a lot.


 No.1013695>>1013702

>>1013690

"Web App" is a fancy term for "software I don't need to install to run". The problem is distribution and web browsers "solved" it.


 No.1013696


 No.1013700

All web browsers intended for general use and whities.

>>1013674

I would actually use that. What is the point of GUIs if not that? The muh bloated "minimalism" meme, where mere calculator has 200k loc and has memory footprint bigger than creators eweenie and has on top of that only the most basic featurs.

>>1013673

Excel devs are pure magikikes.

>>1013690

>lubuntu

it shows, #staylobotimized


 No.1013702

>>1013695

Except they haven't really and that isn't really a problem.

Crossplatform apps were made possible quite a long time ago by stuff like java and qt.

With web apps they get nearly complete control, they can move crucial functionality over to the server side, thus preventing "piracy" way more effectively than with traditional proprietary software. Web apps are perfect spyware and spying is often more profitable than "selling" software. There's a reason normies got free win10 updates. Also webapps are cheap to produce as there are tons of web developers already out there.


 No.1013705>>1013709 >>1013710 >>1013775 >>1014663

File (hide): 42e1b3f7d89ed5d⋯.jpeg (142.48 KB, 1200x800, 3:2, serveimage.jpeg) (h) (u)

>>1013661 (OP)

> It doesn't have to be software, although that's probably where most examples will be found.

Since non-software is allowed, let me present you with the most over-engineered mess: hygiene products. Take for example soap: it's a solved problem and the last big innovation was making it liquid. Where do you go from there? You bloat it up with shit like fifty different aromas. Who cares how the soap smells, do you go around smelling other people's hands?

Or how about shower gel? For men it was additives like "power kick" or "super sport" and for women it was "silk-smooth" components. How the fuck is this supposed to work? Do they expect me to soap up and stand there wet and naked in the shower for twenty minutes waiting for the "re-energizing particles" to get absorbed through my skin before I rinse it off?

Or toothpaste with its useless stripes. I remember the marketing as a kid: the white component is for shining white teeth, the blue component is for fresh breath and the red component is for healthy gums. Because that's how it works, the components have to be color-coded. Not that it matters anyway because once you put it in your mouth it's all mushed together anyway. Is there anyone who thinks the stripes do anything? I also remember when I was a kid all the tooth paste would have "sugar-free" written on it. Like WTF, is there tooth paste that is not sugar-free?

>>1013674

Shit like this why I learned the shell. It is literally faster to just write a snippet like >>1013687 from scratch than to figure out this mess.


 No.1013709

>>1013705

Or you could just use thunar's bulk rename


 No.1013710>>1013889 >>1014093

>>1013705

Ha! Great examples.

The whole of society pretty much. Transport is a bloat - we should have everything we need right under our nose. I mean not that long ago we grew our own food, now we go to the supermarket to buy it (and a bunch of shit we don't need). Jobs are bloat - most are useless and could be replaced by AI even right now. Filling out papers - a massive fucking bloat, why do we even need that.


 No.1013717

>>1013685

>How to make dynamic web unharam?

1. Only allow the scripting environment to make visual changes, and calculations. Do not let it dynamically load resources or communicate (or maybe make a permission system where normal scripts are fine, but you'll have to allow scripts to make connections).

2. Make your website so that disabling JS will not make your website unusable. It's fine if some fancy effects are missing, but usability should not depend on JS.

There should be more steps, but that's the only 2 that come to my mind right away.


 No.1013719>>1013739

>>1013687

>"That entire program in linux:"

>it implements a minimal feature set compared to the original

>"expand as needed"

Every time


 No.1013726>>1013734 >>1014002

>>1013661 (OP)

rm(){ mv $1 ~/.trash/;}


 No.1013728

>>1013674

>>1013677

I installed Cygwin in Windows just to use as a file manager - Bash is literally the best file manager because you can easily rename massive amounts of files


 No.1013729>>1013739

>>1013687

>for i in `ls -1

There are so many edge cases with your shell script; you won't even need a filename with newlines for it to stumble.

It works fine, until it doesn't, and then you have to figure out what exactly happened to fix the results, unless you want to rollback to a backup you might not have.

Your best bet would be to use either of the thoroughly developed tools from the existing mess: https://unix.stackexchange.com/questions/229230/whats-with-all-the-renames-prename-rename-file-rename

This is also an example that shows why some "overengineering" might actually be required for a tool to work correctly in weirder situations.


 No.1013730

Game platforms like steam - which is actually a communicator, a web browser and a shop (did I miss something?). Discord is a funny example too - it started as communicator, now it's a game platform, not to mention it contains a web browser too.

Also ATX motherboards and tax system in my country.


 No.1013734>>1014002

>>1013726


you might want to change that to
rm(){ mv "$@" ~/.trash/; }
if you intend to delete more than one item.


 No.1013739>>1013774 >>1013778 >>1014698

>>1013719

>>"expand as needed"

>Every time

You can contract it too by dropping the sed and using shell parameter expansion instead.

e.g.


for i in `find <path> -name "<regex>"`; do mv $i ${i/<regex-from>/<regex-to>};done

>>1013729

>There are so many edge cases with your shell script;

>not writing a script that fits the case you're using

just

It was a simple example. If your file naming/download saving is such a disorganized shit you require weird edge cases you probably have bigger issues to address, and such useful tools as rename are worth getting to know.


 No.1013757

File (hide): 134b3cb00a602d3⋯.jpg (92.56 KB, 900x657, 100:73, he177-dl-aq.jpg) (h) (u)

File (hide): 7599623d8205b82⋯.png (8.17 MB, 3000x2357, 3000:2357, ClipboardImage.png) (h) (u)

>>1013661 (OP)

>Give examples, particularly funny ones, about unnecessary complex programs, systems, devices. It doesn't have to be software, although that's probably where most examples will be found.

Pic 1 is what happens when you put autists chasing after fictional paradigms&theories in charge of your military R&D, pic 2 is much of the same but with war-profiteering jews at the helm instead.


 No.1013774>>1013776

File (hide): a3739daee6126f4⋯.jpg (505.47 KB, 700x979, 700:979, abc def rt.jpg) (h) (u)

>>1013739

>your file naming/download saving is such a disorganized shit

Just

such a predictable argument.

It is better to have a ready-to-use script that handles everything correctly than to spend time checking for edge cases and dealing with incorrect results and making sure all your filenames are okay (which might not even be yours) and don't contain anything unexpected.

Also, test.


 No.1013775

>>1013705

>toothpaste

Which almost always contains toxic fluoride. At least all the garbage ones with the age warning.

>once you put it in your mouth it's all mushed together

It's probably mushed together from the start. Afterwards it gets colored and then shoved in the tube together.

White would just be way too boring - t. toxic toothpaste manufacturers

sage for offtopic


 No.1013776

>>1013774

>Also, test.

Funny note about edge cases: wget and firefox leave the %01 quoted, curl -O doesn't even try to unquote the name, resulting in 'filename too long' on ext4 / tmpfs.


 No.1013778>>1013784

>>1013739

That's not gonna work if there are files with spaces


 No.1013782>>1014050

Overengineered or not?

GNU coreutils cat: https://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=history;f=src/cat.c;h=3c319511c767f65d2e420b3bff8fa6197ddbb37b;hb=HEAD

curl: https://github.com/curl/curl/blob/master/src/tool_main.c

Unicode: http://www.unicode.org/versions/Unicode11.0.0/UnicodeStandard-11.0.pdf

Can you say that some of the things in these are always invalid?

On the other hand, should a standard with a 15M PDF spec even exist?


 No.1013783>>1013785

>>1013687

Stop larping

rename 's/faggot/(You)/' *faggot*


 No.1013784>>1013887

>>1013778

>That's not gonna work if there are files with spaces

No shit. Did anyone claim it would? No.


./foo

>That's not gonna work if the file isn't an executable.

Also no shit.


 No.1013785

>>1013783

>Stop larping

>expects to find favorite crutch in all distros

lel


 No.1013887

>>1013784

>No shit. Did anyone claim it would?

It was implied that this replacement program would replace the original while maintaining it's features.

Bulk Rename Tool works very well with spaces and executables. A replacement which doesn't is not a replacement.


 No.1013889

>>1013710

>Jobs are bloat - most are useless and could be replaced by AI even right now.

Did you happen to see the film Wall-E?


 No.1013909

>>1013687

First, you don't need the parameter -1 with ls if the output is not the terminal. You can see this by doing ls|cat. It's strange to have a program trying to identify the target of the output, but that`s what happen.

Now, mass file renaming is incredible easy to mess up, hard to fix and I did my share of it. Today, I used Emacs' wdired for this task, C-u C-x-d, put the parameter -R for recursive listing and C-x C-q to activate wdired mode and you can edit filenames like you're editing trivial text, inclusive with regexp find/replace. After you're done, C-c C-c to finish or C-c ESC if you made a big mistake.

Your solution will break with spaces and other special characters in the file name.

Before Emacs, I went through this ritual since I had to be careful to not mess up:

First, the quoted original names:

ls -Q>/tmp/before

The parameter -Q is exclusive to GNU, but you can quote names with sed.

Then, the basic modified file names without spaces or upper-case letters:

ls|tr '[A-Z ]' '[a-z_]'>/tmp/after

Then I used an editor to clear the "after" file even more like removing '!' or '[]', you can do this with tr or sed, but is error prone in my experience.

Finally, I pasted the results, edit it to place 'mv --' at every line and ran it

paste /tmp/before /tmp/after>/tmp/final

Thinking about it now, I could have used find with -type f in combination with -print0 and xargs to easy up the task a little, but whatever.


 No.1014000>>1014035

Mozilla Thunderbird

instead of being clean simple mail client, it is bloatware that has fucking web browser engine inside it (firefox). and this shit needs 100MB of space.

or was this thread more for overengineering in features, not in code and bloat? but thunderbird still could fit

Microsoft Office and LibreOffice


 No.1014002>>1014025 >>1014050

>>1013661 (OP)

>replace it with nothing

You can do this with literally everything. protip: including your own suckless life

>>1013726

>>1013734

Congrats you just overwrote a file in your trash folder and you have no idea where any of these things even came from.

plebs


 No.1014009

>>1013661 (OP)

Example: KDE


 No.1014025>>1014031

>>1014002

>Congrats you just overwrote a file in your trash folder and you have no idea where any of these things even came from.

>trash folder

can someone explain to me what's the fucking point of trash?

if I click delete file I want it deleted, not in trash

if I accidentally deleted file I didn't wanted to, I would recover it with file recovery software, or from backup. but never happened to me to delete a file I didn't want to delete


 No.1014031

>>1014025

>can someone explain to me what's the fucking point of trash?

So you can revert a deletion that you did accidentally.

>if I accidentally deleted file I didn't wanted to, I would recover it with file recovery software, or from backup. but never happened to me to delete a file I didn't want to delete

like a true UNIX weenie


 No.1014035>>1014046

>>1014000

>instead of being clean simple mail client, it is bloatware that has fucking web browser engine inside it (firefox). and this shit needs 100MB of space.

Counterpoint: quite too often, emails have a text/html body. While you certainly could open each such body though file and in a browser, that would be a loss of convenience not worth saving extra 100M.

Also, it supports RSS... which might indeed be a bloat.


 No.1014046

>>1014035

but to display a html document you don't need entire browser engine, with cookies, javascript and other shit


 No.1014050>>1014177

>>1013782

>cat

That's a lot more lines than I would have expected.

I remember someone posting how /bin/true was written on different BSDs, Linux and whatnot as an example of a very simple program. I think most of the differences had their reason for being there, but it was interesting nonetheless.

>>1014002

>You can "replace it with nothing" with literally everything.

I'm no suckless autist. And no, you can't replace everything with nothing. My point was that the tools needed to get the desired behaviour are already in place - so why have an unnecessary complex replacement? I also reiterated upon that by saying you could have a shell function that does the same with barely any effort.

The files in the trash could also be moved into a date-ordered separate folder inside the trash by a cronjob, so you don't overwrite files. Should you intend to keep the trash more than a few days.

The point is not strip every task down to a mere shell script with reduced functionality. The point is to avoid having unnecessary complex redundancies, which aren't fully understood, for things that are already in place.


 No.1014093>>1014708

>>1013710

>most are useless and could be replaced by AI even right now.

why don't you just kill yourself then, because since you're useless, you're bloat too.

absolute state of /tech/ mongoloids and humanity in general. go outside and just be a fucking human rather than a ZOGbot for fucks sake


 No.1014102

File (hide): 1cac2eede5cf57c⋯.jpg (72.76 KB, 606x419, 606:419, wtaf.jpg) (h) (u)

>>1013670

No ... seriously ... wtaf?


 No.1014119

File (hide): fcab59bb8f7c782⋯.png (637.3 KB, 637x475, 637:475, love-this-post-sloth.png) (h) (u)

>>1013684

this guy just so f--king gets me

while accepting that this is just redundant words: corporations should have FFFFUUUUU ... continued to ignore the internet and left the rest of us to step around the personal webpages of 255 animated gifs and get on with the real business of internets


 No.1014172>>1014415

>>1013674

That screenshot is somewhat atypical, as such tools don't usually have every single boolean operator expanded onscreen at once.

>>1013684

>So your clipboard manager or whatever the fuck you wish to implement with this wonderful technology is gonna carry a joystick driver among tons of other garbage.

I think you're forgetting the best part of Electron, that elevates it from "*yawn*, another typical webdev brainfart" to true Lovecraftian masterpiece.

Instead of using your web browser, or just the IE/Edge/Safari/Chrome library provided by every single modern OS, it includes its own copy of Chromium. Every single Electron "app" you install puts its own redundant copy of Chromium & Node on your drive, with the justification that using anything except the one single version of Chromium the "programmer" targeted might "introduce bugs" into a platform (HTML, CSS, JS) allegedly adopted for the specific reason that it's standardized.

On top of this, even if you have multiple Electron apps using the exact same version of every single framework, they will still eat up >100MB on your drive for every single Electron app installed, and when you run them simultaneously, each one will load all >100MB of its identical copy of Electron into RAM.

On a similar note, I would nominate the inclusion of invariably outdated copies of FFMPEG or whatever inside web browsers themselves, instead of just passing the content of <video> and <audio> tags to the OS.

>>1013685

Only real solution would be what's already happening on cellphones with "site-specific apps", but done right. Each new service has its own standard (like eMail, IRC, FTP, USENET, Gopher, etc.) and maybe an official testbed reference client/server. In the case of 99% of web 2.0 sites including imageboards, some sort of CRUD Db protocol would probably encompass all of their functionality, and allow you to use native GUI widgets instead of cobbling everything together in HTML/CSS/JS.


 No.1014177>>1014226

>>1014050

>you could have a shell function that does the same with barely any effort

I totally disagree but let's pretend this is true.

So anon how come the OS didn't even bother to write it. I want you to actually think about that if you haven't already.


 No.1014185

>>1013670

It would have been a better joke if they were using Spring properly. It's bad enough as is without going overboard with wrapper classes.


 No.1014207>>1014415 >>1014420

HTTP

>muh GET/HEAD/POST

>hurr durr fit your protocol into our predefined verbs goy

>muh headers

>muh content type

>muh 10 different garbage encodings

>literally isn't even good at anything

>literally might as well just pipe the serialized data you want to send over raw TCP

<result is every program introduces a new class of vulns revolving around string injection and retard logic errors


 No.1014216


 No.1014226>>1014428

File (hide): a88fc60833baa9f⋯.jpg (50.17 KB, 380x380, 1:1, 1441084904745.jpg) (h) (u)

>>1014177

>So anon how come the OS didn't even bother to write it

How come the maker of your hammer didn't bother to build your house?


 No.1014415>>1014420 >>1014448 >>1015780

>>1013661 (OP)

Maximalism is a good thing, but hardly anyone does it because it requires a lot of work and using your brain. It's sometimes called "Big Design Up Front" and the Worse is Better paper calls it the "big complex system." What it means is that the system is designed completely before it is implemented. Any mistakes and bugs found in testing will be fixed before the final system, never pushed onto users. The quality of everything is better in addition to doing more and having more features.

https://en.wikipedia.org/wiki/Big_Design_Up_Front

Nothing in UNIX was designed like this, if you can call it designed at all. UNIX bullshit sucks because it was originally minimalist and expanded to allow it to be used where it wasn't originally meant to be used, even though it already sucked at its original job. JavaScript was "designed" in 10 days. C with Classes was only "14% larger" (IIRC) than C. C compilers were originally able to run on a PDP-11.

>>1013684

>Just imagine. C, a low-level language, is compiled into a subset of JS, a dynamically typed and absurdly high-level interpreted language, which is then compiled before running.

That's pure UNIX kludgery. Compile a UNIX language "designed" for systems programming on a PDP-11 into a UNIX language "designed" for web scripting and use it for applications running on a browser.

>A fucking browser engine is bundled with your program. And not just some engine, it's chromium, which is almost an operating system of itself, it even contains drivers. So your clipboard manager or whatever the fuck you wish to implement with this wonderful technology is gonna carry a joystick driver among tons of other garbage.

That's the UNIX method of "code reuse" (actually anti-reuse) known as static linking. Even UNIX linker itself "reuses" the obsolete tape archiver "ar" format that was replaced by "tar" in the 70s.

>>1013674

This is the only example of actual "maximalism" in this entire thread.

>>1013687

It doesn't do the same thing as that program at all and it doesn't even work on all file names. This is the kind of brain damage the UNIX shell causes. You could also write a file renamer in Brainfuck, but that doesn't mean a Brainfuck interpreter is a file renamer.

>>1014207

HTTP is more UNIX bullshit. It even has spelling errors from the broken UNIX spell checker.

https://en.wikipedia.org/wiki/HTTP_referer

>The misspelling was set in stone by the time of its incorporation into the Request for Comments standards document RFC 1945; document co-author Roy Fielding has remarked that neither "referrer" nor the misspelling "referer" were recognized by the standard Unix spell checker of the period.[5]

>>1014172

>Every single Electron "app" you install puts its own redundant copy of Chromium & Node on your drive, with the justification that using anything except the one single version of Chromium the "programmer" targeted might "introduce bugs" into a platform (HTML, CSS, JS) allegedly adopted for the specific reason that it's standardized.

That's literally the same justification used by UNIX weenies for static linking instead of dynamic linking. After all, C and POSIX are "standards" too. Dynamic linking solves this problem on small and large scales. Dynamically linked libraries since Multics were able to share the same memory, so there was only one copy in RAM on the entire computer. The UNIX method of static linking requires a separate copy for each program. The same philosophy that leads to each program having a separate copy of printf for "bug compatibility" also leads to them having a separate copy of Chromium.

>On a similar note, I would nominate the inclusion of invariably outdated copies of FFMPEG or whatever inside web browsers themselves, instead of just passing the content of <video> and <audio> tags to the OS.

That's more of the UNIX static linking philosophy. There should be one copy of each type of video or audio decoder on the computer (unless the user specifically wants alternative programs for some reason) and every program that handles video or audio should be able to use it automatically.

Please tell me it doesn't always have to be like this.
Please tell me that this is only the result of force-fitting
code into 640K to run on .5 MIP machines. Please tell me
that when Unix runs on 1 MIP workstations with a few meg of
memory it will finally grow up.

What? You say this is on a many-MIP multiprocessor machine
with tens of megs of memory? And gigabytes of disk (but no
room for user stuff)? Never mind. I'll go quietly. I
promise.

ARGHHHH!!!!!!!!


 No.1014420

>>1014207

HTTP is literal garbage. I'm currently building an HTTP 1 and 2 server for fun. Or so I thought. It isn't fun at all :(

>>1014415

based


 No.1014421>>1014460

>>1013661 (OP)

You know how people make fun of *nix graphical user interfaces for being ugly and clunky?

Well, this is a case where the Windows offerings are vastly, vastly uglier.


 No.1014428

>>1014226

<house has no roof

>durr it's bloat

>just like wear a jacket when it rains

>you can easily make a roof out of walls constructed horizontally

>actually a house does not require a roof if you want a roof then that's your problem

hmmm


 No.1014446>>1014448

>>1013661 (OP)

Dwarf Fortress.


 No.1014448>>1015984

>>1014415

>*N*X philosophy

>static linking

>linking at all

I usually find your pasta amusing, as I absolutely despise *N*X and its descendants, but isn't the *N*X philosophy's stance that anything complex enough to be linked should instead be a completely separate program piped to by the user through a shell script?

>>1014446

It's still in pre-alpha. The game is supposed to be Toady One's magnum opus, the old-fashioned kind that takes most of your career to build.


 No.1014454>>1014846

>>1013669

But they were not installing by default, you had to explicitly select them in the installer.


 No.1014460

>>1014421

elegant as fuck


 No.1014602>>1014709

File (hide): c31a4cee108d6b0⋯.png (168.02 KB, 1000x550, 20:11, app_icon_with_screenshot.png) (h) (u)

>>1013674

>bulk rename utility

I came across that abomination when I needed something equivalent to "A Better Finder Renamer" that I used back in my Mac days. Pic related, dig the difference?


 No.1014663

>>1013705

That toothpaste looks like the French flag. Then again, it could just be white. A white flag is fine too.


 No.1014698

>>1013739

>You can contract it too

Are you playing dumb? The issue with your shell script is taht it doesn't do evrything that fuckugly GUI does out of the box, and the effort required to expand its functionality to parity is enormously larger than the effort required to understand the fuckugly GUI.

>It was a simple example.

A simple example that shows perfectly why the FOSS community is in general unsuccesful, and why exceptions like VLC made it.


 No.1014708

>>1014093

We don't exist to be "useful" though. But we've been brainwashed so hard by capitalism that that's what we expect.


 No.1014709

>>1014602

Also, note that ABFR and its stablemates date back to the System 7 days, back when "Mac user" meant people who still cared about writing soundly designed GUIs instead of being vacuous hipsters.


 No.1014846

>>1014454

>instalation type: custom

WISH WE COULD TURN BACK TIME...


 No.1015064>>1015780 >>1015985

File (hide): c76a31b6eed1941⋯.gif (124.82 KB, 1152x864, 4:3, multipsk.gif) (h) (u)

>>1013661 (OP)

There's software designed by code monkeys. There's software designed by physics guys. Then there's old ham radio software


 No.1015780>>1015984

File (hide): d12c0e4a06371d1⋯.png (854.5 KB, 1165x768, 1165:768, 97-0.png) (h) (u)

>>1014415

Big design up front is not really what I meant when I started the thread - I thought it would become clearer after reading the OP. The term maximalism was more meant as an antagonist to minimalism how it seems to be commonly understood. You seem to just define maximalism different for the sake of your argument - but if it sparks discussion: good. That being said, basically all of your answers reference unix, not sure if that's a sensible approach. Don't get sidetracked every few seconds.

In the OP tried to distinguish between good and bad kinds "overengineering": where there's an admirable amount of effort and complexity that serves a purpose, the effort is directed and solves a problem that is worth being solved (the last point not necessarily in case of overengineering) and other possible examples.

Also: I'm aware that suckless and others advocate for static linking that still keeps results small, but I wouldn't necessarily call that common practice even among unix users. The common practice seems to be dynamic linking.

That being said, the line between good and bad specimen may not always be broad.

>>1015064

Looks like a military operating panel


 No.1015984>>1015988 >>1016819

>>1014448

>isn't the *N*X philosophy's stance that anything complex enough to be linked should instead be a completely separate program piped to by the user through a shell script?

That's the "ideal" UNIX philosophy, but even the biggest weenies realized that that wasn't usable back in the 70s. That's why UNIX is stuck with some shitty hack based on an obsolete predecessor of "tar" ("ar") that hasn't been used for anything else since the 70s.

>>1015780

>Big design up front is not really what I meant when I started the thread - I thought it would become clearer after reading the OP.

What I'm saying is that most of the examples in this thread of "maximalist" software that sucks are UNIX bullshit, not maximalist at all. They started out minimalist (including C++) and gradually grew because the minimalist "designs" were inadequate. When I said maximalist is big design up front, I meant that being big is part of the intended philosophy, not something that happened because they didn't think about 90% of the purpose of their software.

>That being said, basically all of your answers reference unix, not sure if that's a sensible approach. Don't get sidetracked every few seconds.

That's because C and UNIX are the reasons computing sucks. The more you know about what was done in the 60s and 70s, the more you will hate C and UNIX too. It's not just the fact that UNIX and C are worse than 80s technology like Lisp machines and Xerox computers, it's that they're worse in 2019 than what we already had in the 60s. If these weenies went into plumbing in the 60s instead of programming and had the same level of "success", the entire Western world would be shitting in the street and spending billions of dollars to "research" whether to wipe with a leaf or their bare hand (with suckless advocating you shouldn't do it at all), all because they didn't know how to install a toilet (and still haven't learned 50 years later).

>Also: I'm aware that suckless and others advocate for static linking that still keeps results small, but I wouldn't necessarily call that common practice even among unix users. The common practice seems to be dynamic linking.

The multiple copies of Chromium and Electron come from the philosophy of UNIX static linking. There was nothing wrong with static linking for its time, in the 50s and early 60s. Most of those computers didn't have an OS and file system that we have today or that Multics and other 60s mainframes had. Dynamic linking was invented to reuse code by sharing code and it works. UNIX weenies use "dynamic linking" when they make system calls, and they're the same thing on the computers that ran Multics, but they don't understand this because that's not what the PDP-11 did.

Subject: who hates what...


From: PD

It's worth noting that the originators of UNIX, almost
to a man, despise current UNIX implementations, and UNIX
as it is being touted these days. UNIX-as-perceived is
the product of people like Bill Joy, someone whose value
can be judged from both the appearance and
implementation of vi.

It's probably also true that Gary Kildall (who wrote CP/M)
hates MS-DOS. And I know a lot of old RSTS/E people who
wouldn't wish VAX/VMS on their worst enemies. (actually, I
wouldn't wish Unix on my worst enemies either) Just because
the original product was smaller (creating less total
lossage) doesn't mean that it was any less horrendus on a
percentage basis. And Unix is fertile ground for hunting
for lossage. I mean, how many {operating systems, software
packages, computers} are so horrible that they can support a
mailing list upon which people talk about how badly they
suck.


 No.1015985

>>1015064

> There's software designed by code monkeys. There's software designed by physics guys. Then there's old ham radio software

Underrated post.


 No.1015988>>1016941

>>1015984

>That's the "ideal" UNIX philosophy, but even the biggest weenies realized that that wasn't usable back in the 70s.

Care to expand on why this isn't usable?

>What I'm saying is that most of the examples in this thread of "maximalist" software that sucks are UNIX bullshit, not maximalist at all. They started out minimalist (including C++) and gradually grew because the minimalist "designs" were inadequate.

Another classic example of the unix haters fag blaming common developer kludges on Unix. People lazily tacking on unfitting features instead of either making it fit or designing a new, better tool is an old problem predating Unix and even computing: kludges and niggerrigging have existed since the dawn of mankind and will continue until our extinction.

>muh plumbing analogy

Much of modern plumbing is unnecessary, overengineered waste disposal which wastes valuable fertilizers. A mix of composting toilets, proper waste treatment plants, and smaller communities surrounded by farmland would be much more efficient in the long term.


 No.1015990

>muh ugly UI

>i need curves on my ui and pretty colours too!

Macfags get the fuck out of this board with your $1000 overheating craptops that don't have a cooling system that actually cools the components but instead just channels air into a separate section that somehow is supposed to cool the computer.

If your computer reaches 80c when playing banished you should throw it in the fucking garbage.

but you can't because you paid $1000 fucking dollary doos for it


 No.1016819>>1016941

File (hide): 0d584a4cbac3aa6⋯.jpg (9.41 KB, 480x211, 480:211, 4565465465465.jpg) (h) (u)

>>1015984

>What I'm saying is that most of the examples in this thread of "maximalist" software that sucks are UNIX bullshit, not maximalist at all

And what I said was that you just redefined what the thread is about in order to talk about Unix again. It's getting tiresome, really. Instead of further talking about the big design up front approach, you just rant about Unix.

>That's because C and UNIX are the reasons computing sucks

That may or may not be, but the reason for you getting sidetracked is that you are unable to leave Unix out of the equation, no matter what the discussion is about.

>The multiple copies of Chromium and Electron come from the philosophy of UNIX static linking

Chromium and Electron are good examples of "unix" software? Have you read what I wrote about static linking? You disregard whatever is being said and just talk about again.

conductor we have a problem, conductor we have a problem


 No.1016941>>1016965

>>1015988

>Care to expand on why this isn't usable?

Because it doesn't work. Pipes need multiple processes and context switches to do what the same program on a good OS would do with a plain function call or memory access. It's not only slower, it requires programs to be split up in unnatural ways and needs all this extra code to serialize and copy data and read it back. Programmers have to do more work just to make things slower and less reliable. You can probably imagine how bad it would suck if every .o file had to be a separate executable in a separate process. That's why UNIX copied 20 year old (at the time) assembly technology. Combining multiple .o files into one program is done by the UNIX linker, which is based on the shitty "ar" tape archive format.

>Another classic example of the unix haters fag blaming common developer kludges on Unix. People lazily tacking on unfitting features instead of either making it fit or designing a new, better tool is an old problem predating Unix and even computing: kludges and niggerrigging have existed since the dawn of mankind and will continue until our extinction.

They are not common developer kludges, they are found only in UNIX. They might be common today, but that's only because of the spread of C and UNIX. It was the equivalent to Pajeet software, some cheap outsourced crap companies could license without having to hire good programmers. AT&T was able to get away with it because they didn't make the hardware. Blaming the PDP-11 or VAX hardware for UNIX software bugs didn't matter to AT&T.

>>1016819

>And what I said was that you just redefined what the thread is about in order to talk about Unix again. It's getting tiresome, really. Instead of further talking about the big design up front approach, you just rant about Unix.

For examples of big design up front, look at the design of Ada and Multics.

http://www.adahome.com/History/Steelman/steelman.htm

https://multicians.org/fjcc1.html

>That may or may not be, but the reason for you getting sidetracked is that you are unable to leave Unix out of the equation, no matter what the discussion is about.

"Systemd, dbus, pulseaudio" are Linux software, and Linux is a clone of UNIX. "Of course written entirely in Javascript" is more UNIX bullshit because JavaScript is a UNIX language based on C and Java. You're giving examples of UNIX (technically "UNIX-like") bloatware, so how can I avoid blaming UNIX? The only non-UNIX software are that bulk file renamer and that ham radio program.

>Chromium and Electron are good examples of "unix" software?

They're good examples of how the UNIX way doesn't scale to modern software, and yes, Chromium and Electron themselves are literally UNIX software. Chromium is based on WebKit from KDE. Electron combines Chromium with node.js, based on the Chromium V8 JavaScript engine.

Compare that to how it would be done on a normal GUI system like Lisp machines, Xerox Alto, pre-OS X Macs, and even Windows. There was software with embedded Internet Explorer since Windows 98, basically doing the same thing as Electron. Users never needed multiple copies of Internet Explorer bundled with each program. The UNIX way has been like this ever since each C program that used printf needed to bundle its own copy.

>Have you read what I wrote about static linking? You disregard whatever is being said and just talk about again.

>>Also: I'm aware that suckless and others advocate for static linking that still keeps results small, but I wouldn't necessarily call that common practice even among unix users.

Suckless programs are small despite the redundancy because they don't do 90% of what users want. Compare them to real software that had real memory constraints like the old Macs, Lisp machines, and Xerox Alto. That was not 10% software, but they had far smaller programs and memory requirements than this suckless garbage.

Subject: why Unix sucks

Some Andrew weenie, writing of Unix buffer-length bugs, says:
> The big ones are grep(1) and sort(1). Their "silent
> truncation" have introduced the most heinous of subtle bugs
> in shell script database programs. Bugs that don't show up
> until the system has been working perfectly for a long time,
> and when they do show up, their only clue might be that some
> inverted index doesn't have as many matches as were expected.


Unix encourages, by egregious example, the most
irresponsible programming style imaginable. No error
checking. No error messages. No conscience. If a student
here turned in code like that, I'd flunk his ass.

Unix software comes as close to real software as Teenage
Mutant Ninja Turtles comes to the classic Three Musketeers:
a childish, vulgar, totally unsatisfying imitation.


 No.1016965

File (hide): bd666ace483f2c9⋯.png (127.17 KB, 480x480, 1:1, 1306700560228.png) (h) (u)

>>1016941

>They are not common developer kludges, they are found only in UNIX.

>They might be common today, but that's only because of the spread of C and UNIX.

Yep, you're delusional. Kludges have existed outside computing for millennia yet according to you compsci was somehow immune to this common human trend before those dastardly weenies and AT&T (which was bad unlike the other wise corporations and universities) discovered the kludge and magically convinced everyone else to do it too.

>JavaScript is a UNIX language

If we play the "based on" game, all this leads back to Multics.

JavaScript is a Multics language.

Chromium and Electron can trace their roots back to Multics.

Systemd, dbus, and pulseaudio are all Multics software too.

Nevermind that many of these took great influence from Microsoft Windows (itself based off OpenVMS) and how all these examples of bloat are from software and OSes deviating from their source's design philosophy. According to you, anything bad in software comes from Unix and its philosophy so you refuse to consider how other operating systems and impure design could also have a negative impact.

>Suckless programs are small despite the redundancy because they don't do 90% of what users want

t. someone who's never used it

>Compare them to real software that had real memory constraints like the old Macs, Lisp machines, and Xerox Alto. That was not 10% software, but they had far smaller programs and memory requirements than this suckless garbage.

That is a compiler issue. Older compilers often optimized more for memory use than speed and running Suckless.org software through them would probably produce even smaller binaries, especially the non-X11 programs.

As for static linking, it isn't nearly as redundant as people think because statically linking a library or program doesn't include the entire thing, only the components the program actually uses. Shit like Electron is a bad example because it bundles an entire browser with your program whether you need its functionality or not (you never do), not to mention how the most commonly libc, glibc, intentionally nerfs static linking anyways. glibc ensures static linking is rarely used outside niche musl distros.

Static linking is not ideal compared to Multics' dynamic linking. It is, however, superior to Unix's godawful take on dynamic linking for everything except proprietary software.




[Return][Go to top][Catalog][Screencap][Nerve Center][Cancer][Update] ( Scroll to new posts) ( Auto) 5
84 replies | 15 images | Page ?
[Post a Reply]
[ / / / / / / / / / / / / / ] [ dir / abdl / animu / cafechan / doomer / leftpol / sw / vg / wmafsex ][ watchlist ]