Notes on My Beginner Dev Environment
This post is a quick list of some of the things I'm doing to help me code and learn during my time at The Flatiron School. Shout out to Dan Bogan who runs The Setup. I got the idea for this post from reading his site for years.
.bash_profile
I've used Terminal quite a bit over the last few years, at times even to manipulate servers at companies I worked at. But I've never felt very at home there both because it was unfamiliar and because it's confusing to know what was going on if you don't use it frequently.
I made some cosmetic changes to a make it feel more like mine and make it a place I'm excited about hanging out in all day. I also made some functional changes that I think are better suited for someone that is just getting started programming. When you first start out learning to code there are so many little things you can get wrong. I wanted to minimize the problems caused by being in the wrong folder or some other small thing about the parts around my code, so I could focus on the code itself. The things I changed about the prompt (so far) are:
- I modified the command line into a 3 line format to have a single line across the top so I can easily find my place for those times when 12 screens of text go swooping by and you want to find where it started. This is small but again I think these small things that make you feel less lost are helpful when you're eyes aren't used to scanning all that text.
- Print out the full path so I always know where I'm at in the file system. This was important for me especially while I'm getting used to the command line because I didn't have the skill to just keep where I am in the file system in my head. It's getting easier already though and I might not need this much longer.
- Because the directory can get long, I have the prompt on it's own line which is actually really nice and clean. It's also great for copy/pasting commands.
- In addition to showing the git branch I also made it so the branch name is red if it's dirty and green if it's clean to remind me to commit often.
- After a couple weeks I added a calm emoji bear on that hangs out on the right.
I also made these other small changes to .bash_profile
- A few aliases to directories I use a lot like
flat3
(for my flatiron/week3 directory),flat4
, etc.
- A function to pull up documentation via dash from the command line (Which I finally bought, it was totally worth it.)
Lastly I increased the font to 16pt and installed the excellent Solarized color scheme on Terminal and Sublime Text. The colors are comfortable, I can look at them all day, and because there is less contrast between the colors they reduce eye strain.
Notes
Evernote is my go to for notes of all kinds. I can make notes and they are available wherever I go including on my commute. If you use it with the Chrome clipper extension you can clip entire pages (like the Ruby method documentation, hint hint!) and read them anywhere. I use 2 folders "Flatiron Notes" & "Flatiron Reading"
Evernote isn't great for code though so I'm also experimenting with adding a lessons_learned.md to my assignments. I've been trying to do a recap instead of just going on to the next thing so for the last couple assignments after I save and push to git I rewind the changes with Cmd+Z, then go forward through them using Shift+Cmd+Z. At each point where i remember making a break through i copy that, and make a note about what i was thinking and what i learned. This isn't optimal, if you change something you can no longer Shift+Cmd+Z forward and have to restore from master. I might start adding the file to my .gitignore since I get all deep sometimes and it might be weird to let people see me talk to myself.
Lastly because the deluge of Github emails is overwhelming when you first start using it I have a few filters that put some things in the Inbox and some right in a Github folder. I'm not sure all of them are really exactly right yet but the one that saves the most Inbox space is, if it says "[GitHub] Subscribed to" in the subject line it goes right to the Github folder.