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

15 comments

  1. [5]
    Nepenthaceae
    Link
    I was making a little game in a browser but when I sent it to a colleague of mine he suggested some really basic jquery examples of how to make my code simpler and smoother. I got so overwhelmed...

    I was making a little game in a browser but when I sent it to a colleague of mine he suggested some really basic jquery examples of how to make my code simpler and smoother. I got so overwhelmed even by the simple stuff he sent me I quit... Maybe I'll start again someday, but I didn't want to get into it.

    4 votes
    1. [4]
      unknown user
      Link Parent
      I think you should start again. I'm not to diminish your distress, but the best way to work through it is to work through it. Make stuff: in your case, the game itself. Don't let discomfort and...

      I think you should start again. I'm not to diminish your distress, but the best way to work through it is to work through it. Make stuff: in your case, the game itself. Don't let discomfort and confusion overpower your creative drive.

      5 votes
      1. [3]
        Nepenthaceae
        Link Parent
        Thanks! I laughed a little when I saw your comment about the game you made xD seems like we were in the same boat. I've had a lot on my mind lately and I think that's why I quit. As soon as I fix...

        Thanks! I laughed a little when I saw your comment about the game you made xD seems like we were in the same boat.

        I've had a lot on my mind lately and I think that's why I quit. As soon as I fix my shit, I'll try again.
        I find it hard to manage my free time sometimes...

        Cool game man. Very clean. I'm gonna use your code as an example!

        2 votes
        1. [2]
          unknown user
          Link Parent
          That's alright. Sometimes we do that 'cause life is tough and we're not made of metal. I hope you do well in your creative endeavors. Thank you. NO DONT For your own sanity, don't rely on it. It's...

          I've had a lot on my mind lately and I think that's why I quit.

          That's alright. Sometimes we do that 'cause life is tough and we're not made of metal. I hope you do well in your creative endeavors.

          Cool game man. Very clean.

          Thank you.

          I'm gonna use your code as an example!

          NO DONT

          For your own sanity, don't rely on it. It's not terrible – a novice might learn a few tricks from it – but it's not something I'd use to show how to code. There are crude parts in there that make me cringe, and I wrote the damn thing.

          Maybe you should use it to see how not to do certain things. :)

          3 votes
          1. Nepenthaceae
            Link Parent
            Thanks! If I ever get anything done, maybe you'll see it here!

            Thanks! If I ever get anything done, maybe you'll see it here!

            3 votes
  2. [3]
    slambast
    Link
    I made a self-hostable web app to act as a personal journal. It's pretty simple, with the fancy exception of local encryption—when configured, the plaintext of your entries will never be sent to...

    I made a self-hostable web app to act as a personal journal. It's pretty simple, with the fancy exception of local encryption—when configured, the plaintext of your entries will never be sent to whatever server it's running on, but can still be accessible on multiple devices. The project code is here: https://github.com/olafal0/pjournal

    Instructions for running it locally Required: go and parcel-bundler (i.e. `npm i -g parcel-bundler`).

    Clone the repo, cd into it, and:

    cd web
    parcel build index.html
    cd ../server
    go build && ./server
    

    Then just open up localhost:8000 in a browser.

    Alongside that, I've also been working on a Go module that I've made over the course of several projects that makes it much easier to cobble together JSON APIs: dispatch. Its killer feature is that you don't need to handle JSON marshalling and unmarshalling, routing, path variables, etc; just call api.AddEndpoint("GET/some/{pathvar}", foo), where foo is a function that basically takes anything and returns anything. It'll Just Work (thanks to a lot of behind-the-scenes reflection magic). Path variables will be extracted automatically. IMO it works really well, at least for a narrow set of usecases.

    https://github.com/flick-web/dispatch

    4 votes
    1. [2]
      unknown user
      Link Parent
      You never asked, but: Material Design is not for journaling. It's barely fitting for public consumption. You can make your app more accessible by adding a little personal touch: like, changing...

      You never asked, but:

      Material Design is not for journaling. It's barely fitting for public consumption. You can make your app more accessible by adding a little personal touch: like, changing your title font (the font you use for both the app name on the page and notes' titles) to one that's handwritten and eligible.

      I'm assuming you're going for a more personal style 'cause you call it a "journal" – not a "notes app", not a "snippet app", and not an "outliner". Journals are meant to be storage of personal thoughts. They could be used for code snippets, but it's not what a journal associates with immediately.

      Also, slightly lower contrast between the background and the foreground elements (while keeping your current background light gray) would serve the note-taking process well. High contrast is for presentations unless you have vision impairment, and I'm assuming you have none 'cause Occam's razor.

      Which isn't to say you shouldn't be congratulated for publishing the app. I'm only looking for flaws 'cause that's what I do best. I've always wanted a note-taking app made entirely by myself, and I'm a little jealous. Nice work! Hope it does well.

      1 vote
      1. slambast
        Link Parent
        I can't disagree with you there, I'm sure it would rate terribly on how personal/warm/welcoming it feels :) but the fact is, I really just made this for myself, and I'm used to the whole dark...

        I can't disagree with you there, I'm sure it would rate terribly on how personal/warm/welcoming it feels :) but the fact is, I really just made this for myself, and I'm used to the whole dark mode/high contrast life. The material design part is because I was already familiar with materialize-css; I don't love it either, but it was the easiest and fastest way to get something that looked better than plain text.

        I appreciate the feedback though, I've considered moving away from materialize and this might just be the push I need. Thanks!

        2 votes
  3. joplin
    Link
    I'm curious how people approach debugging here? Do you do a lot of it? I ask because I have about 150 pages of a book on debugging written, but I'm struggling to figure out whether it would ever...

    I'm curious how people approach debugging here? Do you do a lot of it? I ask because I have about 150 pages of a book on debugging written, but I'm struggling to figure out whether it would ever be worth finishing. (In this case the book is specific to macOS/iOS development with Xcode, but I'm interested to hear other perspectives.) I've read books on debugging in the past and found them enormously helpful. But I don't hear a lot of developers talking about debugging in general, so I don't know if there's a market for such a book.

    So if there were a book about debugging for the type of development you do, would you have an interest in reading it?

    4 votes
  4. [5]
    unknown user
    Link
    I made a game. The goal was to make something to combat my depression at the time: something quick and simple to stave off the creeping feeling of apathy. Turned out, people liked it! That felt...

    I made a game. The goal was to make something to combat my depression at the time: something quick and simple to stave off the creeping feeling of apathy. Turned out, people liked it! That felt very good. Now I'm considering to making something better of it. Suggestions on code and CSS are welcome.

    Mostly, though, still working on Cataclysm mods: slowly adding content and "new" mechanics (conceptually rather than entirely new). With the release of the next stable version of the game, almost a year in the making, I figured it's high time to suggest some of the features I thought would be neat for the game. Features that are by no means simple, but ones that I feel are worth implementing. Not modding per se, but... let's consider game design a technical project, shall we?

    None of the features are probably going to find their way into the game, but I'll be damned if I don't write them up.

    2 votes
    1. [2]
      Comment deleted by author
      Link Parent
      1. unknown user
        Link Parent
        Keypad?! Something I haven't considered because my laptop doesn't have one. Interesting idea. I'll consider it. So far, I was thinking of allowing to adjust length and time separately: it enables...

        With numbers it was also lots of fun using the keypad.

        Keypad?! Something I haven't considered because my laptop doesn't have one.

        a log of the time each password took would be nice

        Interesting idea. I'll consider it.

        Adjustable password length would be nice, although then you might have to scale the available time with it too and that might be a little too complex.

        So far, I was thinking of allowing to adjust length and time separately: it enables different sorts of pacing and challenge instead of locking the player into a certain mode. This seems like the best approach so far. I'm open to suggestions, though.

        One CSS improvement I'd love to see is to make the progress-bar less "jumpy"

        Definitely something I want to get to.

        The reason it's so jumpy is because it's a result of a compromise. When I tested a more regular approach to adjusting the countdown bar, on my machine it simply wouldn't register visually: the width value would go down, and the timer would expire, but the countdown bar itself would only change from somewhere like 95% to 0% visually once the time is up.

        Changing the frequency of updates and adding an easing animation (which is what causes the jumpiness) to it was a quick and dirty solution. I'd like to find a method that works smoothly without requiring workarounds on all machines, especially my weak one.

        a list of actual words to use for passwords instead of random characters would be neat.

        That's a typing trainer, no?

        3 votes
    2. [3]
      cfabbro
      (edited )
      Link Parent
      The ability to set your own pace for the typing game would be pretty cool, IMO. You could even maybe do an initial calibration test to determine people's average typing speed, then have the game...

      Suggestions on code and CSS are welcome.

      The ability to set your own pace for the typing game would be pretty cool, IMO. You could even maybe do an initial calibration test to determine people's average typing speed, then have the game set to be 0.X% faster per round until the person fails. And if you wanted to really go nuts, adding some sort of roguelike or clicker-game progression mechanics to it could also be fun.

      2 votes
      1. [2]
        unknown user
        Link Parent
        I can see how this could work. Being able to adjust the pace by 0.25s – not too granular as to be confusing yet still meaningful – could be interesting, both as a game mechanic and as a code...

        The ability to set your own pace for the typing game would be pretty cool, IMO.

        I can see how this could work. Being able to adjust the pace by 0.25s – not too granular as to be confusing yet still meaningful – could be interesting, both as a game mechanic and as a code challenge.

        You could even maybe do an initial calibration test to determine people's average typing speed

        How do you figure this should work, in broad terms?

        then have the game set to be 0.X% faster per round until the person fails

        That sounds like "Sudden Death mode" to me. Interesting idea.

        And if you wanted to really go nuts, adding some sort of roguelike or clicker-game progression mechanics to it could also be fun.

        That sounds like a separate game.

        2 votes
        1. cfabbro
          (edited )
          Link Parent
          Other similar typing type games/tools I have seen run you through a bunch of sample sentences or paragraphs in order to determine average typing speed. E.g. "The quick brown fox jumps over the...

          How do you figure this should work, in broad terms?

          Other similar typing type games/tools I have seen run you through a bunch of sample sentences or paragraphs in order to determine average typing speed. E.g. "The quick brown fox jumps over the lazy dog."

          That sounds like a separate game.

          Yeah, I figured that was a bit much and not really the intent of your project, but I still think it could be a neat idea so thought it was worth throwing out there. :P

          2 votes
  5. Apos
    Link
    I started this new project: https://github.com/Apostolique/Texo I've been meaning to do that project since 2013. My goal is to create a music composition algorithm that is similar in nature to...

    I started this new project: https://github.com/Apostolique/Texo

    I've been meaning to do that project since 2013. My goal is to create a music composition algorithm that is similar in nature to Milton. https://github.com/serge-rgb/milton

    It's coded in MonoGame.

    Main features I want will be infinite canvas with zoom, pan, rotation. Midi input and output. And ability to generate music sheets.

    2 votes