May 2013
5 posts
cubecul asked: Hi Richard. I love your videos; thanks so much (times a million!). I have a bit of a bigger question to ask. I'm just about to be a junior in college. I'm not studying anything technical. I've fallen in love with programming over the last month and a half. Previously, I just wanted to go into consulting: prestigious and great opportunities ahead. I enjoy that subject matter quite a...
iamakimmer asked: You have the best lesson on Rails hands down. Coming from enterprise Java development..I felt that there was so much magic in Rails that other videos tend to skip over. Your through explanations and the Reddit on Rails project really helped to explain many of the details I was really confused about. Thank you!
mikeholley asked: Hello Richard, I was curious after you worked at Gowalla and used PostgreSQL and now work at Heroku which has MongoDB as an option for users. If you were going to do an app that has data like places as well as user data like posts, checkins which would you use today? Thanks for your response.
kylegracey asked: Hey man, I just wanted to say thank you for putting the UT rails course online. Seriously. I've tried a couple of different courses, and this is the first one that explains everything clearly and teaches in a way I *understand* and actually *learn* from. So yea, anyways, thank you x1000. If for some reason I ever run into you in the real world, I owe you a beer or three.
janezli asked: Dear Richard, I stumbled upon your videos after searching for a way to learn RoR online. Unfortunatey, I have no programming experience at all, and I was completely lost in the second video of week 2 (ActiveRecord). I didn't even know where to start to follow along. Is this intended for beginners with no database/programming knowledge? Finally, I noticed you also have a set of videos in...
April 2013
1 post
Git Minutes Podcast Interviews Schneems →
Had a delightful time talking to GitMinutes about workflow, Rails issues, and more. Have a listen and tell me what you think.
March 2013
1 post
Heroku Engineer Engaged to Ruby
It was a long day when @schneems typed $ git push heroku master, opened his website, and exclaimed “I love Ruby!”. Then as if inside of Pee-wee’s Playhouse he heard a voice say: “If you love Ruby so much why don’t you marry her?”. So on December 25th, he got down on one knee with his Grandmother’s engagement ring and proposed to Ruby Ku. She said yes!
...
February 2013
2 posts
Open Source in your Inbox: Code Triage
“I don’t have time to contribute to open source”. But who does? We’re too busy shipping products and open source is so daunting and time consuming. Sure tools and technologies are our livelihood, but there’s just so much there. Even if you’ve got the time - where do you start?
What if giving back wasn’t so overwhelming, so time consuming, so vast and...
Anatomy of an Exploit: An In-depth Look at the...
Exploits happens, and this month the Rails and Ruby communities have seen no shortage. From a major exploit in Rails to a slightly different Rubygems.org attack, there has never been a better time to brush up on software security.
Maybe you’re wondering why these vulnerabilities happen in the first place, why they weren’t caught in the first place, or maybe you just want to know the specifics of...
January 2013
2 posts
3 tags
Use GIFs in your Pull Request for Good, not Evil
This weekend I made my OVER 9000 pull request to Rails, that features a demo of the functionality in GIF format. I’ve had a number of people ask the same question “what is your GIF workflow?”. For the detail oriented of you in the crowd, here it is.
The Content
I filmed my screen using Screen Flow, which I used to do all my work on UT on Rails, it’s not free at $99, but...
4 tags
Good, Simple Design
I’ve heard this re-framed again and again by many different programmers from @wycats at Ruby conf to @dhh in his parlay letter:
I consider this [the ease of getting started], like maintainability, to be a side effect of good, simple design.
I think this is a great way of looking at the “beginner” problem, but it doesn’t give much guidance. What exactly is good design...
December 2012
1 post
2 tags
JRuby Support Live on Heroku
I’ve been quite lately, thats because we’ve been working on something amazing over at Heroku. So check out:
Run JRuby on Heroku Right Now
Move and Existing Rails app to use JRuby
I had a ton of fun working with JRuby, and Heroku made it super easy. If you’ve never thought of using JRuby in Production, maybe you can give it a whirrl.
November 2012
4 posts
soner2 asked: Hi there, I wonder what do you think about MongoDB and Mongoid? I'm confused to use them or not. I'm between PostgreSQL and MongoDB... Well, so a relational database and a document-oriented database. Thanks for your reply.
4 tags
Custom Wizard URLs in Rails with Wicked
I wrote this wizard controller library that people seem to really dig called Wicked. It works well to build after signup wizards and to incrementally build objects for the database but there is one thing it didn’t do very well until now: allow you to change the text in your wizard url’s quickly and easily.
If you’re new to Internationalization (I18n) it’s a process of...
4 tags
Hacking mruby onto Heroku
If you’re in the Ruby world, you’ve likely heard about mruby, Matz’s latest experimental Ruby implementation. What I bet you didn’t know is that you can run mruby on Heroku right now. As a matter of fact you can run just anything on Heroku, as long as it can compile it into a binary on a Linux box.
If you’re new to mruby, or to compiling binaries take a look at my...
Ruby 2.0 Preview Available on Heroku
When Heroku first launched you could only use one version of Ruby: 1.8.6. As the Ruby implementation matured and improved, so did Heroku. We recently announced the ability to specify your ruby version on Heroku, and we are happy to announce the first preview-build of Ruby available: starting today you can use Ruby 2.0 preview1 on Heroku.
Read more …
October 2012
6 posts
4 tags
Reddit on Rails part 3: Last week of UT on Rails
I’m finally wrapping up my UT on Rails series. While people have been getting close to the end of the course, I’ve gotten the question “Now what?” plenty of times. Now that you’ve spent 40+ hours pouring over videos, exercises, and quizzes where do you go from here? To answer this question I made a short video. But first, the last exercise of the course:
Reddit on...
3 tags
Try mruby Today
Ruby dominates the web: running popular sites like Github, Heroku, and Living Social. But why should web developers get to have all the fun? Wouldn’t it be great if game developers, embedded systems engineers, or anyone else could use the beautiful syntax of Ruby in their C programs? Lucky for us, that’s exactly what mruby plans to do…
continue reading my article on Rubysource: try mruby...
the boots in the corner: Hire junior devs! →
amydoesntlai:
To employers:
Hire junior devs!
I am writing this not because it is self-serving — at least, not entirely because it is self-serving — but because I have been hearing people in the industry say so, and I didn’t want to be guilty of, you know, hoarding their knowledge.
On Wednesday, some of us…
4 tags
Embed Gists into a Markdown File
Have you ever wanted to convert all the code blocks in a markdown file to embedded gists?
Well now you can! Embed gists into markdown by copying this script into a new file, and run it with the name of the markdown file you want to convert:
Useful for formatting lots of code on a blog if you don’t have prettify.js.
Enjoy!
4 tags
Would you like a Mobile App with That?
From Android to iPhone, users everywhere have made it abundantly clear that mobile apps are the future, and when it comes to mobile nothing beats a native experience. Native apps mean we need API’s, and API’s need Authentication. That’s why I’m happy to introduce the solution to your mobile Rails backed authentication needs: oPRO. oPRO (pronounced oh-pro) is a Rails engine...
1 tag
Heroku Sunsets the Argent Aspen Stack →
I wrote some words on Heroku’s past and it’s future.
September 2012
3 posts
4 tags
Sunsetting and Deprecation at Heroku
Software erosion is what happens to your app without your knowledge or consent: it was working at one point, and then doesn’t work anymore. When this happens you have to invest energy diagnosing and resolving the problem. Over a year ago Heroku’s CTO, Adam Wiggins, first wrote about erosion-resistance on Heroku. Part of erosion-resistance is communication, and knowing what to expect...
maassql asked: Thank you so much for the article, 'raise “hell”: Better Programming Through Error Messages'. You wonderfully articulated a view I had formed over many years of programming, but have been unable to adequately describe to my newly found RoR colleagues. You did such a wonderful job, that one of my colleagues with whom I have had discussions actually sent me your article...
3 tags
raise "hell": Better Programming Through Error...
Exceptions suck. When you are getting started on a project there is nothing worse than clicking that button, hitting enter, and then watching your software fall flat on its face. It might sound odd - then - if I were to say, more errors in your life could be a good thing.
For the past few months I’ve been working with new programmers at the University of Texas and through Rails Girls....
August 2012
2 posts
3 tags
Database & Rails: Week 9
We are close to wrapping up our 10 week Rails Course. This week we will cover a handful of topics commonly encountered in Rails projects. We then wrap up with part 2 of our Reddit on Rails exercise!
By now you should be hard at work on your personal projects. The students in the course just presented in front of the class with some live demos and a brief intro to to the problems their app were...
6 tags
Databases & Rails: Week 8
Welcome back, this week we’re going to tackle some important concepts in Ruby like Dealing with Nil and using Modules in Ruby. We are also going to cover importing data from a spreadsheet, rake, rubygems, bundler, and talk a little about Rail’s testing ecosystem.
Recap of week 7. Then take the Quiz and review the Solutions
Before we get started there have been quite a few...
July 2012
6 posts
2 tags
Get Previously Saved Changes in Rails
Some times you need to see what fields changed in an object in Rails. I’ve known for awhile that you could do this before an object saved:
user = User.last
user.name = "schneems"
puts user.name_changed?
# => true
puts user.changes
# => {"name"=>["richard", "schneems"]}
but as soon as you save the object to the database you lose all that goodness.
user.save
puts...
3 tags
Active Record Deep Dive
If you’re new to Rails and Active Record, or you’ve been using them for some time, there are likely methods you’ve been overlooking. This week I take a look at the most common SQL Query interfaces for Active Record. Finally we wrap up by talking about how Active Record allows us to chain together methods, how we can prevent SQL injection attacks on our websites, and how to read...
3 tags
Databases & Rails: Week 6 Data Visualization with...
When most people think of great web sites they don’t think of borring pages that have to refresh every time you click something, they think of sites filled with dynamic like buttons, and moving charts and graphs. While I always encouraging having a solid site before adding any javascript extras, sometimes javascript is just the best tool for the job.
Recap of last Week 5 ,
Quiz,...
3 tags
Databases & Rails: Week 5 Controllers
We’ve covered models, views, routing, and briefly introduced controllers. This week we’re taking the deep dive into controllers, talking about what they can do, and how we want to use them. Last week we talked about wiring things together with routing. You can watch the Recap
then do the Quiz and once you’re done check out the Quiz Solution.
Before we get started talking about...
4 tags
Command Line Basics
This past weekend I was fortunate to attend Rails Girls in SF, and help introduce Rails and the associated tech to around 40 women. After answering a number of common questions many times about the command line, I decided to take the opportunity to make some videos explaining some basic concepts.
Command Line Basics
If you’re just getting started this is going to be a great resource. I...
Databases & Rails: Week 4 Routing
Last week we did a whole lot of Ruby View coding, using HTML and ERB to build websites. This week we’re going to focus on routing in the lecture, and then use routing to build a rails site that uses views and models together. You can start off by watching the Recap of Week 3 and then taking the week 3 quiz before viewing the week 3 solutions.
Week 4 Videos
First we’re going to...
June 2012
8 posts
8 tags
Databases & Rails: Week 3 Pure Ruby Views
In week one we learned about storing data and using databases. In week 2 we saw how we can model relationships with databases, and use those relationships with Ruby and Active Record to build models in Rails. This week we start out with a quick Recap of last week followed by a Quiz. Once you finish the quiz you can check out the Quiz Solutions.
This week we will be focused on building cool...
2 tags
How I became a University Professor
I recently got a position as an Adjunct Professor for the University of texas, watch this video to find out how I got the job.
You can follow along with the course in progress here (on my blog!) Databases & Rails Week 1. Thanks for stoping by.
5 tags
Databases & Rails: Week 2 Modeling Relationships...
Last week we talked about why and how we can use databases to store information. This week we’re going to be focusing on how to use databases to model real world relationships and then use those relationships in Rails.
The first video in this series covers modeling a relationship between a car’s user and the car in databases. There are many different ways we could represent that...
7 tags
Databases & Rails: Week 1 Introduction
It’s that time of year again, I’m teaching a course at the University of Texas, though this time i’m officially an Adjunct Professor!! That means not only are students learning all about Rails, they’re getting credit for it. I’ve taken the liberty to re-record some of my material and share it. Hopefully you’ll be able to follow along at home.
This first week...
5 tags
zOMG My Passwords are Insecure, now What?
What happens if your passwords get breached like LinkedIn? Are your users safe? Will they trust you? Had LinkedIn taken a few more security precautions they could have greatly mitigated the security threat. Simply stretching and salting passwords would have made the break in much less valuable to the thieves.
These practices are normally discussed in even the most basic web programming books. As...
A Series of Tubes: How does the Internet work?
This great video explains how packets make up the web and transfer data between servers and the computers requesting them. I would love to do a video like this explaining the relationship between servers, server side programming, html, css, and js.
Heroku Isn't for Idiots: developer time and... →
Just got back from EuRuKo in Amsterdam, and getting ready for teaching my first class of the semester at the University of Texas when I stumbled on this gem on HN. The author makes some amazing points and digs deep into an issue that has been clawing at me since I joined Heroku. You should check out the article, even if you don’t use Heroku. IMHO all products should be built for simplicity...
Ignite RailsConf 2012: Wicked Problems
I gave this talk on Wicked Problems at Ignite RailsConf 2012. A Wicked Problem is one that is difficult or impossible to solve. As Rails people, or Tech people, or web people we tend to focus on the here and now, but we can aspire to so much more. Not a very technical topic, but an important one for sure.
This talk was based on the ebook Wicked Problems
I’m off in Amsterdam for EuRoKu...
May 2012
8 posts
Cedar goes General Availability on Heroku →
The HourSchool Blog: How can companies ask better... →
hourschool:
One core pillar of human-centered design is the idea of seeing the world through other people’s eyes, gaining empathy for their worldview, and meeting them where they are. Many companies are getting on board with the idea of putting the user or customer at the center of their business and design…
4 tags
Sextant: A Gem to Help you Find your Routes
News flash, writing a Rails app without knowing your routes is pretty much impossible, and this just in $ rake routes takes forever [1] to run. So how can we build a Rails site with a minimum of time and a maximum of awesome? You can use the recently released Sextant Gem [2] to generate routes in your Rails app.
As it turns out if you benchmark the code in $ rake routes it is reasonably fast,...
4 tags
OAuth: A Tale of Two Servers
What exactly is OAuth, and how can you use it to access data on sites like Facebook? This introductory video explains the basic flow behind OAuth 2 and how OAuth Clients are implemented.
If you’re using OAuth, you’ll likely want to use a pre-built client library to help with the process. For Ruby you’ll likely want to use Omniauth or Koala, though understanding the process is...
4 tags
Deploy & Edit a Facebook App in 5 Min
Ever want to write an App that uses the Facebook graph? You could be the next Zynga, Foursquare, or Causes; but first you need to create your app. This quick demo shows getting started by generating an app through Facebook and then editing it. If you’ve already got a working web app it’s simple to add Facebook functionality to it, though we’ll save that for another day. What are...
3 tags
Multiple Ruby Version Support on Heroku
Starting today Heroku will allow you to specify a version of Ruby in your production app. As one of the most requested features we have been asked for time and time again, we’re happy to announce that it’s now live. To get started you’ll want to update your version of Bundler locally to version 1.2.0, or above.
This is a re-post of an Article I wrote for the Heroku Blog
$...
3 tags
Wicked Gem Featured on Railscasts →
Wicked was featured by Ryan Bates on Railscasts this past week. I’ve learned quite a bit over the years from Railscasts, so it’s a great honor to have my work featured there.
5 tags
Legacy Concerns in Rails
The cats out of the bag, Ruby isn’t immune to legacy code problems. Just because your app is written in a hip, fun, and dynamic language doesn’t mean that your codebase can’t stagnate, bloat, and quickly turn into an unmaintainable ball of mud. Before Gowalla was purchased by Facebook, the Rails code base stood at close to seven thousand files, with the largest model clocking in...
April 2012
6 posts
4 tags
Building an iOS Photo-sharing and Geolocation... →
My good friend @mattt just released this great tutorial for creating an iOS Photo-Sharing app on Rails. You should hop, skip, or jump on over to the article now. What are you waiting for?