Hello devs,
We have constantly been given a hard time based on our choice of tech stack. I will keep this as short as possible.
There are two steps I see to migrate (efficiently as possible) to an open platform capable of running on Linux and using open backends.
- Database provider and access (migrating SQLServer to PostgreSQL).
- Runtime environment (migrating ASP.NET MVC 5 to ASP.NET Core, EF6 to EF Core)
Before anyone argues about this, a platform rewrite is completely out of the question do to timing. Having been involved in Java to .NET ports and ASP.NET MVC to Angular, a complete language and runtime port is not even in the realm of possibility.
I’ve migrated ASP.NET MVC to ASP.NET Core and this is painful but possible and thus will be the one Voat will use. Nearly 95% of UI Views are compatible with ASP.NET Core MVC and many libraries have .NET Core ports which will allow a majority of code to be reused with minimal changes.
Voat has complete sets of unit tests (NUnit) covering much of the backend database and cache functionality, thus a port should be as efficient as possible.
I see this taking place in two ways but I need to get your guys opinions:
- I’d like to see the database port to PostgreSQL first, meaning the site would be running in full .NET Framework / ASP.NET MVC6 but work against PostgreSQL (while still remaining SQLServer compatible). We have put in a ton of work lately to port incompatible areas to be database neutral SQL, and the unit tests have been modified to allow PostgreSQL setup and tear down.
- After the PostgreSQL port is performed I’d like to get Voat building against .NET Core. This will take a while but I’d consider the first step literally just commenting out areas of code that have build issues and once compiling, we would go back in and work on porting and getting all unit tests to pass.
I will be getting the repo updated and will provide an edit to this post once complete (hopefully in an hour or so).
Repo (all branches stale currently):
https://github.com/voat/voat
usedtobecrensch ago
I'm not 100% it's the right PW. I'm not logged in anywhere else. The cookie on my voat machine was lost.
Disappointed ago
Alright delete that comment. You need 10 or 20ccp to send PMs. If you can remmber some of he old PMs you sent to anyone and give permissions for @Puttitout to look at them maybe that can help establish your identity, because thats the main thing he'll be worried about. Do you think someone hijacked your account or it's not like that?
usedtobecrensch ago
Let me know if you think it's smart for me to start posting here and just let it ride 'till/if I can get my account back.
@puttitout - you have my permission to check my PMs - i can tell you some of what I've written
Disappointed ago
Yep just keep posting. It's also possible someone is trying to brute force your account which would leave it in a perpetual lockout state maybe. All things an admin will have to answer. I think the only way you can be restored is through admin if you dont have a login cokkie stored somewhere.
@Fuzzywords can you help with the login cookie question?
usedtobecrensch ago
Ahh, maybe so. I AM a rather volatile individual here.
Disappointed ago
Some people cant handle words.
usedtobecrensch ago
Probably out for the night here soon; thanks again for the help.
Disappointed ago
Alight I'll see what i can do to get the wheels rolling.
usedtobecrensch ago
i think it's more likely that i changed my PW when the PG stuff happened, and managed somehow to not remember it.
Mickgoestojail ago
Gave you some votes on here. Let us know whats happening from your end.
usedtobecrensch ago
Thanks bud. Apparently the IP address last logged in on Crensch is not the IP static external IP I had set up for my Voat box. I WAS having some fucked-up net issues so I'm more convinced it was something on my end than someone else logging in to my username.
It also stands to reason that it was an error on my end since my username hasn't been active since my net issues.
Putt is on the case, though, and will attempt to confirm some PM information I provided him with. He normally doesn't do this for users, so I'm SUPER thankful he's doing so for me.
@kevdude @disappointed
Disappointed ago
Alright, I sent a PM to the Crensch account so reply to that when you are sorted out. If he cant sort it out then you might have to use this one.
usedtobecrensch ago
Will do, and will do. Not wanting to have to change, but if that's what needs to happen, I'll start from scratch.
Dirby7 ago
Any thoughts to registering the voat.com domain and setting up a redirection to voat.co ?
Dirby7 ago
May I suggest that when there is a minimal viable beta, create an AWS account and deploy on minimal hardware - try to keep it on the free tier - for the first year.
ejd4500 ago
I work with PHP/MySQL/caching/templates all day, but am pretty familiar with other techs including server setup. If there's anything I can do, someone shoot me a message.
As far as saving $$ - getting of MS hosting is a start, and then I think we can also save on system resources with the right caching approaches in place.
To someone who knows - what currently takes the most resources in the app - which actions when taken on the site take up the most system cycles...I'd be interested to know, I'm pretty good at optimizing the shit out of stuff...
Glad to help.
ejd4500 ago
Best game. Ever. Period.
Disappointed ago
Right that's why I think a sub and a clear focus of:
1: This is what we are doing
2: These are the listed things we need done to achieve that
3: Assign people to those things as they put their hand up
At the moment reading this thread it seems like a lot of talk and even a few things happening but everyone needs to be pulling in the same direction. Voat needs to be specific in exactly what it needs, then we can point people to how they can help.
Donbuster ago
Slack is more useful for planning like this, as it is a different style of platform. Conversations, especially those involving more than 2 people, are far faster in a chat format than they are in the format of voat
IforgotMYpASS ago
Li li li li lick my baaallls
Disappointed ago
Fuzzy would a "semi-official" sub made just for this project be a good idea? It seems like there's a lot pulling in different directions and it would provide some clarity as to how its progressing and along what lines people should be focusing. If you're in the loop with @PuttItOut about this, maybe suggest that. I know little about coding but management of teams is an important aspect of any project, particularly where egos are involved.
It would also provide the transparency some are looking for and a place for those on slack to report back to.
IforgotMYpASS ago
plumbus you watch rick amd morty.
Cightline ago
Elaborate. SQLAlchemy generates native SQL.
sakuramboo ago
And more portable. Not being locked into one vendor means you can always move to the cheaper hosting company.
sakuramboo ago
Does the migration also mean migrating off Azure?
lord_nougat ago
That's about as much as I ever learned about how to play too, but I kept those servers alive for as long as I was able, until corporate made me shut them down.
VoatRedditPort ago
Given @PuttItOut basically adopted the solution I suggested to the Slack and I got frozen out...eh. @vmlinuz is right about the problem with the slack group's behavior.
trentlapinski ago
As long as we can leverage Linux hosting for the DB to reduce costs it doesn't matter to me what DB we use.
heretolearn ago
I only know some of the words used in this thread. with that said, thank you to everyone helping to keep voat alive.
Cightline ago
get on slack
Jew_Hunter ago
Whatever you do, don't let kikes EVER take the reigns. They will kike your shit up fam.
IforgotMYpASS ago
You're my favorite reddifugee.
derram ago
Voat isn't good for instant communication like a chat.
lord_nougat ago
Not with that attitude it isn't!
derram ago
I was thinking of running a discord to irc relay and then try to get the old irc to voat chat relay going again.
But lazy and currently on mobile.
lord_nougat ago
Holy shit, that would be cool, though.
Sounds rather similar to how the chat function of Tribes and Tribes II worked, but I digress.
dontforgetaboutevil ago
Why did nobody ask for this help six months ago?
cthulian_axioms ago
Two reasons:
VoatRedditPort ago
Because, tbh, as great as @PuttItOut is he is inexperienced. Much like the devs pushing a rewrite using a MySQL backend.
The net result is OHSHIT?! moments. Cest la vie.
WhiteRonin ago
Don't be asking obvious questions ;-)
lord_nougat ago
We all forgot about evil.
DammitMoonMoon ago
Do you have anything useful to add to help this community project?
Stinkieroldgoat ago
Good to see you still around and active Fuzzy
SexMachine ago
Don't be a tool. Slack allows for real-time discussions and sharing.
flope_de ago
I would not mind losing some features for a while, if it would speed up the process of keeping voat alive.
trentlapinski ago
The slack mentioned in the other comments has already made some progress on this. Although I believe the community consensus was to switch to MySQL but supporting PostgreSQL is doable as well.
There's also been some serious efforts made to get Voat running in a Linux container so you can move Voat off Azure and take advantage of cheaper Linux based cloud hosting without having to necessarily rewrite any code. You could save 30-40% on hosting costs alone by getting off Azure.
A few members were also discussing caching options which could also bring down server load considerably.
We are here to help but need your insight and leadership to keep everyone focused on what needs to be done.
If we have a better idea of resource usage and your current scaling methods we can also assist with cost analysis which is my particular speciality.
You're not alone, and we are here to help.
captbrogers ago
I'm seriously not a fan of any ASP/Microsoft platform, but I have to hand it to you for the reasons behind not doing a platform rewrite. Can't say you are wrong on any of those points.
Cightline ago
Agreed. In Slack we are talking about having a short term solution (porting) and a long term solution (rewrite). The general consensus was rewritting it in something more popular (Python) using Flask and SQLAlchemy. SQLAlchemy has the ability to abstract database creation, which allows us to choose whatever database we want (MySQL, PostgreSQL, Sqlite3, etc..)
A Python rewrite will bring in more maintainers.
I think having 2 teams (porting and rewriting) would be best. All under one Slack channel, that way we can still communicate and use each others expertise.
VoatRedditPort ago
Honestly, the problem with Slack is I genuinely think you lot are inexperienced enough you'd fuck up a rewrite. The whole push for docker, a codebase rewrite, and MySQL shows you really don't understand what you are doing.
.NET Core is similar performance to Python. The core lock in problem was centered around needing to use SQL Server.
Porting it to .NET Core and Postgres is all that is needed to release Voat from being locked into MS.
Its genuinely stupid to do a full rewrite unless .NET Core was discontinued.
But me? I'll just go off and do my own thing. Idgaf beyond suggesting you unite behind @PuttItOut and do the sensible thing.
Cightline ago
We have around 5 people that know Python, and maybe 1 that knows .NET.
VoatRedditPort ago
And all the day-to-day ops is done by a guy who knows .NET. aka @PuttItOut
PuttItOut ago
The group that is trying for a full rewrite does not understand the scope of what they are attempting to do.
usedtobecrensch ago
Sorry to necrothread Putt, but unlike some here, I'm not used to working around new account limitations:
Lost login cookie and I can't tell if username is locked, or for how long, or what permutations of my normal PWs were wrong or not.
Don't really know where to go from here - I think we didn't use emails to register here when I started, and if we did, I'm certain I used a throwaway.
I'm @Crensch and I will probably continue to try different combinations of PWs, but if you can help in some way, that'd rock. Even if it's only to tell me what the lockout timer is and how many tries (is it a new one each time the extra window pops up before going back to the regular page to "try again"?
Thanks for whatever you can do - sorry to take your time with such a trivial and silly matter.
usedtobecrensch ago
@disappointed not getting any bites here - i don't even know what limitations new accounts have anymore besides voting and sending PMs apparently. Do you have any ideas bud? Hesitant to ping kevdude since i don't want this to become a big thing and his comment history is watched by his stalkers.
Disappointed ago
The lockout timer is 15 minutes and 5 tries I believe. Alright first things first I want to be sure its you and so would the admin. I don't think you can PM until you have 10-20ccp so do you think you can get that?
What was it that Techius posted pictures of that time?
usedtobecrensch ago
THANK YOU. I'll set a timer on it.
I can get some ccp if i need to. keep hoping that i'll finally get the right PW
Disappointed ago
Right I don't think 10 or 20 ccp will be an issue but how did you lose your password?
@Cuckbot @Mickgoesestojail @kevdude read the above.
Mickgoestojail ago
Lol you spelt my name wrong
usedtobecrensch ago
Not really sure but i think i changed it during the PG stuff and didn't do my due diligence in making sure I'd remember it. Haven't had to log in in so long...
I COULD be wrong, but that's the narrative my mind kinda came to.
Disappointed ago
Alright well hold tight and we'll see what can be done. The wheels turn slowly on Voat sometimes as you know.
usedtobecrensch ago
Oh, for sure. I appreciate the help though, bud.
PuttItOut ago
Email hello at voat and I'll try to verify that you are you.
usedtobecrensch ago
Done. Thanks bud!
usedtobecrensch ago
@Cynabuns
Hey bud, I don't know if you've ever had this issue come up or have any suggestions. I'm at a bit of a loss trying to figure out how to get my account back. Is there a way to contact putt and ask that's better than responding? Not sure he even looks at pings given their prevalence.
Thanks in advance!
-Crensch
Donbuster ago
I know hivemind already posted this, but we want to ensure visibility, so,
Since the day of the angel announcement a slack group as been working on doing the requisite work to port voat over to open platforms, with not insignificant progress.
(invite link)
Putt. If/when you join, I'll have the guy managing our trello add you as admin, and ill add you as team admin as slack, but I'll want a PM here on voat to ensure we aren't giving it to a troll.
doginventer ago
Sorry, I have no useful tech knowledge to share, but I would just like to thank you Putt for all your toil :)
thehivemind ago
Just a heads up, there is an active effort on slack to accomplish this. So far we have managed to migrate the DB schema to MySQL and deployed it to a container for dev purposes. We also have members working on getting the codebase to run on Mono/.NET Core with limited success.