Day 36 – Bullet Journal

So creativity bit me in the butt last night, thus I have decided to start journaling. Is that a word? I keep seeing the red squiggle under it, but I swore it was? Anyways, I dug through my things and found an empty book with blank paper!! Turns out, I also had an unused pack of colored pencil, and a new pack of pens. Everything I needed was thrown about in my junk box in my study. To start it off, I wrote a note to myself explaining why I decided to do it, and then on the next page wrote out a list of long term and short term goals (in no particular order). Using Github for the past month and looking at its heat map to let me knows the days that I’ve coded has inspired me to create my own heat map! It basically outlines the activities that I happen to do in a day. More specifically, daily or weekly goals that I would love to meet. A few are: study 4 hours- with red, had fun- green (the first thing that came to mind was playing Dark Souls), and rowed at least 2,000 meters- yellow. It’s cute, and I think for every month I’ll try to come up with a different way to represent the data that I collect. This lets me see what I actually do in a day, without me having to write it all out in boring words in my planner. Also, it’s fun! When I accomplish something, say, writing this post for example, I get to color in the box with the color that corresponds to that activity. In this case, it’s navy blue! It’s like I’m saying to myself, YAY! you did something! What an awesome feeling. I’m really trying to see what I’m most consistent with, and what I should be doing more. Following my heat map, I have the days themselves. These are seperated two a page, and this is basic bullet points of what I have planned for the day. These could be anything from ‘clean the cat litter’, to ‘finish Hard 1 problems’. I draw a little check mark next to the ones that I did do, and see if I can push the things I didn’t do for the next day. That’s as far as I got today, but I plan to create a page for each month- a month overview of sorts, and a page for YouTube video ideas! My creative side has been shelved for a long time now so it’s about time I exercise it. I’ve also noticed that there’s been too much on my mind lately, stress and ideas and whatnot, and it’s disconnecting me from my present state. That bothers me; I want to free my mind of so much noise and just color it all on paper. That’s it for tonight! Oh by the way, I did finish Lesson 3 today, and I’m starting a whole new set of exercises tomorrow. For real this time! Goodnight!

Days 33/34 – Made a Video!

I made my first YouTube video!! Yay!! I felt like a fool the whole time- was suuuuper nervous, but that’s exactly why I felt I had to do it. I need to get over my fears of public speaking and force myself to look at myself from another person’s perspective. I want to get rid of bad habits and gain more confidence in myself. Aside from that, I’ve been working on ruby problems as usual and found myself having to read the variable mutability article (again) for the thousandth time. Tomorrow I will start the Hard 1 Problems. It’s starting to make more sense, but I feel like some days are a hit and miss for me. Outside of all of that, the Code for Bryan/College Station group has its first Hack and Hang next Wednesday and I’m nervous but really curious as to where this will all go. Since there hasn’t been much participation before this, I wonder if this group will even survive the year. We’ll see.

Day 32 – Setting Up

Vin bought me a shiny new HP laptop, so for the past two days I’ve been setting it up. I wanted to use something besides AWS Cloud9 and settled on Visual Studio Code. It comes with a terminal and text editor and you can push/pull code to and from Github. It’s also quite beautiful to look at. This is a windows laptop, so I’ve had to work around that a bit but it’s alright, I learn that way. Also, having a backlit keyboard at this point in my studies is a MUST. Anyway, I’ve had a few ideas for videos that I would like to try out. I thought it would be useful for me to explain things like Git/Github, PEDAC, Cloud9, and any other thing I’ve learned so far at Launch School. Hopefully it’s beneficial to someone else, because god knows that trying to figure it all out on your own is freaking nails. I’ve never made a video for the public in my life so surely that’ll be a fun experience. I don’t even know how to go about editing, so lots of research is ahead of me. Also, it’s probably not a good idea to spend too much time on this, so I’m thinking just doing a quick 5 minute intro, and then figure out the Git one after that, maybe 10 minutes. I want it so that you can see the editor and all the work that I do during it, so that the viewer isn’t looking at me just rambling about it. I’ll have to figure that out. Anyways…This week I hope to study 35 hours. My eventual goal is 40 hours. Goodnight, be back tomorrow.

Day 29 – Easy 1 & Easy 2

Easy 1 and 2 were completed today. These are simple one-liner solutions and they’re a lot of fun. Nothing too complex, and there’s usually more than one way to solve something. A fellow student reached out to me to create study sessions and I’m glad for it. Lord knows I need to be tested. Another student tried to help me understand pull requests in Github but it went right over my head. Hopefully tomorrow he’ll teach me more. Anyway, I don’t have much else to say. I’m making progress so that’s all I can hope for at this point.

Day 28 – Finished a Set! Yay!!

I’ll keep this short and sweet because I’m tired. First I worked on Codecademy, starting over from the very beginning. Surprisingly, I learned a lot doing this, more than I think the first time I did it. When it came to hashes/array, I was shocked to see that one of the things that I really stumbled on was how to create a key/value pair in a hash, but also iterating over an array. Apparently it went right over my head the first time. Anyways. As the title excitedly says, I was able to finish 19 problems from the first two exercise sets. Some of the problems weren’t too difficult; using the pedac process takes the work out of it and by the time I get to the actual code, it’s more or less figured out, save for a few tweaks. I’m proud of that at least. Tomorrow I will do more, but I’m done for today. 6 hours of work was done today my dude!

On a side note, I was thinking of starting a video series log, or vlog, to share my experiences or maybe so that I could record myself writing/speaking code. It might be helpful for my future self to look back on what I’m doing. I know off the top of my head that I tend to play with my hair a lot and say ‘um’. Maybe making a video every friday that shows me explaining one of the problems I solved would be enough. I doubt anyone will watch but at least there’s something out to the world. A lot of people do it, why can’t i?

Day 26/27 – Progress

So yesterday, I became so frustrated because Cloud9 decided to take a steaming pile of crap on my study plans, and I was running and crappy sleep. Recipe for my ugly mood all day. It wasn’t until this morning, 3 hours after the coffee clicked in, and almost 24 hours since it stopped working, that AWS emailed me to tell me that my account was suspended because I didn’t pay the $3.49 that was due. Great. After I paid it, it came back up. Immediately. By the way, during the 3 hours, I had decided to created another environment for Launch School and went through the trouble of pulling down all of my code. Oh well. Now I know.

Anyways, I worked on two string problems in the Easy 1 section of the Exercises tab. I was actually able to thoroughly think through the problem in a very logical manner and managed to solve it! Well, at least the second one. I came close on the first one, but got a little lost in the code itself. I’m proud of myself for that one, but I need the hard work to continue. It seems that one thing or another needs my attention but I need to study!!!

One thing that has taken a bit of time lately is cooking. Anyone in my family can tell you that I was a pain to deal with in the kitchen growing up. My mom can attest. Lately though, I’ve had an itch for it and I’m not quite sure why. I made asian style chicken thighs with rice and broccoli yesterday and fried chicken with mac n cheese today. It’s highly worth it to buy those large packs of chicken thighs/wings/drums, whatever because one pack can cover dinner for two or three for a couple days. Yeessss. Maybe I’ll post pics of my hard work on here. Even if no one sees them, at least it’s out to the world.

Last thing, I’ve brought it up to the creator of the Bryan/College Station Code for America Brigade Group leader the fact that we should probably host code ‘hack nights’ every two weeks or so. The introvert inside me is cringing right now just typing that but I need to network. My career is still far ahead from me right now but it’s necessary. It would help to have someone or some people to refer to when I’m applying to jobs, no? Even if no one shows up, at least I tried. Vin is thinking about medical school, and who knows where that’ll take us. My thought was that if that was established here, even with my zero experience, I could take that anywhere. So far we’ve decided every other Wednesday, form 630-830pm at the Village Cafe in Bryan, Texas. It’s a start.

Day 25 – Touch Type/ Ruby Review

Not much done today, except ruby basics review and touch typing practice. After noticing that I’m missing certain letters/symbols frequently, I took it upon myself to practice typing whenever I have a few minutes on hand. It leads to more efficient code. I’ve been very tired, and I just think mentally exhausting. Tomorrow I will be up early to establish (or try to) a schedule so that I can make it to 35 hours this week of study.

Day 24 – Easy 1 Problems

After solving almost all of the array/hash basics exercises without much trouble, I felt confident that I had begun to really understand the basics. In the picture up top, I write out the answer and then I check to see if I’m right. I was on two; the last I was a bit confused. After seeing this problem many times, the split method seemed to make sense. Yay! Moving on the Easy 1 exercises, I was stuck on for about 2 hours, trying to work through it and understand. My ‘solution’ was completely wrong. The only thing that made sense was using the Array#count method on the ‘vehicles’ array. Everything else was totally confusing. It’s extremely frustrating because I felt there was a huge jump from the simple problems to this and I don’t know why. Am I supposed to have an idea by now of what should be done? Looking at other peoples’ solutions had me even more confused. Their solutions seemed very complex. I wonder if they have had prior knowledge before, or it just comes easy to them. I try not to think about that stuff but it’s hard. Accessing key/values and elements in an array, especially when their both used together just doesn’t make sense to me and after lots of careful reading it finally does, a little. That worries me. I read the book, many times, and I’ve done the exercises many times too, but there’s a gap in my knowledge. I’m too tired to figure out what to do right now so I just have to look at it tomorrow.

This is the problem. I did write out the entire pedac process and felt confident that I had a working solution. Not at all actually, was the case. At least I had the correct method. I saw the hash rocket symbol, but it never occured to me to actually create a new hash and ‘simply’ add new key-value pairs to it. I don’t think I even knew how to do that before this exercise. Is that the point of these exercises? To show us things that we should be doing if we encounter this sort of problem? Are we supposed to have any slight idea of a way to solve them? I’m sorry for anyone reading this: I know I’m being super negative right now, but it’s either I write it out or it’ll just stay in my head and bother me. Anyway, thanks for listening.

Day 23 – Small Programs

Much of the day was spent doing what I’m probably going to be doing for the next couple weeks straight: solving problems. I’m implementing the pedac process as much as I can. While working through them, I notice that there are certain areas that need my attention, such as getting more familiar with array/string/hash/integer methods. Brushing up on Ruby Docs was helpful and I need to do it more. LS is sort of contradictory in that it says not to ‘method hunt’ but it then says to look up ruby docs often for reference. I still do it. I’m trying to get familiar, sue me. I’ve taken it upon myself to go back to the Ruby Basics exercises to brush up. 99% am able to solve the problems without trouble. I believe that’s progress. That lets me know that it’s becoming easier. Mind you, I’ve been at this for good for almost a month, and so I’m trying to remind myself that I haven’t lost it, totally. When I stopped my subscription it had been 7 months since I seriously coded so to be honest, it felt like I was learning some of it for the first time. Practicing everyday really helps, because I was able to get through arrays and hashes without much problems, and that makes me happy.

I just want to say, even if no one reads these: having a strong support system will get you out of the darkest holes. Really. If it weren’t for my wonderful husband Vinton and my family: parents and sisters Camille and Kayla, I would have felt horrible about myself for not progressing faster. Vin especially, since he’s the one that sees me every single day sweating it in front of my little Chromebook 7 days a week. He checks on me, encourages me when I feel like crap and reminds me that I’m capable. He keeps me going. Find yourself a person, or people like this, because believe me, you’ll need that one day when it gets really tough and it’ll save you.

Day 22 – PEDAC

Fourth of July is today!! I’m grateful for the fathers and mothers of this country who had the courage to literally fight with blood, sweat and tears for our freedom. Their actions have all led up to all of us being here today, doing what we’re doing. I’m allowed the freedom to code, and I’m so thankful for it. So! Today I worked on Ruby exercises and tried to implement the PEDAC process. It’s a struggle to get into the routine, but I heard it’s extremely helpful, so I’ll try to explain it the best I can.

How It Works:

P – Process the Problem – Here you identify the inputs and outputs of the problem, make the requirements explicit, identify rules and try to form a mental model of the problem.

E – Examples / Test Cases – Here you try to validate your understanding of the problem. Think of possible edge cases. From here until the ‘Algorithm’ part is where you ‘load the problem into your brain’ and is the entire ‘process the problem’ part from above. While you’re making your requirements and rules, you’ll try to push the boundaries of the problem to cover as many bases as you can. If there’s something you’re unsure of, you can ask the interviewer for clarification or if you should be worried about a specific edge case, and they’ll either say not to worry about it or that you should try to account for it. You’ll fall back on these examples when you get to your data structures and algorithms.

D – Data Structure – This is where familiarity with data structures and flow control, etc will come in. You will have to decide if the problem you have requires use of an array, hash, loops, etc. Think of the inputs and outputs, ask yourself: what methods will I need to possible use? Am I returning something or simply printing something and what data structure will be most useful for this? Is the input coming in as an integer and being outputted as a string? The possibilities are many, but it’s good to have strong fundamental knowledge of basic ruby structures so that you don’t have to spend hours researching which one is the best to use.

A – Algorithm – Here you will use computational words and language to start fully forming what your intentions will be for your code. You know what the inputs/outputs are, what structure(s) you’ll need, so now is the time to clearly map out what you want to write. The algorithm falls in between simple English and actual code, so that by the time you get to the last part, you’re not surprised or confused by what to do. Be as articulate as possible. Also, be aware every step of the way, as much as you can, of what your code is doing- are you expecting a return value somewhere?, if you are, what are you doing with that return value? Are you simply outputting something? Are you methods doing only one thing, and are they named properly? Ask yourself these to help you understand what you are trying to do.

C – Code – Now it’s time to write some code! This is about 10% of the process. By the time you get here, most of your time will have been spent just thinking about the problem so you shouldn’t be scrambling at this stage. If you get stuck or something isn’t working right, then you can go back and readjust where needed. I had to do that today, but I had most of the problem loaded into my head by that point that after I made the change, I was able to solve it with all edge cases covered fairly quickly. I felt like a champ!

Hopefully this helps you to better approach a problem. It has helped me tremendously to reduce the amount of stress of trying to solve Ruby problems. It also has forced me to slow down and become better at not just getting the right answers, but at problem solving in general.