<phoebos>
tldr: choose anything, then boot a recovery image and dd an img onto the harddisk
<phoebos>
reboot; happiness
<kyxor>
Like shell is so close to being a perfect build system but because of small nits and limitations it's not quite reaching what makefile can do (at least without using external progs)
<kyxor>
maybe though some weird tricks that I don't know it's posible to do clever job control, but so far what I got seems to be the only workable thing
<kyxor>
but again, something like clever file writing requires inotify, that requires linux, then it becomes not portable, sigh
<illiliti>
why build.sh? why not posix makefile?
<phoebos>
kyxor: nice work
<kyxor>
cause idk how to do portable ifeq
<illiliti>
why do you need ifeq?
<dilyn>
mfw I didn't add gmake to zfs' depends :X ffs
<phoebos>
what's the reasoning behind the case ${CC:-0} stuff, haven't you just done ${CC:=gcc} with extra steps
<kyxor>
detect if it's compiling on BSD, so that I can append -D_BSD_SOURCE to CFLAGS
<illiliti>
kyxor: you can do it directly in c source
<illiliti>
#ifdef
<kyxor>
I can, but I don't want to :)
<illiliti>
why
<acheam>
dilyn: aw 2 packages now?
<kyxor>
I mean doing it once maybe not big deal, but I am sick of dealing with #ifdef mess in big projects, so in my projects I just don't want any build up of that
<kyxor>
At least if i can avoid it somehow and move it to build system, that seems to make more sense
<kyxor>
phoebos: idk maybe it is with extra steps, the idea was that if CC env variable is set, do nothing, else just default to gcc
<kyxor>
I'll take a look
<phoebos>
CC=${CC:-gcc}
<phoebos>
${CC:=gcc}
<kyxor>
ok
<dilyn>
acheam: just zfs now
<phoebos>
actually : ${CC:=gcc}
<dilyn>
toybox includes a make and install script that e5ten made sh with their patch
<illiliti>
kyxor: such simple #ifdef isn't mess
<illiliti>
just create ifdefs.h, do all #ifdefs there and include this file where needed
<illiliti>
simple, portable
<kyxor>
I don't like files :)
<illiliti>
i don't like life either :)
<kyxor>
I hate big projects with 1000s of files, mess. Project should have no more than 10 files, and oh if it's very big I don't mind having all 100K LOC in one file. I've got tcc compiler in that case to speed compilations up
<kyxor>
Afterall my text editor does not care about how big the file is
<kyxor>
meaning it does not slow down with file size, opening files is always instant unlike vim
Uks2 has joined #kisslinux
<kyxor>
Like tcc can compile almaga source of sqlite which is one C file, and 400K lines of C, under 2 seconds on mid tier cpu
<kyxor>
See how shitty compilers force developers to make a lot of files, otherwise they can't use all their cores for compilations. But in reality bad design, promotes even more bad design at a core
<illiliti>
the build.sh approach is even more messy because you don't follow established practices
<illiliti>
just don't reinvent the wheel plz
<kyxor>
then guess what, shitty build systems cause people to make even worse decisons like cmake, etc etc
<micro_O>
phoebos thank you!
<konimex>
something something "you don't use wheels invented in 1200s either"
<kyxor>
illiliti build.sh is better the configure and auto* hell
<kyxor>
Is it better than makefile? Well maybe, depends on the preferance. But it's simple at the core, if it's simple then I see no problem :/
<illiliti>
posix make is better
<illiliti>
barebones ninjafile is good too
<kyxor>
Ok, illiliti: testuser told me you know how to do ifeq in posix make?
<kyxor>
I don't under stand, but from what I saw it was mess with dummy targets and what not
<kyxor>
well I could achieve a condition if I run sh -c "condition" from makefile I think
<kyxor>
Also I remeber there was some kind of program from the "Obfustaed programs contest" that could call a bunch of stuff from within itself, so that it could be make,shell and some other langs at the same time
GalaxyNova has quit [Quit: Whoooooshh]
<illiliti>
sh -c 'condition' works only in terms of single make rule
<kyxor>
Maybe the trick that was used on that contest might be useful somehow
<illiliti>
you can't control Makefile flow with it
<kyxor>
god I love that contest, I should participate in the next one
<kyxor>
like just the amount of creativity from those hackers
<kyxor>
Well for now I'll just keep rolling with the build.sh change, yes it seems cringe, non standard, weird way to compile C, but it's functional and portable so why not
<illiliti>
did you consider using redo?
<illiliti>
it's way better than home-grown build system but less portable
<phoebos>
it's up to you what build system you use, but i think this cleans up the shell script
<phoebos>
it also sets ERREXIT which is important if the compilation fails
<kyxor>
Nice!
<kyxor>
Though It does not do parallel build
<phoebos>
with neatvi that's really unnecessary
<midfavila>
^
<phoebos>
and you were waiting a second for each obj file not built
<midfavila>
parallel build only really helps with gargantuan projects
<kyxor>
true
<phoebos>
so you were literally adding a couple seconds off the bat
<kyxor>
yeah
<phoebos>
cmd & is great but there's no way to tell when it's finished
<phoebos>
i also changed the function names so that there's more traditional syntax: ./build.sh install; ./build.sh clean
<midfavila>
I really need to polish my shell scripting skills... hopefully working through Programming in the Unix Environment will help with that.
<phoebos>
midfavila: how's your progress with all the books going?
<kyxor>
ha ha, I called them with 3 letters so it's easier to type on cmdline, but no big deal
<midfavila>
I keep heaping more work on myself without finishing what I already have xwx
<midfavila>
we're up to like
<midfavila>
sixteen textbooks
<midfavila>
and counting
<phoebos>
omfg
<kyxor>
^
<phoebos>
i keep starting projects without finishing too
<phoebos>
but mostly i spend all the time on stuff like I/O and not writing the actual program
<phoebos>
maybe i should write a libphoebos
<kyxor>
ok phoebos: your patch looks reasonable, I'll apply it now
<phoebos>
cool
<midfavila>
The C Programming Language 2nd Ed., Modern C, C Programming: A Modern Approach, Learn C the Hard Way, Structure and Interpretation of Computer Programs, How to Design Programs, Introduction to Common Lisp, Practical Common Lisp, Operating Systems Design and Implementation 3rd, C++ Primer, The C++ Programming Language, Programming in the Unix Environment, Advanced Programming in the Unix Environment, Software Design for Flexibility...
<midfavila>
uh...
<phoebos>
git am it and i get brownie points :)
<phoebos>
how far have you actually got through most of those?
<midfavila>
...oh, I forgot The Art of Unix Programming
<midfavila>
and so far I haven't touched them. I'm focusing on mathematics
<midfavila>
in the past month I've finished about three semesters worth of maths. I really need to correct my shitty high school education
<noocsharp>
"Practical Common Lisp" is an oxymoron
<midfavila>
algebra 1 is just about done, then it's on to geometry, algebra 2, stats and prob, precalc...
<midfavila>
once that's done I'm gonna start working through OSSU
<midfavila>
somewhere in there I need to finish college and find a placement
<phoebos>
kyxor: hang on, i didn't pull your most recent commit
<midfavila>
(actually, I lied about not touching any of those books: I've gotten about halfway through K&R, although I haven't touched it since fucking my hand up pretty bad about a month ago. Gonna start again on Thursday. Did some work on SICP and HtDP too, as well as PCL)
<phoebos>
that should git am cleanly
<phoebos>
i got a physical copy of K&R the other day
<midfavila>
also noocsharp there's nothing oxymoronic about practical and common lisp. it's just not a widely-used language so it lacks the extensive libraries of C or Python
<midfavila>
phoebos first or second?
<phoebos>
2nd
<midfavila>
based and mcgraw hill-pilled
<phoebos>
is there any reason to prefer the 1st edition
<midfavila>
i bought a physical copy from my local bookstore a couple months back... but they charged me 100 fucking dollars
<midfavila>
also
<midfavila>
no
<midfavila>
2nd is already a bit long in the tooth
<midfavila>
1st is only of historical interest
<phoebos>
jesus
<midfavila>
i don't even think K&R C can be compiled by modern systems...
<midfavila>
i mean, C79 wasn't even standardized, afaik
<phoebos>
for most stuff they can, just give warnings
<midfavila>
huh
<midfavila>
but yeah, that's why I have a bunch of additional "lern 2 c" berks
<phoebos>
like omitting types default to int
<kyxor>
phoebos: that's fine I force pushed
<phoebos>
ew
<kyxor>
I was wondering how to apply a patch like that, so that the commit inherits your data at the top
<midfavila>
K&R for C89, CP: A Modern Approach for C99, Modern C for C11, and Learn C the Hard Way teaches a bunch of general stuff, in addition to rounding out my knowledge. After those and some projects I should be at least competent with C, if not amazing
<phoebos>
kyxor: `git am file.patch`
<kyxor>
ok I'll try
<kyxor>
I'll just force push it again if it works
<phoebos>
lol coolio
<midfavila>
oh, by the by - would any of you be interested in a suckless-style replacement of the net-tools and inetutils?
<midfavila>
i've been thinking of adding that to my list of personal projects.
<phoebos>
kyxor: brilliant!
<phoebos>
what do you mean by suckless-style
<midfavila>
similar in spirit to s/u/9base, in that they implement the bare minimum to satisfy posix
<midfavila>
i figure that in the case of a lack of POSIX or SUS to reference, it would be the minimum needed for comfortable daily use
<phoebos>
yeah sounds nice
<midfavila>
one of my long-term goals is to have my own SUS-compliant userspace
<phoebos>
i'm planning on either writing my own POSIX-exactly coreutils, or supplementing k9core
<midfavila>
so what's the elevator pitch for k9core?
<midfavila>
what makes it special?
<dilyn>
hey looky my go patch made it into 1.17!
<dilyn>
now we can drop our sed :)
<midfavila>
>go
<midfavila>
is this how far kiss has fallen in my absence
<acheam>
hi midfavila
<phoebos>
stupidly simple, like the code makes sense without worrying too much about performance
<phoebos>
imho
<midfavila>
hi acheam. the bayonet is doing fine.
<dilyn>
>go
<dilyn>
>in repo since 2019
<dilyn>
mfw
<midfavila>
phoebos that sounds nice. my list of priorities for my own programs is correctness, mechanical simplicity, then security and finally performance
<midfavila>
basically I want my programs to be digital bricks.
<phoebos>
aye. i'm on a similar page
<midfavila>
rock-solid, stupidly simple and impossible to fuck up if used for its intended purpose
<phoebos>
most of k9core is just a wrapper around one library function
<acheam>
dilyn: is that the musl only exists on alpine one?
<midfavila>
huh
<midfavila>
hmmmm
<midfavila>
can't say I'm a fan of their ls
<phoebos>
i mean like eg unlink.c just calls unlink(3), touch calls creat
<midfavila>
oh, yeah, no, I figured
<midfavila>
i'm just playing with them rn
<acheam>
how is that different than other coreutils?
<noocsharp>
hows that mailing list coming dilyn?
<midfavila>
their ls is just a space-delimited list of the directory contents
<dilyn>
sh
<dilyn>
yes acheam
<acheam>
congrats!
<midfavila>
suckless ls, at least, is newline-delimited
<acheam>
you're officially a gnuugler
<phoebos>
midfavila: yeah. the unixy way would be to pipe ls into sort, but i want that in the program
<noocsharp>
tbh i might just send pull requests
<acheam>
nooo do the classic kiss thing of sending links to patches in IRC
micro_O has quit [Ping timeout: 252 seconds]
<midfavila>
i just use cols to columnate things
<dilyn>
hooray gnugle
<phoebos>
that's one of the things i'm planning to change
<acheam>
I just ls -l by default
<midfavila>
i really want to have a set of supplementary tools to implement common niceties as discrete programs
<acheam>
midfavila: you mean "col"?
<midfavila>
no, I mean cols
<acheam>
i feel like we've had this discussion before
<midfavila>
the suckless implementation is called cols. i don't know about other systems.
<dilyn>
alias ls='ls -lh'
<midfavila>
anyway, an example is like
<acheam>
alias ls='LC_COLLATE=C ls -lhF'
<midfavila>
instead of implementing color-coding routines into every program I want it in
<dilyn>
hng
<acheam>
midfavila: on obsd its col, but its not posix anyway
<midfavila>
just have a seperate "colorize" program that applies colors to text based on a regexp filter
<acheam>
ew no
<phoebos>
ls() { ls "$@" | sort }
<midfavila>
don't use it if you don't want to :P
<phoebos>
when do you want colors like that anyway
<acheam>
phoebos: that doesn't work when ls prints the total line in -l
<midfavila>
at the very least it would be nice to have the image viewer be capable of on the fly resizing... although I might just not know how to do that. i'll strip out the imagemagick interface, too
<acheam>
phoebos: i have insider info that this is how development happens in FAANG
<dilyn>
applied applied
<phoebos>
meh looks nice. while i'm trying wayland, does anyone know a wayland image viewer that works without extra EGL cruft
<phoebos>
lmao
<phoebos>
is that something you started
<phoebos>
s/started/introduced/
<acheam>
I think noocsharp started it
<midfavila>
>talking to anyone who works for FAGMAN
<midfavila>
absolutely unbased, acheam
<midfavila>
fifty lashings
<phoebos>
i mean into FAANG
<illiliti>
phoebos: imv with my patch
<acheam>
phoebos: yes slowly ive been infiltrating their devops teams
<acheam>
Oh I was looking on kiss-community/community and its verified
<midfavila>
>muh authoritarian loicense
<midfavila>
following by ss.png
<midfavila>
followed*
<midfavila>
god
<midfavila>
i can't spell
<phoebos>
ah lmao
<midfavila>
i'm gonna go like
<midfavila>
die
<midfavila>
or something
<phoebos>
don't do that you've got like 16 textbooks to read
<midfavila>
19 so far actually
<midfavila>
i just tallied them
<dilyn>
if this commit isn't verified for this patch then i'm not certain what's wrong xd
<phoebos>
oof all the more reason
<midfavila>
i need another book on languages to make sure my schedule can be filled properly
<phoebos>
illiliti: your patch removes icu, but i still get meson.build:44:2: ERROR: Dependency "opengl" not found, tried pkgconfig and cmake
<midfavila>
maybe FORTH
<dilyn>
okay yes it was just the email in my .gitconfig
<dilyn>
forgot to change that when i nixed the k1sslinux.org domain from my gpg key
<midfavila>
that would be C/C++, Lisp/Scheme, Python, and FORTH. A good set of languages, I think
<phoebos>
>python
<midfavila>
yes
<phoebos>
"good"
<midfavila>
i know
<midfavila>
heresy
<kyxor>
midfavila:...
<midfavila>
but python is Professional:tm: and an Employable Skill:tm:
<phoebos>
also c++?
<midfavila>
yes.
<phoebos>
ok
<midfavila>
look, I'm not happy about it either
<kyxor>
still better than rust
<midfavila>
but if I want to be able to work as a programmer I need to know C++
<midfavila>
i'm trying to keep my options open
<illiliti>
phoebos: i misread your message, sry. I don't think if it's even possible to build wayland application without EGL
<midfavila>
because - whoops - turns out nobody in my province outside of a nuclear research facility is hiring a unix admin
<midfavila>
said research facility requires ten years' experience and classified security clearance
<phoebos>
illiliti: is egl the stuff made by nvidia?
<illiliti>
egl != eglstreams
<illiliti>
egl isn't made by nvidia
<noocsharp>
wld exists
<noocsharp>
but you would have to write your own image viewing program for it probably
<phoebos>
do you have a link to the egl source?
<illiliti>
egl is specification, the implementation is mesa
<phoebos>
ahh
<phoebos>
sorry i know nothing about graphics drivers stuff
<phoebos>
is opengl something else?
<acheam>
midfavila: forth is very cool
<acheam>
I spent a day or two learning the basiscs
<acheam>
I reccomend retroforth if you actually want to be able to do anything
<acheam>
(and don't want gnu)
<illiliti>
opengl implemented by mesa too
<midfavila>
i've used gforth before. only thing that bugs me is its awful compiletime
<midfavila>
i doubt I'll use forth for anything practically-speaking, other than contributing to collapseOS and maybe bare-metal programming
<phoebos>
hm. why doesn't imv find opengl then
<midfavila>
i'm mostly interested in it to learn more about stack machines
<midfavila>
i figure being familiar with turing machines, stack machines, and lambda calculus is a good thing if I'm going to be self-teaching computer science over the next year or two
<midfavila>
hence C, FORTH and Lisp
<acheam>
learn all of the machines
<midfavila>
when I work through MIT 6.004 I will
<acheam>
oh also up your vein, I'm getting into amateur radio
<midfavila>
neat. I was thinking about getting back into it earlier today
<acheam>
have been learning CW in my free time
<acheam>
oh were you into it before?
<midfavila>
Yeah, I attended the local ARC back in 2019
<midfavila>
ended up having to drop out because of personal reasons
<acheam>
cool
<acheam>
(cool on attedning, not having to drop out)
<midfavila>
kek
<midfavila>
but yeah I was like
<midfavila>
"whoa"
<midfavila>
"dude"
<midfavila>
"what if I could like... send a camera and radio module into like"
<midfavila>
"space and shit"
<acheam>
Now I have a paycheck, I can buy a radio and stuff
<acheam>
next step is convincing my parents a 60ft long wire in the front lawn is a good idea
* midfavila
shrugs
<midfavila>
I can't set up antennae since I'm stuck in my apartment
<acheam>
you can use VHF/UHF though
<midfavila>
useless for anything I'm interested in
<acheam>
what are you interested in? besides sending cameras and radios into space and shit
<midfavila>
something like UUCP over AX.25 would be really fascinating
<acheam>
(hence why I like HF and CW)
<midfavila>
I also want to join ARES
* necromansy
chilling with ULF
<acheam>
lol
<necromansy>
not radio tho
<acheam>
oh that wasnt a joke
* acheam
remembers that necromansy does science stuff
<necromansy>
yeah nah my research is in waves :>
<midfavila>
soyence
<necromansy>
the big soy
<midfavila>
...shit, I have to learn haskell too
<acheam>
midfavila: oh so you mean like computerized communications
<midfavila>
yes
<acheam>
thats boring
<acheam>
compooders bad
<acheam>
morse code good
<midfavila>
i have zero interest in using radio to talk to boomers
<acheam>
until disaster strikes?
<midfavila>
no, period.
<acheam>
then you might not be good in ares
<acheam>
isnt that all they do?
<midfavila>
ARES is volunteer corps. I'm fine with stepping outside my comfort zone to help other people
<acheam>
yeah thats what I meant
<midfavila>
and yes, ARES is primarily an entity responsible for ad-hoc comms infrastructure
<midfavila>
they work with police, hospitals, fire departments, and (I think?) sometimes the military in the event of natural disasters that destroy communications infrastructure
<midfavila>
this is probably one of my most-hated shell snippets
<midfavila>
all of that garbage just to generate a random number in a portable fashion
<midfavila>
also don't @ me for hardcoding paths
<msk[m]>
That seems like it would be neater over multiple lines
<midfavila>
in the script itself it's split across three
<midfavila>
this is an excerpt from my ffplay wrapper
<midfavila>
in it I use that snippet to retrieve a random filename from the current directory
<msk[m]>
What
<midfavila>
yup.
<msk[m]>
Why not just ls | shuf | head -1
<dilyn>
why declare the whole path lmao
<midfavila>
because fuck you it was 3AM when I wrote that
<dilyn>
shuf isn't posix
<dilyn>
right?
<midfavila>
also that
<dilyn>
otherwise it's just too easy
<msk[m]>
Oh
<midfavila>
afaik it's not portable
<testuser[m]>
Just embed a shuf impl into the script and compile if it isnt available
<midfavila>
so the only real source of true pseudorandomness in shell is reading from random
<msk[m]>
Why does it have to be portable if it's a personal script
<dilyn>
because mid is the only person who would find themselves going from a unix box to plan9 and then netbsd on accident
<midfavila>
because shuf isn't on my systems
<midfavila>
also
<midfavila>
it's not on accident
<midfavila>
i use all three >:c
<midfavila>
also also
<midfavila>
>implying the bsds aren't unix
<midfavila>
how could you dilyn
<dilyn>
just implying that you don't use bsd
<midfavila>
i use netbsd and dragonfly, and open
<midfavila>
nerd
<dilyn>
f
<midfavila>
anyway yeah I'm hoping that if I switch to another interpreter for my system scripts (probably es tbqh) i'll be able to do more in the language itself and have cleaner scripts in general
<midfavila>
the only semi-issue with es is that it lacks an embedded calculator, but like
<midfavila>
expr exists, as does bc
<msk[m]>
What about Go or something
<midfavila>
muh FAGMAN
<msk[m]>
Huh
<midfavila>
to the best of my ability I've eliminated all proprietary software and anything tangentially related to FAGMAN from my systems, although I still need to rework the Mesa package and stuff...
<msk[m]>
Oh
<midfavila>
also I feel like go would be a bit too much for most of my scripts
<msk[m]>
But then you wouldn't use plan9
<midfavila>
plan 9 is developed and maintained by the plan 9 foundation
<msk[m]>
Didn't Rob work on it
<midfavila>
I don't have an issue with Rob Pike
<msk[m]>
Sorry I'm on mobile
<midfavila>
I have an issue with Google
<testuser[m]>
Poogle
<midfavila>
goolag
<msk[m]>
But Rob Pike made Go
<midfavila>
as an employee of Google
<midfavila>
therefore Go is Google technology
<midfavila>
therefore it's off-limits
<msk[m]>
So if he made it right before joining Google it would be fine?
<midfavila>
those versions would be fine, yes
<midfavila>
everything post-Google would be controlled by said company and therefore can't be trusted
<dilyn>
oh damn what, is libuuid bsd3
<dilyn>
what is my life
<dilyn>
has someone written a libblkid alternative that isn't gpl2 lmfaoooo
<midfavila>
a sad story of a man slowly going insane in an obscure gahnooloonix eyearesee channel
<dilyn>
nothing slow about this
<midfavila>
oh hey es supports readline and editline
<dilyn>
i'm zoomin'
<midfavila>
millenialin'
<msk[m]>
What about Python? It's slow but that's fine for basic scripts, right?
<midfavila>
hold me back, dilyn
<msk[m]>
The syntax is much more readable than sh
<midfavila>
HOLD ME BACK
<midfavila>
my main requirements for a scripting language are that it's highly efficient and starts quickly
<testuser[m]>
Only practical slowness for most cases is interpreter startup time of 100-200ms
<midfavila>
python is neither of these things
<midfavila>
100-200ms is too much
<testuser[m]>
Yeah
<midfavila>
besides, I don't use python for anything
<midfavila>
no reason for me to start
<testuser[m]>
That's why i wouldn't use it for something like this that runs on every shell instance https://github.com/nvbn/thefuck
<msk[m]>
Well that's fine if you already use Python as your terminal shell, right?
<midfavila>
if I used python as my regular command interpreter then like, sure, I guess
<midfavila>
but I would never do that
<midfavila>
nor should anyone else
<testuser[m]>
I guess you could circumvent the startup time by using cpython or whatever
<testuser[m]>
cython
<midfavila>
>mfw sbcl starts up more quickly than python
<midfavila>
amazing
<dilyn>
ln -sv python /usr/bin/sh
<dilyn>
mmmm
<msk[m]>
Doesn't cython just convert Python syntax to C syntax
<midfavila>
cursed, dilyn
<midfavila>
go sit in the corner and think about what you've done
<msk[m]>
I was joking about the Python shell
<acheam>
msk[m]: no
<midfavila>
you joke about it but it exists
<midfavila>
look up xonsh
<acheam>
midfavila: bc isnt POSIX
<noocsharp>
ln -s firefox /bin/sh
<midfavila>
acheam i'm using a non-posix language
<midfavila>
the problem isn't posix
<midfavila>
it's midix
<acheam>
But why would you use it
<testuser[m]>
Midix ?
<acheam>
Over dc
<acheam>
Which is posix
<midfavila>
why would I use dc over bc? just because it's posix, in a non-portable script anyway?
<msk[m]>
"The xonsh shell lets you easily mix Python and shell commands in a powerful and simplified approach to the command line." wtf
<msk[m]>
The xonsh example section cats into grep, that's how you know it's quality software
<dilyn>
i was born specific
<acheam>
midfavila: oh is that a recent (last 10 years) addition?
<midfavila>
no
<midfavila>
bc was posix-ified in 1991 my dude
<acheam>
Oh
<acheam>
My b
<midfavila>
;p
<midfavila>
I forgive you, my child
<midfavila>
your penance is that you must replace bc and dc with hoc
<acheam>
Hoc?
<midfavila>
high-order calculator
<acheam>
But I like dc
<msk[m]>
Hungover calculator
<midfavila>
it's a simple arithmetic language developed as part of programming in the unix environment and later as part of research unix 10 and plan 9
<midfavila>
anyway, ultimately I intend to develop my own scripting and command language
<midfavila>
probably based on some unholy fusion of es and yash
<noocsharp>
probably should learn some precalc first
<midfavila>
i'm going to
<acheam>
But its not stack based :(
<midfavila>
as it stands I've made up for where I fell behind in high school in the past month
<acheam>
I still don't get what's wrong with node
<midfavila>
...as in node.js?
<midfavila>
if so,
<midfavila>
can I introduce you to the JVM?
<acheam>
Yes, the performant, industry-choice, cross platofrm scripting language
<midfavila>
disgusting
<midfavila>
an irl friend is teaching himself node because "oh well dude it's like a job skill you know"
<midfavila>
and all I can do is grind my teeth together
<msk[m]>
You can get quite a lot of money from poisoning the web
<midfavila>
there's something to be said for valuing ethics over money
<noocsharp>
no, i mean must modifications be made to a program in order to use it
<midfavila>
oh, you mean support from a pro- OH
<midfavila>
no, no
<midfavila>
it's not really used for that sort of thing
<acheam>
There is landlock though, that is similar to unveil
<midfavila>
the best way to explain it is as a supplement to standard unix access controls
<midfavila>
it's like being able to define your own permission bits and stuff.
<midfavila>
it does require filesystem support though
<noocsharp>
looks interesting
<midfavila>
but that's no different from any other ACL
<midfavila>
i want to experiment with cgroups and stuff as well
<midfavila>
also
<noocsharp>
it should not be as hard as it is to limit which files a program can see
<midfavila>
...er
<acheam>
Landlock
<acheam>
But thats only on recent kernels
<midfavila>
does the program not inherit the permissions of the user running it
<acheam>
Yeah but within a program
<midfavila>
my response to that is a)
<midfavila>
that's stupid
<midfavila>
and b)
<acheam>
For example on my obsd system Firefox only sees The downloads directory and .mozilla
<midfavila>
why would you ever want to do it on a per-program basis
<acheam>
So that a program can't read .ssh or .gnupg
<midfavila>
if I wanted to do something like that I would create a system user, run the program as that user, and adjust the permissions of said user to achieve that same effect
<midfavila>
or, you know, use a chroot or something
<midfavila>
of course, plan 9's namespace capability can do that with the flick of a wrist...
<acheam>
Right but do you want to do that for every program?
<acheam>
Also doesnt work on multi user systems
<midfavila>
i would just run them all as the same user.
<acheam>
But then that ruins the point
<midfavila>
...no?
<noocsharp>
principle of least privilege
<midfavila>
if your concern is about encryption keys and shit, just don't use ssh with the system user
<acheam>
And each program only needs to see different things
consolers has joined #kisslinux
<acheam>
What noocsharp said
<msk[m]>
What if you move them from .ssh and .gnupg
<acheam>
midfavila: not just ssh
<acheam>
Any thing
<midfavila>
yes, gpg as well
<midfavila>
but like, real talk, I don't actually care about muh least privilege.
<noocsharp>
a program should not have access to more information than is required for it to run
<midfavila>
if I wanted a crazy-secure OS I'd use Multics
<midfavila>
also
<midfavila>
i know what it is, noocsharp
<acheam>
You don't seem to follow it thoufh
<acheam>
You must conform
<midfavila>
because I only use simple tools and inspect the source code of what I run the most
<midfavila>
unless mesa is compromised, or llvm or something, I think I'm good
<acheam>
Still, why take the risk. Any program that takes user input is a danger
<midfavila>
any program is a danger
<midfavila>
jesus christ, any LED on the system is a danger
<midfavila>
there are a billion and one ways to compromise and extract information from a running system
<acheam>
So why not reduce them
<midfavila>
the models employed by current-generation operating systems are fundamentally insecure
<midfavila>
all we're doing is slapping shit on top
<midfavila>
the best thing to do is to not use a system you don't trust
<midfavila>
if slapping more and more garbage on top of your OS makes you trust it more, then that's good for you
<midfavila>
but I'm not going to do that
<noocsharp>
are you familiar with pledge and unveil?
<midfavila>
no, because as I said, I have no interest in such technology
<consolers>
whats so great about crashing the system
<noocsharp>
they are syscalls in openbsd
<consolers>
its the same fakesecurity narrative - deal with vulnerabilities by crashing the system - the real goal of the connviving security researchers is to DoS the user
<midfavila>
well, DoS is better than a critical security leak
<consolers>
the whole security community is deception with the king of lies at the chief researcher
<midfavila>
the real issue is security where it's not needed
<midfavila>
see: forcing tls on static content
<noocsharp>
they force you to design your program in such a way that you reduce the "permissions" that your program requires as it progresses, which helps with program correctness as well
<midfavila>
i mean, that's cool and all, but like
<consolers>
almost all aspects of the security narrative is exactly the opposite. someone with venture money is backing a conspiracy to defraud and surveil
<consolers>
tls is a surveil thing
<midfavila>
plan 9's namespaces deals with all of those security issues in a single swoop
<midfavila>
and it does so elegantly and efficiently
<noocsharp>
explain consolers
<consolers>
network signatures from librarires stop start time are all available
<consolers>
this is what intel wants, verify that a communication took place and the times of that communication
<midfavila>
they could get that with a wiretap
<noocsharp>
...you get that without tls anyway
<midfavila>
which they do at junction points *anyway*
<midfavila>
so
<midfavila>
tls doesn't help much if at all in that regard
<consolers>
i've been trying to stop mozilla from preconnecting. you cant disable preconnect preload images - and the speculative limit 0 is just are ignored
<midfavila>
your first mistake was using pozilla
<midfavila>
smh
<consolers>
true
<consolers>
i dont use much of it
<consolers>
i cant use much of it i cant see any cloudfare or google site on it
<consolers>
i want to use it locally to browse /usr/share/doc - but it preconnects to the internet and sends dns access signatures on each webpage even then
<midfavila>
...just use links?
<midfavila>
or w3m, or lynx, or edbrowse
<consolers>
links also had that problem
<consolers>
i tried edbrowse but i couldnt keep up
<midfavila>
alternatively just disconnect from the net or like
<consolers>
w3m is stable
<midfavila>
use a text editor
<midfavila>
idk what your setup is
<noocsharp>
use tor if you're so paranoid
<consolers>
all emacs
<midfavila>
based
<midfavila>
also
<midfavila>
tor is shit
<midfavila>
if you're using any darknet, use i2p or gnunet
<consolers>
nope tor just means my traffic goes through 30 dod machines
<noocsharp>
then i2p
<consolers>
what a waste of bandwidth
<acheam>
eww
<midfavila>
wowsers
<acheam>
If youre using Emacs
<consolers>
tor, bitcoin, and what is that bt protocol - all fake narratives
<consolers>
bittorrent
<midfavila>
oh, consolers
<midfavila>
you might be interested in an article I came across a while back if you're an emacs guy
<noocsharp>
well i'm convinced consolers is trolling now
<consolers>
i'm an old school emacs user
<midfavila>
talks about replacing a shell and terminal interface with a REPL and emacs
<consolers>
i think i saw it but i didnt like it
<midfavila>
oh, rip
<midfavila>
i've only started using emacs recently. it's nifty enough though
<midfavila>
28 is exciting
<consolers>
i didnt see the video but i didnt spot anything interesting or new in that webpage when i scanned it. maybe i should read it again
* midfavila
shrugs
<midfavila>
in an ideal world there would be a free hardware implementation of the lisp machines, but alas
<acheam>
noocsharp: I was convinced at "the whole security community is deception with the king of lies at the chief researcher"
<midfavila>
i mean, he's not 100% wrong
<consolers>
bittorrent is to only to track content - to reliably know which ip has which part of which content
<midfavila>
most people in le securidee "community" are stuck-up assholes who couldn't tell you the difference between a pipe and a socket
<consolers>
bitcoin is the exact opposite of anonymous - it tracks every transaction - non-scalably
<midfavila>
not to mention they have the gall to self-label as "hackers"
<consolers>
and unmasks the owner everytime it is converted
<consolers>
unsustainable
<midfavila>
tbf bitcoin was never developed to be private
<consolers>
all these are funded by those own the bandwidth and hardware
<consolers>
like the more retards use them their purpose is served
<midfavila>
dash and monero seem interesting, but I haven't looked into crypto much.
<consolers>
i've removed almost all of firefox sync and telemetry from mozilla but the remote-settings client still tries to contact it though it cant use it
<consolers>
i.e. outgoing telemetry
midfavila-laptop has joined #kisslinux
<midfavila-laptop>
shit I just realized
<midfavila-laptop>
it's 2am
<midfavila-laptop>
i need to log off soon
<consolers>
okbai
<consolers>
me too
consolers has left #kisslinux [--]
midfavila-laptop has quit [Ping timeout: 240 seconds]
illiliti has quit [Quit: leaving]
Uks2 has quit [Ping timeout: 250 seconds]
Uks2 has joined #kisslinux
Crestwave has joined #kisslinux
<testuser[m]>
Does lto work with clang for anyone on default kiss ? It fails for me cuz it tries to load the llvm gold plugin
<micro_O>
phoebos nice site and stack. also like the blog post style
progenyx has joined #kisslinux
<phoebos>
micro_O: thanks! it's all copied from acheam, git-bruh, and june
<acheam>
phoebos: i'm curious what of mine you actually copied
<acheam>
also your index.html is gitignored, but still tracked
<acheam>
actually I have no clue how this script works
<phoebos>
your ~~design~~
<phoebos>
oop I tagged myself
<acheam>
oh nvm nvm, gen-index generates blog/index.html, not index.html
<phoebos>
acheam: the blog/index.html is gitignored
<acheam>
ohh yeah it all makes sense now
<acheam>
I missed all the blog/ because stagit shows it in a kind of confusing tree
<acheam>
(one more reason to use cgit)
<phoebos>
yeah
<acheam>
thanks for the reminder I need to learn mdoc
<phoebos>
when I get round to it, I'll either fork stagit or use cgit
<phoebos>
but I like the static pages
<acheam>
heres my take:
<phoebos>
mdoc is really cool
<acheam>
as you add more and more functionality and repos to stagit, the size and time it takes to generate the pages just gets too long
<acheam>
and you have to manage regeneration, etc
<acheam>
cgit is install and forget it
<acheam>
and it comes with all the functionality you could want
<phoebos>
how long are you talking? my post-receive hooks take max 2 seconds
<testuser[m]>
Push a mirror of linux kernel
<testuser[m]>
Then see
<testuser[m]>
Or kiss community
<phoebos>
ofc for the kernel lmao
<acheam>
2 seconds now
<phoebos>
my repos aren't anything like that
<acheam>
but they will be eventually
<phoebos>
stagit can also cache
<acheam>
and if you fork it to add functionality
<testuser[m]>
5s
<acheam>
no point in caching if you fork it to add functionality
<acheam>
because the old pages won't have that
midfavila-laptop has joined #kisslinux
<acheam>
and its difficult to maange
<acheam>
hi micro_O
<acheam>
hi midfavila-laptop*
<midfavila-laptop>
morning
<acheam>
damn hexchat, doesn't prioritize newly-joined people
<testuser[m]>
Hi laptop
<acheam>
its good to see midfavila's laptop having some autonomy
<midfavila-laptop>
okay I'm leaving for another month
<midfavila-laptop>
this is enough #kisslinux
<midfavila-laptop>
>:V
<acheam>
there is never enough #kisslinux
<midfavila-laptop>
there is always too much #kisslinux
<midfavila-laptop>
this is an intervention acheam
<midfavila-laptop>
your irc addiction is out of control
<phoebos>
midfavila would know
<midfavila-laptop>
hush
<acheam>
yeah I don't trust a laptop to intervene on a computing thing
<omanom>
conflict of interests
<acheam>
get midfavila in here and its a different story
<acheam>
exactly omanom
<midfavila-laptop>
>:c
<phoebos>
acheam: so after adding features, it takes longer the first time to regenerate. I'm ok with that
<acheam>
for all we know, midfavila's laptop is running a matrix or xmpp server
<midfavila-laptop>
i'm going back to bed lmao
<phoebos>
lmao
<acheam>
phoebos: well it depends on what changes you make
<acheam>
but yeah
<acheam>
its a tradeoff that over time you might rethink
<acheam>
but if you're fine with it now, by all means do it
<acheam>
stagit is a fun and hackable codebase
<phoebos>
^
<acheam>
well, somewhat fun
<acheam>
large chunks of html in C code isn't fun
<acheam>
neither is libgit2
<phoebos>
better than cgit i'll wager
<acheam>
yes lol
<acheam>
i'd reccomend using june's cgit fork if you do switch btw
<acheam>
zx2c4 hasn't even merged any patches for cgit in a really long time
<phoebos>
yeah, that's something that can be read from some kind of input, would make it muh better(TM)
<phoebos>
coolio. what did june add?
<acheam>
mostly just fixes
<acheam>
cleaning things up
<acheam>
like making the RSS feeds valid XML
<phoebos>
oof
<acheam>
i just use the obsd package though because im lazy
midfavila-laptop has left #kisslinux [#kisslinux]
soliwilos has quit [Remote host closed the connection]
soliwilos has joined #kisslinux
<micro_O>
anyone know of a modern/hipster replacement for cut? can be in any language but c, go, rust, or python
<micro_O>
I am trying to complete this unholy alias: jc ls | gron | rg filename | cut -d'"' -f2
micro_O has quit [Quit: micro_O]
ithuriel has joined #kisslinux
<dilyn>
sed :V
<ithuriel>
Hello all. Has anyone had trouble installing packages with correct permissions? I noticed yesterday that what I install either ends up with 700 or 600 permissions
<ithuriel>
I tried downgrading kiss but had the same problem. Nothing in my kiss-hook changes anything in kiss. So I'm not entirely sure if it's me or not.
<omanom>
awk's gsub could work too micro_O
<omanom>
awk 'gsub(/"/, "", $2) {print}' something like that
<acheam>
ithuriel: kiss version?
<acheam>
could be umask related?
<ithuriel>
Yes that seems to be it. Apparently I sourced a file that changed my umask to 077. Thanks
ithuriel has quit [Remote host closed the connection]
<cot>
haha, packages are finally getting README files?
<micro_O>
you can use that to start making drill bits to extract your own metals
V has joined #kisslinux
<micro_O>
fast forward after your cabin has reliable electricity, and you can start making your own silicon http://sam.zeloof.xyz/second-ic/
<micro_O>
anyone have an intel 4004 we can run kiss on?
<midfavila>
i mean I was going to try with an 80386
<dilyn>
this is actually landley's next project; creating an elaborate system which can bootstrap itself under itself and arrive at a minimal linux environment, simply starting from raw physical materials
micro_O has quit [Ping timeout: 252 seconds]
<acheam>
The only dependency is a 1000 person Dev team
micro_O has joined #kisslinux
<acheam>
I don't think that I will ever settle into a software setup that I like
<acheam>
honestly I'm envious of people who can use a piece of software for 10yrs
<acheam>
switching back to CLI programs from GTK2 programs
<acheam>
although this time I'm not getting caught up in ricing, and trying to use defaults and black+white as much as possible
micro_O has quit [Quit: micro_O]
illiliti has joined #kisslinux
jess has joined #kisslinux
<midfavila>
that's part of why I want to start working on my own software
<midfavila>
there are *so many projects* that are *so close* to my ideal, yet there's always one or two nitpicks