gchristensen changed the topic of #nixos-chat to: NixOS but much less topical || https://logs.nix.samueldr.com/nixos-chat
Sonarpulse has quit [Ping timeout: 240 seconds]
matthewbauer has joined #nixos-chat
<infinisil> Man, if I had the patience, I could spurt about NixOS all over these threads: https://www.reddit.com/r/linux/comments/8q92hs/microsofts_failed_attempt_on_debian_packaging/
<infinisil> So many opportunities of "That wouldn't have happened/been a problem with Nix/NixOS"
<infinisil> There's some people that say it's been really hard to properly package stuff for Debian
<infinisil> imo at least it's super easy for Nix
<infinisil> And the chances of you messing up someone's system with your packaging are nearly zero
<samueldr> tact should be used so it doesn't look like the new "did you know I use archlinux?"
<samueldr> (even though I know that yes it's objectively better in those conditions)
<infinisil> Yeah, honestly I'm way too lazy to get engaged in these reddit threads
<infinisil> Mostly
<infinisil> Unfortunately there's an unhealthy amount of Nix mentions in above threads, namely 0!
<joepie91> [03:13] <samueldr> tact should be used so it doesn't look like the new "did you know I use archlinux?"
<joepie91> my advice would be: don't mention NixOS until the very last line
<joepie91> explain how the problem could have been prevented, why that prevents it, and only *then* mention that NixOS already does that
<samueldr> sounds good
<joepie91> makes for more insightful comments too :p
* infinisil hopes for somebody to take NixOS in above threads
sir_guy_carleton has joined #nixos-chat
jasongro` has joined #nixos-chat
<joepie91> JasonGro`: so my opinion of JS is... I would not call it 'good', but that is mostly to do with having very high expectations of how a good programming language would be designed, and none of the popular languages really meet this bar
<joepie91> JasonGro`: I would, however, consider it a good general-purpose option; certainly better than eg. Python, mostly due to the much healthier ecosystem
<joepie91> but... it certainly has problems
<joepie91> the lack of integer types is a rather glaring issue that is *finally* starting to get resolved; and the 'single-threaded event loop' model is definitely a limitation to be aware of
<sir_guy_carleton> what's wrong with python and its ecosystem?
<joepie91> and "strict mode" is not so strict in many aspects where it really should have been
<joepie91> (like automatic type casting for example; that should just really not be a thing)
<joepie91> (there's no ergonomics justification for it in JS either, really)
<infinisil> joepie91: Whoa I didn't know JS doesn't have integers, wtf? That's similar to how Java doesn't have unsigned integers, only worse
<joepie91> sir_guy_carleton: poor documentation and a collective habit of the community to deny that that problem exists despite repeated complaints from many people (and it therefore does not get fixed); laughably broken package management; to name two prominent issues
<jasongro`> I feel exactly the same (except that I don't have experience with Python's ecosystem).
<joepie91> well
<joepie91> not just package management, part of the problem is the module system
<jasongro`> Also I don't like the syntax, but then there's CoffeeScript etc.
<joepie91> infinisil: yeah... bigint types are currently being trialled in chrome and likely to land in a future JS
<jasongro`> Anyway, IMO it's just another badly planned but not terrible language.
<joepie91> but right now all numbers are double-precision floats
<jasongro`> Except that it has prototype-based inheritance: that's GREAT IMO.
<joepie91> except for integer arrays, which *do* have integer-y types, but they are not stand-alone value types
<simpson> sir_guy_carleton: Less than 2% of the Python ecosystem at large has *ever* used PyPy. This is the biggest symptom of a big problem: the Python galaxy is so big that many people have never heard of the good things.
<joepie91> JasonGro`: also, one of my major complaints about JS is the tendency to try and make it look familiar to people coming from classical languages, even if that results in misleading semantics
<joepie91> see also: constructors, ES6 classes, etc.
<joepie91> both of those should never have been a thing
<joepie91> because all they've really done is introduce confusion
<joepie91> they don't provide the guarantees that people expect; they don't provide meaningful benefits over prototypes or even just object literals; and in particular constructors were incredibly poorly designed, ergonomics-wise
<simpson> Object literals are really great.
<infinisil> simpson: Short demo?
<joepie91> like, to illustrate: you can write complex maintainable applications in JS without ever writing a *single* constructor or class, and nothing would semantically change at any call site compared to if you *did* use constructors or classes
<joepie91> if this doesn't tell you that constructors and classes are a worthless addition to the language, I don't know what will :P
<simpson> ES object literals are tricky because of this-binding. Named object literals are a lot easier to work with.
<joepie91> sure; but that is orthogonal to literals vs prototypes vs constructors vs classes
<joepie91> because this-binding works the same for all of them :P
<joepie91> they all just produce... objects, with optionally a prototype
<jasongro`> simpson: that's an interesting point, about the ecosystem being so large it hides the good thigs.
<joepie91> (the amount of "optionally" depending on how pedantically you look at it)
<simpson> Yes, I know. I am criticizing ES's *entire* object model, because this-binding is tricky *at all times*, while Monte simply doesn't have `this`, and instead lets objects use their own names.
<simpson> m`def f() { return f }` and all that.
<jasongro`> joepie91: Totally agree.
<infinisil> simpson: Is that a function that returns itself?
<simpson> infinisil: Yep.
<infinisil> :O
<infinisil> Ah, that's like `f = f` in Haskell?
<joepie91> anyhow, add to this that 'classes' are a pretty nonsensical model to begin with, and yeah...
<simpson> hask`f = \() -> f` because Hask is weak~
<jasongro`> joepie91: Agree. Do you know Self?
<infinisil> simpson: Ah yes
<joepie91> (prototypes are only marginally better)
<joepie91> JasonGro`: I know of its existence and that it has some relation to JS
<joepie91> that is about it :)
<jasongro`> joepie91: Maybe for large values of "marginally" :-)
<joepie91> prototypes still form a hierarchical model
<joepie91> inherently hierarchical
<jasongro`> Self has nothing to do with JS. And it's very awesome ... although also useless, because it has almost no ecosystem or even users, and doesn't play well with others.
<joepie91> hierarchical models are not great :P
<simpson> infinisil: But yeah, the Monte way is to try to find new ways of bending the meta.
<jasongro`> Oh, I see. But no. You can have prototypes + traits.
<joepie91> right, traits is the interesting one
<jasongro`> Right.
<jasongro`> You might like Self.
<joepie91> JasonGro`: anyhow, afaik JS is partly based on Self
<jasongro`> Oh sorry yes so it is! But very much in THAT direction.
<infinisil> simpson: Heh, that feels like cheating
<infinisil> simpson: Why would a this.source() be needed in actual code?
<joepie91> JasonGro`: either way, my interest doesn't really lie in text-based programming languages
<joepie91> I find it a poor medium to express the complexities of business logic
<jasongro`> What do you mean by text-based?
<joepie91> too linear
<joepie91> JasonGro`: code as text
<sir_guy_carleton> joepie91: so what should replace it?
<infinisil> joepie91: AST editor?
<jasongro`> As opposed to what?
<simpson> infinisil: Well, I knew that it was *possible*, so I wanted to include it. The real goal was `this.module()`, which is the currently-instantiated module in a way that lets the module *call itself* if it wants.
<infinisil> I think AST editors are the future
<joepie91> JasonGro`: something that more closely resembles the mental model behind business logic; for example, diagram-based approaches are interesting
<jasongro`> OK. Self is not text-based in that sense.
<joepie91> there should be less of a translation step between the mental model of business logic, and the expression of it as code
<jasongro`> Or parts of it are and parts are not.
<infinisil> simpson: Heh alright, sounds fun
<joepie91> if it is written as text, it is text-based :P
<simpson> Since Monte modules are "DeepFrozen", or transitively immutable, there's no problem with letting the module instantiate itself on a frozen copy of itself.
<jasongro`> It isn't, usually, although it can be.
<jasongro`> Told you it was not very similar to JS!
<joepie91> JasonGro`: can you give me an example?
<simpson> joepie91: Ooh, did I show you my most recent big map? I've been investigating posets, and generated this translation cosheaf: https://corbinsimpson.com/danlu.animalia.monotone.png
<infinisil> simpson: Heh, over 50% Mathematica. I wondered what that syntax highlighting was from
<joepie91> simpson: I know some of those words :)
<simpson> infinisil: I made a recent attempt to fix Linguist, but it's not working on NixOS.
<simpson> But yeah, we opened a PR last year, and they told us that we don't have enough code. In the next PR, I'm going to tell them that it's *the* most-complained-about problem by newbies.
<jasongro`> joepie91: That's a trick question, isn't it? If I can give you an example here then it's text. But seriously, there are some great videos. Probably not urgent because, as I said, it's not useable - no ecosystem.
<simpson> joepie91: Oh, sorry, I may have mixed you up with somebody else? No worries.
<joepie91> simpson: possibly, but I may also just not be familiar with the terminology
<infinisil> simpson: Github should let the project choose the syntax highlighting really
<joepie91> JasonGro`: eh, an image or something? idk :P
<joepie91> video works too
<simpson> FWIW the most important word here is "big"; I didn't know that it was *possible* to compute with posets of this size in reasonable time, and I've had to invent at least one new graph algorithm along the way.
<jasongro`> joepie91: It's such a small community, if you search for selflang you'll find everything there is.
<joepie91> simpson: my background isn't academic, so quite often I'm familiar with concepts but not the terminology used for them
<simpson> Next part: Pos is supposedly a Cartesian closed category, so maybe there's a way to do some interesting lambda-calculus with it?
<simpson> joepie91: Oh, no worries, I had just thought that we had chatted about category theory before.
<joepie91> simpson: I think we might have, but unsure
<joepie91> JasonGro`: from what I can find about it, it still seems largely text-based
matthewbauer has quit [Ping timeout: 256 seconds]
jasongro` has quit [Ping timeout: 240 seconds]
lassulus_ has joined #nixos-chat
lassulus has quit [Ping timeout: 265 seconds]
lassulus_ is now known as lassulus
d6e has joined #nixos-chat
d6e has quit [Quit: WeeChat 2.1]
d6e has joined #nixos-chat
JasonGrossman has joined #nixos-chat
sir_guy_carleton has quit [Quit: WeeChat 2.0]
jasongro` has joined #nixos-chat
adamt has joined #nixos-chat
adamt is now known as Guest21370
Guest21370 has quit [Ping timeout: 245 seconds]
Lisanna has joined #nixos-chat
jasongro` has quit [Remote host closed the connection]
JasonGrossman has quit [Remote host closed the connection]
JasonGrossman has joined #nixos-chat
Guest21370 has joined #nixos-chat
jasongro` has joined #nixos-chat
JasonGrossman has quit [Ping timeout: 240 seconds]
Lisanna has quit [Ping timeout: 240 seconds]
jasongro` has quit [Ping timeout: 276 seconds]
Guest21370 has quit [Ping timeout: 276 seconds]
disasm has quit [Ping timeout: 264 seconds]
Guest21370 has joined #nixos-chat
joepie91 has quit [Excess Flood]
joepie91 has joined #nixos-chat
joepie91 has joined #nixos-chat
__monty__ has joined #nixos-chat
jtojnar has quit [Remote host closed the connection]
Sonarpulse has joined #nixos-chat
Guest21370 has quit [Ping timeout: 240 seconds]
JasonGrossman has joined #nixos-chat
dmc is now known as polyzen
polyzen is now known as dc
__monty__ has quit [Quit: leaving]
matthewbauer has joined #nixos-chat
lopsided98 has quit [Quit: Disconnected]
lopsided98 has joined #nixos-chat
matthewbauer has quit [Remote host closed the connection]
matthewbauer has joined #nixos-chat
adisbladis[m] has quit [Remote host closed the connection]
sphalerit has quit [Remote host closed the connection]
dtz has quit [Remote host closed the connection]
Drakonis[m] has quit [Read error: Connection reset by peer]
pstn has quit [Remote host closed the connection]
hedning[m] has quit [Read error: Connection reset by peer]
unlmtd has quit [Read error: Connection reset by peer]
mudri[m] has quit [Read error: Connection reset by peer]
hedning[m] has joined #nixos-chat
unlmtd has joined #nixos-chat
sphalerit has joined #nixos-chat
pstn has joined #nixos-chat
dtz has joined #nixos-chat
Drakonis[m] has joined #nixos-chat
adisbladis[m] has joined #nixos-chat
mudri[m] has joined #nixos-chat
matthewbauer has quit [Read error: Connection reset by peer]
matthewbauer has joined #nixos-chat
<lassulus> gchristensen: hey, whats the status on https://github.com/antonym/netboot.xyz/issues/37 ?
<lassulus> looking really forward to netbook.xyz support
<gchristensen> I'll have to take a look
<gchristensen> I've netbooted approximately 1,000 times today ...
<gchristensen> * exageration, but it has been at least a few hundred times ...
<lassulus> ok cool, just say a word if I can help in any way
<LnL> heh
matthewbauer has quit [Read error: Connection reset by peer]
lopsided98 has quit [Quit: Disconnected]
matthewbauer has joined #nixos-chat
lopsided98 has joined #nixos-chat
<andi-> gchristensen: have you tried `sakura` with your reflowing requirements? I just tried it and it looks promising (the default colors are off but that can probably be fixed)
<gchristensen> nope, I'll try
<gchristensen> I need to stop usin kitty for the sake of my battery :)
matthewbauer has quit [Remote host closed the connection]
jtojnar has joined #nixos-chat
<andi-> hrhr
<infinisil> Battery problems is the main reason I try to avoid firefox whenever possible and use terminal apps instead, so that terminal app needs to be fast!
matthewbauer has joined #nixos-chat
<andi-> I just did a very scientific hexdump </dev/urandom with both st and sakura... it isn't just preceived when typing it is again slower as st when outputitng text.. it looks laggy while st looks fluid :/ I hate this. All benchmarks say otherwise.
<andi-> It must be really hard to implement both a simple terminal and text reflowing...
* andi- must resist not starting yet another project...
<infinisil> alacritty does text reflowing I'm pretty sure
<andi-> And it feels slow
<andi-> and requires a GPU acceleration for whatever reasons
<infinisil> Oh yeah it doesn't have the best response time
jtojnar_ has joined #nixos-chat
<infinisil> Which is probably more important than bandwidth for terminals..
hedning[m] has quit [Remote host closed the connection]
dtz has quit [Read error: Connection reset by peer]
pstn has quit [Remote host closed the connection]
Drakonis[m] has quit [Remote host closed the connection]
mudri[m] has quit [Remote host closed the connection]
sphalerit has quit [Remote host closed the connection]
adisbladis[m] has quit [Remote host closed the connection]
<andi-> I am just shocked.. It is 2018 (is it really?) We are having terminal emulators for how long? There is still people innovating with them..
unlmtd has quit [Read error: Connection reset by peer]
<infinisil> It is quiet sad..
<andi-> I also have the impression that some of those terminals have to warm up first
<andi-> right now I am using sakura. Can not really feel a difference from my usual ST session
jtojnar has quit [Ping timeout: 240 seconds]
jtojnar has joined #nixos-chat
jtojnar_ has quit [Ping timeout: 245 seconds]
<infinisil> Do those support fancy features such as ligatures, unicode, emoji, powerline, etc.?
<andi-> st worked just fine with those. Let me check
<andi-> powerline works just fine, The unicode snowman channel name also renders fine..
<andi-> that being sakura now
<infinisil> I think I used sakura for a while but then I had some problems with its config so i had to switch
<andi-> It already irritates me that I had to re-configure the 2nd instance I opened... I'll just stick to ST maybe adding reflow foo wouldn't be too bad.
<andi-> not even the embedded terminal within neovim does proper reflowing :D
<andi-> it wraps but never unwraps lines
<infinisil> I want an AST terminal!
<infinisil> I hate how everything is text based
<andi-> hrhr
hedning[m] has joined #nixos-chat
<samueldr> that's what an up-to-date terminal should strive to achieve, imo, not a dumb grid of character cells :/
<samueldr> well, a modern thing
<samueldr> though, it's hard, next to impossible, since everything already does VT100 and the CLI is built around that
<gchristensen> andi-: what snowman?
<infinisil> samueldr++
<gchristensen> sounds like y'all want powershell
<samueldr> in a way, yes, but graphical powershell
<gchristensen> omg samueldr
<infinisil> I'm afraid to say that I think Hyper, the Electron based terminal goes in that direction (not sure though), which is a bit sad..
<samueldr> so it's both a foundational and presentational
<samueldr> issue^
<samueldr> infinisil: I would prefer there is work towards something even if the end-implementation (code, framework) isn't the best
<samueldr> though there's the whole transport and data format
<infinisil> I think on HN I saw an idea regarding that
<infinisil> A structural typing protocol could work: E.g. with json: the tool `ping` needs an ip, so the json needs to look like { ip = <number>; <whatever else>; }
<infinisil> Oh wait that's nix
<infinisil> Something like that
<samueldr> I'm thinking more that the protocol is bound to miss something for some use cases, or that making it extensible is bound to cause issues
<samueldr> for the results, the program outputs, mainly
<samueldr> I want to `cat some-3d-model.stf`
<samueldr> manipulate it in-place
<samueldr> and when quitting, the window is left-over
pstn has joined #nixos-chat
sphalerit has joined #nixos-chat
unlmtd has joined #nixos-chat
dtz has joined #nixos-chat
Drakonis[m] has joined #nixos-chat
adisbladis[m] has joined #nixos-chat
<samueldr> or even better, still manipulatable
mudri[m] has joined #nixos-chat
<samueldr> but that's a whoe can of worms
<samueldr> is the program resident or is it working on re-hydrated remains?
<gchristensen> it is almost as if the worse-is-better approach of text is what makes the cli so powerful
<infinisil> Oh I see what you mean
<samueldr> gchristensen: exactly
<andi-> gchristensen: on hackint there is an irc channel named using the Unicode snowman :)
<infinisil> I don't want to keep writing these stupid parsing scripts in bash for eternity..
<samueldr> but yeah, there's something that could be built
<samueldr> but it's like adding a whole dimension
* samueldr is now thinking about the time cube
<gchristensen> all the world is parsing
<infinisil> How about we just write all tools in Haskell and distribute them as libraries
<samueldr> Temple OS or whatever the latest name has some interesting ideas with all that
<samueldr> infinisil: code isn't UX
<samueldr> :)
<infinisil> Ugh
<gchristensen> man, I got this great epoisse at the cheese shop yesterday and it is so good it is making me forget all about the perils of parsing streams of text
<infinisil> Make some user friendly wrappers for the ones who want to use command line
<infinisil> Auto generate the flags from the typing info
* samueldr never had epoisse
<andi-> Just quit text. Use drag and drop for your day2day programming!
<gchristensen> andi-++
<infinisil> Hmm..
<andi-> I mean if you write 300 characters or 10 per minute doesn't matter much. Its the thought that's important and slow right? ;) /s
<samueldr> andi-: I don't know if you're saying that in jest, but depending on the abstraction level, sometimes text may not be the right abstraction for code
<infinisil> I just feel like stuff could be much faster when the whole pipeline can eliminate all string-based operations (for what really shouldn't be string based)
<andi-> Well time for bed. I expect you guys to come up with a master plan for all terminal use cases. I want my neomutt with drag and drop ;)
<samueldr> I'm thinking that there may be reasons why research isn't more prevalent (or visible) through "evolving" programming
<samueldr> and really I'm not against text, just thinking out loud, research is good
<andi-> infinisil: I agree that the whole text thing might be not ideal in many cases...
<infinisil> I'm actually fairly convinced that with enough typing information, all 'lower-level' interfaces could be automatically generated
<samueldr> I really should learn smalltalk (well, take a deep look) since it apparently already has everything implemented already
<infinisil> (fairly convinced = I thought about it for 10 seconds)
<andi-> Power shell
<samueldr> everything as in, any developer's problem seems to have a smalltalk answer if I online comments are to be believed
<samueldr> I really should also look into power shell
<andi-> All problems that can be solved with code can be solved by perl?
<samueldr> probably
<samueldr> I mean, isn't perl a way to obfuscate code? /flame
<gchristensen> all problems thath can be solved can be solved by excel
<andi-> Powerpoint
<samueldr> ^
<andi-> There was this Neumann architecture on PowerPoint IIRC
<samueldr> could always link them trough OLE, or was it COM32?
<andi-> Both?
<andi-> Yes, I remember that.. Great video
matthewbauer has quit [Remote host closed the connection]
<andi-> That's close
<andi-> Do we maybe have something for one note or word? Ms project?
<simpson> Has anybody packaged QBE yet? http://c9x.me/compile/
<gchristensen> man these `expect` tests work great almost all the time, and those last few cases drive me batty
<infinisil> gchristensen: Which cases?
matthewbauer has joined #nixos-chat
<gchristensen> sometimes they don't see GRUB flash by
<samueldr> is it a timeout/delay issue?
<samueldr> while it could increase test times, increains the delay may help?
<samueldr> (though I should assume it's not that)
matthewbauer has quit [Ping timeout: 245 seconds]
Sonarpulse has quit [Ping timeout: 264 seconds]
<gchristensen> I don't know :)
<gchristensen> not timeouts though, the timeout is like 30min
<gchristensen> I think after sending a few extra \x1B\[B;'s it solved it
matthewbauer has joined #nixos-chat
dtz has quit [Remote host closed the connection]
sphalerit has quit [Remote host closed the connection]
hedning[m] has quit [Remote host closed the connection]
unlmtd has quit [Remote host closed the connection]
Drakonis[m] has quit [Remote host closed the connection]
mudri[m] has quit [Remote host closed the connection]
adisbladis[m] has quit [Remote host closed the connection]
pstn has quit [Remote host closed the connection]
hedning[m] has joined #nixos-chat
pstn has joined #nixos-chat
unlmtd has joined #nixos-chat
sphalerit has joined #nixos-chat
dtz has joined #nixos-chat
adisbladis[m] has joined #nixos-chat
Drakonis[m] has joined #nixos-chat
mudri[m] has joined #nixos-chat
stammon has quit [Remote host closed the connection]
<samueldr> did you expect to write tcl scripts ever?
<samueldr> :)
<samueldr> 1000 attempts, the true perseverance of autmatons
<gchristensen> :)
<samueldr> is it called memoization, how functions can be partially applied in nix?
<samueldr> oh, I don't think (just googled)
<gchristensen> bummer, it didn't work, it made it worse