« first day (464 days earlier)      last day (778 days later) » 

2:55 AM
@Nitrodon Nice answer. I'm still mulling over the whole thing. Based on the encoder/decoder differences it looks like I chose a more dense way of encoding information but your method paid off by having a golfier decoder.
Wait your numbers must be wrong
Your encoder is 436 bytes shorter not 62
 
3:26 AM
I just meant the decoder.
and I made the encoder denser by assigning smaller numbers to more common symbols
 
3:54 AM
Choosing that order adds a few bytes to the decoder.
 
 
1 hour later…
5:05 AM
Ah I see. I thought I had chosen based on frequency to begin with.
 
5:23 AM
The closing brackets were assigned 1 based on frequency, but the opening brackets were just in ASCII order.
 
Oh I didn't realize that
I ought to fix that
 
 
11 hours later…
4:45 PM
Is there a way to do constant integer division? Other than (n)({}(<>))<>([()]{()<(({})){({}[()])<>}{}>}{}<><{}{}>)
For example, constant division by two could be ({<({}[()()])<>({}()())><>()}{}) but this only works for even numbers
 
 
4 hours later…
8:46 PM
Brain-flak, 68 bytes: Try it online!
Didn't end up being shorter, but it's also a cool solution
 
@DJMcMayhem Your first was 66 bytes (extra <> at the end)
 
Oh weird, I wonder how I missed that
 
You did the same for 68 aswell
 
@H.PWiz Comparison of versions‌​. I'll have to remember that the {({}<...>[()])} idiom is shorter than the {{}...([][()]) idiom, that seems really useful
Although, the {{}...([])} should generally be shorter, it's just not once you have to keep an additional counter on the stack and loop (height - 1) times
 
I also tried to use negative counters. Not sure if made a difference though
 
8:56 PM
I think it should be the same in general except that there are two counters here
@H.PWiz I'd like there to be a answer on negative counters. Would you like to post it, or is it OK if I do?
 
@DJMcMayhem I don't know it well enough to post myself
You post
 
Cool
Although, I guess use negative counters isn't a very good tip since it's only shorter in certain contexts
I'm not sure what those contexts are, other than multiple counters, which is hard to come up with an example for
 
There is also reusing the same counter.
 
@H.PWiz Can you think of a simple example of when that would be used?
19 messages moved from The Nineteenth Byte
in The Nineteenth Byte, 59 mins ago, by DJMcMayhem
CMC: given a string, square it (multiply it by it's own length). For example, "abc" --> "aaabbbccc"
For context
 
Hmm.. FCM talks about reusing the counter here
Although that tip works only for positive counters so I don't know if it even saves here
 
9:04 PM
Yeah, not quite the same
Although, the {<...>()} idiom is extremely useful
Not just in that context, but whenever you want to count the number of loops
@FunkyComputerMan Thoughts on good (simple) contexts to use negative counters?
 
9:17 PM
@DJMcMayhem I just golfed 2 bytes off this with it. Also could save some taking args in reverse order and using -r
 

« first day (464 days earlier)      last day (778 days later) »