|
Must be 🤣
In a 🤑 🤵's 🌎
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
This message: The Lounge[^], is currently no longer flagged as potential spam and under review. But when I go to the home page there is nothing there. Tried reloading home a few times but it still does not appear.
modified 4-Mar-18 3:14am.
|
|
|
|
|
I recently submitted a new article[^] and have received a bookmark and upvote before the article has even been approved. I'm honestly not sure what's going on but this screenshot[^] hopefully helps.
EDIT: I also haven't received the normal 5 points for voting in the recent survey. Not sure if that's intended or not.
modified 2-Mar-18 3:50am.
|
|
|
|
|
Missed points have become 'not uncommon' - Due to a recent post, I think someone ( with the pseudo-tag of OG, who shall remain nameless) has been skimming them from the rest of us.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
"Nameless" Good to know though, thanks
|
|
|
|
|
I know it is possible to bookmark an article while it still is in the moderation queue, because I do it myself from time to time. But I have never been able to cast a vote on an article in submission queue. It may just be a weird-server-cache-thingy which caused the rep system a seizure.
Nice piece of work, btw. Would qualify as an awesome reference, as it exposes some essential architectural concepts.
"I'm neither for nor against, on the contrary." John Middle
|
|
|
|
|
That's good to know. I was not aware you could bookmark stuff in the mod queue (no access yet :P). And thanks!
|
|
|
|
|
By clicking the question in quick answer section, we can't know who are the one that posted questions.
There are only question, but no OP name ?
|
|
|
|
|
This is by design. Anonymous questions in Q&A were introduced few weeks ago.
|
|
|
|
|
|
|
I'm trying to read that second link's content but my eyes become so crossed I start having epileptic fits and have to power down my computer and lay on the floor until ictus passes ...
|
|
|
|
|
Is CP a MVC app, or ASP.Net or something completely evil, such as legacy ASP or PHP?
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
All the extensions are .aspx , so I suspect the last two are out.
IIRC, parts of the site used to be written in C++, which was a right PITA. I suspect it's all on ASP.NET now; but I don't know whether it's all WebForms, all MVC, or a mix of the two.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Do you want me to make up an exciting story about it all being based on Go, Q#, nginx, React on the front end with all sorts of webpack and bundling for deployment, hot reloading for dev and full front to back unit testing, sprinkled with the clever use of URL rewriting to maintain our links to make it look like ASP.NET, or do you want the real, mundane story about 12 year old WebForms?
I'm easy either way.
cheers
Chris Maunder
|
|
|
|
|
Are y'all gonna convert it to MVC, wait for the next whiz-bang web technology that comes from Redmond, or just leave well enough alone?
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
The question we discuss probably every second day.
We desperately want to rewrite. I can come up with half a dozen justifications why we should rewrite. However, rewriting will cost an absolute boatload when you factor everything in.
The question's actually a deeper one because of the parts. As a rough picture here are the bits that need work
1. The UI. Always. This isn't to say we don't like it, it's just that you always have to update it and ensure the experience is good. Before any backend code rewriting I'd move the front end to Bootstrap (or similar) and drastically simplify the HTML and Javascript.
2. The database. Our database is good. Very good. However it has 3 major issues
- We support multiple sites (eg CodeProject and RootAdmin) and because of a bad call I made 5 years ago we have some data stored in the wrong the database. I need to move it over but it's a big annoying job. Like rebuilding your toilet or something. Someone, somewhere, is going to get covered in something smelly
- We have a dichotomy between our Users and our Members. They are the same thing, you'd think, but in the database they aren't. This needs to be addressed.
- We rely on it too much. This one we're always working on and the Follow system is the latest step in moving away from SQL. The entire follow system is powered by Lucene, with SQL storing only the core information just in case we need to rebuild the Lucene index
3. The structure of our services. We're currently a big monolithic app with several supporting webservices but we're actively breaking out chunks of the main app into services or micro services. Follow, again, is a completely separate service written in .NET Core 2 that the main CodeProject app uses. Search and identity are also split out, and we are looking to break off more chunks and rewrite them as needed.
4. Our data layer. Currently it's hand crafted. Not a single autogen ORM in sight. We need to move from that to probably Entity Framework or Dapper. It'll save a bunch of plumbing.
5. Our repository patterns. Yes, multiple. We moved from the onion layer model to a services / repository model but not completely so we have code duplication and ambiguity (who should be doing what?) This needs to be cleaned up.
6. Moving to async. If we do this it has to be done top to bottom so we'd make our datalayer async and move it up to the presentation layer
7. Presentation layer. This would probably be the last thing we change (though we may move to MVC on a page-by-page basis in some cases). This is the easy bit.
And then there's a whole bunch of core stuff such as modularising our components, upgrading the actual project to the latest .NET Core 2 with all the benefits and PITA's that brings, totally revamping our unit tests and probably breaking out a bunch of features such as logging, tracing, spam and language detection into separate services.
So it's not a case of a simple rewrite. It's more of a staged progression based on the bits that actually need reworking, or taking advantage of opportunities to break out bits when we're adding new features anyway.
Even if we spent a full year on a full ground up rewrite it would never be perfect and in 3 years we'd want to do it again anyway. So, you pick your battles and live within your means.
cheers
Chris Maunder
|
|
|
|
|
I believe you have just answered a question, in a way, that has probably been on the minds of members for years. I know it has always been a question of mine.
Thank you.
|
|
|
|
|
At home, Describing an infrastructure to someone that isn't familiar with it is sometimes where you find one of those "AH-HA!" moments. I call it "talking to the dog".
At home, I talk to our dogs about coding on a regular basis. I even hold impromptu white-boarding sessions with them. Sure, they only stay as long as I'm handing out treats, but hey, you get your inspiration where you can, right?
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
I bet their TypeScript is a mess. You know how it is with dogs...
cheers
Chris Maunder
|
|
|
|
|
I live this continuous update problem for nearly two decades, so I feel your pain... However, you may have an advantage with that over 13 million members... Have you ever considered to set up a voluntary team to work on CP itself?
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
That would be a nightmare to manage.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
That depends. There were already some bits Chris tried to solve using CP power (like issues with the current article editor), and things were not that bad... Or maybe I'm wrong...
It is obvious we can not take up the core problems, but may help with more marginal issues and take some weight off the staff...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
Have you seen some of the code that's posted in QA?
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
I didn't' mean ALL the 13 million
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|