5.15.2017

I said I was going to write a blog post today as a way to get myself back into the groove of coding regularly again. After the #100DaysOfCode, I took a GitHub hiatus. I still worked on exercises here and there, but nothing to really contribute to the projects that I had worked so hard on, nor the new ones that I wanted to learn how to create.

Last week, however, I figured out that my issue was that I was entirely focused on the end product. I wasn’t giving myself a chance to create crap and fail at the crap. I was trying to create too much beyond my skill, and getting upset that I didn’t have the skill to create the masterpieces that I envisioned.

After a lesson from Dr. Oakley, I decided to break my learning up. MWF I give myself a few hours to work on Android and Python. TTh I head over to the Cybrary. Android takes up the bulk of the time since the advanced concepts need more time to sink in. Python gives my brain somewhat of a break, but still gives me the practice of learning how to problem solve in a new language. And, the lessons from the Cybrary help me with work. There’s actually a class I should be taking in the next couple of weeks (if I plan it out correctly) that involves Python and networks, so I’ll be double dipping.

So, I’m back at it. I probably won’t do a #100Days for a while, but I will be building on much needed habits of learning how to practice.

I’m not sure where the rest of this post is supposed to go, so here’s a tweet for my future self to look back on.

 

 

1.25.17

I think when I can’t think of a catchy title I’ll leave it as the date.

I woke up today, much like any other day, in a drowsy daze. The Lady and I have been binge watching Mary Jane well into the wee hours of morning, leaving us to get up only a few hours later (I’m totally not a morning person). So, after I get the kid ready, we walk to the school bus and everyone is off on their separate path.

I come home, I look at my latest coding project. I create a new project shell as I like to call it, push it to GitHub, and I start planning things out with a pad and pencil. Today, however, was a bit different. After I did enough to say I coded for the day, I took a walk.

I haven’t listened to music in a while. My iPod is busted. My iPhone(s) barely have enough space to take a picture, and I canceled all of my music subscriptions. CodeNewbie just came out with #124, and I’ve been looking at ways to weave in podcasts to my daily habits. My walk wasn’t too long. Maybe 15-20 minutes. It was to get my car that had been towed the previous morning. The morning before, I hit the snooze on my alarm, and instead of making it in time for the school bus, had to drive to school, only to return to no parking on the street.

It sucked. But, I wasn’t upset. Well, I was a bit upset that I had to cough up $137, but that’s because – who really wants to pay a fine?

I got my car back, drove the mile home (found a legitimate spot), and had just enough time to turn on the news before starting work.

After work, I dropped Marissa off to the school for a meeting, played half a game of 2K with Young Cameron, and then we all went to basketball practice. During practice, I had my pad and pencil, looked at the specs for the News App and starting drawing out what needed to be present to get things right the first time.

I say all of this to say, fit it in where you can. Some days you’ll have hours to yourself to work on projects. Some days you’ll have small chunks of unevenly spaced time. But whatever you do, keep moving forward. Millimeters count.

Day 1

I decided to join in on the  challenge. This community coding thing is growing on me. I highly recommend it to anyone out there in the coding world. Actually, it doesn’t matter what kind of projects/hobbies you’re into – a group will make it exponentially better. As I work on this, I’ve been trying to work on becoming busier in other areas of my life, so I decided to apply as a Crisis Counselor. I actually found it randomly searching through coding blogs. You really never know what’s out there, and I think it’s all because I decided to go through with my plan to build a game.

Back to #100DaysOfCode – for those that aren’t familiar, instead of going through a bootcamp, I decided to put myself through Udacity’s Android programs. I’m more than halfway through the Android Basics Nanodegree, and I’m learning about threading, networking and JSON. I need to finish and understand the Quake Report App so that I can hurry up and finish the Book Listing App before I leave for my birthday trip.

I don’t quite get how JSON weaves itself into my app, but I’m slowly coming around. It shouldn’t be too long before I figure it out and create the next one. I believe I’ll have a breakthrough tomorrow, and I can solely focus on the search function that I need to implement in the real test.

screen-shot-2017-01-09-at-9-01-04-pm

It’s broken…

~Happy Coding~

Skeleton

I’ve got the majority of the skeleton that I was looking for. After you click the CardView and it moves into the ListView, I want each individual list item to go fullscreen and give more information about the location it represents. The cheese app that I spoke about before has exactly that, so I just need to read it to understand how it implement it. From there, I just need to figure out how to add a map of the location at the bottom, and then I’ll decide if I want to take my own photos or steal some from the web.

inf

It’ll probably make me feel better if they’re my own photos.

Tour Guide

I’ve been slacking on my posting, but I have kept up with my Nanodegree program. The next project is due on Jan 1st, so I’ve got a nice chunk of time to pickup some new skills and figure things out.

I can’t remember exactly where I got it from (it could be from Udacity), but I found a great example of how I wanted to create this Tour Guide app, so I spent the afternoon trying to figure out how to create cards, and how to make them scroll horizontally.

Ideally, I want this to be the main page, then you can click one of the cards and that will take you into a list, and when you click the list, it brings a half screen image of the location you clicked on, plus a description at the bottom.

newyork

Early Stages of New York

I also figured out how to make a gif of my app running. I don’t know why I thought it would be so difficult. Good thing I know how to Google.

Music App

Even though this is a concept app, I feel like I dropped the ball on this one. The app is called Stream, and when you first open it, you’re greeted by a random photo of an artist.

The listen button has (don’t quote me on this) soothing gifs to match the music to help you zone out. I wanted the app to be really chill and promote the craft of the local musicians in the city/town.

I think the part that I don’t like is that I have no UI/UX skills (I guess this means I need to take a class). It’s just a concept, but still… I want it to be/look dope.

I’m going to submit it so I can see if I can stay ahead of the suggested graduation time.

Submitted The Quiz

…but first I totally did it wrong.

screen-shot-2016-11-03-at-11-02-06-pm

 

I’m still working on how to get everything pushed up into GitHub. For any potential employers out there not reading my blog – I swear this never happens.

screen-shot-2016-11-03-at-11-05-24-pm

The second time around made a little more sense with what I was working with.

The assignment was to create a quiz about any topic you cared about, and to have RadioButtons, CheckBoxes, and an EditText question. Since I thought just submitting one quiz would be too simple, I decided to have two quizzes (Originally I thought about four, but then thought that was too much). The left column is my finished product and the right was around the time I got a grip on how I wanted the layout to be. I also added support for Japanese language (Shoutout to Mooncake for helping with those. I can’t remember if that screenshot is me butchering the language or Mooncake fixing it for me. Either way, YOTO-you only translate once), and you can even answer questions in Japanese, however I don’t know if people know the kanji for the last question on the Senju side to get it right (I didn’t know myself until I looked it up).

I’m currently in the process of working on the fourth project. It’s funny because it doesn’t even need to work, but I have this issue with not fully understanding Material Design, that I decided to take the Material Design course, so that I can make my not-supposed-to-function Musical app ridiculously good-looking. A lot of the topics float over my head. And a part of me feels like an imposter using some of the more advanced code before I’m supposed to – but fuck it. How else does one learn? Naruto wouldn’t be who he was if he hadn’t stolen the scroll to learn the forbidden 多重影分身の術.

I decided to scrap my initial idea of traveling through multiple activity windows for my Quiz App project. Instead, I’ll still have at least two quizzes the user can choose from, but I’ll keep all of the questions on one page.

I also realized that I can’t go straight to a computer and type out what I want. I’ve got to go to ’06 me, and write it out on graph paper (I don’t think I’ll need colored pencils this time), to help sort my thoughts.

This is pretty interesting though. My problems back then may have only spanned across a class or two, but this time I’m working with two languages, across many different activities. I already have an idea of how I want it to be. I just need to write it out. Then, if it works on paper, it’ll work in the IDE.

1-to-1

So, I had my meeting and it ended sort of the way I thought it would. When I start learning new things, I like to make sure I’m learning the proper way to go about things, before I start taking my own shortcuts and creating my own bad habits. However, programming (in my opinion) in many ways is too open ended to follow a certain rule for every situation. I mean, there are ways you can space things out, line things up, and develop certain naming conventions to make it easier for someone else to follow. But, for the most part you’re stringing things along until they make sense to you. Then later on, as you learn more, you go back and clean things up. Then as the language progresses, you clean it up further. It’s quite frustrating.

…but cool at the same time.

One take away from the meeting was that Carlos told me about Derek Banas. And this guy has tons of material. I was completely blown away. He even had an intro to Android Studio, and the first thing he does is show you how to incorporate GitHub into it. I had been looking for a workflow because I had been developing these programs, but I couldn’t figure out an efficient way to go from Android Studio to Terminal to GitHub. Now that I’ve got it built it, I just make whatever little changes I need, and push it up. He even has a video for passing information between apps (which is something I needed to know for my Quiz App).

People are truly amazing. With the internet, you can literally learn anything you’re curious about for free. I hope to repay these generous folks back, and do the same for those who were like me.

Checkout more from Derek here: http://www.newthinktank.com/

Quiz App

I’m on my third project for Udacity. We basically need to take everything that we’ve learned from the lessons, and generate our own form of a Quiz App. The interesting part is that we don’t know what one looks like, so it really gives our brains a chance to stretch and develop something on our own. I have an idea of what I want mine to look like, but I want to make sure I’m doing it in the most efficient way.

Whenever I do a project, I always look at the next lesson, so I can incorporate new ideas to the app. When I did my first project (Single Screen App), I threw a sound bite in there. When I did my second project (Score Keeper App), I threw in a few Toasts and a character select.

sb

 

I also figured out how to change the icon at the top (I was really proud of that). And, for the third, we need to create a Quiz. One of the lessons showed us how to create an app with multiple screens, by creating new activities. And initially, I thought that was great, because I could have the open to the quiz, it could switch to a question, and from that question go to another and so on. But my gut told me that’s the wrong way to go about it. Imagine having a quiz with 10 questions. That’s probably at least 11 different activity files, and 11 different xml files. I’m sure there are some apps that need something like that (probably not), but I felt that was a bit excessive for this beginner type app that I’m about to create.

So, being the person that I am. I decided to seek help from one of the Udacity instructors. And tomorrow, we shall see how to go about it in a nice clean way.

(I’m thinking there are going to be fragments involved)