I'm not sure what's exactly happening right now. I know that a few (about 7) last SRMs was a series of fuck-ups, so I assume that people from marathons also aren't sure what should be done now. Can anybody from topcoder write any clarification?
We've been waiting more than two weeks for the systests for the first round (if I'm not mistaken). Are the current standings final? Is there any way to be informed about the news and know the current status?
There's some information that you wanted to make three stages of standard matches and three matches in each of them. Why is leaderboard showing stages numbered $$$2$$$, $$$3$$$ and $$$4$$$ and the fact that stage "$$$3$$$" had only two matches and stage "$$$4$$$" still had no matches... I'm not sure if the stage "$$$1$$$" is missing, or if you didn't manage to organize matches in stage "$$$4$$$". Or maybe just the leaderboard doesn't work? It would be nice to check stage dates in the "rules" section, but they are missing here too...
Fortunately, there are dates of the online rounds in the "rules" section. And they say that the second round is going to end tomorrow... Are you sure? Has it even started?
In conclusion, what are you planning to do now? Can you tell us some dates? Or at least guarantee that the marathon finals will take place this year?
Also, I want to ask about the new system. There is definitely at least an intention to go in the good direction, we already can use standard I/O, but will it go further? By further I mean just sending only one file like on any other platform, or letting us use standard I/O also on SRMs.
Hello,
I'm watching the following thread. I don't think current standing of TCO 19 round 1 is final. I guess it will take us more time after the final result because we have to confirm the final result is correct or not. https://apps.topcoder.com/forums/?module=ThreadList&forumID=680330&mc=236
Stage 3 had three matches. However, one match was unrated because of disaster of new platform and tons of operation issues. All the marathon matches are postponed and there is no announcement for that.
I wasn't involved in the contest, but I read the forum you linked to, about how the "new" TopCoder system using Docker isn't working out so smoothly.
https://apps.topcoder.com/forums/?module=ThreadList&forumID=680330&mc=236
I see this same nuttiness at work. What is it with these "containers" like Docker and this obsession with making everything a virtual machine, its so unnecessary, so utterly unnecessary. The managers push this crap at work, instead of giving people access to a network they give them VDIs and VMs to log into remotely so that they are on the network, instead of an actual physical machine, that is actually, you know, on the network already.
The users report its extremely slow. I'm like, do these idiot managers know what these things are? Now instead of your mouse being plugged into your computer, now you move your mouse, that signal leaves the university (here Columbia University in NY) through some rat's nest of switches and routers, gets out on the internet, takes a 200 mile trip up to Albany, NY then enters another rats nest of switches and routers into the VM hosted on a server clogged with spinning up and spinning down other instances (and you should see these traceroutes anyway, I've never seen a network this insane, 23 hops to a computer on the same network) and finally gets to the government server hosting the virtual machine, and then it goes all the way back to the user to update their screen to move their mouse pointer 3 pixels.
And you say it is slow? There is a lag? Nah, couldn't possibly be slow, its only a mere 200 miles of cable and 79 network hops every time you move your mouse, I can't see how that could be slow. You know, I think throwing Docker on top of this will make this better.
I hope you understand I'm being facetious.
Physical computers are dirt cheap, I know, I know, Docker sounds cool, and the "cloud" sounds sooooo cool, but jesus christ, grow a few brain cells. Unfortunately the people making decisions seem to universally have an inverse relationship with understanding what is actually happening.
EDIT: This isn't a rant against TopCoder, just seeing the squirrely nature of performance of these Docker containers at TC inspired in me a long suppressed rant against the direction I see things going at work, and well, I couldn't help myself.
FYI: Docker is useful when you want to make sure you're running the same thing with the same system libraries on the same OS. It's useful when you want to work on something locally and then run it from a different machine without worrying if it will fail for some reason (e.g. Python 2 vs Python 3).
It shouldn't be used heavily in production, especially where performance matters, but it has its uses. I'm currently trying to fix a build that got broken because I have higher versions of several programs and libraries. Docker would help avoid it.
Will you buy me one?
My story about TC. I can only speak about SRM and I have no idea about what's with marathon.
From the time I started doing compretitive programming Topcoder seemed to me as a place with the best algorithmic challenges. I guess you can find my old comments protecting Topcoder from users who are used to CF and find TC too clunky. But now my opinios is completely changed.
My first problem writing attempt was with Topcoder in 2012. rng_58 was coordinator of SRMs and it was a great time duscussing problems with him. I did not get any money for my first written SRM because I was under 18, but I was extremely happy that I could have this experience and my problems were ok.
Then problem coordinator changed to cgy4ever. This guy is also an excellent problem writer and I had no problems with cooperating with him. But there was a general shift for SRM problem style like different output format which I didn't like (but that's just personal).
When chy4ever left I was told that misof is going to be a coordinator for SRM. I was a little worried since misof was not an active cp participant so I offered my help in looking for SRM problems but they rejected it. Then the story happend when I had some problems in system for future SRMs. I was asked if I mind using some of them for some local event. I agreed to help and said which problems they can potentially use. After that I did not recieve any messange about time when they gonna use it and which one they've picked. And after several days I've noticed that one of the problems is "Used", which had a very raw test set. Since then I haven't propose any problems and I think I'll never write any more problems for TC. I've got an impression that poeple working for TC care much less about their plathform then me.
I dont find topcoder problems that special this days, they are the same as CF has at the best. And now there exsists a lot of beautifull problem solving platforms so I wouldn't recomment to try topcoder to anyone.
What do you mean? You offered to be the coordinator or a second coordinator?
Did you ask someone to explain what happened? What was the response?
Yes, I suggested to help misof with problem coordination.
I did not ask anyone to explain themselfs. It's a common feeling for me to feel the distance from tc admins, only few times a was lucky to get a tester who was actually involved in problem discussion/preparation.
Were you given reasons why they don't want that "two coordinators" arrangement? Did you ask about them?
Anyway, coordination isn't the problem at TC. It's lack of proposed problems or general activity (including that "testers don't talk to me") and technical shit of all sorts. What would you do as coordinator, create problems because there's not nearly enough proposed ones?
Well you should. Especially if it's The Incident that made you stop doing stuff for TC. It's completely possible that local event was so unimportant everyone forgot about it... except you. IIRC in 2013 or 2014, I was asked by rng_58 for some problems for some small event, there was also very little preparation involved simply because small event and I definitely didn't give it much thought. Maybe I even had to mention it again to get paid.
Wait, "not involved" means "just writes a solution and makes sure the I/O works" or something like that, right? Because a tester that does literally nothing needs to be replaced, that would be a pretty big problem.
I think I already know the answer, but: did you point it out to misof or someone?
Hey :)
As far as I know, the two of us didn't actually ever get to discuss this. More precisely, I believe that this is the first time I've ever heard about you making that suggestion, and I wasn't involved in the decision in any way. I'm sorry it turned you away from Topcoder. I would be happy if we could get you to write some problems again, and I can assure you that I care deeply about what I do. If you wish to discuss this issue or anything else in private, don't hesitate to send me a message here at CF or email me.
Hi. Didn't want to make it look like I blame you or someone else, just complain. Check cf message.
I don't know that. If you mean technical failures of the arena and so on, they've always been here.
The last 2 SRMs (761 and 762) definitely had some annoying implementation problems. I know misof likes them too much and there should be less of these, but it's hardly a "fuckup" and calling it such won't help matters.
I checked blogs about the previous 5 SRMs (and TCO 3A, which should count). There was some whitespace bug in SRM 758. There was also a wrong checker in [a random local event with easy problems] that I remember. I didn't see any other serious mistakes, but maybe I missed something. Can you point out the other "fuckups" and when they happened?
Small things like delaying round start and arena shutting down after the round add up as well. TC always had high standards and even such small failures were very rare. I can see how testers can miss something in tester code but how does software/hardware become less stable over time?
Yeah, it's really frustrating and I don't know why it happens. Maybe TC is taking the Boeing approach to fixing things...
As to why hardware/software becomes less stable, I don't know if it's the case here, but usually, it happens when you need to replace some stuff in your infrastructure, and then have older software running on top of newer software or hardware. For example, an old server reached the end of its lifetime after 10 years, but you can't replace it for the same one, since they aren't made anymore, so you buy a new one. But you need a newer OS since the previous version didn't support that hardware. New OS has some changes that break some ancient libraries. In general, support for some software can just be discontinued. You can't afford to upgrade everything (it takes too much time and effort), so you just try to reach the point where no two connected parts of your infrastructure are incompatible and you can do it without changing too much code. It's not meant to work like this, though, and you get specific situations that your quickfixes can't handle. A similar thing can happen when you replace your own old code with something more modern without enough testing, that introduces new bugs.
So if the problem has been there for a long time, then it isn’t a problem anymore?
Why don't you try actually reading what I wrote and what I quoted instead of putting words in my mouth? Your snark isn't useful input.
I read it again. You make it sound like the system being completely broken is somehow not a fuckup. It is.
Recently I did contest for the first time in three years and I join my room (I had joined the wrong room at first) and guess what, I can’t even open the problems, it says something about not being registered or being in wrong room. So I give up and halfway through I remembered that people said the java applet isn’t broken. Finally after adding a bunch of security exceptions I manage to open a problem in the java applet. Guess what, command V doesn’t work. (30 minutes later I finally realized it is supposed to be control V even though all other apps using command V on mac.) Then I go back to the web browser since it’s nicer and maybe lets me copy paste. Turns out I still can’t open the problems. I go back to using the applet and think a little and then come back to web browser again after 5 minutes and FINALLY, it lets me open the problems. After half the contest has passed.
You think this is acceptable? That it’s “always been there” and it’s fine and somehow not a fuckup? No wonder there were only 200 participants. Who is seriously willing to put up with this?
No I'm not. Stop putting words in my mouth and stop lying.
The OP makes it sound like things have been quickly going downhill very recently. It could also be viewed as specifically problem quality/preparation quickly going downhill, especially since technical problems aren't new. I said I didn't really notice SRMs being bad recently in that regard. That's the point.
Yes, TC infrastructure is a fuckup. The web arena is broken, the applet is sometimes broken and there's a garden variety of bugs popping up like wildly varying running time recently. In comparison, your Hipster OS trouble isn't a big deal (honestly, who needs 30 minutes to figure out Ctrl+V?).
That is exactly what your post sounds like.
No.
Whoops I didn't realize that you needed Ctrl+V until I read this post. :P
So, I still don't know if I still want to start in future SRMs after these tasks. I had 10 other things to do at the time (e.g. some nice Project Euler recent tasks), and I was furious that I spent 2 hours on some unrewarding problem solving. (Note: TCOs I've seen so far were really nice. I also liked Lewin's and Errichto's recent tasks. I may want compete in your SRMs, folks.)
Call it what you want, but a series of annoying problems in consecutive SRMs is a fuckup for me. If it's setters' intention to give these to us regularly, then I'll be happy without Topcoder.
I also remember these:
Aaaaaand we're speaking about SRMs again. And this post was supposed to be a rare rant on Marathons... xd
Yeah, the random TLEs are part of a long list of recurring technical problems. I mentioned them above too.
Ok, I accept that validator in 762.
As I said, there should be less of these tricky implementation problems and I agree that it's harming TC if they're common. That doesn't mean I'm opposed to them on principle or that they can't be fun to solve, it's simply challenging in a different way and only gets annoying when they're too common or the rest is too easy/hard. I also encounter problems I don't like in contests (sometimes this type, sometimes other ones) and also complain, but I recognise that problemsetters have no duty to make stuff fit my taste. I definitely wouldn't call a contest a fuckup for containing a problem I don't like if the rest is at least decent.
But that didn't happen as far as I can see. 762 and 761 had these. Here are some quotes about whether problems in the 3 earlier rounds were interesting. 758: "Thank you for the nice problemset!" 759: "I liked the Div1 problems very much." 760: "Also the problems are nice and require insights." And 756: "Thanks for the nice problemset!" There were no comments about ugly problems in 756-760.
TC has its bad sides, but making claims that aren't supported by the best public evidence we have — comments on CF blogs — isn't a productive way towards fixing them. Sure, we could keep raging about everything is shit — I'm confident my rage would dwarf everyone else's — but what could it possibly accomplish? Why not rage about specific things that really go wrong instead of making false general statements? For that matter, why not rage in TC admins' email inboxes and consistently instead of on occassional CF blogs that drop out of Recent Actions eventually?
We should clearly distinguish three types of troubles:
System troubles (The server freezes, the website is difficult to use, etc.)
"Correctness" of problems (Are the author's solutions correct? Are the statements clear? Are the testcases valid? etc.)
"Interestingness" of problems
It's sad that troubles of the first type are gradually increasing. Though, probably people responsible for that don't read here.
Problem coordinators, writers, and testers are responsible for only 2. and 3. I think TC is doing very well on 2. Yes, there are some troubles from time to time, but that can happen as long as humans prepare tasks. The frequency of such troubles is rare enough.
To be honest, I'm not satisfied with 3. in recent TC (especially in SRMs), so sometimes I complain in CF forums, sorry.
Definitely. The technical ones are the worst and yet the thing we can do the least about, apart from putting pressure on TC to fix it or writing a contest system for them.
Regarding problem interestingness, which ones before SRM 761 do you mean? I checked blogs and didn't really see you complaining other than about some kinda high time limits.
Regarding the technical issues, if you all are frustrated with them, try putting yourselves in my shoes: I can do exactly the same nothing about them as you, but I'm also on the side that is seen responsible for them. Sigh.
Regarding correctness of problems, I believe we are maintaining a very high standard with clear statements and correct test data. Human errors such as "both writer and tester missed one check in the validator" do happen from time to time, but such mistakes have been few and far between.
Regarding problem quality/"interestingness", well, the way I see it, this is sadly kind of tied to the backend. The current SRM system is outdated and needs to be changed in order to be able to give both tasks that are interesting for the top active participants (i.e., those that are also the most vocal in these forums) and at the same time to also give tasks that make the contests interesting and educational for the lower-rated coders (who are also people with opinions, even if they don't present them here at such rate). With the current setup, those two goals are just plain incompatible, as we've seen.
As for implementing changes to the contest format, I was told a year ago about incoming plans to change the backend and whatever else, and it seemed dumb to change stuff before those changes are in place, only to have to change it again a few months later to match the possibilities of the new system. So, that is where we are now -- kinda stuck between a rock and a hard place.
I'm reading these forums after each round, I'm hearing the feedback you all have (even at times when I'm too busy to reply), and I'm trying to do my best given the limited options I have. Until we can do something better, there will be some SRMs with interesting hard problems (e.g., Errichto currently has one in the pipeline), and there will also be SRMs that are on the easier side.
[I]mplementation problems. I know misof likes them too much.
Nah :) Implementation itself isn't the part I like. The part I like about such problems is the part where you have to think about how to approach the problem so that it isn't an implementation problem. Recently, the problem AddPeriodic is a nice example of what I like. The problem had a nice simple solution via fractions. The statement was written in such a way that the solution had exactly zero special cases, the constraints were chosen in such a way that with a bit of simple maths you could make sure that plain 64-bit integers won't overflow. It was possible to solve the problem in very few lines of simple code. And, in essence, I see this as another aspect of problem solving: it's still the same "find a more clever way to do it". Problem solving doesn't have to be just about finding the best asymptotic time complexity.