Stalin’s secret weapon
Thursday, July 2nd, 2009
The first line of text translates to “Stalin’s secret weapon.”
http://toyster.ru/forum/showthread.php?t=1277
Kind of incredible.

The first line of text translates to “Stalin’s secret weapon.”
http://toyster.ru/forum/showthread.php?t=1277
Kind of incredible.
As soon as I saw Menlo I knew it was going to be my new favorite programming font. Just a couple weeks ago I gave Bitstream’s Vera Sans Mono a try, and it didn’t work for me, so I wondered what the difference was. You’ve probably seen the high resolution comparison already. But I don’t code in size 64 font; I program I code in size 11 font. Here’s an animation of some real code switching between Menlo and Vera Sans Mono.

Menlo is the one with the slash through the zero, while Vera Sans Mono has a dot in the zero. You can see that a lot of characters (“M”, “N”, “l”, “#”, and all the punctuation) look way too light and blurry in Vera Sans Mono, but look great in Menlo. The just look at how blurry that octothorp is in Vera Sans.
When Gruber asks, who can say no?
Here’s a comparison of Vera Sans Mon and Coda’s variant. Coda has the higher, longer underscores and the slightly lighter weight. I don’t really like how Coda is so thin that anti-aliasing kind of greys out the text. If you blow it up (or look at it with Digital Color Meter), then you’ll see that very few of the pixels are close to black.

And here is an image with all three. Vera Sans, Menlo, and Coda in that order. Menlo has the zero with the slash, so you can keep track of which is which. (I intentionally omitted a key from the image, because I wanted to focus on how the text changed without distraction.

You can download the gifs and open them in Preview if you want to page back and forth manually. It will give you each image as a separate page, and you can switch back and forth using the arrow keys. (This is also a great way to do an impromptu slideshow. Open a directory full of images, hit ⌘-A to select them all, and hit ⌘-O to open them in Preview.)
“Gary” directed by Clément Soulmagnon, Yann Benedi, Sébastien Eballard, Quentin Chaillet (the French like to have a lot of directors). It’s 7 minutes long and spectacularly beautiful. You’re going to want to click on the link and watch it in HD on Vimeo, rather than in the embedded player. I don’t speak French, but it really didn’t hold me back.
Here is a bit of help getting Redmine, or any Rails app, to send email over SMTP through an existing Gmail account. It’s quite easy to set up and you gain the usual perks of having everything centralized in a Gmail account. Note: this works with Google Apps for your domain, too.
First you’ll need to install the smtp_tls plugin into your application’s lib directory so you can correctly authenticate. For posterity, I’ve uploaded a copy smtp_tls.rb along with this post.
www@host:~/redmine$ cd lib www@host:~/redmine/lib$ curl -O http://blog.expandrive.com/wp-content/uploads/2008/12/smtp_tls.rb
Redmine utilizes email.yml to configure ActionMailer. Here’s what ours looks like:
production:
delivery_method: :smtp
smtp_settings:
address: smtp.gmail.com
port: 587
domain: gmail.com
authentication: :login
user_name: info@expandrive.com
password: passwordNext, in production.rb makre sure to
require 'smtp_tls'
That’s it, you’re good to go.
If you want to set up any old Rails app [using Action Mailer] to send mail via Gmail, add this to production.rb
require 'smtp_tls' ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.perform_deliveries = true ActionMailer::Base.raise_delivery_errors = true ActionMailer::Base.default_charset = "utf-8" ActionMailer::Base.smtp_settings = { :address => "smtp.gmail.com", :port => 587, :domain => "gmail.com", :authentication => :login, :user_name => "info@expandrive.com", :password => "password", }
Deploying an application using mod_rails (Phusion Passenger) is like magic.
$ gem install passenger $ passenger-install-apache2-module
Install the gem, load the Apache module – everything “just works”. It’s ridiculously easy.
I want to fall in love with mod_rails. I’m ecstatic somebody is helping novices configure Apache and trying to make everyone else’s life slightly easier. Too many man months have been spent reading up on deploying a mongrel cluster with proxy_balancer. Passenger tries to make everyone’s life much much easier, but it goes too far. If you’re doing anything with your Apache instance that isn’t purely confined to your Rails sandbox, save yourself some time and heartache and don’t even bother with Passenger. It’ll let you down.
Rails succeeds in achieving a nice balance between Magic and Pragmatic. Rails allows an enterprising developer to peek behind the curtains and make something “custom” happen. Passenger doesn’t. For instance: the inability to get well defined behavior with mod_rewrite or mod_alias is infuriating. Equally annoying is the inability to turn off mod_rails for a given virtual host. Want to run a piece of PHP on your site or have a sub-uri host your PHP based forum? Good luck. Have a low traffic app on your domain that you’d like to use Passenger for while serving your main site with mongrel. Good luck.
Rails developers might not be the most hardcore bunch out there, but they are characteristically willing to look outside their sandbox in order to get something Better done more Quickly. Denying them the ability to adequately configure their application using ‘legacy’ methods isn’t going to get you very far. I’ve tried to deploy Passenger twice now in the past 3 months, and have officially thrown in the towel.
Update 6/29/09: These concerns are now moot. mod_rails plays nice with mod_rewrite with the high performance option. Long live mod_rails!
A great comment yesterday from WagCurious, in response to Flickr co-founder Stewart Butterfield’s asinine letter of resignation from Yahoo.
Oh yeah, I get it. Big corporations are evil, because they diversify. If they just stayed wildly successful in one small, narrow market then people like him that have one great idea can stay on top. Why do I get this feeling that he added no value to the other divisions whatsoever.
Think hard before selling your narrowly focused idea into the arms of a giant corporation. It might not be where you belong.
All highly successful large projects battle bloat and complexity. Sooner or later, lighting a controlled burn can really help out. Microsoft has done a great job with this in their Office line. Office 2003 did a lot to reduce code size and speed launch times. Office 2007 does away with more than a decade of familiarity in favor of a new and more thoughtful user interface.

Phoenix was born out of the need to cast off the horrific bloat and instability that characterized the Netscape/Mozilla suite in 2001. Dave Hyatt and Blake Ross wanted a lean and mean browser that would load and run faster and provide a simple and extensible way of defining the user interface. They did a great job.
Renamed Firefox, the project just hit the 400 million download mark. Despite all this success, I can’t help but think that somebody needs to start a controlled burn on Firefox. Each month that passes I find myself progressively more dissatisfied with Firefox. Launch times are ever increasing despite my progressively newer hardware. It is wildly unstable on OS X – crashing daily. On Windows it is better, but not much. It doesn’t have to be like this. Don’t make me run IE.
Somebody get moving – build me me a better browser
Although it isn’t the newest news, it is new to me.
I recently found YSlow, a nice plugin to Firebug [easily the best Firefox plugin ever]. Made by Yahoo, it plugs in some nice features to help you gauge and optimize performance based on an arbitrary set of rules for high performance sites.
I’ve been using it lately to optimize load times on our site and it has helped quite a bit, if for nothing else than being a convenient way to actually measure load times. In particular, it pointed out some laziness on our part in regards to rule #6 and rule number #1. It helped quite a bit.
Nice screencast here.
Joyent Slingshot, which we helped develop, has just been released to the public as an Open Source project under GPL v2. Along with Slingshot, Connector is being made available too. Grab the source, help make it awesome.
We recently added a screencast to the front page of SftpDrive.com, it’s a good place to start if you’re not entirely sure what SftpDrive does or what it is different.
Screencasts are an incredible way of cleary conveying what a program does or how it is supposed to be used. It allows you to walk anyone through a complex sequence of events at a specifically chosen pace and add however much additional instruction or annotation that is needed.
The tough part is making them. You’re often confronted with a choice between a small file with blurry images or a gigantic file that is still imperfect. To get it right requires some experience and finesse. You’ll probably also want some expensive software if you’re going to do a real bang up job. Forget about all the effort it takes to learn how to use it.
What if you want to just make a simple screencast and not have it suck? I thought I’d write a bit on how we attempted to achieve that lofty goal. (more…)