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

4 comments

  1. admicos
    Link
    I have various abandoned projects that I probably won't do because I'm lazy, so here are a few out for anyone to do if they wish: A new Linux init system, which I briefly talked about on the...

    I have various ideas abandoned projects that I probably won't do because I'm lazy, so here are a few out for anyone to do if they wish:

    • A new Linux init system, which I briefly talked about on the Fediverse (new account btw plx follow thx bye)

    • Make the fediverse comment system I shared on ~tech/py5 into a reusable widget

      • I wish Tildes would automatically link to the topic when written like above, i had to do it manually.
    • Update and complete the Firefox patchset I talked about in ~tech/jzr

      • It's available in its current abandoned state in an unlisted repository here if anyone wants to pick it up
    • Continue work on Task Studio for Tasker

      • I still feel bad that I hyped it up on r/tasker, and even got Tasker's dev to help out for a specific part, but didn't deliver.
    • Make a FOSS Philips Hue control app

      • I was waiting for Jetpack Compose, now it's somewhat here I am too lazy to use it :(
    6 votes
  2. DataWraith
    Link
    I'm in the process of writing a parser for a programming language. The language was used in a 20 year old programming game, and I hope to eventually help the original author of the game with...

    I'm in the process of writing a parser for a programming language. The language was used in a 20 year old programming game, and I hope to eventually help the original author of the game with creating a modern version of it.

    The approach I'm using is based on Parser combinators.

    The idea behind parser combinators is, as the name suggests, combining parsers:

    You start with a single, simple parser any() that can either return the next character or error out if there is nothing left to parse.

    You can then recognize specific characters using the satisfy combinator that takes a predicate and returns a character only if it matches:
    function char(c) { return satisfy(any(), (char) => char === c); }

    You can then combine single characters into tokens using the sequenceOf combinator:
    function foo() { return sequenceOf([char("f"), char("o"), char("o")]); }

    Combinators like many and many1 are used for repetition (analogous to the * and + operators in regular expressions), and oneOf chooses between alternatives. That makes it straightforward to translate between a grammar and the implementation.

    Each function-layer you build up recognizes a more abstract concept than the ones below,
    and you eventually end up with a single function parsing the entire program.

    3 votes
  3. Apos
    Link
    I started this project today: https://github.com/Apostolique/MotivationTracker. The idea is to set a goal. Every day that you achieve that goal, you get to highlight the day. It makes for a simple...

    I started this project today: https://github.com/Apostolique/MotivationTracker.

    The idea is to set a goal. Every day that you achieve that goal, you get to highlight the day. It makes for a simple motivational daily wallpaper. I got my inspiration from this kickstarter project: https://www.kickstarter.com/projects/simonegiertz/the-every-day-calendar

    Right now my project looks like this (I randomly highlighted days): https://i.imgur.com/Fqt9qUG.png

    3 votes
  4. moocow1452
    Link
    I'm putting off my creative project with looking into a Box86 build for Android. https://github.com/ptitSeb/box86 It can be built within a 32bit Chroot for Android, and doesn't really complain, so...

    I'm putting off my creative project with looking into a Box86 build for Android.

    https://github.com/ptitSeb/box86

    It can be built within a 32bit Chroot for Android, and doesn't really complain, so that's promising, and all that would have to be figured out is pretty much everything else. I think the best bet for now is to start with the xSDL app and see what do.

    2 votes