Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Shaggar
Apr 26, 2006

rotor posted:

hey shagger how you doin

Im doing pretty well. just had something tasty for dinner. how are you?

Adbot
ADBOT LOVES YOU

Progressive JPEG
Feb 19, 2003

rotor posted:

I dont really understand what you're saying here. Are you saying we SHOULD use weird nonstandard SQL extensions?

pretty much yeah. i've found that in practice you're better off just saying "this thing is built to run with postgres" instead of trying to support some generic subset of SQL because the latter just means that you're debugging everyone's databases for them and you end up needing to make adapters to account for their distinct behaviors anyway. and on top of that postgres itself will have its own distinct interpretation of the standards so even the one you "support" may not work the way you expect

another example of this is dealing with some jackass trying to get your stuff running with musl, where the developers continue to believe that nondeterministic dns lookups are a great feature

rotor
Jun 11, 2001
Probation
Can't post for 2 hours!

Progressive JPEG posted:

i guess what i'm getting at wrt that specifically is that either you're going to have a small number of commands with long manpages, or a large number of commands with short manpages

at least with the long manpages you can remember to look at 'man ls' for functionality relating to list files, rather than needing to remember the distinct top-level command for showing file sizes

imo the point of the whole thing is that you should have a single focused problem that your program solves. You can get into the weeds all you want but the guiding principle of doing one thing and doing it well seems like a no brainer to me from a correctness, maintainability, and comprehensabilty point of view.

rotor
Jun 11, 2001
Probation
Can't post for 2 hours!

Progressive JPEG posted:

pretty much yeah. i've found that in practice you're better off just saying "this thing is built to run with postgres" instead of trying to support some generic subset of SQL because the latter just means that you're debugging everyone's databases for them and you end up needing to make adapters to account for their distinct behaviors anyway. and on top of that postgres itself will have its own distinct interpretation of the standards so even the one you "support" may not work the way you expect

I guess I'd disagree. Maybe I just havent been bitten by different implementations of generic sql to see that as an issue.

rotor
Jun 11, 2001
Probation
Can't post for 2 hours!

Shaggar posted:

Im doing pretty well. just had something tasty for dinner. how are you?

pretty good, same ol same ol really. i got a lot of traction on that candy review thread so i got that goin on today

Shaggar
Apr 26, 2006
its a good thread. i like hearing peoples wrong opinions on a variety of things so candy is a refreshing topic.

SYSV Fanfic
Sep 9, 2003

by Pragmatica

quote:

    1. Small is beautiful.
    2. Make each program do one thing well.
    3. Build a prototype as soon as possible.
    4. Choose portability over efficiency.
    5. Store data in flat text files.
    6. Use software leverage to your advantage.
    7. Use shell scripts to increase leverage and portability.
    8. Avoid captive user interfaces.
    9. Make every program a filter.


rotor posted:

4 applies to everything, not just unix-to-unix.

It really depends on how you define efficiency. When this philosophy originated it I think it unquestionably meant resource efficiency. When development is driven by a bunch of passionate volunteers, their efficiency matters more than anything else. Ease of implementation becomes 10x more important than portability.

I want to specify I'm talking about the kinds of computers and users that people buy at stores (phones and tablets too). There's a reason most of the software that does a hard break from the unix philosophy is hosted on freedesktop.org. If systemd/dbus got pulled into your server or embedded flavors, it had to offer some kind of advantage - even if it was "more people are developing this and the old stuff was poorly maintained".

Progressive JPEG
Feb 19, 2003

what kind of candy would richard stallman make if he ever got a real job

note: i'm automatically vetoing anything relating to toes don't be gross

rotor
Jun 11, 2001
Probation
Can't post for 2 hours!

SYSV Fanfic posted:

It really depends on how you define efficiency. When this philosophy originated it I think it unquestionably meant resource efficiency.

I agree, and in that context I'd argue its still true, although it's much of a tradeoff than it used to be.

quote:

When development is driven by a bunch of passionate volunteers, their efficiency matters more than anything else. Ease of implementation becomes 10x more important than portability.
That kind of efficiency is exactly what the entire philosophy is about maximizing, imo.


quote:

I want to specify I'm talking about the kinds of computers and users that people buy at stores (phones and tablets too). There's a reason most of the software that does a hard break from the unix philosophy is hosted on freedesktop.org. If systemd/dbus got pulled into your server or embedded flavors, it had to offer some kind of advantage - even if it was "more people are developing this and the old stuff was poorly maintained".

idk what kind of software is hosted at "freedesktop.org" so if you want to carry on with this you'll have to be more specific

rotor
Jun 11, 2001
Probation
Can't post for 2 hours!

Progressive JPEG posted:

what kind of candy would richard stallman make if he ever got a real job

note: i'm automatically vetoing anything relating to toes don't be gross

probably something really plain, like ... idk i feel like 3 musketeers? maybe?

lifetime supply of Pocky
Aug 19, 2003

Progressive JPEG posted:

what kind of candy would richard stallman make if he ever got a real job

note: i'm automatically vetoing anything relating to toes don't be gross

circus peanuts in packaging that looks like a dr bronner’s bottle, but the text is a list of age of consent laws

Kazinsal
Dec 13, 2011



lifetime supply of Pocky posted:

circus peanuts in packaging that looks like a dr bronner’s bottle, but the text is a list of age of consent laws

username also pretty relevant

Progressive JPEG
Feb 19, 2003

Kazinsal posted:

username also pretty relevant

lol

fritz
Jul 26, 2003

rotor posted:

  • Make each program do one thing well.

It used to be that mv wouldn't move files across filesystem boundaries because that's not the 'one thing' it was for (it's not a 'move' in that case, it's a 'copy and remove')

SYSV Fanfic
Sep 9, 2003

by Pragmatica

rotor posted:

I agree, and in that context I'd argue its still true, although it's much of a tradeoff than it used to be.

That typo makes this ambiguous. I think you mean less of a tradeoff, but I'm not sure.

Like most philosophies, there's nothing wrong inherently with it unless you become a fundamentalist. There's good things to take from it.A lot of the arguments against changing desktop linux were appeals to tradition backed by claims of unix fundamentalism. As a whole I think it resulted in systems that were difficult for non-professionals to use. When it originated, very few people besides specialists used computers.

As to freedesktop.org - Wayland, dbus, network manager, policy kit are the controversial ones. I think they used to host systemd. They also sponsor/host the development of mesa, cairo, and a few other critical libraries no one complains about.

rotor
Jun 11, 2001
Probation
Can't post for 2 hours!

SYSV Fanfic posted:

That typo makes this ambiguous. I think you mean less of a tradeoff, but I'm not sure.

oop, yes, LESS of a tradeoff

SYSV Fanfic
Sep 9, 2003

by Pragmatica

rotor posted:

oop, yes, LESS of a tradeoff

yeah, sometimes. It's hard for me to cognitively separate this from the discussion about systemd, because it's literally the only time I've seriously thought about it. Gnome and systemd came up earlier. Those dependencies overwhelmingly exist because because it allowed adding or improving functionality that either wasn't possible before, or would have been too difficult to implement otherwise.

It's also possible that one of the core gnome developers got a black eye in the tab spacing battle royale and never forgave the rest of the freebsd project.

rotor
Jun 11, 2001
Probation
Can't post for 2 hours!

SYSV Fanfic posted:

yeah, sometimes. It's hard for me to cognitively separate this from the discussion about systemd, because it's literally the only time I've seriously thought about it. Gnome and systemd came up earlier. Those dependencies overwhelmingly exist because because it allowed adding or improving functionality that either wasn't possible before, or would have been too difficult to implement otherwise.

It's also possible that one of the core gnome developers got a black eye in the tab spacing battle royale and never forgave the rest of the freebsd project.

while i am only vaguely aware of what the issues around systemd are and am completely unaware of what the other one is even called.

rotor
Jun 11, 2001
Probation
Can't post for 2 hours!
please don't tell me

Tankakern
Jul 25, 2007

services.msc

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

rotor posted:

It says "store data in flat text files" not "find the worst format you can find to store your text in." Its "text file" in opposition to "binary files with records and fields at particular byte offsets"

the systems UNIX was competing with generally offered record-oriented files and flat-file and hierarchical databases as part of the operating system

this is really just UNIX saying “since we don’t give you features for record management just do everything in text and write your own parsers and generators, how hard could it be?”

just like “just implement your own argument parsing, how hard could it be?” and every other “just implement your own …” that UNIX is built out of

it’s really something to use, say, V7 and see just how spare it is compared to a modern BSD, even moreso to skim the code

(I have a fully set up clean installation of Minix 1.5 for Atari ST that can be booted in Hatari, if anyone wants the disk image)

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

Progressive JPEG posted:

i guess what i'm getting at wrt that specifically is that either you're going to have a small number of commands with long manpages, or a large number of commands with short manpages

at least with the long manpages you can remember to look at 'man ls' for functionality relating to list files, rather than needing to remember the distinct top-level command for showing file sizes

the best strategy is VMS where there is an extensible set of verbs that can work with an extensible set of nouns

it actually makes utilities like DIR look like warts, why wouldn’t you just write SHOW FILES /ALL /COMPACT and write SHOW USERS /ONLINE instead of who and so on

Tankakern
Jul 25, 2007

fedora 35 is out

Tankakern
Jul 25, 2007

Following the change to BTRFS as the default file system in Fedora Linux 33, Fedora Cloud 35 now uses BTRFS.

Poopernickel
Oct 28, 2005

electricity bad
Fun Shoe
Excuse me, you put your butt RFS on my Linux!!

Poopernickel fucked around with this message at 16:13 on Nov 2, 2021

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:

eschaton posted:

the best strategy is VMS where there is an extensible set of verbs that can work with an extensible set of nouns

it actually makes utilities like DIR look like warts, why wouldn’t you just write SHOW FILES /ALL /COMPACT and write SHOW USERS /ONLINE instead of who and so on

Comedy option:

Expose everything using a subset of SQL.


…unless?


Also, I don't think any talk about UNIX philosophy is complete without mentioning composability. That's how all those unrelated programs are supposed to be combined to achieve things that nobody explicitly programmed them to do. That's the point of the whole exercise, that's how some bash and xargs outperforms Hadoopified monstrosities.

infernal machines
Oct 11, 2012

we monitor many frequencies. we listen always. came a voice, out of the babel of tongues, speaking to us. it played us a mighty dub.

Antigravitas posted:

Comedy option:

Expose everything using a subset of SQL.


…unless?

the dream of winFS realized

The_Franz
Aug 8, 2003

Tankakern posted:

fedora 35 is out

updated via the software center gui, the whole thing took less than 10 minutes

everything is fine

AnimeIsTrash
Jun 30, 2018

i like linux

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

eschaton posted:

the best strategy is VMS where there is an extensible set of verbs that can work with an extensible set of nouns

it actually makes utilities like DIR look like warts, why wouldn’t you just write SHOW FILES /ALL /COMPACT and write SHOW USERS /ONLINE instead of who and so on

Powershell is like that by convention, since commands are generally Verb-Noun (but the most common ones have a matching abbreviation from their initials), and the verbs are usually the same: Get, Invoke, Select, Write, etc.

Upgrading it from a convention to a first class concept seems a little clunky though. Like, in order to publish a valid Powershell module, it must define the behaviour for a minimum set of verbs for every new object introduced? What if Get or Write don't make sense for it, though? Or what if they would be annoyingly ambiguous, eg. should Get-Mail load all emails from your local inbox or do a fetch? And if you let the author of the mail module reject Get in favour of separate Load and Fetch verbs, you're essentially back to convention.

ynohtna
Feb 16, 2007

backwoods compatible
Illegal Hen

AnimeIsTrash posted:

i like linux

acceptance is the first step on the path to recovery

me too

Zam Wesell
Mar 22, 2009

[Zam is suddenly shot in the neck by a toxic dart; Anakin and Obi-Wan see a "rocket-man" take off and fly away, and Zam dies]

AnimeIsTrash posted:

i like linux

lmao

feedmegin
Jul 30, 2008

I have literally never come across a good build system. They're all horrible.

mycophobia
May 7, 2008

AnimeIsTrash posted:

i like linux

im a fan

Sapozhnik
Jan 2, 2005

Nap Ghost

feedmegin posted:

I have literally never come across a good build system. They're all horrible.

i think meson is good if you are building a c

Poopernickel
Oct 28, 2005

electricity bad
Fun Shoe
Unironically recommend autotools in tyool 2021 if you're doing a C or a C++

carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)

apparently you can build c++ projects with gradle, i can't imagine anyone is actually doing that

The_Franz
Aug 8, 2003

Poopernickel posted:

Unironically recommend autotools in tyool 2021 if you're doing a C or a C++

:frogout:

sb hermit
Dec 13, 2016





I like makefiles and I still make and use them.

Adbot
ADBOT LOVES YOU

sb hermit
Dec 13, 2016





admittedly, I don't write much C code lately so the makefiles are more for managing public key certificates and other IT junk

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply