11 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. skybrian
    Link
    I’m still figuring out how best to implement performance speedups for repeatTest. I’m dissatisfied with the direction I took with pipelining. A downside to a continuation-based design is that the...

    I’m still figuring out how best to implement performance speedups for repeatTest. I’m dissatisfied with the direction I took with pipelining. A downside to a continuation-based design is that the framework doesn’t see intermediate values. Instead I’ll try recording and playing back calls to the pick function to avoid a full rebuild. I will likely delete some code, but the refactoring I did is still an improvement.

    4 votes
  2. 1338
    Link
    I've been working on a project I call tilegroxy for the past few months. Use case is basically for when you're building a mapping application and pull map layers from multiple sources, this acts...

    I've been working on a project I call tilegroxy for the past few months. Use case is basically for when you're building a mapping application and pull map layers from multiple sources, this acts as a proxy/cache/auth/privacy layer in the middle. You probably wouldn't ever use this tool by itself but use it when you have a geospatial heavy application to go along with it.

    Recently I've been working on a website for it. The tool is meant to be a swiss-army knife so the configuration can be fairly complex and needs a good reference page to be usable. I have the documentation built up using antorra to read asciidoc files in the repo itself and publish as a website. That's hosted in Cloudfront backed by S3 as a static site. I've also stood up a demo deployment of tilegroxy via a (cheap, underpowered) OVH kubernetes cluster so I can add some live examples to the site. The front-end of the demos is using eleventy for templating and maplibre for the map.

    Given this tool is meant to be mainly a middleman, coming up with the demos has been tricky. But I added in a "provider" that pulls MVT tiles from Postgis and used that to make my first demo which shows USA counties over time. I'm thinking of doing a second demo that takes post-storm aerial imagery from NOAA, combines them together and maybe tweaks them. I'd love to make a demo that shows its auth capabilities but I'm not sure how to do that without making a whole other app.

    3 votes
  3. Wulfsta
    Link
    Following up on my last post, I managed almost four times speedup for Klipper on the same70. Here is the change. Figuring out the DMA hardware was a massive pain. Next I might get the LIS3DH...

    Following up on my last post, I managed almost four times speedup for Klipper on the same70. Here is the change. Figuring out the DMA hardware was a massive pain.

    Next I might get the LIS3DH working over I2C so my toolboard has a functioning accelerometer.

    3 votes
  4. thismachine
    Link
    I've been building 📺 Cast Control, a cross-platform app for controlling Chromecasts, Roku, Fire TV, etc from your computer. It's based on my open source project here. I'm also trying to get NXP's...

    I've been building 📺 Cast Control, a cross-platform app for controlling Chromecasts, Roku, Fire TV, etc from your computer. It's based on my open source project here.

    I'm also trying to get NXP's PN548 NFC reader working on Linux. There's a fork of libnfc that looks like it supports the hardware, but it's going to need some poking at to get working correctly using my hardware configuration.

    3 votes
  5. DaveJarvis
    (edited )
    Link
    Two related projects: KeenWrite, a FOSS destktop Markdown editor that can export to plain text, XHTML or PDF files. Recently added automatic curling of straight quotes to the preview panel....

    Two related projects:

    • KeenWrite, a FOSS destktop Markdown editor that can export to plain text, XHTML or PDF files. Recently added automatic curling of straight quotes to the preview panel.
    • NotaNexus, a collaborative PDF annotation editor that stores annotations in flat JSON files on the server. This ties into KeenWrite in that once a PDF file is created, it'll provide a way for readers to offer feedback.

    NotaNexus doesn't have any functionality, it's more sussing out feasibility at this stage. Nearly all the code was generated using a GPT. Screen shot showing a PDF rendered in the browser using PDF.js: https://i.ibb.co/H7Q7N6s/pdfjs-viewer.png

    3 votes
  6. xk3
    Link
    Taking some inspiration from Spanish writer and watchmaking enthusiast Javier Gutiérrez Chamorro, the past couple days I added a small wrapper script around a couple of my existing FFmpeg and...

    Taking some inspiration from Spanish writer and watchmaking enthusiast Javier Gutiérrez Chamorro, the past couple days I added a small wrapper script around a couple of my existing FFmpeg and ImageMagick wrapper scripts. This will skip files that are unlikely to be reduced much more and it starts with files with the most bloat first:

    $ pip install xklb
    $ library fsadd --video video.db ~/Videos/
    $ library shrink --invalid --no-valid video.db --delete-unplayable
    media_key    current_size    future_size    savings    processing_time
    -----------  --------------  -------------  ---------  -----------------------
    Video: ts    65.2 GiB        37.3 GiB       28.0 GiB   2 days and 14 hours
    Video: vob   59.3 GiB        33.9 GiB       25.4 GiB   2 days and 8 hours
    Video: m2ts  13.2 GiB        7.6 GiB        5.7 GiB    12 hours and 32 minutes
    Video: mp4   4.9 GiB         2.8 GiB        2.1 GiB    4 hours and 37 minutes
    Video: mkv   29.3 MiB        16.7 MiB       12.6 MiB   4 minutes and 6 seconds
    Video: dat   1.5 MiB         879.9 KiB      659.9 KiB  6 seconds
    
    Estimated processing time: 5 days and 15 hours
    Estimated savings: 61.2 GiB
    Proceed? [y/n] (n): 
    

    And I plan to add support for a few more things like turning table data into Zstd compressed Parquet, image heavy PDFs into AVIF, and text PDFs into ePUB (or maybe markdown+extracted image AVIF)

    1 vote