Hump Day

I’m having a hard time concentrating today, so I thought that I’d take a break to assess where I am in my program. Honestly, I can’t believe that it’s the end of March! As I mentioned earlier this month, I was hounded by this feeling of being “behind”, due to basically taking January off to earn some $$$. Totally reasonable, but I just couldn’t shake it.

March in Review 

Anyways, I busted ass in March, upping my study time to ~55 hrs/wk from ~40 hrs/wk in February. I finished 2 unit final projects that I’d been putting off forever, and scheduled my assessments for them. I’m going to meetups of some sort every week, so that’s getting easier.

I’m itching to contribute to “real world” projects, so around the middle of the month when I found an open source software internship program for minorities, I really wanted to apply. However, when push came to shove, I didn’t pull my application together fast enough for that round of selection. It was a long shot, as I found out about the program 5 days before the deadline. Besides putting together my app for the next round, I’m exploring other options to contribute. Code for America’s San Francisco chapter has a few interesting projects along with a weekly hack night, and Up for Grabs looks like a cool site for finding open source projects that need help.

New Computerrrrr!!!!

I’d been holding out on buying a new computer until the next Macbook Pro release, but there were no computers announced at the March Apple event. Bummer! But I took that as a sign to finally bite the bullet and get my first new computer since… 2009? It’s awesome. I’m a week in and so far I love developing on a Mac. I should have done this months ago!

Rails & the Rest…

Anyways, what else… I’m finally in the promised land…. RAILS.

First off…

Hallelujah!!!

Secondly….

It is kicking my ass. Rails is vast. Rails is powerful. Rails has so many amazing features, you just gotta know the magic words. As I’m plodding through, I feel like I’m being inducted into Hogwarts or something. WHAT IS THIS BLACK MAGIC RAILS???

The Finish Line

For a while in my program, there was a bit of a running joke about “never finishing” because it felt like every day they were adding more and more lessons to the final section. However it looks like they’ve finalized the curriculum! So now I know where the end is. Here’s how I stand today:::

  • Rails 53/102 lessons w/final project
  • JavaScript 46/55 lessons (close!!)
  • Rails and JavaScript 13/46 lessons w/final project
  • Angular JS 7/111 lessons w/final project

So close, yet SO FAR… I don’t think finishing off JavaScript/Rails stuff will be too troublesome, but I’m honestly nervous about Angular based on what I’ve heard from classmates.

Oh well, time to get back to work.

Meetups: SF Rails / Ruby

sfrails_icon

Event: [SFRails/ Ruby] Rails Performance Optimization, Bundler, + Internationalizatio­n

Agenda 

6:30 Networking | Food | Drink

7:00 Sharing of Tips and Tools

7:15 Speakers

Talk 1: Rails Performance Optimization
Learn advanced Rails performance optimization tricks, techniques, and processes from the author of the Ruby Performance Optimization book recently published by the Pragmatic Bookshelf.

We’ll talk about what exactly makes Ruby and Rails slow, and ways to fix it by optimizing memory usage first and CPU usage next. We’ll also talk how to make ActiveRecord faster, how to take advantage of your database, and how recent changes in Ruby itself affect Rails performance.

At the Q/A session after the presentation you’ll have a chance to ask your question about Rails performance.

Talk 2: “How Does Bundler Work, Anyway?”

We all use Bundler at some point, and most of us use it every day. But what does it do, exactly? Why do we have to use bundle exec? What’s the point of checking in the Gemfile.lock? Why can’t we just gem install the gems we need? Join me for a walk through the reasons that Bundler exists, and a guide to what actually happens when you use it. Finally, we’ll cover some Bundler “pro tips” that can improve your workflow when developing on multiple applications at once.

Talk 3: Going Global: How to internationalize a Rails App

Localization is key to providing a great user experience for global customers. The rigorous localization efforts by companies like Facebook, Airbnb and Google yielded compelling results both in terms of growth as well as customer appeal. Luckily Rails comes with great internationalization support which makes it easy to start even for any size of app and stage of business. However, localization does not stop with the pure translation of interfaces and contents, but often has further application design as well as technical marketing implications.

8:30 End 

Group: SF Rails / SF Ruby

Location: Lumosity

Read more

NPR API CLI gem – OO Assessment

In my program each major unit ends with a few projects. There are a couple of projects that just feel like really long labs, and then there is a final project that is a bit more open-ended (AKA fun). After you’ve finished your project, you’re required to film a video walkthrough, write a blog post about the experience, and lastly you have an assessment with a Flatiron instructor.

For the object-oriented Ruby section, they asked us to create a CLI gem that scraped data from a webpage or via an API. Despite having a little experience with web scraping and APIs in Python, it still took me a while to get my head around the best way to approach the project. 

Specific Project Requirements:

  • * Package as a Ruby gem
  • * Provide a CLI on gem installation.
  • * CLI must provide data from an external source, whether scraped or via a public API.
  • * Data provided must go at least a level deep, generally by showing the user a list of available data and then being able to drill into a specific item.

My Gem Overview / Walkthrough

I built a gem that connects to the NPR API. Through the command line you can pick an NPR radio program and see its recent stories, then drill into those stories to see further information. You can also choose to read the whole story through the browser.

The interface looks like this:

npr-stories-gem

Here is the video walkthrough of my gem:

Read more

Meetups: Uber Engineering

Event: Uber Security Open House

We’re pleased to invite you to our first Uber Security Open House on March 16, 2016!

The event will feature both tech talks from members of our team and opportunities to network with people both inside and outside of Uber Security.

We hope you’re able to join us – please RSVP today and look out for more information headed your way as we get closer to the event.

Event schedule:

5:30pm – Check-in, Food, Drink

6:00pm – Tech Talks

7:00pm – 9:00pm Food, Drink, Networking

More info can be found here. We hope to see you on the 16th! 

Group: Uber Engineering 

Read more

Knit Tracker – Sinatra Assessment

When I first saw the Final Projects for the object orientation section of my program, I was intimidated. OO was hard! And creating a CLI gem just sounded like a lot at the time. I felt differently upon reaching the Sinatra assessment. The project requirements seemed simple enough: create a CRUD app using Sinatra and ActiveRecord. As the labs building up to this project had made me do this several times over, I felt ready to create my own. Actually pulling it together wasn’t simple by any stretch, but it was certainly not as intimidating as the CLI gem (which I’m still working on!).

Specific Project Requirements:

  • * Build an MVC Sinatra Application
  • * Use ActiveRecord with Sinatra
  • * Use Multiple Models
  • * Use at least one has_many relationship 
  • * Must have user accounts. The user that created the content should be the only person who can modify that content
  • * Models must have validations to ensure that bad data isn’t created 
  • * Any validation failures must be shown to user with an error message

Read more

Scroll To Top