Links for 12-3-10
Facebook | The Full Stack, Part I
A "full-stack programmer" is a generalist, someone who can create a non-trivial application by themselves. People who develop broad skills also tend to develop a good mental model of how different layers of a system behave.
The creators of no-longer-with-us products explain what went wrong - (37signals)
[Good summaries.]
success = time × effort × luck × ability
Ruby tidbit: When rescue doesn’t
See the comments as well.
It turns out that there is something that can compete with free: easy.
Rails 3.0.3 Backwards Incompatible for File Uploads
Well, one noteworthy thing is that the Rails 3.0.3 release is not quite as backwards compatible as announced, at least not when it comes to file uploads.
How do I build DSLs with yield and instance_eval?
I hope that this introduction to yield and instance_eval has shown you just how easy it can be to build Domain Specific Languages in Ruby. The next time you find yourself repeatedly building the same kind of objects over and over, you might consider making a DSL to streamline the process as well as improving readability.
The Geek's Guide to Optimizing Sleep
So you saw Firesheep and are worried about security in your app? That’s good, you should be. SSL is easy to do and there’s no reason not to these days. Also, the tools are much better than before, so let’s get started.
Desktime - Shared Desks and Coworking in Chicago
Find a desk to rent in Chicago. By the day, week, or month.
Example code for the Frontend Testing Frontier talk at Mountain.rb
If there's one point that we want to communicate to the world, it's that SSL/TLS is not computationally expensive any more. Ten years ago it might have been true, but it's just not the case any more. You too can afford to enable HTTPS for your users.
20 Things I Learned About Browsers and the Web
What’s a cookie? How do I protect myself on the web? And most importantly: What happens if a truck runs over my laptop? For things you’ve always wanted to know about the web but were afraid to ask, read on.
Automate your Heroku backups
Textmate plugins, themes, etc.
How to be a Successful Software Engineer
Regardless of how you ended up where you are, there is always room for improvement. I’m going to talk about some of the things that have helped me along the way become better at what I do: write kickass software. Realistically, you can substitute “Software Engineer” with your field and most things should still apply.
Interesting post and Hacker News discussion.
When people “Switch” to the Mac, they often look for a one-keystroke or one-key-combo screen locker. [I use this when working in a public spot.]
jney's jquery.pageless at master
A jQuery plugin. As you scroll down you see more results coming back at you automatically.
You can now break your larger objects into chunks and upload a number of chunks in parallel. If the upload of a chunk fails, you can simply restart it. You'll be able to improve your overall upload speed by taking advantage of parallelism. In situations where your application is receiving (or generating) a stream of data of indeterminate length, you can initiate the upload before you have all of the data.
Joyent's core business (cloud computing) aligns well with a free and open Node.js. For these reasons I've made an agreement with Joyent that officially puts Node under their roof.
A templating plugin for jQuery.
jQuery is fast becoming a must-have skill for front-end developers. The purpose of this book is to provide an overview of the jQuery JavaScript library; when you're done with the book, you should be able to complete basic tasks using jQuery, and have a solid basis from which to continue your learning. [Awesome.]
Retrying code blocks in Ruby (on exceptions, whatever)
Before you ask why I need this, the motivation for this was because I was getting intermittent HTTP errors (503s mostly) trying to connect to a web service.
raise without any arguments will reraise the current exception, complete with class, message, and stack trace.
A collection of useful .gitignore templates
A simple and performant EventMachine based Publish-Subscribe system that just works.
Ruby Mongo DB Logger for Rails - centralized logging for rails apps in MongoDB. [Check the activity in the Github network, though. Central Logger is more actively maintained.]
Texticle exposes full text search capabilities from PostgreSQL, and allows you to declare full text indexes. Texticle will extend ActiveRecord with named_scope methods making searching easy and fun!
A JavaScript image gallery for the fastidious
Redis tutorial by Simon Willison
These slides and notes were originally written to accompany a three hour Redis tutorial I gave at the NoSQL Europe conference on the 22nd of April 2010.
Blocks are one of Ruby's defining features, and though we use them all the time, a lot of developers are much more comfortable calling methods that take blocks than writing them. Which is a shame, really, as learning to use blocks in a tasteful manner is one of the best ways to up your Ruby game. Here are a few examples extracted from a recent project to give you a few ideas.
Do you know what’s new in Ruby 1.9?
With major version 1.9 the Ruby language took a series of improvements devoted to rationalizing and better organizing the internal structure of the language itself.
MockSMTP is a native Mac application that embeds its own SMTP server. It also features an e-mail client browser, enabling instant viewing of both raw content and HTML rendering, so you can see how your mail looks when delivered.
Little command line REST client that you can use in pipelines (bash or zsh)
A plugin for jQuery. Make your form controls look how you want them to.
Rails Wizard is a web-based wizard to walk you through the first steps of creating a Rails application. The first hours of a Rails project can be frustrating: you feel as though you've done all of this before in a slightly different context. Rails Wizard aims to get all of the repetitive startup cost out of the development process, letting you focus on getting awesome fast.