Project Euler Integration is Broken

Not really a bug, but it seems like the Project Euler team has broken the Beeminder integration as of early 2026 [1].

I assume this is how Beeminder extracts the number of solved problems:

curl https://projecteuler.net/profile/d.xml

<?xml version="1.0"?>

<profile>
   <username>d</username>
   <location>Hungary</location>
   <language>C/C++</language>
   <rank>Unranked</rank>
</profile>%

You can see that the number of solved problems is no longer part of the XML.

Can somebody confirm this? I guess, the only fix is to disable the integration and allow users to manually put it in their total (or, one can just update the total via the API).

[1] Member Ranks - Project Euler Forum

1 Like

Oof, thanks for flagging this up. My guess is that you’re correct and the integration has now broken, based on the context, since we don’t authenticate with Project Euler and just grabbed the number of problems solved from public accounts.

I’ve flagged it up to the others to take a look since I don’t seem to have a test account for Project Euler, just to be sure, but I suspect it will indeed have to be retired.

1 Like

Looking at the code, it looks like we use the the .txt endpoint, but it suffers from the same problem. We’re doing the equivalent to this:

curl -s --compressed --max-time 60 -H 'User-Agent: Ruby' -H 'Accept: */*' \
        'https://projecteuler.net/profile/d.txt'

…which gets back the same as your xml, just in plain text:

d,Hungary,C/C++,Unranked 

So you’re right, it’s now lost the count. If you’ve made some progress, you get a “Rank” - so I’m on problem 103, and my rank is “Tetrahedron”, apparently. But this is no use for the Project Euler integration.

This means that as @shanaqui implies, we’ll need to close down the Project Euler official integration, and move any remaining PE goals to manual.

1 Like

Update: we’ve reached out to Project Euler to see if there’s any way we can connect back up, but for now we’ve been proceeding with mothballing the integration, and new Project Euler goals can no longer be updated.

Not sure where we’re at with converting existing goals to manual, but users can do that for themselves via the settings tab if needed in the meantime.

Thanks again for the heads up!

2 Likes

Thank you! Being able to put data points in manually is a great solution! I’ve reactivated my Project Euler goal to fight AI brain rot and solving my first problem in a couple of years was really satisfying. It’s the “build something with your bare hands” principle applied to “modern” programming.

I did not know one could disconnect the data source. I will leave it turned on in the hope that Project Euler can provide a solution. I get there overall sentiment - total numbers of problem solved is no longer a valid measure of the skill of the user - but I don’t really understand why that implies that the number must not be public at all.

3 Likes

Disabling the integration did not work for me, because even after doing that Beeminder would still show that banner explaining that the Euler integration does no longer work.

I ended up creating a new goal and imported the data from https://projecteuler.net/minimal=solved which is trivial to convert into a format that Beeminder likes. The beauty of this is that it preserves the history of my progress including the time before I started using Beeminder.

Additionally, odometer is just not the right goal type, similar to the Focusmate integration. I very much care to see the detail about every single problem I solved (what problem did I solve), like I care about the details of every Focusmate session that I have done (what did I work on, who was my partner).

Anyway, all that is to say that I now have this beauty of a graph, and frankly, I don’t solve Euler problems fast enough anyway to need an automatic integration, so thanks to Project Euler for breaking the integration and for continuing to create new problems. They have over 1000 problems now which is amazing. Doing these manually without AI has been incredibly rewarding. It’s my equivalent of solving Chess puzzles.

1 Like

Hm, interesting – my guess is that maybe we’d have had to manually clear the error for you or something. It’d have been interesting to take a look while you were still having the problem (and if you are, then definitely reach out to support@beeminder.com)!

Glad you got something figured out, anyway.