[Twisted-Python] What happens in Montréal… PyCon 2014 Sprint Report

Hi folks, I didn't attend PyCon or the accompanying sprints this year, but judging from the commit traffic, many of you did. And I want to know what you worked on! Partly so I can live vicariously through your experiences, but I know a lot of other people are curious too. Events like this are a great way to show our followers and sponsors what happens when a bunch of people have a chance to get together and focus on the project. I've started a sprint report page on the wiki: https://twistedmatrix.com/trac/wiki/PyconSprint2014 Feel free to contribute directly to that page, or reply to this email (either on or off-list) and I'll see if I can summarize the responses. For those of you who were at the sprints this year: * Was this your first time at a development sprint? * Was it your first time contributing to Twisted? * What did you work on? * Did you work on something outside Twisted core? I especially want to hear about these! For Twisted I can look at the commit logs, but if there was activity on related projects, I might not know where to look unless you tell me about it. * Any other lasting impressions? Is there something you'll do differently now as a result of some conversation or experience you had at PyCon? I know now that you're starting to get caught up on sleep and the poutine is leaving your system, you may have reservations about sharing certain things you worked on. Maybe you feel like it's not "ready" yet, or it feels out-of-place next to that ticket Glyph worked on where there were eight or nine thousand words in the ticket comments alone. Maybe some things that happen in Montréal really should stay in Montréal. But if you had a good experience at the sprints, and it's something you'd encourage others to join next time they have the opportunity, please share! If you didn't have the experience you were hoping for, but you learned something that will make it better for next time, share that too. Whether it's something for the sprint organizers or something you wish you could tell your earlier self, help us make next time better. Think nobody else wants to hear about the weird thing you were working on? Might there be a *small* chance? Like one-in-a-million? Then share that too. There are at least a million Python programmers out there. Even if your thing isn't "done," sometimes just knowing someone has _made an attempt_ is important. Lastly, if you have any photos, vines, blender models, artist's renditions of the porting process, or any other media from the sprint, please do email me. From time to time the Software Freedom Conservancy (which supports the Twisted Software Foundation) asks us if we have anything to share that isn't a wall of text, and I'd love to have more things to *show* people. Thanks, - Kevin

On Apr 20, 2014, at 2:38 PM, Kevin Turner <keturn@keturn.net> wrote:
Thanks for putting this there!
Feel free to contribute directly to that page, or reply to this email (either on or off-list) and I'll see if I can summarize the responses.
Everybody else should really reply; I'm a little surprised to not see
For those of you who were at the sprints this year:
* Was this your first time at a development sprint?
Nope.
* Was it your first time contributing to Twisted?
Not really, no.
* What did you work on?
I worked primarily on TLS, particularly client-side TLS. The relevant tickets are <https://twistedmatrix.com/trac/ticket/7098> and <https://twistedmatrix.com/trac/ticket/4888>; I just put 4888 into what I hope will be its final review, which is why it took me so long to get to replying here! I also helped out a little with some questions on <https://twistedmatrix.com/trac/ticket/6750> which wsanchez and ralphm put through several review/response cycles and will, I hope, be ready to land shortly after 14.0.
I worked on <https://github.com/hynek/pem>, and added chain-construction logic so you don't have to put your keys/certs/chain certs in any particular order. I also put together <https://pip2014.com/> a little bit before the sprints and ended up discussing it there a fair amount. I'm trying to participate a bit more in the wider ecosystem so that we don't have so much code locked up inside Twisted that people are not aware of.
* Any other lasting impressions?
As usual, the sprints were amazing, and it was great to have so many people working on Twisted and moving things forward, many of which had been stuck or stalled for months.
I'm planning to stop working on TLS soon, I hope ;-).
You should never feel like it's not "ready". Any contribution is totally worthwhile!
Yes, please do!
This PyCon was a little weird in the way that we set up the space; it ended up being more old hands and fewer new people, since there weren't many opportunities to attract new folks wandering by to the project (since we were in a corner of the building and nobody ever wandered by). That also meant that there was a bit less opportunity for cross-pollenation with other projects. On the plus side, it meant that the sprint was pretty focused and we made a lot of progress on some very big, challenging issues that required a lot of continuous focused attention from advanced contributors. We seem to alternate years, with every other year being very new-contributor focused, which is sort of okay, but I'd like to see a sprint with two halves, where one part of the room is onboarding new people and the other half is more advanced development. Also, there should be some small incentive for people to stay for the entire duration of the sprints. If PyCon itself doesn't do this, then perhaps we should. The fact that people are gradually trickling out starting on the afternoon of the first day until almost nobody is left on the last day does lower the energy level just a little bit.
Learning that someone has made an attempt is often the first step towards prompting someone _else_ to actually finish the work :). -g

On Mon, Apr 21, 2014 at 3:08 AM, Kevin Turner <keturn@keturn.net> wrote:
Yes and no. - Yes, because this was the first time I did any "development" at a sprint. No, because I just hung out at PyCon sprints last year for a little while - without actually "sprinting".
* Was it your first time contributing to Twisted?
Nope.
* What did you work on?
I sort of paired with itamar and glyph on the things they were working on. By "sort of", I mean I just sat there following what they were doing and asked questions, and as glyph put it - "made sure they don't get distracted". I made exarkun release Machinist - and by that I mean I kept poking at him until he finished the setup.py and frowned and screamed at anyone who wanted him to work on anything else. Now the "real" contribution I made - worked on < https://twistedmatrix.com/trac/ticket/6698>: designed a state machine for HostnameEndpoint using Machinist with exarkun. It's nowhere close to being ready yet, but it's a start.
Well, I requested a release of Machinist < https://github.com/hybridcluster/machinist>. And to release Machinist, we needed Eliot <https://github.com/hybridcluster/eliot>, and upon my asking, itamar released it on the first day of the sprints. (It might look like I am taking all the credits for these, but please note that all I did was *ask* for the releases, and that too for purely selfish reasons - so I could work on tm.tl/#6698)
During the sprints, there were numerous discussions about a new TLS API in Cryptography < https://mail.python.org/pipermail/cryptography-dev/2014-April/000227.html>. Although I spent more time frowning at those discussions because they demanded that time of the people that I wanted to use for designing my FSM, I now find it interesting. As a result of people screaming TLS all the time, I might look into working on this in my free time.
Right so, I was wary of sprinting initially, since it involves trying to write useful code in a room full of people, with lots of noise and distractions. I could only attend this one because people insisted I do. It started with a logical discussion in an attempt to highlight the benefits of sprints and why people liked sprinting (I should perhaps document it sometime - maybe a blog post soon), but when I was still scared, people resorted to: "Just come and sit with us", "there is lots of room, internets, and powers!", and "you should [just] come over" (and even a "just try and avoid it. I dare you" :). And I went over. And it was fun! People threw forks at others for writing bad code, people signed keys, people talked about writing software, people talked about snow (okay, that was mostly just me), people talked about food, about climbing mountains, and people talked about meeting more people. So yes, if you have the opportunity, you should attend the sprints - if not to write software, maybe just to hang out with friends, it can be a lot of fun!
Uhm yes, there's this one thing. During the sprints, I worked with exarkun on designing a Finite State Machine, and once we were done with an initial design, we checked it into a branch for me to continue working on it later. When I did look at it later, working on it alone seemed dull and boring as compared to pairing with people. And well, I think I'm going to have to take a break from the branch until I forget how much fun the sprints were, so that I can continue happily working on it alone. It's not something that can (or should, for that matter) be fixed. It's just a side-effect of a successful sprint you can't avoid. :) -Ashwini

On 12:19 pm, ashfall@twistedmatrix.com wrote:
Possibly the notion of having cutlery thrown at you doesn't sound as appealing to people who weren't there (possibly it wasn't terribly appealing to the people who *were* there, either). So I'll just add that as far as I know it was only one fork, it was plastic, and I don't think this is a common occurrence at Twisted sprints (nor should it be, it's all good fun 'til someone loses an eye). Sorry Glyph! (But seriously don't write code like that ;) Jean-Paul

On Apr 20, 2014, at 2:38 PM, Kevin Turner <keturn@keturn.net> wrote:
Thanks for putting this there!
Feel free to contribute directly to that page, or reply to this email (either on or off-list) and I'll see if I can summarize the responses.
Everybody else should really reply; I'm a little surprised to not see
For those of you who were at the sprints this year:
* Was this your first time at a development sprint?
Nope.
* Was it your first time contributing to Twisted?
Not really, no.
* What did you work on?
I worked primarily on TLS, particularly client-side TLS. The relevant tickets are <https://twistedmatrix.com/trac/ticket/7098> and <https://twistedmatrix.com/trac/ticket/4888>; I just put 4888 into what I hope will be its final review, which is why it took me so long to get to replying here! I also helped out a little with some questions on <https://twistedmatrix.com/trac/ticket/6750> which wsanchez and ralphm put through several review/response cycles and will, I hope, be ready to land shortly after 14.0.
I worked on <https://github.com/hynek/pem>, and added chain-construction logic so you don't have to put your keys/certs/chain certs in any particular order. I also put together <https://pip2014.com/> a little bit before the sprints and ended up discussing it there a fair amount. I'm trying to participate a bit more in the wider ecosystem so that we don't have so much code locked up inside Twisted that people are not aware of.
* Any other lasting impressions?
As usual, the sprints were amazing, and it was great to have so many people working on Twisted and moving things forward, many of which had been stuck or stalled for months.
I'm planning to stop working on TLS soon, I hope ;-).
You should never feel like it's not "ready". Any contribution is totally worthwhile!
Yes, please do!
This PyCon was a little weird in the way that we set up the space; it ended up being more old hands and fewer new people, since there weren't many opportunities to attract new folks wandering by to the project (since we were in a corner of the building and nobody ever wandered by). That also meant that there was a bit less opportunity for cross-pollenation with other projects. On the plus side, it meant that the sprint was pretty focused and we made a lot of progress on some very big, challenging issues that required a lot of continuous focused attention from advanced contributors. We seem to alternate years, with every other year being very new-contributor focused, which is sort of okay, but I'd like to see a sprint with two halves, where one part of the room is onboarding new people and the other half is more advanced development. Also, there should be some small incentive for people to stay for the entire duration of the sprints. If PyCon itself doesn't do this, then perhaps we should. The fact that people are gradually trickling out starting on the afternoon of the first day until almost nobody is left on the last day does lower the energy level just a little bit.
Learning that someone has made an attempt is often the first step towards prompting someone _else_ to actually finish the work :). -g

On Mon, Apr 21, 2014 at 3:08 AM, Kevin Turner <keturn@keturn.net> wrote:
Yes and no. - Yes, because this was the first time I did any "development" at a sprint. No, because I just hung out at PyCon sprints last year for a little while - without actually "sprinting".
* Was it your first time contributing to Twisted?
Nope.
* What did you work on?
I sort of paired with itamar and glyph on the things they were working on. By "sort of", I mean I just sat there following what they were doing and asked questions, and as glyph put it - "made sure they don't get distracted". I made exarkun release Machinist - and by that I mean I kept poking at him until he finished the setup.py and frowned and screamed at anyone who wanted him to work on anything else. Now the "real" contribution I made - worked on < https://twistedmatrix.com/trac/ticket/6698>: designed a state machine for HostnameEndpoint using Machinist with exarkun. It's nowhere close to being ready yet, but it's a start.
Well, I requested a release of Machinist < https://github.com/hybridcluster/machinist>. And to release Machinist, we needed Eliot <https://github.com/hybridcluster/eliot>, and upon my asking, itamar released it on the first day of the sprints. (It might look like I am taking all the credits for these, but please note that all I did was *ask* for the releases, and that too for purely selfish reasons - so I could work on tm.tl/#6698)
During the sprints, there were numerous discussions about a new TLS API in Cryptography < https://mail.python.org/pipermail/cryptography-dev/2014-April/000227.html>. Although I spent more time frowning at those discussions because they demanded that time of the people that I wanted to use for designing my FSM, I now find it interesting. As a result of people screaming TLS all the time, I might look into working on this in my free time.
Right so, I was wary of sprinting initially, since it involves trying to write useful code in a room full of people, with lots of noise and distractions. I could only attend this one because people insisted I do. It started with a logical discussion in an attempt to highlight the benefits of sprints and why people liked sprinting (I should perhaps document it sometime - maybe a blog post soon), but when I was still scared, people resorted to: "Just come and sit with us", "there is lots of room, internets, and powers!", and "you should [just] come over" (and even a "just try and avoid it. I dare you" :). And I went over. And it was fun! People threw forks at others for writing bad code, people signed keys, people talked about writing software, people talked about snow (okay, that was mostly just me), people talked about food, about climbing mountains, and people talked about meeting more people. So yes, if you have the opportunity, you should attend the sprints - if not to write software, maybe just to hang out with friends, it can be a lot of fun!
Uhm yes, there's this one thing. During the sprints, I worked with exarkun on designing a Finite State Machine, and once we were done with an initial design, we checked it into a branch for me to continue working on it later. When I did look at it later, working on it alone seemed dull and boring as compared to pairing with people. And well, I think I'm going to have to take a break from the branch until I forget how much fun the sprints were, so that I can continue happily working on it alone. It's not something that can (or should, for that matter) be fixed. It's just a side-effect of a successful sprint you can't avoid. :) -Ashwini

On 12:19 pm, ashfall@twistedmatrix.com wrote:
Possibly the notion of having cutlery thrown at you doesn't sound as appealing to people who weren't there (possibly it wasn't terribly appealing to the people who *were* there, either). So I'll just add that as far as I know it was only one fork, it was plastic, and I don't think this is a common occurrence at Twisted sprints (nor should it be, it's all good fun 'til someone loses an eye). Sorry Glyph! (But seriously don't write code like that ;) Jean-Paul
participants (4)
-
Ashwini Oruganti
-
exarkun@twistedmatrix.com
-
Glyph Lefkowitz
-
Kevin Turner