Monday Questions is a recurring series on Approaching Normal. For
more questions like this, please visit the
archives
This is a follow up to last week’s question How do you decide what
technologies to
explore?
Today I want to know What technologies are you exploring?
I’ll go first. Aside from Ruby and
Rails, Erlang
and CouchDB are the things that I’m currently
spending time looking into.
Post your answers in the comments below.
A plugin to do OpenID authentication in Rails, in
a RESTful way.
Competition is good. Merb and the like provide
that competition to Rails. This article runs through an alternative to
the Rails stack. It’s always good to keep an eye on what else is out
there.
Ok, this is a bonus link. Not at all Rails related, but relevent to you
if you’re reading this. Rands nails the
Nerd. I mean, really nails it.
Monday Questions is a recurring series on Approaching Normal. For
more questions like this, please visit the
archives
Technology moves at such a rapid pace that there is constantly something
new that is tempting me to explore it. I find it very difficult to pick
and choose which things to devote time to learning. So today’s question
is: How do you choose what technologies to learn more about, and which
to ignore?
Put your answers in the comments below.
As a follow on to last week’s
post,
I ended up buying a 17" MacBook Pro this week. I went with a refurbished
model (which saved me $400), and skipped the high resolution display.
It should be here on Wednesday.
It’s my first Mac, and I’ve wanted one for ages, so I’m excited to get
it.
A new book from O’Reilly on troubleshooting Ruby (and Rails) apps. From
the overview:
This short cut introduces key system diagnostic tools to Ruby
developers creating and deploying web applications. When programmers
develop a Ruby application they commonly experience complex problems
which require some understanding of the underlying operating system to
be solved. Difficult to diagnose, these problems can make the
difference between a project’s failure or success. This short cut
demonstrates how to leverage system tools available on Mac OS X,
Linux, Solaris, BSD or any other Unix flavor. You will learn how to
leverage the raw power of tools such as lsof, strace or gdb to resolve
problems that are difficult to diagnose with the standard Ruby
development tools. You will also find concrete examples that
illustrate how these tools solve real-life problems in Ruby
development. This expertise will prove especially relevant during the
deployment phase of your application. In this way, should your
production Mongrel cluster freeze and stop serving HTTP requests, it
will not take you 2 days to figure out why!
A nice, if a bit short, article on some of the changes that are coming
in Rails 2.0. This is focused on what you will need to change in your
application.
This is a beginner tutorial, specific to using Netbeans 6.0. I’ve not
played much with the Rails support in Netbeans, but it looks impressive
so far.
I’m going to start posting questions for my readers every Monday. At
least until I run out of questions.
Last week, I posted a collection of mini book
reviews.
I have a bit of an addiction to books, which should be obvious by now.
So today’s questions is: What are you reading? Doesn’t matter
whether it’s fiction or non-fiction, technical or biographical. Let us
all know what you’re reading (or have read recently).
So I think I’m about to buy a Macbook Pro - the 17" model specifically. Before I
do, I have a couple of questions that I’m hoping someone can help me answer:
Is the High Resolution (1920-by-1200) display worth the extra money
vs the 1680-by-1050 display?
I’m going to buy a Refurbished model from Apple, due to the
substantial cost savings. Does anyone know of any reason not to? A
quick google search doesn’t seem to reveal people having issues, but
I thought I’d ask.
Bonus question: What are your “must have” apps for OSX?
Jeremy Kemper recently committed a request
profiler
to Rails. It lets you make a request to a URL repeatedly, and then see
an HTML or text report of where your code is spending it’s time. This
looks very handy.
A walkthrough of building an app with Rails, which includes feature
definition, using Piston to manage
plugins, and Restful Authentication. Nice.
I attended the first SEED Conference on
Monday. It was a great event - it exceeded my expectations, and was a
bargain at only $395.
The event itself was small (the website says 135, but it seemed like
there were a few more than that), and relatively informal. The venue was
the McCormick Tribune Campus
Center on
the campus of the Illinois Institute of
Technology. The building is very interesting in and
of itself, lots of different colors and textures, and the
El runs right through the
building.
Mike Rohde did a very well-written
summary of the
conference (complete with very nice sketches), so I’m not going to do
that here. I’m going to highlight some key thoughts from each of the
three speakers. As a side note, I got to meet Mike Rohde at this
conference. I’d been reading his blog for a number of years, and it was
very enjoyable to get to know him. If you’ve not seen his site before,
check it out.
Carlos Segura
Of the three people presenting (Carlos, Jason Fried, and Jim Coudal),
Carlos was the one I knew the least about. I knew he was a designer, and
was one of the original founders of
37Signals, but beyond that I knew very
little. I really enjoyed Carlos’s talk - it was much more visual than
the other two. He has a very impressive body of work, including reviving
the Corbis brand. Overall, Carlos’s talk was
very engaging - he conveyed a lot of his information through photos and
stories. Here’s a collection of thoughts I jotted down while he was
talking (all of this is paraphrased, none of it should be taken as a
direct quote):
- Stretch yourself - expose yourself to new things. He gave an example
about how he didn’t like country music, but then visited someone’s
office who was listening to bluegrass music, and fell in love
with it.
- Don’t be afraid to break all the rules. His company did the covers
for a very well-received comic book series called “The Filth” that
defied all of the conventions of what a comic book should look like,
and as a result it stood out in a sea of identical-looking
comic books.
- Stay small. He talked about the problems you face when your design
firm gets big (his company is currently 2 people, although it has
been up to 18). When you get big, you end up having to take work
just to “feed the beast”, as he put it. When you are small, you can
be much more choosy about the work you take. This was a recurring
theme throughout the day, from all three speakers.
- He doesn’t do focus groups - he thought it led to mediocrity.
- Failure isn’t a bad thing - good things often come from it.
Jason Fried
If you’re reading this, you probably know who Jason Fried is. In case
you’ve been under a rock, Jason is the founder of
37Signals, and it’s most visible employee.
Here’s a summary of his talk, which focused on collaboration:
- Keep your teams small - 2 or 3 people. When you do this, you are
forced to focus on what’s important. You also get clearer
communication for free.
- Keep your team apart. Keeping them away from each other helps them
to stay focused and get things done. “Interuption is the enemy of
productivity”
- Use passive, not active, forms of communication. Active is stopping
by someone’s desk, tapping them on the shoulder. Passive is email,
IM, Campfire, etc. When you’re getting ready to interrupt someone,
you need to ask yourself “Is this really worth interrupting
them for?”.
- Meetings are toxic. They should be a last resort. Meetings break
your day into small, unproductive chunks (amen to that!). A 1 hour
meeting with 10 people in it isn’t a one hour meeting - it’s a 10
hour meeting. Think about that.
- Judo. Chop your problems into smaller and smaller problems. Don’t
make big decisions, make lots of smaller ones. Decisions are
progress, and progress is great for morale.
- Manage quality by using the software while you build it. (My
commentary on this is that only works if you’re building software
for yourself. It breaks down if you’re building a medical records
system for a doctors office. Still sound advice though, if you can
apply it.)
- On hiring and retaining, Jason talked about how they pay
competitively, but offer lifestyle-based perks such as 4 day work
weeks in the summer, flexible hours, etc. He noted that someone will
always pay more, but the work environment and lifestyle perks can
make a big difference.
Jim Coudal
Jim runs Coudal Partners, a design firm. Jim’s
talk was the most entertaining of the three. He’s a very funny guy. He
showed several videos, including this
one, which I identified with a little
too much. Here’s the key points I got from him:
- You have to try things all the time. This was my big takeaway from
the conference as a whole - try more stuff and expose yourself to
new things. Jim is one of these guys who comes up with new ideas all
the time. Some work, some don’t. From each one, you learn something.
- Don’t be afraid to fail. They’ve tried a bunch of stuff that didn’t
work out, but they learned things by trying, and often times the
failures led to something else.
- Don’t talk things to death. When you have a good idea, do it. Even
if it’s a small part, do it.
- Take your short attention span and turn it into something creative.
This tied back to the video I linked to earlier. There’s nothing
wrong with jumping around and trying different things.
- “Taste trumps skill” - this is one of their hiring criteria. Skills
can be acquired, taste not so much.
- Choose your clients carefully. This was a recurring theme as well
throughout the conference. Coudal judges every project on three
criteria: Is it profitable, can we do great work, and can we learn
something (that may not be 100% what he said, but it’s real close).
That doesn’t mean that every project needs to meet all three - they
might do something where they make litttle profit but learn
something, or a project where they make a lot of money, but can only
do average work. They won’t take work where they won’t make much
money, can’t learn anything, and couldn’t do good work.
So these are the high points. I took 7 pages of notes, not all of which
I’ve recreated here. At the end of the day, I got a lot out of this
conference. It was a unique day, in a unique setting, and gave me a lot
of food for thought. According to the SEED Conference
site, they will be hosting more of
these. I would highly recommend attending.
The Halloween Edition
One of the first tutorials I’ve seen that focuses on Rails 2.0.
This would seem to make deploying a Rails app on Amazon’s
EC2
very simple:
EC2 on Rails is an Ubuntu Linux server image for Amazon’s EC2
hosting service that’s ready to run a standard Ruby on Rails
application with little or no customization. It’s a Ruby on Rails
virtual appliance. If you have an EC2 account and a public keypair
you’re five minutes away from deploying your Rails app.