nor's blog

By nor, 3 months ago, In English

What I will talk about in this blog is something a lot of people have been talking about on forums other than Codeforces, so I was a bit surprised that it has not been brought up on Codeforces in a visible manner yet (or the people being affected are themselves being cut off from Codeforces, so it is perhaps the perfect form of censorship).

Anyway, here are a few blogs that try to address this problem but to no avail — 1 and 2. Pretty sure that this blog will not help this cause much either.

This started out a couple of years ago — or at least long enough that I have forgotten how long it has been. The Codeforces main website, during contests, is never accessible to a few people due to Cloudflare blocking their access.

The users are completely helpless — you keep getting Cloudflare captchas on an infinite loop, without good reason. For others, it is a dead end asking people to "update their browsers because they are out of date" even when their mainstream browsers are up to date with the bleeding edge version, demonstrating a clear disrespect for certain browsers, or even just users that have ad-blocking plugins turned on. This is also sometimes a geo-blocking issue and/or an IP blocking issue.

This is not a one-off occurrence — people around the world face these issues with Cloudflare, enough that it has been branded evil by a ton of people for gatekeeping the internet.

Quoting one of the arguments against using Cloudflare in the comments:

I can be sure that they won't inject ads into my HTML pages.

But they will harass your visitors with captchas for no good reason. I also sometimes run into Cloudflare's "this website is using a protection service" with no way around; it turns out it's a geoblock because it does load just fine when I use a VPN through Germany. The internet was meant to be decentralized. The IP addresses were meant to be used for routing and for routing only, and otherwise treated equally.

A few days ago, this became much worse. What used to happen only during contests is now happening all the time. People have completely lost access to their CF accounts by virtue of not being able to access the website.

Why Codeforces has Cloudflare

The only reason I can think of is to protect itself against DDoS attacks. However, upon discussion with people who are well-versed in the internet security domain, it seems that even Cloudflare has some options that make this stuff more lenient while protecting the website sufficiently against abuse, and that the Codeforces configuration of its Cloudflare protection is just messed up.

Arguments against this nuisance

While I agree that security measures are crucial for the functionality of a website, the way they are implemented clearly makes the website unusable or frustrating for a ton of people (I estimate this number to be a sizeable chunk of all active CF users).

Here are some concrete reasons:

  • Accessibility: With the initial measures in place, some people stopped doing contests altogether. One can only imagine the effect of this measure on the traffic of this website (which is something I am certain that the administrators care about).
  • Uneven lag in contests: People report that Cloudflare sometimes keeps on loading for tens of minutes before they are able to even start working on the problems. This creates an unfair environment for some people.
  • The purpose of an API is defeated: even the API endpoints are restricted, which does not make sense at all. All bots (Discord, competitive programming-specific IDE functionality) that help people (for example in training by choosing problems for them, or by making fetching samples more convenient) are now useless.
  • Codeforces randomly lags a lot. I had been assuming that this is a server problem, but from talking to some people it seems like this is an issue with differential treatment of who is accessing CF.

What should be done

Either disable Cloudflare, or configure it properly. Earlier CF used to use a supercookie to track usage (still does), which was already pretty shady, so it is not like CF does not have a history of doing weird things.

Apart from that, I would like to invite the community to discuss other possible abuse-prevention measures that would help protect CF without all this clownery that has made it unusable. It is not unreasonable to ask for accountability when CF has become the de-facto competitive programming community website.

Tagging MikeMirzayanov for more visibility.

Full text and comments »

  • Vote: I like it
  • +1232
  • Vote: I do not like it

By nor, 4 months ago, In English

As usual, content here: https://nor-blog.codeberg.page/posts/2024-07-28-thoughts-on-the-present-and-future-of-ai-and-problem-solving/. Consider subscribing to the RSS feeds for more posts!

Bloopers: while I was trying to make the point that AI is good for basic things like coming up with a TL;DR by asking ChatGPT to summarize my post, AI disappointed me yet again with the clearly wrong and generic summary (and its references, of course).

Or is it secretly sentient with a sense of humour? Read more to find out I guess...

image

Full text and comments »

  • Vote: I like it
  • +63
  • Vote: I do not like it

By nor, 6 months ago, In English

Hi!

I started a blog recently, and one of my recent discussions on FFT led me to post a new blog post at https://nor-blog.codeberg.page/posts/2024-06-01-implementing-fft/ exploring some FFT algorithms — more specifically, alternate (potentially better) implementations that not many people are aware of. The contents of this post might be a bit well-known to people who write their own FFT templates, but having a good understanding of FFT should help others too.


Why a new blog?

Full text and comments »

  • Vote: I like it
  • +93
  • Vote: I do not like it

By nor, 8 months ago, In English
  • Vote: I like it
  • +46
  • Vote: I do not like it

By nor, 8 months ago, In English
  • Vote: I like it
  • +34
  • Vote: I do not like it

By nor, 9 months ago, In English

When submitting to 1923E - Count Paths, I noticed that 248189683 takes 124ms and 248191037 takes 420ms.

Both of these are the same code (can be confirmed via diff), and there is no indeterminate behaviour like randomness involved in the submissions. It looks like it points to some issue with the judging machines (maybe one judging server is just slower than the other or the server load was high).

Pinging MikeMirzayanov for increasing chances of this getting fixed. Thanks!

Full text and comments »

  • Vote: I like it
  • +65
  • Vote: I do not like it

By nor, 10 months ago, In English
  • Vote: I like it
  • +86
  • Vote: I do not like it

By nor, 10 months ago, In English
  • Vote: I like it
  • +131
  • Vote: I do not like it

By nor, 11 months ago, In English
  • Vote: I like it
  • +67
  • Vote: I do not like it

By nor, 12 months ago, In English
  • Vote: I like it
  • +407
  • Vote: I do not like it

By nor, 12 months ago, In English
  • Vote: I like it
  • +88
  • Vote: I do not like it

By nor, 12 months ago, In English
  • Vote: I like it
  • +235
  • Vote: I do not like it

By nor, 13 months ago, In English
  • Vote: I like it
  • +86
  • Vote: I do not like it

By nor, 14 months ago, In English
  • Vote: I like it
  • +205
  • Vote: I do not like it

By nor, 16 months ago, In English

I am a logic gate. Ask me anything.

Full text and comments »

  • Vote: I like it
  • +125
  • Vote: I do not like it

By nor, 17 months ago, In English
  • Vote: I like it
  • +171
  • Vote: I do not like it

By nor, 20 months ago, In English
  • Vote: I like it
  • +240
  • Vote: I do not like it

By nor, 20 months ago, In English
  • Vote: I like it
  • +211
  • Vote: I do not like it

By nor, 21 month(s) ago, In English
  • Vote: I like it
  • +111
  • Vote: I do not like it

By nor, 22 months ago, In English
  • Vote: I like it
  • +144
  • Vote: I do not like it

By nor, 22 months ago, In English
  • Vote: I like it
  • +498
  • Vote: I do not like it

By nor, 22 months ago, In English
  • Vote: I like it
  • +146
  • Vote: I do not like it

By nor, 22 months ago, In English
  • Vote: I like it
  • +669
  • Vote: I do not like it

By nor, 22 months ago, In English
  • Vote: I like it
  • +414
  • Vote: I do not like it

By nor, 22 months ago, In English
  • Vote: I like it
  • +349
  • Vote: I do not like it