This morning is day 5 of 21 rolling out of bed by 5 am. If you haven't been reading along, the idea came from a blog post I read a few weeks back, and looking at my schedule right now, it's the easiest time to guarantee time to study and work on my code.
It is interesting that it almost becomes easier to get out of bed everyday. Prior to deciding to try the 5 am challenge, I kept setting my alarm for 6 am and it became a morning routine to silence or hit the snooze and I'd tell myself "not today, you can go back to bed and I'll get up tomorrow" and I'd sleep until 7:30 or 8 in the morning and then get up and rush for work. Now it's becoming easier to pull myself out of bed promptly at 5 and then I grab a cup of coffee and sit down peacefully and distraction free to work.
This week I've been working on my game that I started way back in the summer which I kind of "forgot" about. It's gone through many iterations and started out as a simple JavaScript game that would run via a ton of window alerts. Then once I found out that wasn't a good idea, it started to evolve and it is now somewhat GUI based and includes HTML/CSS/JavaScript/jQuery. I think once I get a working version, my plan is to even transition the core JavaScript over to Ruby.
The challenge of being self-taught is that you don't always know when you might be doing things wrong. Your solution can work, but it doesn't always mean that the code is efficient or following best practices. It may work well for one user, but if you tried to scale it up to millions of users, things would start breaking or go incredibly slow. That's kind of where I feel like I'm at right now with some of the JavaScript/jQuery code. It seems to be working, but it's not as smooth as I'd like and I don't think it's very efficient yet either.
Even as I sit here typing, I just realized one major inefficiency and something I can do to improve my code! I was going to give a snapshot of part of the code as kind of a "before & after" look at how messy I feel the code is right now. Well there is a concept called DRY which stands for "Don't Repeat Yourself". That basically means if you have a chunk of code that you would have to type in multiple places, it's best to build one function or method that handles that code, and then call your function or method when you need it. The reason that is so effective is that if you later realize you need to add, modify, or delete some code, you can do it in one place rather than the 15 or 20 or 1000's of places you might use that code throughout your program:
In the highlighted text, you'll see two lines of code that I'm using a number of places in my code. As I went to take this screenshot, that "duh / ah hah" moment finally hit me.
Rather than writing each of these lines of code 5-7 places throughout my code base (basically once per each scenario or transition in my game), I'm going to create a Function to handle this for me.
New Function called "change_div" to reduce the amount of code re-use:
Now if I need to make a simple change or add a line, I can do it in this one spot.
Calling my new change_div function with the highlighted piece of code:
I nearly didn't write a blog post this morning because I wasn't exactly sure what to write about. However, I want to keep up with it and part of #my5amChallenge is to write about the things you learned or accomplished. Well I'm glad I sat down to write this blog as I just learned something very valuable about half way through!
That's kind of how it works with coding sometimes....you get stuck somewhere and try and try to figure something out, and then it all of a sudden comes to you at the most random moment. I wasn't really stuck there, but that change is much better for an "Object-oriented" programming style which is what I'm trying to learn.
Time to dive back in the code and work on building some more of the functionality out!
Showing posts with label codenewbie. Show all posts
Showing posts with label codenewbie. Show all posts
Wednesday, October 29, 2014
Saturday, October 25, 2014
Equality and Ruby Variables - a few of my learning's from this week
I've been trying to get up at 5 am everyday this week to work on my coding, and I actually did a pretty good job except for Friday morning. I'm a huge Broncos fan and we had the Thursday night game so I didn't make it to bed until nearly midnight. After getting up at 5 am for a few days, I was just too tired and needed the extra sleep.
I did make it up at 6 am today though (even though I'm not doing the 5 am challenge on weekends) and have been working on my problems. I wrapped up my first problem which was implementing a simple Array class in Java and Ruby that has "create, delete, search, and display" methods for working with the array. I thought I would take a few minutes to at least share the things I learned and a few of the "gotcha" moments.
When trying to implement the solution in Ruby, my first stumbling block was working with & declaring the right type of variables. In Ruby, you have global variables, class variables, instance variables, & local variables. I'm going to try to briefly explain them, but to help give context I'll give a simple example of classes & objects.
If I were writing a program to control working with vehicles, I would potentially have a "Vehicles" class, and two sub-classes called "Cars" & "Trucks". Classes help control behavior and allow you to create "Objects" which all share similar behavior. I would create certain behavior in the "Vehicles" class that would apply to both Cars and Trucks, and the "Cars" and "Trucks" classes would both inherit that behavior. The reason I would do this is that both Cars & Trucks have Tires and doors, and windshields for example, and rather than specify these features in both classes, I can type it once in Vehicles and let both classes inherit those features.
Now once I have my classes, I can then create specific objects. So I have a "Cars" class that outlines the features and behaviors, but then I create a "Car" object that is the actual car itself with its own unique make, model, color, etc.
Hopefully I made that simple enough and not too confusing, but not on to explaining the variables and where I got stuck.
Global variables - are just what the name suggests, they are globally available throughout your program. So if I have a Vehicles Class and Animal Class, I might declare a variable in one of them, but I could still access that variable from the other class as well
Class Variables - class variables apply to that class & the objects within that class. So if I have a Vehicles Class and a Animal Class, and I declare a variable within the Vehicles class.. any of the objects within Vehicle can use that variable, but the Animal Class & all of its objects cannot see or access that variable.
Instance Variables - Instance variables are accessible across methods for each instance of an object. So going back to the Animal Class, I might have a "make_noise" method and maybe I need to create a variable "noise" to store information. I could have a "Dog" object that stores "bark" in the noise variable and a "Cat" object that stores "meow" in the noise variable. So basically I can use the same variable name, but its a unique variable each separate instance of the object and can only be accessed by that object
Local Variables - local variables are only accessible within a single method. So if I had a "Dog" object, he could have different methods such as sleep, eat, walk, etc. If I declare a local variable within the sleep method, eat and walk cannot see that method. To help tie in the explanation, if I instead declared an Instance variable above, the variable could be seen and accessed in each of the eat, walk, and sleep methods.
Didn't meant to turn this into a long definition post, but sometimes I get carried away :) The main point of all of that is that when creating my Array program, I wanted to create an Array class that could create Array objects. I was trying to write my code similar to how it was in the Java code, but for Ruby I needed to create the scope for my variables. I needed an Instance variable that would apply across that object so that in each method I created, it had access to my Array object.
The second "gotcha" or stumbling block for me was equality. In programming, = vs == mean two completely different things. With a single = sign, you are setting something equal to something. For example, a = 5 will set the variable "a" to equal 5. Whereas with two equals sings "==" you are comparing two things. So with "a == 5" you could compare does "a equal 5". If it already does, one thing can happen, but if it doesn't something else might happen. I had a few different areas where I used a single equals sign instead of a double equals sign, and it created odd behavior in my program.
One thing I've found is that when learning to code, you are trying to absorb so much new information that it can be easy to slip up and miss one minor thing, such as a single = sign versus a double == sign. I suppose the bright spot is that I can at least identify and fix my error now rather than having to post to Stackoverflow for someone else to explain it to me!
Well back to coding for a few more hours before I get my weekend started!
I did make it up at 6 am today though (even though I'm not doing the 5 am challenge on weekends) and have been working on my problems. I wrapped up my first problem which was implementing a simple Array class in Java and Ruby that has "create, delete, search, and display" methods for working with the array. I thought I would take a few minutes to at least share the things I learned and a few of the "gotcha" moments.
When trying to implement the solution in Ruby, my first stumbling block was working with & declaring the right type of variables. In Ruby, you have global variables, class variables, instance variables, & local variables. I'm going to try to briefly explain them, but to help give context I'll give a simple example of classes & objects.
If I were writing a program to control working with vehicles, I would potentially have a "Vehicles" class, and two sub-classes called "Cars" & "Trucks". Classes help control behavior and allow you to create "Objects" which all share similar behavior. I would create certain behavior in the "Vehicles" class that would apply to both Cars and Trucks, and the "Cars" and "Trucks" classes would both inherit that behavior. The reason I would do this is that both Cars & Trucks have Tires and doors, and windshields for example, and rather than specify these features in both classes, I can type it once in Vehicles and let both classes inherit those features.
Now once I have my classes, I can then create specific objects. So I have a "Cars" class that outlines the features and behaviors, but then I create a "Car" object that is the actual car itself with its own unique make, model, color, etc.
Hopefully I made that simple enough and not too confusing, but not on to explaining the variables and where I got stuck.
Global variables - are just what the name suggests, they are globally available throughout your program. So if I have a Vehicles Class and Animal Class, I might declare a variable in one of them, but I could still access that variable from the other class as well
Class Variables - class variables apply to that class & the objects within that class. So if I have a Vehicles Class and a Animal Class, and I declare a variable within the Vehicles class.. any of the objects within Vehicle can use that variable, but the Animal Class & all of its objects cannot see or access that variable.
Instance Variables - Instance variables are accessible across methods for each instance of an object. So going back to the Animal Class, I might have a "make_noise" method and maybe I need to create a variable "noise" to store information. I could have a "Dog" object that stores "bark" in the noise variable and a "Cat" object that stores "meow" in the noise variable. So basically I can use the same variable name, but its a unique variable each separate instance of the object and can only be accessed by that object
Local Variables - local variables are only accessible within a single method. So if I had a "Dog" object, he could have different methods such as sleep, eat, walk, etc. If I declare a local variable within the sleep method, eat and walk cannot see that method. To help tie in the explanation, if I instead declared an Instance variable above, the variable could be seen and accessed in each of the eat, walk, and sleep methods.
Didn't meant to turn this into a long definition post, but sometimes I get carried away :) The main point of all of that is that when creating my Array program, I wanted to create an Array class that could create Array objects. I was trying to write my code similar to how it was in the Java code, but for Ruby I needed to create the scope for my variables. I needed an Instance variable that would apply across that object so that in each method I created, it had access to my Array object.
The second "gotcha" or stumbling block for me was equality. In programming, = vs == mean two completely different things. With a single = sign, you are setting something equal to something. For example, a = 5 will set the variable "a" to equal 5. Whereas with two equals sings "==" you are comparing two things. So with "a == 5" you could compare does "a equal 5". If it already does, one thing can happen, but if it doesn't something else might happen. I had a few different areas where I used a single equals sign instead of a double equals sign, and it created odd behavior in my program.
One thing I've found is that when learning to code, you are trying to absorb so much new information that it can be easy to slip up and miss one minor thing, such as a single = sign versus a double == sign. I suppose the bright spot is that I can at least identify and fix my error now rather than having to post to Stackoverflow for someone else to explain it to me!
Well back to coding for a few more hours before I get my weekend started!
Labels:
5amChallenge,
codenewbie,
coding,
dataStructures,
Ruby
Location:
Atlanta, GA, USA
Thursday, October 23, 2014
Feeling tired
Day 2 of my 5 am challenge and third day in a row waking up before 6 am. I'm EXHAUSTED this morning, but forced myself out of bed and am slowly feeling more alert. I have to start getting to bed on time so I get a full 7 hours at a minimum.
Anyway, I finished up the CodeAcademy Ruby tutorial yesterday and have the first parts of my current Data Structures problem complete. Here is a quick snapshot of my current code state:
Anyway, I finished up the CodeAcademy Ruby tutorial yesterday and have the first parts of my current Data Structures problem complete. Here is a quick snapshot of my current code state:
I also forgot to mention that if you're a developer or learning to be and use Github, my handle is austi003. I'm trying to work on keeping all of my work updated and I even have one collaborator (my mentor) on the Data Structures repo so that I can get used to pull requests and branches and all that good stuff.
Alright, enough writing this morning, time to start learning!
Labels:
5amChallenge,
codenewbie,
coding,
learning,
Ruby
Location:
Atlanta, GA, USA
Sunday, August 31, 2014
My lesson plan
It's been awhile since I've posted (or really been able to work on my coding for that matter) so I decided I would try to post an update today and lay out a general guide I plan to follow. As much as anything, this post is just to lay out my plan and to create something a little more concrete, but maybe you'll find something of interest :)
At the end of July I made a trip to Vegas and then the following weekend made a trip home & I pretty much got completely derailed. While I did do some studying this month, I got out of my routine for coding, and now its time to jump back into it!
A question I commonly hear from new developers that are trying to teach themselves is "Where do I start?" or "What language should I learn first?". There tends to be a LOT of confusion on exactly how to go about teaching yourself. I have the benefit in that I sit around a ton of bright software developers, and thus have a better idea of what I should be teaching myself. In the near future I have a whole other post on that topic so stay tuned.
For now here is my plan:
As much as I would love to spend countless hours each week studying & coding, I do have a full time job & other hobbies to balance as well, but I am hoping to dedicate on average 15 hours per week (min 10 hours per week) over the course of the next year (or however long it takes me). Two key areas I've been told to focus on - Data Structures & Algorithms, and Object Oriented Programming/Design. My focus over the last few months was to dive in on one topic until I completed it, but one of our Engineers brought up a good point last week; if you're in school you study multiple subjects at once, and he encouraged me to do the same.
I feel fairly confident that I can dedicate at least an hour and a half each night Monday - Wednesday with Thursday left open for Trivia and Friday is sometimes a go out night. That gives me between 4.5 - 6 hours between those three nights. Weekends will be heavier and I plan to spend 3-4 hours each day on Saturday and Sunday for another 6-8 hours total. Finally I'm hoping to have 30 minutes four days of the week either early morning before work or during my lunch break which adds up to another 2 hours. If I only hit the minimum on each of those time slots it still adds up to 12.5 hours per week of study time, but I do feel most weeks I can hit more.
Based on books I'm working on at the moment, my plan of attack is:
Monday - Data Structures & Algorithms in Java - 2nd Edition by Robert Lafore
Wednesday - Agile Web Development with Rails 4
Early Mornings/Lunch - I'll probably do either CodeAcademy tutorials or other light reading as I can't dive too deep in 30 minutes. But it will still be a good opportunity to refresh and read up on certain things.
I'm going to give this a go until I start to get through some of these books, and then I'll re-evaluate and see how its working out.
At the end of July I made a trip to Vegas and then the following weekend made a trip home & I pretty much got completely derailed. While I did do some studying this month, I got out of my routine for coding, and now its time to jump back into it!
A question I commonly hear from new developers that are trying to teach themselves is "Where do I start?" or "What language should I learn first?". There tends to be a LOT of confusion on exactly how to go about teaching yourself. I have the benefit in that I sit around a ton of bright software developers, and thus have a better idea of what I should be teaching myself. In the near future I have a whole other post on that topic so stay tuned.
For now here is my plan:
As much as I would love to spend countless hours each week studying & coding, I do have a full time job & other hobbies to balance as well, but I am hoping to dedicate on average 15 hours per week (min 10 hours per week) over the course of the next year (or however long it takes me). Two key areas I've been told to focus on - Data Structures & Algorithms, and Object Oriented Programming/Design. My focus over the last few months was to dive in on one topic until I completed it, but one of our Engineers brought up a good point last week; if you're in school you study multiple subjects at once, and he encouraged me to do the same.
I feel fairly confident that I can dedicate at least an hour and a half each night Monday - Wednesday with Thursday left open for Trivia and Friday is sometimes a go out night. That gives me between 4.5 - 6 hours between those three nights. Weekends will be heavier and I plan to spend 3-4 hours each day on Saturday and Sunday for another 6-8 hours total. Finally I'm hoping to have 30 minutes four days of the week either early morning before work or during my lunch break which adds up to another 2 hours. If I only hit the minimum on each of those time slots it still adds up to 12.5 hours per week of study time, but I do feel most weeks I can hit more.
Based on books I'm working on at the moment, my plan of attack is:
Monday - Data Structures & Algorithms in Java - 2nd Edition by Robert Lafore
- This is a pretty intensive textbook I plan to study through, but I will also be implementing the various algorithms in not only Java (which the textbook shows you how to do) but also in one other language, most likely Ruby. This will help me to not only solidify my understanding of the concepts, but also help me to pick up syntax of another language at the same time.
- Same general idea, study the textbook but work on implementing the solutions as well. I believe this book does a good job of giving you various problems & projects to work on.
Wednesday - Agile Web Development with Rails 4
- My plan is to go through the book once to build their Depot application, and then I want to go back through the book again to do my other app for storing recipes.
Early Mornings/Lunch - I'll probably do either CodeAcademy tutorials or other light reading as I can't dive too deep in 30 minutes. But it will still be a good opportunity to refresh and read up on certain things.
I'm going to give this a go until I start to get through some of these books, and then I'll re-evaluate and see how its working out.
Labels:
codenewbie,
coding,
learning,
RPG games,
Ruby
Location:
Atlanta, GA, USA
Saturday, July 26, 2014
The "ABL's" of Programming
For anybody familiar with Sales, you've probably heard of the "ABC's" of selling which stands for "Always Be Closing". For people not familiar with sales, its basically the concept that if I were trying to sell you a tennis ball, and you objected and said you really don't like green tennis balls, I would ask you a clarifying question to understand what colors you might like, and then I go right back to the close with something like "so which would you prefer, a tennis ball of color 'x' or color 'y'?" Basically, as you uncover information about your prospect, you're still pushing for the close every step of the way.
As I was driving home yesterday and thinking about a good topic to write about, the ABC's kind of popped into my head and it made me think of a good acronym that applies to anybody that codes, "Always Be Learning" or as I titled it, the "ABL's" of Programming. I thought of this both because of some of my recent struggles, but it's also been a consistent theme on a Ruby Rogues podcast I've been listening to recently.
So how does it apply to me recently? A few weeks back, I had this idea to try and program a basic Text based adventure game in JavaScript that would present you with various scenarios and options, and based on your choices you'd progress through the game. I knew it would test my knowledge of several concepts like For Loops, While Loops, Iterations, etc. Well the first weekend I dove head first into the game and felt like I made a ton of traction. It almost seemed like a relatively easy concept that I would be able to finish and release within maybe a week's time frame. Well here I am about 3 weeks later, and still no working version of the game!
While I made a lot of progress that first weekend, my code gradually became more complex, and it started getting harder to keep things straight or decide how to pull the information I needed. After getting some advice from a developer that sits by me, and studying further into the CodeAcademy JavaScript tutorial, I then realized I could re-structure my game to follow a more traditional "Object-oriented" fashion and take advantage of JavaScript's Prototypal/inheritance nature. That led to a whole weekend of diving in, getting really confused, and then slowly figuring out how to once again structure my game and make it work. However, I learned a ton and my code was far better off because of it!
Well now I've run into another issue where one of my iterators keeps looping and is not escaping, so I worked briefly with another of our Software Engineers yesterday, and he mentioned that an "alert" method I'm using does not work well with browsers, and that I should strongly use jQuery for what I was trying to do. So now after about two weeks, I'm diving into a completely different area and once again deciding to re-structure my game to make it work better and become easier to work with moving forward.
I spent yesterday researching how to implement the jQuery library, which then also led me to pull in HTML/CSS and changing my game to a more graphical nature in the browser rather than being completely text based from JavaScript functions. While it's not absolutely necessary that I do this, I do envision where this is going to make certain aspects of my game a lot easier and a lot more efficient to code. I even learned how to make my page somewhat "responsive"! That basically means that if you were to start with a full screen, and start to shrink the screen, the elements will shrink along with it so that the page remains readable and functional. Especially since a web page can be accessed by so many devices including tablets, phones, laptops, etc. all of which have different size screens, implementing responsive design is an absolute must.
So basically what started as a simple JavaScript program with basic "for loops" & "iterators" has now evolved to be so much more. At least I've learned concepts and a little bit about other languages & libraries that I've been able to apply to my code. I've faced some type of challenge on an almost daily basis, but I've learned something new every step of the way and feel so much more confident today than I did a few weeks back when I started the game!
Software Engineering is definitely a field and skill set that requires you must "Always be learning!".
As I was driving home yesterday and thinking about a good topic to write about, the ABC's kind of popped into my head and it made me think of a good acronym that applies to anybody that codes, "Always Be Learning" or as I titled it, the "ABL's" of Programming. I thought of this both because of some of my recent struggles, but it's also been a consistent theme on a Ruby Rogues podcast I've been listening to recently.
So how does it apply to me recently? A few weeks back, I had this idea to try and program a basic Text based adventure game in JavaScript that would present you with various scenarios and options, and based on your choices you'd progress through the game. I knew it would test my knowledge of several concepts like For Loops, While Loops, Iterations, etc. Well the first weekend I dove head first into the game and felt like I made a ton of traction. It almost seemed like a relatively easy concept that I would be able to finish and release within maybe a week's time frame. Well here I am about 3 weeks later, and still no working version of the game!
While I made a lot of progress that first weekend, my code gradually became more complex, and it started getting harder to keep things straight or decide how to pull the information I needed. After getting some advice from a developer that sits by me, and studying further into the CodeAcademy JavaScript tutorial, I then realized I could re-structure my game to follow a more traditional "Object-oriented" fashion and take advantage of JavaScript's Prototypal/inheritance nature. That led to a whole weekend of diving in, getting really confused, and then slowly figuring out how to once again structure my game and make it work. However, I learned a ton and my code was far better off because of it!
Well now I've run into another issue where one of my iterators keeps looping and is not escaping, so I worked briefly with another of our Software Engineers yesterday, and he mentioned that an "alert" method I'm using does not work well with browsers, and that I should strongly use jQuery for what I was trying to do. So now after about two weeks, I'm diving into a completely different area and once again deciding to re-structure my game to make it work better and become easier to work with moving forward.
I spent yesterday researching how to implement the jQuery library, which then also led me to pull in HTML/CSS and changing my game to a more graphical nature in the browser rather than being completely text based from JavaScript functions. While it's not absolutely necessary that I do this, I do envision where this is going to make certain aspects of my game a lot easier and a lot more efficient to code. I even learned how to make my page somewhat "responsive"! That basically means that if you were to start with a full screen, and start to shrink the screen, the elements will shrink along with it so that the page remains readable and functional. Especially since a web page can be accessed by so many devices including tablets, phones, laptops, etc. all of which have different size screens, implementing responsive design is an absolute must.
So basically what started as a simple JavaScript program with basic "for loops" & "iterators" has now evolved to be so much more. At least I've learned concepts and a little bit about other languages & libraries that I've been able to apply to my code. I've faced some type of challenge on an almost daily basis, but I've learned something new every step of the way and feel so much more confident today than I did a few weeks back when I started the game!
Software Engineering is definitely a field and skill set that requires you must "Always be learning!".
Labels:
codenewbie,
css,
html,
javascript,
learning,
responsive,
RPG games
Location:
Atlanta, GA, USA
Sunday, July 13, 2014
Lessons learned
I've recently been working through the CodeAcademy JavaScript tutorials, so I randomly decided on Friday I would try to build a text based RPG game using the stuff I've been learning. Mainly, I've been learning about functions, arrays, objects, for loops, while loops, etc. I figured what better way to see what I've actually absorbed than to push my skills to the max by building a simple game that leverages these concepts. (If you aren't familiar with an RPG game - it means Role Playing Game. Essentially, my program provides you with a Scenario and then gives you various options. Depending on what option you choose, your game can have different outcomes).
Here are some things I've learned this weekend:
Here are some things I've learned this weekend:
- The internet is such a huge resource when you get stuck! I ran into an issue on Saturday that I worked and worked on, but could not figure out how to solve. I posted my question on Twitter and within 10 minutes had a conversation going with 4-5 other developers and I learned a few possible ways to solve it. The nice thing though, apparently my question wasn't a complete newbie question and actually posed some challenges to think about.
- While programming, when working on logic and flow statements, it's IMPERATIVE that you read your code with an empty & fresh mindset with no preconceived notions. If you think you know what the outcome should be, it can make it very difficult to effectively follow along in your code and troubleshoot.
I'll try to give an example in layman's terms, which is actually the problem mentioned above:
A user is presented with options 1, 2, 3, and 4 and each option routes to a different scenario. I wanted to ensure they selected one of the four options and didn't try to select 5 for example. My logical flow was:
if userOption is not equal to (1 OR 2 OR 3 OR 4) then that is a bad result
I spent at least 30 minutes reviewing through this line of code and trying to figure out why it was not working. And then finally the light bulb went off! My program was checking to see if userOption was not equal to any of those options; so for example, if I selected 3 (which I wanted to give a good result), it still compared it to 1, saw it was not equal to, and returned a bad result.
The correct logic is .... ("userOption is not equal to 1" AND "userOption is not equal to 2" AND "userOption is not equal to 3" AND "userOption is not equal to 4") then it returns a bad result.
That may look confusing, but the first one returned a bad result if "ANY" of the four were true (i.e. 3 is not equal to 1 --> true) and the second returned a bad result only if "ALL" of the four were not true.
- I learned how to use the "Inspect Element" to see where I was having issues with my JavaScript. Ok so this wasn't something completely new to me. I had been told about this feature and have used it some to review my HTML. However, after struggling all weekend to figure out which part of my code I broke, it finally hit me Sunday morning to review the "Inspect Element logs" which tell me exactly which line my error was on. This would have saved me a considerable amount of time if I had used it all weekend. Live and learn right?
Well that's about it for this weekend. Stay tuned for my CodeNinja Adventure RPG game! I've finished a lot of the basic flow but still have a lot to build out. I'm hoping to wrap up the game within the next week or so and I'm going to try to embed the code within my blog so you could just click a link and launch the game.
I definitely feel like my knowledge of JavaScript and troubleshooting errors has come A LONG way this weekend. Overall, I'd consider this weekend a success!!
Labels:
codenewbie,
coding,
javascript,
RPG games
Location:
Atlanta, GA, USA
Saturday, June 28, 2014
One step forward...fifteen steps back
Saturday afternoon, world cup is on the tv, and I'm plopped down on the couch with my laptop & book in hand. My dog is fast asleep on the couch, but probably bored and wishing I would play with her instead of having my eyes glued on my laptop! I figured now is as good of a time as any to provide another update...
I've been trying to spend as much time as possible learning how to code and working on my app. As a refresher for anybody that has been reading along, I'm working through the book "Agile Web Development with Rails 4" by Sam Ruby, Dave Thomas, & David Hansson. The book provides an in-depth tutorial in which you create an e-commerce site for a fictional customer. My issue with tutorials is that a bulk of the code you need is already in the book, so I feel it doesn't challenge you as much as I'd like. So I decided to create my own app which will allow you to add & store your favorite recipes online, and eventually I'll add a randomizer to allow you to pick a recipe at random.
I'm really hoping to spend at least 10+ hours a week studying because I'm really enjoying it. I would love to spend more time than that, but I do have a full time job & other activities that keep me pretty busy. However, there is something about typing in a few lines of code, seeing something pop up on your computer screen, and thinking to yourself - "I DID THAT!". In addition, coding involves A TON of problem solving and I always enjoy the rush of finally figuring out something that I've been stuck on!
So that leads me into the main topic of today - I was starting to feel comfortable navigating to different parts of my Rails application and being able to troubleshoot and figure out issues...and then this happened...
Thankfully I recently stumbled across a great group on Twitter called CodeNewbie that has been extremely beneficial! It was started by Saron (@saronyitbarek) and Carlos (@carlosplusplus) and it's a great community of developers and developers in training that are always there to help out. I posted a screen shot and within 15 minutes already had a response from @carlosplusplus!
The answer ultimately ended up being me starting my app over, but I really wasn't that far in and it took me maybe 15 minutes to get everything back to the point I was previously at! Here's a screenshot of the current state of my app from the web browser:
Overall, it's a ton of fun every time I get to sit down and learn a little more about coding, even if it is a step forward and a few steps back sometimes. I'm very fortunate that I get to sit around close to 200 very talented Software Engineers at CareerBuilder and I can ask for help on an almost daily basis.
Hopefully in the very near future I'll have some good updates and screenshots of how my apps coming along. In the meantime, if you have any advice, words of encouragement, or are interested in hearing about a certain topic - please feel free to comment or email me at austi003@gmail.com. I'm hoping at least one person out there finds this blog interesting or gets some value out of it :)
I've been trying to spend as much time as possible learning how to code and working on my app. As a refresher for anybody that has been reading along, I'm working through the book "Agile Web Development with Rails 4" by Sam Ruby, Dave Thomas, & David Hansson. The book provides an in-depth tutorial in which you create an e-commerce site for a fictional customer. My issue with tutorials is that a bulk of the code you need is already in the book, so I feel it doesn't challenge you as much as I'd like. So I decided to create my own app which will allow you to add & store your favorite recipes online, and eventually I'll add a randomizer to allow you to pick a recipe at random.
I'm really hoping to spend at least 10+ hours a week studying because I'm really enjoying it. I would love to spend more time than that, but I do have a full time job & other activities that keep me pretty busy. However, there is something about typing in a few lines of code, seeing something pop up on your computer screen, and thinking to yourself - "I DID THAT!". In addition, coding involves A TON of problem solving and I always enjoy the rush of finally figuring out something that I've been stuck on!
So that leads me into the main topic of today - I was starting to feel comfortable navigating to different parts of my Rails application and being able to troubleshoot and figure out issues...and then this happened...
Thankfully I recently stumbled across a great group on Twitter called CodeNewbie that has been extremely beneficial! It was started by Saron (@saronyitbarek) and Carlos (@carlosplusplus) and it's a great community of developers and developers in training that are always there to help out. I posted a screen shot and within 15 minutes already had a response from @carlosplusplus!
The answer ultimately ended up being me starting my app over, but I really wasn't that far in and it took me maybe 15 minutes to get everything back to the point I was previously at! Here's a screenshot of the current state of my app from the web browser:
Overall, it's a ton of fun every time I get to sit down and learn a little more about coding, even if it is a step forward and a few steps back sometimes. I'm very fortunate that I get to sit around close to 200 very talented Software Engineers at CareerBuilder and I can ask for help on an almost daily basis.
Hopefully in the very near future I'll have some good updates and screenshots of how my apps coming along. In the meantime, if you have any advice, words of encouragement, or are interested in hearing about a certain topic - please feel free to comment or email me at austi003@gmail.com. I'm hoping at least one person out there finds this blog interesting or gets some value out of it :)
Labels:
codenewbie,
coding,
css,
Ruby,
Ruby on Rails
Location:
Atlanta, GA 30319, USA
Subscribe to:
Comments (Atom)

