This issue is a discussion for contributors to collaborate in getting ready to be featured in 48in24. Please refer to this forum topic for more info.
We will be featuring Binary Search from Jul 02 onwards.
Staff jobs
These are things for Erik/Jeremy to do:
☐ Check/update exercise in Problem Specifications
☐ Create + schedule video
Community jobs
For each track:
Implement Binary Search
Add approaches (and an approaches introduction!) for each idiomatic or interesting/educational approach.
Add video walkthroughs (record yourself solving and digging deeper into the exercise).
Highlight up to 16 different featured exercises (coming soon)
Existing Approaches
You can use these as the basis for approaches on your own tracks. Feel free to copy/paste/reuse/rewrite/etc as you see fit! Maybe ask ChatGPT to translate to your programming language.
Out of curiosity, the J solution is ([: I. e.), where the left argument is the value and the right argument is the set.
This is an instance of Special Combinations, a code construct that triggers non-obvious optimizations.
I find this fascinating because the code describes an algorithm that makes a trivial action, and it’s impossible to deduce its function without knowledge of these special combinations.
@ErikSchierboom late to the party, but i noticed that this exercise did not get a sync in the Clojure repo. Both docs and metadata need a minor update. The toml files are in sync, but tests have not been implemented. Also, some of the community solutions are incorrect but since the tests are outdated, they are marked as correct. Even the example solution is incorrect.
I can sync everything and implement the new tests, which will catch the incorrect solutions. Let me know and i’ll open a PR.
That’s something we’ve been dealing with on the Emacs Lisp track. The toml files were created about three years ago, but if an exercise was implemented before that, sometimes the test suites haven’t been updated since they were first implemented. configlet sync uses what’s in the toml file so it’d be unaware of any missing tests before three years ago.
Perhaps, we can loop through the ported exercises manually and make a list of what exercises are missing tests not reported by configlet?