Code School Classes Are Complete…For Now…

My Code School Report Card

Over the course of the last year, I’ve been slowly making my way through all of the Code School Paths, and I finally finished the iOS Path today.

My Code School Report Card
My Code School Report Card, as of 6-22-2015

I saved iOS for the end, in the hopes that the Objective C classes would be retired in favor of newer Swift classes, but those haven’t even been published yet.

After a year of classes, I maintain that Code School is well worth the price tag ($29/month or $290/year) as long as you stay committed to a schedule of study. It’s a wealth of information for this price, but you won’t learn it unless you do it.

This past year, Code School was purchased by Pluralsight, so I only expect the classes and class offerings to continue to improve. I’m still waiting on that Python path, which I hear is in development.

While I’m also waiting on Swift classes from Code School, I plan to take the iOS 8 Immersive course, which covers Swift, at bitfountain.io. For $149, it’s quite reasonable, as long as it delivers what is promised.

Completing the Core iOS 7 Code School Course Using XCode 6.x

iOS logo

One of the classes that must be completed on the iOS Path for Code School is Core iOS 7. When this course was published, version 7 was the most recent iOS release and the IDE used was XCode 5 from Apple.

This course may be done using XCode 6.x, and most of the exercises will run on the iOS 8/8.1 Simulator that comes with this version of XCode. However, due to some changes between iOS 7 and iOS 8, some of the exercises will successfully compile and run, but the associated tests will fail.

The solution to this problem is that the iOS 7.1 Simulator must be added to XCode 6.x. This is done through XCode Preferences on the Downloads tab. If you are using a MacBook Pro or MacBook Air, make sure that it is plugged in before attempting to download anything through the XCode Preferences interface. If you are running on battery, the download never starts and no error message or warning is given.

Also, before selecting Test in your application, make sure that the active scheme is a device running iOS 7.1. The iPhone 6 and 6 Plus options only run on iOS 8, so choosing “iPhone 5s (7.1)” should work fine.

Using PHP to Scrape the Report Card from a Code School Profile – Part 2

CodeSchool logo

Earlier this week, I described how to use PHP to scrape the report card from a Code School profile. Now, it must be displayed. I chose to display mine in the sidebar of my blog. To do this, jQuery and CSS will be your friends. It’s pretty simple, and this isn’t the only way to do it. However, in this implementation, it is important that the name of the querystring parameter used in the PHP script (in this case, “nick”) matches the one in the jQuery function call below. Likewise, the id attribute of the div element must also match the one in the jQuery statement.

(Update: the CSS code below should be updated in accordance with this change to prevent bullets from appearing between the badges in the “Master Status” section.)

<style>
#codeschool {
   text-align: center;
   vertical-align: middle;
}

.badge-img {
   display:block !important;
   margin-left: auto;
   margin-right: auto;
}

.pr-avatar {
   display:block;
   margin-left: auto;
   margin-right: auto;
   margin-bottom: 10px;
}
</style>
<div id="codeschool">
</div>
<br />
<script>
(function($) {
$("#codeschool").load("/codeschool/codeschool.php?nick=DeepInTheCode");
})(jQuery);
</script>

Well, that’s it. If you debug the client-side code on both your page and the Code School profile page, you’ll see that there are path elements in the Code School script that cause the partial opacity on uncompleted paths. This is presumably done with other JavaScripts and CSS on the Code School site. I haven’t tried bringing that functionality here as yet. Perhaps for another time…