Joe Moore's blog
Interesting Things
- Subversion Tip: We were reminded of a handy tip: when saving shell scripts in subversion, you can save them as both executable and also in a 'native' end-of-line style, which will run on any platform.
<code> $> svn propset svn:executable ON somescript.sh $> svn propset svn:eol-style native somescript.sh </code>
- If you want some easy but very effective charts, check out WebFX's Chart Javascript library. Clients love them! Chart the number of users signed-up per day, etc.
- Another handy plugin we've used many times: QueryTrace. It helps you find slow database queries, but it really floods your logs with data, so make sure to turn it off in production!
- We're using appable_plugins for several projects but having problems with dependencies between the plugins, especially in fixtures. This might be caused by our fancy-dancy fixture loading extensions.
Ask for Help
- One project is doing another round of profiling and is looking at the the latest profiling tools for Ruby and Javascript. They are checking out Firebug's JS profiler,
ruby -r profile, and our own custom ruby test benchmarker, amongst others. - One project is seeing a very strange memory leak that causes 100MB of memory loss per second (guh! guh!). It started when they begin using
ActiveRecord.connection.execute("some sql")to build some reporting statistics, but it seems too early to blame that. Coincidental, though.
Brown Bag Lunch Topic: Rails 1.2 features, ideas, and gotchas.
Total Stand-up Meeting Time: 25:00 minutes
Interesting Things
- We'll be sending 6 people to RailsConf, so say 'hi' if you see the Pivots!
- We have a fix to our Amazon S3-causing-mongrel-to-hang problem: you can tell the connection not to be persistent by passing in
:persistent => false:
<code>
AWS::S3::Base.establish_connection!(
:access_key_id => access_key,
:secret_access_key => access_key,
:persistent => false
)
</code>
Ask for Help
- From the community: the JRuby team is putting out a cry for help for everyone to get JRuby running Rails 100%.
Total Stand-up Meeting Time: 14:00 minutes
Not much of interest today beyond project updates.
Total Stand-up Meeting Time: 17:00
Interesting Things
- Jetbrains has released their official Ruby and Ruby on Rails plugin for IntelliJ IDEA. Many of us have been using this and it has some nice features: structure view, code completion, open class/symbol, and other Java-IDE style features. Now if they only had a fast debugger... oh sweet, sweet debuggers...
Ask for Help
- RMagick: One project is having new RMagick problems. Some image uploading and transformations are hanging the Mongrel process. Some are suggesting explicitly calling
GC.startafter heavy RMagick use. We'll also check the version and insure that it's 1.13.
Follow-up: Actually it looks like we were hanging connecting to Amazon's S3 service.. Once we figure out the details we'll let you know what the problem was.Total Stand-up Meeting Time: About 19 minutes.
Brief project reports, and that's it!
Total Stand-up Meeting Time: 9:30 (a new record!)
Interesting Things
- Trac is up and running, so hammer away at it. It's a candidate replacement for Twiki. If you have experience making the switch, feel free to let us know how it went.
- We've compiled some amazing ActiveRecord benchmarks. Stay tuned, we might post them here soon!
- We discovered a bug with RMagick v.1.13 on Linux:
Image::change_geometry(geometry_string). In a nutshell, you can perform complex image transformations my passingchange_geometrya string; for example,my_image.change_geometry("50x50>")will changemy_imageto a 50x50 pixel image, but only if it's larger than 50x50. For us, this exact line turned our 600x600 image into a 50x38 image. Weird. Only on Linux.
Ask for Help
- None today!
Total Stand-up Meeting Time: 19:30
Interesting/Ask for Help for 02/07/2007
Interesting Things
- We need to check out the differences between RMagick 1.13.0 and 1.15.2. Word on the street is that 1.14.x was wonky and required ruby 1.85.
- Brown bag lunch today: Ruby caching and our own extensions to it.
- Dealing with time zones have been a reoccurring problem for teams. One developer suggested checking out the tzinfo-timezone plugin, which works with (and requires) TZinfo
Ask for Help
- CI can't find rmagick!: One project kept getting a gem error for rmagick
- require rmagick won't work because the require statement case-sensitive. It has to be
require RMagick, but neither the PC or Mac complained, only Linux.
- require rmagick won't work because the require statement case-sensitive. It has to be
- Please keep all of the appropriate people informed about CI environment changes.
- One team requested all of the JavaScript caching experts.
- Brown bag lunch today... someone order lunch!
Total Stand-up Meeting Time: 22 minutes
Interesting Things
- CruiseControl - setup: We are still setting up individual instances of CC for the various projects. There is also a CruiseControl RB project specifically for Ruby, which we'll check out.
- CruiseControl - branch: We have a custom version of CC that both fixes CC bugs and also runs our Rails CI environment. We've submitted our bug fix patches to the CC team, but they haven't integrated them or formally responded an any way. Bummer.
- Checking into a 'red build?': At least one project has been 'red', or broken, for several days, while developers continue to check into them. This is considered a no-no, but this situation is rarely black and white: some checkins were supposed to fix the build, so developers checked in additional code, too. More discussion to be had later. Sounds like a great topic for this site.
- Brown Bag Topic: Rails, Plugins, Etc: What's Supposed to Work but Doesn't. Perhaps we'll post our Brown Bag Lunch topics here. *Don't forget that ActiveRecord creates transactions when saving, and that associated objects are also saved, in transactions. Thus a transaction failure will 'unroll' all of the changes.
Ask for Help
- More projects need help getting CruiseControl running for their CI environments.
- One of our projects is using Java + Jetty + JSP + IntelliJ IDEA and a few developers wanted to get some expert advice from everyone. They are running into some weird issues that are not well documented.
Interesting Things
- RailsConf is happening May 17-20, 2007 at the Oregon Convention Center in Portland, Oregon. A contingent from Pivotal Labs will be attending and perhaps even presenting topics.
- Our Blog is up, but still in stealth mode. We'll have a brown-bag lunch about Blog-posting etiquette, off-limit topics (such as client-specific things) and general common sense.
- Common Code: several people are going to tackle out growing common code/code sharring issues and comparing the different options available, such as Piston and Appable plugins, against our current solution, which is base on Rails Engines and SVN externals.
Ask for Help
- A few projects need help getting CruiseControl running for their CI environments. CruiseControl runs our ruby tests, JSUnit tests, Selenium tests... the works. Hopefully we'll post details about this soon.
Other articles:
