« first day (2118 days earlier)      last day (2719 days later) » 

12:07 AM
@noɥʇʎPʎzɐɹC I'll suggest when I think of one
 
12:19 AM
0
A: Sandbox for Proposed Challenges

nedla2004Python Kolmogorov Complexity Golfer Python is actually pretty good at some Kolmogorov Complexity challenges (compared to other non-golfing languages), from string multiplication being extremely short, to defining variables requiring no types. Your challenge is to make a program that shortens Py...

 
oy
 
12:35 AM
0
Q: Alphabetically permute a string

Brian GradinTask Your goal, should you choose to accept it, is to write a program, that, given an input string, outputs every possible permutation of the letters in that string. I'm finicky with my output, so it should be sorted alphabetically, with no duplicates. Example: Input: buzz Output: buzz bzuz ...

 
How did that not already exist? o_O
Oh, and this is the 100000th post. Congrats @LuisMendo!
7
You win some sort of cookie. See the mods for details.
 
@Geobits Can you crack this mysterious puzzle?
0
A: Code ladder, Cops

CrazyPythonPython 2, 35 bytes, 10 numbers #__________________ riny __________ (how mysterious?)

 
Well I don't python much and I don't know the object of the puzzle, so probably not until I change one of those things. Which I don't really feel like doing right now.
 
@Geobits 0_o is how most people should react.
 
Are you sure you want to have so many underscores?
 
12:46 AM
0_o
 
It's very easy to crack when you do
 
@feersum Can you make riny not trigger a NameError?
 
Of course.
 
@feersum How?
 
Put a string around it.
 
12:47 AM
@noɥʇʎPʎzɐɹC You asked the wrong person then I guess ;)
 
I can even let the error happen, since stderr is ignored.
 
@feersum You can't. It's on it's own line.
 
you can also define riny in the line above, putting a newline first to get out of the comment
 
'''
multi
line
string'''
 
@xnor You can't, the comment is the first line
 
12:48 AM
C&R?
 
I still think Python should have a multi-line string syntax. It would be more efficient.
 
@noɥʇʎPʎzɐɹC I'd replace one of the underscores with an actual newline character
#
riny=3
riny
print 1
 
@xnor That's allowed!?
 
I should stop doing this C&R because it's so boring...
Hardly any of the answers have taken any effort to crack.
 
@xnor Isn't that a loophole?
 
12:50 AM
A newline is a character just like any other...
 
i don't see what prevents it: newline is a character
it doesn't say "printable character"
 
I wonder why almost all particpants to this challenge seem to believe the same thing.
 
I agree with xnor, this is legit
 
feersum used it in this crack
 
@feersum It should be written.
 
12:51 AM
if i make a similar cops and robbers, i'll allow cops to blacklist any number of characters
 
It shouldn't need to be explicit. It's a character.
 
in python, with newlines, comments, and literal strings, it's hard to stop robbers from just dummying out code
 
OK, CMC: do it without writing newlines.
 
@feersum If you're looking for C&R to Crack, you can take a stab at my scrambled quine. Martin hasn't been able to figure it out yet, and it's currently winning (or tied)
 
@DrMcMoylex What is that?
 
12:54 AM
Or if you want a fruitless waste of time, I have an indefinite bounty on one of mine. But it really would be a waste of time.
 
@feersum without replacing underscores with newlines
 
2
A: Quine Anagrams! (Cops' Thread)

DrMcMoylexV, 20 bytes "$033lpqxx|áäéééñññ Note the trailing newline. I wasn't really sure how to scramble them, so I just sorted the characters by ASCII value. Unlike most V answers, this one contains zero unprintable characters. Here is a hexdump: 0000000: 2224 3033 336c 7071 7878 7ce1 e4e9 e9e9 ...

I have one cop and one robber, and they were both really fun
 
Then I have to learn a new language. I don't want to work that hard.
@noɥʇʎPʎzɐɹC Something with coding: presumably, but I'm not going to sift through all the encodings.
 
There's a pyth and a retina too
 
@feersum Daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamit
 
1:15 AM
0
A: Sandbox for Proposed Challenges

xnorPatch the holes cops-and-robbers [standard Cops and Robbers boilerplate] Cops Write some code that runs successfully and terminates without errors. It doesn't matter what the code outputs, if anything. Post the code with any number its characters "cut out", using some unused symbol to represen...

 
@DrMcMoylex ooh a pyth one where?
also first i have to figure out how the challenge works
 
It's basically just write a quine, post the characters you used but not the order
2
A: Quine Anagrams! (Cops' Thread)

FliiFePyth, 38 bytes Not quite golfed, but works. ````::""@@@@++++22ggKKKKKKKKNNNNZZZZ

Also, you should Crack the retina one instead so I can win. :P
 
@DrMcMoylex wow that looks like waayyy too much work
 
wat
test
 
@noɥʇʎPʎzɐɹC To be fair, rot13 was the first thing I thought of immediately upon seeing it, so it wouldn't have lasted long either way :P
 
1:22 AM
I wonder how hard it would be to brute force it
 
@StevenH. 5e44 attempts
 
You can cut that down by log2, with some constraints
that's still a lot though
6402373705728000 attempts
 
Clearly you've never worked with .wav
 
clearly that was my first thought >_>
 
1:30 AM
^ in my local Vons/Safeway
 
Frequently when I'm bouncing down recordings, I'll watch the file size go from a 500 MB wav to a 20 MB mp3
 
@ConorO'Brien Interesting filename you have there.
 
@Geobits not my filename :P
 
Oh, it's Riker Astley's. Didn't notice that.
 
> Easterly Rick
 
1:37 AM
-1 not an anagram :P
 
Neither is Riker Astley
 
Is it not?
 
:O it is
That's amazing
 
I'm about 102% confident that's why his name is what it is ;)
 
He must be Rick's cat!
 
1:47 AM
@DrMcMoylex ???
@Geobits seems legit and correct
@ETHproductions no proof >_<
@DrMcMoylex you didn't know that's my name? lol
 
I do now, lol
 
@EᴀsᴛᴇʀʟʏIʀᴋ Yeah, you're the one person besides me that just plain isn't allowed to complain about anagram names :P
Not that that's stopped you in the past....
 
@feersum You know how some CnRs are easy to write cops that are hard to crack, and some CnRs are hard to write cops that aren't easy to crack? Yeah, this one seems to be the latter, without resorting to any crypto-like ideas...
 
I added one where the solution is only digits, but not cryptographic.
I wonder how hard it is.
 
Well I meant crypto-like in the sense you're relying on presumably difficult to solve problems rather than making the challenge how to get the ladder (e.g. I considered putting one up which relied on assert, and already had print(+1) filled in, but that seems no fun)
 
1:56 AM
I see, not necessarily as in real cryptography.
 
I told myself it's OK because the alternative was to post another Seed answer.
 
@Geobits TBF, that was about constant name changes iirc
not anagrams in particular
 
I'm still annoyed I didn't get much of a chance on that one, but you can expect a retroactive attempt some time within the next month :P
 
0
Q: My Pet Peeve Challenge

OldBunny2800There's something (well, many things 😀) that really annoys me. It is when dictionaries (English, not Pythonic) use the defining word itself to define the word, also called circular definitions. Example: reticence: the quality of being reticent -- Apple Dictionary Circular definitio...

 
1:58 AM
@Zacharee1 Oh no, not you too...
 
What if I make the explanation first ;)
 
@EᴀsᴛᴇʀʟʏIʀᴋ You said what you said, I heard what I heard :P
 
(Tux already overused the respond-to-a-greeting-with-the-greeting-reversed message.)
 
I'd still want to do it because knowing the theory is different from having the code for it (the hard part seems to be less the Mersenne Twister and more figuring out how Python uses it in random())
 
That's correct.
 
2:00 AM
Huehuehue
 
Inverting the Mersenne twister itself is roughly 1/3 of the work.
I actually found copy-pastable code online for that part.
But it would have been straightforward enough and similar to the other two parts.
 
@Geobits Technically that id number includes stuff like post edits and tag wikis.
 
Sure. But why ruin a good feeling with facts?
I don't know any other way to count it without access to deleted stuff though.
 
Deleted posts still have an ID
 
Well right. But I mean if we can't go by the id (which contains non-posts), then I don't know how to count them.
 
2:04 AM
The logical way to do it is to request every single URL of that form with a script and count the questions and answers.
 
Be my guest :P
 
Oh no, I already did that once with TNBDE. :P
 
@feersum How annoyed would you be if I cheated a bit to make the problem in your cop easier for me?
(by making the modulus smaller so the problem's more tractable)
 
Did I leave a loophole?
 
Not a complete loophole, but I can do \u0030, \x30 a few times to make it easier
 
2:14 AM
It's only fair play if I did; I have added newlines to everyone else.
Go ahead.
Shoulda added r to the strings.
\u0030 doesn't appear to be an actual thing.
 
Oh right, Python 2
Hmm that doesn't help that much then
(only a few digits)
(btw I don't blame you for newlines, I only blame myself for forgetting :P)
 
2:37 AM
I need someone who knows their boolean algebra plox
Damn, it's been a while since I've been here
 
Cheater :P
 
:P
 
@BernardMeurer I know some
 
@ConorO'Brien I Just managed to prove what I was trying :P. For curiosities sake it was
NOT(A XOR B) = (A AND B) OR (NOT A AND NOT B)
 
2:46 AM
Wow, do we really have ~10k deleted posts? When I search is:q plus is:a I get around 75k non-deleted.
 
@ConorO'Brien You need to apply DeMorgan a few times and have faith
I was lacking in faith
 
@Geobits deleted:yes gives "9,387 results"
 
Dayum
 
@BernardMeurer that's basically boolean algebra in a nutshell XD
 
@Geobits 2,627 questions, 6,760 answers
 
2:48 AM
That seems about right
 
@ConorO'Brien Lol, my analysis prof always tells us to have faith, so now I do it in all courses
 
haha nice
 
I didn't know how to prove something on my Linear Algebra exam, I just wrote "Proof: faith"
If I was a prof I'd have given myself a point
 
The 2627 is a bit higher than I thought. That's 28% of all questions asked, where I'd have guessed 20% tops.
 
You don't think about a quarter of all questions get closed and roombad?
Considering all the off topic questions we get that actually seems a little low
 
2:50 AM
I guess. I try to have more faith in people. This is why that usually doesn't work out so well.
It may be that many of them get closed so damn quickly that I miss some. That would be a hat tip to the community and mods :D
I'm sure there are quite a few I don't see, just because I'm not in chat at the time.
 
@Geobits: just read the precautionary tale. I can't believe that you didn't talk about hamiltonian peaches :P
 
I think they cover that next year.
 
oh fantastic!
 
0
Q: Check if rectangles fill a rectangular space without gaps or overlaps

Alex L.Check if an arrangement of rectangles is "valid" This challenge is based on another similar challenge. Because finding the most efficient packing of rectangles is NP-hard (that is, its solution is easy to check but hard to find), this challenge is a lot easier than this one here This Challenge ...

 
3:06 AM
which programming language is this?
 
Looks like C to me
 
C++
C doesn't have templates
 
what is the -> syntax?
 
Method call, I think?
 
a->foo gets foo from the object 'a' points at. ('a' must be a pointer)
 
3:08 AM
a->b is sugar for (*a).b
 
It's equivalent to (*a).foo
ninja
 
my hololens was supposed to aarrive tday
 
Ah. I've used C some (Arduino), but I don't know too much about it or its relatives
 
I get paid to write C++
 
what is the < in the code then?
 
3:09 AM
@DrMcMoylex huh, cool.
 
I think the important question is "What is that dangling comment terminator hiding?" :P
 
hi guys
 
@PhiNotPi Templates. It's like using a type as an argument
 
okay, didn't see the matching >
 
@Geobits And why is the code before it still syntax highlighted as if it weren't commented out?
 
3:14 AM
Yeah, that's what made me look at it twice.
 
Maybe someone decided to be evil and start the comment at the end of that last line offscreen, but end it on the next.
 
In most IDEs the */ would be colored as well, also.
 
apparently this is code for oculus rift
 
Damn, Pawn is just terrible. I can't believe people write plugins in this
 
You can even see that green is for comments, by the half-visible line at the top, so a non-standard color scheme isn't an excuse here.
@quartata You mean this Pawn? On first glance I agree it looks terrible, but at least it's got a visual programming mode, amirite?
 
3:20 AM
Yes that Pawn. Sourcemod uses a modified version of it that at least has strings but still
This is why I use SourcePython instead
 
Oh god, the only docs are a shitty list of PDFs? Say it ain't so.
 
There are no structs. Instead you have to do this:
 
@Geobits .txt would be infinitely better
 
enum members { ... }

new instance[<size>];
instance[<enum member>];
Stupid Markdown.
So basically arrays and enums are the closest thing to structs while maintaining sanity
 
enum members { ... }

new instance[<size>];
instance[<enum member>];
 
3:25 AM
Yeah I know but mobile doesn't have the fixed font button.
 
Oh wow. Their math operations use an f prefix to mean fixed point, instead of using that prefix to mean floating point like most libraries. Way to be unintuitive.
 
Floats are only single precision too since all types have to fit in 32 bit cells.
 
And then the float math library prefixes with float. So you have floatadd(a, b)
 
It's just awful and I can't believe people write major plugins (1000+ lines) in it
@Geobits That's becase floats aren't even types. It's a tag
 
Oh I see....
Love this bit:
> In computer applications, rational values have limited precision,
regardless of how they are implemented. It is well known, for
example, that the value 0.1 cannot be represented exactly in the
floating point format standardized in IEEE 754 (the most common
format, and also the format used in this extension library).
In applied science and engineering, this is relatively unimportant
because the input values often originate from measurements or
approximative computations, which are imprecise to begin with.
 
3:31 AM
Related pet peeve: When pressing "(see full text)" adds nothing to the text
 
The final nail in the coffin is it's completely single threaded.
 
@ETHproductions Yeah, I love that pressing it shows less text, if you include that message :P
@quartata Quite suitable for today's world. Who's ever going to need more than one thread?
Anyway, thanks for showing me yet another language I never want to use. I've started a collection, and it's thriving quite nicely now.
 
Ooh please share
 
They're out in the yard at the moment. Maybe during the next feeding time I'll take a picture.
 
Nice! Are they free-range then?
 
3:37 AM
Dangit, I can't use $` and $' in functions with JS's replace :(
 
huh? I thought they worked?
 
Not in functions
 
They're not passed as arguments either
 
@quartata Not as much room as they'd have in the wild, but I don't keep them caged up or anything.
 
3:43 AM
It really, really, really bugs me that all major search engines completely ignore most symbols in search queries. It makes it impossible to find anything about $` (although DuckDuckGo finds a single Perl article about it)
 
There's a site for that? I mean, of course there is, why didn't I think of that? I mean... thanks :P
 
@Dennis are you there?
 
@Downgoat Sort of.
 
Okay well two things:
1) when you don't have valid language typed into language field and hit run, an uncaught error occurs
2) it looks like you are using some binary format for TIO v2 requests, can you describe it?
 
3:58 AM
Yeah, 1) had to be fixed.
 
hey, if I have a KoTH with 3 "difficulty" levels (and 3 scoreboards), and submissions can participate in some/all of them, does that seem like a bad idea? I mean, we've never done it before, and it means I can't give out a checkmark...but I don't do that anyways
 
from my understanding of KoTHs, I'm not sure how difficulty levels would be enforced if I'm understanding you correctly
 
it'd be a totally different KoTH
I'd run 3 similar KoTHs.
 
wat
@ETHproductions perl dollar backtick
 
each level of difficulty would mean the submission writer would need more code for the more advanced stuff
 
4:01 AM
@Downgoat The format in 2) is a bit convoluted. It's a mix of null terminated strings (language name, CLAs), strings prefixed by their lengths as 32-bit little endian integers (everything else), the number of test cases and CLAs, and a bit field at the beginning (reversed).
 
wat
From the fifth result:
> $` (dollar backtick) holds the part of the string before (to the left of) the regex match.
 
@wat Thanks, but that's not very effective... the website Doorknob linked does a great job.
 
wat
@ETHproductions sorry :(
 
@ETHproductions MDN string.prototype.replace article has info
i personally haven't had much luck with symbolhound
 
@Dennis Have you considered using Protobuf?
 
4:06 AM
@wat I like your suggestion, and I think I'll try to use it in the future. It's just coming up with the right words that's the problem (e.g. I tried dollar sign backtick, which wasn't effective at all)
 
wat
@ETHproductions yeah, I usually think of a one work descriptor for each symbol
 
@quartata relevent google webpage doesn't show any relevent info for JS/web, is it applicable?
 
@Downgoat I know, I was looking at that already. I just wanted to see if there was info elsewhere
 
ah ok
 
There is a JS library yes.
 
4:07 AM
Random interjection brought to you by videogamena.me: "In Your Face Bowling Saga"
 
@Dennis btw, on TIO is language encoding handled client side or server-side
 
4:33 AM
I get a certificate error for get.adobe.com/air, anyone else?
> NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM
 
no
 
Yeah, it does error in Chrome Canary, which no longer accepts weak certs.
 
@Downgoat Server-side, currently.
@quartata Didn't know that one. I briefly consideted JSON.
 
@mınxomaτ No error but it does say SHA1, so it's probably that?
 
@Dennis perhaps BSON might be easier and better
 
wat
4:47 AM
I wanted to set up autocomplete in a Rails app, so I looked at a website my friend made that had autocomplete. It worked very quickly and i wondered how he did it
He loaded a huge JSON containing all the autocomplete entries into a Javascript in the page
like seriously
wtf
 
13 mins ago, by mınxomaτ
Yeah, it does error in Chrome Canary, which no longer accepts weak certs.
 
Heyy godo mronign
 
5:05 AM
Beating MATL with Turtlèd
 
I made a POC alternative TIO client with different UI
 
wat
@Downgoat POC?
 
proof-of-concept
 
wat
mkay
 
like it generally works but lots of parts dont
 
wat
5:09 AM
 
-1 for attempting bork
 
No sudo, it'll do nothing.
 
Bash says user root doesn't exist
 
@wat even is work, TIO is sandboxed
 
wat
5:19 AM
@Downgoat k
 
5:49 AM
JavaScript as a Service, Jāas, pronounced "Yass"
 
I like JsaaPB
Javascript as a Punching Bag
3
 
> Jāas makes learning the fundamentals of things seem like the Grunt of 2016.
So basically everything wrong with the philosophy that surrounds JavaScript.
> BLOAT IS A CONCERN. DOES JĀAS MAKE THE PAGE LOAD SLOWER OR USE MORE RESOURCES? - Yes, it's included in all our plans.
Perfect :D
 
Turtlèd is beating MATL on this challenge, by two bytes: 26 vs 28
 
6:04 AM
Add an explanation and I'll upvote it.
 
@feersum Your cop would have been a lot more annoying if it had more digits and you filled in all the lower ones of the first number D:
 
I didn't want it to be impossible
I could go straight for factoring semiprime if that's the case.
What technique did you use?
 
Hah, okay. Nice to hear that you're not planning to full out crypto :P
Fill in the lower digits of the larger number with 9s, and brute force the upper digits until you get something where every third digit is 0. It was just in brute forceable range that way.
 
6:16 AM
I have a very dirty interpreter for a lang I made based on my challenge
import string

class Test:
    def __init__(self, code):
        self.code = code
        self.co_ords = []
        self.counter = 0
        self.current_co_ord = [0, 0]
        self.final_no = 0
        self.vars = {}

    def move(self, char, number):
        self.counter = (self.counter + 1) % 10
        final_no = number
        if char == "^":
            self.current_co_ord[0] += 1
            final_no += self.counter
        elif char == ">":
            self.current_co_ord[1] += 1
            final_no -= self.counter
 
Would anyone here know how to get around the restricted ports that my isp (cox) sets? I want to use 80 but it is blocked for inbound connection.
 
wat
@AshwinGupta wait, WHAAAT
ISPs block ports wtf???
 
Unfortunately
 
@DestructibleWatermelon Thanks. The string pointer thing is interesting. The loops remind me of BF.
 
wat
@AshwinGupta Get a VPS and port forward. I have a promo code that gives you two months free at DigitalOcean. m.do.co/c/69253897670a
 
6:26 AM
@wat hey thanks I'll check that out. Yeah Cox (and apparently a lot of other ISP) block 80 for "home" internet plans. They want you to pay the buisness fee.
 
wat
@AshwinGupta You're welcome! You have to sign up directly from the linked page and when you log in, you'll get a $10 credit.
You can easily port forward with SSH
 
yeah
I'm a networking noob xD so I get so confused with port forwarding and all that.
 
wat
Don't worry, I do too
 
It took me like an hour to figure out that my SSH was forwarded to the wrong port xD .
 
Ugly code at its finest:
import string

class Test:
    def __init__(self, code):
        self.code = code
        self.co_ords = []
        self.counter = 0
        self.current_co_ord = [0, 0]
        self.final_no = 0
        self.vars = {}

    def square_process(self):
        while "[" in self.code:
            for a in range(len(self.code)):
                if self.code[a] == "[":
                    square_check = 1
                    square_end = 0
                    for b in range(a + 1, len(self.code)):
                        if self.code[b] == "]":
 
wat
6:29 AM
I think you do ssh -R 80:localhost:80 <user>@<host>
 
@Qwerp-Derp I love self.code = code.
 
wat
@Qwerp-Derp whyyyyyyyyyyy
 
any reason that couldn't have hapened pre-function call?
 
Aw yus
 
???
 
6:30 AM
@wat yeah except one of my computers is windows. So I use Putty.
 
DASH has now been reborn as Wonder!
 
0
A: Sandbox for Proposed Challenges

OliverFold the number! Given a number n, fold the number as follows: (ex. 30) First, convert it to binary. 11110 Add one 0 to the start if it has an odd number of digits. 011110 Now, take the second half of the number, reverse it, and put it under: 011 110 Add one 0 to each line if it has an...

 
6:45 AM
@wat ok I've got it. I found this free thing online that does port 80 redirect. ashwingupta9.ddns.net
 
wat
@AshwinGupta Cool!
 
goodnight, I'm sleeping. I've got late start tomorrow :D
 
wat
Test Sever?
 
yeah
 
wat
Not Server?
 
6:46 AM
what?
 
wat
You misspelled server
 
whoops.
 
wat
XD
 
thats embarrasing
It is 10:30 at night tho
 
wat
Aaaaand you misspelled embarrassing.
 
6:46 AM
lol and I just finished like 6 pages of math.
xD goodnight!
thanks for your help
 
7:05 AM
0
Q: Magic mirror madness

ZgarbIntroduction I have a room full of magic mirrors. They are mysterious artifacts that can duplicate any item, except another magic mirror. More explicitly, a duplicate version of the item will appear on the other side of the mirror, at the same distance. However, if there is another magic mirror ...

 
7:36 AM
0
A: Sandbox for Proposed Challenges

Harald KorneliussenEnumerate the binary matrices Your task is to write a pair of programs or functions. The first should take a nonnegative integer, and return a matrix where all elements are 0 or 1 (or true/false). The second should take a matrix of the same form, and return a nonnegative integer. The two progra...

 
 
1 hour later…
8:40 AM
One day I will overflow the suspension counter
 
I've been finding myself very lonely
 
Why ;_;
 
Idk. I have friends that I hang out with a lot.
Life kinda sucks
 
9:03 AM
Review Python code pls halp
import sys
import string

class Paradoxical:
    def __init__(self):
        self.co_ords = []
        self.current_grid = [0, 0]
        self.para_vars = {}

        self.counter = 0
        self.value = 0

        self.errors = open("errors.txt", "r")
        self.errors = self.errors.read().split("\n")

    def call_error(self, number):
        print("[Paradox] Error #{0}: {1}".format(number + 1, self.errors[number]))
        sys.exit()

    def square_process(self):
        while "[" in self.code:
It's for an esolang called Paradoxical that I'm making
If someone makes an Excel-based esolang they have to name it Excelsior
Hello?
 
Unless you need to split by \n specifically, you can do .splitlines() instead of .split("\n")
Quick skim says it looks nicely formatted, at least (can't run it atm though)
 
IMO it looks better than my previous version
TBH this just looks uglier:
import string

class Test:
    def __init__(self, code):
        self.code = code
        self.co_ords = []
        self.counter = 0
        self.current_co_ord = [0, 0]
        self.final_no = 0
        self.vars = {}

    def square_process(self):
        while "[" in self.code:
            for a in range(len(self.code)):
                if self.code[a] == "[":
                    square_check = 1
                    square_end = 0
                    for b in range(a + 1, len(self.code)):
                        if self.code[b] == "]":
That one seems like a hodgepodge of hacky code
 
One day I will overflow the suspension counter .-.
 
9:35 AM
Awesome open-source hardware project for storage servers: backblaze.com/blog/open-source-data-storage-server
 
 
1 hour later…
10:45 AM
Someone should make a language called b0ss
 
 
2 hours later…
12:42 PM
English: The art of remembering ten million words with the exact same meaning
 

« first day (2118 days earlier)      last day (2719 days later) »