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

11 comments

  1. [5]
    Pistos
    Link
    Made a web app which lets me control a Roku device. Built with Python, Flask, and Vue. Runs on your local network, and autodetects any Roku device(s) found. Lets you press (send) all the main...

    Made a web app which lets me control a Roku device. Built with Python, Flask, and Vue. Runs on your local network, and autodetects any Roku device(s) found. Lets you press (send) all the main buttons on a standard physical Roku remote control, and (most importantly) lets you type "into" the Roku without needing to use the abominable, slow on-TV keyboard. i.e. you just type with your mobile phone, tablet or laptop with its own native keyboard. So much better for typing long email addresses, passwords, search terms, etc. Autodetects all installed Roku apps, and lets you launch any one with a single tap/click. i.e. you don't have to navigate the on-TV app icon pool with arrow buttons.

    Been happy with it so far, but one main UX issue is that it doesn't really work nicely with a phone that is set to lock screen automatically after a period of time. Whenever I wanted to use this app on my phone, I had to keep unlocking. I'll have to think about some solutions to this. (Other than, obviously, disabling the lock screen in the phone settings.)

    I'm aware that there's already a Roku app(s) in the main app stores, but they're closed source, and I'm planning to release my code under an open source licence.

    7 votes
    1. [4]
      joplin
      Link Parent
      You don't say which systems you're targeting, but on iOS you can call: [app setIdleTimerDisabled:YES]; to stop the device from sleeping or running the screensaver when your app is in the foreground.

      it doesn't really work nicely with a phone that is set to lock screen automatically after a period of time

      You don't say which systems you're targeting, but on iOS you can call:

      [app setIdleTimerDisabled:YES];
      

      to stop the device from sleeping or running the screensaver when your app is in the foreground.

      5 votes
      1. [3]
        Pistos
        Link Parent
        I only have Android devices, but thanks for the info. And, this isn't a native mobile app, it's just a web app that you visit in a browser. (Unless you're saying this can be called/set from...

        I only have Android devices, but thanks for the info. And, this isn't a native mobile app, it's just a web app that you visit in a browser. (Unless you're saying this can be called/set from Javascript in a browser?)

        6 votes
        1. CedarMadness
          Link Parent
          It looks like that's a future feature, there's a draft spec available here https://w3c.github.io/screen-wake-lock/#the-wakelock-interface And it seems like Chrome and Android Webview have some...

          It looks like that's a future feature, there's a draft spec available here
          https://w3c.github.io/screen-wake-lock/#the-wakelock-interface
          And it seems like Chrome and Android Webview have some support

          If you want a more compatible solution, there's also NoSleep.js, which uses a hidden video player to keep the screen from sleeping.

          5 votes
        2. joplin
          Link Parent
          Good question! I'll see if I can find out.

          Good question! I'll see if I can find out.

          4 votes
  2. [4]
    tindall
    Link
    This isn't really a programming project, but I just got 100rabbits ORCA working on my Pinebook Pro. I'm now looking to find a workable softsynth that will allow me to work on music on the go - the...

    This isn't really a programming project, but I just got 100rabbits ORCA working on my Pinebook Pro. I'm now looking to find a workable softsynth that will allow me to work on music on the go - the issue being that it basically has to be written in a systems language (to be fast) and open source (so I can compile it for ARM). I may end up writing one after Timasomo is over.

    5 votes
    1. [2]
      streblo
      Link Parent
      I'm sure there are plenty of tools available but depending on what you're looking for JUCE might be a decent choice for rolling your own VST3 plugins. It's written in C++ and provides a GUI...

      I'm sure there are plenty of tools available but depending on what you're looking for JUCE might be a decent choice for rolling your own VST3 plugins. It's written in C++ and provides a GUI framework driven through opengl. I'm not a DSP/audio person so not much help other than I know it exists. :P

      3 votes
      1. tindall
        Link Parent
        Thank you! I'm looking for something more on the order of 100r Pilot, since I don't use a DAW, but I should maybe look into the various FOSS DAWs out there.

        Thank you! I'm looking for something more on the order of 100r Pilot, since I don't use a DAW, but I should maybe look into the various FOSS DAWs out there.

        2 votes
  3. lonk
    Link
    Building an invitation system for the information sharing website (mentioned here). Getting some inspiration from Tildes. In addition to single-use invite codes it will have multi-use codes. For...

    Building an invitation system for the information sharing website (mentioned here). Getting some inspiration from Tildes. In addition to single-use invite codes it will have multi-use codes. For example, up to 100 users could register using the same code.

    I'm using Firebase Authentication and I want to explore the Anonymous auth option to let new users give it a try before signing in with email.

    3 votes
  4. Gyrfalcon
    Link
    At work I've been diving into typemaps for SWIG. We have a big C/C++ struct that we want to get into Python, where we can define parameters for simulations we want to run. Unfortunately, on an...

    At work I've been diving into typemaps for SWIG. We have a big C/C++ struct that we want to get into Python, where we can define parameters for simulations we want to run. Unfortunately, on an older project that didn't use our current sim architecture, someone made the struct hold an array of a custom type, which means that SWIG needs help doing the conversion. This isn't going terribly well, especially since I wanted to use Python named tuples to go to and from the conversion, and the C API for those is a little bit broken in the version of Python we are using and won't be fixed. If all else fails, I think I can just rearrange the struct, but that would be a lot of work elsewhere so I was trying to avoid it.

    At home I have my project for Timasomo, which is an article for my personal website comparing the environmental impact of artificial vs natural Christmas trees, and a bit of healthy speculation as to how those impacts could be reduced.

    I've also been toying with quantitative finance, something I think I mentioned here previously. I think I have decided I am going to stick with the foreign exchange markets, since if that is something I find a winning system for, I can always throw $25 at it and see what it does, whereas with equities or options the barrier to entry is a bit higher. I am wondering how exactly I should store price data for this, but I'll put that over on the questions thread.

    2 votes