Crystal blog post 2023/11/06
I know this blog post is a bit delayed but it has been a hectic month. We had our featured month of October, where we saw our biggest increase in users ever. It was also the month with the largest content updates to the track ever. And the cherry on top, we had the Crystal conference, which I attended and talked about Exercism, there will be video available later from that talk. We had this month’s operation Obsidan part 1 & 2. Part 1 was covered in my speech but I will make a blog post later this month (hopefully very soon), covering what changes have been made in both parts. Therefore to not make duplicate content will I cover what is coming next and other changes made to the track in this blog and leave the juicy stuff for the other blog post.
New exercises
I want to thank @kahgoh for creating (for the track) all of the following exercises:
I want to thank @ryanplusplus for creating (for the track) all of the following exercises:
- Word Search,
- Scale Generator,
- Variable Length Quantity, implement a method to square a code.
- Complex Numbers, return a square matrix given a sum.
Miscellaneous
- Removed mention of icr in learning.md
- Add crystal forum to help.md
- Some other smaller fixes
What is coming?
Even with all that went on last month, I spent quite a bit of time reflecting on the future. In the last few months for the tracks big things happened, v3 test runner, representer, analyzer, 18 (2 more is wip) concepts, over 100 practice exercises (of which 51 were added in the last year), and brand new test generator. For me personally, I am starting to feel like the track is coming into more of a complete state.
I have also felt that my time has become rather lacking. This has led to content not getting the thoughts it might deserve which isn’t always the best, the issues which has risen are often fixed rather quickly and none of our core functionality (practice exercises and test runner) has been affected by this. From the 12in23 update to operation Obsidian was there for around 3 weeks, in this period so would both the representer and analyzer got a major update, 2 new concepts were written, and practice tags and a lot more content were done. Having this kind of pace isn’t working long term. To resolve this have I started prioritizing going back more to both new content and older content and patching. This is something I like to expand on, which I will talk a bit more further below.
On third note I have reflected on contributions for the track, for the people who have missed were there a blog post posted last week about contributions for tracks: Exercism. My goal is to contributions open as they are now, I have been very glad for how many individuals who has contributed to the track through prs and issues. And to resolve some issues created from what I mentioned earlier is community findings crucial but also from a maintainability standpoint is it a lot easier for me for people to report issues, instead of me finding bugs. Although that is still a thing I do quite a bit. I have thereby decided that my goal is to double down on contributions for the track. So how is my plan to improve it? Well, I have for a long time thought about a document generator that is more powerful than the current one coming with configlet. My plan of this tooling is to have a single concept document and then have templates + this generator to be able to generate the rest. I have seen multiple times users only updating a single docs and to reduce both my time during development and reviewing and for the contributor is my plan to be able to standardize this to a single docs. Secondly is to start using issues more to keep track of issues and expand plans making it easier for contributors to find out what to do. Thirdly and lastly will this include improving development documentation.
So after this long text, what is the concrete plan?
In Late Janauary early February 2024 am I planning to have the operation x being released:
- First iteration of the document generator
- New analyzer comments
- 3 new concepts
- Restructure of test runner with improved documentation
- Smal/medium restructure of the test generator
- Improve ci for test generator
- Work on contributions
- Crystal 1.11
My goal for this update is to provide some new user content but the focus will be on the core, to improve core tooling and working on ci. Size wise will it likely be the same size as earlier operations. But the student-facing content will be smaller compared to earlier.
Later in April to May, I am planning operation health, I wanted to schedule some time were I don’t feel pressure to deliver massive amounts of content and have time to go back to earlier content. This operation will student wise be delivering very little new content but my hope is that some older content can get some extra love.
Crystal operation health
- Improve documentation of tooling
- Second iteration of the document generator.
- Smal/medium restructuring of the rest of the toolings (representer/analyzer)
- port 2 concepts from Ruby
- General improvements + fixes
- Work on contributions
- Crystal 1.12