ChanServ changed the topic of #kisslinux to: Unnofficial KISS Linux community channel | https://kisscommunity.bvnf.space | post logs or else | song of the day https://vid.puffyan.us/H7PvgY65OxA
trunc88_ has quit [Quit: nyaa~]
chomwitt has quit [Ping timeout: 264 seconds]
Torr has quit [Quit: leaving]
kqz has joined #kisslinux
<testuser[m]> Hi
<kqz> hey
<wael[m]> HI
<wael[m]> hi
<wael[m]> Hi
<testuser[m]> Hi
trunc88 has quit [Quit: restarting tmux]
trunc88 has joined #kisslinux
<wael[m]> anyone here has a fzy menu script?
aelspire has joined #kisslinux
chomwitt has joined #kisslinux
<virutalmachineus> I just downloaded my first ever electron app. I got to say, it feels good to use. Is this a gateway addiction.
<virutalmachineus> * a gateway to addiction.
<illiliti> of course evil feels good to use.
<trunc88> lol
<trunc88> dang i totally forgot about kwort linux, i never even tried it. what is my problem
<trunc88> oh it comes with openbox thats why
<trunc88> hm i guess obarun it is then maybe. looking for something to replace this void installation but dont want to use kiss because its a core 2 duo lol
<aelspire> trunc88: I've checked how KISS works on one old laptop with i3 before installing it on my main one, I've lost motivation to check it carefully after compiling rust, so I can feel your pain
<aelspire> source based distro works poorly with old specs, but with relatively powerful HW recompilation or update is quick
<illiliti> blame rust, not kiss
<aelspire> how people lived with gentoo 10+ years ago?
<aelspire> yeah, rust is to blame
<aelspire> but this wil be probably requirement for linux kernel in future
<aelspire> but llvm + clang is problematic too, and llvm is requirement for mesa
<illiliti> not for me
<aelspire> so I've thought about dropping gcc from my installation, not because I don't like gcc, but to have one less toolchain to compile
<illiliti> you can drop llvm dependency if you don't have amd gpu
<aelspire> but clangd as LSP for programming will still prevail
<illiliti> lsp is a distraction
<illiliti> i realized that i don't need one
<aelspire> I've heard about LSP for gcc but haven't checked it, maybe I should
<trunc88> yeah i use gkiss on my main computer, its very nice
<aelspire> illiliti: I'm still on my way to debloat my PC and workflow but living without LSP and autocompletion is still too much for me
<aelspire> Anyone have opinion on zig vs rust? I really like zig design, but rust's ecosystem is already thriving so I'm really torn between rust and zig as my main programming language.
<phoebos> i recently discovered gcc -fanalyzer, quite immature but somewhat useful
<illiliti> if I were choosing between zig and rust, I would choose zig.
<aelspire> phoebos: looks cool, I usually enable "-Wall -Wdouble-promotion -Wextra -Wshadow -Werror" but it would be cool to throw "-fanalyzer" too for static analysis
<aelspire> I would too but that rust ecosystem…
<illiliti> you mean cargo crap and these micro dependencies?
<aelspire> on zig you are on your own, not much ready libraries, and std is still big unknown
<aelspire> yeah
<illiliti> dude
<aelspire> but shitton of dependencies is more culture problem than cargo
<aelspire> but I see the point
<aelspire> give "modern" programmers package manager like cargo on C and this culture will flow here too
<aelspire> and there will be special library with is_odd function too
<illiliti> you don't need libraries
<illiliti> especially many of them
<aelspire> I agree but sometimes You will need something, sqlite for eg.
<illiliti> you don't need 10 libraries for that. just 1, maybe 2
<aelspire> generally current ecosystem is extremly bloated, so I'm fleeing more in KISS linux and suckless
<aelspire> but I'm still pragmatists - computers and programs should solve problems and help humans, not create more problems
<illiliti> then why you don't use windows?
<aelspire> forcing You to buy new PC every year because now calculator requires 4GB of RAM doesn't have anything in common with helping user
<aelspire> and I'm open-source lover
<aelspire> And also I too belive that technology need permacomputing and degrowth
<aelspire> but my pragmatic nature is still there
<aelspire> if computer only creates You problems, why You need one? Sell it to somebody in need and your life will be easier
<illiliti> i find it odd that with such nature you're interested in suckless, kiss and stuff
<aelspire> so IMHO programs should solve problems in most efficient way (including developer time)
<aelspire> why?
<aelspire> I treat "whatever works, throw electron and tousands of node modules" to suckles as gradient, and place myself close to suckless but more to the middle than most of pure suckless guys.
<illiliti> you said that computers and programs should solve problems, right?
<aelspire> yeah
<illiliti> in my experience people who say that are either macos or windows users
<aelspire> well maybe I'm just werido
<illiliti> cuz they don't care how it should be solved
<illiliti> they just need it to be solved
<aelspire> but I care
<illiliti> ah okk
<aelspire> I care how
<aelspire> but still solving problem is the aim
<aelspire> goal*
sad_plan has joined #kisslinux
<aelspire> testuser: systemd… and go somewhere and tell people that systemd is not good solution and they will eat You alive
<sad_plan> wael[m]: cant you just create your own fzy menu script? it has actually been on my todo list tbh
<wael_> cuz its hard
<wael_> i cant make it more efrixient than dmenu
<sad_plan> was that even the idea? :p could look at 9menu, thingmenu, and xmenu though. can make your own menus with them. though not terminal based
<sad_plan> I wanted to make one with fzy, or w/e else I find simple enough, thats written in C. mostly to have one less thing outside the terminal
<wael_> ill take a loool
<wael_> look
<midfavila> >all these nerds talking about autocomplete and lsp
<midfavila> >mfw i'm over here programming in ed
<sad_plan> I dont get ed. Ive tried to use it when vis breaks on oasis, but I just.. cant. I end up using sed instead to fix the issue
<midfavila> also, illiliti and co, look at SPLint if you want a static code analysis tool
<midfavila> sad_plan, wdym you don't get ed? there's not really anything to get
<sad_plan> I dont get the controls. I dont know them at all.
<midfavila> it's just sed my dude
<midfavila> except you can make forward and backward line references
<sad_plan> maybe I just revisit ed, to do simple rings instead. I recall downloading a manpage for it or something, but Im not sure if I kept it
<sad_plan> I did
<sad_plan> http://0x0.st/oUJ7.sheet.tx this one
<midfavila> v nice
<midfavila> i would also unironically suggest reading TUPE
<midfavila> has sections on editing under unix that you might find useful
<midfavila> some of the information is a little dated, mostly in regards to *really* specific under-the-hood stuff about unix, but it's a very solid read
<sad_plan> got a link?
<midfavila> one sec
<midfavila> something something while i don't condone piracy...
<midfavila> oh, fuck it, i totally do. it's been out for almost fifty years
<midfavila> anyway yeah, link rel should be mandatory reading for unix users
<midfavila> treasure of a book
<aelspire> this book remainds me about anecdote why there is bin lib etc in usr
<midfavila> root disk got full :p
<aelspire> yup
<aelspire> I don't know if it's true or not
<aelspire> but it makes the sense
<midfavila> if you're interested in the history and development of unix, i also suggest reading esr's the art of unix programming
<aelspire> but if so linux distro are doint usr merge the wrong way
<aelspire> distros*
<midfavila> i've been thinking of trying to eliminate /usr/* from my root filesystem tbqh
<aelspire> yes that would be interesting idea, but I feel this would be problematic as usually it goes in opposite direction
<aelspire> so there will be probably a lot of patching
<midfavila> what, dumping everything in /usr? yeah, it'd take a small amount of work to get kiss and the software packages i've written to cooperate
<midfavila> packages would unironically just be a sed command
<midfavila> speaking of kiss, how's k coming along?
<midfavila> for anyone who's involved in that
<aelspire> I'm just newbie here but I like KISS Linux a lot, firstly I was quite scared but intrigued as I failed to install gentoo long time ago, but now I see how everything just works and I like it
<midfavila> yeah gentoo is far more complex on a mechanical level than kiss
<aelspire> maybe jumping from OpenSUSE to gentoo was not so bright idea
<midfavila> probably not
<sad_plan> nice. ill have a peak at it midfavila
<midfavila> kk
<midfavila> i've been thinking of typing in and updating the implementation of hoc described in it
<midfavila> be nice to have a language that's a little more flexible than bc for mathematics
<phoebos> dc!
<phoebos> "flexible"
<midfavila> neither support non-integer exponents >:C
<phoebos> re: k, i don't know that anyone's working on it
<midfavila> rip
<phoebos> we (I) had some discussion here: https://codeberg.org/kiss-community/kiss/issues/103
<midfavila> >another big advantage of shell is that it can be read easily
<midfavila> lmao
<midfavila> lol even
<midfavila> but yeah the rest makes sense
<phoebos> lol. easily in the sense "less /bin/prog"
<midfavila> fair enough :p
<midfavila> but yeah, i think an approach similar to alpine would be best for kiss
<midfavila> which is what i think you were kind of getting at
<aelspire> bc is dead?
<midfavila> e.g have a frontend script that calls backend driver programs in C or some other language for specific tasks
<midfavila> aelspire, no, it's just too basic for some of what i want to do
<midfavila> 'k' is dead/in hibernation, which was/is a conceived alternative implementation of the kiss package management spec
<midfavila> "spec"
<phoebos> yeah. I'm not familiar with the implementation of apk though
<aelspire> I'm using qalculate in terminal for quick math but was interested in learning bc
<aelspire> as it's much simpler solution
<midfavila> qalculate is okay but it's also fuckhuge
<midfavila> isn't it C++, too?
<aelspire> yeah C++
<midfavila> blech, then it definitely wouldn't work for me
<aelspire> it's huge, so I was looking in bc direction
<raph_ael> wcalc
<midfavila> link?
<raph_ael> in most repos
<midfavila> yeah, link?
<phoebos> raph_ael: in which repos?!
<phoebos> > kiss find w.\?calc
<phoebos> >
<phoebos> nada
<raph_ael> well mostly big distros
<midfavila> so... not kiss.
<midfavila> = w=
<phoebos> oh
<raph_ael> it's been time i haven't tried again kiss
<midfavila> wonder if I could write an Athena frontend to this
<phoebos> do it!
<phoebos> btw, i should have time to try out libsx today or sunday
<midfavila> i will *single-handedly* keep Athena alive if I have to-
<midfavila> phoebos, based
<phoebos> playing some music tomorrow, but then less busy
<midfavila> i found writing programs with it to be very comfortable, until you try to step outside its sandbox
<midfavila> at which point, you just... can't
<phoebos> ah i can imagine
<midfavila> yeah
<midfavila> 'cause it never returns a pointer to the application context or the toplevel shell widget
<phoebos> oh what
<midfavila> yeah
<phoebos> you can still get it from xlib though right
<midfavila> iiiiiiiiiiiiiiiii don't think so
<phoebos> huhhh
<midfavila> Xt only returns it once afaik, and that's at the start of your GUI initialization code
<midfavila> XtAppInitialize() I think
<midfavila> >build wcalc
<midfavila> >it segfaults immediately
<midfavila> i'm thinking based
<midfavila> anyway i'm off
<midfavila> i need to order some things because weeeeeeeee consoom day
aelspire has quit [Quit: aelspire]
<sad_plan> wael_: sh -c $(find /bin | fzy) will launch your selection from fzy :p
<sad_plan> not elegant for shit, but it works though
<wael_> i kinda want the dynamicness of dmenu tho
<wael_> like the size
<wael_> i tried to make that today, but felt like it was ineffieciwnt
<wael_> it reads the stdin and for loop on if its width and height etc etc then adds it to an 'array'
<wael_> loops over all of them so i think its not good imo
<sad_plan> im sure one can figure out a more elegant solution to this. I was thinking if I fetch the content in $PATH, one should easily be able to just pipe that to fzy. one can even make a case statement, and i.e. if you have a script that would need to be ran in your terminal, automatically launch it for you.
<sad_plan> shouldnt be too complicated
<wael_> im talking about the menu program not the fetch binaries one
<wael_> like dmenu and not dmenu_run
<sad_plan> aah
<sad_plan> theres a list at the bottom here, maybe one of them is what youre looking for? https://github.com/sgtpep/pmenu
<wael[m]> >>>>>>>>>>>>>>>>>>>its python
<sad_plan> nevermind pmenu, look at the bottom of the readme
<sad_plan> in 'alternatives'
<wael[m]> rtagr7e8uyghesdulhsdeg hsdGHKrweghyiwrbushgbnyhkcvhbnm,jyfghbJDGDHSYUGJSUYHGULXDKGDJDSl
<sad_plan> and obviously ignore those in python, ruby and rust
<sad_plan> what
<sad_plan> lol
<wael[m]> i had
<wael[m]> stupid
<wael[m]> without a comma
<wael[m]> i did not
<wael[m]> read
<sad_plan> I can relate to being a sloppy reader. and its painfull at times, as I often miss some vital infomatino I need later on, when things bork on me
<sad_plan> and then youre really frustrated as you dont get why things broke, and you reread the manpage or something, and youre like; oh....
<wael[m]> i agree
<sad_plan> yeah
<wael[m]> i agree
sad_plan has quit [Quit: nyaa~]
sad_plan has joined #kisslinux
<wael[m]> <sad_plan> "im sure one can figure out a..." <- what do you use for menu anyway?
<sad_plan> dmenu atm
<wael[m]> shiiiiiiiii
<sad_plan> but it was on my todo list to initially drop dmenu, for some hacky script as I mentioned earlier
<sad_plan> mostly due to me wanting to practice shell
<wael[m]> idk just trying to make a fzy dynamic script just seems so fucking inefficient
<wael[m]> let me remake it cuz i deleted it
<sad_plan> well, if the only thing you have is what I wrote earlier, obviosuly, but theres nothing stopping you from creating something which is way better. like I said, specifiying what to do if certain packages is selected
<sad_plan> i.e. instead of me launching dmenu with 'st -e ytdl', I could initially launch just ytdl, as the script would automatically detect that, and launch 'st -e ytdl' instead
<wael[m]> quickly spun this up from memory
<wael[m]> this is what i tried to make earlier
<sad_plan> I cant decypher that. its beyond my skill level :')
<wael[m]> try uh
<wael[m]> echo yes no | fmenu
<wael[m]> basically, reads stdin, sets the array (like kiss), loop over that, check if the string width is bigger than the existing width (0 if none set already), which can set the 'dynamic' terminal width which is unused lol, and the height is the same, but adds one for the input area of fzy
<wael[m]> for fin, it adds a space to the fin variable if it had already been set, like if fin hadnt been set it would be fin=yes
<wael[m]> but because if it already has been set it would become fin='yes no'
<wael[m]> fmt is the same, but adds a newline instead for printf and fzy to recognize newlines
<wael[m]> im not very good at explaining but i hoep that phehpled
<wael[m]> personally i think this is absolute garbage and is very inefficient, which is why im afraid of using it
<wael[m]> to loop over 1094 exectuables with find, piped to fmenu to 'choose' one, takes 2 seconds to process
<wael[m]> so clearly this is not going to work
<sad_plan> hm. I think i understand
<sad_plan> if its so bad, why are you even using it?
<wael[m]> im not
<wael[m]> i just wnated to see if i can make it a real thing
<sad_plan> ah
<wael[m]> i dont even use fzy in the first place
<wael[m]> i want to use it tho.
<wael[m]> just yet to find something like fmenu
<wael[m]> i could probably save time with fzy, but i wanted to make something like fmenu for use inside the terminal, and outside with a flag
<sad_plan> I see. so sortof like ytfzf works. it defaults to fzf, but with a flag, uses dmenu. it can also use other stuff too, if you just specify it. like bemenu and so on
<wael[m]> i dont want my menu program to be specific on the display server
<wael[m]> bemenu is like the only one that is wayland and x11
<wael[m]> but itd be nice to use it in termianl to
<midfavila> reminds me that i need to write a parser for a menu description language
<sad_plan> it doesnt have to, unless you choose something thats specific to X or wl
<midfavila> at some point soon i'd like to write replacements for xmenu and demnu using athena
<wael[m]> my guts dont want me to use it lmao
<wael[m]> the community and software around dmenu is really cool but idk
<midfavila> i think dmenu is a bit silly t b q h
<midfavila> ~1k lines of code to implement a line-editing widget that dumps its contents to stdout
<wael[m]> i think 1k lines is expected for that tho
<wael[m]> what is another 'menu' program like dmenu or fzy thenZ?
<midfavila> xprompt, but it has the same problem
<midfavila> it also just doesn't work
<midfavila> :v
<wael[m]> sounds p cool
<midfavila> i mean, it is
<midfavila> as is everything made by its author
<midfavila> (he also made xmenu, piemenu, shod, and more)
<wael[m]> by phillbush?
<midfavila> yeah
<wael[m]> midfavila: he what
<midfavila> his programs are quite hard to read though
<wael[m]> you forgot xnotify
<midfavila> i said "and more"
<wael[m]> XPROMPT IS FUCKING
<wael[m]> 2300~ SLOC
<wael[m]> dmenu is ~1355 SLOC total
<wael[m]> dmenu.c being 1000
<midfavila> >mfw doing this in athena would be like fifty lines, tops
<wael[m]> do it
<wael[m]> bloody do it mate
<midfavila> fine then faget
<midfavila> >:C
<wael[m]> bloody 50 lines come on thats blasphemy
<wael[m]> gotta need maybe 80K sloc library tho
<wael[m]> mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
<midfavila> athena is ~30k
<midfavila> drop in the bucket compared to what's already being pulled in
<wael[m]> 30k iss
<wael[m]> much
<wael[m]> more than
<wael[m]> 100
<wael[m]> 0
<testuser[m]> wael: lol you're running a quadratic algorithm on 1000+ inputs
<midfavila> you seem to be ignoring the libraries that dmenu pulls in
<wael[m]> yeah idk whats better lo
<wael[m]> dmenu needs xlib
<wael[m]> right
<testuser[m]> Lol why are u counting loc
<midfavila> generally, lower linecount means an easier to understand program
<wael[m]> BECAUSE HE IS
<wael[m]> gDSYHGUIOEGHESIOBYPSDGBW
<midfavila> not always true, of course
<wael[m]> nnn is a great example
<midfavila> of it holding or not holding?
<testuser[m]> most of suckless code would probably fit that but it isn't easy to read
<midfavila> yeah, hence generally
<wael[m]> muh suckles noo
<illiliti> now look at busybox code
<midfavila> no thanks
<midfavila> 's part of why i'm writing my own userspace
<midfavila> brb
<phoebos> some of busybox is ok. it's just everywhere that they use ifdefs and their helper functions that I want to die.
<midfavila> i try to avoid the preprocessor as much as possible for that reason
<midfavila> the most i'll ever do is #include or #define, and the latter only in particularly worthy cases
<phoebos> the problem is they use it throughout the code, not just in headers or at the top
<phoebos> horrible
<wael[m]> whtas wrong with preprocessor
<illiliti> they also use typedefs
<illiliti> typedef considered harmful when
<phoebos> wael[m]: nothing in some cases, but try reading https://git.busybox.net/busybox/tree/archival/libarchive/get_header_tar.c#n265
<wael[m]> i cant read C but sure
<phoebos> that's a rather simple example too
<wael[m]> hey what's wrong with this
<wael[m]> looks fine to me
<wael[m]> maybe they wouldn't want to use configure variables at run time and this is better
<phoebos> it's mainly because it can be built with a large choice of which features are included, to make the binary smaller
<phoebos> but it's messy af
<wael[m]> well what can be made to make it clearne
<wael[m]> r
midfavila has quit [Ping timeout: 268 seconds]
<phoebos> in their case, not much because they choose to pick certain specific features which are within functions
<phoebos> but in general, putting conditionals into headers or just separating different features into different files, makes everything more readable
<phoebos> s/headers/headers only/
midfavila has joined #kisslinux
<midfavila> and we're back
<midfavila> (had to swap out my phone's SIMs)
<midfavila> gonna have a real internet connection soon :D
<phoebos> :D
<midfavila> whopping 15mbps ADSL2
<phoebos> looking at libsx now :p
<midfavila> >new ISP's login page crashes my browser
<midfavila> the wonders of javascript
<midfavila> not only that, in loading it twice, it's taken up 13mb of my data plan :D
<wael[m]> what kind of data plan do you hve
<midfavila> i have one of the "fancy" ones this month
<midfavila> 50CAD for unlimited tax NA-wide, 12GB of 3G, and global text
<midfavila> okay, big-boy work is almost done for the day
<midfavila> internet will be a go-go on the second (hopefully)
<midfavila> interestingly the ISP mentions gopher in their ToS
<phoebos> > Generally this should not be a problem (if it is, you are probably getting beyond the scope of what libsx was intended to provide, i.e. you're becoming an X hacker :).
<midfavila> yeh
<midfavila> i posted about that in here the other day
<phoebos> fair enough. I like that this is just for people who don't want any of the mess of X, and it knows that
<phoebos> oh sorry lol
<midfavila> don't apologize, it's just a discussion :p
<midfavila> but yeah, i saw that and was kind of distraught for a bit
<midfavila> 'cause libsx is *really* useful, even for developing "real" X11 software
<midfavila> it's like using boehm-gc instead of manually managing your memory i guess
<midfavila> takes a lot of busywork out of programming in C
<phoebos> it is. it's not as much of a change from just using xaw as i expected
<midfavila> yup, but I think that's honestly a good thing
<midfavila> you go from XtCreateManagedWidget(...) to MakeLabel(), but otherwise it's pretty much the same
<phoebos> it's just convenience functions; if i didn't know about the structure of xt with the main loop and callbacks i might be confused
<midfavila> mhm
<phoebos> I like it though
<midfavila> same
<midfavila> i think, long-term, i'd like to make, idk
<midfavila> libcx
<midfavila> convenient x
<midfavila> similar API/experience to sx but with slightly more freedom
<phoebos> heh
<phoebos> good luck
<midfavila> because I do *not* feel like doing shit like setting up callbacks just to have scrollbars move text fields
<phoebos> ^
<midfavila> like it's fine if it's a one off thing per program
<midfavila> but god
<phoebos> aye
<midfavila> still, i remain *committed* to using Athena >:c
<wael[m]> might as rename yourself to mathena
<midfavila> >not midnerva
<midfavila> disappointed in you
<wael[m]> mathena sounds more badass shut up
<wael[m]> midnerva sounds like a cod 360 youtuber
<midfavila> mathena sounds stupid >:c
<wael[m]> athavila
<wael[m]> maybe??
<phoebos> ew minerva
<phoebos> we strive to be a roman-free zone here
<wael[m]> whtas a roman
<midfavila> roman your mom's bed, HAH
<phoebos> > minerva
<phoebos> > roman goddess of wisdom
<phoebos> shitty version of athena
<wael[m]> midfavila: thta doesnt make sense
<midfavila> yes it does, you're just not old enough to understand
<wael[m]> YOU FU
<midfavila> phoebos i probably would call any toolkit i make minerva tbqh
<midfavila> >athena but not
<phoebos> well, if you want it to be shittier from the get go, then fine
<midfavila> hard to be shittier than athena :P
<phoebos> i won't use it!
<midfavila> that's fine uwu
<phoebos> '_'
<midfavila> i'd legitimately be shocked if anyone used any software i wrote lmao
<wael_> Ahat the fu
* phoebos forks just to change the name
<phoebos> > BUGS: The function name is way too long.
<phoebos> I like this guy
<midfavila> yeah he seems pretty based
trunc88 has quit []
<phoebos> good good, i can reproduce a segfault from xaw
sad_plan has quit [Quit: nyaa~]
<midfavila> oh?
<phoebos> it's my fault (trying to set the text value of not a text widget), but that's the kind of thing i'd hope a convenience library would catch
<midfavila> aaah, yeah
<phoebos> ooh string entry widget
<phoebos> that doesn't exist in xaw, right?
<midfavila> it does not
<midfavila> looking at "a survey of widget sets"?
<phoebos> ye
<midfavila> there are some good ones in that list
<midfavila> look at the comp.windows.x11 FAQ on faqs.net too
<midfavila> there are lots of questions about finding widgets
<phoebos> > Using it on another type of widget yields undefined results.
<phoebos> weird thing for a library to say
<midfavila> tbf athena was never intended for production use, so error-checking might have been an afterthought
<midfavila> by the time people realized their mistake (assuming nobody would use a demo in production), it would've been too late to change anything
<midfavila> just a hypothesis
<phoebos> mm
pbsds7 has joined #kisslinux
pbsds has quit [Ping timeout: 256 seconds]
pbsds7 is now known as pbsds