« first day    last day (634 days later) » 
00:00 - 11:0011:00 - 00:00

12:03 AM
@Mego Cool!
Only had to fight with PyCharm for about 15 minutes to get everything set up
Small victories
@Mego PyCharm has a template for flask tho, also you didn't add .idea/* to .gitignore
1:00 AM
I'll set that up in a little bit
4:25 AM
@Mego could I have push access to the repository? You can keep master protected, just just that branching is easier than forking.
pavelbraginskiy, right?
Also Flask templates are only in the professional edition of PyCharm
Which apparently I can use because open source
Sadly, I can't write python. :(
4:31 AM
@ATaco No time like the present to learn!
Also we'll (eventually) need web design
I can't design, but I can build.
(Anything that looks slightly good on a-ta.co is DownGoat's design)
@Mego Yeah. If you look at the pull request you closed theres a link to my account
(Sorry I was busy leveling up Ayren)
@Mego If you don't actually have that license yet, I can initialize a Flask template and then copy the files over
4:47 AM
I have the license, but I just hadn't installed Pro yet
@Mego Alright, I won't do that then. Mine's updating, anyway.
master should be set up properly now
@Mego Ok. You know, when I tested this earlier, I could have sworn that the template had a lot more files.
Time to install MySQL so I can make a DB
4:51 AM
Same I suppose
._. why does it launch on port 5000 by default
@Mego Yeah
Probably because it's not a commonly-used port
I guess
I expected it to be 80 tbh
@Mego seconds away from making a pull request, my dad failed to replace a power outlet and cut off power in our house entirely.
(it's fixed now)
(all work was lost)
(Project corrupted hopelessly)
5:18 AM
So here's what I have so far for the DB: gist.github.com/Mego/a403da6eae7050b95914877113e5e883
MySQL Workbench is the only thing that made that not incredibly painful
So as it turns out that there's a .idea/PPCG-v2.iml that shouldn't be .gitignored, because it has information about where the templates are and what template language is used, and pycharm cares about that.
Everything else in there is personal afaik
I'll fix that myself
This is my first time actually using PyCharm
5:24 AM
It's pretty great
It seems nice so far
There's a SQL IDE called DataGrip
Also by JetBrains
MySQL Workbench is nice, and I'm experienced with it
I'll look at it
@Mego write access would be nice right about now
I sent you the invite
5:29 AM
Oh right GitHub only does invites through email
I always expect to see a notification on the website itself
._. MySql is telling me it wants specifically python 3.4
Grab the platform-independent version
Is Connector/Python required?
With the platform-independent version, it's just python3 setup.py install
Where can I find this platform-independent version?
5:35 AM
Choose it from the OS dropdown on the mysql website
Doesn't seem to exist
Ok that worked
The regular installers are terrible - setup.py never fails
Not actually sure where it got installed to though.
5:41 AM
<python lib dir>/site-packages/mysql
Should remember that trick about setup.py, as pip always screws up my numpy installs
I think I'm going to sleep now. Cya tommorow!
See ya
5:57 AM
So we have the API, and the basic database. Now we need the rest of the site design, a way to migrate rep, and am I missing anything else on the to-do list?
Ooh, I need to include rep in the users table
I'll look in El'endia Starman's TNBDE for more fields
Ah wait, I forgot that's for chat.
The posts and the answers should have score fields as well
@Sherlock9 We don't have the API at all yet, the web server only says Hello World
Noted. We have the design for the API
Do we want to have comments on posts and answers as well?
A really bare-bones version of the API
Without things like comments or meta or sandbox
We haven't gotten very far
6:03 AM
Fair enough. Sorry for bringing up everything at once then
It's fine
We need to keep those things in mind
For example, I completely forgot about votes in the DB design
Updated the gist with the current schema design
Do the tags need a description field?
6:13 AM
Eventually, yeah
They'll also need a wiki field
Well, besides that, I don't currently recall any other fields that are needed in the database
Well, if we want to replicate the vote timeout feature, we'll need a datetime field on votes
Also datetime info about posts/answers
And then comments...
6:17 AM
Users will want profile text, avatars, GitHub account links, SE account links, etc.
Also answer metadata like language, language link, TIO link, etc.
But for now, I'm going for bare-bones SE-like experience
Fair enough
MVP first
Then features
6:24 AM
Had to Google that, but yes
Is there any reason for the following from the gist?
KEY `tag2_idx` (`tag1`),
KEY `tag2_idx1` (`tag2`),
Probably a typo
Yep, I typo'd the tag field names, and the indices didn't get renamed when I fixed it
If you login via SE accounts, would those registered with Facebook/Google have access?
They should
Cool project, we really need an optimised place for golfing :D
2 hours later…
8:35 AM
so...is this us trying to detach from SE and use a more...appropriate platform if I can say so? ;p
in The Nineteenth Byte, 12 hours ago, by Mego
With all these problems we've been having with SE, I wonder if it would be worth it to move PPCG elsewhere
except that we're ~76K users already, how would we migrate such a large population
It's not intended to be a replacement - just an improvement
oh so more like an alternative user interface to SE's with more features
Kind of
8:41 AM
The idea I had was to have a site that runs alongside SE - you can post on the site, and the post will be mirrored on PPCG.SE. However, the site will have more golfing/competitive programming-related features.
well, one caveat is that the site must have all SE features too, including site analytics, moderator tools etc.
It's an ambitious project, but I think we can do it
let's just say this is the second odyssey? ;)
for example the alternative site must be able to recognize:
- user suspensions, their reasons, and their end date
- post bans
- review bans
- suggested edit bans
- keyboard shortcuts, if enabled
- badges
- accepted answers
- profile pictures
- tags
- tag formatting markdown
- snippets
- review queues
- review histories
- join date
- twitter profiles
- website links
- github profiles
- disabling of links during suspensions
- network-wide suspensions
- user last seen date
- user impact estimate
- profile views
- total visited days, consecutive visited days (if your own profile)
not to mention meta stuff
Yes, I am aware of just how ambitious this project is
8:53 AM
As far as suspensions and bans go - we'd likely use our own system for it. Obviously, if the user is suspended/banned on PPCG (or SE as a whole), they won't be able to crosspost, but a suspension/ban on PPCG or SE is not necessarily grounds for similar punishment on PPCG v2.
oh and crossposting will be scheduled if the user is suspended over ppcg?
oh and btw one more thing: mods
I don't anticipate any "scheduled crossposting" features, but I would like to include a handy "crosspost" button
@EriktheOutgolfer Mods/admins are already a consideration
well, I believe in its success nevertheless, given the success of the tetris in gol project ;)
If this only takes 1.5 years, I'll be pleasantly surprised
8:57 AM
Though the fact that it will be almost entirely open-source (if not entirely) will help
wait didn't the gol thing take 2.5 years
2.5 years from the challenge's post date. 1.5 years from when we actually started working on it.
The entire site sans some config data, the DB data, and possibly anti-spam filters will be open-source. The spam filters may also be open-source, if we can do what I would like to do and leverage Smokey for spam detection.
btw I think it would take a few months just to enumerate all SE features that apply to codegolf.SE
I don't think that we would need every single SE feature, because a lot of SE features only make sense for Q&A sites. However, quite a few of them would be useful, and reverse engineering them will take time.
9:01 AM
yeah, for example "answer your own question" in the "ask question" page
that's unnecessary imo
but review queues are very important for example
The mod tools would be the hardest to reverse engineer - without a mod or an SE staff member helping us, we'd probably be better off just developing an independent set of tools
was just going to say that
Review queues are important, but their implementation is less than ideal for PPCG
One of the features I'm already sold on is a review queue specifically for the Sandbox
and another feature could be that the sandbox isn't a meta post but a "fourth part" of ppcg (after main, meta and chat)
9:03 AM
Also I'd like to make the top bar 10000% less hideous than the SE top bar
and yeah I don't think the "stack exchange" menu as well as the stackexchange.com link are needed at all
IMO a good implementation of the Sandbox would be to have it as sort of a triage area for new challenges that users with a certain challenge rep level can review, and users with a certain higher challenge rep level can optionally bypass
and the help center would be vastly different
Also I'd like to separate challenge rep, solution rep, and Q&A rep (i.e. tips)
I'm afraid that's not really possible?
9:05 AM
Sure it is
You can scan through a user's posts and calculate how much rep they've gotten from each of those kinds of posts
but then non-suspended users could be able to bypass this pretty easily
What do you mean?
for example a user has 35000 solution rep, 0 challenge rep and 60 q&a rep
that means they'd normally have to go under the sandbox triage
but instead they can just go over codegolf.se and post the question there, given they're not question-banned or suspended
how would this scenario be handled
Sure, but that's not something that we can prevent. We can at least try to make v2 better.
9:09 AM
What's this room about
I'm only imaging crossposting being one-way: v2 to PPCG.SE. Taking something posted on PPCG.SE and crossposting it on v2 would require going through the v2 hoops
@feersum An experiment in building a better PPCG
@Mego so v2 would essentially be kind of a separate community
@EriktheOutgolfer A separate community with links back to the original
A community must remember its history, but also must not be afraid to move forward and improve itself.
9:13 AM
Kind of like what happened with - we still remember it, but we recognized the failures and chose to leave it behind
especially its public beta history
@Mego yeah, very, very much subjectivity
An interesting implementation of the Sandbox, if you haven't said this already, is as the default place to post questions. The questions get reviewed first that way. Then you can post to the main challenge area when you think it's ready.
9 mins ago, by Mego
IMO a good implementation of the Sandbox would be to have it as sort of a triage area for new challenges that users with a certain challenge rep level can review, and users with a certain higher challenge rep level can optionally bypass
So you could in theory just post to Sandbox, and immediately post to the main area
Beat you to it :P
9:14 AM
I thought the goal was to erase from the face of the earth so that no one could see the questions and copy them.
@feersum I wish :P
@Mego There it is :D
@feersum well, except that SE's license doesn't really comply with that ;-p
How do you want to handle deleted questions and answers, by the way?
A setting in the user preferences as opposed to a mod tool, maybe?
and generally privs
9:15 AM
@EriktheOutgolfer I don't follow.
IMO a post in the Sandbox would require a certain number of "looks good" reviews before it can be posted to the main challenge list. Users with a certain amount of experience with writing challenges can bypass it, but can still use it if they want.
@Sherlock9 I'm thinking basically the same way that SE does it, but with an option to hide them.
Maybe 5 challenges with a good score?
Why does the repo say it's a "client-side experience" but the files in it are about a server?
@Mego With the pre-grad rep totals or post-grad rep totals?
9:16 AM
@Sherlock9 I was thinking a certain reputation level from challenge posts
@Sherlock9 Probably post-grad
@feersum because WIP :) should be clarified later on
@feersum Because it's about improving the user experience
User experience is probably a better way to say it
But what is it?
9:17 AM
@Mego Makes sense
Is it a client to browse PPCG or a different site altogether?
@feersum A different site altogether
The readme text suggests the former.
The README text is woefully incomplete
We have only just started this project today, you realize
9:18 AM
I toyed with the idea of a PPCG browser client, but so many of the things I want to do with it wouldn't work in a browser client - they require a separate site
@Sherlock9 9 hours ago, in fact
Remember, remember the fifth of November, the PPCG v2 site migration
@Mego I'd say using different rep thresholds though...and given the separation of rep into 3 values
@Sherlock9 November 5, 2020. Mark your calendars.
@EriktheOutgolfer Some thresholds make sense with combined rep. Some would work better based off of individual rep scores.
9:20 AM
Consider it marked.
@Mego yeah so each threshold should be individual; problem solved ;)
And when Nov 5, 2020 rolls around, remind me about this project, which I will have inevitably forgotten about by then :P
sorry, we're not your calendar here :-D
@EriktheOutgolfer Well e.g. seeing deleted posts makes sense to be unlocked at a certain combined rep total.
@Mego I'd say let's separate the privileges into two categories: experience and responsibility
9:22 AM
Also I just realized that I shouldn't store rep scores in the DB because they're computed values
That doesn't mean you shouldn't store them in the DB.
But you should recalculate them once per day or wahtever.
yeah, you can cache them in the db
@feersum Having to update a field every time a vote is cast would be a waste of resources
and just update the db entry whenever some rep-changing action happens
IMO it would be better to cache them server-side
9:24 AM
@Mego So how do you propose to store votes without using a DB?
votes are a different thing
@feersum I am storing votes. I'm just not storing the per-user rep values, because those are computed from the votes.
Then you are updating a field when a vote is cast already.
Sure, but there's no reason to perform more writes. Reputation values could simply be a view in the DB.
Anyway, summing up all the votes of all a user's posts every time their rep is needed seems more wasteful to me than doing one update per vote.
9:28 AM
Reputation is not hard to calculate - it would be much more efficient to calculate it on the fly (and possibly/probably cache it) than to update a reputation field on every vote cast.
Storing calculated values violates the principle of normalization. That's what views are for.
10:18 AM
can't tell if this is legit or not
a better community for us golfers? definitely!
@Mego in the progress of making a model specific to ppcg v2, I couldn't determine in what cases can downvotes replace delete votes or just no votes...
except maybe tips
10:50 AM
Wait, If a user has high answering reputation, but has very few challenge reputation (e.g Jenny, Neil), can't they bypass the (future) sandbox if they want to?
why should they?
Because they are totally familiar with the rules and how things go.
reputation is a rough measurement of experience
and no familiarity with rules doesn't remove the need to sandbox challenges
Then, in my opinion, nobody should have bypassing privileges.
the thing is, sandboxing takes time
10:54 AM
of course it does. so what?
I really don't understand what you imply by that
it's not pleasant to wait for feedback and keep a challenge in the sandbox for 72+ hours before posting over main
so if you have enough rep you should be able to bypass sandbox
@EriktheOutgolfer I think just rep is a bad indication
@EriktheOutgolfer Yes, but overall rep, not just question rep.
especially here, imo rep shouldn't factor in at all
we should have a question quality metric. somehow.
Ok, the thing is that we should have better moderation systems.
10:58 AM
and some way to offset the PPCG effect (i.e. simple things are over-upvoted)
in the model I'm going to propose, upvotes mean creativity
00:00 - 11:0011:00 - 00:00

« first day    last day (634 days later) »