last day (30 days later) » 

Ayyo
I don't have much time tonight sorry.
NP, me either.
But I do have a decent amount of time tomorrow to look into stuff.
01:19
I've got 2 hours til bed, and I have to wash the dishes still.
If we use ASP.NET MVC, I can use SignalR to push stuff back to the client and I can host it indefinitely on Azure.
Otherwise, I'll have to do more research.
 
15 hours later…
16:36
What's your day job?
I'm just a college kid, busy with school.
Web dev.
I graduated last May.
I did IT Management, as you may remember.
You're doing Biochemistry, or something, right?
Biomedical engineering.
How's it going?
TBH I wouldn't want to be a web dev.
Enjoying it?
16:40
Pretty well.
@PhiNotPi Me either.
Desktop dev for one rendering system is good enough for me.
And where you have a grid to layout against instead of just a top-down flow.
I've gotten involved in some undergrad research, focusing on computational neuroscience.
Sounds awesome.
I'm stuck here until I save up a bit more and my doggie dies (can't have German Shepherds in most apartments), then I'm probably out of the state.
I actually have to use Python and C on a regular basis now.
Probably I'll see if I can't get into a language implementation team, or something.
16:43
Language dev is cool.
Yeah. Rubberduck got close.
We have a parser, resolver, and all for VBA.
We've done refactorings, inspections and fixes, unit testing, and more.
What's your relationship to Rubberduck?
Dev. Second-in-command.
Did my internship there.
Technically, I'm third, but one of the founders left a while back.
Although, I've basically stepped down since I got my job too.
There's at least a few other language devs around PPCG.
Yeah. I've worked with Roslyn a bit too (C#/VB.NET compiler).
Not done any work on the actual compiler, but I've done analzers/fixes.
Some of my work is actually in VS.
The Roslyn team always commented on how thorough my tests were.
16:51
Adam (APL) seems to be the most active language dev on PPCG.
I watched the last lesson. That language looks insane.
How exactly are new programming languages made? I've seen all the amateur projects, but I suspect that new mainstream languages have to go a different process / have institutional backers.
Insane in a good or bad way?
Both, lol.
@PhiNotPi Not sure about new ones.
C#/VB.NET take suggestions and certain feature implementations from the community, but they have the final say on the specs and whether it goes in.
Once upon a time, C++, Perl, and Python were all individual projects.
Huh. That's the first I heard they joined.
Python, I heard, is built of C (or was it C++?) and transpiles back to it.
Perl I've heard has lots of ((((((((.
16:55
No, I mean a project by a single person, different people for each one.
And I started with C++.
Oh, right.
No, you're probably thinking of Lisp with the ((((((
Oh, right.
Perl has lots of $$$$
Well, C++ got out because it was better than C.
Python just slowly grew.
Not sure about Perl.
Java was done as a pure OOP language based on C++.
C# was because Sun didn't like MS forking their language (Java).
VB.NET is just round 2 of VB, which was designed to be a dumb language anybody can write dumb code with.
16:58
Perl and Python were historic competitors, Perl used to dominate because it was one of the first good scripting languages (interpreted, really good at string manipulation/regexes, etc.)
Nowadays, it's just C# with an uglier syntax.
F# is a functional language that works with the .NET ecosystem, which is really awesome because it just works on Windows.
Matter of fact, you should talk to them about it.
They are more/less under MS's control, but MS barely gives them anything, so it's mostly developed by the community.
But Perl came before a lot of important changes, such as the rise of OOP. So when extra features were pasted in, you end up with a language that's not as clean as Python.
I do like Perl's more C-like syntax though.
Both Perl and Python weren't intended for large projects. Perl's vision was to be able to one-line any task that would take too much effort to write a C program for. Like reading in text files, performing some operations, and reformatting the result.
@Hosch250 not really sure what to talk to them about.
Just ask them how they make the language.
They are all on Slack.
Do you have any ideas regarding the KOTH project?
17:14
Not sure how to make it work on any KOTH challenge.
I am kinda interested in both options: setting up a server to run it, or allowing users to run it locally.
Unless we make the client do the updates and push their stuff.
I can run whatever we do on Azure.
At least, as long as traffic remains minimal.
Some things to draw inspiration from: the Blue vs Red pixel koth we had once, and also the Screeps online games.
That first one was run almost entirely via stack snippet, including fetching answers from the webpage.
But still relied on the challenge author to continually update the official leaderboard.
17:32
We have to take security into account too.
We could also set it up so any language could do it so long as they listen for certain requests and send us data in a certain way.
Instead of being limited to JS/Java/whatever.
Screeps was (is?) notable for being a real-time competition, your bot was running/competing 24/7 in something similar to an ant colony.
But they ran into an execution time issue. Nobody would play if it cost money, but the only things they gave people in return for money were things that would unbalance the game (they sold bonus execution time, meaning your bot wouldn't time out as quickly to calculate its move, but that's pay-to-win when it comes to managing an entire ant colony.)
LOL.
I had an idea for a "real time" cryptocurrency trading competition, wherein the server would fetch prices every hour or so, and the leader is whoever made the most money in the past week (limited to just 1 week to avoid a severe firstcomer advantage).
I even started work on a website for it.
Cool.
But that's gone now, and I would want to start over anyways.
17:43
Or, it could just run indefinitely, but only scored per-week.
That's actually what I meant.
I would be interested in how the cryptography would work for a challenge that is run locally, with people submitting the results to a central location.
"Submitting" could mean with a separate server, or in the form of editing the leaderboard that's on the challenge itself.
18:00
Going to step out for a bit. Got to nuke by browser instance, and I won't be bothered to log in for a while.
 
1 hour later…
19:07
Homomorphic encryption is a form of encryption that allows computation on ciphertexts, generating an encrypted result which, when decrypted, matches the result of the operations as if they had been performed on the plaintext. The purpose of homomorphic encryption is to allow computation on encrypted data. Cloud computing platforms can perform difficult computations on homomorphically encrypted data without ever having access to the unencrypted data. Homomorphic encryption can also be used to securely chain together different services without exposing sensitive data. For example, services fr...
Actually, I'm not sure if that's what we want.
(1) obviously the bots that are competing must have access to unencrypted data.
(2) Fully homomorphic systems still appear to be impractical. The paillier system is probably the closest that we can achieve: en.wikipedia.org/wiki/Paillier_cryptosystem
Would it be too problematic to run it on the honor system?
Not really
Also, I have an acquaintance who has a trading bot that is fairly profitable.
He works in the finance sector, so he's familiar with markets and all.
The "distributed" KOTH is mostly a separate idea than the real-time KOTH. Although both would be interesting.
19:24
Whatever we do, let's not get feature creep right away :)
Let's get a proof-of-concept up and take it from there.
I'm actually leaning towards ditching the distributed part, if anything. There's not gonna be some magic cryptographic solution, it'll all boil down to the honor system anyways.
Yup.
So, we are going to somehow bring solutions in and run them locally?
My original KOTH server was set up with RedHat's hosting service.
That has its own security concerns, of course, and limits the languages we can support.
Why don't you write up some specs. I'm not even sure what we are trying to do here.
40
Q: Introducing a KOTH server!

PhiNotPiThe Motivation The desire for a KOTH server has been around for a while. There have been a couple notable meta discussions about it in the past: Creating an official place to become a King of the Hill tester How could we run KotHs in a distributed fashion? By being able to host KOTHs on a se...

^ this was my previous iteration. The website is currently down.
19:33
Huh.
Got the code anywhere?
I'd like it to support .NET languages--that's my strong point, and KOTH is pretty much the only place I can compete.
Probably. You won't like it, though.
LOL.
Guess the language.
Perl?
19:37
LOL.
At least it's not PHP.
Long story short, it divided the controller into two parts: one to run in the background (and store results in the database) and one to run whenever a user loads the webpage (use the database to generate the current leaderboard / other graphs).
But there was basically no security anywhere.
Yeah, that's the biggest issue when running third-party code.
You can't have security.
Okay, so given what you know, what's your thoughts on this project?
Sounds useful, but extremely tricky to develop securely.
The only way to do it securely would be to actively curate the code allowed to run.
19:53
It could fetch code from stack exchange. So people submit answers publicly when are then run on the website.
But the other issues (ignoring security) are memory leaks and infinite loops.
Someone could submit an answer on SE, then run the KOTH right away.
Yeah
I don't know how much sandboxing is possible.
User's code won't need internet access or anything fancy, just stdin/stdout.
That's why I'm tempted to make it distributed. Each person set their code up to talk to our server, and our server only handles the result data.
Then we can do output our selves after we process the results.
20:11
I'm not really sure how that would work. Doesn't that require people to run their code at the same time?
Yeah, it would require them to set up some sort of server too.
Ugh.
Personally, I'm tempted to throw security out the window :)
Or make it so an admin has to approve a submission before it can run.
Submission requires 1 upvote to run?
Well, that's open to sock puppets. More like we go in and tell the server which answer IDs it can run.
We could set it up so anyone with admin role can do that, and give that to a few people on PPCG.
Get OpenID set up somehow, so that PPCG users can log in to it. That'll be interesting.
That'd be one cool way of doing it.
Or they could just create an account.
I'd like to go the OpenID way--it'd be fun.
20:17
Yeah

  last day (30 days later) »