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
rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

BobHoward posted:

"magic" is of course hyperbole on my part, it's just software


phew, thanks for clearing that up

Adbot
ADBOT LOVES YOU

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
I was like whoa hey there Harry potter!!! hahaha

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
just installed wolfenstein new order on my sweet-rear end gnome 3 box and it runs fuckin great via wine

thread title is real life

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Soricidus posted:

if you're clicking on icons you're linuxing wrong anyway, the terminal is the only good linux ui and the thing that sets it apart from just being like windows but worse

the terminal is the only good ui full stop

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

i still don't know why spotlight isn't at feature parity with quicksilver. I mean it's been like a decade, not sure why they can't get their poo poo together.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Notorious b.s.d. posted:

so if folks pirate your employer's products, that's good and cool with you?

holy lol

ps: yes, obviously

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Sapozhnik posted:

oh no not my employer that I have no equity stake in

that would be downright dishonorable


I'm sorry, but there's been a lot of piracy. We're going to have to lay some people off to make up for the not having money we would have made if they had bought it instead, which they clearly would not have.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
Up next: Is home taping killing the music industry? Experts say 'Yes.'

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Notorious b.s.d. posted:

the music industry did actually die

the Warner Music Group made 4 billion dollars last year.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Notorious b.s.d. posted:

in 1990 it made more than twice as much, inflation-adjusted

ok sure but lets not pretend the music industry is dead

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
and lets double not pretend that home taping or piracy of any kind is what hurt them

rotor fucked around with this message at 22:15 on Sep 12, 2019

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

SYSV Fanfic posted:

. The unix philosophy is predicated on a set of pre-suppositions about computers that no longer hold for the bulk of computer users.

i dont agree.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
here's the precepts of the Unix Philosophy, as I am familiar with them. There are other versions but they are largely similar. We will not be discussing esr or any of his lovely opinions.

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

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

SYSV Fanfic posted:

Ah yeah, so dbus at a minimum would double the context switch. Also, I like your funny posts even if I don't quote them.

It still has it's merits for developers. Throwing all of that away for the users resulted in two widely used linux based OSes (chromeOS and android).

I numbered the list to make it easier to talk about.

1&2 imply that interoperability with the rest of the system is less important than function. Kind of like having to work on a team with a bunch of talented people that can't work together. I think a lot of it is how you define "one thing". I consider ip great, because it does "network configuration". Other people hate it because it combines the "one thing" that individual utilities used to do.

4 applies mainly to unix to unix portability. The portability most people people care about now is either x86/arm or different operating systems that all have their own, separate API. I've got no data, just impressions and anecdotes, but software built according to this philosophy doesn't seem to be popular with most computer users on other operating systems.

6 is good and will always be relevant.

7 Shell scripts can be pretty dangerous though. Once upon a time steam client for linux silently deleted everything owned by my user on the entire computer (including my backup drive). I filed a bug report and made the front page of slashdot. They were using a shell script that broke because of the configuration of my system. I think python is better in most cases, but you could argue you're just replacing one scripting language with another.

9 is still pretty good, so much so that microsoft aped it for powershell and cmdlets.

I personally like being able to go to KDE control panel and configure system wide settings. I do less and less in the shell every year. Usually just stuff for hobbyist microcontroller sdks like esp32 or pico.


1&2 imply nothing of the sort imo.

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

7 in context, 'shell script' would include python, ruby, perl, nodejs and the rest.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Progressive JPEG posted:

among these i think the following in particular don't work and in fact nowadays you're better off doing the opposite of what they dictate:

> Small is beautiful
> Make each program do one thing well.

i think these are more or less the same thing, and "one thing" is defined as "my use case"

Yes, i agree. Your program should cover one use case and cover it well.

quote:


i don't think it translates very well to e.g. talking to standardized services. mainly thinking of e.g. using only "standard" SQL because you end up with a lot of weird baggage that the nonstandard extensions have since fixed. and "support" for a standard doesn't mean it's 100% compatible so you still end up needing to debug each implementation anyway

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

quote:

> Store data in flat text files.

csv hell

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"

quote:

shell scripts as a tool only decrease portability up-front, since they require that certain programs be installed and that they behave as expected by the original author
for example see behavior of 'sed -i' on linux vs osx/bsd
writing a python script, go program, or hell even javascript against their respective standard libraries is way more portable but that didn't exist yet at the time so all they had were lovely shell scripts

quote:

in context, 'shell script' would include python, ruby, perl, nodejs and the rest. Probably java too.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Progressive JPEG posted:


tar, grep, sed, cc, ld, etc each have dozens of flags, since "one thing" is meaningless


and for the record, 'ls' is widely held up as one of the least unix-like programs there is

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Progressive JPEG posted:

but it just lists files, and that's one thing!

no it also sorts the list, and has flags for what to display and so forth, the Perfect Unix Utility would just list the file information in some maximal way and you'd write your own shell script(s) to filter and sort them.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
like i'm not sure if you're getting hung up on the one-sentence summary of the precepts or what, my advice is to actually read The Unix Philosophy by Gancarz, its pretty short and pretty readable and still mostly relevant after all this time.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Shaggar posted:

lol the unix philosophy is dumb as hell

hey shagger how you doin

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

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

classic case of pineapple derangement syndrome

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

classic case of pineapple derangement syndrome

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

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

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

classic case of pineapple derangement syndrome

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?

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

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

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

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

classic case of pineapple derangement syndrome
please don't tell me

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

animist posted:

with shaggar on this one. there's a reason everybody uses python on unix nowadays instead of chaining together terribly named string processing utilities from the 70s

lmao

let me just, uh, install pandas and theano, two very well named python utilites

Adbot
ADBOT LOVES YOU

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

NihilCredo posted:

the tree of /usr/lib must be refreshed from time to time with the blood of packagers and maintainers

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