Getting back to the foil

Posted about 1 year back at Loud Thinking

I used to fence in high school. It's such an elegant sport. Yes, stamina, agility, and even strength are elements, but fencing foil is so much more about technique. A small rotation of the wrist is all it takes to parry an attack and you're all set for riposte.

I relearned that last Wednesday when I went my first fencing class in more than a decade. Most of the footwork was still imprinted in my memory, but that was the easy part. The hard part was realizing just how much technique I had lost as I was getting schooled by a 7 year-old girl.

Which is of course also one of the wonders of fencing. It allows for such a wide range of physical attributes to enjoy it together. In the small group that was at the session that night, it ranged from Alexa, 7 to a 50-something Argentinean. With a few teenagers and me in between.

So lots of fun, but I'm also grateful that there's a full week between sessions on the beginner's team. It's taken at least half that to be able to walk without pain again. Nothing like exercising muscles that have laid dormant since Jurassic Park was a box office hit.

On Focus

Posted about 1 year back at Adam @ Bitscribe

Through most of my career as an entrepreneur, my mornings have always been devoted to checking email. This has always seemed like a good way to dive into the day. But recently, I’ve come to the conclusion that this behavior is actually quite poor for productivity. Not because there’s anything wrong with checking email - it certainly needs to be done at some point (or many points) each day. No, the reason why I prefer to do things differently now is that I think a morning email-check starts you off at the wrong level of detail.

Email tends to be very zoomed in. Little notes, FYIs, and requests related to stuff you’ve already done, or may do in the future. But one of the biggest impediments to productivity is getting too caught up in the details, and thus missing out on the big picture.

There are always an infinite number of details, and you can run yourself ragged trying to keep up with them all. It’s easy to do so, because all of these details tend to be so demanding. They sit on a todo list looking terribly not-done, or worse yet, they come in attached to subtly demanding emails from your coworkers, clients, or partners.

The start of the day is a perfect time to look at the big picture. You’re rested, and your head is clear, since it’s been 12 hours or so since you last thought about work. The whole day is ahead of you, full of promise and potential. Now’s the time to ask: what is the absolute most valuable way I could spend the next eight hours?

I’ve been amazed at the insights this produces. I’m more productive - not from doing more work, but from working on things that matter more. Humans tend to get caught up in the details so easily. Once caught up, we rarely stop to question the comparative value of this here vs. anything else you could be doing with your time and energy. But the opportunity cost of that energy may be huge. Morning is a great time to stop and think about this; it’s the one time of day that you’re not already wrapped up in something.

Not surprisingly, I’m not the first to have this insight. Getting Things Done recommends setting aside two hours each week to look at the “50,000 foot view”, or the really big picture. This is one of those “But I don’t have time for that!” → “You don’t have time not to” things. My complaint with the specific method suggested by GTD - doing this review late on a Friday - is that you don’t want to think about the big picture much then. The events of the week are still fresh in your brain, demanding your attention. I find it much more effective to think about this at a time when I’m more distant from the details.

By: Noah

Posted about 1 year back at Adam @ Bitscribe

There is a typo in line 2:

`>> /dev/apt/sources.list` should be `>> /etc/apt/sources.list`

Episode 19: Where Administration Goes

Posted about 1 year back at Railscasts

This is the first part of a three part series on building an administration system. Many developers choose to separate it completely from the public side of the site by placing it into an admin subdirectory. This episode will show you an alternative and often better solution.

Episode 19: Where Administration Goes

Posted about 1 year back at Railscasts

This is the first part of a three part series on building an administration system. Many developers choose to separate it completely from the public side of the site by placing it into an admin subdirectory. This episode will show you an alternative and often better solution.

Scaling to multiple databases with Rails

Posted about 1 year back at Loud Thinking

Remember that point about Rails lacking an easy-to-use way of dealing with multiple read/write databases? Strike that. Nic Williams has released Magic Multi-Connections. It makes it dead easy to use a cluster of databases to scale read and write speeds higher than a single connection would ever allow.

That in itself is wonderful. Williams let code be his reply to the discussion of Twitter's woes on scaling the database. I would of course rather have seen this work come out of Twitter, but I'm happy that they got a free offering handed to them regardless. They didn't even have to pass step 1 in Brian McCallister's road map for getting stuff fixed in open source. And the turn-around time was within the same day of this whole thing blowing up.

Now how could this be. How could Nic fix such an apparent "critical flaw", as others have billed the lack of this facility in Rails, in such a short time? Simple, he did it in less than 75 lines of Ruby as a plugin for Rails. Less than 75 lines.

In my mind, that's the crux of the story. That extending Rails to do what you want is often much simpler than you think. That you can't compare extending a high-level framework written in a language like Ruby to, say, patching Apache or MySQL. The barriers of entry are simply not in the same sport.

So let's use this occasion to celebrate the wonders of open source ("some times you can just ask and you will receive"), but at the same time keep the effort involved in this example as a guidance for the future ("maybe next time, I could just have a look at how hard it would be to fix myself"). And of course, a big thanks to Nic Williams to making a big fuss a non-issue.

Making Happiness, Not Money

Posted about 1 year back at life.i.think - Life

So many people seem to judge success based on how much money one makes. This is a terrible misconception though, as success is not defined by monetary gain, but by happiness. This inspires an entirely different way of thinking about our lives; in particular our jobs. What if we didn’t strive to make money, but instead to make happiness?

When I first iterated over this article, I went back and forth on whether or not to include bullet points refining the concept. I found it difficult to articulate, because I was quick to inject my own inspirations for contentment. Everyone has a different definition of “happiness,” but there are a various ways you can look at your job in which are most encouraging. I believe I’ll continue to post on this concept, but here are a few things I find important and that could lend themselves to others as well.

1) Layout a base set of criteria that makes you happy. Like profiling an application for performance gain, you can’t know you’ve reached your goal unless you’ve set one. But how does one determine what happiness means? It’s actually fairly easy. Slow down, take a deep breath, and think about what makes you smile (smiling on the inside counts as well). What makes your entire body reverberate with that indescribable feeling?

2) Make just enough money to be able to provide these things for yourself.

3) If you make more money than you need to be happy, use it to inspire happiness in others.

4) Ensure that your means of making money contributes to your overall happiness. Sacrificing your well-being for delayed reward is a broken model. Some would argue this point, saying that there are necessary evils; Someone has to do the dirty work. But one can be content in their work, glamorous or not, based on their perception of the work itself and its benefit to the greater good.

5) Love unconditionally.

6) Add pictures of cats to whatever projects you work on. This guarantees, without the glimmer of a doubt, the happiness of not only yourself but your users as well.

Ok ok, the last one was a joke, but seriously … who doesn’t like cat pictures.

IE Cookie Domain Bug

Posted about 1 year back at PJ Hyett

I run across bizarre IE bugs from time to time, but this one was obscure enough that it bears repeating.

We created a beta site for Chow at beta.chow.com to test out new features and wanted our login cookies to work across both domains, so we changed the existing code to:


cookies[:pk] = { :value => 'foo', :domain => '.chow.com' }

Pretty simple, but we ran into a couple of problems.

The first is that cookies.delete(:pk) won’t work, because you can’t pass options to it which is problem when you’ve set the domain manually.

You can get around this by setting the same cookie with :expire => Time.at(0). Chris wrote a patch to fix this a year ago, but I digress.

A much worse problem is when you’ve set different cookies with a ‘www.chow.com’ domain and a ’.chow.com’ domain.

Firefox and Safari handle each cookie correctly, but IE will use the domain from the cookie it read in last.

This meant any user trying to access the beta site couldn’t get in because IE was using the www.chow.com cookie. This hasn’t been fixed in IE 7 either.

If your curious how something like this would happen in the first place, we set a timezone cookie via javascript (using my Zoned Rails plugin) and set the rest of the cookies within our application code.

I had updated the app code to use the ’.chow.com’ domain, but neglected the javascript thus causing the issue.

Episode 18: Looping Through Flash

Posted about 1 year back at Railscasts

Displaying flash messages in the layout can be a pain at times. In this episode you will learn an easy way to display any kind of flash message by looping through the hash.

Episode 18: Looping Through Flash

Posted about 1 year back at Railscasts

Displaying flash messages in the layout can be a pain at times. In this episode you will learn an easy way to display any kind of flash message by looping through the hash.

Episode 17: HABTM Checkboxes

Posted about 1 year back at Railscasts

It is often asked: how do I create a list of checkboxes for managing a HABTM association? Ask no more because this episode will show you how to do exactly that.

Episode 17: HABTM Checkboxes

Posted about 1 year back at Railscasts

It is often asked: how do I create a list of checkboxes for managing a HABTM association? Ask no more because this episode will show you how to do exactly that.

Who are these guys?

Posted about 1 year back at has_many :through - home

It seems I don't have much time for updating the blog these days. I have a couple posts I've been wanting to write, but we'll seen when I manage to get them written. In the mean time, we just hired our fifth Rubyist at Powerset. Welcome, Dave! Here's what we look like when we can't agree on what kind of picture we're taking:

say cheese

So who are my compadres? That's me on the left, then Tom Werner, Chris Van Pelt, Kevin Clark, and our newest addition Dave Fayram who comes to us from Mog.com. (Dave, where's your blog, man?)

And as long as I'm posting something... The full speaker list for SDForum SVRC is now posted. But if you can't get to SVRC, I was just asked to reprise my talk a month later at RailsConf, so you can come see me speaking there.

Episode 16: Virtual Attributes

Posted about 1 year back at Railscasts

Keep your controllers clean and forms flexible by adding virtual attributes to your model. This very powerful technique allows you to create form fields which may not directly relate to the database.

Episode 16: Virtual Attributes

Posted about 1 year back at Railscasts

Keep your controllers clean and forms flexible by adding virtual attributes to your model. This very powerful technique allows you to create form fields which may not directly relate to the database.


1 ... 472 473 474 475 476 ... 515