←2022-03-28 2022-03-29 2022-03-30β†’ ↑2022 ↑all
01:17:18 -!- sprout has quit (Ping timeout: 260 seconds).
01:55:53 -!- dnm has joined.
02:37:21 -!- Keyon has joined.
02:37:41 -!- Keyon49 has joined.
02:37:55 -!- PyMaster22 has joined.
02:38:08 <PyMaster22> Test
02:38:09 -!- Keyon has quit (Client Quit).
02:38:29 <Keyon49> Hi!
02:39:06 -!- Keyon49 has quit (Client Quit).
02:39:23 -!- Keyon has joined.
02:39:46 <Keyon> Could of not kicked me out πŸ˜’
02:41:01 -!- Keyon has quit (Client Quit).
04:23:37 <esolangs> [[SYNTHESIZE]] https://esolangs.org/w/index.php?diff=94318&oldid=94188 * Lemonz * (+117) /* FizzBuzz */
04:33:54 <esolangs> [[I walk away!]] N https://esolangs.org/w/index.php?oldid=94319 * Lemonz * (+2535) Created page with "'''I walk away!''' Is an esoteric that does a few things, but the main problem being that when you try to do anything, the console's contents, well, walk away. So trying to us..."
04:34:16 <esolangs> [[User:Lemonz]] https://esolangs.org/w/index.php?diff=94320&oldid=94251 * Lemonz * (+19) /* Actually a thing language */
05:14:41 <esolangs> [[Atomless set computation]] N https://esolangs.org/w/index.php?oldid=94321 * Peter * (+150) Created page with "''Atomless set computation'' (not lowercased unless at the beginning of a sentence) is an [[esoteric programming language]] designed by [[User:Peter]."
05:15:08 <esolangs> [[Q-SET]] https://esolangs.org/w/index.php?diff=94322&oldid=94310 * Peter * (-2)
05:15:13 <esolangs> [[Q-SET]] https://esolangs.org/w/index.php?diff=94323&oldid=94322 * Peter * (+4)
05:15:48 <esolangs> [[Atomless set computation]] https://esolangs.org/w/index.php?diff=94324&oldid=94321 * Peter * (-150) Blanked the page
05:19:30 <zzo38> Also sometimes if a book contains tables with some numeric data that could also easily be derived in another way, using simple calculations, even if the original text is copyright.
06:16:37 -!- sprout has joined.
06:26:57 -!- Everything has joined.
06:45:09 -!- Sgeo has joined.
06:48:50 -!- Sgeo__ has quit (Ping timeout: 272 seconds).
07:39:16 -!- Sgeo has quit (Read error: Connection reset by peer).
07:47:46 -!- dyeplexer has joined.
08:45:22 <esolangs> [[Q set]] https://esolangs.org/w/index.php?diff=94325&oldid=94307 * Peter * (+19)
08:45:29 <esolangs> [[Q set]] https://esolangs.org/w/index.php?diff=94326&oldid=94325 * Peter * (-19)
08:59:53 -!- dyeplexer has quit (Ping timeout: 260 seconds).
09:11:42 -!- dyeplexer has joined.
09:39:33 <esolangs> [[Nors]] https://esolangs.org/w/index.php?diff=94327&oldid=79369 * Kaveh Yousefi * (+158) Added a hyperlink to my implementation of the Nors programming language on GitHub and changed the category tag Unimplemented to Implemented.
09:41:34 <esolangs> [[Nors]] M https://esolangs.org/w/index.php?diff=94328&oldid=94327 * Kaveh Yousefi * (+36) Amended the formatting by rendering identifiers italic.
10:12:41 -!- __monty__ has joined.
11:10:49 -!- razetime has joined.
12:05:23 -!- Everything has quit (Ping timeout: 260 seconds).
12:06:54 -!- Everything has joined.
12:14:59 -!- dyeplexer has quit (Ping timeout: 260 seconds).
12:26:38 -!- atrapa has joined.
12:29:15 -!- Everything has quit (Quit: leaving).
12:58:02 -!- definitelya has joined.
13:07:24 -!- razetime has quit (Read error: Connection reset by peer).
13:08:13 -!- tromp has quit (Ping timeout: 272 seconds).
13:17:41 <esolangs> [[Implieses]] M https://esolangs.org/w/index.php?diff=94329&oldid=93800 * Kaveh Yousefi * (+36) Amended the formatting by rendering identifiers italic.
13:18:53 * int-e wonders what fizzie thinks of https://nitter.eu/ariadneconill/status/1508696919786328068#m
13:19:20 <fizzie> Without looking, I guessed that was that tirade about the Go standard library.
13:19:46 <fizzie> Well, and/or Google SWE interviews.
13:19:49 <int-e> Good guess
13:20:01 <esolangs> [[Soul]] M https://esolangs.org/w/index.php?diff=94330&oldid=94311 * Marco Devillers * (+16) clarity
13:20:06 <fizzie> I had read it earlier today.
13:21:14 <int-e> I'm torn on algorithms... it can't hurt to know them but so much software engineering is about understanding interfaces of opaque libraries these days...
13:22:02 <int-e> ...and in that context, knowing algorithms just feeds the NIH syndrome.
13:22:39 <int-e> ("this isn't quite ideal for what we want, and we *can* implement our own")
13:22:48 <fizzie> FWIW, I don't really understand what "that append is probably asymptotic O(n), so you probably want to prepend and then reverse" is trying to say.
13:23:11 <int-e> I didn't understand that either... it's not a linked list
13:23:30 <int-e> if it /were/ a linked list, then it would make sense
13:24:09 <fizzie> And the Python example -- list(set(x)) -- is probably much closer to the disparaged "use a map" answer, isn't a Python set basically a hashmap? Well, I guess I don't know that.
13:24:29 <int-e> fizzie: but I really meant the SWE interview part.
13:24:31 <fizzie> (Except obviously rather more concise than the version with a Go map.)
13:24:42 <fizzie> Well. I've been doing a bunch lately, as it happens.
13:25:12 <int-e> And... obviously this tweet is a shitpost :)
13:25:15 <fizzie> I haven't asked about sorting a list, and if I did, I would expect TC to say they'd use their language's sort function.
13:25:48 <fizzie> (TC is short for "the candidate", and is the canonical gender-neutral term in our interview feedback.)
13:27:07 <int-e> . o O ( Batcher's odd-even merging on a GPU )
13:27:50 <int-e> Obviously that's not the default answer :)
13:28:48 <fizzie> It's certainly true that we do ask quite a lot of "algorithm" questions. From the interview schedules I've seen, typically 3 out of the 5 interviews for general SWE candidates are one of those.
13:30:21 <fizzie> I think the official rationale for the policy is that there's research (both internal and external) saying it's... well, while it's a *bad* predictor for future success, it's not substantially worse than the others people have tried.
13:31:07 <int-e> I suppose it gauges interest in programming to some extent
13:32:05 <fizzie> I didn't spend any time preparing for my own interviews back when, FWIW. (I've also pretty much forgotten what I was asked.)
13:34:01 <fizzie> At least some subset of those "missing bits of the Go standard library" will probably land in the WIP generic https://pkg.go.dev/golang.org/x/exp/slices package, now that generics are a thing.
13:35:06 <fizzie> In particular, Ariadne's dedup is `slices.Sort(in); slices.Compact(in);` with that package.
13:35:52 <int-e> Compact() then... that dedup assumes a sorted input
13:36:06 <fizzie> No, it's got a `sort.Strings(in)` in it.
13:36:25 <int-e> Ah, up there.
13:36:48 <int-e> I don't know why I missed it... focussed on the loop I guess.
13:36:53 <int-e> my bad.,
13:37:29 <fizzie> The standard library `sort` package has a handful of pre-baked functions for special slice types, namely sort.Float64s, sort.Ints and sort.Strings, as a sort of a bankrupt man's generics.
13:37:42 <fizzie> (Even less than a poor man's. That's sort.Slice, instead.)
13:38:15 -!- razetime has joined.
13:39:41 <fizzie> I wrote `SortBy` the other day to complement slices.Sort and slices.SortFunc, as a sort of a (trivial) exercise to start getting a little familiar with Go generics: https://go.dev/play/p/10B41WQMj_9
13:39:58 <fizzie> The type constraint system feels a little quirky to me.
13:41:07 <int-e> Go really doesn't believe in punctuation, does it...
13:41:26 <int-e> . o O ( U: constraints.Ordered )
13:42:08 <fizzie> Yeah, that's an interface defined in a library as the full set of all primitive types that you can apply < to. ;)
13:42:36 <int-e> I meant the lack of ":" in the actual syntax
13:43:14 <fizzie> Yeah. Well, atleast [] type parameters are consistent with () function parameters in the lack of punctuation.
13:43:52 <int-e> yeah and the absence of ; for separating statements and so on
13:44:17 <int-e> It's not /really/ a complaint. But I do find it a bit awkward :P
13:44:27 <fizzie> The semicolons are actually there in the formal syntax, they're just inserted by a rule rather than written explicitly in the source.
13:44:39 <fizzie> You could write them, but gofmt would keep taking them out as fast as you could type them in.
13:44:52 <int-e> Rust does have colons, and I do prefer that.
13:45:20 <fizzie> gofmt even forcibly line-separates `if x { a; b }` into `if x {` newline `a` newline `b` newline `}`. But it is what it is.
13:45:24 <int-e> Also statement separators; I feel less strongly about those because of Python and Haskell I guess.
13:45:53 <fizzie> (But it'd be valid Go to write the one with a single line and a semicolon too, just not canonically formatted Go.)
13:46:35 <fizzie> Given the de-facto standard nature of gofmt, it's probably a good question on whether it even matters separating statements "manually" by semicolons is valid. Like that tree-in-a-forest-sound thing.
13:46:57 <int-e> Looking at the actual code... how hard would it be to pull off https://en.wikipedia.org/wiki/Schwartzian_transform ?
13:47:41 <int-e> I guess that's a matter of having a generic 'map' function or not...
13:48:06 <int-e> :t map snd . sort . map (?f &&& id)
13:48:07 <lambdabot> (Ord a1, Ord a2, ?f::a2 -> a1) => [a2] -> [a2]
13:48:51 <int-e> :t map snd . sortBy (comparing fst) . map (?f &&& id)
13:48:53 <lambdabot> (Ord a1, ?f::a2 -> a1) => [a2] -> [a2]
13:49:32 <fizzie> Yeah, I don't think there's a slices.Map actually. Go folks aren't functional programmers. :)
13:49:47 <int-e> sortBy being SortFunc. Your SortBy is sortOn
13:50:37 <fizzie> Hmm, not sure where I got the "by" from, for that. It's called "key" in Python.
13:50:43 <int-e> Rust, somehow, has quite a few functional patterns. It's... nice, really. I'm afraid the compiler isn't doing a great job optimizing them atm though... I should look at some assembly code to confirm.
13:52:11 <int-e> https://doc.rust-lang.org/std/iter/struct.Map.html <-- this gives a `map` on iterators
13:54:00 <fizzie> Aw... I thought https://go.dev/play/p/tSwLz-6lZ5l would be the Go-ish way of doing that, but "type declarations inside generic functions are not currently supported". :/
13:54:03 <int-e> I do think that the choice between `by` and `on` is quite arbitrary here.
13:55:08 <fizzie> That's a shame, because it works if you just manually substitute that in: https://go.dev/play/p/G5ZaZlm6-Wg -- but that looks *ridiculous*.
13:55:39 <fizzie> I think in practice if you'd want to do that with Go, since it's so "low-level" anyway, you'd just use a separate slice to store the mapped values.
13:56:22 <int-e> but how do you track the association then, hmm
13:56:44 <int-e> unless you're reimplementing the full sorting algorithm I guess
13:57:03 <b_jonas> oh come on, everyone knows that sort library functions are redundant, you can just write them form array indexing and indexed assignment => https://dpaste.com/DWPH4PLEX
13:57:21 <int-e> ah well... things are happening. maybe Go will be more usable a year from now as a result :P
13:57:58 <fizzie> int-e: You could implement sort.Interface, which tells the sort algorithm how to swap, and have it swap both slices in sync.
13:58:40 <fizzie> I'm not going to try that out with generics though, because I need to go grocery shopping.
13:59:49 <b_jonas> it helps here that VBA can assign a whole struct as a single value
14:00:37 <fizzie> But I think you could "easily" have a `type slicePair[T any, U constraints.Ordered] struct { vals []T; keys []U }` that implements sort.Interface.
14:00:48 <fizzie> Meaning no need for a copy of the original values.
14:01:38 <int-e> b_jonas: ugh... is that a stack-less bottom up merge sort?
14:01:48 <int-e> I think it is... looks nasty
14:02:29 <int-e> (and it explains why the scratch space is twice as big as the input)
14:02:30 <b_jonas> int-e: something like that, a two-way natural mergesort. the trick for implementing it is to just look it up in Knuth. and be careful if your comparison function is not known to be well-behaved.
14:03:24 <b_jonas> I think that's what you mean by stackless, there's no index of stacks or fixed (eg. power of two) sizes of runs
14:03:32 <int-e> it should be parsimonious... so there should be no trouble from bad comparison functions [sure, the result won't be sorted, but that's the price you pay]
14:03:49 <int-e> the runs are powers of two
14:03:53 <int-e> that's the rz variable
14:04:22 <b_jonas> ah you'ree right
14:04:26 <b_jonas> I have no idea how this thing worked
14:04:31 <b_jonas> I wrote it like half a year ago
14:04:50 <b_jonas> yeah, it's a power of two thing, not a natural merge
14:04:52 <b_jonas> sorry
14:05:32 <int-e> no worries
14:06:34 <int-e> fizzie: ah, having swaps as part of the interface makes sense... but I didn't know go does that (and I'm not sure I've seen anyone else do it either)
14:08:45 <b_jonas> of course the problem with this is that you have to copy that code for each different type of struct that you define
14:09:15 <b_jonas> and for each array too, if you want to be able to sort more than one array, or at least write a helper that copies an array to/from the sort buffer
14:09:44 <b_jonas> mind you, VBA is an interpreted language were you can implement string-eval so you could automate that, but that's nasty
14:10:30 <b_jonas> and that only works if you make your array public and so assign a unique name
14:11:07 -!- razetime has quit (Remote host closed the connection).
14:11:23 <fizzie> int-e: It had to be done: https://go.dev/play/p/NclyObFyha1
14:11:37 <fizzie> But now I do need to go.
14:12:12 <fizzie> (In fact, that was surprisingly painless.)
14:13:25 <fizzie> FTR, the reason why the constraints are [S ~[]T, T any, U ...] rather than just [T any, U ...] and then making the method take a []T is that with the "approximate" matcher ~, you can also use the function on a new defined type with an underlying type of []T. Otherwise you could only sort a slice, not a `type customThing []foo`.
14:27:23 <esolangs> [[]] M https://esolangs.org/w/index.php?diff=94331&oldid=94293 * ColorfulGalaxy * (+72) Today is the first birthday of ColorfulGabrielsp138's account on LifeWiki forum.
14:34:46 <esolangs> [[Soul]] M https://esolangs.org/w/index.php?diff=94332&oldid=94330 * Marco Devillers * (+38) clarify
14:35:05 <esolangs> [[Soul]] M https://esolangs.org/w/index.php?diff=94333&oldid=94332 * Marco Devillers * (+2) typo
14:36:05 -!- Franciman has quit (Remote host closed the connection).
14:36:50 <esolangs> [[Soul]] M https://esolangs.org/w/index.php?diff=94334&oldid=94333 * Marco Devillers * (-1) minor
14:42:47 <sprout> right, need to spell everything out
14:42:49 <sprout> ah well
14:48:49 -!- Sgeo has joined.
14:50:38 -!- Franciman has joined.
14:55:43 -!- razetime has joined.
15:00:30 -!- dyeplexer has joined.
15:13:08 -!- atrapa has quit (Quit: atrapa).
15:16:05 <esolangs> [[Soul]] M https://esolangs.org/w/index.php?diff=94335&oldid=94334 * Marco Devillers * (+59) clarify
15:38:02 -!- razetime has quit (Remote host closed the connection).
15:44:39 -!- razetime has joined.
15:47:37 <esolangs> [[Soul]] M https://esolangs.org/w/index.php?diff=94336&oldid=94335 * Marco Devillers * (-37) old wording was better
16:00:15 -!- tech_exorcist has joined.
17:18:56 <esolangs> [[255]] N https://esolangs.org/w/index.php?oldid=94337 * AceKiron * (+2066) Created page with "{{WIP}} '''255''' is an [[esoteric programming language]] developed by [[User:AceKiron]] where operations are represented by a single byte. Currently available operators are:..."
17:19:28 <fizzie> Heh, "need to go", I wasn't even aware that was a pun.
17:19:42 <esolangs> [[255]] https://esolangs.org/w/index.php?diff=94338&oldid=94337 * AceKiron * (-49)
17:20:32 <fowl> this all seems very esoteric to me
17:25:19 -!- razetime has quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.).
17:34:24 -!- definitelya has quit (Remote host closed the connection).
17:36:22 -!- definitelya has joined.
17:43:08 -!- CATS has quit (Remote host closed the connection).
18:06:11 -!- CATS has joined.
18:15:09 <esolangs> [[Q-SET]] https://esolangs.org/w/index.php?diff=94339&oldid=94323 * Peter * (+23)
18:15:15 <esolangs> [[Q-SET]] https://esolangs.org/w/index.php?diff=94340&oldid=94339 * Peter * (-2)
18:17:29 -!- dyeplexer has quit (Ping timeout: 252 seconds).
18:19:45 <esolangs> [[Q-SET]] https://esolangs.org/w/index.php?diff=94341&oldid=94340 * Peter * (+338)
18:55:07 <esolangs> [[User:AceKiron]] https://esolangs.org/w/index.php?diff=94342&oldid=88025 * AceKiron * (+12)
18:59:54 -!- PyMaster22 has quit (Read error: Connection reset by peer).
19:09:27 -!- atrapa has joined.
19:13:20 -!- Bluefourier has joined.
19:13:53 -!- Bluefourier has quit (Client Quit).
20:12:41 -!- Lord_of_Life_ has joined.
20:13:37 -!- Lord_of_Life has quit (Ping timeout: 246 seconds).
20:15:26 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
20:33:01 -!- tech_exorcist has quit (Quit: Disconnecting).
20:45:23 -!- atrapa has quit (Quit: atrapa).
20:46:11 -!- immibis has quit (Remote host closed the connection).
20:47:45 -!- immibis has joined.
20:59:24 -!- immibis has quit (Remote host closed the connection).
20:59:56 -!- immibis has joined.
21:36:03 -!- definitelya has quit (Quit: h).
23:28:13 -!- __monty__ has quit (Quit: leaving).
23:30:42 <esolangs> [[I walk away!]] https://esolangs.org/w/index.php?diff=94343&oldid=94319 * Lemonz * (+123) /* FizzBuzz */
23:40:18 <esolangs> [[Recusion Limit Gone]] N https://esolangs.org/w/index.php?oldid=94344 * Lemonz * (+537) Created page with "'''Recusion Limit Gone''' Is an esoteric with no recursion limit and is able to understand human English, it can also support any single esoteric. However, as of writing they..."
23:40:53 <esolangs> [[Recusion Limit Gone]] https://esolangs.org/w/index.php?diff=94345&oldid=94344 * Lemonz * (-14)
23:42:42 <esolangs> [[Recursion limit gone]] N https://esolangs.org/w/index.php?oldid=94346 * Lemonz * (+62) Redirected page to [[Recursion Limit Gone]]
23:43:49 <esolangs> [[Recursion limit gone]] https://esolangs.org/w/index.php?diff=94347&oldid=94346 * Lemonz * (+342) Removed redirect to [[Recursion Limit Gone]]
23:44:04 <esolangs> [[Recursion limit gone]] https://esolangs.org/w/index.php?diff=94348&oldid=94347 * Lemonz * (+0)
23:44:34 <esolangs> [[Recusion Limit Gone]] https://esolangs.org/w/index.php?diff=94349&oldid=94345 * Lemonz * (-464) Redirected page to [[Recursion limit gone]]
23:45:38 <esolangs> [[Recusion Limit Gone]] https://esolangs.org/w/index.php?diff=94350&oldid=94349 * Lemonz * (+200)
23:47:38 <esolangs> [[User:Lemonz]] https://esolangs.org/w/index.php?diff=94351&oldid=94320 * Lemonz * (+27) /* My focus: joke languages!!! */
←2022-03-28 2022-03-29 2022-03-30β†’ ↑2022 ↑all