10 April 2015
Posted on Friday, April 10, 2015 by David Campey
05 July 2013
First GraphsIn week 2 of CodeSpeed2, the rewrite of CodeSpeed for pypy and the PSF, we got our first graphs up.
|Malte & Matt just having coaxed a benchmark run into the first bar chart|
By the end of the week, we had the first cut on three graphs.
These are being drawn from bench mark runner output data submitted via the Cyclone endpoint, persisted to MongoDB, fetched from the API, represented in an Angular.js object and rendered with d3.js.
/api/c_python_normalized_benchmarks /api/benchmark_history /api/benchmark_result
For usage details, tests are in
/src/testin the repository bitbucket.org/pypy/codespeed2.
TaxonomyAlso in this week we had some meaningful discussion about what terms mean in this context.
Best summarised in the following sentence:
The runner runs Benchmarks (which are Modules e.g. ai.py) and produces Benchmark_Runner_Output data which contains [one or more] BenchMark_ResultsA key observation: the system under test is pypy and the modules (e.g. ai) are the benchmarks being run against that.
Up next: User Experience / FlowIn the next week we'll be crafting a first take on how users select and navigate data. D3 gives us some interesting options for hyper-linking in the SVG itself.
Posted on Friday, July 05, 2013 by David Campey
29 April 2013
The Inception DeckAs discussed in Jonathan Rasmusson's Agile Samurai:
Many projects get killed before they even get out of the starting blocks.So, seeing as we're a courageous bunch and wanted to avoid the fail, we started with an inception deck.
This is mostly because of the following reasons:
- They fail to ask the right questions.
- They don’t have the courage to ask the tough ones.
Why are we here?
This project is funded by the PSF and donated time from Information Logistics and is beeing overseen by Maciej Fijalkowski.
The answer we came up with to the question "why are we here?" was:
Because PSF likes us enough to rewrite codespeed
So that: Maciej or any interested dev can easily test and implement a feature in an afternoon... and know the answer to: "Does it work?"
Meet the Neighbours
Twisted: JP Calderon,
CTPUG: Simon & DavidM
Show the solution
"munch munch munch" -- fijall
Technologies we chose to get started:
- cyclone io
- mongo db
What's going to give?
The product can be extended after we're done with this phase.
What's it going to take?
2: First graphs
4-6: Smart search, statistics
What Keeps you up at night?Not much really, Excited.
Elevator PitchFor maciej, codespeed2 is a benchmark run visualiser that lets you understand performance.
And, we're off!With that quick summary done, we all headed off into the first week.
In the first week: we got the backend up and running, accepting all the different formats from the runner and persisting to MongoDB. Check out bitbucket.org/pypy/codespeed2 for the blow-by-blow.
Next post: week 2 update.
Posted on Monday, April 29, 2013 by David Campey
25 March 2012
Today was a great success with six awesome developers from around Cape Town pitching up, three of whom I'd never met. We started out with coffee and intros then watched Corey's intro to the technique.
We had three sessions before lunch with great pairing, everyone was experienced in TDD so going was good. The pairs explored approaches to Conway's game of Life, from implementing the rules to different approaches to the universe/environment.
I heard the cries of panic at a stack overflow; we tried a pattern matching approach which ended up newing up the universe and creating lenses. We also got better at facetious implementation and avoiding primitive obsession generated some great insights on seams and testability. And lots of laughter.
Each session ended after 45 minutes with my annoying alarm going off and us deleting our code (sometimes gratefully). There were enough people today for each session to be with someone new which was excellent.
Then we sat down to a nice long Thai lunch at Chai-Yo where war stories were shared and a bit more context built. A game of foosball wrapped up the lunch-time and then it was back to coding.
Pairing without talking
We had one session after lunch: which for me was the highlight. We tried pairing without talking, with one partner writing tests and the other implementing. This was pure fun, trying to balance leading with tests and challenging er .. challenges. It was almost like a game of chess with each partner playing their move with relish.
This brought us to 15:30 where we had the closing circle, discussing learnings, surprises and things we would change.
- Tests can drive architecture quickly
- Fluent syntax for building tests was an easy refactor, and fun
- Pairing is all about Attitude, we were all able to pair successfully even though we'd just met
- Different people with diferent backgrounds can think very similarly
- New adventures in resharper
- NUnit TestCase... now we can't go back
- The fun of silent pairing
- Finding other people who love code
Things we'd change:
- More people next time
- Order something more filling at lunch
- Bring better dev gear (keyboards/mice/faster laptop)
- If the group is big enough, try pair facilitation
And, finally, the group photo.
Posted on Sunday, March 25, 2012 by David Campey
19 December 2011
I've collated links to the talks on vimeo with my (somewhat terse) notes from the gathering.
Annu Augustine: Saying No
Step 1: Don't say the word no!
Instead: not now, let's explore, what if?
Listen, understand context, then use the same language
To motivate prioritization, show lack of connection to the goal
Watch Saying No on vimeo
Cara Turner: Achievable Goals
Maybe we achieved it?
Cara took us through how to frame a goal to assist success.
Watch Achievable Goals on vimeo
Brent: Agile Success
How to tame the dragon: we can't tame a two headed dragon
Client induction is important to get on the same page
Working software is different: "We don't build ships like this" -- indeed.
Pat Vine: Fixed Price Scrum
Why? The customer wants:
- to know cost
- to reduce risk
- requirement for tender
Backlog management? + on the end
Watch Fixed Price Scrum on vimeo
Carlo Kruger: Your sprint review sux
15 minute tester demo of the sprint!
Ken: no applause please, we're just doing our job. If we pattern praise, bad things won't come out.
Purpose of the review is to inspect and adapt the product, we need to be exposed to failure to expose learning.
If we raise the stakes, we remove space. Rather remove untrusted people.
We are inspecting the work of the whole team in a facilitated conversation.
Format: Set stage, gather data, generate insight, choose focus.
Watch Your sprint review sux on vimeo
David Campey: Agile Contracting
Check-in: who has seen their contract?
There is a tension between customer collaboration and contract negotiation.
We do team weeks with money for nothing, unboxed does pay for points, Gabby Benefield is suggesting a series of fixed price projects.
Some inspection of our contract.
This talk relates to my agile contracting series.
Watch Agile Contracting on vimeo
All in all a great storm of lightning to spark off new ideas. See you at the next gathering?
Posted on Monday, December 19, 2011 by David Campey
18 September 2011
All of us at Information Logistics took the break from routine to take part in the Scrum Safari. My mind's still processing the influx of conversations from last week's gathering in Somerset West.
Excellent event as usual, well done to the committee and everyone else who helped out in some way. And thanks to all who came along and made this event great.
Outline of my experience (speaker details):
- Welcome with Austin / Mitch
- Boris Gloger's keynote on Agile and Management
- Sigi's Leadership talk
- Manoj: "It's about the culture, stupid"
- Serious Play with Thorsten
- Evening chat
- Scrum clinic - was both doctor and patient
- Lightning talks (with a pop-in at the Agile Jazz and Games sessions)
- Lean vs Agile keynote with [x]
- Team game of pool to wrap up
Posted on Sunday, September 18, 2011 by David Campey
16 September 2011
It's all shiny and new-smelling, the aircon/heating works wonderfully (how often do workspaces miss out on that crucial detail?!) and we have our foosball table plonked in the middle of the common area.
Building has beautiful internal spaces, (scary) talking elevator, wheelchair accessibility, smart lighting, across the road from the Colosseum mini-mall and is a brief walk away from Canal Walk.
Today was officially my first full day at the new offices. I spent today pairing with Luke on some enhancements to his project. We set up a mini task-board and happily hacked the day away.
Looking forward to growing our company in the new space.
Posted on Friday, September 16, 2011 by David Campey
In Boris Gloger 's "Estimation in Depth" deep dive at the South African Scrum Gathering he introduced us to Magic estimation....
Or, how I learned to read the assembly name In which I include dll's I was trying out this tutorial on Geekpedia and the references w...
TeamPlain has a goto work-item search that opens up workitems, oddly enough. I wanted to use the Firefox search box to fire this off. Usin...
Last night I ran through a basic tutorial on Fitnesse and .net. It went a little something like this. Download and run Fitnesse Download ...
The problem Stored in a varchar column, payload_xml , we have xml that looks something like this: <?xml version="1.0" encod...
So, I had a plane trip ahead of me, and I wanted to be able to use .net StringBuilder with operators, below is the bstring class I wrote to ...
Functions and procedures in MS SQL 2000 don't play particularly well together. That's not really a problem, seeing as they both sol...
We needed to build a Sharepoint WSP file in TFS as part of our continuous integration process. Already using WSPBuilder interactively we ju...
So my screen went on the blink; more like the scramble. It was very upsetting, and it carried on like this for a few weeks. I used an ext...
On day 2 of the Cape Town Scrum Gathering (a.k.a. Scrum Safari) there were a few lightning talks in the afternoon. I was lucky enough to na...