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?

7 comments

  1. Apos
    Link
    I finally got my space optimization algorithm to support all the features I wanted. I managed to add negative areas. Essentially, it prevents the rectangles to overlap the red areas. It's so...

    I finally got my space optimization algorithm to support all the features I wanted. I managed to add negative areas. Essentially, it prevents the rectangles to overlap the red areas. It's so satisfying to play with it.

    For my game's pathfinding, this means I'll be able to modify the walkable path at runtime. I'll also be able to add or remove walls.

    4 votes
  2. [3]
    krg
    Link
    Been working my way through this Docker+(NodeJs+Express) tutorial on Youtube (~2.5hrs through). I like the way it's presented, starting with the "hard" way first before moving on to other tooling...

    Been working my way through this Docker+(NodeJs+Express) tutorial on Youtube (~2.5hrs through). I like the way it's presented, starting with the "hard" way first before moving on to other tooling (mainly docker compose) that somewhat makes things more efficient/simple. I think knowing when to set up volumes for certain things (for example, for this simple app... if I wanted a folder/subfolder structure for assets like CSS, JS, images, etc.. would that need to be in its own volume?) and how to ensure there's a clean divide between development/production environments is gonna take me a while to fully grasp, but this tutorial has been pretty good, so far.

    Question: do those of you more familiar with Docker... would you say it's worth it to start projects with a "containerized-first" mindset? Seems like it makes things a bit more easily reproducible with the caveat that setting those things up creates a bit more friction.

    2 votes
    1. Chrozera
      Link Parent
      I agree with containerized first, but you don't necessarily need to build it as microservices from the start. As long as there is good separation and it is built so components can later easily be...

      I agree with containerized first, but you don't necessarily need to build it as microservices from the start.
      As long as there is good separation and it is built so components can later easily be pulled out.

      1 vote
    2. dedime
      Link Parent
      I use Docker a lot, but I tend to take a pragmatic approach to it. e.g., If I'm developing a desktop app, I typically don't worry too much about Docker, other than perhaps compilation (build in...

      I use Docker a lot, but I tend to take a pragmatic approach to it. e.g., If I'm developing a desktop app, I typically don't worry too much about Docker, other than perhaps compilation (build in Docker + docker cp resulting binary to destination). Otherwise, I do tend to build with Docker in mind. If I think I might eventually want to use the software as a container, I just make sure I use a good software architecture so I'm not shooting myself in the foot later. If I know the software is going to be used primarily as a container, I write the software POC first and get it working in a container almost immediately, and I use that going forward for testing / building.

      1 vote
  3. admicos
    Link
    I made gitserv a couple days ago. It's a thing that lets you view the contents of Git repos as static websites. The only difference between this and pointing a web server into a folder is that...

    I made gitserv a couple days ago. It's a thing that lets you view the contents of Git repos as static websites.

    The only difference between this and pointing a web server into a folder is that this supports "bare" git repositories. They are essentially the same thing as just the inside of the ".git" folder in normal repositories, and are used by all of the Git server software I know of.

    2 votes
  4. dblohm7
    Link
    I'm working on getting COOP+COEP and SharedArrayBuffer enabled on Firefox for Android. I only have it enabled on Nightly for now, as there are some bugs that need to be ironed out before we can...

    I'm working on getting COOP+COEP and SharedArrayBuffer enabled on Firefox for Android. I only have it enabled on Nightly for now, as there are some bugs that need to be ironed out before we can let it ride to release.

    2 votes
  5. DaveJarvis
    Link
    Creating a library to convert straight single and double quotes to curly quotes and apostrophes in English text. First approach was regex. Second approach was an ANTLR grammar. Third approach was...

    Creating a library to convert straight single and double quotes to curly quotes and apostrophes in English text. First approach was regex. Second approach was an ANTLR grammar. Third approach was Stanford's NLP. Third approach was a PEG parser. Fourth approach was an Earley parser. Although a Probabilistic Earley Parser or the NLP could work, the Java implementations are either lacking or rather bloated for this problem. There is a Java library that implements Gruber's SmartyPants, but SmartyPants is regex-based and doesn't handle a few unambiguous cases that could be solved.

    The latest approach implements a custom lexer and parser to emit curled quotes for a given text block. Algorithmic suggestions welcome! Consider this passage:

    But I must leave the proofs to those who 've seen 'em;
         But this I heard her say, and can't be wrong
         And all may think which way their judgments lean 'em,
         ''T is strange---the Hebrew noun which means "I am,"
         The English always use to govern d--n.'
    

    I'm pretty sure that the single quotes and apostrophes can be resolved unambiguously in such cases, although the rules may take some ironing to get right.

    The ultimate goal is to integrate this with KeenWrite so that generating PDFs will include the correct curl on quotes most of the time (and alert the user when ambiguities cannot be resolved).

    2 votes