Ember Computed Properties in Practice

For me, our class' transition from Rails to Ember.js was an exciting one. I felt as though it marked me taking one step closer to being a real developer - for the first time, harnessing the ultimate developer super-power of being able to transfer programmatic knowledge and thinking across languages and frameworks. This enthusiasm was bolstered after brief exploration - while the land looked quite different than that of ruby and rails…it felt familiar in an exhilarating way. This optimism, coupled with the fact that the Ember mascot is an adorable hamster…I mean, come on.

Read on →

Building in Rails, or: How Partials Saved My Life

While kicking off our project, gettogethr at the Flatiron School, my group and I quickly aligned on the fact that the best design approach for our idea would be that of a single page web app. Keeping user experience in mind, we wanted gettogethr to be easy and quick to use, not forcing our users to make unnecessary navigations. As new developers, this proved a challenge, forcing us to dig deep into elements we had touched on in class, and utilize other we had only glazed over. Not only did we need to bring responsive design to nearly every element of the main user page, but we needed a codebase where three guys could work on the ‘one page’ concurrently. In the end, we successfully accomplished our goal with hefty use of jQuery and AJAX, as well as the decision early on to partial-ize the living christ out of our main index page.

Read on →

This Week in Janky Javascript...

While working on our recent project, gettogethr, our team saw a number of opportunities to make the user experience feel much quicker and more customizable. Of course, in order to see these through, we knew we’d need to call upon our new friend Javascript and her metal-armed brother (A)JAX.

Read on →

Time Traveling & Finding a Use for .pushState( )

When you type “this” into your browser’s javascript console, you’re returned an object:

Window {external: Object, chrome: Object, document: document, GoogleAnalyticsObject: "ga", waffle: Object…}

While debugging your code, seeing this object could cause frustration (and likely has at some point) - you may have forgotten to bind “this” to the function in question or something along those lines. In this context, the appearance of a wild “Window” is nothing more than a sign that you’ve done something wrong.

Read on →

SQL Injections & (Ideally Not) You

Before diving headlong into the magic of ActiveRecord, our class spend a few days learning the basics of SQL - practicing basic queries, joins etc. - as well as beginning a much longer discussion around data-driven applications. A topic that came up briefly piqued my interest: the strangely biological/viral-sounding ‘SQL Injection’ - a malicious action someone can take against an unprepared database to acquire information, or (sometimes) worse, destroy the data. We spent much more time discussing the ‘sterilization’ of code to prevent such vulnerabilities than the actual mechanics of an attack, so I thought it would be worth while to learn more.

Read on →

Singleton Classes: The Class' Mysterious, Estranged Uncle

As we continue to climb further down the rabbit hole that is object oriented programming, the sheer magnitude of my ignorance is becoming more clear everyday - and I have a feeling I should start getting comfortable existing in this state of “conscious incompetence” for a while. One thing I continue to find myself uncomfortable with is separate class object interactions - the thought of doing another “Artist-Song-Genre” lab makes me dry-heave. As such, I thought it would be a good exercise to try and dig into a related topic and work to better understand class interactions.

Read on →

Web Scraping & Hacker News

After covering basic web scraping in class, I thought it would be fun to get some additional practice scraping a live website and to create a simple, useful app with the result. The premise is pretty straightforward, but offers a feature not easily gleaned from simply visiting the Hacker News website - the program compares both each article’s Reddit-style point count with the quantity of comments. After identifying that article, it launches the webpage automatically from the console. See below for a repository link to ‘Must Read Hacker News.’

Read on →

A Peek Into the Black Magic That Is RegEx

Interestingly enough, the first topic of my ruby blog isn’t explicitly limited to the ruby language. Regular Expressions, or RegEx, are something I had seen used in ruby documentation and StackOverflow posts for months, but because its cryptic presentation felt so unapproachable to my young and impressionable eyes, I never investigated further. Sure, I copied and pasted some examples to use for string substitutions, but I certainly didn’t understand what on earth I was telling my method to actually do. Since then, the tune of my song has changed - after a brief explanation by a classmate, I realized that RegEx is an extremely powerful and endlessly useful tool to master, one that our instructor (only somewhat) jokingly compares to black magic.

Read on →

Initialize

Welcome to the technical Blog of Skip Suva. Over (at least) the next three months, I will be adding posts periodically and writing about topics that interest, confuse, and frustrate me - with the hope that doing so will not only enlighten a reader or two, but also ensure I master that domain.