« first day (1743 days earlier)      last day (3102 days later) » 

4:02 AM
Night?
 
@El'endiaStarman Conclusion: Loops okay-ish. Got other problems now though :P
 
Lol. Have fun! :P
 
@El'endiaStarman How does the input work with this codegolf.stackexchange.com/a/63186/20469 ?
(not my downvote, btw)
 
(there's no setwise operator yet, so it wouldn't beat Minko anyway)
 
n grabs the next number it can from the input, dropping non-numeric characters as needed. I assume the downvote is for being incorrect in the case of 10P0. — El'endia Starman 39 secs ago
 
4:11 AM
Ninja'd
So does n stop reading when it hits a non-numeric character?
 
For reference, Lab does the same
 
@AlexA. Yes. Takes the largest next slice that evaluates as a number.
 
That's a really cool way to do it :)
Implement n, that is
 
You can play with it here.
 
So it should be getting n and r correctly out of nPr then, right? Because r would pick up after P?
 
4:14 AM
It's how the interpreter I use for Befunge works, but I extended the concept a bit.
Yes.
 
I wonder if it's because you're looping k-1 times, and if k=0, you're looping -1 times.
 
That's probably it.
Actually, all loops execute at least once. It's a flaw I need to fix.
Come to think of it, is it a violation of the "don't use a newer language or feature" rule of thumb if I fix that behavior?
 
Yeah :/
 
Okay, so, the output of 10P0 should be 0, yes?
 
I think it's 1?
... nvm
I keep thinking C
 
4:19 AM
Hold on, I'm confused. The Wikipedia page has P(n,k) = n(n-1)(n-2)...(n-k+1). If k=0, then that is P(n,0) = n(n-1). Which would mean my program is working correctly. But that just seems wrong...
 
I thought empty product would be 1 by Wolfram's giving 0
... oh wait no I'm doing it wrong
 
No no, Wolfram|Alpha does give 1 for P(10,0).
 
That sounds right then
 
@El'endiaStarman If k=0, n-k+1 is n+1, not n-1.
 
4:25 AM
1IIF:M|~lMR*h <-- huzzah? Not posting cos still trying to stabilise things though
 
Well, fixed it anyway. At the cost of 12 bytes. :(
 
1nn[d1-](whatever pop is in Minko)$*N. would be the relevant port
 
Wouldn't you want to loop k+1 times rather than k-1, @El'endia?
 
@Sp3000 pop is x
@AlexA. The last term is (n-(k-1)).
 
Oh, okay
Nvm then
Want me to purge all the comments?
 
4:30 AM
Sure.
 
Does it work correctly for 10P0?
 
yes
And for 10P1.
 
And for all others.
 
Yep. Looks good. :)
 
:)
sniffs For a few glorious minutes. I was beating CJam... :'(
 
4:33 AM
The sweetest moments are those before one's solution is slaughtered by an esolang. — Alex A. ♦ Oct 22 at 20:54
 
You didn't try mine :(
 
Your port of your solution?
 
Who didn't what?
 
Yeah, which was based off yours reallly
 
Doesn't work for 10P0.
 
4:35 AM
Oh right. Your loops are do-while -_-
 
Which I am planning on fixing...
But if they were working like they should, then it would be 13 bytes.
 
Maybe I should post and celebrate on beating CJam :P Nah j/k glory's probably not worth it
 
Even so, your solution is an improvement because I only need one check on k. :)
...I have three 19-byte solutions.
1nnd3&xx1[d1-]x$*N.
1nnd3&1N.[d1-]x$*N.
1nnd?x[d1-]x$*d?1N.
 
+1 prime makes me almost think bringing back the stack tape is a good idea
 
This is The Nineteenth Byte, you have three 19-byte solutions... I think a certain much-anticipated game has been confirmed...
 
4:42 AM
Portal 3?
 
Yes!
 
PERTAL TREE CUNFIRMED!
 
hahahaha
 
I would be far more excited about a Portal 3 game than a Half-Life 3 game, honestly.
 
4:43 AM
ಠ_ಠ
 
Portal was good and all, but Half-Life 1, 2, and the episodes are fantastic.
@AGZuniverse Hello! Welcome to The Nineteenth Byte!
 
:)
I was just looking around for a place that could help me solve some ciphers
well some cryptography challenges actually
 
What kind of cryptography challenges are they?
 
Well currently I'm pouring over a XOR cipher
It's supposed to be simple, but I just can't seem to get it
 
4:47 AM
Is it a challenge you found somewhere else that you're trying to solve?
 
Yep
 
Where'd you find it?
 
It's a CTF thingy
 
Capture the flag?
I'm not familiar with the acronym CTF in any other context
 
This particular one is a series of CTF challenges set up by some folks for students in my locality
yep, capture the flag
 
4:50 AM
Sounds like fun!
 
Is this picoctf?
... nvm guess not
 
Nope, but kinda similar
 
Is this a repeated xor where the key is repeated over and over?
 
No idea. I just have a small binary code.
But it probably is one
It's supposed to be simple
I tried brute forcing with a wesbite for a single byte key, but that turned up gibberish
using a website*
 
If it's repeated you can try taking every nth character and seeing which numbers you can xor with such that all the nth characters turn into printable ASCII/newlines (assuming the final message is all printable ASCII/newlines)
 
4:54 AM
Hmm...that sounds fine
And yea, it is supposed to be 100% printable ASCII
and I know for a fact that the word 'flag' is in there
 
what's considered a programming language?
 
20
Q: What are programming languages?

Ingo BürkOften, answers to questions asking for "programs" or talking about "programming languages" utilize things like sed, awk, … in order to get around having to write an actual shell script. Therefore, a question comes to my mind: What qualifies as a programming language? Sure, ultimately the OP ca...

 
On PPCG? Anything capable of addition and primality testing.
 
so, I've recently created a language specifically designed for describing board/card game rulesets
it can add
and it has control flow structures
so, it's technically a language
but its severely limited in how it gets input/output
basically, its input is the moves players make, and the output is the game state
is it still a language?
yes
"it can add"
 
I CAN'T HAS BRAIN GUD
 
4:59 AM
lol
@Sp3000, can you take a look at the binary for me?
I've been trying for almost two hours now, totally exhausted
 
@NathanMerrill I/O doesn't matter much. We consider /// a programming language, but it has no way of taking input.
 
@Dennis /// literally cannot receive input? o_O
 
Nope.
I'm unreasonably proud of this. vv
 
@AGZuniverse Er... where is it?
 
0
A: Check Lyndon word

DennisShapeScript, 57 bytes "2"@+0?1'@"20"$"3"~"21"$"3"~"3"$"2"~@1?3?<1<*'3?_2-*!@#@#

 
5:04 AM
@Dennis Idk, seems reasonable to me. :)
 
If my fascination with ShapeScript lasts longer than a week, I'll have to write an online interpreter.
 
That's the binary. It originally was a txt which I had to open in a binary viewer
 
@Dennis It's Python right now, right?
 
Yup.
 
You could do what Isaac did and make a Heroku app.
 
@AlexA. I tried (very briefly). I'm not sure if writing a port to JS wouldn't be easier.
 
0
Q: Crazy Librarian's Interesting Prime Permutation Index Number Generator

TimmyDYou saved the day with your prime sequence code, and the math teacher loved it. So much so that a new challenge was posed to the librarian (a/k/a, your boss). Congratulations, you get to code the solution so the librarian can once again impress the math teacher. Start with the sequence of natura...

 
@NewMainPosts Aw yeah, continuing the Crazy Librarian theme.
 
I'm starting to regret that ShapeScript has only 10 integer literals...
The permutations would have been fun otherwise.
 
5:24 AM
Well, g'night all
 
@Sp3000 Wow, haha.
What language are you writing it in?
 
Writing what in?
 
Gol><>.
I.e., the interpreter.
 
Python
 
Ahh, okay.
 
5:26 AM
3 specifically, cos it's more awesome
 
hehe, same here
 
@AGZuniverse Did they say anything more than just "XOR cipher"?
But yeah the other thing I need for Gol><> is a good way to accumulate results
Because a lot of operations so far seem to depend on using the whole stack
 
hmm
Do you have a way to make a separate stack?
 
I had, which was stack tape. I still have it in the code, but I haven't figured out what good instructions I want with it
 
Good night!
 
5:29 AM
As in, $( in Minkolang pops n and starts a while loop with with the top n elements of the stack. k breaks out of a loop, so I can do that if I want to restrict my operations to a subset of the stack.
G'night!
 
Yeah, I thought about that but I'm having trouble deciding whether that would be a good idea, or just better stack manipulation might be better
 
Y'know, it's funny how I eschewed ><>'s multiple stacks, but then ended up implementing them anyway, just in a different way. :P
 
:P
><> itself doesn't really have much of a use for multiple stacks though, it only makes some things easier but not much
 
Also the other problem I have is that I'm out of good chars, so if anything I'd be using yu for stack tape XD
 
5:39 AM
I have a friend whose first name is Yu.
Full name Yu She.
Goes by Tony.
 
I've got one with last name Yu, I think she said she was getting tired of "Hey Yu" jokes
 
My neighbor growing up was named Yuhei, pronounced "you hey."
He understandably got really tired of such jokes.
 
@Sp3000 , all that they said was it was a XOR cipher.
I'm considering writing up something in python to bruteforce it myself when I get the time
 
I've been doing a bit of analysis myself and there's a lot of possibilities to sift through here
 
@Sp3000 I guess you're only using ASCII 10 and 32-126?
 
5:43 AM
For the xor key I'm doing the full 256 but I'm only keeping those which result in 10 and 32-126 after the xor
tbh the ciphertext looks almost too short to have 10 in it
 
I'm assuming there are 2 possibilites: 1) XORed using a repeating piece of binary, like a vigenere cipher. 2) XORed using a small piece of ACII text converted to binary
 
@AGZuniverse What format are the flags in? flag_<some number of digits>, or...?
 
flag{something}
the word 'flag' followed by '{' is there for sure
 
Is the something a fixed length?
 
nope, it can be anything
but usually 'smallword_anotherword'
 
5:53 AM
Hmm I'm going to take a guess and say the key length is 10 and see how that goes
 
okay
 
Yep I think this is looking good. Key can be more than one word separated by underscores, right?
 
yep
 
Okay, who upvoted the built-in-functions loophole? It was so close to having a negative score.
 
flag{xor_cipher_is_best}
 
6:01 AM
Wow! Thank you!
May I know how you cracked it?
 
0 x  Xe hre{r.
1 o  Oace lx_
2 r  Rli t oi
3 c   lpfhirs
4 i  iyhlis__
5 p  s eas cb
6 h   crg fie
7 e  ao. llps
8 r   o feaht
9 \n rlTovge}
^^ That's the full thing - the key was just xorcipher\n
 
@ThomasKwa Just downvoted it. :)
 
But yeah, try splitting the ciphertext into blocks of length 10
And you might be able to see what I thought that looked right
(of course, I just tried different n and settled on 10)
 
Let me see..
 
And the code's just what I said before (link) - try taking every nth character and see which numbers in [0, 255] you can XOR with to get just printable ASCII
 
6:05 AM
I submitted the flag btw, it was correct
 
Then take the fragments which look like text
 
@ThomasKwa As it is I think it's far too contested to be considered valid.
@Sp3000 Hey quick what does tilde do in Python 3
~~~
 
Bitwise negation, ie -x-1
 
@AlexA. Yeah, I know, +51/-51 but it's been trending downwards for a while, so it'll be nice when we finally get it to a negative score
 
@Sp3000 Thank you :)
<3 u xoxo bb
 
6:07 AM
<3 u 2
 
@ThomasKwa Agreed
@Sp3000 :DDDD
 
Okay I'm making sense of what you did
it's really good
and I spent about 3 hours trying to decode it in the binary form, lol
Thanks again
The next challenge is RSA, I'll be going for it probably a few days later. At least now I know there is a chatroom that I can always count on to help me with encryption stuff =]
 
Hah :P You should try another one for yourself though, it's fun (e.g. pico 2014 has a repeated XOR one you can try too)
(probably shouldn't have spoiled everything, sorry)
 
@El'endiaStarman in my defense, the second time i posted it it was relevant to the conversation. the first time i was jsut making a joke
 
Why is everyone admitting to be a fool today?
Is it Fool's day again?
 
6:18 AM
'cause it gets stars.
Watch:
I'm an idiot.
 
Nope. Nice try.
2
 
It's allright, I was wanting the answer =P
The XOR is one of the things i haven't done in picoCTF, off to go it now
 
(Shoot!)
 
do it now*
 
GL :P
 
6:23 AM
I am not an idiot
 
Self confidence is a good thing to have.
 
I wish all of our mods had it too
 
... u_u
 
6:47 AM
I wonder when @ThomasKwa is going to start competing against me in Minkolang, given his interest in understanding it... :P
 
@El'endiaStarman Imma learn J and K/Q first
So probably not for a while
 
J is the most absurd shit.
 
Haha, okay. I was only half joking anyway.
 
But it could be soon, depending on how good Minkolang gets
<sub>*soon: in a couple of months</sub>
 
It's probably not gonna get a whole lot better than it is now.
 
6:49 AM
(I give up, stack tape's gonna be like ><> and see how that goes)
 
This is the list of remaining commands that I've yet to implement. (Primes and composites have been implemented.)
 
There's a comment char?
 
At some point in the future, I do want to develop Son of Minkolang, where I use the characters available in the "ANSI" encoding (so, most of 129-255) and I also add the ability to have full lists and strings on the stack.
 
Have fun, won't be joining you for that ride :)
 
Yup. I'm going to implement it this way: continue traveling in the same direction and ignore everything until another C is encountered.
 
6:53 AM
@El'endiaStarman If you use the upper half of the byte, I'd like to see tokenization
 
How d'ye mean?
 
Either that or some editing function that compiles mnemonics into Minkolang.
 
Incidentally, I am planning on fixing loops so that a 0 on the stack skips over the loop, in exactly the same way as the comment.
 
You know how TI-BASIC (and a few other BASICs) store commands like sin( in memory as one byte, even though they're displayed as four characters?
 
Riiight...hmm.
That'd be considerably more complex if I decide to keep the 2D nature.
 
6:55 AM
0
Q: Machine code Input/Output defaults

Thomas KwaWe already have a question about default I/O for general code-golf submissions. However, entries in machine code have different built-in I/O capabilities from entries in high-level languages. Should they be allowed by default to input/output differently? In this question, consider a machine code...

 
That's one of the only reasons I like TI-BASIC—because it's a little bit readable even to someone who doesn't know the language.
 
On the other hand, I might borrow @quartata's Rotor concept where functions are on wheels that can be switched between.
 
I had an idea like Rotor
Something like Rotor will probably be the next generation of golfing languages. With these one-character-command languages, the logical next step in getting the size of programs down as close to their entropy as possible is to make commands that are likely to be used next smaller.
The next good language will probably also have many, many 2- and 3-byte builtins
 
Or you could take my $ concept, where it toggles the functionality of the next command and add more symbols that do the same thing, but different toggles. Similar to switching wheels, but it would jump to that wheel (so you don't have to do like >>> to go three wheels to the right).
 
None of this 256b (CJam); any frequently used four-char-long idiom will be made a two-char builtin before long.
@El'endiaStarman Oh, I thought that was part of Rotor
 
7:01 AM
As far as I understand it, you can only switch between adjacent wheels.
(At the moment. @quartata, here's an idea for you... ^^^)
But anyway, we had basically the same idea.
So, between 33 and 126 (inclusive), we have 94 characters.
 
I think ten or so different wheels would be good, each with a "borrow command" character and a "jump to" character
And there could be a neutral wheel, with the most frequently used commands overall
 
I think you'd get the greatest density with 94/2 = 47 wheels, for a total of 47*47 = 2209 commands.
At that point, every single program would be totally unreadable. :P
 
No, at 47 wheels the frequently used commands would be spread over several wheels, and programs would require lots of switching characters.
Anyway, I'm going to sleep
 
Well, depends on how you assign the commands.
Could use an idea like Huffman coding to pick which ones should go on more frequent wheels.
Hmm. To really get the top best most optimal golfing language, we'd probably have to get a significant portion of PPCG's top golfers to discuss commonly-used strategies and algorithms and prioritize those.
 
If we had the best most optimal golfing language bets are it'd be incredibly tricky to actually use :P
 
7:17 AM
haha, indeed
 
Surely making a language where everything is a valid program is the way to go. i.e. enumerate all non-runtime-erroring Cjam programs over the integers in base 256 to form a new language.
 
But in what order do you enumerate them?
If the standard order, then that's...uh...literally no different from CJam?
 
Also, you should run a theorem prover for 10^10^1000 years on each program and skip it if it can be proven equivalent to a smaller one.
 
@El'endiaStarman How so?
 
Well, the typical ASCII encoding is base 256, is it not?
 
7:20 AM
CJam doesn't use the full range for one thing, and there's a lot of invalid programs for another
 
Right but you're skipping all programs that definitely error.
 
I like the theorem prover idea though :P
 
If you enumerate them this way, "a, aa, aaa, aa..., b, bb, b..., c, ..., z, ..." then that's no different.
I was thinking something akin to how the rationals can be ordered into a sequence.
 
I'd imagine the enumeration goes 0-9 A-K L N P S W [ l q r "" ' '! '" ...
(assuming I didn't miss any)
 
Well, if we also impose the requirement that it be possible to construct a new solution to a new problem, then this idea is not so good.
You'd have to figure out a bijective function between CJam and "PyJam" so that solutions in the new language can be constructed.
 
7:25 AM
@El'endiaStarman Say that 30 of the 95 printable ascii single character cjam program have errors (I don't know how many really error, just an example). In cjam these 30 strings are invalid programs that will never run, so they could be mapped to longer programs that do run. Hence you save space.
 
True. Hmm...
 
^^ hence the enumeration I had above, since "" ' '! etc would map to 1 char
 
You'd need to assume a finite alphabet of characters of course. Printable-ascii or whatever. But enumerate them by listing all 0 char programs, then all 1 chars, thn all 2, etc
 
Okay, that could indeed work.
 
ooh what would the empty program be?
0?
 
7:26 AM
You still have the problem of "What number is the CJam program that solves my problem?"
 
Yeah, but I thought we're talking about what's theoretically the best, right? :P
 
If we're talking purely theoretical, I think we could do even better, actually. :P
 
@Maltysen I guess it could map to the empty program
 
As in, use Pyth instead of CJam.
Pyth usually beats CJam, sooo...
 
-1
 
7:28 AM
@El'endiaStarman True, but that's harder. You could easily enough enumerate all cjam programs that have runtime errors.
 
@Calvin'sHobbies but that would be useless
 
Empty program to empty program makes sense. Why would that be useless?
 
What I've thought before, is if I were to try to make a shortest language, it would be processed as a bit stream. It would be a series of indices into an array of instructions. After each instructions, the order of the array would change based on what's most likely to come next.
 
Ooh, so like Intellisense?
 
@Sp3000 because you could just submit the empty CJam program as an answer instead
 
7:30 AM
(Tries to predict what command/variable you want next based on what you're typing.)
 
0
A: Sandbox for Proposed Challenges

Stewie GriffinWhat's the weather like? Pick six cities, one from each of the populated continents, Asia, Africa, North America, South America, Europe and Australia. Make a table where the weather for each of the cities are listed, for the coming ten 6-hour periods. The cities should be listed in the order ab...

 
@El'endiaStarman Isn't that a tthing that checks for compiler errors as you type?
 
It does that too!
 
@Maltysen I suppose. But seems good to have the empty program in there anyway
 
If we're going by the criteria of "don't assign this program to this code if it can be beaten by some other language" then that's an entirely different question altogether
 
7:31 AM
(I recently started using Visual Studio, so it's a bit exciting to have that feature.)
 
@El'endiaStarman With tape. Still deciding if this is a good idea...
 
How many bytes did it save?
 
4, mostly because I added something to copy the whole stack one stack over
 
But with multiple stacks, set/string operators actually make sense now
... if/when I think about them
Oh, one of the bytes was changing a while (stack length > 1) to for (stack length -1 times) :P
 
7:41 AM
ah, lol
I'm actually mulling over the theorem prover idea.
You can watch the state of a program (for Minkolang, that'd be code, cursor position, cursor velocity, loops and stacks, and array) for any repeats. If you have a repeat, it's very likely an infinite loop.
It'd be cool if we could manage to enumerate and describe all Hexagony programs with at most 7 chars.
 
Martin's probably already done that
 
I don't think so, actually.
He's definitely done that for Truth Machine.
 
You have to be a bit careful with stacks and such though, since they could grow infinitely
 
But there, there was a specific input and an expected output to look for.
True.
Actually, the easiest way to break that in Minkolang would be 1+.
Increments the top of stack forever.
 
Easiest way would be to chuck a tick/stack limit, at the cost of losing some programs of course
 
7:53 AM
yeah
 
Martin also did the enumeration for cat fyi. Maybe not 7 bytes, but 6
 
oh yeah, that's right
I saw it, in fact. Slipped my mind.
 

« first day (1743 days earlier)      last day (3102 days later) »