<sewn>
like i said, its also lacking basic features i would expect
<sewn>
im looking for a new shell that is featureful yet again
<midfavila>
define "basic features"
<sewn>
integrated test
<midfavila>
...now I have to ask why that's important.
<sewn>
if you shell script you can immediately understand why
<sewn>
basically all that test(1) can do but inside the shell
<midfavila>
i do, regularly, and there's no real difference for me.
<sewn>
im sure rc did this for 'simplicity's sake but this might fuck up some checks
<midfavila>
anyway, rc's ~ operator is usually sufficient
<sewn>
id also love to see variable, process substitution, arithmetic expressions, and word splitting
<midfavila>
rc has the first two, and the latter can be solved easily with existing tools
<sewn>
i dont think substitutions like ${foo##bar} are available in rc afaik
<sewn>
rc has process substitution?
<midfavila>
as in "use the output of this command as one of the inputs to this command"? yes
<midfavila>
<{} or something iirc
<sewn>
bro wtf
<sewn>
wow cool
<midfavila>
but yeah as for the arithmetic operations, just use expr or bc or dc or w/e
<sewn>
though i think the '{} is weird
<sewn>
midfavila: what about turnary
<midfavila>
pretty sure you can set what base you're using in bc but don't quote me on that
<midfavila>
looks like global variable obase controls that
<midfavila>
yeah ibase and obase
<midfavila>
for input base and output base
<midfavila>
also it's not '{} it's `{}
<sewn>
even worse
<midfavila>
'{} would require a lookahead parser to differentiate between subshells and string literals
<sewn>
are there more up to date rc repositories you know?
<midfavila>
the rakitzis one or w/e is the canonical unix port as far as i'm aware
<sewn>
hm
<sewn>
rc looks really really cool but i really dont want to unlearn posix sh lol
<midfavila>
you don't have to?
<midfavila>
i use both
<sewn>
for
<sewn>
what
<midfavila>
generally? the same thing
<sewn>
which as your interactive shell or scripting language idk
<midfavila>
i prefer rc for more complex scripts because of its lower cognitive load i.e no "how many times do I need to escape this to get what I want" situations
<midfavila>
but shell is better for portable scripts or those that are relatively simple, or in the case of me not being familiar with the requisite rc constructs to do what i want
<sewn>
can something like this be translated to rc
<sewn>
also is something like getopts available
<midfavila>
you might run into trouble creating a construct like case
<midfavila>
i don't *think* rc has case
<midfavila>
you can just use a chain of if-elses though /shrug
<midfavila>
and getopts can be installed as a standalone program
<midfavila>
there are a few implementations of it
<sewn>
bleh
<sewn>
midfavila: hey wdym it has switch & case
<midfavila>
that's why i said "i don't think"
<midfavila>
i don't really use switch statements much
<midfavila>
so i never bothered to look
<sewn>
ok wait, you use rc as your interactive shell, what do you use for scripts?
<midfavila>
both rc and shell depending on usecase
<midfavila>
if i'm familiar enough with rc to accomplish the task at hand i'll use it, otherwise i'll use shell - or if i need it to be portable.
<sewn>
if you were to write a simple script you would choose rc?
<midfavila>
yes, assuming i was going to be the only person to use it
<sewn>
do you write mini scripts right in your terminal easy or is it difficult? for example making a complex for or while loop just for one thing you want to do very quickly right in the shell
<midfavila>
rc uses less memory than even something like dash and considering i run a *lot* of small scripts in the background of my sessions, that's an important consideration
<midfavila>
and no, i find that case to be particularly easy in rc
<midfavila>
rc is less verbose
<sewn>
for i in _.png; do convert $i ${i##._}.jpg; done
<sewn>
what is this in rc (example usecase):
<sewn>
oops i meant uh
<midfavila>
dunno, i'm not as familiar with shell as you seem to be :v
<sewn>
for i in *.png; do convert $i ${i##.*}.jpg; done
<midfavila>
${i##.*}.jpg is unfamiliar to me in particular
<sewn>
midfavila: ok how do you convert all pngs in the current directory to jpg
<sewn>
while keeping same file name but removing extension for jpg
<sewn>
@testuser: do you know literally any shell other than mksh oksh and yash
<sewn>
bruh rakitzis/rc uses configure
<midfavila>
for(img in *.png){ffmpeg -i $img $img.jpg;mv $img.jpg `{echo $img.jpg|cut -f1 -d.}} would do it
<midfavila>
not elegant, but then again i'm not particularly familiar with either rc or shell compared to some people here
* midfavila
shrugs
<sewn>
i mean it looks realistic for rc
<midfavila>
and if you don't like that implementation of rc, don't complain, just don't use it
<midfavila>
i'm not here to be a salesman
<sewn>
but is there really no like easy way to change strings with stuff like ## %% and globs with // replacement and :- :+ := stuff
<midfavila>
i've already told you that i don't know, because i'm not as familiar with posix shell as you seem to be
<sewn>
midfavila: is there another standalone rc implementation that is up to date
<sewn>
somewhat
<sewn>
blehhhhh
<midfavila>
oh my god, i'm walking away-
<sewn>
nooo
<midfavila>
"up to date" means *nothing* as long as the program is feature complete. even if there's only a maintenance release once every couple of years, that's *fine*
<midfavila>
you don't need a commit every five goddamn seconds
<midfavila>
i have things to do
<sewn>
okay okay damn
<sewn>
hmm, i guess there is 9base or plan9port
soliwilos has joined #kisslinux
soliwilos has quit [Remote host closed the connection]
midfavila has quit [Ping timeout: 268 seconds]
rohan has joined #kisslinux
<rohan>
bro
<rohan>
need some help here
<rohan>
i get back to kiss
<rohan>
now my fucking alsa dont work and i dont know why
<rohan>
still the same config when i used kiss months ago
<sewn>
aplay -L
<rohan>
dont have any cards
<rohan>
thats the problem
<sewn>
no kernel audio driver?
<sewn>
kernel config issue it seems
<sewn>
fr
<rohan>
yeah but is the same config i used
<rohan>
no changes
<sewn>
look at dmesg and config again
<sewn>
maybe not part of audio group
<rohan>
maybe
<illiliti>
check /dev/snd permissions
<rohan>
thats right
<rohan>
my fault
<rohan>
forget audio group
<sewn>
lol
<rohan>
anyway
<rohan>
pipewire works with the repo programs like mpv?
<rohan>
or all repo use only alsa?
<sewn>
natively or alsa
<sewn>
with pipewire-alsa this is pretty much out of the equation
<rohan>
i mean
<rohan>
if i build pipewire and build mpv
<rohan>
mpv will use pipewire natively?
<rohan>
or still use alsa?
<testuser[m]123>
rohan: jusy use pipe wire - alsa configuration
<sewn>
mpv has pipewire support so yes
<rohan>
good
<rohan>
dont wanna to change my cards everytime i connect HDMI on tv
<sewn>
fair enough
rohan has quit [Ping timeout: 248 seconds]
rohan has joined #kisslinux
midfavila has joined #kisslinux
<drez>
> midfavila> guess who's back to being a neet? | wha????
<midfavila>
yeah my boss fired me this morning :v
<drez>
rc is cool
<drez>
oh
<drez>
oh...
<drez>
:(
<drez>
too much sleeping at work?
<midfavila>
i told him that i have a surgery coming up and my availability this month will be spotty so he was just like "well, here's two weeks' severance, see you" since i'm still on probation
<midfavila>
also not quite
<midfavila>
i have difficulty dealing with other people and with really dynamic environments, so fast food is uh
<drez>
oh dude, weak
<midfavila>
*really* not my gig
<drez>
you were in fast food?
<midfavila>
yeah
<midfavila>
for... about two months, which lines up with my previous fast food jobs
<drez>
why don't you do some mechanic type of job
<drez>
like a redneck job
<drez>
of some kind
<midfavila>
because i have basically no formal education or qualifications and the only places hiring here want either wageslaves or intermediate/senior positions
<drez>
surely there is something you can do to build your cv
<drez>
being talkative is probably essential
<drez>
build your network or whatever they call it
<midfavila>
i just need to study and develop some software that i can show off
<midfavila>
and then i can probably nepotism my way into a junior development position with the help of a few people I know
<drez>
can you do that as a neet?
<midfavila>
why not?
<midfavila>
i have literally thousands of hours of free time right now
<midfavila>
i needed the job to pay for a bed and some other stuff but
<midfavila>
that's all done now, and my expenses are low enough for me to survive off of other sources of income right now
* midfavila
shrugs
<midfavila>
worst case i fall back on my plan of selling all my shit and moving out west
<drez>
gg
rohan has quit [Ping timeout: 248 seconds]
rohan has joined #kisslinux
<midfavila>
honestly as stupid of an idea as it might be, i kind of like it
glenda has joined #kisslinux
<glenda>
hello
glenda has quit [Client Quit]
glenda has joined #kisslinux
glenda has quit [Client Quit]
<drez>
midfavila, sometimes those are the coolest
<drez>
anyways shutting down the pc while i brb since theres power surges
<midfavila>
>glenda
<midfavila>
a fellow plan 9 aficionado hmm?
midfavila has quit [*.net *.split]
midfavila has joined #kisslinux
midfavila has left #kisslinux [#kisslinux]
midfavila has joined #kisslinux
<midfavila>
aw
midfavila has left #kisslinux [#kisslinux]
soliwilos has joined #kisslinux
midfavila has joined #kisslinux
<midfavila>
gotta love netsplits
sad_plan has joined #kisslinux
<sad_plan>
hi
<sad_plan>
midfavila sewn rc has case, and switch :p
<sad_plan>
sewn if you wanna look at how the syntax is written, in posix vs rc, as an example, Ive converted some of my scripts here: github.com/hovercats/bin. they all work for their intended purposes atleast, but theyre probably open for improvements :p
<sad_plan>
ive mostly only read the manpage, and some other doc from cat-v