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

13 comments

  1. Liru
    Link
    After having to deal with a lot of things ancillary to a new job, I've finally decided to start working on something I've been wanting to do for literal years but never got around to yet: a booru,...

    After having to deal with a lot of things ancillary to a new job, I've finally decided to start working on something I've been wanting to do for literal years but never got around to yet: a booru, written using Elixir/Phoenix and other miscellaneous technologies. Still a lot of things that need to be decided, such as things regarding scope, modern tech, and the like, but I figure that I can worry about those parts if/when I get to them.

    4 votes
  2. [5]
    suspended
    Link
    I'm learning Ruby on Rails. So, I've been practicing by following application tutorials through The Odin Project. Once I feel comfortable, after possible months of learning, I'll start building a...

    I'm learning Ruby on Rails. So, I've been practicing by following application tutorials through The Odin Project.

    Once I feel comfortable, after possible months of learning, I'll start building a web application from scratch.

    3 votes
    1. [3]
      markh
      Link Parent
      Have you looked into Michael Hartl’s Rails Tutorial? It’s a really great, free resource for learning Rails and building a full project!

      Have you looked into Michael Hartl’s Rails Tutorial? It’s a really great, free resource for learning Rails and building a full project!

      1 vote
      1. [2]
        suspended
        Link Parent
        How would I access the 'free' part?

        free resource

        How would I access the 'free' part?

        1 vote
        1. cfabbro
          Link Parent
          As far as I can tell, access to the 6th Edition requires payment, but you can read 4th Edition for free: https://www.learnenough.com/ruby-on-rails-4th-edition-tutorial/beginning p.s. Apparently...

          As far as I can tell, access to the 6th Edition requires payment, but you can read 4th Edition for free:
          https://www.learnenough.com/ruby-on-rails-4th-edition-tutorial/beginning

          p.s. Apparently there is no 5th Edition.

          2 votes
  3. emdash
    Link
    Business development continues to hum along on one of our applications. Now a lot of the technical grit is out of the way, i.e. authentication is all working, I'm happy with most of the user...

    Business development continues to hum along on one of our applications. Now a lot of the technical grit is out of the way, i.e. authentication is all working, I'm happy with most of the user management functionality, and the bits of less important security have been deferred to a point closer to beta testing, I'm really pumping out large amounts of business functionality.

    I'm still getting settled in but the process appears to work well so far:

    1. Pop a development task from the app roadmap (which is a priority queue). These are pretty small, bite-size chunks of work that can usually be completed in a few hours or days. It might be "complete this page", "make sure user can do x", etc.
    2. Set up an appropriate timebox (6 hours, due on 28 December) that is both realistic, but also forces me to work quickly.
    3. Disable any distracting apps (twitter, fb, insta), and start a timer that matches the timebox duration.
    4. Scaffold any tests that should containerise the scope of functionality for the development task; even if I don't get them fully written, the test names are noted down and I can fill them out at a later date.
    5. Write any API endpoints that is needed for the chunk of functionality to work, and then test them for correctness using Paw.
    6. Develop the clientside functionality and UI to interface with the server. Often I'll find I need to go back to a prior step and tweak things slightly here.
    7. Done! Back to step 1.

    It's super stressful, knowing my future income depends on this working; but pragmatically it's not worth worrying about at this moment. My biz partner is working the sales & marketing side and we might have some customers in the pipeline who can beta test the product—which is on track for February/March.

    3 votes
  4. [4]
    ThatFanficGuy
    Link
    Almost done with Intergrid. Promised I would release it before New Year, and so I will. Quite a few features will be missing, but at least you'll be able to use it. Once it's up and functional,...

    Almost done with Intergrid. Promised I would release it before New Year, and so I will. Quite a few features will be missing, but at least you'll be able to use it.

    Once it's up and functional, I'll make a post on Tildes.

    Also considering open-sourcing it. What are the reputable Git platforms, à la GitHub and Gitlab? What are the things to consider when hosting source code to those platforms, for someone who's never done it before?

    3 votes
    1. [3]
      Liru
      Link Parent
      Unfortunately, Github and Gitlab are the two main ones. There's also up-and-coming Sourcehut, but I've never used it or seen what it's like beyond a few screenshots. Note that my view is extremely...

      What are the reputable Git platforms, à la GitHub and Gitlab?

      Unfortunately, Github and Gitlab are the two main ones. There's also up-and-coming Sourcehut, but I've never used it or seen what it's like beyond a few screenshots.

      What are the things to consider when hosting source code to those platforms, for someone who's never done it before?

      Note that my view is extremely pessimistic here, I'm sure someone else will chime in with something better. From personal experience: Depending on the project scope, target audience, and your attitude towards life, be ready to deal with issues and feature requests. Lots and lots of them. Some may be fun and interesting, but in my experience, it just tends to involve adding more idiotproofing and boilerplate checking so that a certain condition that you never considered doesn't occur, or telling people "no, that was never the intention/scope of this project".

      Other than that, I don't think there are any huge considerations when posting code publicly. Maybe make sure to anonymize the email in your git commit logs, otherwise you may start getting spam.

      4 votes
      1. [2]
        ThatFanficGuy
        Link Parent
        I can't even imagine my email address being involved in the process. Is that a standard Git practice to expose personal details in commit history? Oh, you mean this isn't fun for you? :P Thanks...

        Maybe make sure to anonymize the email in your git commit logs

        I can't even imagine my email address being involved in the process. Is that a standard Git practice to expose personal details in commit history?

        boilerplate checking so that a certain condition that you never considered doesn't occur

        Oh, you mean this isn't fun for you? :P

        Thanks for the heads-up.

        2 votes
        1. Liru
          Link Parent
          Git usually asks you to input a name and an email address as part of identifying who's making the changes in a commit. Download a random git repo and do a git log to see. It's more of a label than...

          Is that a standard Git practice to expose personal details in commit history?

          Git usually asks you to input a name and an email address as part of identifying who's making the changes in a commit. Download a random git repo and do a git log to see. It's more of a label than anything, though a lot of people on Github use an anonymized noreply email instead of their real one.

          3 votes
  5. Nmg
    Link
    For a class project, I designed the analog front end (AFE) part of an Electrocardiogram (ECG) machine. This basically takes the electrical signal generated across the heart (measured between arms,...

    For a class project, I designed the analog front end (AFE) part of an Electrocardiogram (ECG) machine. This basically takes the electrical signal generated across the heart (measured between arms, for example), and amplifies it by around 100 so it can be converted to a digital signal.

    The design is surprisingly complex, as you have to account for a few things. We have to make the AFE very low power, for example, as we are designing for potentially mobile applications. The electrodes placed on the body have finite impedances, which means you are limited to a a certain class of circuit topologies. We also want to reject common-mode signals (e.g. 60 Hz from nearby municipal power), which means we use a third electrode to actively drive the human body at a voltage that cancels these common-mode signals-- which means we have to worry about whether we are going to electrocute someone.

    2 votes
  6. 2zla
    Link
    Those plastic “bolts” and 20 AWG woven metal twist-ties from hell by the hoards.

    Those plastic “bolts” and 20 AWG woven metal twist-ties from hell by the hoards.

    1 vote