02:00 - 19:0019:00 - 00:00

2:29 AM
0

Implement a Variable Length Hash My friend and I have this game that we play with words. It is a fun pastime and it involves "canceling out" letters in a word until there is nothing left. I am really tired of him being so much faster than me at it, so it is your job to implement it and let me fi...

6 hours later…
8:17 AM
@Optimizer ¬ is not ASCII

its ascii code 170
which is well within 1 byte

yeah, but that's extended ASCII ;). and UTF-8 is compatible with ASCII, which is what most languages use.

no, I sort of skimmed that. I just read his comment which is technically true.

he is also not answering to my question

8:24 AM
Also I don't even see problem with counting characters in extended ASCII as two bytes, since most of the time they're just used for base encoding which is a lame cheat anyway. My main problem is really APL.

I don't see how base encoding is lame cheat
you have to be really smart sometimes to get it right and fruitful

maybe, but I really don't think it's a big deal

its ok if you dont.
point was that its not generally the norm to count bytes in utf-8 encoding
and it all started from there

8:41 AM
@Optimizer he changed it

9:10 AM
@Optimizer, what is a sub byte character?

here Peter comes on technicalities

@Peter, he's referring to characters whose code points fit in a byte, i.e. which are sub-256

Asking people to communicate clearly is not a technicality.
@MartinBüttner, so he means single byte characters? That rather makes for a circular argument.

in what sense?

Whether a character is a single byte character or not depends on the encoding.

9:16 AM
no I said code point, and I think that's what he meant
(by which I mean Unicode code points)
i.e. extended ASCII

9:35 AM
Ah, I'd missed that subtlety. But Unicode defines code points to have 20 bits, so no code point fits in a byte.

10:05 AM
Well, their values do. Anyway, yes it could have been clearer, but I'm pretty sure you know what he meant at this point.

10:24 AM
I am pretty sure he knew initially too. Might be wanting to make it clearer for others though

11:17 AM
this new ASCII topology question is pretty nice

yeah, good fun
not quite as nuts as this one codegolf.stackexchange.com/questions/36323/… which was genuinely difficult

haha . lets see

... it was near the start of my golfing career, be nice ;)
actually, it's times like these when I think I might be getting worse at golfing, that code is incomprehensible
maybe I'm just getting better at commenting golfed code

11:34 AM

I feel bad for using LINQ in the new one

lets see was wrt how answers to this question progress

I should surly make my answer to the newer question use a 1-dimensional array
... and remove all the LINQ, because LINQ is boring
that shall have to wait, however

12:00 PM
haha, nice

nice race :D

I don't think I'll get much further with my approach
I've got one more byte right now, but and maybe I'll find another but that's about it

12:15 PM
I think I sticking with 60 for now, until i find something really smart.

then it's a tie for now ;)

I won by time :P

that's true

but we both lost by Pyth :D

surprise!

12:19 PM
I am surprised that the difference is only 18 bytes

18 ;)
Pyth is almost 2/3 of CJam

12:40 PM
I have returned from my extended trip to the real world.
Feel free to rejoice, weep, or simply not care, as you see fit.

yay! :)
how is that real world?

The visuals are amazing, but other than that it's not so great. Information is stored in weird paper binders for one thing.

That's odd.

Also, comcast can go die in a fire. All of them.

1:01 PM

its his USP

I feel like that's what everyone says about any ISP.

Yes. I just feel that transferring net/cable service shouldn't a) be the hardest part of moving, or b) take a week to do.
They don't even have to schedule a visit, it's all self-activation.
Then yesterday I got a call from their equipment division saying that since I "cut off" my service at the old address, I needed to return my cable box. It took me almost thirty minutes to explain that I moved and was still using it :(
This is from a company that explicitly advertises how easy they make the moving process.
</vent>

All is well now. You're back in the matrix. ;)

Kinda. I'm at work. It will supposedly be ready to activate when I get home.

1:09 PM
@Geobits You just gotta go with the flow. If they want their box back and then they wanna give you a new one at the new place, you gotta go with it.
(This coming from someone who didn't know cable boxes still existed)

Don't listen to a block of dirt :P

Well, it's a set-top box dvr thing.

2:09 PM
Wow, I just saw someone use "Bing" as a verb. Watch out Google!

I'm sure codegolf.stackexchange.com/q/48112/194 is a dupe, but I can't find the earlier version. Anyone?

It even has the same arbitrary 0-10 range.

2:28 PM
Thanks. I didn't think of searching for problem.

d'oh
and I just finished my solution

post it on the other one

@PeterTaylor I didn't either, just skimmed the list of [arithmetic][code-golf]. Luckily they were tagged somewhat sensibly ;)

2:48 PM
I'm pretty sure cjam was created well after that question was made
but I guess I'll post an answer anyways, because why not

3:03 PM
oh there it is

3:15 PM
0

There seems to be a lot of discussion going on in comments about the use of a single standard encoding to count bytes for code-golf questions. Calvin's Hobbies has required (and since retracted?) the use of UTF-8 for all answers to this question. The requirement of UTF-8 specifically was met with...

now ducks also have issue with counting bytes

my take is that encodings should be like languages
if they existed and worked with some interpreter/compiler for that language before the question was made, they should be allowed
which I guess is very similar to the current ruling
sort of

yeah, sort of

3:34 PM
it may also be worth requiring that every every byte represent at most one character
to rule out things with heinous encodings that would be impossible to edit without a specialized editor

@Runer112 APL?

it's definitely possible to edit, you just need the right charset

It has quite a special character set.
Well, that.

@Doorknob Uhh... I swear Chris's profile said "Web Developer" yesterday!

but text editors rely on characters being some multiple of bytes
not multiple characters per byte or straddling bytes

3:36 PM
I don't really see how it would benefit.

basically the idea is to rule out someone just taking a language with a small instruction set and compressing each instruction to sub-byte lengths
ex. brainfuck, which has already been decided just has to deal with it

2x 4-bit characters carry the same amount of info as one 8-bit char

yes, but it's not really editable in a standard text editor, even if it supports custom charsets
for that matter, why don't we just submit all our programs as compressed binary blobs

The point is, it doesn't bring any real advantage if the language has enough functions for it to be useful.

so you'd allow compressed binary blobs to be submitted as answers?

3:39 PM
guys. there is a meta question

If they can be run using a compiler designed for them, yes.

it would be better to discuss there so that others can pitch in too

Also, I would say golfing languages fall in to that special category.

it seems to me that, at a certain point, we have to say too much golfing is too much
and the source has to be, to some degree, human-readable
and editable

zlib-encoded programs are seen once in a while in python
And I would say zlib base64 encoded code is quite difficult to read or edit.

3:44 PM
hmm

I just feel that preventing new language designs is unnecessary.

you've convinced me
as long as some interpreter/compiler exists to parse the binary data, it should by default be allowed

Also, one could make the argument that their 4-bit sequences isn't actually a complete word, instead being always interpreted 8 bits at a time.
So they could just define all the combinations.
Stuff like this makes it quite difficult to regulate too.

compressed CJam here we come
win every challenge ever

compressed Joe is gonna win yo all.

3:51 PM
until compressed pyth/apl/j arrive
compressed Joe is compressed compressed J

Well, to be honest I don't think APL-family can be efficiently compressed
if at all

sure it can

J can because it has so few functions
But I don't think APL can, to be honest.

in theory, if you can implement the same general algorithm in one language as another, you should be able to compress them to about the same size

The thing is, can you express it in a more compact form.
We'll see soon, I bet :P

3:54 PM
realistically it would be very hard, but theoretically, you could compress Java down to the same size as compressed J
as long as they encode the same algorithm

Indeed.
The compressor just would have to be incredibly smart.

yeah

Probably worth a nobel prize

I guess once we go down this road, it starts becoming more of meta-golf

21

Your job, should you choose to not refuse it, is to write a program that will "golf" a piece of given code in your language of choice. Basic functionality: Remove extraneous whitespace Remove comments 'Advanced' functionality: Combine declarations (int x; int y; int z; to int x, y, z;) Use...

:D
A challenge to create the most compressed encoding for a language.
Brilliant.

4:06 PM
I've got it

It was an honest idea.

Design a language that minimizes its average score on the top x code-golf questions of all time
Wait no

That's stupid

4:30 PM
I've got it

Design a language that minimized its average score on the next x code-golf questions that receive y or more upvotes

Should answerers be banned from posting golfing challenges until x new ones have been posted? If not you could manipulate it a bit.

yeah I guess you'd have to require that
or you could use slightly modified versions of the top x code-golf questions of all time, and not reveal the modifications
but that requires work

Yea, screw work :)

4:34 PM
well, I guess all of this requires a substantial amount of work
as entrants would basically be mandated to answer a bunch of questions

People will create ABCDEFGHI. Just saying.

ah right, that also has the problem
basically this is a terrible idea for a question
alright here's what I need to do

what if the interpreter had to be golfed and the code was always the name of the challenges

establish a pseudocode language that can solve most code-golf problems

CJam, Pyth

4:41 PM
and then put the code of all those answers into like an LZW dict
and from that point forward, use that dict to compress answers
I guess it has to be an actual language and not just a pseudocode langauge, also
since it does have to actually execute answers

F1F2F3@A

@Runer112 You might as well use arithmetic compression at that point. Just measure the letter frequencies (or maybe even frequencies of built-ins) of your language of choice (based on code golf answers) and the compression should be near optimal for any language.

That's a function that runs the yth function with the arguments supplied to it.

I'm not sure that's true
because certain sequences of characters may be more common
for instance, something like W% is pretty common in cjam
much more common than freq(W)*freq(%)

4:50 PM

Heh, I haven't used it enough for my advantage.
Mostly because I can't think of functions that are monadic. :P

@Sieg most golfing languages does that

@Optimizer I have never used them.
Also I don't see how CJam or Golfscript could do it.

in stack based languages, the type makes it different

Yeah, I meant more like this
1N1 2 3 gives the second item of 1 2 3
N1 2 3 gives the length of 1 2 3

4:56 PM
Some common monadic functions: array length, logical not, bitwise not, abs, sgn, factorial, sqrt, maybe unary negation and reciprocal... plus all the trig functions and exp and log

@Sieg not in multiline messages

it should be

Backtics be too visibel.

4

We now support multi-line quotes in chat, but the rest of markdown is still disabled for multi-line messages.

@Xeo The rest isn't going to happen. Doing full markdown parsing on long multiline messages can be costly and it opens up the path for trolls to be extra annoying. Chat isn't intended for posting long fully-formatted messages. — Anna Lear ♦ Aug 15 '13 at 15:49

4:59 PM
so Xeo got pinged ?

Makes sense.

I want MathJax in Chat!

@Optimizer go to gitter

gitter ?

I'd be happy if even <sup> worked...

5:01 PM
Sup'
<sup>bro</sup> ?

@Optimizer github's chat

@MartinBüttner oh never knew
you mean github's chat here ?

github has a chat here? o.O

I don't know

I mean this: gitter.im

5:02 PM

Hmm, makes me wonder if there's a lmbtfy...

haha, is this becoming your new obsession?

bing ?

@Geobits Well at least there is lmddgtfy.net

5:05 PM
lmytfy ?

I didn't know webcrawler was still running :)

crawlers gonna crawl

5:57 PM
The feeling when you have never used webcrawler.

6:22 PM
@aditsu Character ArrayList / not implemented
also, feature request: an operator to parse base-62 strings

6:35 PM
time for Retina to shine

lol
y didnt u leave cjam for me
u bastard

sorry I didn't think of Retina at first

jeez martin

such a rep hungry!

hoggin all the good langs

6:39 PM
take that Pyth

I should make a progamming language in which you encode programs in binary
with each bit specified by a filename
and you pass it a ton of filenames
and boom, 0 byte program
(both files are empty)

make it unary

in case you couldn't tell, that's a gentle prod at retina :p

Feb 13 at 21:45, by Martin Büttner
@Peter I think there is a loophole hidden in counting multiple files by just summing up the byte counts of all files in the submission. One could write a Unary derivative that doesn't take a string of 0s, but instead whose program consists of N empty files, where the number of files is interpreted as the unary code.
@Runer112 I know ^

I could at least take it to the extreme
and require like 1,000 command-line inputs
to bring the size down to some degree, although maybe not to zero

6:43 PM
Hehe I gave my answer a triggered ability: meta.boardgames.stackexchange.com/a/1293/6692
I have to post it here because the chat room on B&CG is dead and nobody is around to laugh at my bad jokes.

I smiled. Is that sufficient? ;)
@Runer112 I think making it a unary derivative is the extreme ;)

well yeah, but that's definitely cheating

btw, making it binary doesn't actually work, because then it depends on the file names and you need to count those if they are significant

having a fixed, but very high, number of command-line inputs is maybe not cheating

do you mean command-line switches? those count as well

6:48 PM
no

really the only thing that doesn't count is arbitrary file names

just a bunch of blank files

ah okay
well at least the file contents in Retina are always significant :P

stupidLang bit0.txt bit0.txt bit1.txt bit0.txt ...

(I mean, those files can be empty, but if they are, that's actually important)
@Runer112 how do you distinguish bit0 from bit1 without increasing your bytecount?

6:50 PM
what's bit2
my program code consists of two empty files, bit0.txt and bit1.txt

but doesn't that make the file names significant?
if your files are required to be called that, I'd say you need to include the file names in your byte count

they don't have to be called that, but they need to be referenced on the command line in that order

I guess you could maybe accept any two file names, and treat the first one as 0.
ninja'd
hm... then it's only questionable if reusing a source file makes its name significant, i.e. you need to count its name for every occurrence after the first
I think that's a neat way to fix the loophole actually

eliminate the need for the most common character in any language
by splitting your program around that character, and providing every file in order at invocation

heh, that sounds fun to code in :P
well actually the unary derivative still works, because it really doesn't depend on the file names. you could actually give it 1 billion different empty files.

6:56 PM
either way, I think retina's walking on thin ice by not taking any penalty from having multiple source files :p
seems possible to extend that to something unfair