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

6 comments

  1. [3]
    arqalite
    Link
    I achieved convergence. Today I can declare my Z Fold 4 as my only computing device (outside of work!). I can use it as a phone, unfold to use as a tablet, then connect via USB-C to a portable...

    I achieved convergence.

    Today I can declare my Z Fold 4 as my only computing device (outside of work!). I can use it as a phone, unfold to use as a tablet, then connect via USB-C to a portable monitor and keyboard (a lapdock is on the way, hopefully before Christmas) to use as a desktop computer. And I have two options, either use Samsung DeX and use the native Android apps, or head into an (almost) fully-featured Linux system using Termux, Debian and VNC (or Termux-X11 if I don't make music and I need 3D acceleration).

    There are layers, quirks and hacks involved, but it's usable, which I'm still amazed about.

    I can make music with Ardour (but by using PulseAudio over TCP/IP, dunno who invented that, but THANK YOU. Latency is crap, but I don't do recording so I am not affected by it that much).

    I can do software development pretty well, as long as I don't require hardware access that needs root (I will root my phone once the warranty drops though, so that will be fixed).

    I can game via Winlator or Box64Droid, but I've been a console gamer lately so I don't expect to use these anytime soon.

    I set up XFCE4 and it looks quite sexy, although I do miss GNOME. I don't have true transparency when using VNC which sucks, but if I need it I can switch to Termux-X11. Either way, I am pleased with how the UI looks.

    There were issues, but most are minor enough that I forgot about them. The notable ones are the ones you probably expected, like limited app compatibility. I made peace years ago with the fact that not all software is available for Linux. Well I now realized history repeats, but different - not all Linux software is available for arm64 architectures. Still, the Debian team did a stellar job ensuring the essential programs work, so I can't name a specific need that I haven't satisfied somehow.

    If some x64 and/or Windows program appears, I can most likely use the aforementioned Winlator and Box64Droid (and its dependency, Box64) to run it. But I'll always prioritize looking for FOSS options first. Unless they just don't want to compile on ARM.

    I was informed that proot (the tech that allows running Debian on Termux on Android) comes with a nasty performance impact, but besides Firefox tabs being a touch slower than I wanted, I don't really notice it. Seems like the Snapdragon 8 Gen 1 is quite the capable little chip. I haven't yet ran something horrifically intensive to actually see the performance impact, but unless it's work stuff, i never minded waiting for tasks to finish.

    Theoretically I said I'd test the entire month of December before commiting to it, but I already ordered a lapdock (Nexdock 360 Wireless for those interested) because I genuinely want to make it work (and because my mom pestered me to order a gift for myself since I didn't really want anything and she didn't know what to buy). I would love this future of having a single device for everything, and I feel we're close. At least close enough for nerds like me to get sucked in.

    Maybe Ubuntu Touch and Windows Continuum didn't die for nothing. :)

    5 votes
    1. [2]
      pete_the_paper_boat
      Link Parent
      :o Talk about using your device to its fullest potential. I'm surprised the hardware keeps up lol

      :o

      Talk about using your device to its fullest potential. I'm surprised the hardware keeps up lol

      1. arqalite
        Link Parent
        I'm also surprised, but honestly phone processors have gotten so good lately. Also I am privileged enough to own a flagship phone (this probably wouldn't work on a Galaxy A54 for example). I paid...

        I'm also surprised, but honestly phone processors have gotten so good lately. Also I am privileged enough to own a flagship phone (this probably wouldn't work on a Galaxy A54 for example). I paid for the whole phone, I will use the whole damn phone, haha.

        The phone does heat up like crazy sometimes (usually when doing a lot of file I/O, like installing a couple of gigs of packages) and I did notice some thermal throttling, but besides that, it's been solid.

        Also it's been way more reliable than expected when unplugging the USB-C and quickly switching back to phone mode. Samsung said we should expect tasks to close and lose unsaved work, but in my experience I am able to unplug, go make some coffee and scroll YouTube Shorts, then return to my desk and get right back to work. I did have to tinker with ADB to turn off the "phantom process killer" functionality of Android 13, that was probably what Samsung was talking about.

        1 vote
  2. eddielomax
    Link
    I made a thing that grabs the latest news headline, checks my calendars for any upcoming events, looks up if today is a holiday (happy Bill of Rights Day) or other day you might not celebrate...

    I made a thing that grabs the latest news headline, checks my calendars for any upcoming events, looks up if today is a holiday (happy Bill of Rights Day) or other day you might not celebrate (today, for example is both Esperanto Day and National Lemon Cupcake Day), pairs all of that with a random style, and then generates two images with DALL-E: one landscape, one portrait. I also always have the prompt include my cat Hobbes. I open sourced it if anyone wants to clone/experiment with it. It's made some really interesting and hilarious images.

    The code isn't very complicated-- it's basically using Python to generate prompts and images, and Javascript handles some UI controls for the webpage.

    For a desktop, you can use the arrow keys to go back and forward in time; hitting ? will show the day's prompt. You can also shrink your browser width and you'll see a portrait oriented image.

    For mobile, the controls are swiping left and right for history, and double tapping for the prompt. Flipping your phone sideways will reveal the other image.

    I have a home Ubuntu server kick off a cron job at midnight that generates images, writes the prompts to text files, then uploads them to S3. The web site is already pointing to the image and prompts, so the "deployment" is really just assets being uploaded to S3.

    Website here:
    https://aical.art

    Github here:
    https://github.com/ehamiter/aicalart

    2 votes
  3. akkartik
    Link
    A couple of weeks ago I published Lua Carousel, a tiny cross-platform programming tool for desktop and mobile systems. Since then I've been creating a little program with it every day that anyone...

    A couple of weeks ago I published Lua Carousel, a tiny cross-platform programming tool for desktop and mobile systems. Since then I've been creating a little program with it every day that anyone can paste into it. I'm doing this partly in search for bugs and partly to demonstrate activity for a tool I hope to update as little as possible.

    https://akkartik.itch.io/carousel/devlog

  4. Apos
    Link
    I finally took the time to improve my docs site generator: https://github.com/Apostolique/apos-docs. I now support generating a changelog page from the repo's root for example:...

    I finally took the time to improve my docs site generator: https://github.com/Apostolique/apos-docs.

    I now support generating a changelog page from the repo's root for example: https://apostolique.github.io/Apos.Input/changelog/.

    I also fixed outbound links that are actually within the docs site. For example, the documentation links on the front page used to be opened in a new tab: https://apostolique.github.io/Apos.Input/. I like to link absolutely to the docs site so that the GitHub repo brings people to the docs site: https://github.com/Apostolique/Apos.Input.

    It's nice to finally have those two features in. Docs feel seamless to work with when I work on various projects.