8
votes
What programming/technical projects have you been working on?
This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?
I did a bunch of things last week. In my map editor, I started adding more object types. I can also reorder them from back to front using a selection: https://gfycat.com/leftlastcanary.
I don't know if this counts, but I've been writing music sheets for my piano compositions using Lilypond. It's a programming language for music notation. Wrote a 6 page piece that I finished yesterday. It was a lot of work writing what I had in my head into a clean looking sheet.
I started coding a SpriteBatch from scratch. It's something that allows me to dynamically draw 2D textures or shapes to the screen in games. It should be really fast so that I can draw over 20k+ objects on the screen per frame. I dislike the API from the one MonoGame gives out of the box so it was only a matter of time until I coded my own.
I'm planning on making my map editor work in multiplayer. I've been reading a lot of research papers for how to tackle undo and redo when working with other people. It's really interesting. So far I really liked the way Figma handles it. They wrote an article here: https://www.figma.com/blog/how-figmas-multiplayer-technology-works/. Their main philosophy was that after you undo you should be able to redo back to the latest state and not lose anything.
Working on https://linklonk.com/ in spare time (announced on Tildes two months ago, code "tildes" still works, if you'd like to try it).
Adding support for text posts (right now you can only submit links). I don't expect it being used a lot right now since there are few regular users, but I'd like a way to post announcements and respond to the feedback form submissions.
This brought the need to implement user names, something I didn't need before. Getting some inspirations from the way Tildes validates user names.
I was originally thinking of implementing comments as a separate kind of thing. That is: store them in a new "comments" table in Postgres, track votes on comments separately from top-level items (ie, links and posts). But now I'm planning to implement them as a text post that just has a parent item id. It would be similar to how:
I might regret this later, once I find that comments and top-level items differ in some profound way. But for now I see lots of benefits:
The reason I'm excited to implement comments on LinkLonk is that I'm curious to see if the personalized ranking of the discussion could help with some of the issues discussed in Tildes is pushing out the minority voice.
I think part of the issue is that the "volume" of commenters is a fixed thing. No matter how knowledgeable they are. And thanks to the Dunning–Kruger effect we often find clueless people (even if well intentioned) taking up the medium. But what if we can tune the volume of the commenter for ourselves by downvoting useless comments and upvoting the useful ones? Would knowledgeable people be more likely to post their perspective if they knew that they could be heard by people who appreciate their perspective?
You may say this sounds like a perfect "echo chamber". But there is only one way to find out!
First post is now live: https://linklonk.com/item/3672932074643849216
It is far from the functionality of Tildes, but it's a start.