Thursday, February 27, 2014

Hello, world!

I'm still grinding away at learning how to program. After a lot more reading, I decided to start my program over from the ground up. I think that I did a much better job the second time. I've been kind of avoiding the actual programming, though, and doing lots of reading. I'm still reading the pickaxe book, but I've also picked up Coding Complete. I'm only three chapters into it, so far, and I already like it. It's helping me fill in more blanks, even this early. 

Through reading Coding Complete, the biggest thing that go reinforced to me is that the process of building software is much like any other project that I've worked on. I guess that we all watch these movies with computer hackers and just get caught up into the fantasy that coders just see a problem and then immediately know how to translate that into a program. Much like anything else, though, writing/building a program requires planning and design before you even sit down to write the actual program.

Another thing that I like about the book is the concept of using metaphors to better understand problems. I feel like the word that he was looking for was similes, though, because he always uses the word "like" when he describes his "metaphors," but "similes"' is definitely less cool sounding. 

Something else that I noticed about these books on computer languages is that they always use big words when they could be more clear using simpler terms. Being a stickler for understanding exactly what someone is saying, I'm looking up a lot of words as I read these books...I guess that's not a bad thing. I'm learning a lot of new words. Well, maybe not actually learning new words, but getting really clear on the definitions to words that I had a tenuous grasp on.

I'm so glad that I decided to learn programming. Originally, I wanted to learn programming because I wanted to build apps and software and I thought that if I had to spend time most of my time at work, then coding was something that I could enjoy doing. It fits my personality. But the more I do it and the more I learn, the more it's really not about either of those things at the core. I still really want to do both of them, but this is more like a hobby. It's fun to learn and it's fun to evaluate and solve problems. I can see my self getting really good at this. 

Monday, February 24, 2014

@hypepotamus

I haven't been making any entries for the past few days, mostly because of extracurricular activities. I'm at hypepotamus, now, working on stuff. It's been a good day. The weather here is nice, too.

The meet up that I went to on Thursday was more of a social...son, I was a little disappoint. Not really, it wasn't the one where they help people set up Rails, but I'm glad that I went. I learned a lot of stuff, one of them being that I'm further ahead than I thought I was. I also got a lot of really good advice on my learning process.
protip: if someone lives in Alpharetta, Marietta, Lawrenceville, or any other area that is outside of the 285 perimeter, they DO NOT live in Atlanta, and you should tell them to stop telling people that. 
The meet up on Sunday, that I wanted to go to, was actually not in Atlanta, which bothers me a little but :). Too many people from the outskirts of Atlanta like to tell people that they live in Atlanta and that the areas around where they live are called "Atlanta." As a result, they set up meet ups called "Atlanta Ruby Users Group" that aren't actually in Atlanta [okay, maybe that one was in Atlanta, but just barely]. So yeah...I missed that particular meet up.

I have been working on my coding, though. I've finished the code academy stuff and started reading the the pickaxe book. I think this one is better...it could be because I've know more now and therefore I understand the topics, but I doubt it. I don't regret reading The Book of Ruby, first, though. Before I started reading this I was planning on re-reading TBoR, reading this one is a better idea. I also found a list of books to read, so I won't be starving for reading material any time soon.

The good news is that the more time that I spend learning, the more I understand and am comfortable with. That isn't anything groundbreaking or anything, but sometimes when you get bogged down into learning something new and challenging, you forget that eventually it's going to click and it's going to be awesome.




Thursday, February 20, 2014

Making Progress

I'm still going and getting more comfortable with ruby; I'm about 70% of the way through the Code Academy stuff, now.

 I've been working more on my program and doing a lot of thinking it through. The more I do it, the more I'm enjoying programming. It's much better when you know more about the language and don't have to spend 5 to 10 minutes thinking about basic syntax.

Investing time in learning something useful that you can apply is completely worth it.

I'm really looking forward to this meet up tonight. I can't wait to get my Rails set-up, so I can start doing those tutorials and maybe I'll  meet some cool people, too. This is coming at a good time in the learning process, for me: I won't be just sitting there like a deer in the headlights, and I may actually have some good questions. I just looked up the location, it's going to be here: Octane.  28 people have RSVP'd so it should be pretty cool.  It looks like there are a lot of pretty new people, too.

Wednesday, February 19, 2014

The Grind

I don't have much to write today. I'm still grinding through the Code Academy stuff and almost to the point where I know all of the basic concepts to programming Ruby. I think that my next step is going to have to be learning about the ruby gems, which is kind of exciting. When I'm finished with this tutorial, I'm going to start learning about the ones that I suspect that I need for this program that I'm working on, it's probably going to be called calender.

I really don't have too much to talk about today, I'm just making sure that I post so that I don't get out of the habit.

Monday, February 17, 2014

Reviewing My Ruby Skills with Code Academy

I went to Code Academy to create a new account [because they do not let you reset the lessons], but fortunately, I had already set up a second account and I just had to start doing the lessons. I'm 24% of the way through now, which equates to 58 exercises in.

Doing these exercises is better now, because nothing is new, and more fun, because I'm experimenting as I go along. For instance, the last lesson that I did asked my to simply create and array, called my_array using the numbers 1 through 5.  I could have handled it like this:
my_array= [1,2,3,4,5]
...and been done with it. Instead of doing it like that, I went ahead and broke it down like this, right here:

my_array= []
for i in 1..5
    my_array<<i
end
Yeah...I'm feeling myself. Anyway, I think that this is the best possible route, for me at this point. I tried to do the Ruby tutorial here, but they started talking about having Apache Web Server and, to be honest, I'm not quite ready for all of that, just yet.

I'm trying to make a program that keeps a "to do" list and it's giving me a hard time. A lot of the problem is that because of the way I went through the material in the Book of Ruby, my reading of programs is much better than my writing. Sometimes it's hard for me to remember the exact syntax of what I want to do, so I think going through Code Academy, one more time, will help to cement the way things work in my mind when I'm writing code from scratch.

For instance, I was trying to write a simple program for my if, elsif, and else statement exercise where it gives you messages when you chose any number except "7." This was my program:

print "Enter a number between 1 and 100:"
number= gets.chomp
if number > 25
   puts "Way off!"
elsif number < 25 && !7
   puts "Nope, but close"
else
   puts "Correct"
end
...or something like that. The problem was that Ruby was evaluating "number" as a string and I couldn't figure out how to change that. I used number.to_i!, but that didn't work. The bad news is that I never figured it out; the good news is that now I know about something specific that I need to learn.

Once I've finished the Code Academy tutorial, I will start back on the other tutorial that I mentioned previously. I'll be more comfortable with learning about Apache and web servers and other stuff once I'm sure that I have the basic programming stuff done.

Sunday, February 16, 2014

...finally.

Well, I finally finished TBoR. I had a few issues...that's why it's been a few days since my last entry. Thursday, night/morning, when I usually do these, my Windows Operating system went into what I thought was an infinite loop of updating my computer. After that, the whole House of Cards thing happened, so OBVIOUSLY, I had to watch the whole season of that.


In between the distractions, though, I finally got it done:

In this book I've covered a lot of ground—from “hello world” to dynamic programming. You've explored most of the important and powerful features of the Ruby language. The rest is up to you. This is where the adventure really begins. - The Book of Ruby
The last chapter, Dynamic Programming, wasn't exactly as exciting as I thought that it would be, but now I'm excited about actually building stuff using Ruby. I've actually already started on something that I can use to practice. I also plan on doing the challenges at <code_eval> and, maybe, redoing the exercises at Code Academy.

It seems like so much longer than 2 weeks since I started that book, and now it's over and the real learning can begin. Even though I didn't work on my coding as much as normal over the past few days, I think that the break was good.

I'm really looking forward to the upcoming week, I found another meet-up in Atlanta called Nerd Club in Grant Park, on Thursday, so I'll most likely be going to that.  As long as I take care of business this week, I should have an awesome weekend coming up, seeing as I've been invited to parties on both Friday and Saturday. There is a strong possibility that my entry on Friday night may get interesting, so I'm going to preemptively go ahead and advise you not to read that one now, if it happens.
 

Wednesday, February 12, 2014

About that Snowstorm...

I think it's finally getting here.  I may have been overly ambitious thinking that I would complete TBoR, today, but I'm still awake.  At least I know that I'll be done tomorrow.

I finished that chapter about Ruby on Rails; it's strange, to me, that I remember HTML, for some reason.  I guess that I shouldn't be that surprised. I was planning on doing a refresher when I start focusing on Rails.  I'm still going to do it. Everything is definitely making more sense now, and after tomorrow, I will be working more on an actual project and spending less of my time on such an academic approach to learning this particular language.

My study of Ruby has once again reinforced the idea that anything can be learned, if you just devote enough time to it. My understanding of not only programming, but computer science in general is so much broader now than it was when I began this pursuit.  Granted, I've been taking online courses and doing a lot of reading, but I was so lost when I began.  I'm still lost now, but at least I know what I need to learn.

I organized my web page favorites in my browser and made a folder specifically for learning code. Once I finished this book tomorrow, I have plenty of great resources to learn from. Most of the sites that I've found have been from reddit. I am subscribed to /r/ruby. /r/programming, and  /r/learnprogramming, although I have only been lurking up to this point.  I'm going to do as much as possible on my own before I start getting help from other people, solely because I don't want to end up talking to someone about this and have them go into a 2 hour lecture on things that I have no idea about. I think that reading TBoR was a strong first step in that regard.  Now that I have an overview, I think that I will be more prepared to get help when I start doing more practice and development.

Anyway, that's today's take on this process. On a side note, I scored 120 on Flappy Bird, today...so there's that.