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

13 comments

  1. [3]
    polle
    Link
    Making slow but steady progress on the JSON API for tildes. Today I added the endpoint to get comments for a topic

    Making slow but steady progress on the JSON API for tildes. Today I added the endpoint to get comments for a topic

    10 votes
    1. [2]
      Cock
      Link Parent
      Fantastic! Any ideas for how you are going to host it? How does it work?

      Fantastic! Any ideas for how you are going to host it? How does it work?

      2 votes
      1. polle
        Link Parent
        Tildes will host it :) This beautiful website is open source, so I am contributing my time to write the code for the API. This will then be reviewed and if approved, will become part of the...

        Tildes will host it :) This beautiful website is open source, so I am contributing my time to write the code for the API.

        This will then be reviewed and if approved, will become part of the website in a little while

        8 votes
  2. DistractionRectangle
    Link
    I picked up a remarkable 2 tablet for a song, but it's locked. It's been a long time since I've soldered anything, but it looks like the jigs required to reflash the remarkable 2 are simple...

    I picked up a remarkable 2 tablet for a song, but it's locked. It's been a long time since I've soldered anything, but it looks like the jigs required to reflash the remarkable 2 are simple enough. I've just put in the parts order, and that'll show up in a week or so and we'll see how that goes!

    6 votes
  3. skybrian
    Link
    I’m up to seven keys on my musical keyboard project (without any electronics) and it feels pretty good. I’m thinking of going to 12 keys soon, just short of an octave.

    I’m up to seven keys on my musical keyboard project (without any electronics) and it feels pretty good. I’m thinking of going to 12 keys soon, just short of an octave.

    5 votes
  4. [2]
    joshbuddy
    Link
    I made a fun little word game with my brother last week. If you like a challenge, give it a go. https://coffeetime.games/unzip

    I made a fun little word game with my brother last week. If you like a challenge, give it a go.

    https://coffeetime.games/unzip

    4 votes
    1. jmpavlec
      Link Parent
      Looks like fun but on mobile it was very confusing for me as I couldn't see there were quite a few more letters off to the right. The tutorial confused me as I was wondering where the words were...

      Looks like fun but on mobile it was very confusing for me as I couldn't see there were quite a few more letters off to the right. The tutorial confused me as I was wondering where the words were coming from since I couldn't see half the letters. Perhaps shrink it or recommend playing in landscape when the width is small?

      The tutorial text is also off to the right and not visible in the default view.

      Edit: after trying again, I was able to "zoom out" when grabbing from a specific part of the screen, maybe it's possible to set that as the default zoom for mobile? For reference, using latest Chrome and Android.

      3 votes
  5. [5]
    xk3
    (edited )
    Link
    I saw this old feature request for one-way/one-time sync in Syncthing and I wanted to play around with the Syncthing API so I made a small script to delete files from the source device after they...

    I saw this old feature request for one-way/one-time sync in Syncthing and I wanted to play around with the Syncthing API so I made a small script to delete files from the source device after they are uploaded to at least one other node.

    I guess the most interesting part is that the API response of db/file?folder provides information about both the latest local and the latest global file. Very convenient! That's all I learned really... it is a pretty simple script.

    The funnest part about making it was testing out different scenarios between my computer and phone and developing an intuition for when/why Syncthing overwrites files.

    edit:

    Another thing that I just made is perhaps a bit more interesting. I made a script to move folders based on the file extensions of files inside. This script is limited in that it expects independent folders to have the same depth. There is also no preview system so tread carefully!

    I was struggling to think how to choose the root folder for --depth processing. I was thinking I might need to start from the mountpoint but then it hit me--I can just count back up:

    parent = os.path.dirname(folder)
    for _ in range(args.depth):
        parent = os.path.dirname(parent)
    

    It seems obvious in retrospect. After experimenting it works really well... but I also added a --destination flag which overrides this bit of magic. Both options are useful!

    3 votes
    1. [4]
      first-must-burn
      Link Parent
      It looks like you have guards against this, but I was imagining files slowly bouncing around between your devices and you never knowing where the file is at any moment. Sort of a quantum file.

      I saw this old feature request for one-way/one-time sync in Syncthing and I wanted to play around with the Syncthing API so I made a small script to delete files from the source device after they are uploaded to at least one other node.

      It looks like you have guards against this, but I was imagining files slowly bouncing around between your devices and you never knowing where the file is at any moment. Sort of a quantum file.

      2 votes
      1. [3]
        xk3
        (edited )
        Link Parent
        A file that only exists within the tubes. The fibers of the internet as the hard drive... I suppose you could create a second Send-Only folder and a second script (on both nodes) to mv new files...

        Sort of a quantum file

        A file that only exists within the tubes. The fibers of the internet as the hard drive...

        I suppose you could create a second Send-Only folder and a second script (on both nodes) to mv new files into the first Send-Only folder completing the loop. If you wanted more computers in the loop, keep adding additional Send-Only folders to complete the topology

        I was imagining files slowly bouncing around between your devices and you never knowing where the file is at any moment

        Ah but you have described the normal Syncthing experience! /s

        Just kidding... Syncthing is mostly state-of-the-art. 95% of the time...

        1. zestier
          Link Parent
          reminded me of video about that premise: https://www.youtube.com/watch?v=JcJSW7Rprio. I recall it being about storing data in transit by sending data to be echoed at to the furthest servers...

          A file that only exists within the tubes. The fibers of the internet as the hard drive...

          reminded me of video about that premise: https://www.youtube.com/watch?v=JcJSW7Rprio. I recall it being about storing data in transit by sending data to be echoed at to the furthest servers possible to maximize transit time.

          I'm confident that's the right creator, but it's possible that's the wrong video. I think that's the right one though.

          2 votes
        2. first-must-burn
          Link Parent
          I'm safety engineer. My license plate is 1e-9prhr which is a reference to the reliability target for commercial aviation - fewer than one critical failures in a billion operating hours, which is...

          95% of the time...

          I'm safety engineer. My license plate is 1e-9prhr which is a reference to the reliability target for commercial aviation - fewer than one critical failures in a billion operating hours, which is meant to be the operating lifetime of the whole fleet of a particular model of plane.

          1 vote
  6. IsildursBane
    (edited )
    Link
    Finally finished the redesign of my case for my audio player project, so sent that off to my friend to print. I was able to reduce the thickness of the overall device by another few millimetres so...

    Finally finished the redesign of my case for my audio player project, so sent that off to my friend to print. I was able to reduce the thickness of the overall device by another few millimetres so that is nice. I also had access to some digital calipers for measuring components, so hopefully everything lines up properly this time.

    I also noticed today that my portfolio website has an issue and is not rendering properly. My portfolio website is just a static page hosted via github pages, so there is not too much to troubleshoot. My suspicion is that a CDN for either bootswatch or bootstrap is down. It should be a relatively easy fix, just haven't put too much effort into troubleshooting yet.

    Edit: It appears that my portfolio website issue resolved itself. My guess is still an issue with the CDN, so I will probably try and get the bootstrap files to be a part of the repo.