Not much to report today. I spent my time working through some labs that were about popular Ruby Gems and how to find good ones. Paperclip, Kaminari, and Active Admin were presented and gone over. I also found out that RubyMine is going to be my IDE basically for the rest of the curriculum. This is because I’m writing Rails backend and JS front end. WebStorm is a 100% JS IDE so it would have serious problems with the Rails part of the apps I’ll be building. When I implement Node, later on, I should use WebStorm.

Other than that I just did some more reading in the Career Prep track. I’m trying to get ahead of the curve on that aspect. I’m debating if I should follow up with the business cards I received this weekend. As part of my career search requirements, I have to reach out to 8 people per week. I could include these connections in that first week. Although, I think prompt follow up is better so I’ll probably schedule some e-mails to go out first thing in the morning.

I also passed 80% done in the program tonight.

Time spent today: 2:13
Time spent total: 368:05
Lessons completed today: 7
Lessons completed total: 614

I finally got back into the swing of Flatiron. I did <30 mins of school yesterday so I just chose to blog about FCC. A lot of reading going on as of late. The Rails asset pipeline and how to use it. I actually figured out some of this since I implemented Bootstrap in my Rails Portfolio Project. It felt good to plow through some labs tonight. I’m so close. Now is the time to crank up the intensity and really go at it to the finish line.

I have to say, I don’t know much about other backends but the asset pipeline is a pretty neat feature of Rails. I guess being such a mature framework has its benefits.

Time spent today: 3:06
Time spent total: 365:41
Lessons completed today: 15
Lessons completed total: 607

dave & seth @ music city code

We had our June meetup today and it was good. A small group but we solved some problems together and we talked shop some. Specifically, Leland brought up the scope of the projects. How it’s easy to go off on tangents and hours later be so far away from what you initially started working on. We shared some tips on how to stay focused and keep within the scope of the project. Especially since a lot of the time, we’ll learn things after we complete a project that just makes it even easier to implement what we truly wanted to do. So sometimes it’s more frustrating to succeed in going the extra mile trudging through the dirt only to realize that you didn’t know about the free shuttle that could’ve gotten you there much quicker and easier.

We put our heads together and helped Andy with a checkbox problem he was having. We were calling checked (MDN, W3Schools) to return true or false and it was throwing an error complaining about not being able to be called on null.

We discussed the job landscape at length as Phillip is on the prowl hard but doesn’t have that 1-3 years professional experience it seems like all Jr. Developer roles are looking for these days. Which we all agreed is a Catch-22 that just doesn’t make sense. Networking is a big key to getting the first job in this industry it seems. Having a Sr. Developer who can vouch for your skills is typically needed for a company to take the leap and risk it. HackerRank came up in the discussion as well as the usefulness of some recruiters to open doors when the resume is lacking.

We found out about CHINGU from Matt. An interesting project that looks to throw people who are self-learning web development into cohorts of like-minded people to level themselves up in a quicker fashion. I was able to find the “Welcome” doc they send to new cohorts and it’s an interesting framework. I’d be interested to see how one actually is executed but don’t think I want to take part in one at this point in time. I have enough going on. It’s a solid option for others though to look at how they can speed up their progress.

I shared some of the resources that we came into contact with this weekend with Music City Code. Specifically, Technologist Federation of Nashville aka TechFed. They’ve got an awesome thing going on. I highly encourage everyone to sign up with them on their site. If you’re looking to get more involved with the Nashville tech scene then volunteer at tech events. The networking is invaluable. Also, the Complete Developer Podcast are a couple, cool dudes. They run a weekly podcast as well as a bi-monthly (that means twice a month right?) developer meetup. Subscribe and go check out their meetup.

We’re looking forward to bigger things for freeCodeCamp Nashville. We’ve got a bigger meeting space in the works. Also, possibly some sponsorships that’ll allow us to do more and maintain a small budget. We received a lot of positive feedback from Music City Code attendees who stopped by the table. We also found out that Nashville Software School shares freeCodeCamp as a resource for people wanting to learn more about coding.

Finally, a huge CONGRATS to our very own Organizer Dave who landed his first dev gig this weekend! Yet another one showing the people can make the transition to web development without a CS degree and without attending a boot camp. Persistence and hard work do pay off.

This morning came way too soon after last night. However, today was good. Got to see Jest in action. Saw a simple Hapi.js server. Learned about Wallaby.js. Got to do some planning for our table tomorrow and Saturday. Got 3 lessons/labs done in Flatiron and finished the Advanced JS section. It was good. I’m looking forward to tomorrow. However, I will not get sidetracked like I did last night and actually get to bet before 11pm tonight.

If you’re keeping track of my lessons total they’re going to start to jump as I do the career services stuff in addition to my curriculum.

Time spent today: 3:35
Time spent total: 362:35
Lessons completed today: 11
Lessons completed total: 592

I passed my Rails Assessment today! It went well and there was only one thing I needed to follow up with after it was over. Now I’m just looking for the check mark on it to turn green!

The next few days are going to be LONG. However, they should be very productive and great networking. They’ll be long because they start EARLY (like be there at 7am early) and I still plan on coding at night once the kiddos go to bed. Music City Code will be a great experience. I found out today that I won’t have to man our Free Code Camp Nashville booth tomorrow which is cool. I’ll be able to just attend a couple sessions. I’m looking forward to Extreme TDD (Test-Driven Development):

Unit testing is one of those things that we all agree is good but, because of the learning curve, unit testing is often put in the back seat or forgotten. As a result, we lose out on the positive benefits that come from unit tests and the process that they lead us through. This workshop is designed to help you destroy the learning curve and become proficient in not only unit testing, but also mocking and test-first development (or TDD). This session might not be able to transform you into a seasoned expert, but it WILL help you get past the common speed bumps and roadblocks that discourage many well-meaning developers. Bring your laptop and your favorite code editor and get ready to go “extreme!”

As I know testing is something that a lot of employers are looking for. Being able to write some unit tests for my projects is going to look good. I did a few for my Rails project but want to do more in the future. I’ve just been shunning learning the DSL of testing libraries. I figure a 4-hour crash course is going to push me past the initial hurdles and get me to proficient enough to find answers to things I do not know past the basics.

I’ve also mapped out the sessions I want to go to for the rest of the conference although I may end up sitting at our table for a large chunk of that time. I’m quite okay with that though. This will allow me time to speak at length with people and/or work on school/read if not busy.

Okay, it’s pushing midnight and I should leave tomorrow by 6:15am to arrive by 7:30ish.

Time spent today: 3:34
Time spent total: 359:00
Lessons completed today: 2
Lessons completed total: 581

I just spent way too much time looking into Mocha, Chai, Jasmine, and I can’t remember what other test libraries. Trying to solve this testing problem we have over in Javscripting that I help maintain. I like the fact that there’s this problem that needs to be solved and it’s something I can learn from. Now I’m trying to figure out how to test against a file that has no functions in it. I think this is simpler than I’m making it out to be. I need to just create a simple testing environment and start playing around. I think that’s what I’ll do.

I’m 5 lessons/labs away from finishing Advanced JavaScript and moving into Rails and JavaScript. I’m officially 77% of the way there! Now bedtime as it’s late enough as it is.

Time spent today: 2:22
Time spent total: 355:27
Lessons completed today: 6
Lessons completed total: 579

So I had a bunch of stuff to say, okay not really, and then I checked my Dashboard on Learn and saw the beautiful sight that my Graduation Dashboard has appeared! That means I’m past 75% done and in the final stretch. Being 75% done in <3 months has me on track to be done before the end of June! I’m stoked.

So something that I had been struggling with is how Ruby is a class-based object-oriented language and JavaScript is a prototype-based object-oriented language. This always confused me. The whole prototype thing in general always confused me in JS. Until now:

There are two primary types of object-oriented (OO) languages: class-based and prototype-based.

In a class-based OO language, such as Ruby, Java, C#, and C++, we must first design the Class, or blueprint, of an object, and then create objects from that blueprint in order to use them.

Imagine a set of instructions from IKEA as the Class, and your assembled Fthugënbøller bookcase as the object.

JavaScript uses prototypal OO. Instead of creating a nonfunctional class definition, we actually create the object, which is then used as a prototype to create other objects.

In the real world, this would be like taking a bunch of laminated wood and assembling a Fthügënbøller, and then using that as your guide, or prototype, for creating other Fthügënbøllers, and Fthügënbøller-like objects.

That real-world analogy did it for me. Of course, then I learned about ES6 JS Classes. However, knowing how something can be built multiple ways is a strong skill to have. Although, I have to admit, after doing a lab testing prototypal inheritance works and is accomplished by using Object.create() among other things. Then doing a lab testing the use of classes. I much prefer classes haha.

I also ran into an issue tonight doing that prototype lab:

function Point (x, y) {
  this.x = x
  this.y = y
}
Point.prototype.toString = () => {
  return `(${this.x}, ${this.y})`
}

// In the terminal
> var p = new Point(2,3)
undefined
> p
Point { x: 2, y: 3 }
> p.toString()
'(undefined, undefined)'

I couldn’t figure out why this was returning undefined. I finally just removed the arrow function and used a normal(?) function and it worked:

Point.prototype.toString = function () {
  return `(${this.x}, ${this.y})`
}

This was interesting to me and I need to dive deeper into why this happened. As I read You Don’t Know JS, I find myself no happy with figuring these problems out and moving on. I want to understand the why behind them. Although, if anybody out there knows feel free to fill me in.

Time spent today: 8:45
Time spent total: 353:05
Lessons completed today: 14
Lessons completed total: 573