<drakonis>
this one's a benno post as a lwn article
<drakonis>
ah wait wrong place
<gchristensen>
evidently there is a hall effect sensor in my laptop to detect the lid close, and my phone has a magnet in there, strong enough to trigger it
<samueldr>
two macbooks on top of eachothers, at one time, caused weird to diagnose shutdowns
<samueldr>
(or more appropriately, sleeps)
<iqubic>
What is a `hall effect sensor'?
<iqubic>
And how do magnets screw with that?
<samueldr>
no idea
drakonis has quit [Quit: WeeChat 2.3]
<gchristensen>
a hall effect sensor is a switch which is triggered by a magnet
<gchristensen>
the "lid switch" in basically every laptop is a hall effect sensor, with a a sensor and a magnet, one in the lid and one in the base
drakonis has joined #nixos-chat
<cransom>
yeah. most laptops lids have one in there to detect closing.
<gchristensen>
take a paperclip and (lightly, obviously) run it around the edge of your display and you'll probabl yfind a magnet
<cransom>
i had my laptop right next to a stepper motor on my cnc router and was moving it around. one axis went by and my laptopwent to sleep (steppers have giant magnets)
<samueldr>
make sure the paperclip will be attracted to a magnet :/
<cransom>
assuming it's not stainless steel, just take you rlaptop and throw it as hard as you can against the fridge. you'll probably find the sensor then.
<samueldr>
my laptop is not stainless steel
<cransom>
(the fridge, that is)
<gchristensen>
if your fridge is stainless steel, you'll have to throw it harder, but you'll also find the sensor in the wreckage
<drakonis>
is there a place that isn't logged
<gchristensen>
on IRC?
<drakonis>
well
<drakonis>
on irc is kind of simple, join any channel and it isn't going to get logged in a way that is visible to everyone
<drakonis>
there's no nixos owned channel that isn't logged, right?
<drakonis>
at least so i can talk about things without being visible on the internet
<gchristensen>
I think they're prett ywell all publicly logged
<gchristensen>
samueldr: has been pretty thorough
<iqubic>
I keep logs of all the channels I'm in, but I never share those with anyone ever.
<samueldr>
you can bet most channels that aren't publically logged are privately logged
<infinisil>
"I'll publicly broadcast into a channel of 100 users, but I don't want this to become public"
<drakonis>
haw
<drakonis>
lobsters has a rule against publishing logs
<infinisil>
What logs?
<drakonis>
because there's people that want public logs for some reason
<drakonis>
channel logs
<gchristensen>
might be reasonable about making #nixos-chat unlogged
<drakonis>
i'd rather have a separate channel for that
<disasm>
I have IRC logs dating back to 2002 :)
<drakonis>
for the ranty types
<drakonis>
iqubic: can you not repeat the text on the error output that i read and opened the file on the line that caused it to break?
<infinisil>
I've been pretty ranty in here lol, i feel like I'm slowly turning into a grumpy developer
<gchristensen>
I prefer the term "seasoned"
<mdash>
infinisil: with much learning comes much sorrow
<drakonis>
s/seasoned/salty
<infinisil>
Lol
<samueldr>
I am incredibly... flummoxed?... at how technical channels are often not publicly logged and searchable
<samueldr>
this is just like the pre-history
<samueldr>
only oral tradition
<drakonis>
people like their privacy
<samueldr>
I did say _technical_ channels, I understand about social-first channels wanting to shy away
<drakonis>
this channel has some cool stuff worth logging at times
<samueldr>
but the amount of knowledge being lost through the cracks of times in those technical channels that aren't logged saddens me, as an archivist
<drakonis>
there was the guy that run blastwave on the freebsd channel, he had some pretty good stories
<samueldr>
(or moreso, aspiring archivist)
<drakonis>
these werent logged
<drakonis>
kinda sucks though
<drakonis>
it was a time of turmoil i did not experience
<infinisil>
drakonis: would anonymity be good too for you?
<drakonis>
that depends on where it is applied
<infinisil>
We could have a #nixos-anon chat where you can only join anonymously (not sure how to implement though :P)
<drakonis>
i just want a tiny corner to get ranty that isn't going to show on google
<drakonis>
so i can get ranty with other folks from the channels
<infinisil>
I think that's the wrong approach, you can never be sure it's not logged
<infinisil>
Data can always be copied
<infinisil>
I guess it could work if you encrypt the messages and only allow trusted people to decrypt them
<drakonis>
the irc clients may log it, but they're not web facing
<gchristensen>
encryption doesn't provide anonymity
<infinisil>
I could publish all my logs with a single `cp -r` though, and nothing could stop me
<drakonis>
oh of course
<infinisil>
gchristensen i meant that it could allow being sure that nothing is logged
<drakonis>
just have a channel with the only rule is that "please don't publish anything"
<gchristensen>
it doesn't, though
<drakonis>
but that's not enforceable
<infinisil>
Assuming you trust the other people to not log either
<gchristensen>
it is a long tradition that some channels are "no logs" and people respect it
<gchristensen>
#emacs for example
<infinisil>
gchristensen: Why not? The encrytion thing?
<samueldr>
(and to be fair, I asked first before logging nixos channels)
<samueldr>
(and it was mainly to start replacing the slowly failing botbot.me)
<samueldr>
(and I don't start logging a channel unless asked to)
<infinisil>
The technical channel #idris is not logged either because the owner (and author of the language) won't participate if it's logged..
<infinisil>
samueldr++
<{^_^}>
samueldr's karma got increased to 53
<infinisil>
The idris channel would be specially useful for logging, there are tons of useful Q/A in there
<drakonis>
aye
lassulus has quit [Ping timeout: 240 seconds]
lassulus has joined #nixos-chat
pie_ has joined #nixos-chat
pie__ has quit [Ping timeout: 272 seconds]
<ottidmes>
anyone here any good with jq? there is one thing I still dont know how to do with it, to check whether a value matches any element of an array, I know of contains, but contains annoyingly checks for substrings even if you have a list of strings, right now I just hardcode the list with .key == "foo" or .key == "bar" or ..., but I rather say .key | elem(["foo", "bar"]), like `in` but reversed in subjects
<ottidmes>
guess I can use variables: jq '. as $root | ["foo", "bar"] | .[] | in($root)'
<colemickens>
"This dynamic transfer / deployment of arbitrary computations is possible because definitions in Unison are identified by a cryptographic hash of their content, including the hashes of all dependencies (the hash is also “nameless” as it isn’t affected by naming of variables). To transfer a computation, we send it to the recipient, and the recipient checks to see if the computation references any unknown hashes. Any
<colemickens>
unknown hashes are synced to the recipient before the transfer completes and the computation proceeds."
<colemickens>
I guess this is old, 2015, but interesting to me.
<gchristensen>
same as Nix! :)
<gchristensen>
in order for Nix to access a path, the expression has to provide proof that it is allowed to
<gchristensen>
that proof is the inputs used to build that path
ottidmes has quit [Quit: WeeChat 2.2]
<iqubic>
Huh?
<gchristensen>
hrm?
<mdash>
gchristensen: "nix to access a path" is a little ambiguous, path literals can refer to relative paths
<gchristensen>
to a store path
<mdash>
fair enough
lassulus_ has joined #nixos-chat
lassulus has quit [Ping timeout: 245 seconds]
lassulus_ is now known as lassulus
pie__ has joined #nixos-chat
pie_ has quit [Ping timeout: 244 seconds]
endformationage has quit [Quit: WeeChat 2.3]
iqubic has quit [Ping timeout: 240 seconds]
<etu>
Any people from here going to FOSDEM? :-)
<etu>
There doesn't seem to be a NixOS stand of any kind though, but it's probably too late to try to arrange that now
<sphalerite>
etu: yeah me and a bunch of other people from mayflower are going
<sphalerite>
we tried to get a nixos devroom, but that was rejected
<sphalerite>
we'll probably hang around the distributions devroom or something
<etu>
sphalerite: Nice, we should meet up :)
<sphalerite>
yep!
<etu>
sphalerite: Maybe they would have accepted a "stand" and not a devroom. I don't know. Since a stand is a table with chairs.
* lejonet
is going to FOSDEM
<etu>
lejonet: We can occupy space in the distro devroom for nix ;)
<lejonet>
etu: haha yeah, I haven't even looked at what talks I'm interested this year... xD
<etu>
Why would I look at the list of talks? The list will probably change and the rooms will be full :D
<infinisil>
etu: I don't like these kind of polls, the "what's your favorite .." ones
<lejonet>
infinisil: me neither, usually too easy to skew them
<infinisil>
Because it jus ends up being a popularity contest, without any indication on whether something is actually good
<lejonet>
Yep
<infinisil>
These polls only work if it's a 2-step one: First question "How well do you know these distros?" And then "Out of the distros you know, how much did you like each?"
<infinisil>
And then weight the results by how good you know each one
<lejonet>
infinisil: and then it becomes quite hard to do in a poll-format so to speak, because then it becomes more like a questionnaire/"market research"
<sphalerite>
>Linux Distro
<sphalerite>
>ReactOS
<joepie91>
almost the same, right? :D
<lejonet>
and with the risk of being burned at the stake, how "good" a distro is can't really objectively be measured either, because just like you can't say "this is good security" without knowing the threat model, you can't really say "This is a good distro" without specifying use-case
<joepie91>
lejonet: mm... I'd say that it's possible to determine how 'good' a distro is based on how well it meets the requirements of *its defined target demographic* (which implies threat models etc.)
<lejonet>
sphalerite: technically tho, isn't it a linux distro, in the sense that it uses the linux kernel, but that is about where the similarities end?
<joepie91>
like for example QubesOS is good if it provides the promised secure isolation properties, it's bad if it constantly fails at them
<joepie91>
it just doesn't mean that a good distro is the right choice for everybody :P
<sphalerite>
lejonet: I believe reactos uses its own implementation of the NT kernel..?
<lejonet>
joepie91: indeed, there are plenty of properties that can be used to gauge how good a distro is at fulfilling its promises, like QubesOS and their security promises, etc, but that doesn't really say if the distro is "good" for any arbitrary value of good, except for maybe security :)
<joepie91>
lejonet: Qubes was just one example; for a distro like Ubuntu, its goodness could be judged by how easy it is for inexperienced users to find their way around
<joepie91>
since that's more or less the premise
<sphalerite>
lejonet: i.e. no linux at all!
<lejonet>
sphalerite: the wikipedia site says hybrid, so possibly true
<sphalerite>
"
<sphalerite>
From Scratch
<lejonet>
joepie91: Yeah, which is why you can't really say a distro is good, without specifying what its good at imo
<sphalerite>
This is not Linux mimicking Windows.
<sphalerite>
says reactos's website :p
<lejonet>
sphalerite: then I'm mistaken then :) maybe that was another project that I mix up with reactos then? Because I have a vague recollection of someone making an actual linux dist, with wine as its userspace more or less
<sphalerite>
there is a lot of wine involved in reactos's userspace
<lejonet>
I bet, mainly because wine is one of the better implementations of windows userspace that I know off at least
<lejonet>
So more likely I've just attributed stuff to reactos without actually verifying that its correct, good to know that so I can correct that in the future :)
<lejonet>
(not that I really discuss reactos on any regular basis, at all, anyway... xD)
hedning_ has joined #nixos-chat
hedning_ is now known as hedning
<ar1a>
what's the recommended torrent client nowadays?
<ar1a>
i used to use qbittorrent
<ar1a>
does everyone use rtorrent or something
<__monty__>
I like transmission.
<__monty__>
I only use the webui mostly though.
<ldlework>
hmm i've been using deluge
<ldlework>
but i think i picked randomly
<ldlework>
it seems like every other torrent client i've used
<ar1a>
need to support a functional torrent client then. where is torrentmonad 🤔
<__monty__>
Deluge used to be popular because of its aggressive peering. I'm not sure whether that's still an advantage now though. I run a bunch of transmission instances remotely so for me the most important feature is stability (especially with tons of torrents seeding) and a functional webui.
avn has quit [Remote host closed the connection]
<infinisil>
ar1a: I use deluge
<infinisil>
Am pretty content
<gchristensen>
y'all must d/l a lot of linux ISOs :')
<ar1a>
linux ISOs and royalty free music!
<joepie91>
Firefox & Edge specifically only support the -webkit-text-stroke property (not using -moz- or -ms- prefix)
<joepie91>
~standards~
<etu>
joepie91: It's a bit like that *all* browser say that they are Mozilla to get frames from websites
<joepie91>
we might maybe possibly potentially be getting a parent selector in CSS!
<joepie91>
sorta
<joepie91>
though inverted; "contains X"
aleph- has joined #nixos-chat
<lejonet>
joepie91: "Contains nuts"
<joepie91>
lejonet: isn't that basically *
<joepie91>
:P
<lejonet>
joepie91: kind of my point ^^
endformationage has joined #nixos-chat
<samueldr>
uuh, I hope the parent selector won't bring slowness and weirdness to CSS... who am I kidding, it will
<joepie91>
samueldr: very unlikely, that's precisely the reason why it hasn't been done for so long, because no intuitive and performant approaches had been found
<joepie91>
so once it does happen, it's very likely performant
<samueldr>
let's hope, and let's hope that breaking one of the main rules (direction of the cascade) is worth it in real world maintainability :/
<gchristensen>
yikes
<joepie91>
samueldr: :has doesn't change direction of the cascade
<samueldr>
as far as rules are concerned, having something inside an element wouldn't change rules
<samueldr>
maybe it's not the cascade I had in mind
<joepie91>
samueldr: to visualize how :has works... consider that in a normal `foo > bar > baz` rule both the "what is the selected set of items" and "what is the set of items we're currently trying to find" pointers always point at the same thing; so upon evaluating the first selector, both point at "the set of `foo` items", and when evaluating the second selector, both point at "the set of `bar` items within each element in the set of `foo` items", and so
<joepie91>
on -- when you do `foo:has(> bar > baz)`, that changes such that the selection and finding pointers point at *different* things; for the first selector they both point at "the set of `foo` items", but for the first selector the selection pointer keeps pointing at "the set of `foo` items" whereas the finding pointer now points at "the set of `bar` items within each element in the set of `foo` items"
<joepie91>
this means that `foo:has(> bar > baz)` doesn't change anything about the cascade, because it works mechanically the same as `foo:hover`; it refines the set of `foo`s by some additional qualifier that happens to be a bunch of selectors and that continues internally traversing the tree
<joepie91>
but it will still only ever result in matching items that are `foo`s in the end
<samueldr>
yeah, that's right in that sense, but as I said, maybe it's not "the cascade" that I had in mind, but some other assumptions in how rules are applied
<joepie91>
what assumptions? :P
<samueldr>
that as far as rules are concerned (I know they will affect them in other ways) having elements inside a parent element wouldn't change rules
<samueldr>
hmm, :has is not part of the live profile
<joepie91>
clever: update on sleep pattern, several days later - and after going to bed like 2-3 hours later during the weekend than normal - my sleep pattern is still consistent, and it's drifting back to sleeping-at-midnight again (like it was before the weekend), with the only meaningful change being that I'm a bit slower at getting out of bed in the morning, but that's likely due to temperature
<gchristensen>
one of my favorite things in the world is going to bed every night at 10pm and waking up feeling pretty great at 6:30
<gchristensen>
I recommend giving it the ol' college try, though it isn't for everybody
<aleph->
Heya gchristensen samueldr joepie91
<gchristensen>
hello
<joepie91>
ohai
<aleph->
Sup?
<andi->
I made a similar observation last year.. When I spent ~2m going to bed at around 10-11pm I felt great in the morning.. Now I am going to bed at 3amish and every morning is a fight with gravity ^^
* aleph-
is hand rolling a parser at the moment
<aleph->
I forget anyone here do Golang and happen to have a copy of Writing a Compiler in Go?
<clever>
joepie91: mine rarely slips backwards
<joepie91>
clever: same for me normally, which is why this is so weird
<aleph->
clever: Mine does.
<aleph->
Thankfully it only takes a few nights to get a new schedule under way
<aleph->
And as long as I keep it, it's not a big deal
<gchristensen>
interesting -- I hadn't realized this before: despite Americans preferring "-ize", we do use "advertised"
aleph- has quit [Ping timeout: 246 seconds]
aleph- has joined #nixos-chat
<__monty__>
I -ize everything.
<lejonet>
everythingize?
aleph- has quit [Read error: Connection reset by peer]
<gchristensen>
iize
<gchristensen>
realiseize
<cransom>
supersised
aleph- has joined #nixos-chat
aleph- has quit [Ping timeout: 240 seconds]
<cransom>
hrm, curious. is there anyone else that does a lot of snapshot imports in aws/us-east-2?
avn has joined #nixos-chat
nokomprendo has joined #nixos-chat
drakonis has joined #nixos-chat
<elvishjerricco>
Anyone ever tried building Nix for Redox OS? Does redox even have C++ support yet?
rawreraw has joined #nixos-chat
rawreraw has quit [Client Quit]
<sphalerite>
elvishjerricco: jD91mZM2 would probably be the one to know
<elvishjerricco>
I'm reading about Redox and it's kinda interesting. My biggest issue with it so far is the "everything is a URL" thing. They say it's a generalization of file systems, but as far as I can tell it's just the same thing as file systems but with userspace mounting of custom file systems, which is just FUSE. It just adds an unnecessary naming problem with the schemes.
<__monty__>
"It's the same thing as just a filesystem
<__monty__>
+ FUSE."
<__monty__>
That's a fairly big change in expressive power imo.
<__monty__>
Imagine if any unix utility could read from the web rather than just files.
<__monty__>
It's like plan9 on steroids.
<sphalerite>
is it though? Using the schemes instead of arbitrary mounts into a tree feels like windows's drive letters :x
<sphalerite>
__monty__: I don't see how it's plan9 "on steroids"?
<sphalerite>
isn't it just plan9? :p
<__monty__>
-.-
<joepie91>
a major problem with "everything is a file" is that it doesn't in any way consistently encode how those "files" should be interpreted, nor does it standardize upon how to eg. access or interpret structured data
<__monty__>
I'm not sure what schemes you're talking about? Don't actually know anything about redox.
<joepie91>
I'm not fully convinced that URLs are the solution, but a more... extensive... addressing scheme could definitely help there
<__monty__>
I don't see the problem. That's valid for literally *anything* that's sent over the wire.
<samueldr>
one could say: how do I know the file in /the/path is on another machine, one could say: why should I care /the/path is on another machine?
<infinisil>
qyliss: It seems very similar to vim
<qyliss^work>
similar yes
<qyliss^work>
but makes so much more sense
<infinisil>
I was able to use navigation keys at least
<__monty__>
Kakoune?
<infinisil>
Yeah
<sphalerite>
__monty__: the scheme is the bit before the : in a URL.
<qyliss^work>
And I love how it doesn't try to be, say, a window manager, like Vim does.
<sphalerite>
__monty__: so file, http, https, whatever
<infinisil>
qyliss^work: Oh nice, so it doesn't have any way to split windows?
<sphalerite>
infinisil: it uses tmux for that
<gchristensen>
qyliss^work: what, you're not an exwm user?
<infinisil>
Very nice
<qyliss^work>
It does, but it just hooks into tmux / your wm, etc
<infinisil>
I really don't need another way to manage window layouts
<infinisil>
qyliss^work: Oh it can hook to the vm too? :O
<qyliss^work>
Yeah!
<infinisil>
Wow
<qyliss^work>
It comes with support for tmux, i3, possibly others?
<qyliss^work>
You just need to give it a little wrapper
<infinisil>
I bet I could make xmonad work too
<elvishjerricco>
joepie91: Interesting... So schemes can have different sets of restrictions / features, with the `file:` scheme essentially being the unix-like filesystem?
<sphalerite>
__monty__: sorry for picking on it but I kind of hate the expression "x on steroids", especially when it's applied to something that's not *really* overwhelmingly different/more powerful than x
<sphalerite>
:p
<qyliss^work>
Actually I think nowadays it may be WM-independent.
<qyliss^work>
Maybe just only tmux is special cased, and if you're not using tmux it'll just spawn a new terminal?
<qyliss^work>
Things have changed a lot since I set my kakoune up
<__monty__>
Well, vim couldn't exactly rely on software that wasn't there yet. And it doesn't make much sense to throw away good code that could still be useful on older systems, systems that just don't have tmux, etc. I wonder if it'd be hard to script vim/tmux integration?
<joepie91>
elvishjerricco: I don't know exactly how Redox does this, to be clear; my comment was more generally about the problem with "everything is a file" :)
<elvishjerricco>
Ah
<__monty__>
qyliss^work: How does it know what terminal to spawn? Also, that'd be a terrible workflow on non-tiling WMs.
<qyliss^work>
It tries all the ones it knows about, or you can set one in your config
<elvishjerricco>
Another issue with Redox, which is really more of a feature: It's a microkernel. I like this architecture in principle, but it's going to make it impossible to give Redox anything resembling Linux's golden rule "don't break userspace."
<qyliss^work>
__monty__: well sure, in that case you use tmux
<joepie91>
elvishjerricco: in what sense?
<__monty__>
qyliss^work: The termcmd implementation isn't broad enough, some terminals require the command to be executed to be passed as a 'string'.
<elvishjerricco>
joepie91: Since everything is userspace, the kernel doesn't have much to break. Breaking the filesystem is now a bug in userspace, not the kernel. So you have to expand to the kernel and some subset of the userspace and say "these things can't break other userspace"
<qyliss^work>
really?
<elvishjerricco>
and defining that subset of userspace is likely to be nontrivial, and inconsistent among systems
<joepie91>
elvishjerricco: ah, in that sense. I'm not sure that I agree that this is a similarly important concern for a microkernel-based OS, given that there's a set of tradeoffs not dissimilar to that of modular vs. monolithic dependencies in general... the more modular your dependencies, the less of a problem it is when a given dependency does something bad, because it's easier to keep that dependency version-pinned / replace it / whatever
<joepie91>
elvishjerricco: like, in the Linux kernel, if it fucks something up, then you have a choice of either dealing with the breakage, or sticking with an older kernel version for *everything*, which is high-impact
<joepie91>
whereas if one small piece of userspace breaks that would on Linux have existed in the kernel? just stick with an older ext4 implementation or something and update the rest of your system
<joepie91>
so the same tradeoff exists as for deps; higher chance of breakage, lower impact
<elvishjerricco>
joepie91: Yea, that's why I like the architecture a lot better; it's easier to mess with things. It's just harder to ensure the quality of these modules when they aren't bound by the same strict rules
<joepie91>
(and imo an important factor of the modular architecture is that, given the effort invested, you have a lot more flexibility in solving/preventing this problem)
<joepie91>
(so it's fairly easy to end up with an overall better set of tradeoffs)
<elvishjerricco>
Anyway, step 1: Get redox in a VM. Step 2: Attempt building Nix :P