Posted by Michael
Tue, 17 Oct 2006 15:45:00 GMT
From 1998 to 2005, various Linux and FreeBSD desktops including KDE, GNOME, Blackbox, etc were my primary desktop. Then in the spring of 2005, my wife bought a Mac. I used it for maybe an hour one night and bought one the next day.
I use Linux for servers exclusively (notice I don’t use OS X for servers), but my trusty Thinkpad which has been Debian, Fedora, Gentoo, and now Ubuntu still sits as second fiddle.
So why can’t a guy at Imapenguin, a longtime Linux user, move back to where he “should be”? It’s pretty simple really, the Mac I use gets out of my way. Never on my Mac do I get “Kernel 2.6.17-xxx update is ready to be installed”, which clobbers my VMWare drivers every time it upgrades.
Can you imagine my mother having to decide if she should update her kernel? Yea, me either. My mom is a smart lady, but she doesn’t know what a kernel is and shouldn’t have to. She uses her computer to do things. She doesn’t use it for the sake of operating a computer.
Come to think of it, I’m as geeky as people get, and I’m in the same boat. Sure I program on my computer, but I don’t actually want to maintain the one I’m developing on. I want it to just work so I can do things like program.
I’m still using a Mac because it always just works. It runs the software I want, (Open Source and otherwise) and generally stays out of my way.
Posted in Mac, Linux, Rants | no comments | no trackbacks
Posted by Michael
Wed, 04 Oct 2006 14:06:06 GMT
It doesn’t get any easier than this. Download, boot, done.
Our Ruby on Rails Appliance ships with the latest Ruby on Rails installation on a lean Linux system. It will self update with bugfixes and security patches so you can concentrate on Ruby and Rails and not worry about the Operating system.
Downloads
Download it FREE here
Documentation is here on the Imapenguin Documentation site
Oh, and it’s 100% open source.
Posted in Linux, Programming, Rails, Ruby | no comments | no trackbacks
Posted by Michael
Tue, 03 Oct 2006 14:33:16 GMT
I was just doing some repetitive commands in preparation for releasing the
Ruby On Rails Appliance (yes, free as in beer) and had to do some repetitive commands. I started in shell and thought “this would be two lines in ruby”. Kicked off irb and:
['rubygems', 'rails', 'sqlite3-ruby', 'group-railsish'].each do |trove|
system("cvc shadow imapenguinserver.rpath.org@iap:1 \
#{trove}:source=imapenguinserver.rpath.org@rpl:devel")
system("cvc co #{trove}=imapenguinserver.rpath.org@iap:1")
end
Ahh, ruby rulez:-)
Posted in How-To, Linux, Programming, Ruby | no comments | no trackbacks
Posted by Michael
Tue, 03 Oct 2006 14:11:05 GMT
In Ars Technica’s article today called Firefox JavaScript security ‘a complete mess’? More like a hoax they site Mischa Spiegelmock as saying
“I have not succeeded in making this code do anything more than cause a crash and eat up system resources, and I certainly haven’t used it to take over anyone else’s computer and execute arbitrary code,”
and that there wasn’t any new exploit that was discovered. The editor notes that the story link is where they will update the details as they come in.
This is considerably less worrisome than a remote control exploit as this was originally reported as.
Stay tuned, er, browsed, whatever.
Posted in Security | no comments | no trackbacks
Posted by Michael
Tue, 26 Sep 2006 15:52:32 GMT
People communicate best via dialog. It makes sense that documentation should be in dialog form.
Some of the greatest tech books out there are the sort where you learn about the system by building an actual example in the first few chapters. Then you explore various implications of changes for customization, security, and performance in the later chapters. A great example of dialog based books that do this well is Pragmatic Rails Book.
In a time when marketers are struggling to find ways to get people to pay attention for a few seconds, it seems to me that creating outstanding documentation materials might be a far better use of the budget than spending it on marketing.
The best way to make a sale is by having systems, products, services … whatever that is so good that people feel like they need to tell their friends. Users that love your system need documents that show them through real examples how to use it well.
Besides reading a story is much more interesting than a glorified API.
Posted in Rants, Programming | no comments | no trackbacks
Posted by Michael
Fri, 15 Sep 2006 10:00:41 GMT
Not just a bad question, a dumb question. It shows the customer you didn’t take the time to do some research. It also doesn’t start you on the path to solving anything and makes the customer immediately go on the defensive. It is possible, maybe even probable that the person you are talking to was the person who decided on the solution you are selling against.
Show some value.
Start with an opening question that gets the customer to comment on a pain point that you specialize in solving.
Example:
Say you sell Web Filtering. Compare these two openings:
“What are you currently using for web filtering? Oh, can I give you a quote on a competing product?”
“What would happen if I installed a web monitor on your network, let it collect data for a week, and then showed the report on the evening news?”
The later clearly engages the customer in a smart conversation, the former makes you look like the monkey salesman that you are.
Posted in How-To | 2 comments | no trackbacks
Posted by Michael
Tue, 12 Sep 2006 21:02:02 GMT
So I’ve been enjoying some of the new syncing features of today’s release of iTunes 7.
That is of course until this started happening:

Ek.
Posted in Mac | no comments | no trackbacks
Posted by Michael
Mon, 11 Sep 2006 21:22:51 GMT
“After months and months of deliciously teasing screenshots, the real deal is now out for the world to see. The official Ruby language website has been redesigned. And what a wonderful design it is. Congratulations to the visual identity team and the contributors. It’s truly a work to be proud of.”
(Via Riding Rails.)
Posted in Rails | no comments | no trackbacks
Posted by Michael
Wed, 30 Aug 2006 15:54:17 GMT

It’s not up on their website yet, but all of our CentOS servers just upgraded themselves to 4.4
You might want to look into that if you want to wait a while before upgrading :-)
Posted in Linux | no comments | no trackbacks
Posted by Michael
Wed, 30 Aug 2006 14:17:00 GMT
Roman Le Negrate has written an excellent Rails plugin called meantime_filter.
In your Rails controllers, if you find yourself doing this for half of your actions you know something isn’t right:
def list
@note = note = Note.find(:all,
:conditions => ["user_id = ?", params[:user_id]])
end
You know you’ve been sitting there thinking “This isn’t DRYish”. Now I made this particularly simple to show the point, but it’s ugly any way you slice it as you get more complicated methods in your controllers.
The around filter is the standard way to handle this but it doesn’t work very cleanly with with_scope blocks.
meantime_filter to the rescue.
Install it by:
cd <railsproject>
cd vendor/plugins
wget http://roman2k.free.fr/rails/meantime_filter/0.1.1/\
plugin/meantime_filter-0.1.1.tar.gz
tar -xzvf meantime_filter-0.1.1.tar.gz
rm meantime_filter-0.1.1.tar.gz
Now you can do:
class NoteController < ApplicationController
meantime_filter :restrict_note_to_user
def list
@note = Note.find(:all)
end
private
def restrict_note_to_user
Note.with_scope(:find =>
{:conditions =>
["user_id = ?", session[:user_id]]}) do
yield
end
end
end
Posted in How-To, Rails, Ruby | no comments | no trackbacks