Imapenguin Logo Banner Layout

Archive for the ‘Programming’ Category

Upgrading to rails 2.2

Saturday, November 22nd, 2008

We’re busy testing our apps on rails 2.2 now that it’s out.

Things are going very well. We’re here to help you with yours if you need us, send an email to support@imapenguin.com

We’re switching to passenger

Wednesday, August 27th, 2008

Mongrel has served us well for the past year or so, but the simplicity of deployment in passenger along with the ever reliable apache has lured us into extensive testing. We’re getting slightly better performance numbers from passenger over mongrel with about 2/3 of the memory footprint. Please let us know at support@imapenguin.com if you see any wonkyness with any of our services. As we migrate over night.

Github takes a stab at social code review and we like it

Tuesday, July 22nd, 2008

github

So we all use some pasting service, but check out Gist, from Github. Each paste gets it’s own git repository. I’ve been using it all morning and love it.

Some cool features:

  • Multiple revisions
  • multiple files in a “gist”
  • Forking
  • Offline use via git

Ruby Vulnerabilities

Monday, June 23rd, 2008

Ruby logo

Bleh, there are some nasty ruby vulnerabilities out in the wild right now. Details are here. We’ll post an update as Linux distributions get patches to let you know who needs to take action to get fixes.

We’re compiling ruby from source for the time being on production machines until updates appear.

If you need help, it’s support@imapenguin.com

Capistrano Git Deploy Issue

Thursday, May 29th, 2008

There is a bug in the capistrano git bridge that’s not been patched in the stable version yet.

If you’re getting:

fatal: Could not parse object

A quick and dirty hack is to add a task that just removes your git cache for now on the deployed server with:

desc "Clear that git cache"
task :clear_git_cache do
  run "rm -Rf /#{deploy_base}/#{application}/shared/cached-copy"
end

before "deploy", "clear_git_cache"

It takes about 1 second longer to do the checkout but I don’t really notice.

Convert Typo blog to Wordpress

Tuesday, May 27th, 2008

I’ve got $50 for anyone who can show me a good way to convert a Typo blog (this one) to a wordpress blog without losing any data and without loosing an entire day.

Email me at mike@imapenguin.com or message me on twitter at @mrdoornbos

Yes, we’re moving from SVN to Git too

Wednesday, February 20th, 2008

This is more information on why you’d ever need, but I like to hear Linus talk.

Ssh tunnel to remote MySQL

Thursday, January 10th, 2008

You’ve got port 3306 (MySQL) firewalled off and you want to use a MySQL GUI every once in a while (or maybe a bunch).

This is a snap with ssh.

On your local Linux/BSD/Mac/Unix machine (works in cygwin too) edit your .ssh/config file and add:

Host somemysqlserver
 Hostname server.mydomain.com #your mySQL server FQDN or IP
 User bob #replace with your valid ssh server username
 LocalForward *:13306 localhost:3306

Now do:

ssh -f -N somemysqlserver

You can now connect to your localhost port 13306 and it will forward to your MySQL server’s port 3306.

Plus, it’s free and probably already installed on your systems.

Need help? support@imapenguin.com

]]>

Capistrano 2.0 and Mongrel Recipies

Tuesday, November 27th, 2007

Capistrano 2.0 doesn’t work with those mongrel recipes we all have nowadays. We scratched our head at some hacks before finding a good solution via the blog world.

Thanks to Megablaix, Inc for posting this code. Works great for us, just tack it onto the end of your deploy.rb and go:

namespace :deploy do
  namespace :mongrel do
    [ :stop, :start, :restart ].each do |t|
      desc "#{t.to_s.capitalize} the mongrel appserver"
      task t, :roles => :app do
        #invoke_command checks the use_sudo
        #variable to determine how to run
        # the mongrel_rails command
        invoke_command "mongrel_rails cluster::#{t.to_s} -C #{mongrel_conf}", :via => run_method
      end
    end
  end

  desc "Custom restart task for mongrel cluster"
  task :restart, :roles => :app, :except =>
       { :no_release => true } do
    deploy.mongrel.restart
  end

  desc "Custom start task for mongrel cluster"
  task :start, :roles => :app do
    deploy.mongrel.start
  end

  desc "Custom stop task for mongrel cluster"
  task :stop, :roles => :app do
    deploy.mongrel.stop
  end
end

]]>

Android SDK Available now

Monday, November 12th, 2007

Get it here, while it’s hot off the presses. I know, we’re such nerds…

Here’s an emulator screenshot.

andriod screenshot

]]>