gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
parsley936 has quit [Remote host closed the connection]
<drakonis> it doesnt just trigger when opening local files
<drakonis> it does this when doing normal tasks as well
<drakonis> all of a sudden it decides to keel over and die
<drakonis> i'm fairly sure it is has to do with it attempting to update and fail
<drakonis> so it only starts working after the binary is up to date
<infinisil> I am disappointed that https://ko-fi.com/ doesn't *actually* send you coffees
footlooseboss has joined #nixos-chat
<bqv> Github actions are so unergonomic
<bqv> pie_: this is why I switched to nyxt
<bqv> Waaaay more control and waaaaay simpler
<bqv> Ill just use multiple pushurls rather than mirroring…
<drakonis> y'alls should play slay the spire downfall
<drakonis> beat the living daylights out of the player characters as bosses
rajivr has joined #nixos-chat
<V> bqv: ...was nyxt previously known as next?
<bqv> Yes
<V> oh, cool
<V> better name imo
<bqv> They realised it didn't sound close enough to nix
<V> loll
footlooseboss has quit [Quit: ...]
<abathur> probably just realized it was ungoogleable
<abathur> which is, amusingly, a problem Nix has it's own version of
<abathur> there should be some sort of strict international governmental cabal that forces software projects to rename every 3 months if they can't google just the name of their own project and find a related result in the first N pages
<abathur> the shadowy conspiracy we need
<bqv> more ways to enrich google's hegemony
<bqv> nah i'm good
<abathur> oh, fine; I'm being reductive--use dogpile or metacrawler or w/e
<bqv> heh
<abathur> it'll still filter out the crop of absolutely enragingly unsearchable projects
<drakonis> for a moment there, i felt like running gentoo
<drakonis> icky.
<bqv> icky?!
<bqv> gentoo's the only one out of non-nixes that's decent
<bqv> huh, i think i'm the first person to run a non-official vervis instance
<ashkitten> what is nyxt
<abathur> Nyxt is the Greek goddess of the night, making it consistent with the parent organization name, Atlas?
<abathur> Nyxt is a relatively unique spelling which will result in few false positives?
<bqv> ^ he's not wrong
<abathur> Nyxt is an admission that we didn't realize anyone would want information about our project, or that we know nothing about how to find information, or that we let someone who knows neither of these things name it
<abathur> ashkitten: a browser; apparently one no-one heard of until they renamed it
<ashkitten> okay
<ashkitten> everyone keeps talking about nyxt in here and i couldn't figure out what it was or where to find it
<abathur> in their defense, I have been curious about it since I saw it on whereverwherever earlier this week (presumably HN)
<samueldr> I think everyone's mostly bqv :)
<abathur> hehe
<bqv> lol, yes
<bqv> i really am the purveyor of niche software :|
<abathur> just gotta get you dealt in as the *namer* of niche software
<abathur> niche software needs a niche name
<abathur> if fewer than 1 in 5000 people will care, you need to be really freaking sure you're in the top 10 search results
<abathur> not in the like, have-to-know-what-language-it-was-written-in-to-find-it bin
<V> <abathur> ashkitten: a browser; apparently one no-one heard of until they renamed it ← hey, I've known about it for a couple of years
<abathur> hehe
<abathur> <3 V
<{^_^}> V's karma got increased to 0x1
<abathur> perfect
<V> which would be... about as long as it has existed, apparently
<V> nyxt is good
<bqv> 0 x 1, that's 0!
<V> :p
<ashkitten> bqv: sell me on nyxt?
<bqv> do you like emacs?
<bqv> if yes: it's emacs but for web browsing.
<ashkitten> i like vim
<abathur> ruhroh
<V> ashkitten: it's a browser except you can script it in a lisp
<bqv> if no: it's a fully hackable browser based on lisp
<V> really cool
<ashkitten> can i have vim keybinds
<bqv> think luakit but on industrial steroids
<V> sure
<bqv> you can, yes
<ashkitten> in text fields?
<V> you can have vim keybinds in emacs
<V> you can do literally anything in emacs
<bqv> theoretically you can have literally anything
<bqv> that's the entire point.
<V> emacs is just that hackable
<ashkitten> are there preset things i can use for that?
<ashkitten> or do i have to write my own everything
<bqv> someone has a PR somewhere for embedding vim in text fields i think
<bqv> can just parrot that
<bqv> as for global keybinds, there's a vi-mode
<abathur> "do I have to write my own everything?" spoke to me
<abathur> :(
<V> :(
<ashkitten> does it actually embed vim or is it vim emulation?
<ashkitten> (or is it a neovim frontend!)
<bqv> the PR i spoke of, neovim clients in javascript (that can be embedded pretty trivially using parenscript)
<bqv> the global keybinds, emulation
<ashkitten> that's pretty sick
<ashkitten> can you point me to the thing for nvim in text fields?
<ashkitten> also, what about extensions? i use a number of firefox extensions
<ashkitten> i need my ublock
<bqv> extensions may end up turning up via the webextensions api, but for the moment there's already a builtin blocker-mode
<bqv> that you can turn on and off (hence, mode)
<bqv> and modify to add hosts
<bqv> it's defaults seem pretty sane
<ashkitten> is this a from-scratch browser btw, or is it based on webkit/gecko/blink/servo?
<drakonis> nyxt?
<bqv> webkit, ostensibly, but could be extended to any
<drakonis> you can also use nomad
<bqv> i have it on my wishlist to see if i could port servo to it
<ashkitten> i'd like another browser that uses something non-webkit/blink
<ashkitten> getting tired of everything using it, or even using cef or slapping a new frontend on chromium :(
<drakonis> there was one under development, but its proprietary
<drakonis> so, its useless.
<bqv> ashkitten: ah, here's what i was thinking of https://github.com/atlas-engineer/nyxt/issues/461
<{^_^}> atlas-engineer/nyxt#461 (by alexherbo2, 46 weeks ago, open): Embed Emacs in Next
<bqv> and yes, i really wish something new happened, that's why i'm keen to get servo working in nyxt
<bqv> then it'd be perfect
<ashkitten> ooh firenvim is already a firefox extension
<ashkitten> that's sleek
<bqv> maybe i'll try emacs_chrome
<bqv> but yeah, it says it works in vivaldi etc, so it clearly is fine for webkit and isn't all too tied to a particular browser
<bqv> just load it using parenscript and you're done
<ashkitten> firenvim isn't in nixpkgs :(
<ashkitten> ooh i wonder if firenvim would also use my nvim config and plugins in firefox :o
<ashkitten> that's the main appeal of using neovim clients instead of vim emulation in stuff
<bqv> yeah i think that's the point
<bqv> which is why i'd rather have emacs in there :p
<ashkitten> heh
<ashkitten> does emacs have a client protocol like neovim?
<drakonis> i cant find the weird proprietary browser
<bqv> it's had one for more than a decade before neovim even existed
<ashkitten> neat!
<bqv> drakonis: did you mean: internet explorer?
<ashkitten> i don't know shit about emacs other than it's a window manager and can run as pid 1
<bqv> if you like nyxt, you could probably learn to be obsessed with emacs too
<drakonis> no its not IE
<drakonis> i saw a post about it last year
<bqv> it took me a year or so but now i'm attached by the hip
<V> you can run anything as pid 1
<V> whether that's useful to you or not is a different matter
<V> emacs just happens to be extensible enough to be useful as that
<drakonis> some weirdos decided it was fine to make a proprietary browser in 2020
<V> yeah idk why they'd do that
<ashkitten> i mean yes you can run anything as pid 1
<ashkitten> but nvim wouldn't be a particularly useful pid 1 :p
<ashkitten> (i don't consider that a fault, for a text editor)
<bqv> at least it has a terminal...
<bqv> that's ..something
<ashkitten> when i wanted to try out emacs it took me 5 minutes to figure out how to get it to run *inside* the terminal, and another 10 minutes to figure out how to quit
<drakonis> ah
<drakonis> flow browser
<ashkitten> why doesn't emacs tell you how to exit when you press ctrl+c like vim does??
<bqv> you clearly don't remeber the vim memes
<drakonis> oof.
<bqv> back in olden days, it was a thing that nobody knew how to quit vim
<bqv> that's *why* they added that message
<drakonis> you have to pay for it too
<ashkitten> well yes
<bqv> emacs, on the other hand, the assumption is you at least have the menu around so it's hardly difficult to go file -> quit
<ashkitten> and i can't figure out how to quit emacs
<ashkitten> yeah sure but what if i don't have a graphical emacs session
<drakonis> the fastest browser lol
<bqv> i reckon most first-time emacs users don't go terminal, so they at least get a chance to spot the keybind in the menu once
<bqv> i don't remember how i learnt, too long ago now
<ashkitten> sure but it's like, a basic usability thing
<bqv> direct answer: ctrl-c doesn't apply to emacs, it's bound to many, many other things
<bqv> e.g. i can press `C-c p c` to build and deploy my nixos configuration
<ashkitten> and? it's trivial to detect if a user is spamming buttons trying to exit
<ashkitten> not saying this means emacs is bad in general
<ashkitten> but it's a big ux concern
<bqv> `C-c C-c C-c` would probably be the first unbound thing, and i mean sure you could bind that to a message, but i seriously doubt that would help
<bqv> and tbh, if you're coming to emacs with "ux concerns" you're barking up the entirely wrong tree
<ashkitten> i mean, i'd consider nvim's FTUE pretty decent for a complex text editor
<samueldr> that's some good gatekeeping talk if I ever heard some
<bqv> it's not gatekeeping, it's a straight-up design decision
<samueldr> to have a bad UX?
<bqv> there's a reason emacs's ui hasn't been revamped for longer than i've been alive
<bqv> it's designed to be a terminal emulator
<bqv> with ..lisp, hacked in, very tightly
<ashkitten> when i first launch emacs it tells me everything except how to exit
<ashkitten> the first thing you see when you launch vim is how to exit
<ashkitten> nano always has the exit keybind displayed on screen
<bqv> again, it is now, it didn't used to be, it only became so because it became a viral meme that nobody knew how to quit vim
<bqv> you're about the first person i've seen struggle to exit emacs
<samueldr> and that is, you see, an improvement
<samueldr> not "barking at the wrong tree"
<samueldr> maybe not everyone screams at the top of their lung they failed to exit emacs
<samueldr> since they've seen the tired old meme of "hurr dhurr vim is hard"
<samueldr> but eh
<samueldr> I couldn't exit emacs either
<samueldr> I don't know how to still
<samueldr> but I don't care since I just don't use it
<bqv> so what do you want, a message on the initial screen? if it really bothers you, make a PR
<bqv> it's been many decades, nobody's bothered, because nobody cares enough to
<samueldr> nah, since that'd be barking at the wrong tree
endformationage has quit [Quit: WeeChat 2.9]
<bqv> you're extraordinarily passive aggressive you know...
<ashkitten> it might say something about emacs that vim learned from its mistake and emacs did not
<bqv> my point is that you're framing it as a mistake, when i don't see it as one, and i'm speaking as someone who's used both proficiently for quite a long time
<ashkitten> intentional or not, it's bad ux
<ashkitten> and yeah ux does still matter for projects that are decades old
<ashkitten> "that's the way it's always been" is not an excuse for being bad
<bqv> you're complaining about something that only becomes an issue when you spend actual intentional time trying to look up how to open emacs in a terminal rather than gui, because you can't be bothered to then look up it's basic keybindings
<samueldr> I'm easily aggravated by "UX can't be fixed" when it feels (to me) it's a "get good" sentiment
<bqv> that's just absurd
<ashkitten> bqv: or if you open emacs in a virtual console? or over ssh?
<bqv> and you anticipate most people's first experience of emacs would be that?
<ashkitten> yes.
<ashkitten> many people
<ashkitten> it doesn't matter if "most"
<samueldr> or using the "wrong" package
<samueldr> (a different UX issue)
<ashkitten> i'm sure some distros have a separate package for the gui version of emacs
<ashkitten> like most have a separate gvim
<bqv> christ, i give up
<ashkitten> i mean, you don't have to defend it on this one issue
<ashkitten> this is not a hill that's necessary to die on
<ashkitten> emacs can still be good and useful and have bad FTUE
<ashkitten> and nobody is implying it's a bad editor
<bqv> dude, there are a lot of fucking problems with emacs, this is not one of them. in my mind this is like saying the biggest issue with russia is that it snows
<ashkitten> i never said it's the biggest issue either
<bqv> but i've had enough of a shitty day, i didn't need to be dragged into another argument
<ashkitten> i said it is an issue
<ashkitten> i hope the rest of your day is better, truly
julm has quit [Ping timeout: 265 seconds]
julm has joined #nixos-chat
waleee-cl has quit [Quit: Connection closed for inactivity]
cole-h has joined #nixos-chat
<ashkitten> ,escape ''
<{^_^}> Escape this in " strings with: ''
<{^_^}> Escape this in '' strings with: '''
<ashkitten> what do people use these days for nvim completion? is it still deoplete?
<cole-h> colemickens: What was that software you used to display GitHub markdown locally? I think it was Python-based.
cole-h has quit [Quit: Goodbye]
clever has quit [*.net *.split]
Jackneill has quit [*.net *.split]
drakonis has quit [*.net *.split]
lassulus has quit [*.net *.split]
Jackneill has joined #nixos-chat
clever has joined #nixos-chat
drakonis has joined #nixos-chat
lassulus has joined #nixos-chat
Jackneill has quit [Max SendQ exceeded]
<ashkitten> current status: overriding firefox-bin with a postFixup that patches which keybinds are reserved so i can ^W in firenvim
<JJJollyjim> lol
<JJJollyjim> does firenvim fix the "can't inject js into pages with CSPs" issue
<JJJollyjim> that has made whatever extension i used to use totally pointless
<JJJollyjim> since keyboard shortcuts would only work on a few pages
<JJJollyjim> and not if the browser chrome was focused
<JJJollyjim> e10s was a mistake :P
<ashkitten> JJJollyjim: firenvim seems to work fine on discord, element, github, protonmail (in the plaintext editor)
<JJJollyjim> nice
parsley936 has joined #nixos-chat
<talyz> ashkitten: the terminal version of emacs tells me how to exit on the splash screen
<talyz> ashkitten: maybe this is new in 27.1, though. I normally have the welcome screen disabled, so I don't know how or if it's been updated
waleee-cl has joined #nixos-chat
<eyJhb> content.sixgun.org <- anyone who can visit that site?
<eyJhb> Trying to listen to Linux Outlaws
das_j has quit [Quit: killed]
ajs124 has quit [Quit: killed]
ajs124 has joined #nixos-chat
das_j has joined #nixos-chat
boredom101 has joined #nixos-chat
boredom101 has quit [Remote host closed the connection]
<eyJhb> That little "fur" instead of "for" in a loop, and you feel a little bit German (even if net spelled correctly)
<ar> #define fur for
<sphalerite> eyJhb: German… or Furry?
<JJJollyjim> lol
lukegb has quit [*.net *.split]
makefu has quit [*.net *.split]
lukegb has joined #nixos-chat
makefu has joined #nixos-chat
<infinisil> Hah
<makefu> Umlauts are important for Germans, almost as important as accents are for the French
neeasade has joined #nixos-chat
<eyJhb> sphalerite: :(
<eyJhb> makefu: Can't even write them on my keyboard, afaik
<infinisil> cat ~/notes/umlaute | tr -d '\n' | pbcopy
<infinisil> Then just paste when you need an umlaut, which inserts äöü, and delete the ones you don't want :P
<V> just use xcompose
<V> ⋄"o → ö
* infinisil doesn't have a compose key
<infinisil> (yet)
<V> Get one! They're cheap.
<etu> mmm, compose key
<infinisil> I mean I have like 10 unused keys on my keyboard, just too lazy to configure lol
<V> Only 99¢
<V> From your nearby xkb vendor
<infinisil> heh
<etu> Since I got my compose key, I'm hooked
<V> compose keys are great
<V> you can type ☭ whenever you want
<V> very convenient
<V> (I have no idea why that's a default compose sequence)
<etu> haha
<manveru> <3 fcitx
<manveru> trying to write japanese with compose key is... hard :P
* etu types polish letters sometimes ty type polish names
<etu> Things like ł
<talyz> V: I would probably use compose for that more often than umlauts :P
<talyz> (I use umlauts way too often for compose)
* etu use compose for umlauts
* etu type umlauts daily at work
<talyz> etu: :O
<etu> talyz: I made sligtly better compose mappings though. oe => ö instead of that danish letter
<V> ...that's a decent idea
<talyz> etu: sounds a lot better than ⋄"o at least
<etu> talyz: Indeed
<etu> talyz: Otherwise I wouldn't stand it :D
<talyz> the umlauts I need are on level 3 shift, so AltGr + p => ö
<talyz> the only annoying thing with the layout is that ' is also on level 3 and " on level 4
<V> god, that's so much better
<makefu> eyJhb: i use us-int, there you can alt-p -> ö , alt-s -> ß
<makefu> alt-gr as talyz explained already :D
<sphalerite> V: wait, what's the compose sequence for that?
<V> sphalerite: ⋄CCCP lol
<sphalerite> ☭ ahahaha great
<V> [communism intensifies]
<etu> I love that it's uppercase as well
<JJJollyjim> lmao that's the only compose sequence i can remember
<joepie91> lol
<etu> oo -> °
<etu> It's handy
<JJJollyjim> ☭
<joepie91> not to be confused with CCP, which will produce a spaceship emoji
<JJJollyjim> °v°
<sphalerite> joepie91: lies :(
<joepie91> :D
<joepie91> sorry :P
<V> ⋄so -> §
<V> ⋄o/ → ø
<joepie91> wouldn't that be great though
<sphalerite> why CCP?
<Church-> Neat, my APU is getting here tomorrow
<Church-> And only shipped today
<Church-> I'll take it
<joepie91> sphalerite: google CCP games
<gchristensen> impressive
<joepie91> :P
<makefu> urxvt also support ISO14755 input with ctrl-shift
<JJJollyjim> i was racking my brains trying to remember whether there was a "Chinese Communist Party are actually aliens" conspiracy theory
<sphalerite> joepie91: oh. My first association with CCP is the Chinese Communist Party
<Church-> gchristensen: Welcome back. O/
<gchristensen> thanks :~)
<etu> gchristensen: o/
<gchristensen> \o
<joepie91> sphalerite: yeah, it's an... inconvenient naming collision
<makefu> good morning
<makefu> and welcome back :)
<joepie91> sphalerite: I imagine that was even more of a problem when CCP Games partnered with some Chinese company to build a mobile version of EVE
<sphalerite> gchristensen: 👋
<joepie91> ... well, I say problem, but who knows
<joepie91> might have helped :P
<sphalerite> or _maybe_ EVE Online was actually developed by the Chinese government.
<joepie91> dunno
<joepie91> I have a hard time believing that the Chinese government would develop what is functionally Anarcho-Capitalism: The Game
<etu> sphalerite: Nah, Iceland
<makefu> ☭ via ctrl-shift 262D
<joepie91> (also known as Neo-Libertarianism: The Game, since that is basically the same thing)
<Church-> So #nixos-chat Eve corp when?
<pie_> me, trying to buy stuff noone seems to have :
<pie_> dont yall want my money
<pie_> sadly hardware (boxes) isnt as easy to diy as software
tilpner has quit [Remote host closed the connection]
tilpner has joined #nixos-chat
tilpner has quit [Remote host closed the connection]
tilpner has joined #nixos-chat
rajivr has quit [Quit: Connection closed for inactivity]
cole-h has joined #nixos-chat
<cole-h> I was wondering why my computer was so slow... It's cuz my pool is scrubbing lol
<gchristensen> I need to hire (short term contract for now) someone to write docs for a product built around Nix. Anyone interested?
<joepie91> gchristensen: depends, is it open-source?
<gchristensen> no (I was going to contact you first, then remembered)
<joepie91> heh :)
<joepie91> appreciate it :P
<joepie91> but yeah, that won't be one for me then
<pie_> "if the five eyes can't implement bad crypto and get away with it, they'll just make sure every crypto tool sucks to use and makes it easy to make accidents"
<gchristensen> quoth gpg(1)
<pie_> yeah i imagine that could not be a poke at anythign else
<pie_> on the other hand
<pie_> ssl
<pie_> gchristensen: is part-time possible?
<gchristensen> quite possibly, pie_
<pie_> im not very confident but it might be worth a shot to apply
<joepie91> it's actually kind of ridiculous that this is one of the easier threat models to defend against (all you need is One Stubborn Person who makes a better interface) and we're still not collectively managing to do that
<pie_> though i look forward to pulling a joepie91at some point :P
<pie_> joepie91: ikr. but its not the biggest venn diagram subset
<pie_> noone has written a better nix cli :p
<joepie91> no, but it's also not zero
<pie_> *nod*
<joepie91> like, "people who know crypto" and "people who could build a better UI" is definitely a non-zero-sized set
<joepie91> overlap-wise
<pie_> maybe the suffuciently stubborn people are consumed welsewhere :I
<joepie91> wellllllll
<joepie91> IME the main enemy here is apathy
<pie_> idk tbh, where _are_ these people now that yu mention it :P
<pie_> maybe writing that one rust thing, etc
<pie_> also maybe need one guy to skunkworks it
<joepie91> the people in that set varyingly 1) do not believe that the problem is actually a problem, 2) do not believe that it is possible to solve it, 3) do not believe that it is worth trying to solve, 4) have become disillusioned with Other People for one reason or another and are therefore not motivated
<joepie91> you would not *believe* how often I have to argue with people about even the premise that "a thing that is easy to misuse is bad", including with people who really should know better
<pie_> yeah
<joepie91> and I've largely given up on the convincing part and have just started fixing shit myself, but I have a finite amount of time
<joepie91> it's just... the overall apathy and insistence on habits and tribes in tech is horrendously bad
<joepie91> just today I had to spend 15-30 minutes arguing with someone over using ?? in JS instead of ||, the latter of which is clearly not semantically correct (and has weird behaviour) and the former of which is correct and just as easy to do really
<joepie91> but instead of going "huh, yeah, that's better actually", they chose to spend half an hour defending the writing of incorrect code for no actual benefit
<joepie91> and this x100 is what I run into when I try to convince people of the less obvious things like API ergonomics
<joepie91> like, holy shit, stop being so difficult for the sake of being difficult
* joepie91 frustrate
<joepie91> fix the thing, move on
<joepie91> </rant>
* pie_ hugs joepie91 :P
<pie_> yeah idk man
<pie_> like, i could argue technicalities but idk why the fundamental issue is so hard to see
<joepie91> oh I'm totally fine with actual meaningful discussion, I spent 10 minutes discussing the exact naming of a method in my DB project and how a word that can be either a verb or a noun could be confusing there, and that was a useful discussion
<joepie91> it's just, yeah, exactly that, stop trivializing/denying the issue itself
<pie_> just say "i dont want to spend effort on this" if thats what you want
<pie_> *if thats what they want
<joepie91> at least acknowledge the problem so that we can have a discussion about how to best solve it with the best tradeoffs, instead of you demanding that I defend my mere existence and the purpose of the universe first
<joepie91> right :P
<pie_> how often do we have this circlejerk haha
<joepie91> don't think we've had this one before
<joepie91> and it's more ranting than circlejerk :P
<pie_> idk it would be very fitting
<pie_> i think you should write a faq
<joepie91> I'm slowly churning out articles about common frustrations
<pie_> if the other party is charitable enough to work with they will be better off reading a coherent explanation anyway
<joepie91> I need to get my blog into proper functioning order so I can publish it better
<pie_> otherwise its probably not worth arguing with them _every_ time
<pie_> one step at a time. your gist dumps are a start
<joepie91> one of my more recent things in this vein is https://gist.github.com/joepie91/04cc8329df231ea3e262dffe3d41f848
<joepie91> all those will move to my blog eventually
<pie_> btw: "epistemic status" and "estimated time to read" labels might be nice
<joepie91> I'm just waiting for Shayu to gain the necessary features for RSS support, then I can convert it over to that and sufficiently customize it for what I need
<pie_> gchristensen: sorry for the triple-post, in any case i sent a pm
<eyJhb> joepie91: syntax error
<eyJhb> Also, what does ?? do in JS?
<joepie91> eyJhb: what
<joepie91> oh, the ??
<eyJhb> There is no start tag of <rant>
<eyJhb> -> Syntax error :p
<joepie91> oh :D
<joepie91> anyway basically everyone does shit like `options.timeout || 3000` to get either one or the other and that is wrong
<joepie91> ?? fixes that
<eyJhb> Ohhh, yeah I remember that actually
<eyJhb> I am used to ? in PHP before they got ??
<joepie91> unlike ||, which is actually boolean OR and so triggers on any falsey value, ?? will only trigger on nullish values (null/undefined)
<eyJhb> Also, gchristensen is back :o
<joepie91> and the latter is almost always what people actually want outside of actual boolean logic
<eyJhb> joepie91: seems idiotic to argue over that
<joepie91> it is!
<eyJhb> -> That he/she/it/whatever did not just admit it
<joepie91> but it happens reproducibly
<joepie91> "nah, || is fine here, it's not a problem"
<joepie91> every single fucking time
<joepie91> and even *after* explaining that it's irrelevant whether it works now because at some future, point the assumption that "this will never be an empty string" is going to be invalidated, that just... gets ignored and they return to "nah it's fine here, it won't be"
<joepie91> at some future point*
<joepie91> it just boggles my mind how people don't realize that every assumption like that that they make, adds another item on the tech debt mountain
<joepie91> anyway I said </rant> :P
<eyJhb> I am a master of the tech debt mountain!
<eyJhb> I just wrote some completely new code today, that I need to change :D
* joepie91 is working on his database thing again
<eyJhb> But at least that is more because, I took the easier route, but I just need to put in another module I have
<eyJhb> Forum?
<joepie91> if you mean the forum gist, yep, that was example/test code for the database project :P
<eyJhb> What is the goal of the database project?
<joepie91> eyJhb: making databases fun again :)
<eyJhb> And you are not allowed to say, to work with databases.
<eyJhb> Damn it.
<joepie91> eyJhb: basically it's a sort of query builder / ORM that's designed like it's its own database
<joepie91> and that has a much more ergonomic API than ye olde SQL
<joepie91> it's built on PostgreSQL, but unlike other ORMs/QBs it's not a leaky abstraction where you basically need to learn both SQL and the abstraction
<joepie91> nor is it meant to "let you write SQL" -- while it's designed to (hopefully) allow you to fulfill arbitrary usecases (including eg. complex reporting), that doesn't mean you can generate arbitrary SQL queries with it
<joepie91> so in the end it should basically look and feel like it's a whole new database system
<joepie91> that uses PostgreSQL as its internal engine but does not otherwise leave you to deal with it
<joepie91> and where you can learn the entire system, including everything needed for arbitrary queries, from just reading the documentation of the database thing (I haven't settled on what to call it yet)
<joepie91> also means that it has its own concepts which don't 1:1 map to SQL, for example there's no direct equivalent for JOINs
<joepie91> but there are various table-reference-y APIs that may internally end up using JOINs
<joepie91> TL;DR I am very very sick of the shitty design of SQL and how noone seems interested in fixing or even acknowledging the ergonomics issues with it
<joepie91> see also the rant above :P
<eyJhb> It works PERFECTLY!
<eyJhb> :p
<joepie91> eyJhb: honestly I'm waiting for the first onlooker to take this as an invitation to explain to me at length how Actually, SQL Is Fine because algebraic blah blah proven tech blah blah etc.
<joepie91> as there always seems to be at least one in every channel
<eyJhb> joepie91: I have a finite of time ;)
<eyJhb> \s I don't know enough about it :P
<joepie91> (probably needless to say, but those discussions have never led to anything fruitful)
<eyJhb> I have soo much bloat in my code, that needs to be fixed atm. :( `auth.AuthService -> auth.Service`
<joepie91> eyJhb: most people don't, honestly. there seems to be a hell of a lot of SQL proponents who take "I have no issues with it personally" to mean that they are qualified to comment on its language design
<joepie91> even if they have 0 language design insight
<joepie91> ironically, this is less of a problem in the PostgreSQL channel than most other places...
<pie_> and then theres the people who write whole books about how Actually SQL As Implemented Doesnt Conform To Relational Algebra
<joepie91> heh, I have not seen those
<joepie91> but I also think that focusing on 'relational algebra' is entirely the wrong track to be on, when talking about the end-user interface
<joepie91> makes total sense in the internals design and figuring out the mental model; but the design of the input language should be focused around the usecases that people actually have, not some abstract notion of mathematical elegance
<pie_> idk about that. the "abstract notion of mathematical elegance" is what gets you an internally consistent expressive system, but im probably missing your point
<joepie91> yes, that is why I'm saying it's fine for internals
<pie_> mm, well ok
<joepie91> the problem is that your "internally consistent expressive system" is functionally useless if even the simplest tasks take a lot of hassle to express in it, and the design of the language itself is as inconsistent as can be
<joepie91> like, SQL is one of the very very few languages still in widespread use that does not actually have a basic syntactic structure!
<joepie91> the valid syntax is 100% contextually determined
<pie_> i think we're talking past eachother
<pie_> im advocating against sql, so to speak
<joepie91> there's nothing like braces (most languages) or indentation (python) to indicate or delimit specific things
<pie_> (it would be better if it actually conformed to relational stuff - or something)
<joepie91> which means you have 0 syntactic consistency to go off when writing or understanding SQL
<joepie91> pie_: right, I'm just saying why modelling it after relational algebra doesn't magically get you an ergonomic system
<pie_> sure
<joepie91> your users are not doing relational algebra, they are expressing business requirements
<pie_> its a good thing for the person designing the database to be able to thugh
<joepie91> yet "relational algebra" is one of the most common arguments I hear as to why SQL would be well-designed...
<pie_> its the common argument by inheritance
<pie_> and when i tried to search for lecture videos on relational algebra i didnt actually find anything decent afaict
<samueldr> pie_: no need to
<pie_> not that im an expert
<pie_> i was looking because im not
<samueldr> relational algebra is by itself the goal to achieve
<samueldr> :)
<samueldr> haven't you heard that it's fine since anyways SQL is built using that?
<pie_> huh? xd
<samueldr> dunno really, I agree that it seems the foundations are always touted as good and obvious, but it seems nowhere they are explained
<pie_> something something original paper from that one guy, and this pascal dudes rants and blog
<eyJhb> samueldr: That is the reason why I am afraid of my next semester !
<pie_> or the other guy with relation to this pascal guy, cant remember which one has the blog
<pie_> _seems_ clueful at least
<eyJhb> I got a 12 (-3 to 12) for my bachelor project, but would have gotton a 02 because of missing explanation if it were in the current semester.
<pie_> i think i havent actually finished it
<infinisil> eyJhb: What kind of messed up rating system is that?!
<infinisil> -3 to 12?
<gchristensen> anyone have tips on how to copy a file without cp, in posix shell?
<gchristensen> (with only builtins)
<lucus16> < source > dest
<lucus16> no
<drakonis> posix shell? probably not
<drakonis> bash might have
<lucus16> in bash it's echo "$(<source)" >dest
<drakonis> huh, neat.
<drakonis> a new thing i learned
<lucus16> Haha, I just learned it as well
<lucus16> I felt like I'd seen it long ago
<pie_> does it deal with nuls
<lucus16> not well
<lucus16> it drops them
<pie_> use echo -e to write a cp binary to disk, how to make it executable is an exercis for the reader :p
<V> gchristensen: uh, probably read + printf
<ashkitten> 32GB of RAM is not enough to have firefox running while i build firefox :(
<V> You don't need to write that to disk
murarth has joined #nixos-chat
<ashkitten> hi gchristensen welcome back!
<V> And if you want to, try to find a preexisting +x executable
<cole-h> Couldn't you just `umask` before writing the cp binary?
<lucus16> gchristensen: I have to ask, why do you want this?
<pie_> cole-h: neat
<V> cole-h: no
<pie_> aw
<V> Because files are created with 0644
<V> (Or 0666)
<V> So removing the mask doesn't change the fact that it doesn't have the executable bit set in the first place
<cole-h> Ack. Darn.
<V> IIRC it might be possible to execute something regardless of whether it has the right modes if you're root
<V> But your best bet is to overwrite a preexisting binary
<viric> don't remove the mask or the virus will spread.
<cole-h> Create something to LD_PRELOAD that changes created permissions maybe? :P
<gchristensen> thanks, ashkitten!
<gchristensen> lucus16: I want to copy a file inside a `derivation` which has no tools :)
<pie_> cole-h: at that point you might as well just write the functionality ou need
<cole-h> Wow, going low-level `derivation`
<cole-h> pie_: :P
<pie_> write code to .so, LD_PRELOAD=... sh
<pie_> hmhm
<pie_> and here i was wondering how to get sh to execute raw code
<pie_> i guess thats how
<V> Not if you're statically linked
<pie_> though at that point i guess you might as well just call ld.so
<pie_> hm true
* V speaks from experience getting extremely hosed systems to work again
<pie_> does ld.so check for +x <V> IIRC it might be possible to execute something regardless of whether it has the right modes if you're root
<pie_> heh
<pie_> someone gave me a puzzle like this before and i forgot
<V> /bin was screwed. I had bash builtins. Some combo of overwriting a preexisting binary with +x on + bash's /dev/net
<V> Was using echo to list directories
<eyJhb> infinisil: -3 00 02 4 7 10 and 12. :p -3 is basically absent or you hit the teacher, 00 is just failed
<V> pie_: yes, if you have dynamically linked executables that works
<V> I did not have the executables
<pie_> V: ld will not be able to load/run a static executableM
<pie_> ?
<V> pie_: I do not believe so
<V> Why would it
<V> It's the dynamic loader
<pie_> becaus its just an elf?
<V> Go try it out
<V> Maybe I'm wrong
<pie_> i dont have anything off the top of my head to check with
<V> GCC -static
<pie_> thanks
<eyJhb> gchristensen: when you say NO TOOLS, what is your shell etc.?
<gchristensen> `/bin/sh`
<eyJhb> just sh
<eyJhb> Oh
<eyJhb> I might have something
<eyJhb> ALSO! You're back gchristensen !
<eyJhb> :D
<gchristensen> =)
<eyJhb> I can't remember it... :(
<jtojnar> joepie91: yes, even just let expressions would make SQL much more useful
<eyJhb> But I just seem to remember at some CTF, where you could do something like >>>test.txt>test.txt
<joepie91> jtojnar: kinda sorta has that, WITH
<pie_> eyJhb: isnt >>> a bashism
<pie_> or <<< or whatevr
<jtojnar> joepie91: that is very limited IIRC
<V> <<< is a bashism
<joepie91> jtojnar: ofc, it's SQL :P
<joepie91> but it's there!
<Church-> Alright, I should get my Teleport module working this coming weekend.
<V> I think you can solve this with a combination of read and printf
<V> As I said before
* pie_ waits for pkgsstatic.gcc
<joepie91> jtojnar: the limitedness seems a symptom of the syntactic inconsistency issue I was talking about
<eyJhb> gchristensen: Guess I am no help
<joepie91> every bit of syntax is tailor-made
<jtojnar> indeed
<joepie91> there's no overarching general scoping model
<pie_> V: no null issues?
<V> pie_: does... does normal GCC not support static compilation
<joepie91> no overarching general structure
<joepie91> etc.
<pie_> V: well ld complains about not finding -lc
<V> Ohh
<pie_> V: so ive no idea but im assuming so
<pie_> i dont think i ever did any cross compilation on nix yet
<pie_> (or much ever for that matter)
<jtojnar> joepie91: I find https://github.com/bitemyapp/esqueleto a nice compromise
<pie_> not sure why you cant just add some static libs to the env or something
<V> pie_: you'd need to be a bit clever with things
<pie_> maybe you can. idk.
<V> To avoid the nulls
<V> Maybe translating them twice
<eyJhb> gchristensen: why do you not have any other commands avail?
<V> Or doing multiple reads
<pie_> oh no its compiling stuff and said something about musl
<gchristensen> I'm in a bare derivation, and the only thing I have is /bin/sh
<pie_> ok so at least it is bash then and not plain sh
<cole-h> eyJhb: "I want to copy a file inside a `derivation` which has no tools :)"
<eyJhb> Yeah but more like, why are you in a bare derivation and want to copy a file :p
<eyJhb> Who did this to you like
<jtojnar> joepie91: I can still apply the painfully obtained mental models from SQL while enjoying a compositionality of a functional language
<pie_> wHy nO cOreUtIlS
<pie_> why even bash when you could use execline
<pie_> and a tiny tailor made copy binary
<V> Who needs execline when you can just set the builder args
<pie_> well kind of pointless to have execline at that point since the most you could do is run multiple copiues i guess
<pie_> V: who needs cp when you can just have mount stuff from the store
<V> And who needs builder args when you can just specialise the binary to hard-code the paths you want
<pie_> (or some variant of that that actually makes sense)
<joepie91> jtojnar: I've given up on trying to make joins composable in my design
<joepie91> they just aren't, as far as I can tell
<V> Who needs computers when you can throw them all in the ocean and then go live in the forest instead
<pie_> nvm im not going to compile gcc right now. i guess that experiment is suspended.
<V> Sounds much more pleasant
<pie_> V: maybe not forever thugh
<eyJhb> gchristensen: are these commands cheating? THis is /bin/sh with no path - https://termbin.com/bhz7
<pie_> you need a healthy computer/all-computers-at-the-bottom-of-an-ocean-and-im-a-carpenter balance
<V> pie_: mmm
<samueldr> eyJhb: I think some are bashisms, but mostly
<pie_> V: what about plain exec
* pie_ looks at eyJhb'slist
<gchristensen> my /bin/sh inside the sanbox doesn't have env :x
<eyJhb> samueldr: why would any of them be bashisms?
<eyJhb> gchristensen: mine neither :p
<samueldr> because /bin/sh in posix mode still leaks a bit
<eyJhb> I ran than from fish
<gchristensen> hehe
<pie_> gchristensen: neither does this, it was just to clear the env i think :p
<samueldr> /bin/sh is likely bash, eyJhb
<eyJhb> To unset all envvars. Only those in autocomplete
<samueldr> yes
<eyJhb> Damn you samueldr
<eyJhb> THat is true
<samueldr> like compgen
<eyJhb> GNU bash, version 4.4.23(1)-release-(x86_64-unknown-linux-gnu)
<samueldr> that's the completion thingy from bash
<eyJhb> NOT COOL
<pie_> yeah sh is bash in nixos
<samueldr> but that might be close enough to know
<pie_> because nixos requires bash
<samueldr> you might want to figure out how to get busybox's ash in sh mode
<samueldr> less likely to be bashist'd
<pie_> tbh why arent we using sh to bootstrap bash?
<pie_> then again
<samueldr> hm?
<pie_> i guess why bother if the stdenv depends on bash anyway
<pie_> samueldr: have bash as a build input to stdenv, have sh be real sh
<gchristensen> samueldr: my /bin/sh is dash
<pie_> (real sh is more portable?)
<gchristensen> but the default /bin/sh in a nix sandbox is busybox
<pie_> oh
<pie_> for some reason i thought it was bash
<eyJhb> gchristensen: so we can assume dash then?
<pie_> my bad
<gchristensen> no
<samueldr> gchristensen: :) I assumed it would be busybox's in the derivation, but didn't make any assumptions
<samueldr> and also why I said "likely bash", as some people do things
<eyJhb> Can you share the drv for playing around gchristensen ?
<jtojnar> > "SQL/XML 2006 calls for full integration of XQuery. [...] It would, however, seem to make more sense to reuse PostgreSQL's existing query planning and execution facilities and consider XQuery a parallel alternative to SQL"
<{^_^}> "SQL/XML 2006 calls for full integration of XQuery. [...] It would, however, seem to make more sense to reuse PostgreSQL's existing query planning and execution facilities and consider XQuery a paral...
<cole-h> lol
<samueldr> is the bot mocking jtojnar :)
<samueldr> (yes I know it's just evaluating a string)
julm has quit [Remote host closed the connection]
julm has joined #nixos-chat
endformationage has joined #nixos-chat
<ashkitten> ohhhh
<ashkitten> i figured out what was wrong with firefox
<ashkitten> okay cool
<ashkitten> don't have to rebuild it then
<ashkitten> i can just patch it in the postFixup phase :p
murarth has left #nixos-chat ["I'm gone."]
tokudan has quit [Remote host closed the connection]
tokudan has joined #nixos-chat
<abathur> It MigHT gEt OLD, bUT Once IN a BLUE moON ThE BOT ShOUlD QuOte soMeONE In SpOnGeBOb CAsE
cole-h has quit [Ping timeout: 256 seconds]
<infinisil> > spongebobify
<{^_^}> <LAMBDA>
<infinisil> > spongebobify "This is totally normal sentence
<{^_^}> error: syntax error, unexpected $end, expecting '"', at (string):321:15
<infinisil> > spongebobify "This is totally normal sentence"
<{^_^}> "THiS IS tOtALlY noRMaL SENtENCe"
cole-h has joined #nixos-chat
<samueldr> such a joke shouldn't be used on any other channel than a "fun" channel, or else it's a recipe for disaster...
<samueldr> ... and even then... probably not a good ide
<samueldr> a
<abathur> <3 infinisil
<{^_^}> infinisil's karma got increased to 349
<abathur> I'll just _imagine_ it barging into a vim/emacs fight by spongebobifying someone
<abathur> maybe give it some watchwords that increase the chance it'll do it
<neeasade> HEY emacs already has studlify. time travel exists
<neeasade>
cole-h has quit [Quit: Goodbye]
<ar> irssi used to have a dau.pl script
cole-h has joined #nixos-chat
<lucus16> neeasade: Eh, in vim you can just repeat ~l
<neeasade> lucus16: that just makes it capital?
<lucus16> Tilde toggles capitalization and then l just skips a character so you toggle every other character when you repeat that
<ashkitten> y'ever just use full blown neovim in firefox?
<neeasade> oh I real l as 1
<neeasade> lucus16: yeah I feel you, if alternating chars is good enough for you then yeah sure
<ashkitten> this is so good
<lucus16> neeasade: Well we have macros to make that easy
<neeasade> well sure, what editor doesn't
<neeasade> but a built in function since the 80's for a meme that doesn't exist yet
<neeasade> the dream
<samueldr> DAE hate writing C?
<samueldr> I wonder what I could cram into my (neo)vim config to make it less painful
<samueldr> generally working on kernel code if it help
<samueldr> I should also figure out a strategy to not always build the kernel via nix-build
<lucus16> such as nix-shell?
<lucus16> no but, what is painful, formatting?
<lucus16> repetition?
<samueldr> C
<neeasade> samueldr: well yes but what's the intersection with neovim where it could help
<eyJhb> What do you mean infinisil ? We all know that DKK, SVE, NOK, VND, USD, EUR was a great idea
<eyJhb> And our > true = 0
<eyJhb> :D
<samueldr> neeasade: that's why I'm asking for tips, I don't know
<samueldr> Completion? Some smarts about types
<neeasade> https://github.com/MaskRay/ccls with a neovim lsp plugin would help
<neeasade> towards "smartness"
<colemickens> When you subscribe to mobile-nixos and wake up and realize you "watch"ed nixpkgs on GitHub. Time to write email rules I guess.
<samueldr> Haha
parsley936 has quit [Remote host closed the connection]
parsley936 has joined #nixos-chat
tilpner has quit [Ping timeout: 265 seconds]
<ashkitten> i heard neovim has lsp support built in now
<ashkitten> is that true?
<drakonis> do check their patch notes for that
<Church-> colemickens: lol
cjpbirkbeck has joined #nixos-chat
<samueldr> I have no idea, never used an LSP still
lukegb has quit [Quit: ~~lukegb out~~]
lukegb has joined #nixos-chat
<colemickens> ashkitten: yeah I think there are some of us in nixos land that run the 0.5 RC for that reason. There are some treesitter/lsp plugins in nix's plugin list that are meant for 0.5
<ashkitten> so it does?
<colemickens> I think a neovim nightly overlay was mentioned recently in discourse
<colemickens> "built-in" is hard to answer, but yes, I think so, when combined with https://github.com/neovim/nvim-lspconfig
<gchristensen> mbsync, offlineimap, any alternatives or preferences?
tilpner has joined #nixos-chat
iqubic has joined #nixos-chat
* colemickens its starting to look easier to eat the cost of this phone than print the return label for it
* colemickens hates printers and faxing needs like none other.
<aterius> colemickens: Yep, mine https://github.com/mjlbach/neovim-nightly-overlay
<samueldr> colemickens: trade-in value for another newer pixel?
<aterius> If you just want the latest and you don't mind building from source, as mentioned on discourse this is overkill
<colemickens> samueldr: it's that stupid $140 red vzw one that has the busted sim card slot
<samueldr> they don't know that
<samueldr> (I don't know how trade-in works)
parsley936 has quit [Remote host closed the connection]