[ANN] Discontinuing 4clojure.com

933 views
Skip to first unread message

Alan Malloy

unread,
Jul 4, 2021, 4:26:05 PMJul 4
to Clojure
TL;DR: Turning off 4clojure.com by the end of July 2021

Hello, 4clojure problem solvers. You've probably noticed SSL errors on 4clojure.com over the last week. The old decrepit system 4clojure runs on has finally gotten out of date enough that I can't even figure out how to get it recent enough that SSL certs will auto-renew anymore.

In principle I could start from scratch on a new server and move 4clojure over, but I won't. 4clojure has been piggybacking along on a server that I use for personal reasons, and over the years I have less and less reason to keep paying for that server - it's now pretty much just 4clojure costing me an embarrassing amount of money every month because I haven't wanted to disappoint the community by shutting it down. This SSL thing is just what made me finally pull the trigger.

I don't have a specific EOL date in mind, but sometime near the end of the month, since that's the billing cycle. Until that time, 4clojure still works, as long as you don't mind clicking through the security warnings - it really is still me hosting the site, and since the connection is still HTTPS (albeit with an invalid cert) I think that means your data is still safe. If you have solutions to problems you're proud of, you've still got some time to print them out and put them up on your refrigerator.

I'm not seeking new maintainers. I'd feel uncomfortable handing over a database with so many email addresses and password hashes in it to anyone. The service has had a good run - just over a decade since the first release. I hope you enjoyed it during that time.

Tim Visher

unread,
Jul 5, 2021, 11:06:50 AMJul 5
to Clojure
Thank you for your work maintaining it for so long, Alan! IIUC it's open source so if someone else feels passionately about it being available they can always start it up again.

No hard feelings. We all have to make difficult calls about our time and attention. :)

Gary Verhaegen

unread,
Jul 5, 2021, 1:23:38 PMJul 5
to clo...@googlegroups.com
Thanks a lot for keeping it running for so long! 4clojure was really instrumental in my Clojure journey.

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/385cdef8-fa40-47ba-b5b1-0b3a7cc34935n%40googlegroups.com.

Cora Sutton

unread,
Jul 5, 2021, 3:29:01 PMJul 5
to clo...@googlegroups.com
Thanks so much for 4clojure! Tools like this help so many people and helped me in particularly when I was just getting started.

I am in no way affiliated with them but 
https://exercism.io is another site with code challenges that I used for clojure while I was learning it.

Bardia Pourvakil

unread,
Jul 5, 2021, 3:29:35 PMJul 5
to Clojure
Thanks so much for maintaining this project, Alan. It has been instrumental to my journey learning Clojure. I work for Roam Research, and our founder, Conor White-Sullivan, is also a huge fan. We would love to talk to you further about the future of 4clojure. Please email me back if you're interested.

Cheers,

Bardia

Colin Yates

unread,
Jul 5, 2021, 3:35:06 PMJul 5
to clo...@googlegroups.com
Thanks for all your work Alan - a decade is a lifetime in open source :-).

Sent from my iPhone

On 4 Jul 2021, at 21:26, Alan Malloy <mallo...@gmail.com> wrote:


--

aditya....@gmail.com

unread,
Jul 5, 2021, 10:30:09 PMJul 5
to Clojure
Thanks to all the 4clojure maintainers and contributors, and special thanks to you, Alan for keeping the lights on for so long.

4clojure helped me as I muddled through learning Clojure almost eight years ago (good grief, eight years!). At the time it was perhaps the only beginner-accessible _and fun!_ way to get introduced to the language. Being able to see other peoples solutions was a huge part of the learning process --- exposure to other peoples' ideas and thought process is so precious.

It's been a great run. I feel happy-sad but also hopeful that, like great art, it finds a new life in a new way.

Live long and prosper \\//_

Robert Levy

unread,
Jul 6, 2021, 3:42:44 AMJul 6
to clo...@googlegroups.com
Hi Alan,

Just as a thought.  If it's minimal work on your end (eg. if the folks from Roam research who chimed in above pick it up) why not clear the password hashes and let the new maintainer handle the communication that passwords need to be reset?

Rob

--

Colin Fleming

unread,
Jul 6, 2021, 6:22:21 AMJul 6
to clo...@googlegroups.com
Thanks for all the work (and money!) that's been spent over the years maintaining 4clojure, I know it's been much appreciated by many in the community. Is it possible to provide a data dump of the problem set? As far as I can tell this data isn't in the Github repo, it seems to be in a Mongo database somewhere? I for one would appreciate a copy if possible.

Cheers,
Colin


--

Sami Kallinen

unread,
Jul 6, 2021, 7:33:19 AMJul 6
to clo...@googlegroups.com
Hear, hear! Thank you for your wonderful work. It has been such a joy to be able to use the service throughout the years. If you do end up dumping a dataset with the problems, it would be great to also get the solutions if feasible. For me personally I have perhaps learned the most by studying other peoples solutions, plus it is an interesting corpus to study or for instanceto  use as training material for NLP type of ML situations etc in the future. /sami

Srihari Sriraman

unread,
Jul 6, 2021, 8:26:10 AMJul 6
to Clojure
Hey Alan, we really like 4clojure. We've suggested using it for training most people at nilenso and we're very thankful to you and all the contributors for that!
We (nilenso) would be up for picking up the hosting costs, and also some other operations or development work if needed.

It would be even better if we could work together and turn this into a community owned project (ex: clojurists together). That might also assuage your concerns about data ownership.

The questions, and solutions that the community has put together on 4clojure over the last decade are very valuable as a learning tool. Perhaps we can find a way to keep them around without attributing them to a user? One idea might be to deactivate all existing accounts, and remove the user data (email, passwords, other PII) etc while keeping the questions and solutions from those users.

We would be sad to see 4clojure go away, hope we can find a way for it to live on.

Cheers,
Srihari

oxalorg

unread,
Jul 6, 2021, 12:58:29 PMJul 6
to Clojure
Thank you Alan for all your contributions :)

Hosting things and maintaing them is really hard. We, the LambdaIsland team, are already maintaining clojurians-log and clojureverse and it's definitely not easy!

With a wonderful idea from @borkdude and his `sci` library, I built "4ever-clojure": a completely static version of 4clojure which runs using cljs + sci. It interprets the code in the browser itself.

It's live at: 4clojure.oxal.org  (Source code at: https://github.com/oxalorg/4ever-clojure  I'm planning to move it under the clojureverse github org)

I have 2 asks from you if it is feasible:
1. An export of all solutions (only solutions, no user data needed) - the community is already coming up with some amazing ideas of hooking up user solutions to automatically commit to a Github repo
2. Possibility of transfering 4clojure.com -or- 4clojure.org over to us so that we can host 4ever-clojure there (instead of on a separate domain)

Thanks!
- Mitesh

Robert Levy

unread,
Jul 6, 2021, 3:12:21 PMJul 6
to clo...@googlegroups.com
Just wanted to correct a mistake in what I wrote above. Obviously you can't clear the password hashes while retaining a link between people and their accounts, so it would more accurately be stated as all accounts are gone and you have to create a new account.

Didier

unread,
Jul 10, 2021, 10:00:16 PMJul 10
to Clojure
I'm guessing this also means the Android App will no longer work for it?

Alan Malloy

unread,
Jul 11, 2021, 5:22:33 PMJul 11
to Clojure
I'm happy to see this project, and I think exporting some data is a reasonable compromise. Rather than re-learn how to do any fancy mongodb stuff to make it into "pretty" json, I've just done a raw JSON export of the solutions collection, which is world-readable at https://drive.google.com/file/d/1UQHznThT_eVTBjmLGz3yME8L3teGygUs/view?usp=sharing. I'm contemplating doing a partial export of the users collection too: I could connect usernames to IDs without including the email addresses or passwords, which would let you rebuild most of the user information. But I'm not totally sure this is a good idea: some people may not want their usernames shared, or associated with their solutions. Does anyone in this thread have an opinion?

Alan Malloy

unread,
Jul 11, 2021, 5:38:29 PMJul 11
to Clojure

Bardia Pourvakil

unread,
Jul 12, 2021, 12:50:49 AMJul 12
to clo...@googlegroups.com
Hey Alan thank you so much for your generosity! We at Roam Research would love to maintain an "official" version of the project, any way you could transfer us the domain name?

You received this message because you are subscribed to a topic in the Google Groups "Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure/ZWmDEzvn-Js/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clojure+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/4d635947-7097-4310-a6dd-c53d9d45b72fn%40googlegroups.com.

oxalorg

unread,
Jul 12, 2021, 1:35:28 AM (13 days ago) Jul 12
to Clojure
Thank you so much Alan! Really appreciate this.

I've gone ahead and created https://github.com/oxalorg/4clojure-solutions-acrhive/

Also the entire solutions archive is live for anyone to browse directly from each problem page!! Eg: https://4clojure.oxal.org/#/problem/44/solutions

Cheers!!

Brandon R

unread,
Jul 13, 2021, 12:13:09 AM (13 days ago) Jul 13
to clo...@googlegroups.com
Thank you Alan for all the work and time put into 4clojure, and thank those of you who've started and contributed to 4ever-clojure!

Cheers,
Brandon

Alan Malloy

unread,
Jul 14, 2021, 2:50:06 AM (11 days ago) Jul 14
to Clojure
There have been a number of requests on this thread for me to transfer the 4clojure.com domain name to a designated successor. I'm open to that in principle, but there are a couple issues.
  1. I don't actually own the 4clojure.com domain name. That belongs to 4clojure's founder, dbyrne, who has been renewing it and pointing it at my server. I imagine he will be happy to transfer it, but there might be organizational hiccups I'm not aware of. If a successor is chosen, we can loop him in then.
  2. I wouldn't want to transfer the domain to someone who turns out to be unable to use it - maybe setting up a copy of 4clojure is harder than one might imagine, since it's all 10-year-old technology. If any of the prospective new owners already have a copy of 4clojure running under a different domain name, I'd love to see it. Of course, the 4ever-clojure guys have already done this.
  3. This is more of a "me" problem because my interaction with the Clojure community for years has just been the tiny IRC room and Stack Overflow, but so far all the offers to take on the mantle have come from people and companies I've never heard of. Maybe you're all pillars of the community now, but I just don't know it. I'd hate to give the name over to a group planning to do something nefarious with collected email addresses, for example. I feel like kinda a jerk for asking, since it's not like I was the greatest maintainer, but I don't suppose there are any old-time Clojurists who can vouch for any of these groups? Feel free to email me privately (amalloy@ the domain in question, for now!) if you'd prefer not to be on record as favoring one of these groups over the others.

Peter Strömberg

unread,
Jul 17, 2021, 3:22:09 PM (8 days ago) Jul 17
to clo...@googlegroups.com
I don't know which groups are competing, but I can vouch for the 4ever constellation. Not only are they highly trustworthy, but also known for getting shit done, and as stayers. 

Peter Strömberg

unread,
Jul 17, 2021, 3:22:16 PM (8 days ago) Jul 17
to clo...@googlegroups.com
Thanks, thanks, thanks, for creating and caring about 4clojure for this long, Alan! I can't tell how instrumental it has been on my Clojure journey. Not only for learning the language, also for keeping it fun there in the beginning when I doubted I could learn enough of it to get productive. I'm not sure I would have been a Clojurian today if it wasn't for 4clojure.

Best regards,
/Peter

Reply all
Reply to author
Forward
0 new messages