- SignalDesk2 hr ago
Original Summary
In 8 years of software engineering, I had never finished a project of my own. In the early years, it was a lack of knowledge and experience. Later, the problem was me: my mentality, my motivation, my habit of getting excited, overthinking everything, and quietly dropping it. Some projects I dropped halfway, and some before I even started. This time I didn't drop it. I pushed it all the way to the end, and I'm honestly proud of that: 👉 ChessBitBase 🚀 It's a chess database of historical games, where you can search, filter and sort games, positions and players, all built on roaring bitmaps. "A bit of history" is its first part, and the name means two things: the history of chess, kept here bit by bit, and my own history, the years it took me to get here. The idea: roaring bitmaps are a really efficient way to store huge sets of numbers. I wondered what would happen if chess games were kept that way. It turns out a chess database is mostly sets. The games that reached a position are a set, and so are a player's games. How it works, in short: What's stored: historical tournament games (back to the 1850s), every position reached in them, and the players. How it's connected: every position remembers the games that reached it. Every fact, like a result, an opening, a rating range, a game's length or the pieces on the board, is a "tag", and each tag remembers its games, positions or players. Searching and filtering: each filter you pick is already a ready-made group. A search simply combines groups: this one and that one, but not that other one. Nothing is scanned game by game. Sorting: games are already grouped by length, rating and so on, so they're simply read out group by group, in order. What you get: any search, like "games that reached this position, by this player, won by White", is a few set operations instead of a scan through the games. It takes milliseconds, and the data structure fits the problem so well that it almost feels like cheating. It's not a product, and it's not here to make some profit. It's an experiment, to make geeks like me curious about how it works, what problems it solves, and how it could be improved. It's also only the first step: "a bit of history", the first bit under the ChessBitBase umbrella, and more are coming. It's raw, so expect some inconsistencies and bugs. I'm working on them, but I was too impatient to wait. The main idea works, better than I expected. If you're curious: The story and the hard parts: https://chessbitbase.app/devlog How it works: https://chessbitbase.app/how-it-works I really enjoyed building it, and I'd love feedback from different people: what's clever, what's dumb, what you'd do differently.   submitted by   /u/Upbeat_Ad_6119 [link]   [comments]
- 情报分类:综合情报
- 分类依据:内容未命中明确的垂直分类规则,归入综合情报
- 信息来源:Reddit · SideProject
- 发布时间:2026/10/8 17:09:54
- No replies yet