<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://www.ericholscher.com</id>
  <title>Eric Holscher - Posted in 2017</title>
  <updated>2026-04-20T04:45:53.919815+00:00</updated>
  <link href="https://www.ericholscher.com"/>
  <link href="https://www.ericholscher.com/blog/archive/2017/atom.xml" rel="self"/>
  <generator uri="https://ablog.readthedocs.io/" version="0.11.12">ABlog</generator>
  <entry>
    <id>https://www.ericholscher.com/blog/2017/dec/2/breaking-cliques-at-events/</id>
    <title>Breaking Cliques at Events: The Snowball Rule</title>
    <updated>2017-12-02T00:00:00+00:00</updated>
    <content type="html">&lt;section id="breaking-cliques-at-events-the-snowball-rule"&gt;

&lt;p&gt;I’ve been going to professional events for a number of years,
and one of the trickiest dynamics I have seen is that most events develop an “insiders” group who has been going for a long time.
These groups tend to feel like exclusionary cliques for first-time attendees,
and actively hurt the community’s goal of inclusion.&lt;/p&gt;
&lt;p&gt;I’d like to propose a simple rule that we have at the &lt;a class="reference external" href="http://www.writethedocs.org/"&gt;events&lt;/a&gt; I run,
which I think makes inclusion easier for everyone.&lt;/p&gt;
&lt;section id="difficulty-meeting-new-people"&gt;
&lt;h2&gt;Difficulty meeting new people&lt;/h2&gt;
&lt;p&gt;Meeting new people is scary, especially if you’re new to a community and you’re not sure if you belong.
People that have been attending an event for years are much more firmly planted in the community.
They are able to help newcomers understand the norms and standards of a place.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This means that long-time attendees should be the ones introducing themselves to first-time attendees.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With that in mind,
I came up with a new rule that properly assigns the responsibility.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="the-snowball-rule"&gt;
&lt;span id="pac-man-plus-rule"&gt;&lt;/span&gt;&lt;h2&gt;The Snowball Rule&lt;/h2&gt;
&lt;p&gt;The rule is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div&gt;&lt;p&gt;&lt;strong&gt;For every year you have attended an event, you should try to meet that many new people each day.&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;p&gt;An example makes it clear:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div&gt;&lt;p&gt;If you have attended an event for &lt;em&gt;three years&lt;/em&gt;, you should try to meet &lt;em&gt;three new people&lt;/em&gt; each day.&lt;/p&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;div class="admonition seealso"&gt;
&lt;p class="admonition-title"&gt;See also&lt;/p&gt;
&lt;p&gt;My original post on the &lt;a class="reference internal" href="../../2017/aug/2/pacman-rule-conferences/#pac-man-rule"&gt;&lt;span class="std std-ref"&gt;The Pac-Man Rule&lt;/span&gt;&lt;/a&gt; for another useful event rule&lt;/p&gt;
&lt;/div&gt;
&lt;/section&gt;
&lt;section id="the-organizer-s-responsibility"&gt;
&lt;h2&gt;The organizer’s responsibility&lt;/h2&gt;
&lt;p&gt;As an organizer,
you’re asking a lot of the long-time attendees.
Particularly in the software industry,
a lot of people (including me!) have anxiety around meeting new people.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;By using the Katamari Rule,
it’s the organizer’s responsibility to make meeting new people easier.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So here are a few ideas for how to make meeting new folks easier: &lt;a class="footnote-reference brackets" href="#id2" id="id1" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;1&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Organize lunches and dinners around topics so that people know they have shared interests&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Give folks “Ask me about ____” stickers to wear, so that breaking the ice is easy!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Have an &lt;a class="reference external" href="http://www.writethedocs.org/conf/portland/2018/unconference/"&gt;Unconference&lt;/a&gt; or open space, where there are tables or rooms labeled by topic in 30 minute blocks&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Have a &lt;a class="reference external" href="http://www.writethedocs.org/organizer-guide/confs/welcome-wagon/"&gt;Welcome Wagon&lt;/a&gt;, which is a few folks who are designated friendly faces for the event&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="outcomes"&gt;
&lt;h2&gt;Outcomes&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;New people only have to meet &lt;em&gt;one&lt;/em&gt; new person each day, a useful and attainable goal&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;People coming back for the second or third year feel a bit more responsibility to be &lt;em&gt;stewards&lt;/em&gt; for the community, a valuable role for them to play&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The organizers and long-time attendees need to meet the most people, and they are the most valuable in spreading the culture of the event – they are also the most exciting for new people to meet!&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the events that I have run, this rule has turned out quite well.
I have gotten feedback from people, who turned it into a game:
“My friends and I competed to see how many new people we could meet each day”&lt;/p&gt;
&lt;p&gt;However, the most important outcome is how it changes the dynamic of the event itself.
It goes from an event where it feels like people aren’t accessible, to one where people know it’s their job to meet new people.
This makes it easier for everyone to meet new people,
make connections,
and really build the valuable professional networks that we all need to be happy in our careers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Giving everyone at the event the direction to meet new people makes it much easier to meet new people.&lt;/strong&gt;&lt;/p&gt;
&lt;div class="admonition seealso"&gt;
&lt;p class="admonition-title"&gt;See also&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="../../2017/aug/2/pacman-rule-conferences/"&gt;&lt;span class="doc"&gt;The Pac-Man Rule at Conferences&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="../../2019/sep/19/helping-first-time-conference-attendees-with-welcome-wagon/"&gt;&lt;span class="doc"&gt;Using a Welcome Wagon to Help First-Time Conference Attendees&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="../../2023/feb/10/we-dont-do-that-here/"&gt;&lt;span class="doc"&gt;We don’t do that here: Setting social norms&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;hr class="docutils" /&gt;
&lt;p class="rubric"&gt;&lt;em&gt;Footnotes&lt;/em&gt;&lt;/p&gt;
&lt;aside class="footnote-list brackets"&gt;
&lt;aside class="footnote brackets" id="id2" role="doc-footnote"&gt;
&lt;span class="label"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;&lt;a role="doc-backlink" href="#id1"&gt;1&lt;/a&gt;&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;Thanks to &lt;a class="reference external" href="http://jacobian.org/"&gt;Jacob Kaplan-Moss&lt;/a&gt; for feedback,
particularly around ideas on making things easier.&lt;/p&gt;
&lt;/aside&gt;
&lt;/aside&gt;
&lt;/section&gt;
&lt;/section&gt;
</content>
    <link href="https://www.ericholscher.com/blog/2017/dec/2/breaking-cliques-at-events/"/>
    <summary>I’ve been going to professional events for a number of years,
and one of the trickiest dynamics I have seen is that most events develop an “insiders” group who has been going for a long time.
These groups tend to feel like exclusionary cliques for first-time attendees,
and actively hurt the community’s goal of inclusion.</summary>
    <category term="cliques" label="cliques"/>
    <category term="conferences" label="conferences"/>
    <category term="inclusion" label="inclusion"/>
    <category term="python" label="python"/>
    <category term="rules" label="rules"/>
    <published>2017-12-02T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.ericholscher.com/blog/2017/aug/2/pacman-rule-conferences/</id>
    <title>The Pac-Man Rule at Conferences</title>
    <updated>2017-08-02T00:00:00+00:00</updated>
    <content type="html">&lt;section id="the-pac-man-rule-at-conferences"&gt;

&lt;p&gt;I firmly believe that conferences can provide a lot of value for people in an industry.
Conferences allow people to create a network,
which helps them feel integrated in a community and profession.&lt;/p&gt;
&lt;p&gt;In order to build a network you need to meet other people at events, and for this to happen
attendees need to feel empowered to reach out and connect to people they don’t already know.
We do this by having specific events that encourage collaboration,
but also by giving people explicit permission to meet other people.&lt;/p&gt;
&lt;section id="give-people-explicit-permission-to-join-groups"&gt;
&lt;h2&gt;Give people explicit permission to join groups&lt;/h2&gt;
&lt;p&gt;In the &lt;a class="reference external" href="http://writethedocs.org"&gt;events&lt;/a&gt; that I help organize,
I try to solve this problem by &lt;strong&gt;giving people explicit permission to join new groups of people&lt;/strong&gt;.
In the introduction of the event,
I tell attendees their job is to meet people and make friends.
They are supposed to join groups,
battle past that awkward silence that occurs when they do,
and have a great time with new people.&lt;/p&gt;
&lt;p&gt;This solves one side of the equation,
making a person feel empowered,
and like they are &lt;em&gt;doing the right thing&lt;/em&gt; by talking to new folks.
There is a second part of this equation,
which is the group of people a person joins,
and that’s where the &lt;em&gt;Pac-Man Rule&lt;/em&gt; comes in.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="the-pac-man-rule"&gt;
&lt;span id="pac-man-rule"&gt;&lt;/span&gt;&lt;h2&gt;The Pac-Man Rule&lt;/h2&gt;
&lt;p&gt;The rule is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div&gt;&lt;p&gt;&lt;strong&gt;When standing as a group of people,
always leave room for 1 person to join your group.&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;p&gt;More memorably,
stand like Pac-Man!&lt;/p&gt;
&lt;img alt="https://www.ericholscher.com/_images/pacman.png" class="align-center" src="https://www.ericholscher.com/_images/pacman.png" style="width: 25%;" /&gt;
&lt;p&gt;The new person,
who has been given permission to join your group,
will gather up the courage,
and join you!
Another important point,
the group should now readjust to leave another space for a new person.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Leaving room for new people when standing in a group is a physical way to show an inclusive and welcoming environment.&lt;/strong&gt;
It reduces the feeling of there being cliques,
and allows people to integrate themselves into the community.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="video"&gt;
&lt;h2&gt;Video&lt;/h2&gt;
&lt;p&gt;Dylan Beattie has made a wonderful video that captures this quite well.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference download internal" download="" href="../../../_downloads/23d55c354d1a956872b3a4c12d9dc2b2/the-pac-man-rule.mp4"&gt;&lt;code class="xref download docutils literal notranslate"&gt;&lt;span class="pre"&gt;Download&lt;/span&gt; &lt;span class="pre"&gt;video&lt;/span&gt; &lt;span class="pre"&gt;as&lt;/span&gt; &lt;span class="pre"&gt;an&lt;/span&gt; &lt;span class="pre"&gt;mp4&lt;/span&gt;&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class="twitter-tweet" data-lang="en"&gt;&lt;p lang="en" dir="ltr"&gt;Going to a conference? Yes! Introduce yourself. Say hello. Chat to people. They&amp;#39;re lovely. Really! And if you&amp;#39;re already chatting in a group, make your group approachable using &lt;a href="https://twitter.com/ericholscher?ref_src=twsrc%5Etfw"&gt;@ericholscher&lt;/a&gt;&amp;#39;s Pac-Man Rule. &lt;br&gt;&lt;br&gt;Here&amp;#39;s how it works.&lt;br&gt;&lt;br&gt;Have fun! &lt;a href="https://t.co/QklklD43Me"&gt;pic.twitter.com/QklklD43Me&lt;/a&gt;&lt;/p&gt;&amp;mdash; Dylan Beattie 🇪🇺 (@dylanbeattie) &lt;a href="https://twitter.com/dylanbeattie/status/1111619036809449472?ref_src=twsrc%5Etfw"&gt;March 29, 2019&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/section&gt;
&lt;section id="your-mission"&gt;
&lt;h2&gt;Your mission&lt;/h2&gt;
&lt;p&gt;If you choose to accept it,
is to try and build the largest Pac-Man in the room.
Invite new people into your groups,
make new friends,
and build a community full of people who feel included.
We all benefit.&lt;/p&gt;
&lt;div class="admonition seealso"&gt;
&lt;p class="admonition-title"&gt;See also&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="../../2017/dec/2/breaking-cliques-at-events/"&gt;&lt;span class="doc"&gt;Breaking Cliques at Events: The Snowball Rule&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="../../2019/sep/19/helping-first-time-conference-attendees-with-welcome-wagon/"&gt;&lt;span class="doc"&gt;Using a Welcome Wagon to Help First-Time Conference Attendees&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a class="reference internal" href="../../2023/feb/10/we-dont-do-that-here/"&gt;&lt;span class="doc"&gt;We don’t do that here: Setting social norms&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/section&gt;
&lt;/section&gt;
</content>
    <link href="https://www.ericholscher.com/blog/2017/aug/2/pacman-rule-conferences/"/>
    <summary>I firmly believe that conferences can provide a lot of value for people in an industry.
Conferences allow people to create a network,
which helps them feel integrated in a community and profession.</summary>
    <category term="conferences" label="conferences"/>
    <category term="inclusion" label="inclusion"/>
    <category term="pacman" label="pacman"/>
    <category term="rules" label="rules"/>
    <published>2017-08-02T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.ericholscher.com/blog/2017/feb/13/docs-are-json-for-the-brain/</id>
    <title>Documentation is JSON for the Brain</title>
    <updated>2017-02-13T00:00:00+00:00</updated>
    <content type="html">&lt;section id="documentation-is-json-for-the-brain"&gt;

&lt;p&gt;When you are writing software,
you build a mental model of the program in your brain.
This is how you make decisions and reason about how the program might work,
how data flows,
or what designs make the most sense.&lt;/p&gt;
&lt;p&gt;A large amount of the time spent “programming” is actually building a mental model in your brain.
You spend time understanding &lt;em&gt;how&lt;/em&gt; and &lt;em&gt;why&lt;/em&gt; things are put together.
Programmers often talk about how interruptions can stop them from being productive for 15-30 minutes afterwards.
This is because they are losing the mental model that they have spent time building.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reading documentation is the quickest way to load mental state into your brain.&lt;/strong&gt;
It gives you a shortcut,
faster than reading code,
to understand what the code is doing,
and why.
Writing documentation is the best way to preserve the mental model in your mind,
and turn it into written words for later.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Documentation is JSON for your mental state.&lt;/strong&gt;
You should write docs so that whoever is maintaining your code will be able to get up to speed quickly,
and understand why certain decisions were made.
That person might even be you in 6 months.&lt;/p&gt;
&lt;/section&gt;
</content>
    <link href="https://www.ericholscher.com/blog/2017/feb/13/docs-are-json-for-the-brain/"/>
    <summary>When you are writing software,
you build a mental model of the program in your brain.
This is how you make decisions and reason about how the program might work,
how data flows,
or what designs make the most sense.</summary>
    <category term="analogy" label="analogy"/>
    <category term="brain" label="brain"/>
    <category term="docs" label="docs"/>
    <category term="json" label="json"/>
    <category term="python" label="python"/>
    <published>2017-02-13T00:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://www.ericholscher.com/blog/2017/jan/27/code-is-self-documenting/</id>
    <title>“My Code is Self-Documenting”</title>
    <updated>2017-01-27T00:00:00+00:00</updated>
    <content type="html">&lt;section id="my-code-is-self-documenting"&gt;

&lt;p&gt;Self-documenting code is one of the biggest documentation myths in the software industry.
This view generally conflates documentation with code comments.
I’d like to make two arguments in this post:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Code comments have value&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Documentation has more value than just explaining how software works&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;section id="code-comments-have-value"&gt;
&lt;h2&gt;Code comments have value&lt;/h2&gt;
&lt;p&gt;Generally the argument for “self-documenting code” boils down to:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;I can make small objects/functions that have one specific use&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;That specific use will be represented in its name&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I don’t need to explain anything else because now it’s obvious how this program works&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Code comments document the why, not the how.&lt;/strong&gt;
They are important to transfer knowledge to both people reading the code or developers working on the code.&lt;/p&gt;
&lt;p&gt;Some common uses of comments:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Explaining previous approaches that didn’t work&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Presenting an example usage of the function and example output&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Explaining trade offs in the current implementation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Marking possible improvements (TODOs) in the code&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Anything else you’d like to communicate with someone reading or developing the code&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Object names document the how, not the why.&lt;/strong&gt;
They are effectively inverses of each other.
An argument against comments is an argument against communication.
It’s effectively saying &lt;em&gt;“anyone who needs to know how to use a piece of code is best served by reading that code”&lt;/em&gt;.
This is true for a vanishingly small amount of software users.&lt;/p&gt;
&lt;p&gt;Once you start writing quality code comments,
you can use a tool like Sphinx or Javadoc to include them in your documentation.
This allows you to include your up-to-date code comments in your guides and references.
Making use of your code comments this way adds incentive to keep them up to date,
since they will be shown to your users.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="documentation-is-more-than-code-comments"&gt;
&lt;h2&gt;Documentation is more than code comments&lt;/h2&gt;
&lt;p&gt;The other fatal flaw of the “self-documenting code” mindset is that it is myopic.
It takes a developer-only point of view,
only seeing the value of documentation as allowing people to understand how code works.
&lt;strong&gt;Documentation is for every possible user.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I have a few rhetorical questions about this philosophy:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Where does the tutorial go in your self-documenting code?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How do you put installation instructions in your variable names?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What do the answers to questions from your users go in the code?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Developers only thinking about developers when they are working on software is a problem.
A vast majority of software users are not people who develop that software.
&lt;strong&gt;Saying that variable names are the only documentation needed means that only people who read your code can use it&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;One of my goals in the world is to make software more usable.
Having good documentation makes software approachable and usable by people who aren’t developers.
People who believe in a world of self-documenting code are making it harder for normal people to use our software.&lt;/p&gt;
&lt;p&gt;If you want to have users for the software you write,
you have to write documentation.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
</content>
    <link href="https://www.ericholscher.com/blog/2017/jan/27/code-is-self-documenting/"/>
    <summary>Self-documenting code is one of the biggest documentation myths in the software industry.
This view generally conflates documentation with code comments.
I’d like to make two arguments in this post:</summary>
    <category term="developers" label="developers"/>
    <category term="docs" label="docs"/>
    <category term="self-documenting" label="self-documenting"/>
    <category term="software" label="software"/>
    <published>2017-01-27T00:00:00+00:00</published>
  </entry>
</feed>
