gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
<samueldr> whew, I was getting concerned that the ISP was going to have a more wider outage https://stuff.samueldr.com/screenshots/2019/08/20190810200714.png
<samueldr> they are currently having issues in another province, on another network
<samueldr> though it came back full speed, luckily
<gchristensen> :o
* gchristensen remembers back to dialup
* aanderse remembers when "high speed" internet became a thing
<aanderse> :p
<aanderse> though i'm pretty sure we're roughly the same age
<samueldr> when we got a computer, in the family, we got it with high speed internet, I think a part of it was that the telephone line wouldn't get tied up
<samueldr> luckily, never had to worry about that, myself, but experienced it elsewhere
<tazjin> I didn't really see true high-speed internet until I moved to Scandinavia in ~2012
<samueldr> what's your distinction for "true high-speed"?
<aanderse> 56k seemed pretty high speed to me, at the time :)
<samueldr> I think the (first we had) high speed DSL line was 6mbps
<tazjin> samueldr: just thinking about that, I guess there's something like Page's Law but for connection speed
<samueldr> Wirth's law? :)
<tazjin> Page's law ~ Wirth's law iirc, but I think that's more about program efficiency vs. clockspeed
<samueldr> yeah :)
<tazjin> whereas I think it also applies to average website size to deliver some text vs. connection speed
<samueldr> half-heartedly joking since I had to search for the law and it said "often called Page's law"
<tazjin> wow, this error I've not seen before: `the string '/nix/store/prdxbcdqs70xyv32c5jdjl76lraq0fpn-git-2.22.0' is not allowed to refer to a store path`
vika_nezrimaya has quit [Ping timeout: 258 seconds]
<adisbladis> samueldr: Legit 1gbps at home
<samueldr> look at the non-canadian with their good speed :)
<adisbladis> That's one of the things I hate most about UK.. The Internet situation is shit
<samueldr> 30mbps DL, 10mbps UL... and the 10mbps upload is "good" since about no ISP have symetric speeds, and most often cap it at 10mbps
<adisbladis> Whoa.. That's worse than I had back in the 90s
<adisbladis> I still can't believe that I only have 12 mbps up and that it's the best I can get
<adisbladis> In both Sweden and HK I paid a fraction for 1gbps
<samueldr> tbf, I could upgrade up to 940mbps on the current ISP, but I rarely need that speed
<samueldr> and the price would be bad
<adisbladis> :/
<samueldr> 940mbps is 50mbps upload
<samueldr> 95$CAD/ month
<gchristensen> !
<adisbladis> The isp situation is ridiculous almost everywhere
<gchristensen> I can get 940mbps/30mbps for $125/mo
<adisbladis> My parents pay the equivalent of 12$ for 1gbps
<gchristensen> ...
<samueldr> for eurofriends, my price (and likely gchristensen's) does not include applicable taxes
<adisbladis> Wat
<gchristensen> oh yeah the taxes
<adisbladis> ...
<gchristensen> same on the cell phone bills
<adisbladis> I'm sorry but... Are you living in the past
<samueldr> in both our countries the prices do not need to include the VAT
<gchristensen> adisbladis: they call it ... America.
<samueldr> in the USA it's a complicated case of too many levels being able to add taxes
<samueldr> IIRC, federal, state, counties, cities
<samueldr> I probably skipped two or three
<gchristensen> haha. that is pretty much the list :)
<samueldr> in Canada... there's no real reason as it stops at the provicinal level
<samueldr> I think it's just that we never got around to it
<samueldr> there's next to no special taxes, and when there are it's in the price already
<gchristensen> guh.
<samueldr> what I mean is additional special taxes, like on gas/petrol
<adisbladis> The US seems so weird to me, in some ways you're so developed and in other ways truly stuck in the past
<gchristensen> :)
<samueldr> here it would be so simple to do the VAT included pricing scheme... but (largely speaking about Québec) there's so much resistance to any kind of change
pie_ has joined #nixos-chat
<pie_> joepie91, help, have a serious problem with my swdev methodology
<pie_> i spend more time f***ing with tooling than getting any work done
<ashkitten> adisbladis: dw it's just as weird for us too, most of the time
<ashkitten> i would almost certainly be happier if i moved to europe
<ashkitten> sigh... just imagining not needing to worry about which doctors take ACA insurance
<ashkitten> every time i talk about the crap we have to go through in the US to get care someone from europe or canada is inevitably awed by how primitive and awful everything is
<aleph-> Ugh reminds me. Need to go fix my insurance so they cover my claims
<aleph-> Bah
drakonis has quit [*.net *.split]
worldofpeace has quit [*.net *.split]
andi- has quit [*.net *.split]
zimbatm has quit [*.net *.split]
lopsided98 has quit [*.net *.split]
PyroLagus has quit [*.net *.split]
ctp has quit [*.net *.split]
vdemeester has quit [*.net *.split]
elvishjerricco has quit [*.net *.split]
ctp has joined #nixos-chat
zimbatm has joined #nixos-chat
elvishjerricco has joined #nixos-chat
andi- has joined #nixos-chat
nix-build has joined #nixos-chat
{^_^} has quit [Remote host closed the connection]
worldofpeace has joined #nixos-chat
lopsided98 has joined #nixos-chat
drakonis has joined #nixos-chat
drakonis2 has quit [Ping timeout: 252 seconds]
drakonis2 has joined #nixos-chat
<drakonis> https://github.com/orgs/NixOS/packages is this known?
endformationage has quit [Quit: WeeChat 2.5]
drakonis_ has joined #nixos-chat
drakonis has quit [Ping timeout: 276 seconds]
drakonis2 has quit [Ping timeout: 272 seconds]
<manveru> drakonis_: known by whom?
<manveru> Just watched two talks from Noredink and Klarna, and both are using Nix :)
<pie_> link?
<pie_> nag more nixcon sponsors? :PPPP
drakonis_ has quit [Ping timeout: 248 seconds]
drakonis_ has joined #nixos-chat
pie_ has quit [Ping timeout: 260 seconds]
<joepie91> aanderse: pong?
<eyJhb> Kinda sad that I can't find my bose in-ear headphones... Spending 1.000,- DKK on another set is just too much
<eyJhb> joepie91: you must have some article about error handling
<joepie91> eyJhb: no single coherent one, but I can summarize; what's the context?
<eyJhb> General error handling in a program, and error handling using a HTTP API. But I think I know what to do, have some good articles so far
<eyJhb> Just if you had a most read reading errors
<joepie91> eyJhb: well, my baseline advice would be 1) use typed errors, and filter for the correct types of errors, 2) unexpected errors should send out an alert and crash your process (exception: languages explicitly designed to recover from these safely, such as Elixir), 3) represent HTTP errors internally as thrown (or w/e) errors that only get caught/handled at the last moment before sending a response, 4) use HTTP status codes
<joepie91> correctly *but* also include sufficient detail in the response that different error types with the same status code can be distinguished, 5) don't expose details of *unexpected* (ie. non-HTTP) errors, those should just be generic 500s
<joepie91> replace 'thrown' with whatever error handling mechanism your language of choice provides
<joepie91> that having been said, 6) always pick an error handling strategy where "forgot to handle an error" results in a hard failure, *not* one where it results in quietly swallowing an error
<joepie91> in JS that means using Promises with `unhandled-rejection` for example, not using error-first callbacks
<joepie91> swallowed errors are the worst :P
<eyJhb> Hmm, that seems somewhat like my current approach - https://gitlab.com/deviosec/octp/merge_requests/6 -> but I will keep this in mind
<joepie91> and JS-specific: 7) while the language will technically allow you to throw arbitrary values, you should only ever throw Error objects; use `create-error` to create custom error types that inherit from it correctly (otherwise you will not get stacktraces) -- same for Promise rejections, which are analogous to throw
<joepie91> (I really hate that JS lets you throw anything)
<joepie91> oh yeah actually
<joepie91> eyJhb: that link reminds me of another point
<joepie91> 8) centralize your error handling/recovery as much as is practical. obviously you will need to recover from different errors in different places, but if at all possible, have as few error-handling sites as you can get away with without compromising readability/maintainability/reliability -- otherwise you may end up in a situation where you fix error handling in one place but not another (for the same error), which could in
<joepie91> the worst case have security implications
<eyJhb> joepie91: I might still be sleepy, but what do you mean by 8) ?
<joepie91> (those error-handling sites should basically always be on the consuming side; errors should still be the channel to communicate failed operations, so don't try eg. translating errors to sentinel values within the function that generates the error)
<joepie91> eyJhb: a lot of people tend to sprinkle catches all throughout their code and have the same error recovery logic for the same error type in 5 places beacuse the function that *produces* those errors is used in 5 places
<joepie91> this is a really good way to get bizarre bugs and/or security issues because you're duplicating the code that handles "there's something wrong"
<joepie91> so ideally you want to find a common point that all those 5 calls lead to, eventually, up the stack - and handle it there
<joepie91> so that you only need one block of error handling code for that error type, that covers all the 5 call sites
<joepie91> this isn't always possible, but should be the baseline goal :P
<eyJhb> Ahh I see, I (hopefully) don't have any of those places in my code :D Generally the number of calls is somewhat small in my codebase, as it just functions as a API for the most part :D
<eyJhb> I will keep that in mind!
<eyJhb> The good thing about this code is, that it only needs to be "developer friendly", which helps A LOT...
<eyJhb> I should have begun this presentation before..
jtojnar has joined #nixos-chat
<eyJhb> Pros: USB is the same width as a ethernet port, Cons: It does not charge your powerbank
<joepie91> lol
<eyJhb> joepie91: no judging, it was dark and I was tired
jtojnar has quit [Read error: Connection reset by peer]
jtojnar has joined #nixos-chat
vika_nezrimaya has joined #nixos-chat
<aanderse> joepie91: i was going to ask you about your phpfpm comments in the paper cut thread
<joepie91> aanderse: ah, well, no guarantees of a speedy response today, but, feel free to ask :)
<aanderse> yeah, i just noticed you said the interface could be easier to use but didn't leave a suggestion... i was wondering if you had a suggestion :)
<aanderse> i'm doing some work on the module now so if you had any ideas i'm interested in hearing
<joepie91> aanderse: so, like, I was trying to set up nginx + php-fpm for some old crusty PHP stuff - nothing complex, the only 'special' requirement was that there was a single .php file managing routing (like in ~any modern PHP application)
<joepie91> aanderse: I ended up having to write my own fpm config, debugging a ton of issues, etc.
<joepie91> what I was /looking/ for was a services.nginx.withPhp option that just... made it happen
jtojnar_ has joined #nixos-chat
<aanderse> ahhh, so not an issue with phpfpm itself, but nginx
<aanderse> yeah apache httpd has an "enablePhp" option
<aanderse> it uses mod_php
<aanderse> but it would be nice if nginx had something similar for really simple php stuff
jtojnar has quit [Ping timeout: 272 seconds]
<joepie91> aanderse: well, an issue with both. it doesn't seem like php-fpm has a "just give me php with reasonable defaults" options either
<joepie91> ref those links
jtojnar_ is now known as jtojnar
<aanderse> i think "reasonable" defaults are a hard thing to define for something like phpfpm heh
<aanderse> but yeah, defaults probably weren't in place because tyspe.lines for that config
<joepie91> dunno about that, ~all the guides about it suggest about the same basic params
<joepie91> seems like there are already ad-hoc standard defaults :)
<aanderse> i'm working on a PR which switches from types.lines to attributes so they can be properly overridden/merged as desired
<joepie91> so like, ideally, there would be a) services.phpfpm.makeItWork = true, b) services.nginx.makePhpWork = true, and c) services.nginx.phpRouter = "/rewrite.php"
<joepie91> (or fcgiRouter or fpmRouter or whatever)
<joepie91> (but you get the idea)
<aanderse> yeah, i do
<joepie91> and right
<aanderse> i'm not going to touch nginx, but what i'm working on will make it easier for someone to add something like enablePhp to nginx... so there is that at least
<joepie91> I don't use PHP anymore other than these ancient things, so I doubt I will ever need these features myself now that I've gotten it working, but I strongly suspect that I'm not the only one running into this issue
<joepie91> right
ixxie has joined #nixos-chat
<vika_nezrimaya> Wish me luck. I'm cross-compiling a production-grade system for my RPi2 from my laptop. I hope I will not uncover any cross-compilation bugs >.<
<vika_nezrimaya> I hope all packages will cross-compile with samueldr's cross-system (which I modified a bit to be an include, not unlike hardware-configuration.nix)
<tazjin> doc comment from my experimental implementation, I'm now actually extracting the popularity information from nixpkgs which will take a while
<tazjin> (this optimises for transfer size over popularity, because I think averell's point about that is valid)
<tazjin> also, Remosi, it doesn't deal with the cluster problem you brought up yesterday (for now)
<Remosi> What was averells point about size vs popularity?
<Remosi> Is the root the best place to start? Or should you just look at the denominator?
<tazjin> the point was that when pulling images, the reason people care about layer caches is mostly about transfer size (i.e. you wouldn't mind downloading a few ~200kb glibcs, but you might mind downloading a ~200Mb Haskell package set)
<tazjin> + repeatedly
<tazjin> what do you mean by the denominator here?
<Remosi> So surely the metric is popularity * size? Since that will approximate how many total bytes they will download?
<Remosi> Sorry. Not denominator. Dominator. Autocorrect fail.
<infinisil> tazjin: I once started doing something similar, trying to determine popularity/importance of packages
<tazjin> ah, the root is the dominator of everything though (because it dominates at least the top-level nodes, and thus everything)
<Remosi> right
<tazjin> Remosi: I see your point, hm
<infinisil> tazjin: Well not only packages, but nixpkgs attributes directly
<Remosi> but if you're installing, say, a go program, that doesn't use glibc, you possibly still want to group glibc into one layer because several other things depend on it?
<Remosi> if you keep merging dominators, you'll eventually end up at the root anyway
<tazjin> this algorithm will actually put `glibc` into a layer in that case
<infinisil> tazjin: It worked by patching nixpkgs to output a trace every time an attribute was used, then I evaluate all packages and sum up how many times each one is traced
<tazjin> I graphed an actual example, though this is without popularity because I don't have that data yet (so you'll see openssl and some others in the wrong place) - one sec
<infinisil> Oh I have it online: https://github.com/Infinisil/nixpkgs-analyzer
<infinisil> It's not finished though
<infinisil> Just a POC
<tazjin> (that took more than a second, I'm clumsy today)
<tazjin> this is for `[ git htop bash curl ]`
<tazjin> now with the popularity data I could say that some of git's dependencies are popular and should be promoted
<tazjin> but it gets the idea across I think
<tazjin> for comparison, here is the actual dependency graph of the programs: http://storage.googleapis.com/nixdoc/nixery/graph-deps-1.png
<tazjin> infinisil: did you run into any issues writing that?
<infinisil> tazjin: Kinda yeah, but only due to some issue in a haskell library (i linked to it in the readme). The idea will work pretty well
<eyJhb> tazjin: Hmm.. I don't know if you would do this. But.. Many people post their nixos configuration files on Github. You could "scrape" that, and get the most used packages/dependencies
<tazjin> eyJhb: Nixery mostly builds server-side stuff though and this would probably skew it
<tazjin> also it sounds questionable :P
<eyJhb> tazjin: but wouldn't statistics from NixOS cache skew it too?
<tazjin> depends, do we think there are more NixOS desktop than server users?
<eyJhb> yeah, it does :p But if you put your stuff online, then it is up for grabs!
<eyJhb> I actually have no clue... From what I have heard, I would assume more servers
<infinisil> Kinda wish we had some limited form of proper opt-in analytics
<eyJhb> Don't you have statistics from Nixery yourself tazjin ?
<eyJhb> Agreed infinisil , would make it easier in some cases :p But opt-in might also skew
<tazjin> btw, there's two types of "popularity" here - one is how many references there are to a thing inside the set, the other how many people want that program
<tazjin> for now I only need the first one, and that's computable out of nixpkgs
<infinisil> eyJhb: Could just ask the user whether they want it the first time
<infinisil> Somehow
<tazjin> eyJhb: Nixery's statistics are skewed massively towards people arriving on the landing page and trying random things with `docker run`
<tazjin> I've actually put a warning on that page telling people *not* to use nixery.dev for production systems (as there are no uptime guarantees)
<eyJhb> Yeah, but how many companies would opt-in? And, don't you normally get a particular subset of users?
<eyJhb> tazjin: ah. Sorry for the Golang and Python pulls ;)
<tazjin> heh, letting people experiment is the point of having a public instance :)
<tazjin> also I don't mind if someone runs a non-critical system on it or whatever, but don't call me when it blows up (hence the disclaimer) :P
<eyJhb> Ohh that is too much to ask, I am going to call you! :p
<eyJhb> Sadly no public phone number like gchristensen I think ;)
<tazjin> just call him instead :sun:
<infinisil> eyJhb: It could say like "If you send analytics, the packages you use will be supported better with faster updates and bug fixes"
<infinisil> We can use the analytics to determine which PRs/hydra evaluations to spend time on
<infinisil> This would give people an incentive to enable them
<eyJhb> tazjin: He said he would _not_ be amused
<eyJhb> infinisil: But would collecting data like just, how often a package is downloaded be cruel in general?
<eyJhb> Like, I mean, no data what so ever, except a hit on the cache
<infinisil> Hm, I thought of recording something like which nixpkgs attributes get evaluated
<tazjin> I don't see why downloads from the cache would be an issue
<tazjin> that's not much different from e.g. https://crates.io showing a leaderboard
<infinisil> With only cache hits you don't get analytics for non-free packages
<infinisil> Or other things that aren't cached
<joepie91> opt-in analytics with clear rationale ++
<eyJhb> But wouldn't that help you tazjin ? Just number of downloads pr. package over X time?
<tazjin> who cares about non-free packages
* tazjin hides
<eyJhb> Does nixery support non-free anyways? :D
<tazjin> eyJhb: those download stats are something I asked for yesterday
<tazjin> the public version does not
<ajs124> the problem isn't only non-free packages but also setting custom options
<tazjin> nothing stops you from setting one up that does
<infinisil> ajs124: Yeah that too
<ajs124> or running a version different from upstream nixpkgs because it is out of date or something. idk if there's really any fix for that, though.
<ajs124> "bad archive: unknown file type nix-archive-1" nix really doesn't like my binary cache today…
drakonis has joined #nixos-chat
<tazjin> if I set `nix build --timeout`, does it affect download time from cache for substitutions?
<tazjin> (I guess not, but better to check)
<clever> nh2: i once used video memory as swap, lol
<clever> nh2: and i have legit seen my windows wallpaper, when logging in on linux.....
<tazjin> I've only evaluated 3% of nixpkgs so far, but there's already a not-unexpected trend :) (cc infinisil)
<clever> in my case, its right after i login with slim, when xfce restores the 3 monitor layout, but before it loads the wallpaper
<clever> the GPU is instructed to render un-initialized ram
<tazjin> surprsied there isn't more openssl yet
<tazjin> maybe packages whose name starts with 'a' are generally not secure
<tazjin> 🤔
<clever> and when i take a screenshot, yes, there is heavily garbled noise where no monitor exists
<clever> nh2: and i'm on an amd card, with the amdgpu driver
<nh2> pretty sad state of affairs
<clever> nh2: i have seen fairly nasty bugs in OBS on windows before too, when it captures the whole desktop, it only updates the parts of the frame that have monitors
<clever> and due to page flipping, it has 2 buffers
<clever> but, when it renders the mouse pointer, it can render outside a monitor, due to the size and center-point
<clever> and it wont clear that part of the pointer
<clever> so, you have a ghost of the pointer, on either the even or odd frames
<clever> and it flickers between the 2 constantly
<clever> and every time you get the pointer near the edge, it adds more ghosts to one of the 2 frames
<joepie91> nh2: yep, I've seen this happen before
<joepie91> exactly what clever describes with screenshots
<joepie91> AMD, radeon
<joepie91> radeon driver, that is
<ajs124> gpu drivers are the best. if you want to have fun with them, try doing some hardware video encoding. I feel like nobody ever tests those codepaths.
<colemickens> I AM SO fucking tired of Google's bullshit. When you try to send feedback in their android apps, they look for certain keywords and try to show you an article. No matter if you choose to view it on not, it trashes everything you typed in and resets the feedback form.
<ajs124> wow. google and feedback… I think they really don't care. They just track every single thing you do and look at the data.
<colemickens> Currently, no matter what I do, it tries to show an article that is literally a meta feedback article about them not being able to respond to feedback reports. They've trashed so many detailed bug reports from me this way. Their app review form doesn't auto correct or auto capitalize.
<colemickens> Google Photos has GPS metadata for less than a third of the photos I've taken on this trip.
<colemickens> I just can't anymore.
<colemickens> Maybe I shouldn't cancel my Librem 5 order.
<ajs124> I somehow doubt the experience will be more polished.
<colemickens> * Currently, no matter what I do, it tries to show an article that is literally a meta feedback article about them not being able to respond to feedback reports. If I view it, there's no way back. If I ignore it, it just navigates back and doesn't submit the feedback. They've trashed so many detailed bug reports from me this way. Their app review form doesn't auto correct or auto capitalize.
<colemickens> I don't care. At least I can file a fucking bug report.
<samueldr> at least with the librem you would be more in control with the platform
<ashkitten> i dont trust purism at all tbh
<samueldr> (though that's not _because_ it's a librem, but because it runs a more open platform)
<colemickens> * I don't care. At least I can file a bug report.
<clever> nh2: oh, theres a trick i use for screen sharing on linux
<ajs124> True. I actually use the feedback form on youtube sometimes, which doesn't show me any articles, but probably goes to some sort of black hole as well.
<clever> nh2: open up obs-studio, right click the preview, open preview in new window, share that window
<clever> nh2: then use OBS to composite (and switch on-the-fly) what windows your sharing
<samueldr> I sent at least one feedback daily on youtube for a couple months about their autoplay toggle being broken AF
<colemickens> At least when I was on Twitter if I kvetched loud enough a Googler following me would deal with it internally.
<samueldr> it's still broken
<colemickens> I'm not super impressed with any part of Librem One but golly darn at least someone is trying.
<colemickens> * I'm not super (or even mildly) impressed with any part of Librem One but golly darn at least someone is trying.
<joepie91> having Google as overlord is fun isn't it
<joepie91> :|
<ajs124> samueldr: they keep "translating", by which I mean turning them into something incomprehensible, which I need to translate back from my mother tounge into english, titles. I even told them in my accounts settings which languages I know, how hard can it be??
<nh2> clever: I should try that, haven't used OBS yet
<samueldr> ajs124: languages?
<samueldr> ah, this user is in $country so they MUST speak $language
<ashkitten> that's why i'm getting a cosmo communicator and im gonna attempt to get telephony working with linux and then just use that
<clever> nh2: you can also configure OBS to change scene or hide/show a source, based on hotkeys
<samueldr> (not google specific, but an annoying thing)
<ajs124> I mean, I actually do. But I also speak (or at least understand) a bunch of other as well.
<tazjin> I have a private gogs instance at git.tazj.in and for a while it was very determined to serve me Spanish pages exclusively
<tazjin> and it doesn't even have an override
<samueldr> oof
<tazjin> fortunately I had latin in school and could get by
<samueldr> do you even spanish?
<ajs124> lol
<samueldr> okay, so no :)
<tazjin> just saw it does have an override now
<ajs124> forced localization against established standards and settings is just soooo stupid
<tazjin> so I suppose people complained about that 😛
<ajs124> like, why do I even send an http header you people?
<adisbladis> ashkitten: That SOC sucks for Linux.. No mainline drivers
<ashkitten> adisbladis: really? oof
<adisbladis> Looks promising
<ajs124> what's the current mainline supported SoC market like? the stuff the pine people use isn't in mainline either, is it?
<adisbladis> That SOC has a mainline driver coming in 5.3
<samueldr> poor for many SoC
<samueldr> but other than MTK, almost always getting better
<adisbladis> samueldr: Did you look into the fxtec?
<ajs124> I know you can boot a Nexus 5 with mainline. Not sure if any of the peripherals work though.
<samueldr> adisbladis: didn't know about it beforehand
<samueldr> hmmm, ships with pie, so the bootloader *could* be annoying
<colemickens> Not only do all Google sites ignore accept-language, they don't let you set a currency when looking for hotels, just guess based on IP. Golly, hope you don't look for hotels while traveling.
<samueldr> I'll soon know more about all that
<ajs124> colemickens: That can't be what people want, can it?
<ashkitten> adisbladis: i didn't know about that before, but i think i'd still go with the cosmo communicator. cosmo communicator ships with linux support (debian, but i don't have any reason to think it'd be locked to just that) and has a nicer keyboard imo
<adisbladis> Their "Linux support" looks abysmal tbh
<gchristensen> eyJhb: my number is up, people can call... but not for pranks / jokes :)
<adisbladis> Like no gpu acceleration
<ashkitten> i have no doubt about that, but if it works somewhat i'm sure i can get it working better
<samueldr> AFAICT anything MTK has next to no mainline support
<colemickens> <adisbladis "https://www.fxtec.com/"> Expected to have mainline support? That's sort of a priority for me when trying to find something better than a Pixel phone.
<samueldr> it doesn't look like fxtec themselves want to do "normal linux"
<samueldr> though a big plus is their bands support... much better than what purism offers
<samueldr> at least that one would work globally
<ajs124> I'm actually impressed how close people keep some android kernel trees to stable these days. Sure, mainline support would be cool, but I'm on 4.4.187 with my phone, which is much better than it used to be.
<adisbladis> samueldr https://www.fxtec.com/pro1/
<adisbladis> Bottom of the page
<samueldr> >> Bootloader unlockable, supports other popular OS’s (Lineage, Sailfish etc)
<samueldr> all derivatives of android
<ajs124> sailfish isn't
<samueldr> in their build system yes
<samueldr> or, rather, "how it's structured"
<ajs124> hm, ok. but the software stack is quite different
<samueldr> it's way closer to an android system than a classic linux boot
<samueldr> yes definitely
<adisbladis> ajs124: Uses hybris
<ajs124> true, true
<ashkitten> adisbladis: also, i'm not interested in a qwerty keyboard, much less one that's not even a proper membrane keyboard
<samueldr> >> 2-stage camera shutter key
<samueldr> daaang
<samueldr> stupid detail, but that's just so great to have, but almost no device have that
<ajs124> ashkitten: phones with mechanical keyboards when?
<colemickens> I have push notifications disabled... So I'd almost like to see a Surface Go with ARM and a MS that actually <3 Linux and pushed mainline support. That would be sweet.
<ashkitten> ajs124: i don't think so. iirc mechanical switches have issues when you scale them down that much, and it wouldn't feel as good as a membrane anyways
<ashkitten> and it'd be bulkier
<adisbladis> Membranes are OK for thumb typing
<adisbladis> Best phone keyboard I've ever had was the Motorola photon
<samueldr> adisbladis: just to be clear, what I mean is not "normal linux will not work", but closer to "it'll need the same work as any bootloader unlockable MSM phone"
<ashkitten> adisbladis: my friend has a gemini pda and says she often finds herself typing with one thumb and one full hand, weirdly enough, but that's what's comfortable
<samueldr> there's like 99% chances the bootloader is the stock new qualcomm EFI based ABOOT, with no, if not only a few, tweaks
<adisbladis> Yeah I get that, I got too excited and glossed over the androidy bootloader bits
nix-build has quit [Remote host closed the connection]
<adisbladis> :/
<samueldr> (though it being EFI based is of no use to us, since it's "too late" to profit from its EFIness)
{^_^} has joined #nixos-chat
<ajs124> I've been wondering about that. My moto x4 bootloader has uefi in its version string.
<aleph-> What are we talking about? Linux phones?
<samueldr> ajs124: might be of interest https://worthdoingbadly.com/qcomxbl/
<samueldr> I was mistaken earlier in saying "aboot", it's "xbl", aboot is the older one
<ajs124> samueldr: looks interesting. I can't seem to find the next article in the series though
<samueldr> none's been written AFAIK
<samueldr> which is too bad since zhuowei has interesting takes on those kind of subjects
<ajs124> oh, ok. guess a month hasn't passed since october of last year :P
<ajs124> yeah, I should just extract the bootloader and throw it into the tool he uses or uefitool.
<samueldr> see the "almost booting an iOS kernel in QEMU" https://worthdoingbadly.com/xnuqemu/
<ajs124> which reminds me of #57034
<{^_^}> https://github.com/NixOS/nixpkgs/pull/57034 (by ajs124, 22 weeks ago, open): uefitool: init at A55 and 0.26.0
<samueldr> (that's what I used)
<ajs124> 4 licenses. not bad
<samueldr> lol
<samueldr> >> Please also see inline licenses included with contributed work.
<samueldr> in the LICENSE part of their repo
<ajs124> that's why I prefer quality projects like uefitool, which totally isn't in the middle of a rewrite for at least a year
<samueldr> heh, :)
<ajs124> (which is why I tried to get two versions into nixpkgs)
<samueldr> I understand
endformationage has joined #nixos-chat
<tazjin> it looks like I'm not going to be able to fit all of `nixpkgs`build artifacts on my laptop drive 😛
<tazjin> not an issue though, I can chunk this easily
<eyJhb> tazjin: steal a server at Google!
<Remosi> tazjin, Redundant Array of Inexpensive Laptops?
<gchristensen> hey that was the ofborg model
<tazjin> isn't ofborg still running in someone's basement?
<eyJhb> gchristensen: stealing google servers, og array?
<eyJhb> or*
<gchristensen> the original model was a redundant array of people's laptops.
<gchristensen> for the most part ofborg runs in datacenters. but important parts are still in somebasements and offices... like x86 and macos builders
<eyJhb> That seems like the way to world domination
<tazjin> I think build farms should run on compromised IoT devices
<eyJhb> +1 better than for DDoS attacks
<gchristensen> +1
<eyJhb> Just think you will have a hard time saying that to.. Any.. Legal team
<gchristensen> and think about that sweet armv6/v7 coverage we'll get!
<tazjin> gchristensen: will you consult the NixOS legal team? ;-)
<eyJhb> tazjin: rather ask for forgiveness afterwards!
<gchristensen> :)
<tazjin> (I'm assuming for the purpose of my joke that we don't have a legal team?)
<gchristensen> we sorta do actually
<gchristensen> he's not a lawyer, but he's an expert on software licensing, and can prod lawyers any time we need one
<tazjin> it took me a few seconds to read the word "prod" as anything other than "production"
<gchristensen> hehe
<joepie91> I mean, "put lawyers into production" is a valid interpretation here
<joepie91> :)
<eyJhb> Same tazjin. Production lawyers!
<joepie91> so, my crazy project of the day: http://039be9a8.ngrok.io/scrape/https%3A%2F%2Framnode.com%2F (give it a while to load, then once the page has fully loaded, mouse over some stuff)
<gchristensen> Too many connections! The tunnel session '1PHvaTVDrCiC24mxxnyKBguZnog' has violated the rate-limit policy of 20 connections per minute by initiating 32 connections in the last 60 seconds. Please decrease your inbound connection volume or upgrade to a paid plan for additional capacity.
<samueldr> oh, like the picker thing from µblock
<joepie91> gchristensen: blergh.
<joepie91> try again in a bit? :p
<joepie91> samueldr: yeah, that's what I've implemented so far
<joepie91> but... without browser extensions, using a custom URL-rewriting proxy
<gchristensen> :o
<samueldr> yeah, neat
<joepie91> project is a scraping tool, basically a way to generate scraping/selector rules via point and click
<joepie91> with table data extraction etc.
<joepie91> I have written too many selectors manually in my life :)
<joepie91> the immediate usecase for myself is a new, automated version of https://vps-list.cryto.net which is horrendously outdated
<samueldr> I use copy -> css selector from the inspector, sometimes
<joepie91> samueldr: aye, but it's not that useful for scraping
<ixxie> joepie91: that is neat
<joepie91> you generally get a selector that is either too specific or not specific enough
<joepie91> and more complex cases like table extraction aren't handled by it at all
<samueldr> right, I tweak it from there
<joepie91> what I want is a full-service scraping tool basically, point and click a bunch of stuff, get out a pile of JSON
<joepie91> in a way that I can do it headlessly as well
<samueldr> just saying since (well, _you_ probably did) sometimes inspector features are completely invisible and unknown to power users :)
<joepie91> (having generated the appropriate config)
<joepie91> yeah :)
<tazjin> okay
<tazjin> *drumroll*
lopsided98 has quit [Quit: Disconnected]
<tazjin> layer graph, simple dominator tree, no popularity / size considerations: http://storage.googleapis.com/nixdoc/nixery/graph-1.png
<joepie91> samueldr: well, I actually beat the various devtools to the punch by a few years -- http://cryto.net/scraperscript/
<tazjin> layer graph, dominator tree + popularity / size considerations: http://storage.googleapis.com/nixdoc/nixery/graph-2.png
<joepie91> this was before devtools had the same feature
<tazjin> that looks pretty close to what I want
<tazjin> https://storage.googleapis.com/nixdoc/nixery-layers.html now describes what it actually does, too
<joepie91> samueldr: but yeah, scraperscript has the *exact* same problem as the devtools selector copy thing :p
<joepie91> hence building a newer thing that just generally works better
<tazjin> also for completeness sake, actual runtime dependency graph: http://storage.googleapis.com/nixdoc/nixery/graph-deps-1.png
<joepie91> samueldr: the idea being that when you click a point, you can a) pick from a list *which* element you intended to select (ordered front to back), and b) enable/disable various intermediate element selectors, while it highlights all the other matches for the currently-configured selector so that you can see what effect your changes have on the selected elements, and adjust it as needed
lopsided98 has joined #nixos-chat
<joepie91> to refine it down to exactly the elements you intended to select
<tazjin> it's fun to run `nix-store --gc` after building 45% of the package set
<ashkitten> i really want riscv to be a thing so we can put it in phones
<ashkitten> riscv cpus and riscv-based gpus
<andi-> and basebands?
<aleph-> joepie91: I approve of this project
<aleph-> gchristensen: Way there's really parts of ofborg still running on laptops in basements? :I
<aleph-> tazjin: So I have a good story about fighting an IOT botnet for you then. :)
<joepie91> aleph-: :D
<joepie91> aleph-: as for stuff running on laptops in basements: the Matrix homeserver (and therefore IRC bouncer) I use is running on someone's laptop in their power/gas distribution closet :P
<aleph-> Christ lol
<joepie91> I mean, it works!
<joepie91> (details at the bottom)
<aleph-> Heh
<samueldr> </div>
<aleph-> Okay I like that
<aleph-> Formatting is off though
<joepie91> samueldr: yeah, not sure if that's intentional :D
<samueldr> looking at the source it looks unintentional
<samueldr> or, well, feels
<joepie91> samueldr: ah apparently the static site gen they're using broke
<joepie91> lol
drakonis has quit [Quit: WeeChat 2.4]
<aleph-> Lol
<aleph-> I should go finish this logging handler for salt stack... or I could read comics.
<aleph-> Hmm what to do.
<samueldr> read comics?
<samueldr> I mean, you do you, but that sounds less like work :)
<joepie91> lol
pie_ has joined #nixos-chat
<pie_> anyone use osquery?
drakonis has joined #nixos-chat
<Remosi> pie_, A little bit.
<aleph-> samueldr: Eh probably read comics. This seems like it'll be a pain. Need to write a parser for this and think about the structure of what info to include more.
<Remosi> pie_, why do you ask?
<pie_> Remosi just curious
<pie_> Remosi thinking about learning/using it
<Remosi> Do you have a particular use case?
<Remosi> (I think it's great, but I've not yet had reason to use it at scale)
<pie_> im playing with https://github.com/volkerp/zfstui and porting it to py-libzfs so that its using an api instead of parsing cli tools (the latter seems to have been the recommended practice for zfs for a while...)
<pie_> not everything is supported by the api yet
<pie_> but if figured, well, this seems to largely a table based paradigm, so i should probably look at whethere i can leverage some sql tooling
<Remosi> Ah! Yes!
<Remosi> sounds like a great plan
<pie_> theres a bit of a dichotomy in the fact that its very nice that the tool is pretty self contained at the moment though so idk
<manveru> pie_: they only mention Nix briefly during the videos, and i'm a bit too lazy to search for the timestamps, but thought you'd enjoy it :)
<pie_> maybe the ideal would be to have a pluggable component that can be used with osquery or the tui
<pie_> manveru, hey, its "haskell in production stuff", sounds interesting, im not bored of the topic just yet :D
<manveru> heh, yeah
<gchristensen> aleph-: yep
<gchristensen> shoudl it not? :)
drakonis has quit [Quit: WeeChat 2.4]
* gchristensen just moved all his filesystems around
<samueldr> hey, peeps, just a quick reminder about how there's only 4 weeks left to submit to the CFP for nixcon 2019 :) https://cfp.nixcon.org/nixcon2019/cfp
ixxie has quit [Ping timeout: 276 seconds]
<pie_> oh dear :p
pie_ has quit [Remote host closed the connection]
jtojnar has quit [Ping timeout: 244 seconds]
jtojnar has joined #nixos-chat
<joepie91> samueldr: aleph-: progress... try http://039be9a8.ngrok.io/scrape/https%3A%2F%2Framnode.com%2F again - now when you click an item you get that "select the element you intended" step I was talking about :P
<samueldr> yeah, that one is much closer to the µbock one (not a bad thing)
<samueldr> hmm, seems I can only select one time in the page
<joepie91> correct
<joepie91> there's no mode-switching yet, just a one-way flow
<samueldr> alright
<joepie91> I'm working out all the details of the picking mechanism before building the Real Application around it
<joepie91> and since I reload after every change anyway... :)
<samueldr> it doesn't seem to highlight all matching, on hover, is it something you intend to add?
<joepie91> next step is the detailed 'toggle box' that lets you enable/disable intermediate selectors and such
<joepie91> yes
pie_ has joined #nixos-chat
<pie_> whoops
<aleph-> Too many connects
<aleph-> Bah
<joepie91> but that's difficult to test with the current approach since the default generated selector is unlikely to match >1 thing
<joepie91> aleph-: yeah, give it a minute :)
<joepie91> actually, I might be able to test the highlight-all on the default selector with the table cells
<samueldr> yeah, the price is definitely something you can test on
<joepie91> also, tbh I'm a little surprised at how well this is going\
<joepie91> I'm definitely pushing up against the limits of what a browser will let you do here :D
<joepie91> gonna be extra fun when I need to intercept HTTP requests from JS
<pie_> joepie91whatcha doin
<joepie91> samueldr: oh, did I mention that my proxy has cookie support :P
<joepie91> pie_: building a point-and-click scraping tool
<samueldr> nope
<pie_> joepie91huuuuh , intriguing
<joepie91> let me commit the current state of the code, actually...
<pie_> needs screenshots :P
<joepie91> no guarantees etc.
<pie_> im suddenly reminded how downthemall had a "click and select links to download" thing
<joepie91> pie_: that's one of the things you could conceivably do with this, yes :P
<joepie91> (and it's also a usecase that I've had more than once)
<joepie91> anyway, yeah, this depends on a custom proxy server that rewrites URLs and such on the fly, strips out integrity attributes, maintains cookies (not globally!), and so on
<joepie91> so that you can effectively use the site as normal, but through a proxy
<joepie91> the Last Bastion on that aspect is HTTP requests from JS; I'll probably be monkeypatching window.fetch and XMLHttpRequest to mess with the input URLs
<joepie91> eventually the proxied page will run in an iframe, with a custom chrome around it that shows the current data tree / set of scraping rules, a navigation bar, network requests, and so on
<joepie91> using postMessage to communicate between the two
<joepie91> probably running the proxied iframe on a separate origin to make it a little harder for sites to much with it
<joepie91> muck*
<joepie91> and then, in theory, it should be possible to offer this as a public service that Just Works from a browser, without needing browser extensions or installed software or w/e
<joepie91> accompanied by a JS library that takes the configs generated by the online tool, so that you can just re-run the scraping operation headlessly from some other project
<joepie91> but probably also with direct data export from the online interface, for quick-and-dirty one-off page scraping
<joepie91> samueldr: try again, now it has 'highlight all' :)
<pie_> damn! nix-build some_url_here doesnt work with -A ?
<pie_> joepie91 oh thats what you meant by point and click
<pie_> joepie91ive wanted something that saves stuff as i browse before, figured it would be a browser plugi
<pie_> joepie91 sounds good
<pie_> I want `nix-build https://github.com/deliciouslytyped/zfstui/tarball/master -A fork` to work :(
<joepie91> pie_: there's various warc proxy implementations for "save as I browse"
<joepie91> maybe webmemex also has an automatic mode? not sure
<joepie91> .... I just tried to end a tweet with */
* joepie91 shakes brain
<joepie91> wtf u doin
<pie_> :D
<tazjin> here's the popularity count for a little over half of nixpkgs (still processing ...): https://gist.github.com/tazjin/f3b4539acef6f028f9e03189f9c35911
<tazjin> I didn't realise just how many GUI-related libs would be in there
<tazjin> err, that's top 200 in descending order
<tazjin> the falloff is quite steep (compare ~200k references for glibc to ~100 at only 200 entries later)
<tazjin> so I think I'll only consider the top 1% for now
drakonis has joined #nixos-chat
jtojnar has quit [Quit: jtojnar]
jtojnar has joined #nixos-chat
jtojnar has quit [Client Quit]
drakonis has quit [Quit: WeeChat 2.5]
drakonis has joined #nixos-chat