12 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?

10 comments

  1. wababa
    (edited )
    Link
    I’m chugging along on my Tildes iOS app Backtick. I recently made some pretty good QOL improvements for the app and am having a lot of fun developing it. One thing that I’m working on right now is...

    I’m chugging along on my Tildes iOS app Backtick. I recently made some pretty good QOL improvements for the app and am having a lot of fun developing it. One thing that I’m working on right now is adding text-to-speech. In general, I have a hard time reading long forms of text, which this platform has a lot of. As a result, I’ve been wanting to have it so long pressing comments makes the phone read the comment out to you. I have it working on my own phone right now and it’s been kind of a game changer in the way I interact with Tildes.

    On the side, I’ve also been developing an unofficial Tildes API that is used to support Backtick. I’m planning on open sourcing it once I get a good amount of features built out and the project structure stabilizes a bit.

    I’m really grateful that Tildes has given me a fun side project to work on that I’m constantly excited to build out 😊

    8 votes
  2. widedub
    (edited )
    Link
    I run a website for an annual fantasy football tournament with around 250 players. This time of year, we're accepting open registrations which is always fun. The tournament has been growing since...

    I run a website for an annual fantasy football tournament with around 250 players. This time of year, we're accepting open registrations which is always fun. The tournament has been growing since the pandemic and I have been thinking of beefing up my stack in the next off season. What started out as a fun technical problem has grown into something of a yearly hackathon and its always a lot of fun trying to develop new stuff before the season starts

    4 votes
  3. [2]
    marcellerusu
    (edited )
    Link
    I'm working on an editor for my language coil. It's only a few weeks old, and while it looks pretty in some cases, its very rough around the edges. Why not a vs code extension? Need a dead simple...

    I'm working on an editor for my language coil.

    It's only a few weeks old, and while it looks pretty in some cases, its very rough around the edges.

    Why not a vs code extension?

    Need a dead simple plugin API:
    While we have certain examples of very powerful vs code extensions (xstate, css - color pickers, LSPs, etc.), I found myself overwhelmed the 5+ times I tried to start

    • what if I could develop an editing system where plugins are as simple to develop as a simple ui (react, vue, vanilla, etc.) component.

    Many Ideas coming together

    • If your codebase was a database, linters & type checkers would be A LOT easier to implement.
      • what if I could query for all assignments in my chunk of code, and make sure all variables are in that list?
      • tried to do it with SQL, too hard.
    • How would I write a REPL for coil?
      • tried to do it with a REPL server, not dead simple, lost motivation.
    • My regex based syntax highlighter for coil often breaks & is too hard to maintain.

    Solution

    A web based structural editor where I convert the coil AST nodes to html nodes.

    • syntax highlighting is done with css, much easier to maintain and it also acts as a formatter!
    • coil parse speed is less important because structural editors only allow you to edit certain parts of the structure. You don't have to re-parse the file on each keystroke.
    • I can use tab/shift tab for free to navigate between nodes, I really like this
    • I can write a linter to warn on unused variables in ~6 lines of coil using querySelector, I really like this.
    • A dead simple way to develop plugins you just replace the html node with your UI, and provide a mechanism to turn your UI back into a coil AST node. - think lisp macros, but visual, with html, and debuggable.
    • REPL is literally eval since I'm already in the browser, check the console or literally create dom nodes to view results.
    • Writing linters & plugins are simple enough that I expect many libraries will ship with their own linters & visual plugins.

    Downsides

    • structural editing makes certain things a lot easier, and other things a lot harder. I don't currently have a way to edit an expression like a.b to a.b.c.
    • using html as a database / ast, means I'll have to load in invisible dom nodes for dependencies to analyze them. This will fall over at some point I bet, but caching will help a ton.
    • Because this system is very unconventional I find I have to do a lot of explaining before getting to the benefits of a system like this.
    3 votes
    1. wababa
      Link Parent
      I feel you on the VS code extension api. I created and have been maintaining an extension for work and it was a real pain in the ass to get started.

      I feel you on the VS code extension api. I created and have been maintaining an extension for work and it was a real pain in the ass to get started.

      2 votes
  4. [3]
    somewaffles
    Link
    I released a game for the GMTK Game Jam 2023! The theme was "Role Reversal" so I made a short little game where you play as the catctus from the google dino run game, instead of the dinosaur. I...

    I released a game for the GMTK Game Jam 2023!

    The theme was "Role Reversal" so I made a short little game where you play as the catctus from the google dino run game, instead of the dinosaur.

    I start so many projects and never finish them, so game jams are a good excuse to come up with something small scope that I can finish in a few hours, and not really care how its received.

    2 votes
    1. [2]
      wababa
      Link Parent
      This is sick! For some reason I thought I was suppose to hit the dinos because I was "getting back" on them but after losing once, I figured out what to do. Fun game and great music too!

      This is sick! For some reason I thought I was suppose to hit the dinos because I was "getting back" on them but after losing once, I figured out what to do. Fun game and great music too!

      2 votes
      1. somewaffles
        Link Parent
        Thank you so much for playing! I've gotten that feedback before actually. It didn't even cross my mind that my instructions conflicted with what the player actually has to do, I was just trying to...

        Thank you so much for playing! I've gotten that feedback before actually. It didn't even cross my mind that my instructions conflicted with what the player actually has to do, I was just trying to be funny in the description haha

  5. [3]
    xavdid
    Link
    I've had two big projects this summer so far: reddit-user-to-sqlite lets you export data about your reddit user to a structured database format. This got a ton of attention all at once and I've...

    I've had two big projects this summer so far:

    • reddit-user-to-sqlite lets you export data about your reddit user to a structured database format. This got a ton of attention all at once and I've got some improvements to catch up on. I'm also writing a blog post about the day this hit the top of HN
    • universal-test-runner is a fun utility that aims to run unit tests without configuration in any project. It's about where I want it to be for now (until I get requests to add more languages, which I'm very open to). The exciting next step is that I'm adding this functionality to the Exercism CLI, which will let language learners on (nearly) every one of their tracks run unit tests without having to remember the command. That part needs a little more testing work.

    Other than those, next up is probably trying to knock out the last few Advent of Code puzzles from last year and completing my solution writeups for each day.

    1 vote
    1. [2]
      tjf
      Link Parent
      I still need to go back and retry the infamous day 19 from this year's AoC. As long as I finish by this December I'll be happy.

      I still need to go back and retry the infamous day 19 from this year's AoC. As long as I finish by this December I'll be happy.

      1. xavdid
        Link Parent
        I feel like 3 years in a row, day 19 has been a big bugbear. Not sure what it is about that day, but it's a toughie.

        I feel like 3 years in a row, day 19 has been a big bugbear. Not sure what it is about that day, but it's a toughie.

        2 votes