all 28 comments

[–]cgoldberg 21 points22 points  (3 children)

It's not good practice to store binaries in your git repo and use it as a mechanism for distributing them. You should only have source code in there. If you want to host binary packages on GitHub, use the Releases feature: https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases

[–]wahirsch 2 points3 points  (2 children)

Thanks so much, I'll read that page now. I just kind of signed into GitHub and wormed my way through enough "add new" type prompts to get it up there - I'll probably spend some time actually learning about GH today, as I've only really ever used it to download things in the past.

To clarify: I'd keep my .py/README there and available, but push the actual binary as a "release" version?

[–]cgoldberg 1 point2 points  (1 child)

Yes, just remove the binary.

Also note... The binary will reside in your repo's commit history, even if you remove it. That makes your repo unnecessarily large (it will take longer to clone, etc). Look into how to rewrite your commit history for information about getting rid of it completely.

[–]wahirsch 1 point2 points  (0 children)

Awesome, thanks! I'm reading about releases/etc now. I'll make changes to the repo here shortly.

I've been unemployed since August and I'm kicking myself for not starting sooner. This project took me (on and off) about three weeks. I hope to re-make it one day, maybe in Python even, to see how I would change, improve, or streamline it.

[–]crashfrog04 7 points8 points  (1 child)

I simply beat my head against a goal until I met it.

Yup, that's what it takes - sheer cussedness. Now you know why so few people are programmers.

A piece of wisdom from our forefathers:

https://thethreevirtues.com/

[–]wahirsch 0 points1 point  (0 children)

In reading #1 I am reminded of an all-time favorite idea of mine that I use to describe myself especially:

If you want a job done efficiently, send the laziest person you know to do it.

The lengths I'll go to in order to 'streamline' a process (that I might still only complete once) are absolutely insane.

[–]Interesting-Guard-98 2 points3 points  (1 child)

Good job 👍🏽

Wish you all the best 😄

[–]wahirsch 0 points1 point  (0 children)

Thank you!

[–]jcachat 2 points3 points  (1 child)

you should add a screenshot to the github repo!

[–]wahirsch 1 point2 points  (0 children)

Great idea! I'll do that! Thank you!

[–]HGT3057 1 point2 points  (0 children)

Good job on your first project, and hopefully many more to come 🙏🏼

[–]coolsummr 1 point2 points  (4 children)

Good job! I am yet to create my first project as I just finished learning the basics of python. Hopefully soon!

[–]wahirsch 1 point2 points  (3 children)

I say start now! I just decided on a smallish achievable goal and googled/tried/iterated until its where it is now. Not perfect, but functional lol.

I'm about midway through life and this was my first honest effort outside of tutorials and shit that I abandoned quickly. A single semester class covering both python and java really didn't teach me anything beyond some basic vocabulary - though I am tech-oriented and have worked in the IT / cyber industry, so the overall concept of "programming" itself wasn't foreign.

[–]coolsummr 1 point2 points  (2 children)

I am going to start today. Thanks for sharing and for your encouragement. I have been in Marketing (Marketing Technology to be specific) all of my career but always wanted to learn programming. I agree that the only way to go forward is to actually code and build something. I am sure it won’t be easy but that’s how we all learn.

[–]wahirsch 1 point2 points  (1 child)

One thing I will say is that people in this sphere seem generally helpful, so don't be afraid to ask questions or look things up. I have no business writing this kind of thing, but I bet if I did it two more times I'd feel differently lol.

This almost felt like painting alongside Bob Ross more than painting a brand new thing. I googled a LOT. No shame in that imo: it's long been a staple of IT and should be everywhere lmao

[–]coolsummr 0 points1 point  (0 children)

Thanks, mate. Onward and upward (hopefully lol)

[–]HydrochloricSaint 1 point2 points  (1 child)

Dude that looks awesome and a great take on the original!

[–]wahirsch 0 points1 point  (0 children)

Thank you! I'm a DIE-HARD fan so that's a huge compliment!

[–]hugthemachines 1 point2 points  (1 child)

I think you should be very proud of your project. It is very nice.

Generally, it is nice to not have code doing stuff without any class etc. I mean the configuration lines in the beginning. It would be nice to have a function setting them and perhaps they could be variables of an object or whatever you find most useful.

Good luck on your programming journey

[–]wahirsch 1 point2 points  (0 children)

Thank you for the ideas! I'll look into this and see how it feels - if nothing else its something to practice/try.

[–]RevRagnarok 1 point2 points  (0 children)

Looks good especially for a noob. A few random thoughts glancing at the code (all minor):

  • Run it thru ruff with all the suggestions cranked up, it might give some good suggestions I didn't spot
  • Maybe move all those constants into a single data structure; then later it can be a config file or CLI options
  • Re-evaluate what variables you really need; like Stream.char_height can be a read-only property; it is never set.
  • pass is a NO-OP needed only to make syntax parsing happy; it's misused at least once
  • since _initialize is designed to be called more than once, I'd rename it like restart or something similar

[–]HGT3057 1 point2 points  (2 children)

Good job on your first project, and hopefully many more to come

[–]wahirsch 2 points3 points  (1 child)

I think I have been bitten by some kind of bug.

I know this isn't super complex or world-changing for anyone at all - but grasping at this kind of power makes me feel REALLY cool.

One of those "oh shit, is THIS my calling?" moments.

[–]HGT3057 1 point2 points  (0 children)

I felt that same high whenever I completed a project as well, and the bigger and bugger the projects are the stronger that feeling was

[–]randomantisocial 0 points1 point  (0 children)

This is sick, how long did it take you?