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

5 comments

  1. dblohm7
    Link
    I have spent the last few months essentially shaving yaks so that I can turn on multiple content processes in Firefox for Android. I actually had it turned on for a while on November but then had...

    I have spent the last few months essentially shaving yaks so that I can turn on multiple content processes in Firefox for Android. I actually had it turned on for a while on November but then had to run it off again when a new bug turned up. (Aside: The new Firefox for Android already runs in a multiprocess configuration, but only with a single child process for hosting web content -- this project is specifically about scaling up the number of content processes.)

    Basically I've had to do a lot of troubleshooting and debugging to track down test failures and bug reports that only reproduce on multi-process Android. I've also had to spend time engaging with various Gecko teams to ensure that they are acceptably prioritizing the fixes for these failures.

    Touch wood, I think we've finally got an acceptable fix ready to go for the final known blocker and I'll soon be able to turn multiple content processes on again. This is important prerequisite work that will allow us to significantly improve our sandboxing and site isolation over the course of 2021.

    11 votes
  2. [3]
    Ember
    Link
    Been writing a blog in .NET 5 & SQL. Experimenting with making the data immutable so you only ever INSERT and SELECT into the underlying tables. The queries get pretty funky though, because you...

    Been writing a blog in .NET 5 & SQL. Experimenting with making the data immutable so you only ever INSERT and SELECT into the underlying tables. The queries get pretty funky though, because you have to do a lot of date comparisons to tell what's the latest revision.

    5 votes
    1. [2]
      Deimos
      Link Parent
      If you're not trying to be exceptionally strict with the immutability concept, it could be a lot simpler to do something like use a trigger to just set a simple boolean flag on the latest revision...

      If you're not trying to be exceptionally strict with the immutability concept, it could be a lot simpler to do something like use a trigger to just set a simple boolean flag on the latest revision (and remove it from the previous one). There are probably some other options too, like using a view that only includes the latest ones, so that makes querying much simpler since it would only contain the ones you want.

      5 votes
      1. Ember
        Link Parent
        Yeah I've landed on using views for now. One view represents the latest version of each concept (Post, Category, etc.), and then I can JOIN them together for lookups. I haven't worked with...

        Yeah I've landed on using views for now. One view represents the latest version of each concept (Post, Category, etc.), and then I can JOIN them together for lookups. I haven't worked with triggers yet so I was a bit shy to use them. Though I can see some performance improvements down that path... maybe have an ETL to copy immutable data into a flattened table for faster SELECTs.

        5 votes
  3. meerific
    (edited )
    Link
    I built Typical: typing practice/copywork in the terminal. It's based on Typing.io, Typelit, and the results of a paper about typing practice as a learning tool and to improve programming ability....

    I built Typical: typing practice/copywork in the terminal.

    It's based on Typing.io, Typelit, and the results of a paper about typing practice as a learning tool and to improve programming ability. The online platforms look interesting, but I'd rather work in the terminal. I saw some related projects on GitHub, in addition to the much-loved GNU Typist, but I wanted a straightforward way to practice typing out custom files and projects.

    I wrote Typical in Rust. I don't know Rust, but I read HackerNews so I know it's the greatest programming language of all time.

    Joking aside, Rust's website says it's good for building command-line apps.

    The current version provides visual feedback, i.e. correct letters turn green and incorrect letters turn red. It has a typewriter-like layout, meaning your current line stays in the middle of the screen and other lines scroll up and down. I plan to add in statistics like time to completion, # of backspaces, % correct, etc.

    5 votes