« first day (3576 days earlier)      last day (1270 days later) » 

2:13 AM
Find your dog's age: 9 per 468
@cairdcoinheringaahing ^
 
2:29 AM
@Razetime Should we handle negative t1 and/or negative t2?
(negative t2 is somewhat covered in the test cases, but the challenge should explicitly state what to do for such inputs)
 
2:42 AM
@Razetime 6, although that may violate the “using previous knowledge to gain an advantage” loophole
 
@Bubbler ok, added
 
@Razetime Then you also need a test case where t1<0
 
3:05 AM
@Bubbler added one
 
 
3 hours later…
6:23 AM
8
A: Best of PPCG 2019 – Now Accepting Nominations!

user41805Best mathematical insight On this site we often see answers in languages specifically designed for short code, or designed to be fast. Sometimes, a nice golfing trick or speed-up technique surprises us with its ingenuity, beyond the standard use of that language. And occasionally an answer show...

is there gonna be an awards thread for this?
or can I post one?
 
6:53 AM
Idk, maybe post a meta asking for one
 
 
1 hour later…
8:16 AM
@Bubbler ok sounds good
Did it
 
8:26 AM
0
Q: Regarding CGCC's Best of 2019

RazetimeThe nominations for CGCC's best of 2019 have already been posted here. If it's alright, I can make another post for voting on the nominations and selecting them(I am assuming that selection is done by voting, from the previous year's thread). So if anyone wants to nominate any other noteworthy qu...

 
 
5 hours later…
1:44 PM
 
2:00 PM
I find it funny that I spent an hour incrementally golfing down to what you'd already figured out aside from that you'd forgotten ƒ
 
@UnrelatedString TBH I've never really used ƒ, just sort of skipped over it in the docs, which is annoying :/
 
Doesn't help anything that it's not on the bookmarklet
 
The J_. bit is brilliant though
 
@UnrelatedString What's the bookmarklet?
 
2:02 PM
I would have forgotten about float indices long ago if you hadn't used the .ị trick a couple times to great effect
It's a little JS bookmarklet that lets you click codepage symbols to type them (and also provides keyboard shortcuts)
 
@UnrelatedString The .ị trick's been stuck in my head since Erik taught me it during my early JHT sessions :P
 
IIRC Adám made it
 
@UnrelatedString Oh right, that. I just Copy-Paste from the docs :P
 
I forget if there's anything Jelly related that points to it or if I just picked it up when I picked the Brachylog one up, since that one is advertised on the readme
yeah the main thing about the bookmarklet is really that since it happens to have documentation in the tooltips, you can double check things like argument order for stuff you already mostly know lol
@cairdcoinheringaahing also doesn't help anything that there's no cumulative equivalent
 
@UnrelatedString Well, there are a lot of open quick characters, it wouldn't be hard to add a pull request to the repo
Ѓ would probably fit with the general usage of the Рprefix
 
2:10 PM
@cairdcoinheringaahing Oh yeah, you did compile a list of them for that C&R
That too
I had assumed it would be Ѓ before I found that it doesn't exist
 
@UnrelatedString I realised that was completely unnecessary as interpreter.py has this on the 10th line:
# Unused symbols for single-byte atoms/quicks: (quƁƘȤɦɱɲƥʠʂȥḥḳṇẉỵẓėġṅẏ
 
...I have seen that several times and could not remember
also it's funny how ( is one of them
I legitimately didn't even realize ) was a standalone quick until I tried using parentheses as one might ordinarily use parentheses
 
I have a question about whether some content fits the codegolf exchange - me and my friends were discussing creating high-throughput implementations of Fizz-Buzz. We came up with some ideas - we wanted to see what other fast implementations people on the Internet can come up with. Is the codegolf exchange a good place to ask such thing? "Write a high throughput implementation of Fizz-Buzz"
 
@UnrelatedString I reckon ( should be like ) but it iterates the previous chain over the right argument, not the left
 
@cairdcoinheringaahing That's one idea for sure
 
2:13 PM
@OmerTuchfeld You can always write up a Sandbox proposal
 
@OmerTuchfeld We have a tag, so you could try the Sandbox for more feedback
 
I couldn't find any content about performance/throughput so it made me doubt whether it fits. Now that you mention there's a fastest-code I'll try my luck in the sandbox. Thanks!
 
@cairdcoinheringaahing anyhow yeah Ѓ is probably the call since I'm not entirely sure I actually see cumulative-reduce-with-starting-value coming up super often outside the context of debugging something written with ordinary ƒ, so allocating a single byte could just be a waste--and it's not like there aren't plenty of aliased quicks anyhow
 
@UnrelatedString TBH there's quite a few things I want to change/improve/whatever with Jelly, and I've been considering writing an "unofficial sequel" to Jelly for a while now, especially since Dennis went inactive
Might take a look through the outstanding PRs on the repo and add them to my local version
 
@cairdcoinheringaahing Genuinely half of how I ended up with the half of an idea I'm working on now is just that and mutating their arguments bothers me on a philosophical level
and one of the 10 things I'm torn on at the moment is how much I want to rip off Jelly's syntax
 
2:21 PM
@UnrelatedString Well legally we can, it's just a moral issue :P
 
@UnrelatedString That's been a pet peeve of mine for years ಠ_ಠ
Even if there were two commands ŒṪ and ŒḢ that didn't modify, I wouldn't mind, because at least they're only 1 link
 
I'm pretty much at the point where I'm going to mostly evaluate chains/trains/whatever I'll call them the same way, except that dyad-nilad pairs actually become monads, and then an assortment of quicks can implement some of the more exotic structures I've considered
 
@UnrelatedString So +2 would be treated as a monad?
 
2:24 PM
That's basically what Jelly already does, but that'd make it more explicit
 
and then if it could be ambiguous, prioritize binding right arguments rather than left
yeah
@cairdcoinheringaahing interactions with quicks that count links aside, one way Jelly doesn't quite do that is in monadic chain parsing, where +F "fork"s but +×2 doesn't... and honestly that feels like a good thing, for no particular reason
 
@UnrelatedString yeah Jelly's parsing rules are eerily good, but there's always improvement :P
 
@cairdcoinheringaahing they're shockingly intuitive for how hard they seem like they should be to remember, and more often than not they work incredibly well
 
@UnrelatedString Yeah, a lot of the time (especially with dyadic links/chains), I look at it and go "well yeah, of course that's the right argument, how else would you read that chain?"
 
I remember maybe a week ago I tried writing something convoluted in purely tacit APL and that did not go well--and that may be 90% because I don't know APL and made it trains within trains instead of using any semblance of a dfn, but it still speaks to how good Jelly chain rules are that you don't really need anything to not be tacit (the rare / notwithstanding)
anyhow one other thing I'm toying with is having some special rules around builtins designated as "constraints", since being the Brachylog user that I am I just have to do that
 
2:36 PM
@UnrelatedString Combining Jelly and Brachylog could be a very powerful language
Especially for Jelly programs that have to use #. You could just replace them with a constraint determined by the previous links
 
("that" being choice points, and not having special builtins marked as constraints, since everything in Brachylog is one input one output with an optional subscript)
@cairdcoinheringaahing Yeah, I'm thinking that for # sorts of things, the approach might be to take the infinite list of results from something then take a prefix of that
or possibly just have one thing that maps over all the natural number then takes that prefix all in one byte, but general rules seem to tend to also just allow infinite output... come to think of it, though, a "find nth output" 1-byter would be a good idea
The current idea I have of the data model is that everything's built around ragged arrays, and choice is an issue of a "0th axis"
and thinking about that plus reading about other tacit languages has got me spinning my wheels about how to best vectorize functions of lists
 
@UnrelatedString Stealing Jelly's ldepth and rdepth for each atom might be a good idea
 
@cairdcoinheringaahing I never actually thought to look inside Jelly's innards for that kind of thing, but Jelly's depth stuff has definitely fueled my thinking on this
One of the things I'm sort of looking to be able to do is, say, join inner lists on spaces then join those on newlines, like Jelly's K€Y, but without an explicit map operation--the vectorizer would decide to map the K because it would just... prefer not to apply Y to a flat list, I suppose
one of the crazier things I've thought of is actually statically checking types so I can memoize recursive integer functions, so a holistic vectorization process could come naturally with that
needless to say this kitchen sink of ambition is why the last commit was 18 days ago adding a rudimentary tokenizer for an alternate verbose syntax that I'll use for development purposes until I actually put a code page together
 
2:52 PM
@UnrelatedString Language dev gets complicated fast :P
 
:P
@cairdcoinheringaahing does not help that I just have to do it in Haskell
 
@UnrelatedString Oh man
Well if you know how to do it ¯\_(ツ)_/¯
 
my first attempt at making a golflang was actually going to be stack-based and implemented in Prolog
 
How do you create an imperative language interpreter in a declarative language?
 
but after experiences like this except far less to my benefit, it occurred to me that I don't have any idea how I'd make CLP(FD) behave 100% nicely if I decided to use it at all, and if I don't use it at all I may as well just brew my own backtracking in a language that isn't Prolog
@cairdcoinheringaahing Prolog is honestly really sort of between imperative and functional in a lot of cases
 
2:58 PM
@UnrelatedString I've never used it, so the only thing I know about it is that it gets called declarative
 
Everything is framed in terms of unifying variables and ...whatever it is you do with goals for sure
It is declarative but the execution strategy can be fairly transparent, and then you also have straight up imperative stuff like write/1
Brachylog's w₄ and family actually just append to a global list in order to perform backtrackable output
...just looking at the commit history reminds me, another thing that's sort of driving my language dev is reducing how many errors are possible
the obvious way to do that in a language with choice points is to just have stuff that would hypothetically error fail instead
 
@UnrelatedString I'm currently going through Jelly's atoms and quicks to find those that fail/error under certain conditions
Cause for the dyad-only quicks, why not extend their functionality to monads?
 
but there's a weirdly large number of errors you can hit in Brachylog because the underlying Prolog builtins for these things also error instead of failing, like division by zero or asserting that something's length is negative
@cairdcoinheringaahing and extend the two monad-only quicks to dyads
 
@UnrelatedString There's three actually {, } and ƙ
Unfortunately, I have no idea how ƙ works, so ¯\_(ツ)_/¯
 
ƙ is definitely a surprise
I'd certainly expect it to follow the same logic as quicks like
 
3:10 PM
Yeah, I'd expect this to return the same as this
I think it'd be more useful if it grouped adjacent identical items though
 
@cairdcoinheringaahing Both have their uses but that just means that both should be available
...and we do also have Ġ for what ƙ does
 
brachylog looks really cool
 
@Razetime it is
 
it's probably the most aesthetically pleasing looking language
 
@Razetime The codepage's extensive use of superscripts, subscripts, and mathy symbols does wonders... as does the allocation of every capital letter to a variable
 
3:25 PM
appaprently prolog is really cool
but I'm currently trying out rebol
 
Fatalize has definitely made a point of sculpting Brachylog's aesthetic
...at least since he switched it off pure ASCII. Some of those old programs look very J-like (no offense to J)
 
oh, its used to be pure ascii
Like, BQN and Brachylog probably have my most favourite symbols
 
like, feels kinda wasteful to have a custom character set and not have it look splendid
 
...never mind that the hello world program is the exact same
but yeah
 
3:29 PM
that's the one gripe I have with stax
 
@Razetime I really wish custom code pages caught on earlier so there wouldn't be so much CP437
 
mans just put in CP347 with like 2 characters modified
 
there are box drawing characters in CP437
it jsut hurts
 
@UnrelatedString Like, ESMin looks amazing
 
@Razetime wait really
@Razetime yeah
...you know, what's even worse than CP437 is just that one character that Keg uses
 
3:30 PM
no kidding lol
 
I just die inside whenever I see
 
lmao
@UnrelatedString It's got this fancy 1.5 byte charset
but I can't figure it out from the code notes
 
wht does your thing use?
 
not decided yet
it's... going to be a superset of printable ASCII
that's about it
 
3:32 PM
hmm ok
if it's mostly typable I like it
 
@Razetime yeah one of the things I'm looking to target with how I assign builtins to code points is typability of common things with just a standard American QWERTY keyboard, on top of following some kind of pattern with what kind of character does what kind of thing, and of course being reasonably mnemonic
 
likee, the useful thing about having the apple keyboard layout
is that you have all the accents and diacritics and stuff with long press
saves a lot of clicking
 
@Razetime it really is great
 
so if it works with mac kb layout it's epic
 
of course the verbose syntax I'm going to be stuck with before I get the code page going is going to have support through a command line flag, and the plan is to have verbose tokens directly correspond to encoded tokens, so I might just output the encoded version of a verbose program to stderr whenever a verbose program runs, sorta like whatever Charcoal does
 
3:37 PM
@Razetime angry Piet noises
 
haha piet
if only piet golfing was aesthetic
maybe make a popularity contest with piet art
 
@Razetime someone ought to come up with something along the same lines where you're just forced to use large regions of colors, and maybe with a certain amount of curvature
 
I say
make a 99 bottles of beer program, with art theme
say, christmas
 
"make a piet visual quine that uses all colours"
 
last activity 5 years ago
 
3:43 PM
> Last seen Dec 12 '14 at 16:21
> 23,194 REPUTATION
 
wait, has it already been asked?
 
@Razetime What, a Piet visual quine?
 
yep
say printing a number for each color as a matrix
 
I dream of making a language challenge where it's just difficult enough to be really interesting like Klein Topololyglot
piet visual quine is just insane though
@cairdcoinheringaahing there was another one where you map your code's byte values to color triplets
 
4:29 PM
So after peeking around the repo a bunch, I realized there's a hidden page which explains ESMin: bennyboy.tech/ESMin/docs/interpreter3.html
why hidden? nobody knows.
I was looking for a way to find accented characters in a page
and guess who answered that question
5
A: chrome search in page: accented characters

DennisAs far as I know, this behavior can't be disabled. You could, however, use a text search extension that behaves differently. Type-ahead-find, for example, only finds exact matches.

 
@Razetime is that annotated source code
 
yep
idk why they thought that was a good idea
 
<s>guess I'm writing Perhaps in Literate Haskell now</s>
 
i wish html worked in chat
 
oh yeah isn't SE chat markdown actually a different flavor than SE post markdown
aside from a few obvious things being disabled
 
4:38 PM
like this ---like this---
 
three
huh
well it makes sense to not mess with --
and there's a sense in which it's more intuitive than Discord's ~~
 
I think ~~ is more of the standard though
Why does the ESMin Canvas have like
no explanation
 
¯_(ツ)_/¯
speaking of Markdown
¯\\_(ツ)_/¯
¯\_(ツ)_/¯
 
4:53 PM
yay
you got it
graphical output is like, really good in js
and japt doesnt have it
ESMin has like one command explained and nothing else
 
@Razetime yeah for a second I thought maybe underscore did italics
@Razetime Doesn't Japt have some kind of syntax for literal JS?
 
well umm not for the canvas per se
 
you can just eval js code in the middle if you know it real well
aka shaggy
but you still need a lot of mental foritude to walk through that
 
asm in c style
 
4:56 PM
asm with c intermixed
and a few gotos for spice
 
I found a demo
but idk what this means at all
 
well it is doing something
are none of the involved commands documented?
 
looking at the website i posted
no, not really
 
come to brachylog, we don't even have that many commands
 
4:59 PM
I agree
but graphical output
 
yeahhhhhhhhh
 
come to jelly, we have dots. Lots and lots of dots
 
with this new regex find thing I actually might
 
one of these days I should just try doing a graphical output challenge in Python or something so I can maybe approach considering writing my own graphical stuff
 
wait, I've already written Jelly answers right?
 
5:01 PM
@Razetime IIRC yes
 
well then I am already part of dot gang™
 
never mind that one of the main things I do with programming outside of golf is writing scripts to mangle videos for comedic effect
 
Aaa I am so unreasonably mad
so much wasted potential in a language
 
ḍȯṫ ġạṇġ
 
@Razetime Is Mama Fun Roll still around?
 
5:02 PM
1.25 bytes per char
@cairdcoinheringaahing not really
but I'm gonna spam his issues just in case
 
I actually had to pull up the Brachylog bookmarklet for ġ because Jelly's doesn't have it
 
> Last seen Nov 5 at 5:03
That could be worse
@UnrelatedString It's an unimplemented command
 
github is also nov 5
so I'm just hoping
@UnrelatedString group-by in husk
You know what, till then I might as well read up on brachylog
hopefully it's tutorial is less confusing than JEely
 
@Razetime it's also group in Brachylog
well
it's called "groups"
and "group" is g
but it's essentially group by identity function
wait no that's a different one
 
5:07 PM
Ok I found mama fun roll's reddit (1 day ago)
 
groups is the split into groups of length one
...that was not meant to be parsed as groups of length one
but yeah back to the point what a crazy coincidence that both of the g dots involve grouping
 
ah there
the funny strikethrough strikes again
 
@Razetime I remember the wiki page on execution control was kinda confusing when I was new but that's the only real rough point, aside from constraint logic
 
well, now you contribute to it
wow,
Brachylog is the only language with a video intro
I already like this
 
I would say I still don't fully understand ` but really I just never bothered to use it
 
5:11 PM
Ok this guy has the worst mic nevermind
 
there are probably a good few longer answers where I should
 
I'm gonna make video tuts for golfing langs
 
oh yeah there's one that I'm starting to vaguely remember
@Razetime I was going to say something snarky about stack languages but then I realized that they all have way different control flow constructs, I/O, type systems, etc.
 
the top ones really don't though
 
@Razetime I guess you have actually used them
I think I wrote like... one Neim answer once?
 
5:14 PM
type systems are definitely different
 
I probably tried 05AB1E once or twice but I don't think I ever posted in it
 
but really osabie and stax and keg and whatnot have very similar things
 
@Razetime What even is Keg like these days
I've noticed that old Keg code is completely broken
but I can't really find a lot of documentation on how it's changed
 
yeah thats why vyxal exists
and vyxal is scarily good somehow
probably because it has more experience behind it
 
@Razetime that's what happens when you get used to one thing, and you've done it enough to think "this does so many things wrong and I know exactly how to fix them"
 
5:18 PM
So somehow the only two golfing languages which have decent documentation and are infix are:
Japt and Pip
 
is it APL-style infix or do they have precedence rules
I never actually realized either of those are infix
 
Pip has a ginormous precedence table
 
you could consider Jelly infix
 
japt is basically whatever javascript is
problem with golfing in japt is sometimes you just need spaces
 
one of the things I love about just looking at Japt code is that there are spaces
I don't know what the spaces do
But there are spaces
 
5:20 PM
So what happens is
ab sometimes parses to a.b()
and sometimes a(b)
and theres even more insane stuff when things get nested
so the spaces are to prevent the intepreter from crying
 
@Razetime ah
@Razetime that's actually kinda neat
I remember at one point I was considering doing some kind of crazy precedence type inference combo
 
> type inference
those words give me PTSD
 
@Razetime yeah you'd expect it to be easier to tell when Husk can or can't infer a valid type for a program
 
There's a bunch of sad lonely programs on my github which failed type inference
lost souls
 
5:26 PM
@UnrelatedString If my computer was a beast maybe it'd work
but a lot of the times it just runs for an hour
 
oh?
@Razetime on TIO it usually takes like ten seconds in my experience, if that long
 
tio is pretty strong actually
but when it doesnt work it just doesnt
 
actually I think inference fails are usually faster than actual working programs since presumably they don't get compiled
 
or sometimes it just times out and you don't know if it's you or the lazy eval
 
yep
reminds me, since Perhaps is in Haskell and I fully intend to use infinite lists, I probably want to keep track of whether or not lists are finite so operations that wouldn't terminate on infinite lists can fail instead
 
5:31 PM
I agree
anyway
night
a bit late here
 
night, good talking to you
 
 
2 hours later…
7:49 PM
hi all
 
seems my algo question was more tricky than I expected
 
8:31 PM
1
A: Sandbox for Proposed Challenges

Omer Tuchfeldtags: fastest-code High throughput fizz buzz Fizz Buzz is a common challenge given during interviews. The challenge goes something like that: Write a program that prints the numbers from 1 to n. If a number is divisible by 3, write Fizz instead. If a number is divisible by 5, write Buzz instead....

 
 
1 hour later…
9:38 PM
@UnrelatedString hey give me a break
It was my first custom codepage and my bright idea to fill it was use circled numbers
Thinking "oh, I'll change those later"
@UnrelatedString I'm not raze time, but I can answer this!
I'm too scared to touch it myself
I mean, it's kinda stable but the tio version really needs updating
 
that all makes a lot of sense
 
@cairdcoinheringaahing what the fuck
 
My reaction
 
also want to move this to JHT since it needs to be antifreezed anyways?
 
 
2 hours later…
11:18 PM
I just got a random +1 rep notification, but I didn't gain any rep? Was a post I downvoted deleted on another site?
 
Does it say anything here?
 
No, maybe it was another site?
I don't see any changes for any sites, oddly.
 
11:40 PM
0
Q: Write a Unicode Unpacker

SisyphusWe all know scoring by characters is ripe for abuse. Let's prove this. The Challenge Output the following: "m8V}G=D@7G1lAI,v08` #(hNb0A8T!g;==SVaG5~ g"jUF!bmRY(3I@na?2S{ fJVzo/GQYU%ybpfUq3aG Yza[jc,WJ$bP^7r};Da} V-!Z+Nk:`/poc}d/X:G\ sWX{dbAUv6,i]%RG$hRp ),bd+?/{U1tU[;<;u.Nk ZFPIOzJ/HimL!nexc,ls H...

 

« first day (3576 days earlier)      last day (1270 days later) »