A former client asked:
“What does Scrum say about User Acceptance Testing? I am wondering if it should best be done within 24 hours of delivery, or at the end of a sprint…“
I’ll dodge scrum, but answer how we do it here by framing this in terms of risk and velocity:
We prefer to get acceptance as soon as a story can be delivered to the acceptance/demo server. Intra-day is the best, but certainly within the same sprint when the work is done so as not to muddy velocity measures (a story isn’t done until it is accepted, so there’s incentive on all sides).
The longer a story sits out there (waiting to be accepted), the bigger the risk that it is “wrong” and needs re-work. Since the code base continues to evolve, fixes are harder the further they are away (in terms of commits) from the original change-set. This can slow down velocity. We want to reduce risk and maintain a steady velocity. Thus, the sooner a story is accepted by the stake holder, the better.
- Project Sprouts from Luke Bayes “an open-source, cross-platform project generation and configuration tool for ActionScript 2, ActionScript 3, Adobe AIR Flash and Flex projects”
“Project Sprouts was originally designed (as AsProject) to solve a specific set of problems and was later entirely refactored to become a modular set of libraries that are built on top of Ruby, RubyGems and Rake.” — Luke Bayes
“So how will Sencha monetize? The company plans to sell its tools, like Sencha Animator, at a premium. It’ll also offer premium support plans.” — Tech Crunch
“Does anyone have experience with (slower) performance on EC2 compared to Heroku”
- Test network lag
- The small instance, the default, is just too wimpy to run as an application server
- Make sure your database instance is big enough, and has enough memory
- Any experience with RDS?
“Can you run cucumber with its own database instance?”
- By default, Cuke creates its own environment, but piggy-backs on the test database
rake db:test:prepare is wired to :test and won’t support a :cucumber in the database.yml without extra rake tasks that have continuing maintenance costs
- I’ve used the parallel_tests gem in the past, which has managed to retrofit db:test:prepare to work with multiple test databases, but it did require an extra step after each migration (and it didn’t play well with postgres text indexes).
Interesting – Local Search API deprecation confusion
Google deprecated their Local Search API and suggest to use the Maps API GoogleBar instead. However, as it turns out, the API GoogleBar is just a wrapper around the Local Search API, that was just deprecated. You could use the Google Places API instead, but that one is currently in developer preview only. What are we supposed to do Google? Googling it did not reveal any fully satisfying answer…
Interesting – Attaching JQuery UI Datepicker
When attaching JQuery UI’s datepicker you should not use the class hasDatepicker since JQuery UI uses this class to mark DOM objects that already have a datepicker attached. So it won’t attach a datepicker to elements with that class.
Interesting – Solr score sort
It is possible to sort results in Solr using any criteria you want and use the Solr score for a secondary sort. Some people thought that you were only able to use the Solr score as your primary sorting criteria.
Help – Request for PNG not working in IE7
We request a PNG via IE7 from inside Parallels, but the file doesn’t get returned. The Nginx log just shows an empty line for the request.
Suggestion: Look also in Nginx’s error.log for the failing request. The request might be logged here and help find out what actually went wrong.
Interesting – Google Maps suggest canoeing and jet ski routes if your destination is across the ocean.
Jet ski from Shanghai, China to Kagoshima, Japan
San Francisco to Honolulu via kayak
Interesting – Making “.*” in regular expressions less greedy
Sometimes .* in regular expressions matches more than we would like it too. Let’s say you have a string that includes some numbers you want to extract from a string. Our string might look like this:
some text 123 more text
now we might try to use the following regular expression to get the 123.
However, this will only get us the 3. This happens because .* will match as match as possible. Adding a ? will change this to only match what is needed.
Now we get the 123 as desired.
A nice toll to experiment with regular expressions is rubular.com. Rubular allows you to see the effects of your regex in combination with an example string instantly.
Help – Running my own gem server
Sarah will give a Ruby introduction class for kids at RubyConf. However, there won’t be any Internet connection available, but the participants will need to install several gems.
A solution to this problem is the gem geminabox which allows you to run a server providing gems. Other users
who have geminabox installed then are able to install gems from that server.
Is it possible in Jasmine to spy on a getter such as
myObject[key]? We want to know when local storage is accessed.
Local storage has a functionally equivalent
getValue function, which you can spy on, but the spy is not triggered when you access the value via
On unicorn, the random number generator is seeded before the fork. So if you are depending on a set of unicorns to generate different random numbers, you need to reseed the random number generator manually after the fork.
If you want to make absolutely sure you aren’t generating any queries in your Rails views, try no_querying_views – which explodes if your query comes from view code.
Other ways to track down inefficient queries that folks have successfully used: bullet and query_reviewer
Skype 5 beta is out for Mac, which allows group video chat. Everyone must be on the beta for it to work.
Do people put bundler in the Gemfile?
Yes. Bundler is smart enough to omit it from the cache. It does, however, still follow the rules for version. We recommend using
~> 1.0.0 as the version string, because 1.x is supposed to be backwards-compatible with the current Gemfile format.
If you instead use
= 1.0.0 and your managed hosting environment updates bundler to something more recent, things will ASPLODE.
- Tech talk that was going to be today has moved to Thursday, due mostly to noise concerns. See you tomorrow.