I like learning new programming languages.
You can find me on various coding problem sites:
CodinGame puzzle search
Home Page: https://codingame.tools
Clash cards (in frontend/src/lib/ClashCard.svelte) are rather hastily put together. The paddings and margins are all over the place and the colors could be improved.
Pull requests are welcome, not sure when I'll have time to get to this issue myself...
Currently the descriptions get rendered as plain text, ignoring special formatting directives used by CodinGame (<<Bold>>
, [[Variable]]
, {{Constant}}
, `monospace`
). It would also be a good idea to show other sections in addition to the problem statement (input/output description, constraints, test cases).
There are 2 different approaches to render the special formatting directives in a nicer way:
It would be useful to be able to use clash-search as a search engine and link directly to results of a given search.
There might be a way to configure MeiliSearch to handle special characters. If not, I'm unsure if there is a viable way to fix this problem...
Search for "////"
Maybe a few dozen results, just the ones that have ////
somewhere in the test cases or statement.
over 1900 results (likely every single puzzle)
Currently the system is only indexing Clash of Code puzzles. The old puzzle search could also be used for regular in/out puzzles. Although this feature is probably less used than the clash search, it should not be much work to add because the JSON structure of in/out puzzles is very similar (maybe even identical?) to clashes.
The script to update clashes looks at timestamps under "statusHistory" key for the clash. Turns out "statusHistory" is not updated when the clash gets updated, for example when someone changes the title of a clash.
clash-search/scripts/check_new_clashes.py
Lines 61 to 64 in db25e16
To fix this I'm writing a new version of the update script that only looks at the "activeVersion" for the clash.
It would be a nice feature for users who just want to play random clashes without the time pressure.
I'm unsure if Meilisearch has any way to get a random document (you could pass in a random offset but that would require knowledge of how many documents there are in total). If not then the implementation might require a separate backend service that is aware of all the clashes.
A discord user spotted the following problem:
Today I tried to search "typing speed", but this clash didn't come up in the search results ("Calculate Kyle's typing speed" https://www.codingame.com/contribute/view/26516af8d3092868de55718c12320f25173a0). Any ideas why?
Checking existing clashes against the list of accepted contributions revealed that the clashes with the following ids were missing from the search index (they have since been added manually):
206742cbca985d49050b0e708d9bf432e8d6e
2492a4457aa0e8331b0d70baeb2decc41
26516af8d3092868de55718c12320f25173a0
276692c90be60fd240f56d0e2e4f3cc40a6f9
28198f4b63dbb45476b0bbae0da8dd650a9db
29022cd5093b1aa8f675b9ef3bbd929b718d5
29353d060810d75cc1e6c3c3a14b37dd46642
3050798c63b601d4b53a7034edaeb2522b70a
3060602a61121effef60eb2c061a18d431f90
308702afc9bc0b4d09c7bfa78404ec02ad984
318601dd052ee119ea6f2b5503f1284233824
323d1c75a9f600ffa1eb295049b74eefd
The root cause of the issue should be determined and tests added to make sure this can't happen again.
It should be possible for users to specify (with checkboxes or something similar) which types of clashes they are looking for (fastest, reverse, shortest).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.