https://www.rpatterson.net/Ross Patterson's Blog - Posted in 20132023-08-22T15:29:27.038985+00:00ABloghttps://www.rpatterson.net/blog/emerald-sprint-report-out/Emerald Sprint Report Out2013-02-13T00:00:00+00:00Ross Patterson<section id="emerald-sprint-report-out">
<blockquote>
<div><p>Merging versioning and and constrained types into Dexterity near Beautiful Seattle.</p>
</div></blockquote>
<p>Thanks to the fabulous <a class="reference external" href="http://seattleplone.org">Seattle Plone folk</a>, we had another west
coast sprint, the <a class="reference external" href="http://www.coactivate.org/projects/emerald-sprint/project-home">Emerald Sprint</a>, on lovely <a class="reference external" href="https://maps.google.com/maps?q=48.16269,-122.467258&ll=47.890564,-122.437134&spn=2.232193,5.410767&num=1&t=h&gl=us&z=8">Camano Island</a>. The
focus was polishing <a class="reference external" href="http://pypi.python.org/pypi/plone.app.dexterity">Dexterity</a>, it was a gorgeous location, a very
productive sprint, and I very much hope we can make it an annual
thing. We might have a better chance at that if we choose a topic
next year such that <a class="reference external" href="http://glicksoftware.com/">David</a> can just be another sprinter for once.
:-)</p>
<p>Firstly, I have to give a huge shout out to our Maven of Fine Dining,
<a class="reference external" href="http://www.linkedin.com/in/skleinfeldt">Sally</a>, and to <a class="reference external" href="www.linkedin.com/pub/alice-tseng/4/275/530">Alice</a> for yet more above-and-beyond contributions
to the culinary experience of this sprint. The food was simply
incredible and I have to say I <em>love</em> a sprint that has that element.
I was spoiled before by the cooking at the <a class="reference external" href="../cioppino-sprint-2012">Cioppino Sprint</a> and the
<a class="reference external" href="../sea-sprint-2012-report-out">Sea Sprint</a> and the food at this sprint may have out done them!</p>
<p>The sprint location was an excellent choice and everything was very
well organized by <a class="reference external" href="http://crisewing.com/">Cris</a>, <a class="reference external" href="https://twitter.com/luke_brannon">Luke</a>, <a class="reference external" href="http://solitonconsulting.com/">Fulvio</a> and <a class="reference external" href="http://glicksoftware.com/">David</a>. I was
very sad to learn that <a class="reference external" href="http://crisewing.com/">Cris</a> wasn’t going to be able to stay for the
sprint and wish him the best. Thanks also to <a class="reference external" href="http://andersonleeb.com/">Ian Anderson and Andy
Leeb</a> for treating us to a delicious dinner out on our first night.</p>
<p>We did a brainstorming session where we all voted for what we found to
be the most important. Then <a class="reference external" href="http://glicksoftware.com/">David</a> and <a class="reference external" href="https://github.com/MatthewWilkes">Matthew</a> marked the items
that they thought were clear low-hanging fruit that didn’t require a
lot of design or other discussion. After seeing what the other
sprinters chose for I opted for tackling some of the remaining
low-hanging fruit. That ended up being two tasks both of which
involved merging work done by others previously in add-ons or other
packages not in Dexterity core where they belong: <a class="reference external" href="https://trello.com/card/better-versioning-support/50d18b10540c21f830003269/9">versioning</a> and
<a class="reference external" href="https://trello.com/card/ui-for-setting-the-subtypes-for-containers/50d18b10540c21f830003269/21">constrained types</a>.</p>
<p>Working on <a class="reference external" href="https://trello.com/card/better-versioning-support/50d18b10540c21f830003269/9">versioning</a> involved merging two add-on packages into
<a class="reference external" href="http://pypi.python.org/pypi/plone.app.dexterity">Dexterity</a> core. The <a class="reference external" href="http://pypi.python.org/pypi/collective.cmfeditionsdexteritycompat">collective.cmfeditionsdexteritycompat</a>
add-on makes it possible to use the history view on Dexterity content
and I merged it into <a class="reference external" href="http://pypi.python.org/pypi/plone.app.versioningbehavior">plone.app.versioningbehavior</a>. The
<a class="reference external" href="http://pypi.python.org/pypi/collective.dexteritydiff">collective.dexteritydiff</a> add-on brings parity with <a class="reference external" href="http://plone.org/products/archetypes">Archetypes</a>
when viewing diffs between versions and I merged it into
<a class="reference external" href="http://pypi.python.org/pypi/Products.CMFDiffTool">Products.CMFDiffTool</a>. Both packages were done by <a class="reference external" href="http://rafaelb.objectis.net/">Rafael
Oliveira</a> and worked perfectly, my only job was doing the merge and
reconciling the tests. Fortunately, <a class="reference external" href="http://rafaelb.objectis.net/">Rafael</a> had written tests <em>and</em>
had done so using <a class="reference external" href="http://pypi.python.org/pypi/plone.app.testing/4.2.2">plone.app.testing</a>. <em>Unfortunately</em>,
<a class="reference external" href="http://pypi.python.org/pypi/Products.CMFEditions">Products.CMFEditions</a> does not use <a class="reference external" href="http://pypi.python.org/pypi/plone.app.testing/4.2.2">plone.app.testing</a> and since
such tests can not run in the same test run as <code class="docutils literal notranslate"><span class="pre">ZopeTestCase</span></code> tests
are run, that meant I had to back-port the tests <a class="reference external" href="http://rafaelb.objectis.net/">Rafael</a> wrote off
of <a class="reference external" href="http://pypi.python.org/pypi/plone.app.testing/4.2.2">plone.app.testing</a> back to <cite>ZopeTestCase</cite>. I hate going
backwards but enough things build on the <a class="reference external" href="http://pypi.python.org/pypi/Products.CMFEditions">Products.CMFEditions</a> tests
that I guessed it would take too long and be to disruptive to convert
all those tests. After that, I spent the rest of the sprint trying to
complete my <a class="reference external" href="https://github.com/plone/plone.app.testing/tree/simpler-helpers">plone.app.testing.api</a> branch which is intended to make
such conversions easier.</p>
<p>I also had the opportunity to bring <a class="reference external" href="https://picasaweb.google.com/lh/photo/Pq5EEJ3K2izy6gP4aGsrJNMTjNZETYmyPJy0liipFm0?feat=directlink">Gin Apocrypha</a> with me and bar
tend for the event. It was my first time trying to check enough items
on the plane to be able to mix my whole menu and it actually worked
out very well. So I think I may be willing to check a bag in the
future to be able to bring <a class="reference external" href="https://picasaweb.google.com/lh/photo/Pq5EEJ3K2izy6gP4aGsrJNMTjNZETYmyPJy0liipFm0?feat=directlink">Gin Apocrypha</a> to events I don’t drive to
in the future!</p>
<p>It was a great sprint and I love the Seattle area so I really hope
this happens again. This sprint being focused on <a class="reference external" href="http://pypi.python.org/pypi/plone.app.dexterity">Dexterity</a> and
<a class="reference external" href="http://glicksoftware.com/">David</a> being Dexterity’s maintainer and fearless leader, I know I
pestered him a lot as I needed to ask questions and get perspective,
but he did a great job facilitating everything. For that reason if no
other, I hope the next Emerald Sprint can be on a topic such that
David can get back to basics and enjoy being just another sprinter
again. :-)</p>
<div class="note update admonition">
<p class="admonition-title">Updated on 13 February 2013</p>
<p>Imported from Plone on Mar 15, 2021. The date for this update is the last
modified date in Plone.</p>
</div>
</section>
Merging versioning and and constrained types into Dexterity near Beautiful Seattle.2013-02-13T00:00:00+00:00https://www.rpatterson.net/blog/prgmr-com-vps-hosting-we-dont-assume-you-are-stupid/prgmr.com VPS: “We don’t assume you are stupid”2013-02-04T00:00:00+00:00Ross Patterson<section id="prgmr-com-vps-we-don-t-assume-you-are-stupid">
<blockquote>
<div><p>Excellent, affordable VPS service done in a way that feels very much like participating in an open-source community.</p>
</div></blockquote>
<p>I just wanted to drop a quick note praising <a class="reference external" href="http://prgmr.com/xen/">prgmr.com</a> for their excellent and very affordable VPS service. Unfortunately, I had to change hosting providers for other reasons but would have been happy to stay with them indefinitely.</p>
<p>Their slogan is “We don’t assume you are stupid” and that’s very apt. There’s a combination of no hand-holding combined with support. The support is a particularly good part of their service. It’s generous but in a particular way that works very well for me. They’ll help you up with no real hierarchy or bureaucracy up to a limit that I think almost anyone who has participated significantly in an open-source project will find familiar. Beyond that, you’re on your own. I really like this balance and always found the lack of bureaucracy more than worth it for any relative lack of hand-holding.</p>
<p>At any rate, if you want an excellent and affordable VPS in the Bay Area, I can recommend no one better.</p>
<div class="note update admonition">
<p class="admonition-title">Updated on 04 February 2013</p>
<p>Imported from Plone on Mar 15, 2021. The date for this update is the last
modified date in Plone.</p>
</div>
</section>
Excellent, affordable VPS service done in a way that feels very much like participating in an open-source community.2013-02-01T00:00:00+00:00