5 ms·
Show HN: Everybody should create a practice repo
Hi everybody, I personally found the best way to motivate yourself to program everyday is by creating a practice repo and by uploading anything you code up that day into this repo. This is a great way to stay consistent seeing the bright green light up every time you push your code. It's very addicting and satisfying, and has definitely made me a better programmer over the past few months.
- adlpz 4y agoHey, that's a cool idea. In my case, not so much because of the "motivate myself to program everyday" because, well... that's my job, I've programmed every (work)day for many years now. But it does seem to be a cool way of collecting all the little experiments and fun projects in a single place where you can share them and keep a timeline of what you did. I'm staring mine.
- Sri_Aditya 4y agoYeah, its obviously not a place for official projects but a way to store your tinkering and to motivate yourself to tinker more with those green lights.
- spoiler 4y agoThat's a good idea! I have some of my old projects on GitHub archived now, and when I tend to learn new languages. I tended to be rebuild an old pet project of mine in it a as it touches a few domains (a graphical comic book style chat app). And a few times I did a `learning-x` repo, but they weren't as comprehensive as this
- Sri_Aditya 4y agoThe graphical style comic book chat app intrigued me! Very interesting idea.
- eurasiantiger 4y agoSomehow, this seems like a terrible idea. https://github.com/SriLikesToSing/practice/blob/master/tinkering%20and%20code/insultGenerator/adhd.txt https://github.com/SriLikesToSing/practice/blob/master/tinke... What other interesting things could one find in this repository?
- KronisLV 4y agoThe person seems relatively young age wise and thus is probably in the process of learning things. Edit: the comment was not about code quality but credentials, explained below. Personally I'd suggest keeping one's code in separate repos with corresponding READMEs, since otherwise it's pretty hard to realize what you were doing a few months down the line: https://www.readme-templates.com/ https://www.readme-templates.com/ This is also good for you to decide what can be public and what should remain private. Furthermore, separate repos are a good idea if you ever want any CI introduced for the project, or build any libraries from it. There's nothing wrong with monorepos, but even those are typically used within the context of a particular project or group of projects.
- eurasiantiger 4y agoI was more referring to the apparent accidental inclusion of completely unrelated access credentials. That’s something they’re now learning the hard way. Maybe don’t get in the habit of committing everything in your learning repo, just in case you’ve accidentally saved something else there.
- KronisLV 4y ago> I was more referring to the apparent accidental inclusion of completely unrelated access credentials. That’s something they’re now learning the hard way. That's a good point, though! Comment edited, thank you for the clarification.
- Sri_Aditya 4y agoyeah this seems like a really good idea! I always create new separate repos for official projects so that's always good.
- electromech 4y agoAs others have noted, you have what appear to be credentials in your repo. If any of those are real, change those passwords immediately. Removing them from your git history only after you've invalidated the credentials. --- Like, right now. --- I also use a personal monorepo for all my projects, including an "experimental" directory for one-off things. However, I am (and you should be) much more careful about what gets committed. One of my rules is that credentials never belong in the same directory tree as the repository. Entries in .gitignore are not sufficient to prevent accidentally committing sensitive info to the repo. Occasionally this rule takes a little effort -- e.g., some project templates default to using ".env" files for secrets, and to uphold my rule, I need to understand the tool well enough to configure a secure alternative. Another thing that I find helpful for managing a large number of throwaway projects: a global .gitignore with defaults like "node_modules/", "target/" etc.
- Sri_Aditya 4y agothank you for the heads up. I will do this immediately.
- electromech 4y agoRock on. Hack on, my friend!