Ask for Help
“Using Copycopter + WebMock blows up in db:test:prepare”
Try limiting WebMock to load only in the ‘test’ bundler group.
- Chrome 15 now shows pseudo selectors in the inspector (Firebug does this as well)
- Using Rails 3.1 on Heroku with tinymce-rails fails slug compilation unless you upgrade to the latest version of tinymce-rails.
There will be a Women Who Code meetup on Tuesday. Sarah Mei will be giving a lightning talk at it about a day in the life of an engineer. The organization is for both women who are currently coders and those just interested in coding.
Ask for Help
“License Finder doesn’t work with rails 2.3?”
This problem has come up a few times, but no one could recall what the solution was. Might be something about a rake task….
- MySQL Prefpane isn’t working with the Pivotal install on Lion. Seems like it expects a particular installation/configuration. Got around this by reinstalling MySQL from dmg. Another pivot suggested this could be a path issue that could be solved without a full reinstall.
- An older version of Chrome on Windows has a bug with mouse-enter and mouse-leave events. It will think you have left a div if you mouse over a text input contained within that div. Upgrading Chrome should fix this.
- event.layerX and event.layerY will be deprecated at some point… you’ll see these warnings now on the newest build of Chrome since it auto-updates.
Our friends at CaseCommons have built TrackerDashboard – a tool to help manage a large team of 25 developers, 2 designers, and 4 product managers as they build a world class enterprise application. It’s open source, and available for use to anyone, so check it out!
Ask for Help
“accepts_nested_attributes_for doesn’t validate nested records? When a form contains two of the same nested attributes and the values of these should cause a validation error (e.g., both have the same email, which has a uniqueness constraint), the form saves properly, but the nested objects are invalid when accessed later.”
accepts_nested_attributes_for only validates against the database, but the records in this example would only be in memory. The best solution is to handroll a validator on the parent that iterates over the nested attributes and checks the constraints.
“A Pivot was getting some errors using minified jQuery in IE8, which went away when he used the un-minified version. Any other IE8/jQuery gotchas?”
A few have been mentioned at standup in the past few weeks, most notably some versions of jQuery crash IE8 entirely.
“Is there a way to generate a png from html server-side?”
You can use a command-line tool like webkit2png or there is some rack middleware that can generate pdfs and maybe pngs from html
“A pivot had a page that was requesting images after the page loaded, but couldn’t find where they were coming from…”
You can check the originator column of assets in firebug or the chrome developer panel. You can also try overriding jquery ajax to see each call (which you may not want to do if you have a lot of ajax calls).
“Why does RSpec complain that calling .configure multiple times will be deprecated in RSpec 3?”
You shouldn’t be calling .configure multiple times.
“Capybara needs to be monkey patched to be able to local a local file:// url in Selenium mode”
Added a method named visit_local which calls into the driver and forces a change to a local URL so no Rack server is needed to serve a static HTML page. A more expansive explanation will be provided in an upcoming blog post.
Gaslight software training
Gaslight will be doing training in SF on Nov. 7th and 8th at the Mission Bay Conference center. This is a 2 day intensive course on Jasmine, Coffeescript and Backbone.js.
More information at: http://training.gaslightsoftware.com/
This is the first of regular featured Pivotal Tracker customer profiles. If you’d like to share your own, let us know!
What does your company do?
Mavenlink is a SaaS application that allows consultants and their clients to manage the full lifecycle of their projects together in one place. Our platform allows for project budgeting, task management, team collaboration, file sharing, time tracking, invoicing, and payments – basically every step of a paid engagement.
Has Tracker changed the way you work?
Absolutely – our team collectively has 30+ years of experience managing the software development process. Like many software guys, we all came from waterfall-based development in our prior lives and set out to build our own company using agile principles. We’ve had the benefit of working with Pivotal Labs and they’ve helped us embrace XP-principles generally. Tracker is essential to that process: it’s just simple enough to get out of your way, but be extremely effective.
What tools do you use in conjunction with Tracker?
Why, Mavenlink, of course! We’ve had the luxury to be developing a product we use to run our own business. We manage all of our external resources & projects through Mavenlink and do all development work in Tracker.
What’s your favorite Tracker feature?
As I mentioned before, we love the simplicity. Tools to manage people and projects need to stay out of your way – you can’t spend more time managing the tool than doing the work itself. From a pure feature standpoint, I really like where the new Epics are going. We’re right in the middle of a fairly significant feature re-factor & release and it’s been great to track progress on that effort. We’ve always been a heavy label user to visually distinguish multiple tracks of work.
Any pearls of Wisdom?
I really like the notion that user stories are an invitation to have a conversation about the thing that’s going to be worked on. It’s important to keep in mind that Tracker is, above all, a communication tool. It’s up to the team to use Tracker to reflect communications that have already been had: how long something will take, when it’s being worked on, what’s most important, etc. To get good estimates, it’s also vital to keep your stories broken down and specific (like talking points), not high-level and vaporous.
Ask for Help
“Having trouble building REE 1.8.7 on OS X Lion. Was using LLVM, but had issues compiling and then switched to GCC. This succeeded until the linker stage and now results in a SIGSEGV in the linker”
Needs an RVM implode; probably didn’t clean out the source after compiler switch
Suggestions on which framework to use resulted in no clear consensus
“How do I turn off syntax highlighting / inspections in RubyMine for large files?”
Hector the Inspector, in the bottom mid-right
“When doing code review in branches, diff’ing against the master branch they are seeing lots of unrelated changes. Is there any way to resolve this?”
Rebase against master instead of merging
GitHub 1 million user party
Ask for help
- Google’s documentation says they won’t server AdSense over SSL. Are there any workarounds?
No workarounds that anyone knew.
Ask for help
- Does the Rails 3 asset pipeline work on Heroku Cedar at slug build?
Resounding yesses from around the room.
- We’re using Rails 3.0.10 and when we send emails with ActionMailer the timestamp in the header is marked as UTC, but it’s really the local time of the app (PST). Is there any way to fix this?
No real solutions for this.
- We’re getting an Internal Server Error, but not seeing the nice Rails stacktrace page. It appears that the error is buried in rack somewhere. Does anyone know how to get a better error report?
Hammertime was suggested.
- When trying to build a gem what are the versions of Ruby and RubyGems that you should use to allow the gem to work everywhere.
Suggested to build the gem with Ruby 1.8.7
Ask for Help
“How do I get Jenkins to run the tests for every branch, not just master?”
Turns out that’s the default behavior of Jenkins. You can “Branches to build” to “*” in the build options. CI boxes spun up by Lobot sets that to ‘master’ by default.
However, if you have a persistent branch other than master that needs ci, it’s probably better to just make another build than have Jenkins build all branches always.
- Typekit has been acquired by Adobe.
- SSDs are really fast. Adding an index on a particular project took 4 minutes locally, but 4 hours on an EC2 box with an instance store.