<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Education</title><link>https://jwheel.org/categories/education/</link><description>Homepage of Justin Wheeler, an Open Source contributor and Free Software advocate from Georgia, USA.</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><managingEditor>Justin Wheeler</managingEditor><lastBuildDate>Mon, 01 Jan 0001 00:00:00 +0000</lastBuildDate><atom:link href="https://jwheel.org/rss/categories/education/index.xml" rel="self" type="application/rss+xml"/><item><title>How five Queen songs went mainstream in totally different ways</title><link>https://jwheel.org/blog/2018/10/five-queen-songs-mainstream/</link><pubDate>Tue, 16 Oct 2018 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2018/10/five-queen-songs-mainstream/</guid><description><![CDATA[<p><a href="http://blog.musicbrainz.org/2018/10/16/five-queen-songs-mainstream/"><em>Originally published on the MusicBrainz blog.</em></a></p>
<p><a href="http://blog.musicbrainz.org/2018/10/16/five-queen-songs-mainstream/"></a></p>
<hr>
<p>Making graphs is easy. Making intuitive, easy-to-understand graphs? It&rsquo;s harder than most people think. At the <a href="https://www.rit.edu/">Rochester Institute of Technology</a>, the ISTE-260 (Designing the User Experience) course teaches the language of design to IT students. For an introductory exercise in the class, students are tasked to visualize any set of data they desire. Students <a href="https://www.linkedin.com/in/davidkim18/">David Kim</a>, <a href="https://www.linkedin.com/in/jathan-a/">Jathan Anandham</a>, <a href="https://www.linkedin.com/in/jwwheel/">Justin Wheeler</a>, and <a href="https://www.linkedin.com/in/scott-tinker-216962129/">Scott Tinker</a> used the MusicBrainz database to look at how five different Queen songs went mainstream in different ways.</p>

<h2 id="five-factors-of-queen">Five factors of Queen&nbsp;<a class="hanchor" href="#five-factors-of-queen" aria-label="Anchor link for: Five factors of Queen">🔗</a></h2>
<p>Our mini data science experiment decided to look at five unique data points available to us via <a href="https://musicbrainz.org/doc/Work">MusicBrainz Works</a>:</p>
<ul>
<li>Number of recorded covers</li>
<li>Number of artists who covered a song</li>
<li>Release year</li>
<li>Year of last recorded cover</li>
<li>Time elapsed between release year and year of last recorded cover</li>
</ul>
<p>Originally, we looked at songs from different artists, but decided to look at five recordings from the same artist. With Queen being a notoriously famous band, there were several data points to work with in terms of how often a song was covered.</p>
<p>
<figure>
  <img src="/blog/2018/10/Queen-data-visualization.png" alt="How five Queen songs went mainstream in totally different ways" loading="lazy">
  <figcaption><strong><em>Studying five Queen songs</em></strong>: Another One Bites the Dust, Bohemian Rhapsody, Don’t Stop Me Now, Fat Bottomed Girls, We Will Rock You</figcaption>
</figure>
</p>

<h2 id="making-sense-of-the-data">Making sense of the data&nbsp;<a class="hanchor" href="#making-sense-of-the-data" aria-label="Anchor link for: Making sense of the data">🔗</a></h2>
<p>A few explanations are necessary for some of the data, especially the difference in number of covers and number of artists. <em>Don&rsquo;t Stop Me Now</em>, <em>Fat Bottomed Girls</em>, and <em>We Will Rock You</em> had the same number of recorded covers as number of artists who have covered the song. Why were <em>Another One Bites the Dust</em> and <em>Bohemian Rhapsody</em> different?</p>
<p>As it turns out, <em>Another One Bites the Dust</em> had more covers than the number of artists who have covered the song. This happens because some artists have covered the song twice (e.g. once on a studio release and another on a live recording release). On the other hand, Bohemian Rhapsody had more artists covering it than number of covers because some recordings featured multiple artists on the same cover (e.g. the 1992 live performance with Elton John and Axl Rose).</p>
<p>The data opens many interesting questions. Why have some songs persisted longer than others (in terms of recent covers)? Have these songs impacted culture and society in different ways? How have they permeated culture? Is there geographical bias in the data?</p>
<p>This exercise was an exploratory assignment, but we had fun visualizing it and ended up learning an interesting pattern in music data.</p>

<h2 id="check-out-the-presentation-and-paper">Check out the presentation and paper&nbsp;<a class="hanchor" href="#check-out-the-presentation-and-paper" aria-label="Anchor link for: Check out the presentation and paper">🔗</a></h2>
<p>If you&rsquo;re interested for the full details, the <a href="https://docs.google.com/presentation/d/1sMgwgo5dxi2n0j1elnlfZgk3OU5QnwsZfcrNwQYmmCQ/edit?usp=sharing">slides</a> and a <a href="https://docs.google.com/document/d/1sLXBK2uUCpBazBUe_EiRdHOGlKUcBMwP7CG1XX9-Aiw/edit?usp=sharing">short paper</a> about the presentation are available online. They provide deeper context for the research and the visualization details based on different design concepts.</p>
<p>You can see what else <a href="https://www.linkedin.com/in/davidkim18/">David Kim</a>, <a href="https://www.linkedin.com/in/jathan-a/">Jathan Anandham</a>, <a href="https://www.linkedin.com/in/jwwheel/">Justin Wheeler</a>, and <a href="https://www.linkedin.com/in/scott-tinker-216962129/">Scott Tinker</a> are up to on LinkedIn. Thanks for tuning in to this adventure into music data analysis, powered by MusicBrainz!</p>
<hr>
<p><em>Photo by <a href="https://unsplash.com/photos/QrqeusbpFMM?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Matthias Wagner</a> on <a href="https://unsplash.com/search/photos/microphone?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>.</em></p>]]></description></item><item><title>2017 - My Year in Review</title><link>https://jwheel.org/blog/2018/02/2017-year-review/</link><pubDate>Mon, 12 Feb 2018 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2018/02/2017-year-review/</guid><description><![CDATA[<p>I can&rsquo;t remember how <a href="/tags/year-in-review/">writing an annual reflection</a> became a tradition, but after writing them for the last two years, it is now a habit. Every time I look back on all that the last year brought into my life, it is surreal. Many things that happened, I could never have expected one or two years ago. And perhaps now, I see that life is defined by the unexpected moments: the things that surprise us, warm our hearts, sadden us, and remind us of our humanity. Thus, I present my year in review of 2017.</p>

<h2 id="home-is-a-suitcase">Home is a suitcase&nbsp;<a class="hanchor" href="#home-is-a-suitcase" aria-label="Anchor link for: Home is a suitcase">🔗</a></h2>
<p>I began the third year of my degree and moved for the fifth time in two years when I made it back to Rochester in August. This time, I found somewhere to ideally live longer than only a few months of the year. I moved into a house with a few other roommates with more space than I&rsquo;ve had before. For the first time in a while, it&rsquo;s somewhere I&rsquo;ve made to feel like home.</p>
<p>This move came months after I ended a semester of a study abroad program and lived in a city for an internship. Most of 2017 made my suitcase feel like a home, but it afforded many unique experiences.</p>

<h2 id="croatia-study-abroad">Croatia: Study abroad&nbsp;<a class="hanchor" href="#croatia-study-abroad" aria-label="Anchor link for: Croatia: Study abroad">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2018/02/photo_2017-01-17_19-09-11.jpg" alt="Saying goodbye to my mom and sister at the airport before flying to Dubrovnik" loading="lazy">
  <figcaption>Saying goodbye to my mom and sister at the airport before flying to Dubrovnik</figcaption>
</figure>
</p>
<p>From January to May 2017, I participated in a study abroad program with my university to <a href="https://en.wikipedia.org/wiki/Dubrovnik">Dubrovnik, Croatia</a>. RIT has full campuses in both Zagreb and Dubrovnik. This made planning the semester abroad easy, but also encouraged me to go somewhere I might not have gone otherwise.</p>
<p>My choice to study in Croatia was well-rewarded. On paper, I earned 12 credit hours, but I took away more than what I learned in class. My most important lessons came in the form of midnight bus rides to Albania, photograph exhibits capturing genocide in Sarajevo, and hugs from normally faraway friends in Czechia. My time abroad began a process in finding myself that has continued since my time in Europe.</p>

<h4 id="devconf-2017--fedora-diversity-fad">DevConf 2017 / Fedora Diversity FAD&nbsp;<a class="hanchor" href="#devconf-2017--fedora-diversity-fad" aria-label="Anchor link for: DevConf 2017 / Fedora Diversity FAD">🔗</a></h4>
<p>At the beginning of the year, the Fedora <a href="https://fedoraproject.org/wiki/Diversity">Diversity Team</a> held a &ldquo;Fedora Activity Day&rdquo; (FAD) event in Brno, Czechia. If you&rsquo;re outside of the Fedora community, think of a FAD as a focused, in-person team sprint. Together with our team in-person and remote, we mapped out our goals and plans for 2017 and set out to continue the work we began nearly three years ago.</p>
<p>
<figure>
  <img src="/blog/2018/02/DSC_0031.jpg" alt="" loading="lazy">
  <figcaption>Diversity Team group photo at our team sprint in Brno, Czechia</figcaption>
</figure>
</p>
<p>In addition to the work we accomplished together, it was fulfilling for me to see my teammates that span three continents. I spent a week with not only my teammates but also my friends. The days we get to spend together are a privileged few in the year, and it was fulfilling and motivating for me to spend some of our time together in a way that wasn&rsquo;t Pagure tickets or IRC meetings.</p>
<p>Read more about our team sprint in this event report:</p>
<p><a href="https://communityblog.fedoraproject.org/fedora-diversity-fad-2017/">https://communityblog.fedoraproject.org/fedora-diversity-fad-2017/</a></p>

<h4 id="fosdem-2017">FOSDEM 2017&nbsp;<a class="hanchor" href="#fosdem-2017" aria-label="Anchor link for: FOSDEM 2017">🔗</a></h4>
<p>
<figure>
  <img src="/blog/2018/02/MwwPknD.jpg" alt="I didn&rsquo;t get many photos during FOSDEM, but this one seemed fitting enough." loading="lazy">
  <figcaption>I didn’t get many photos during FOSDEM, but this one seemed fitting enough. Photo: Bhagyashree Padalkar</figcaption>
</figure>
</p>
<p>In February, I attended the Free and Open Source Software Developers European Meeting (FOSDEM) for the first time. <a href="https://fosdem.org">FOSDEM</a> is the largest open source conference in Europe, bringing together over 8,000 open source enthusiasts, contributors, and leaders from around the globe.</p>
<p>I had the privilege to attend as a member of the Fedora community, so my time was between the Fedora booth to meet the community and catching interesting talks. I also gave a talk of my own on the main track, <a href="https://archive.fosdem.org/2017/schedule/event/storytelling/"><em>What open source and J.K. Rowling have in common</em></a>! I gave this talk to a smaller audience at DevConf, but the FOSDEM audience was considerably larger.</p>
<p>In retrospect, my original talk topic is relevant but I have ideas on how I could have delivered my message more effectively. Regardless, it was a learning experience for me to present in front of a new audience. Public speaking opportunities filled my youth, both in theater and in presentations, but I had never presented to a technical audience before (let alone on a non-technical topic). The experience at FOSDEM helped build my understanding and I hope to return with a new topic someday in the future.</p>

<h4 id="exploring-the-balkans">Exploring the Balkans&nbsp;<a class="hanchor" href="#exploring-the-balkans" aria-label="Anchor link for: Exploring the Balkans">🔗</a></h4>
<p>Outside of open source and Fedora, my time in Croatia included a lot of time outside of Croatia. When many of my roommates went to explore the wonders of Western Europe, I lost my heart in the shadows of the Balkan mountains. My spring break was a solo trip split between Sarajevo, Bosnia and Hercegovina and Tirana, Albania.</p>

<h6 id="sarajevo">Sarajevo&nbsp;<a class="hanchor" href="#sarajevo" aria-label="Anchor link for: Sarajevo">🔗</a></h6>
<p>
<figure>
  <img src="/blog/2018/02/DSC_0033.jpg" alt="Taken from the Yellow Bastion in Sarajevo. I could get lost in this view forever." loading="lazy">
  <figcaption>Taken from the Yellow Bastion (<a href="https://goo.gl/maps/s4SHYxVLkEC2" class="bare">https://goo.gl/maps/s4SHYxVLkEC2</a>) in Sarajevo. I could get lost in this view forever.</figcaption>
</figure>
</p>
<p>The three days I spent in Sarajevo were short but significant. I was truly alone on this visit and it was up to me to make the most of it. Originally, I was skeptical to go alone, but I knew that I would never have a better opportunity to go. My fascination with Sarajevo stemmed from a year of studying European history in high school, and knowing the cultural significance of Sarajevo as a meeting point of western and eastern cultures. In the end, I decided to go, and I was rewarded for it.</p>
<p>
<figure>
  <img src="/blog/2018/02/eLj9O40.jpg" alt="Inside of the Tunnel of Sarajevo. It was so quiet I could hear myself breathe. This was a grounding experience." loading="lazy">
  <figcaption>Inside of the Tunnel of Sarajevo. It was so quiet I could hear myself breathe. This was a grounding experience.</figcaption>
</figure>
</p>
<p>Most of my trip in Sarajevo consisted of museums. I visited various museums, ranging from eighteenth to twentieth century history. The most rewarding for me were the <a href="http://galerija110795.ba/">Galerija 11/07/95</a> and the <a href="https://en.wikipedia.org/wiki/Sarajevo_Tunnel">Tunnel of Sarajevo</a>. The gallery documented the <a href="https://en.wikipedia.org/wiki/Srebrenica_massacre">Srebrenica genocide</a> in July 1995 by the Serbian armed forces. The exhibit was eye-opening and perspective-shifting. The Tunnel of Sarajevo, sometimes called the Tunnel of Hope, is another perspective-shattering experience. The museum introduces the tunnel used during the siege of Sarajevo during the 1990s, when Serbian forces surrounded the city for an almost <a href="https://en.wikipedia.org/wiki/Siege_of_Sarajevo">four-year siege</a>. The tunnel was the only way for citizens and resistance forces to contact the outside world and keep the resistance alive. A small part of the tunnel is preserved, and the other artifacts make it a gripping experience (not to mention it&rsquo;s a short drive out of the city, so you also have a chance to mentally prepare and later unpack the experience).</p>

<h6 id="tirana">Tirana&nbsp;<a class="hanchor" href="#tirana" aria-label="Anchor link for: Tirana">🔗</a></h6>
<p>I visited Tirana, Albania four times on my trip abroad. In Tirana, my heart was captured by the people there. For years, I read about the <a href="https://openlabs.cc/en/">Open Labs Hackerspace</a> community based in Tirana and I always imagined an opportunity to see it in person. I actually remember my first encounter with their community was an <a href="https://blog.azizaj.com/ada-lovelace-day/">Ada Lovelace Day event report</a>. And somehow, the circumstances shifted where I was able to meet their community and immerse myself in the culture, if only for a short time.</p>
<p>
<figure>
  <img src="/blog/2018/02/DSC_0187.jpg" alt="My visits to Tirana are best defined by the people who impacted my time there." loading="lazy">
  <figcaption>My visits to Tirana are best defined by the people who impacted my time there.</figcaption>
</figure>
</p>
<p>During my times in Tirana, I participated in the <a href="https://opensource.com/article/17/3/open-labs-48-hour-hackathon-albania">first-ever 48 hour hackathon</a> to support the UN&rsquo;s <a href="http://www.undp.org/content/undp/en/home/sustainable-development-goals.html">Sustainable Development Goals</a> (SDGs), the first edition of <a href="https://fedoramagazine.org/students-fedora-linux-weekend-2017/">Linux Weekend</a>, and the annual <a href="https://oscal.openlabs.cc/">Open Source Conference Albania</a> (OSCAL).</p>
<p> </p>
<p><a href="https://fedoramagazine.org/students-fedora-linux-weekend-2017/">https://fedoramagazine.org/students-fedora-linux-weekend-2017/</a></p>

<h2 id="india">India&nbsp;<a class="hanchor" href="#india" aria-label="Anchor link for: India">🔗</a></h2>
<p>At the end of my study abroad experience in Croatia, a unique opportunity presented itself to me. I did not buy my return airfare back to the US before I left for Croatia. When price-checking for my trip back, I noticed it was a few hundred dollars extra if I decided to spend a week in India before flying back to the US.</p>
<p>I booked the tickets.</p>
<p>
<figure>
  <img src="/blog/2018/02/yBioeCg.jpg" alt="Witnessing a tradition on my final day in Mumbai." loading="lazy">
  <figcaption>Witnessing a tradition on my final day in Mumbai.</figcaption>
</figure>
</p>
<p>The last day of my classes finally came, and the next day, I was traveling further east, to <a href="https://en.wikipedia.org/wiki/Mumbai">Mumbai</a> (or Bombay, if you prefer). I had the great fortune of having two great friends who invited me to the homes of their families during my trip. I visited Bee in Mumbai and Amita in Pune, all split across a single week!</p>
<p>My trip to India was eye-opening. For years, I&rsquo;ve had a fascination with Eastern culture and philosophy, but it was something completely different to experience. Bee and her family took me to the <a href="https://en.wikipedia.org/wiki/Global_Vipassana_Pagoda">Global Vipassana Pagoda</a>, a personally fulfilling experience for me. We visited the <a href="https://en.wikipedia.org/wiki/Bandra%E2%80%93Worli_Sea_Link">Bandra–Worli Sea Link</a>, <a href="https://goo.gl/maps/5kthSFfZmBJ2">Shree Mahalakshmi Temple</a>, and several other places in Mumbai. I remember walking through the streets more than anything.</p>
<p>
<figure>
  <img src="/blog/2018/02/DSC_0037.jpg" alt="The Bandra–Worli Sea Link. This may have been one of my best photos." loading="lazy">
  <figcaption>The Bandra–Worli Sea Link. This may have been one of my best photos.</figcaption>
</figure>
</p>
<p>
<figure>
  <img src="/blog/2018/02/DSC_0018.jpg" alt="Together at the gurdwara in Pune. Left to right: Prakash Mishra, me, Amita Sharma, Sumantro Mukherjee" loading="lazy">
  <figcaption>Together at the gurdwara in Pune. Left to right: Prakash Mishra, me, Amita Sharma, Sumantro Mukherjee</figcaption>
</figure>
</p>
<p>In Pune, Amita and her family showed me their favorite places. I had a chance to meet many other Fedora friends in Pune too. One of my favorite memories of Pune was a historic <a href="https://en.wikipedia.org/wiki/Gurdwara">gurdwara</a>. Amita took me and the others in our group to visit. For a moment, I finally got to see something I&rsquo;ve only read about right in front of my eyes. The history and reverence in these places was absorbed into my mind.</p>
<p>
<figure>
  <img src="/blog/2018/02/DSC_0048.jpg" alt="Definitely not proper zazen posture. But a cool shot anyways." loading="lazy">
  <figcaption>Definitely not proper zazen posture. But a cool shot anyways. Photo: Amita Sharma</figcaption>
</figure>
</p>
<p>I never expected an Indian visa stamp in my passport in 2017, yet it happened. I&rsquo;m equally filled with wonder at how the circumstances unfolded as I am grateful this experience sneaked into my year.</p>

<h2 id="chicago-urban-experience">Chicago: Urban experience&nbsp;<a class="hanchor" href="#chicago-urban-experience" aria-label="Anchor link for: Chicago: Urban experience">🔗</a></h2>
<p>After my semester abroad and visiting India, I was whisked back to the United States, only to pack up once again for another new experience. From June to August, I lived in <a href="https://en.wikipedia.org/wiki/Chicago">Chicago, Illinois</a> to work an internship at <a href="http://jumptrading.com/">Jump Trading</a>. Chicago had a feeling of nostalgia for me because much of my father&rsquo;s family has origins tracing back to Chicago. But I would find myself losing more of my heart in Chicago than I realized.</p>
<p>
<figure>
  <img src="/blog/2018/02/DSC_0001.jpg" alt="The view from my apartment in Chicago. Could this even be real??" loading="lazy">
  <figcaption>The view from my apartment window in Chicago. Could this even be real??</figcaption>
</figure>
</p>

<h4 id="the-internship">The internship&nbsp;<a class="hanchor" href="#the-internship" aria-label="Anchor link for: The internship">🔗</a></h4>
<p>I worked with a fantastic team of people on exciting projects. Professionally, my time in Chicago was motivating and empowering. I was provided the opportunity to learn and also contribute. I walked in with a dreadful feeling of imposter syndrome and left feeling more confident in my own learning abilities. <a href="https://www.docker.com/">Docker</a>, <a href="https://kubernetes.io/">Kubernetes</a>, and <a href="https://opensource.com/article/17/8/influxdb-time-series-database-stack">time-series data</a> became a part of my daily work life, when I had little to no knowledge before then.</p>
<p>By the time my internship finished, I helped contribute to our team&rsquo;s goal of standing up Kubernetes and <a href="https://github.com/kubernetes/minikube/commits?author=jflory7">contributing a few patches</a> in Kubernetes projects like Minikube. I have great mentors to thank for not only direct, technical assistance but also motivational mentorship and empowerment too.</p>

<h4 id="everything-else">Everything else&nbsp;<a class="hanchor" href="#everything-else" aria-label="Anchor link for: Everything else">🔗</a></h4>
<p>
<figure>
  <img src="/blog/2018/02/chicago-matt-justin.jpg" alt="When old friends come to visit. Hi Matt!" loading="lazy">
  <figcaption>When old friends come to visit. Hi Matt!</figcaption>
</figure>
</p>
<p>There was more to Chicago than only the work too. Before long, I felt like a true Chicagoan, traveling the subways into the Loop, catching free concerts in <a href="https://www.cityofchicago.org/city/en/depts/dca/supp_info/millennium_park.html">Millennium Park</a>, and indulging in the Chicago tradition of <a href="https://en.wikipedia.org/wiki/Chicago-style_pizza">deep-dish pizza</a>.</p>
<p>Unlike other cities I&rsquo;ve visited, like New York City, Chicago felt easier to integrate into. The culture was notably &ldquo;slower&rdquo; than the fast-pace life of NYC, London, or Washington DC. I discovered <a href="http://www.middleeastbakeryandgrocery.com/">Middle Eastern markets</a> that became a regular part of my weekends, made friends with the baristas at a <a href="https://www.intelligentsiacoffee.com/old-town-coffeebar">local coffeehouse</a>, and had the privilege of hosting friends from three continents for short stays.</p>
<p>
<figure>
  <img src="/blog/2018/02/chicago-bee-fireworks.jpg" alt="4th of July fireworks on the Navy Pier with Bee" loading="lazy">
  <figcaption>4th of July fireworks on the Navy Pier with Bee</figcaption>
</figure>
</p>
<p>I left Chicago and was offered a new contract for the following summer in 2018. I&rsquo;m looking forward to be back in June again.</p>

<h2 id="year-of-fedora">Year of Fedora&nbsp;<a class="hanchor" href="#year-of-fedora" aria-label="Anchor link for: Year of Fedora">🔗</a></h2>
<p>2017 was full of time and effort spent in the Fedora community. In addition to the Diversity FAD, I was elected to the <a href="https://docs.fedoraproject.org/fedora-project/council/charter.html">Fedora Council</a> (on my third attempt), attended the annual Fedora contributor conference, Flock, and also narrowed my scope for contributions.</p>
<p>When I began contributing to Fedora, I was contributing to many things. Marketing, community operations, Fedora Badges, Fedora Magazine, Ambassadors, Games SIG, Join SIG, the Diversity Team, and maybe a few more things. After a while, I realized my contributions carried great width but poor depth. In 2017, I &ldquo;reconfigured&rdquo; my time in Fedora to focus in on the areas where I felt my time yielded the highest impact. This is Fedora <a href="https://fedoraproject.org/wiki/CommOps">CommOps</a> and the <a href="https://fedoraproject.org/wiki/Diversity">Diversity Team</a>.</p>
<p>I resigned as Fedora Magazine editor-in-chief and also formally stepped down from other teams. It made me sad, but I knew it was the right decision for me. I&rsquo;m happy to spend more time working in fewer projects at a greater depth and focus than I had before.</p>

<h4 id="flock-2017">Flock 2017&nbsp;<a class="hanchor" href="#flock-2017" aria-label="Anchor link for: Flock 2017">🔗</a></h4>
<p><a href="https://flocktofedora.org/">Flock</a>, Fedora&rsquo;s annual contributor conference, was held from Aug. 29 to Sep. 1 in Cape Cod, Massachusetts. Every year, Flock is an empowering experience for me because of the face-time I get with the people I spend much of my year working with remotely. This year was no different, and many new faces were mixed in with the old ones.</p>
<p>The highlights for me were in three forms: the <a href="https://flock2017.sched.com/event/Bm9a/commops-and-metrics-workshop">CommOps session</a>, the <a href="https://flock2017.sched.com/event/Bm8o/diversity-team-hackfest">Diversity Team session</a>, and the <a href="https://flock2017.sched.com/event/Bm8p/fedora-magazine-workshop">Fedora Magazine session</a>. Together with <a href="https://twitter.com/iamskamath">Sachin Kamath</a>, we led the CommOps session. You can read more about our session here:</p>
<p><a href="https://communityblog.fedoraproject.org/metrics-docs-flock-2017/">https://communityblog.fedoraproject.org/metrics-docs-flock-2017/</a></p>
<p>The Diversity Team and Magazine sessions were also valuable for both teams to get feedback from the rest of the community. In the Diversity Team session, we had many active participants outside of our team that reminded us the importance of narrowing our focus for higher impact. I also attended other interesting sessions held by the community, like the <a href="https://flock2017.sched.com/event/Bm9C/the-future-of-fedmsg">future of fedmsg</a> by Jeremy Cline.</p>

<h4 id="commops-fad">CommOps FAD&nbsp;<a class="hanchor" href="#commops-fad" aria-label="Anchor link for: CommOps FAD">🔗</a></h4>
<p>Towards the end of 2017, I worked together with our team in CommOps to organize our own team sprint, or FAD, in 2018. We <a href="https://fedoraproject.org/wiki/FAD_CommOps_2018">successfully planned the event</a> and organized it in Brno, Czechia, similar to last year&rsquo;s Diversity FAD.</p>
<p>More details on this will be found in its own event report!</p>

<h2 id="listenbrainz-indie-study">ListenBrainz indie study&nbsp;<a class="hanchor" href="#listenbrainz-indie-study" aria-label="Anchor link for: ListenBrainz indie study">🔗</a></h2>
<p>In my fall semester of 2017, I took on an <a href="/tags/rit-2171/">independent study</a> to further explore the ListenBrainz project. <a href="https://listenbrainz.org/">ListenBrainz</a> is an open source social platform to document the music you listen to over time. If you&rsquo;re familiar with Last.fm or Libre.fm, it&rsquo;s a similar concept, but the focus is more on the data than the social features. ListenBrainz is supported by the <a href="https://metabrainz.org/">MetaBrainz Foundation</a>, also the guiding body for the more well-known <a href="https://musicbrainz.org/doc/About">MusicBrainz</a> project.</p>
<p>In my independent study, I had a chance to contribute documentation and community tools (like issue / PR templates), as well as explore how the project gathers and builds metrics. I didn&rsquo;t make my original milestone of major code contributions to the project, but I better understood the community and tried to help in the areas of low coverage, like documentation.</p>
<p>The experience was insightful for me and provided me an excuse to work on something that I am genuinely passionate about. Music is a powerful part of human culture, and the MetaBrainz Foundation takes a serious approach to documenting music, especially in a technical sense. ListenBrainz represents an opportunity for us to better explore and understand ourselves through our music listening habits. I hope someday that ListenBrainz will be a platform for data journalism and research about music. That&rsquo;s my dream.</p>

<h2 id="opensourcecom-community-moderator">Opensource.com community moderator&nbsp;<a class="hanchor" href="#opensourcecom-community-moderator" aria-label="Anchor link for: Opensource.com community moderator">🔗</a></h2>
<p>At the beginning of 2017, I was brought on board as an <a href="https://opensource.com/">Opensource.com</a> community moderator. Together with other community moderators and site staff, I help contribute new content and source new writers to the site. My invitation to the community moderator team came shortly after the announcement that I received the <a href="https://opensource.com/article/17/2/community-awards-2017">2017 People&rsquo;s Choice Award</a>. When <a href="https://twitter.com/rikkiends">Rikki Endsley</a> invited me to the team, it felt like a natural alignment to my passion for storytelling.</p>

<h4 id="all-things-open-2017">All Things Open 2017&nbsp;<a class="hanchor" href="#all-things-open-2017" aria-label="Anchor link for: All Things Open 2017">🔗</a></h4>
<p>
<figure>
  <img src="/blog/2018/02/DSC_0146.jpg" alt="Working together with the Opensource.com team to plan out the next year ahead." loading="lazy">
  <figcaption>Working together with the Opensource.com team to plan out the next year ahead.</figcaption>
</figure>
</p>
<p>I was invited to <a href="https://allthingsopen.org/">All Things Open</a>, an annual open source conference in Raleigh, by the Opensource.com team. The day before the conference, I met the rest of the team and other community moderators at the Red Hat HQ in Raleigh. We spent the day locked into a room together to hash out plans and goals for the next year. It was a productive opportunity for the team to work together and also a great opportunity to meet the other members of the community.</p>
<p>Some of my best takeaways from this experience were catching coffee with other community moderators, meeting Jim Whitehurst to talk about Opensource.com, and giving my talk, <em>What open source and J.K. Rowling have in common</em>, for the final time.</p>
<p>I hope I have the opportunity to go again next year to meet the awesome team behind Opensource.com. (If you haven&rsquo;t considered before, <a href="https://opensource.com/how-submit-article">come and write for us</a> too!)</p>

<h2 id="happiness-packet-challenge">Happiness Packet Challenge&nbsp;<a class="hanchor" href="#happiness-packet-challenge" aria-label="Anchor link for: Happiness Packet Challenge">🔗</a></h2>
<p>Another unusual milestone for my 2017 was the first rendition of the Happiness Packet Challenge. I was introduced to the Happiness Packets website in 2016. <a href="https://www.happinesspackets.io/">Happiness Packets</a> are an easy way to say thank you to someone who has had a positive impact on you. I came up with a challenge to my friends and network to write one Happiness Packet a day, every day, for a week.</p>
<p>I followed up with the team behind the project to evaluate the impact of this idea, and I was pleasantly surprised. Here&rsquo;s the number of messages sent for the two weeks prior to the Happiness Packet Challenge, followed by the week of the challenge:</p>
<ul>
<li><strong>Week starting 2017-03-27</strong>: 2 sent</li>
<li><strong>Week starting 2017-04-03</strong>: 35 sent</li>
<li><strong>Week starting 2017-04-10 (challenge week)</strong>: 72 sent</li>
</ul>
<p>You can read more about the challenge in my <a href="/blog/2017/04/happiness-packets-challenge/">original blog post</a>. Keep an eye out for it again in 2018.</p>

<h2 id="living-openly">Living openly&nbsp;<a class="hanchor" href="#living-openly" aria-label="Anchor link for: Living openly">🔗</a></h2>
<p>Earlier in this post, I alluded to how I felt like I began to find myself when I was abroad. My study abroad experience was the beginning of a longer process that leads into present day.</p>
<p>In April, <a href="https://medium.com/@jflory7/turn-on-the-lights-267603e553b5">I went public</a> with my depression, both to help take a weight off my shoulder and to be a voice for others who are afraid to speak up. I was always concerned of the reaction from publishing something like that, but I was met with nothing but loving-kindness from friends and strangers. It gave me new confidence to live more openly and wear my values in the open.</p>
<p>The story continued in October, when I decided to delete my Facebook and Instagram accounts.</p>
<p><a href="https://medium.com/@jflory7/cut-the-plug-deleting-facebook-and-instagram-6cbe7c86d9c9">https://medium.com/@jflory7/cut-the-plug-deleting-facebook-and-instagram-6cbe7c86d9c9</a></p>
<p>I considered this for a couple of years before, but I pulled the trigger in October. Like many others, it felt almost too much of a task to disconnect myself from this huge network of people and friends. But the negative impacts of it were draining me and trapping me. Since I deleted my accounts, I&rsquo;ve noticed a positive impact in overall levels of happiness and awareness. However, I don&rsquo;t think the social media accounts alone are the reason for this.</p>
<p>In the near future, I hope to do a follow-up post to my decision to cut away from the Facebook and Instagram machines. Keep an eye out for more.</p>

<h2 id="2018">2018&nbsp;<a class="hanchor" href="#2018" aria-label="Anchor link for: 2018">🔗</a></h2>
<p>It&rsquo;s already February in 2018 when I finished this post. This year, I thought it would be the year when I get the post out closer to the new year, but somehow I always slip. In either case, it gives me a chance to take in some of the new opportunities and excitement of the new year before reflecting and looking back.</p>
<p>This year, I&rsquo;m working an internship with <a href="https://www.unicef.org/">UNICEF</a> to help lead on open source community engagement and supporting the non-technical areas of their <a href="http://unicefstories.org/magicbox/">MagicBox platform</a>. In the one month I&rsquo;ve been doing this, I feel like I have tens of articles I could write about, but the experience is still maturing for me.</p>
<p>I also have another round in Chicago to look forward to over the summer. I&rsquo;ll get to work with the same team as last year on similar projects, and I&rsquo;m looking forward to going back.</p>
<p>As for the rest, who knows what&rsquo;s to come? So many things that made 2017 what it was were the things I didn&rsquo;t expect. The surprises in life are the salt to the regiment of daily life, and add flavor and spice in unexpected ways. I have no idea what my 2018 Year in Review will look like, and that&rsquo;s okay. I&rsquo;m looking forward to seeing what will make it in.</p>

<h2 id="thank-you">Thank you&nbsp;<a class="hanchor" href="#thank-you" aria-label="Anchor link for: Thank you">🔗</a></h2>
<p>Above all, every year, I think back on the people who positively impacted my life and contributed to the &ldquo;flavor&rdquo; of my year. A close friend reminded me recently that we all stand on the shoulders of giants. And isn&rsquo;t it true? We all have our great mentors, great friends, and unexpected sages that help us find our own footing on this great path of life. We become ourselves from the various pieces impacted on us by others.</p>
<p>I&rsquo;m thankful for all of the people who have made my year into the experience it was. The list is too long to write and I fear I would leave someone out – even significant impacts were made by people who had a short-term role in this last year.</p>
<p>A long time ago, my open source experience was jump-started by someone who did something kind and exceptional for me. It was a continuing trend since that moment. My only aspiration is to pay forward the good will that so many have bestowed unto me.</p>
<p>Thanks for making it this far down, and I hope to see you in 2018. Or who knows – maybe it will just be me reading this far down for next year, when I go to write my next year in review. Hi future me!</p>]]></description></item><item><title>Statistics proposal and self-hosting ListenBrainz</title><link>https://jwheel.org/blog/2017/12/statistics-hosting-listenbrainz/</link><pubDate>Mon, 18 Dec 2017 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2017/12/statistics-hosting-listenbrainz/</guid><description><![CDATA[<p><em>This post is part of a series of posts where I contribute to the ListenBrainz project for my independent study at the Rochester Institute of Technology in the fall 2017 semester. For more posts, find them in <a href="/tags/rit-2171/">this tag</a>.</em></p>
<hr>
<p>This week is the last week of the fall 2017 semester at RIT. This semester, I spent time with the MetaBrainz community working on ListenBrainz for an independent study. This post explains what I was working on in the last month and reflects back on my <a href="/blog/2017/10/contributing-listenbrainz/">original objectives</a> for the independent study.</p>

<h2 id="running-my-own-listenbrainz">Running my own ListenBrainz&nbsp;<a class="hanchor" href="#running-my-own-listenbrainz" aria-label="Anchor link for: Running my own ListenBrainz">🔗</a></h2>
<p>The <a href="http://ritlug.com/">RIT Linux Users Group</a> hosts various virtual machines for our projects. I requested one to set up and host a &ldquo;production&rdquo; ListenBrainz site. The purpose of doing this was to…</p>
<ol>
<li>Test my changes in a &ldquo;production&rdquo; environment</li>
<li>Offer a service for the RIT Linux Users Group to poke around with</li>
</ol>
<p>I spent most of this time working with our system administrator to set up the machine and adjust hardware specs for ListenBrainz. Once we fixed storage space and memory issues, it was easy to set it up and get ListenBrainz running. My experience writing the <a href="https://listenbrainz.readthedocs.io/en/latest/dev/devel-env.html">development guide</a> made it easy to get set up and get working. On the first run, it worked!</p>
<p>Now, <a href="http://listen.ritlug.com/">listen.ritlug.com</a> is live.</p>

<h4 id="figuring-out-https">Figuring out HTTPS&nbsp;<a class="hanchor" href="#figuring-out-https" aria-label="Anchor link for: Figuring out HTTPS">🔗</a></h4>
<p>My next challenge for the site is to set up HTTPS. I tried using a <a href="https://www.nginx.com/resources/admin-guide/nginx-https-upstreams/">reverse proxy in nginx</a> to set up HTTPS, but I received <em>502 Bad Gateway</em> errors. I realized I spent too much time figuring this out on my own and decided to <a href="https://community.metabrainz.org/t/how-does-metabrainz-use-https-on-listenbrainz/347319">ask for help</a> in the MetaBrainz community forums.</p>

<h2 id="proposing-new-statistics">Proposing new statistics&nbsp;<a class="hanchor" href="#proposing-new-statistics" aria-label="Anchor link for: Proposing new statistics">🔗</a></h2>
<p>Halfway through the independent study, I realized I would fall short of my original objective of implementing basic statistics in ListenBrainz. To compromise, I wrote a <a href="https://docs.google.com/document/d/1kByAgC9kbuDHNbsEJDkYkTMJ-wAoouWj0qNyi2UPb2Y/edit?usp=sharing">proposal for new statistics</a> to start in the project. My proposal looked at other proprietary platforms that compete with ListenBrainz to see some of their statistics. I also came up with some of my own.</p>
<p>I <a href="https://community.metabrainz.org/t/feedback-needed-listenbrainz-statistics-proposal/347327">proposed this to the MetaBrainz community</a> on the community forums. I&rsquo;m awaiting feedback on my ideas. Once I get feedback, I plan to file new tickets for each statistic to track their implementation over time.</p>
<p>I don&rsquo;t expect statistics being at the forefront of ListenBrainz for some time. A lot of work is going towards other areas of the project. But later in 2018, I expect more focus on the user-facing side of the project.</p>

<h2 id="my-statistic-and-google-bigquery">My statistic and Google BigQuery&nbsp;<a class="hanchor" href="#my-statistic-and-google-bigquery" aria-label="Anchor link for: My statistic and Google BigQuery">🔗</a></h2>
<p>My biggest blocker over the last month was <a href="https://cloud.google.com/bigquery/">Google BigQuery</a>. I wrote a statistic to <a href="https://github.com/metabrainz/listenbrainz-server/pull/318/commits/c1c08ce7f8d207591daeb288087872616d5063a4">calculate play counts</a> over a time period, but was asked to test my statistic. To test my statistic, I needed real data to work with.</p>
<p>Originally, I tried using the <a href="https://github.com/tgwizard/sls">Simple Last.fm Scrobbler</a> to submit listens to the local IP address for my development environment, but I wasn&rsquo;t able to get the app to reach my ListenBrainz server. To get the data, I had to set up Google BigQuery credentials so I could make queries against data on the production site, <a href="https://listenbrainz.org/">listenbrainz.org</a>.</p>
<p>I tried working through the <a href="https://cloud.google.com/bigquery/docs/">Google BigQuery documentation</a>. There&rsquo;s a lot of documentation for using BigQuery as a developer, but it was confusing where to find the information I needed to set it up in my development environment. I tried creating a new project in the Google Cloud Platform, but I was confused because it prompted me to upload my own data instead of accessing data already in BigQuery.</p>
<p>Too late, I realized I spent too much time on my own and not asking for help. I <a href="https://github.com/metabrainz/listenbrainz-server/pull/318">submitted a pull request</a> with the statistic I made and <a href="https://community.metabrainz.org/t/how-to-set-up-google-bigquery-in-a-listenbrainz-development-environment/347307">asked for help</a> in the MetaBrainz community. I also offered to write documentation for setting this up once I learn how to do it.</p>

<h2 id="reflecting-back">Reflecting back&nbsp;<a class="hanchor" href="#reflecting-back" aria-label="Anchor link for: Reflecting back">🔗</a></h2>
<p>I looked back on my <a href="/blog/2017/10/contributing-listenbrainz/">original objectives</a> for the independent study, and I was satisfied and dissatisfied.</p>

<h4 id="not-enough-programming">Not enough programming&nbsp;<a class="hanchor" href="#not-enough-programming" aria-label="Anchor link for: Not enough programming">🔗</a></h4>
<p>I wanted this independent study to enhance my programming knowledge. I especially wanted to focus on Python because I wanted to become more familiar with the language. However, I actually didn&rsquo;t do much programming during the independent study, to my own fault.</p>
<p>My biggest challenge was I bit off more than I could chew. I wanted to write code, and made a big goal before I knew the code base of the project. Even now, I still am not completely comfortable with the code yet. It&rsquo;s a big project with a lot of things going on. I was able to understand the things I did work on, but there&rsquo;s still a lot.</p>
<p>I realized that next time, I need to spend more time evaluating the code base of a project before writing out my milestones. I wish I set more realistic, smaller milestones for myself. My milestone of implementing basic reports was lofty given my existing programming knowledge.</p>

<h4 id="successes">Successes&nbsp;<a class="hanchor" href="#successes" aria-label="Anchor link for: Successes">🔗</a></h4>
<p>One of my other objectives was to write documentation for the project. I felt I succeeded in this milestone, and actually found it enjoyable and interesting to do! I helped separate out documentation from the README into the dedicated <a href="https://listenbrainz.readthedocs.io/en/latest/">ReadTheDocs site</a>. I wrote the <a href="https://listenbrainz.readthedocs.io/en/latest/dev/devel-env.html">development environment guide</a> and helped fix some build issues with the docs site. I also plan to write more for some of the other pain points I found, like Google BigQuery.</p>
<p>My last milestone was to create a use case for a data visualization course at RIT. While I didn&rsquo;t implement my basic reports, I did create the proposal and make an effort to write new statistics. There&rsquo;s a lot of potential now to work with the data in Google BigQuery and do front-end work with tools like <a href="https://d3js.org/">D3.js</a> and <a href="https://plot.ly/javascript/">Plotly.js</a>. I believe there&rsquo;s significant potential to use ListenBrainz as a hands-on project for students to explore data visualization with real data. I hope to support my independent study professor, Prof. Roberts, with questions and logistics of using it as a tool for learning in the future.</p>

<h4 id="unexpected-success">Unexpected success&nbsp;<a class="hanchor" href="#unexpected-success" aria-label="Anchor link for: Unexpected success">🔗</a></h4>
<p>I also think I had an unplanned success too. I immersed myself in the community for ListenBrainz too. Over the last few months, I realized that many of my strengths are in community management and tooling. During my time in the community, I did the following:</p>
<ul>
<li><a href="https://github.com/metabrainz/listenbrainz-server/pull/290">Fixed SELinux labels in Docker</a></li>
<li><a href="https://github.com/metabrainz/listenbrainz-server/pull/288">Contributed a pull request template</a></li>
<li><a href="https://github.com/metabrainz/listenbrainz-server/pull/287">Drafted contributing guidelines</a></li>
<li><a href="https://github.com/metabrainz/listenbrainz-server/pull/294">Fixed a PostgreSQL bug</a></li>
<li><a href="https://github.com/metabrainz/listenbrainz-server/pulls?utf8=%E2%9C%93&amp;q=is%3Apr&#43;author%3Ajflory7&#43;">And more…</a></li>
</ul>

<h2 id="to-the-future">To the future!&nbsp;<a class="hanchor" href="#to-the-future" aria-label="Anchor link for: To the future!">🔗</a></h2>
<p>This ends my independent study with ListenBrainz, but it doesn&rsquo;t end my time contributing! I chose ListenBrainz because it&rsquo;s a project I&rsquo;m passionate about. An independent study allowed me to justify more time on it than a side project in my free time. I&rsquo;m happy to have that opportunity, but I don&rsquo;t want to end here!</p>
<p>I want to follow through on the statistics because I&rsquo;m passionate about understanding music listening trends. I think there&rsquo;s a lot of power for psychological research through music data. To this point, I filed a ticket to request <a href="https://tickets.metabrainz.org/browse/LB-243">tagging listens with &ldquo;emotion&rdquo; words</a> that are synced back to <a href="https://musicbrainz.org/doc/MusicBrainz_Database">MusicBrainz entities</a>.</p>
<p>I won&rsquo;t have as much time to work on the project without the course credit, but I hope to stay involved for the future. I love the project and I love the community. I&rsquo;m thankful for the opportunity to work on this project as an independent study, and learn some things along the way.</p>]]></description></item><item><title>Election night hackathon supports civic engagement</title><link>https://jwheel.org/blog/2017/12/election-night-hackathon/</link><pubDate>Wed, 13 Dec 2017 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2017/12/election-night-hackathon/</guid><description><![CDATA[<p><a href="https://opensource.com/article/17/12/rit-election-night-hackathon"><em>This article was originally published on Opensource.com.</em></a></p>
<hr>
<p>On November 7, 2017, members of the RIT community came together for the annual Election Night Hackathon held in the Simone Center for Student Innovation. This year marked the seventh anniversary of a civic tradition with the FOSS@MAGIC community. As local and state election results come in across nine projectors, students and professors work together on civic-focused projects during the night. Dan Schneiderman, the FOSS@MAGIC Community Liaison, compiled lists of open APIs that let participants use public sets of data made available by governments at the federal, state, and local level.</p>
<p>The hackathon officially began at 5:00pm and went until 10:00pm. Plenty of pizza and drinks were provided to fuel participants during the evening.</p>

<h2 id="open-source-with-open-government">Open source with open government&nbsp;<a class="hanchor" href="#open-source-with-open-government" aria-label="Anchor link for: Open source with open government">🔗</a></h2>
<p>Each year, the hackathon welcomes students and faculty to analyze civic problems happening in the local community, state, or country, and then propose a project to address them. MAGIC Center faculty help students choose open source licenses to share their projects. Organizers encourage students to use a site like GitHub to publish and share their code.</p>
<p>Second Avenue Learning, an educational game company in Rochester, demonstrated their <a href="http://www.secondavenuelearning.com/products/voters-ed">Voter’s Ed app</a> that replays historic elections, keeps voters up-to-date on current ones, and lets them simulate their own using open data and HTML. It also allows users to examine key issues and hot topics related to national level events. The company, represented by the founder Victoria Van Voorhis and two employees (one an RIT alum) held a design discussion for new features to prototype with students and the community. Sean Sutton and Paul Ferber (RIT faculty) provided subject matter expertise to the application.</p>
<p>While people began their projects, coverage of the local and state elections were displayed across nine different projectors. As the night progressed, votes from local and state elections rolled in. Rochester coverage was enhanced, since Monroe County is one of three counties in New York that releases public data for election coverage. Some participants even used the local Henrietta data for their own projects.</p>

<h2 id="librecorps-internship">LibreCorps internship&nbsp;<a class="hanchor" href="#librecorps-internship" aria-label="Anchor link for: LibreCorps internship">🔗</a></h2>
<p>Pratik Shirish Kulkarni, a second-year computer science major from Mumbai, India, presented the current status of his FOSS@MAGIC LibreCorps internship. LibreCorps placed Pratik with UNICEF Innovation in Manhattan, where he worked on MagicBox, a set of big data APIs and technologies used to chart Zika outbreaks and connectivity across schools in Africa.</p>
<p>Pratik demoed some of the work, which he is continuing part-time on campus this semester, funded by UNICEF. Another internship to work on the project is currently posted in <a href="https://rit.joinhandshake.com/">Handshake</a>.</p>

<h2 id="where-can-i-vote">Where can I vote?&nbsp;<a class="hanchor" href="#where-can-i-vote" aria-label="Anchor link for: Where can I vote?">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2017/11/election-night-hackathon-2017-demo-time.jpg" alt="Chris Bitler demonstrated his Where can I vote app at the end of the Election Night Hackathon" loading="lazy">
  <figcaption>Chris Bitler (<a href="https://github.com/Chris-Bitler" class="bare">https://github.com/Chris-Bitler</a>) demonstrated his <em>Where can I vote?</em> (<a href="https://github.com/Chris-Bitler/Where-Can-I-Vote" class="bare">https://github.com/Chris-Bitler/Where-Can-I-Vote</a>) app at the end of the night</figcaption>
</figure>
</p>
<p>Third-year student <a href="https://github.com/Chris-Bitler">Chris Bitler</a> created a tool to make it easier to get to the polling booth. His web application, &ldquo;<em>Where can I vote?</em>&rdquo;, takes a specific election and your address, and gives you directions from your address to the closest polling location. It uses the <a href="https://developers.google.com/civic-information/">Google Civic Information API</a> to find election data and calculate a specific address&rsquo;s voting district and candidates.</p>
<p>Chris was exploring for project ideas in the beginning of the hackathon, but quickly found the civic data API returned interesting data about polling locations. &ldquo;After seeing that, I gave some thought to how some people don&rsquo;t know their polling location and how a simple website could be useful for that,&rdquo; Chris said. His web application was motivated by simplicity, so anyone could navigate without being lost in information.</p>
<p>In the spirit of open source, Chris <a href="https://github.com/Chris-Bitler/Where-Can-I-Vote">open sourced his project</a> on GitHub under the <a href="https://github.com/Chris-Bitler/Where-Can-I-Vote/blob/master/LICENSE">MIT License</a>.</p>

<h2 id="linkybook-local-election-data-in-real-time">Linkybook: Local election data in real-time&nbsp;<a class="hanchor" href="#linkybook-local-election-data-in-real-time" aria-label="Anchor link for: Linkybook: Local election data in real-time">🔗</a></h2>
<p>Another project during the night focused on tracking local election data in Chautauqua, Monroe, and Suffolk Counties. RIT and FOSS@MAGIC alumni Nathaniel Case continued work on his <a href="https://github.com/Chris-Bitler/Where-Can-I-Vote">monroe-elections</a> application during the night. The site shows data for all races in the three counties.</p>
<p>During the night, his web application updated in real-time as the results from the local elections began to appear. Election results for the races is quick to understand and read. Additionally, referendum results and other non-partisan elections are available.</p>
<p>Nathaniel <a href="https://github.com/Qalthos/monroe-elections">open sourced his project</a> on GitHub under both the <a href="https://github.com/Qalthos/monroe-elections/blob/master/DBAD%20LICENSE">DBAD</a> and <a href="https://github.com/Qalthos/monroe-elections/blob/master/GPL%20LICENSE">GPLv3</a> licenses.</p>

<h2 id="join-us-next-time">Join us next time!&nbsp;<a class="hanchor" href="#join-us-next-time" aria-label="Anchor link for: Join us next time!">🔗</a></h2>
<p>The night ended after a quick round of project demos and finishing up project work. FOSS@MAGIC has more events planned in the near future. On <a href="https://www.eventbrite.com/e/fossmagic-talks-open-source-facebook-with-christine-abernathy-tickets-38955037566">November 15th</a>, Christine Abernathy from Facebook&rsquo;s Open Source Program talks about how Facebook approaches open source and how they&rsquo;ve solved engineering problems with it.</p>
<p>You can learn more about the FOSS@MAGIC initiative <a href="http://foss.rit.edu">on their website</a>. Participation on the <a href="https://lists.fedoraproject.org/admin/lists/fossrit.lists.fedorahosted.org/">mailing list</a> is welcome.</p>]]></description></item><item><title>ListenBrainz community gardening and user statistics</title><link>https://jwheel.org/blog/2017/11/listenbrainz-community-user-statistics/</link><pubDate>Mon, 13 Nov 2017 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2017/11/listenbrainz-community-user-statistics/</guid><description><![CDATA[<p><em>This post is part of a series of posts where I contribute to the ListenBrainz project for my independent study at the Rochester Institute of Technology in the fall 2017 semester. For more posts, find them in <a href="/tags/rit-2171/">this tag</a>.</em></p>
<hr>
<p>My progress with ListenBrainz slowed, but I am resuming the pace of contributing and advancing on my independent study timeline. This past week, I finished out assigned tasks to discuss contributor-related documentation, like a Code of Conduct, contributor guidelines, and a pull request template. I began research on user statistics and found some already created. I wrote one of my own, but need to learn more about Google BigQuery to advance further.</p>

<h2 id="paving-the-contributor-pathway">Paving the contributor pathway&nbsp;<a class="hanchor" href="#paving-the-contributor-pathway" aria-label="Anchor link for: Paving the contributor pathway">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2017/11/Screenshot-from-2017-11-13-02-05-12.png" alt="Making it easier for people to contribute user statistics to ListenBrainz" loading="lazy">
  <figcaption>Making it easier for people to contribute to ListenBrainz with helpful contibuting guidelines</figcaption>
</figure>
</p>
<p>Earlier, I identified weaknesses for the ListenBrainz contributor pathway and found ways we could improve the pathway. This started with the development environment documentation. Now, I helped draft first revisions of our <a href="https://github.com/metabrainz/listenbrainz-server/pull/287">contributor guidelines</a>, <a href="https://github.com/metabrainz/listenbrainz-server/pull/286">Code of Conduct reference</a>, and <a href="https://github.com/metabrainz/listenbrainz-server/pull/288">pull request templates</a>. Together, these three documents have two goals.</p>
<ol>
<li><strong>Make it easier</strong> to contribute to ListenBrainz</li>
<li>Have a better experience and <strong>have fun</strong> contributing!</li>
</ol>
<p>Adding these documents addresses these goals. Additionally, the <a href="https://github.com/metabrainz/listenbrainz-server/community">GitHub community profile</a> also highlights these deliverables as ways to meet these goals. After getting feedback and seeing what others think, we make more revisions later (with some trial runs).</p>

<h2 id="back-to-selinux-context-flags">Back to SELinux context flags&nbsp;<a class="hanchor" href="#back-to-selinux-context-flags" aria-label="Anchor link for: Back to SELinux context flags">🔗</a></h2>
<p>Recently, I set my desktop back up and installed Docker for the first time on this machine; however, the development environment still failed to start. When I ran the script, it would eventually error out because of a permission denial. The web server image for ListenBrainz was failing.</p>
<p>After debugging, I noticed that I missed the SELinux volume tags for the ListenBrainz web server images in my original pull request, <a href="https://github.com/metabrainz/listenbrainz-server/pull/257">#257</a>. When I created the pull request, I might have had cached data that let my laptop run the development environment without a problem. In either case, it was an easy fix and I knew what the issue was when it happened. Therefore, I submitted a new fix in <a href="https://github.com/metabrainz/listenbrainz-server/pull/290">#290</a>.</p>

<h2 id="writing-new-user-statistics">Writing new user statistics&nbsp;<a class="hanchor" href="#writing-new-user-statistics" aria-label="Anchor link for: Writing new user statistics">🔗</a></h2>
<p>The most interesting part of my independent study is working with the music data to build and generate interesting statistics. I finally began exploring the <a href="https://github.com/metabrainz/listenbrainz-server/tree/master/listenbrainz/stats">existing statistics</a> in ListenBrainz. The statistic queries use BigQuery standard SQL. BigQuery helps rapidly scan and scale data queries to help with performance (I have a lot to learn about BigQuery).</p>

<h4 id="two-types-of-statistics">Two types of statistics&nbsp;<a class="hanchor" href="#two-types-of-statistics" aria-label="Anchor link for: Two types of statistics">🔗</a></h4>
<p>Additionally, ListenBrainz generates <strong>two types</strong> of statistics:</p>
<ol>
<li>Site-wide statistics</li>
<li>User statistics</li>
</ol>
<p>Site-wide statistics are metrics non-specific to a single user. There is only <a href="https://github.com/metabrainz/listenbrainz-server/blob/master/listenbrainz/stats/sitewide.py">one site-wide query</a> now. It counts how many artists were ever submitted to this ListenBrainz instance and returns an integer. There&rsquo;s room for expansion in site-wide statistics.</p>
<p>On the other hand, user statistics are metrics specific to a single user. There&rsquo;s a <a href="https://github.com/metabrainz/listenbrainz-server/blob/master/listenbrainz/stats/user.py">fair number already</a>, like the top artists and songs in a time period and the number of artists you&rsquo;ve listened to. These are a little more complete and offer more expansion for doing cool front-end work with something like <a href="https://d3js.org/">D3.js</a>.</p>

<h4 id="writing-user-statistics">Writing user statistics&nbsp;<a class="hanchor" href="#writing-user-statistics" aria-label="Anchor link for: Writing user statistics">🔗</a></h4>
<p>Of course, I had to try writing my own. One helpful query I thought of was getting a count of the songs you listened to over a time period (e.g. &ldquo;you listened to 500 songs this week!&rdquo;). I haven&rsquo;t tested it yet, but I have this in a local branch and hope to test it with real data soon.</p>
<pre tabindex="0"><code>def get_play_count(musicbrainz_id, time_interval=None): 
 
 filter_clause = &#34;&#34; 
 if time_interval: 
     filter_clause = &#34;AND listened_at &gt;=
     TIMESTAMP_SUB(CURRENT_TIME(), 
     INTERVAL {})&#34;.format(time_interval) 
 
 query = &#34;&#34;&#34;SELECT COUNT(release_msid) as listen_count 
            FROM {dataset_id}.{table_id} 
            WHERE user_name = @musicbrainz_id 
            {time_filter_clause} 
            LIMIT {limit} 
         &#34;&#34;&#34;.format( 
                 dataset_id=config.BIGQUERY_DATASET_ID, 
                 table_id=config.BIGQUERY_TABLE_ID, 
                 time_filter_clause=filter_clause, 
                 limit=config.STATS_ENTITY_LIMIT, 
            ) 
 
 parameters = [ 
     { 
         &#39;type&#39;: &#39;STRING&#39;, 
         &#39;name&#39;: &#39;musicbrainz_id&#39;, 
         &#39;value&#39;: musicbrainz_id 
     } 
 ] 
 
 return stats.run_query(query, parameters)
</code></pre>
<h2 id="researching-google-bigquery">Researching Google BigQuery&nbsp;<a class="hanchor" href="#researching-google-bigquery" aria-label="Anchor link for: Researching Google BigQuery">🔗</a></h2>
<p>My next steps for the independent study are researching <a href="https://cloud.google.com/bigquery/docs/">Google BigQuery</a>. After going through the existing statistics and understanding how ListenBrainz generates them, an understanding of Google BigQuery is essential to writing effective queries. When I become more comfortable with the tooling and how it works, I want to map out a plan of statistics to generate and measure.</p>
<p>Until then, the hacking continues! As always, keep the FOSS flag high…</p>]]></description></item><item><title>Exploring Google Code-In, ListenBrainz easyfix bugs, D3.js</title><link>https://jwheel.org/blog/2017/10/google-code-in-listenbrainz-d3-js/</link><pubDate>Sat, 21 Oct 2017 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2017/10/google-code-in-listenbrainz-d3-js/</guid><description><![CDATA[<p><em>This post is part of a series of posts where I contribute to the ListenBrainz project for my independent study at the Rochester Institute of Technology in the fall 2017 semester. For more posts, find them in <a href="/tags/rit-2171/">this tag</a>.</em></p>
<hr>
<p>Last week moved quickly for me in ListenBrainz. I submitted multiple pull requests and participated in the weekly developer&rsquo;s meeting on Monday. I was also invited to take part as a mentor for ListenBrainz for the upcoming round of Google Code-In! In addition to my changes and new role as a mentor, I&rsquo;m researching libraries like D3.js to help build visualizations for music data.  Suddenly, everything started moving fast!</p>

<h2 id="last-week-recap">Last week: Recap&nbsp;<a class="hanchor" href="#last-week-recap" aria-label="Anchor link for: Last week: Recap">🔗</a></h2>
<p>The ListenBrainz team accepted my <a href="https://github.com/metabrainz/listenbrainz-server/pull/257">development environment improvements</a> and <a href="https://github.com/metabrainz/listenbrainz-server/pull/259">documentation</a>. This gave me an opportunity to better explore project documentation tools. I experimented with <a href="http://www.sphinx-doc.org/en/stable/">Sphinx</a> and <a href="https://readthedocs.org/">Read the Docs</a>. Sphinx introduced me to <a href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> for documentation formats. I&rsquo;ve avoided it in favor of Markdown for a long time, but I see where reStructuredText is stronger for advanced documentation.</p>
<p>Since ListenBrainz is a new project, I plan to contribute documentation for any of my work and improve documentation for pre-existing work. One of the goals for this independent study is to make ListenBrainz a viable candidate for a future data analysis course. To make it easy to use and understand, ListenBrainz needs excellent documentation. Since one of my strengths is technical writing, I plan to contribute more documentation this semester.</p>
<p>You can see some of the <a href="https://listenbrainz.readthedocs.io/en/master/">new documentation</a> already!</p>

<h2 id="google-code-in-mentor">Google Code-In mentor&nbsp;<a class="hanchor" href="#google-code-in-mentor" aria-label="Anchor link for: Google Code-In mentor">🔗</a></h2>
<p>The MetaBrainz community manager, <a href="https://musicbrainz.org/user/Freso">Freso Olesen</a>, approached me to mentor for Google Code-In. <a href="https://codein.withgoogle.com/">Google Code-In</a> is an opportunity for teenagers to meaningfully contribute to open source projects. Google describes Google Code-In as…</p>
<blockquote>
<p>Pre-university students ages 13 to 17 are invited to take part in Google Code-in: Our global, online contest introducing teenagers to the world of open source development. With a wide variety of bite-sized tasks, it’s easy for beginners to jump in and get started no matter what skills they have.</p>
<p>Mentors from our participating organizations lend a helping hand as participants learn what it’s like to work on an open source project. Participants get to work on real software and win prizes from t-shirts to a trip to Google HQ!</p>
</blockquote>
<p>MetaBrainz is a participating organization of Google Code-In this cycle. Because of my work with ListenBrainz, I will contribute a few hours a week to help mentor participating students with ListenBrainz. Beginner problems should be easy to help with since I&rsquo;m still beginning too, and as I spend more time with ListenBrainz, I can help with harder problems.</p>
<p>I&rsquo;m excited to give back to one of my favorite open source projects in this way! I&rsquo;m grateful to have this chance to help out during Google Code-In.</p>

<h2 id="choosing-easyfix-bugs">Choosing easyfix bugs&nbsp;<a class="hanchor" href="#choosing-easyfix-bugs" aria-label="Anchor link for: Choosing easyfix bugs">🔗</a></h2>
<p>After I figured out the development environment issues, I went through <a href="https://tickets.metabrainz.org/projects/LB/issues/">open tickets</a> filed against ListenBrainz to find some to work on. I made a preliminary pass through all open tickets and left some comments for more information, when needed. The tickets I highlighted to look into next were</p>
<ul>
<li><a href="https://tickets.metabrainz.org/browse/LB-85"><strong>LB-85</strong></a>: Username in the profile URL should be case insensitive</li>
<li><a href="https://tickets.metabrainz.org/browse/LB-124"><strong>LB-124</strong></a>: Install messybrainz as a a python library from requirements</li>
<li><a href="https://tickets.metabrainz.org/browse/LB-176"><strong>LB-176</strong></a>: Add stats module and begin calculating some user stats from BigQuery</li>
<li><strong><a href="https://tickets.metabrainz.org/browse/LB-206">LB-206</a></strong>: &ldquo;playing_now&rdquo; submissions not showing on profile</li>
<li><a href="https://tickets.metabrainz.org/browse/LB-212"><strong>LB-212</strong></a>: Show the MetaBrainz logo on the listenbrainz footer.</li>
</ul>
<p>Of these five, LB-124 and LB-212 are already closed. While drafting this article, I completed LB-124 in <a href="https://github.com/metabrainz/listenbrainz-server/pull/266">PR #266</a>. This was part of a test to get the documentation building again because of odd import errors. Later, a new student also learning the project for the first time asked to work on LB-212. Since it was a good first task to explore the project code, I passed the ticket to him.</p>
<p>I want to do one more &ldquo;easyfix&rdquo; bug before going into the main part of my independent study timeline. I don&rsquo;t yet feel comfortable with the code and one more bug solved will help. After this, I plan to pursue the heavier lifting of the independent study to explore data operations and queries to make.</p>

<h2 id="researching-d3js">Researching D3.js&nbsp;<a class="hanchor" href="#researching-d3js" aria-label="Anchor link for: Researching D3.js">🔗</a></h2>
<p>Prof. Roberts introduced <a href="https://d3js.org/">D3.js</a> as a library to build interactive, dynamic charts and visual representations of data. I haven&rsquo;t yet looked into much front-end work, but this was a cool project that I wanted to highlight in my weekly report. This feels like it could be a powerful match for ListenBrainz, especially since the data has high detail.</p>

<h2 id="upcoming-activity">Upcoming activity&nbsp;<a class="hanchor" href="#upcoming-activity" aria-label="Anchor link for: Upcoming activity">🔗</a></h2>
<p>This next week, I won&rsquo;t have as much time to contribute to ListenBrainz. On October 21, I&rsquo;m traveling to Raleigh, NC for <a href="https://allthingsopen.org/">All Things Open</a>. On October 24, I <a href="https://allthingsopen.org/speakers/justin-w-flory/">present my talk</a>, &ldquo;<em>What open source and J.K. Rowling have in common</em>&rdquo;. Since I&rsquo;ll be out of Rochester and missing other classwork, I expect less time on my ListenBrainz work.</p>
<p>This next week will be slower than the last two weeks. Hopefully I&rsquo;ll learn something at the conference too to bring back for ListenBrainz.</p>
<p>Until then… keep the FOSS flag high.</p>]]></description></item><item><title>How to set up a ListenBrainz development environment</title><link>https://jwheel.org/blog/2017/10/listenbrainz-development-environment/</link><pubDate>Wed, 04 Oct 2017 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2017/10/listenbrainz-development-environment/</guid><description><![CDATA[<p><em>This post is part of a series of posts where I contribute to the ListenBrainz project for my independent study at the Rochester Institute of Technology in the fall 2017 semester. For more posts, find them in <a href="/tags/rit-2171/">this tag</a>.</em></p>
<hr>
<p>One of the first rites of passage when working on a new project is creating your development environment. It always seems simple, but sometimes there are bumps along the way. The first activity I did to begin contributing to ListenBrainz was create my development environment. I wasn&rsquo;t successful with the documentation in the README, so I had to play around and work with the project before I was even running it.</p>
<p>The first part of this post details how to set up your own development environment. Then, the second half talks about the solution I came up with and my first contribution back to the project.</p>

<h2 id="install-dependencies-docker">Install dependencies: Docker&nbsp;<a class="hanchor" href="#install-dependencies-docker" aria-label="Anchor link for: Install dependencies: Docker">🔗</a></h2>
<p>This tutorial assumes you are using a Linux distribution. If you&rsquo;re using a different operating system, install the necessary dependencies or packages with your preferred method.</p>
<p>ListenBrainz ships in Docker containers, which helps create your development environment and later deploy the application. Therefore, to work on the project, you need to install Docker and use containers for building the project. Containers save you from installing all of this on your own workstation! Since I&rsquo;m using Fedora, I run this command.</p>
<pre tabindex="0"><code>sudo dnf install docker docker-compose
</code></pre>
<h2 id="register-a-musicbrainz-application">Register a MusicBrainz application&nbsp;<a class="hanchor" href="#register-a-musicbrainz-application" aria-label="Anchor link for: Register a MusicBrainz application">🔗</a></h2>
<p>Next, you need to register your application and get a OAuth token from MusicBrainz. Using the OAuth token lets you sign into your development environment with your MusicBrainz account. Then, you can import your plays from somewhere else.</p>
<p>To register, visit the <a href="https://musicbrainz.org/account/applications">MusicBrainz applications page</a>. There, look for the option to <a href="https://musicbrainz.org/account/applications/register">register your application</a>. Fill out the form with these three options.</p>
<ul>
<li><strong>Name</strong>: (any name you want and will recognize, I used <code>listenbrainz-server-devel</code>)</li>
<li><strong>Type</strong>: <code>Web Application</code></li>
<li><strong>Callback URL</strong>: <code>http://localhost/login/musicbrainz/post</code></li>
</ul>
<p>After entering this information, you&rsquo;ll have a OAuth client ID and OAuth client secret. You&rsquo;ll use these for configuring ListenBrainz.</p>

<h4 id="update-configpy">Update config.py&nbsp;<a class="hanchor" href="#update-configpy" aria-label="Anchor link for: Update config.py">🔗</a></h4>
<p>With your new client ID and secret, update the ListenBrainz configuration file. If this is your first time configuring ListenBrainz, copy the sample to a live configuration.</p>
<pre tabindex="0"><code>cp listenbrainz/config.py.sample listenbrainz/config.py
</code></pre><p>Next, open the file with your favorite text editor and look for this section.</p>
<pre tabindex="0"><code># MusicBrainz OAuth
MUSICBRAINZ_CLIENT_ID = &#34;CLIENT_ID&#34;
MUSICBRAINZ_CLIENT_SECRET = &#34;CLIENT_SECRET&#34;
</code></pre><p>Update the strings with your client ID and secret. After doing this, your ListenBrainz development environment is able to authenticate and log in from your MusicBrainz login.</p>

<h2 id="initialize-listenbrainz-databases">Initialize ListenBrainz databases&nbsp;<a class="hanchor" href="#initialize-listenbrainz-databases" aria-label="Anchor link for: Initialize ListenBrainz databases">🔗</a></h2>
<p>Your development environment needs some databases present to work. Before proceeding, run these three commands to initialize the databases.</p>
<pre tabindex="0"><code>docker-compose -f docker/docker-compose.yml -p listenbrainz run --rm web python3 manage.py init_db --create-db
docker-compose -f docker/docker-compose.yml -p listenbrainz run --rm web python3 manage.py init_msb_db --create-db
docker-compose -f docker/docker-compose.yml -p listenbrainz run --rm web python3 manage.py init_influx
</code></pre><p>Your development environment is now ready. Now, let&rsquo;s actually see ListenBrainz load locally!</p>

<h2 id="run-the-magic-script">Run the magic script&nbsp;<a class="hanchor" href="#run-the-magic-script" aria-label="Anchor link for: Run the magic script">🔗</a></h2>
<p>Once you have done this, run the <code>develop.sh</code> script in the root of the repository. Using <code>docker-compose</code>, the script creates multiple Docker containers for the different services and parts of the ListenBrainz server. Running this script will start Redis, PostgreSQL, InfluxDB, and web server containers, to name a few. But this also makes it easy to stop them all later.</p>
<pre tabindex="0"><code>./develop.sh
</code></pre><p>You will see the containers build and eventually run. Leave the script running to see your development environment. Later, you can shut it down by pressing <code>CTRL^C</code>. Once everything is running, visit your new site from your browser!</p>
<p><a href="http://localhost/">http://localhost/</a></p>
<p>Now, you are all set to begin making changes and testing them in your development environment!</p>

<h2 id="making-my-first-pull-request">Making my first pull request&nbsp;<a class="hanchor" href="#making-my-first-pull-request" aria-label="Anchor link for: Making my first pull request">🔗</a></h2>
<p>As mentioned earlier, my first attempt at a development environment was unsuccessful. My system kept denying permission to the processes in the containers. After looking at system audit logs and running a temporary <code>setenforce 0</code>, I tried the script one more time. Everything suddenly worked! So the issue was mostly with SELinux.</p>
<p>With my goal to get my environment set up, I figured out a few issues with the configuration offered by the project developers. I eventually made <a href="https://github.com/metabrainz/listenbrainz-server/pull/257">PR #257</a> against <code>listenbrainz-server</code> with my improvements.</p>

<h4 id="labeling-selinux-volume-mounts">Labeling SELinux volume mounts&nbsp;<a class="hanchor" href="#labeling-selinux-volume-mounts" aria-label="Anchor link for: Labeling SELinux volume mounts">🔗</a></h4>
<p>To diagnose the issue, I started with a quick search and found a <a href="https://stackoverflow.com/questions/24288616/permission-denied-on-accessing-host-directory-in-docker">StackOverflow question</a> with my same problem. There, the question was about Docker containers and denied permissions in the container. The answers explained it was an SELinux error and the context for the containers was not set. However, temporarily changing context for a directory didn&rsquo;t seem too effective and doesn&rsquo;t persist across reboots.</p>
<p>Continuing the search, I found an issue filed against <code>docker-compose</code> about the <code>:z</code> and <code>:Z</code> flags for volume mounts. These flags set SELinux context for containers, with the best explanation I found coming from <a href="https://stackoverflow.com/a/35222815/2497452">this StackOverflow answer</a>.</p>
<blockquote>
<p>Two suffixes :z or :Z can be added to the volume mount. These suffixes tell Docker to relabel file objects on the shared volumes. The &lsquo;z&rsquo; option tells Docker that the volume content will be shared between containers. Docker will label the content with a shared content label. Shared volumes labels allow all containers to read/write content. The &lsquo;Z&rsquo; option tells Docker to label the content with a private unshared label.</p>
</blockquote>
<p>Therefore, I added the <code>:z</code> flag to all the volume mounts in the <code>docker-compose.yml</code> file. I submitted a fix upstream for this in <a href="https://github.com/metabrainz/listenbrainz-server/pull/257">listenbrainz-server#257</a>!</p>

<h4 id="correct-the-startup-port">Correct the startup port&nbsp;<a class="hanchor" href="#correct-the-startup-port" aria-label="Anchor link for: Correct the startup port">🔗</a></h4>
<p>In the README, it says the server will start on port 8000, but the <code>docker-compose.yml</code> file actually started the server on port 80. I included a fix for this in <a href="https://github.com/metabrainz/listenbrainz-server/pull/257">my pull request</a> as well.</p>

<h2 id="git-push">git push!&nbsp;<a class="hanchor" href="#git-push" aria-label="Anchor link for: git push!">🔗</a></h2>
<p>This post makes a debugging experience that actually took hours look like it happened in minutes. But after getting over this hurdle, it was awesome to finally see ListenBrainz running locally on my workstation. It was an even better feeling when I could take my improvements and send them back in a pull request to ListenBrainz. Hopefully this will make it easier for others to create their own development environments and start hacking!</p>]]></description></item><item><title>On the data refrain: Contributing to ListenBrainz</title><link>https://jwheel.org/blog/2017/10/contributing-listenbrainz/</link><pubDate>Mon, 02 Oct 2017 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2017/10/contributing-listenbrainz/</guid><description><![CDATA[<p>A unique opportunity of attending an open source-friendly university is when course credits and working on open source projects collide. This semester, I&rsquo;m participating in an independent study at the <a href="https://www.rit.edu/">Rochester Institute of Technology</a> where I will contribute to the <a href="https://listenbrainz.org/">ListenBrainz</a> project.</p>
<p>Many students take part in independent studies where they work on their own projects. However, in the spirit of open source collaboration, I wanted to contribute to a project that already existed. That way, my work would be helpful to a real-world project where it would have a value even after the end of the semester. Additionally, I wanted  a project to help me sharpen my Python skill. And ListenBrainz was a fun, exciting candidate for this.</p>

<h2 id="objectives">Objectives&nbsp;<a class="hanchor" href="#objectives" aria-label="Anchor link for: Objectives">🔗</a></h2>
<p>The independent study proposal included three primary goals I hoped to meet during this independent study:</p>
<ol>
<li><strong>Add basic reports</strong> to ListenBrainz from listening history data for top songs / artists / albums of week, month, year, etc.</li>
<li><strong>Create documentation</strong> to improve ease to use and develop for the ListenBrainz project</li>
<li>Offer as a <strong>use case for the data visualization course</strong> in fall 2018 with instructions on how to use the data</li>
</ol>

<h4 id="add-basic-reports">Add basic reports&nbsp;<a class="hanchor" href="#add-basic-reports" aria-label="Anchor link for: Add basic reports">🔗</a></h4>
<p>Methods for generating basic reports, charts, and statistics about listening history are important. They help make ListenBrainz a more interesting platform for a casual music listener, not just a developer. Therefore, my goal was to add a way to add basic reports or specific metrics for presenting to the user in the front-end.</p>
<p>As a stretch goal, if I have extra time, I would work on generating content (e.g. charts / graphs / statistics) to show the user in the front-end.</p>

<h4 id="documentation">Documentation&nbsp;<a class="hanchor" href="#documentation" aria-label="Anchor link for: Documentation">🔗</a></h4>
<p>Documentation is something near and dear to me. I enjoy making it easier for other people to use a project or get started with contributing. Therefore, I will contribute some time as a technical writer and help improve documentation on the project. This includes improving existing documentation, like how to set up a development environment, or creating new content.</p>
<p>As an end deliverable, it would be nice to have someone who has never worked with the project run get a development environment set up, import some data, and see something presented to them. Good documentation is key to making something like this possible.</p>

<h4 id="use-case-for-data-course">Use case for data course&nbsp;<a class="hanchor" href="#use-case-for-data-course" aria-label="Anchor link for: Use case for data course">🔗</a></h4>
<p>RIT will offer a data visualization course in future semesters and it would be helpful if ListenBrainz could be a use case or even tool for the course. Then, students could work with ListenBrainz for creating different visualizations for the music data. And maybe contribute some of their visualizations back upstream! For this to happen, we need comprehensive documentation and complete features.</p>
<p>A focus includes making ListenBrainz a good fit for this course.</p>

<h2 id="learn-more-about-listenbrainz">Learn more about ListenBrainz&nbsp;<a class="hanchor" href="#learn-more-about-listenbrainz" aria-label="Anchor link for: Learn more about ListenBrainz">🔗</a></h2>
<p>For the next few months, until December, I will blog regularly about contributing to the ListenBrainz project and my progress. Additionally, more posts about MusicBrainz, other MetaBrainz projects, or music data may follow. I&rsquo;m hoping to either create new or improve old documentation as well, so I plan to write often anyways!</p>
<p>For now, you can learn a bit more about ListenBrainz and other projects in the MetaBrainz family, like MusicBrainz.</p>
<ul>
<li><a href="https://listenbrainz.org/">ListenBrainz</a></li>
<li><strong>GitHub</strong>: <a href="https://github.com/metabrainz/listenbrainz-server">metabrainz/listenbrainz-server</a></li>
<li><a href="https://musicbrainz.org/doc/About">About MusicBrainz</a></li>
<li><a href="https://metabrainz.org/about">About MetaBrainz</a></li>
</ul>]]></description></item><item><title>2016 – My Year in Review</title><link>https://jwheel.org/blog/2017/02/2016-my-year-in-review/</link><pubDate>Fri, 17 Feb 2017 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2017/02/2016-my-year-in-review/</guid><description><![CDATA[<p>Before looking too far ahead to the future, it&rsquo;s important to spend time to reflect over the past year&rsquo;s events, identify successes and failures, and devise ways to improve. Describing my 2016 is a challenge for me to find the right words for. This post continues a habit I started last year with my <a href="/blog/2016/02/2015-year-review/">2015 Year in Review</a>. One thing I discover nearly every day is that I&rsquo;m always learning new things from various people and circumstances. Even though 2017 is already getting started, I want to reflect back on some of these experiences and opportunities of the past year.</p>

<h2 id="preface">Preface&nbsp;<a class="hanchor" href="#preface" aria-label="Anchor link for: Preface">🔗</a></h2>
<p>When I started writing this in January, I read <a href="https://freenode.net/">freenode</a>&rsquo;s &ldquo;<a href="https://freenode.net/news/2016-is-finally-dead">Happy New Year!</a>&rdquo; announcement. Even though their recollection of the year began as a negative reflection, the freenode team did not fail to find some of the positives of this year as well. The attitude reflected in their blog post is reflective of the attitude of many others today. 2016 has brought more than its share of sadness, fear, and a bleak unknown, but the colors of radiance, happiness, and hope have not faded either. Even though some of us celebrated the end of 2016 and its tragedies, two thoughts stay in my mind.</p>
<p>One, it is fundamentally important for all of us to stay vigilant and aware of what is happening in the world around us. The changing political atmosphere of the world has brought a shroud of unknowing, and the changing of a number does not and will not signify the end of these doubts and fears. 2017 brings its own series of unexpected events. I don&rsquo;t consider this a negative, but in order for it not to become a negative, we must constantly remain active and aware.</p>
<p>Secondly, despite the more bleak moments of this year, there has never been a more important time to embrace the positives of the past year. For every hardship faced, there is an equal and opposite reaction. Love is all around us and sometimes where we least expect it. Spend extra time this new year remembering the things that brought you happiness in the past year. Hold them close, but share that light of happiness with others too. You might not know how much it&rsquo;s needed.</p>

<h2 id="first-year-of-university-complete">First year of university: complete!&nbsp;<a class="hanchor" href="#first-year-of-university-complete" aria-label="Anchor link for: First year of university: complete!">🔗</a></h2>
<p>Many things changed since I decided to pack up my life and go to a school a thousand miles away from my hometown. In May, I officially finished my first year at the <a href="https://www.rit.edu/">Rochester Institute of Technology</a>, finishing the full year on dean&rsquo;s list. Even though it was only a single year, the changes from my decision to make the move are incomparable. Rochester exposed me to amazing, brilliant people. I&rsquo;m connected to organizations and groups based on my interests like I never imagined. My courses are challenging, but interesting. If there is anything I am appreciative of in 2016, it is for the opportunities that have presented themselves to me in Rochester.</p>

<h4 id="adventures-into-fossmagic">Adventures into FOSS@MAGIC&nbsp;<a class="hanchor" href="#adventures-into-fossmagic" aria-label="Anchor link for: Adventures into FOSS@MAGIC">🔗</a></h4>
<p>
<figure>
  <img src="/blog/2017/02/Group-photo.jpg" alt="On 2016 Dec. 10th, the &ldquo;FOSS Family&rdquo; went to dinner at a local restaurant to celebrate the semester" loading="lazy">
  <figcaption>On 2016 Dec. 10th, the \&#34;FOSS Family\&#34; went to dinner at a local restaurant to celebrate the semester</figcaption>
</figure>
</p>
<p>My involvement with the <a href="http://foss.rit.edu">Free and Open Source Software (FOSS) community at RIT</a> has grown exponentially since I began participating in 2015. I took <a href="https://hfoss-ritjoe.rhcloud.com/">my first course</a> in the FOSS minor, Humanitarian Free and Open Source Software Development in spring 2016. In the following fall 2016 semester, I <a href="https://hfoss16f-ritjoe.rhcloud.com/">became the teaching assistant</a> for the course. I helped show our community&rsquo;s projects <a href="https://opensource.com/education/16/6/imagine-rit">at Imagine RIT</a>. I helped carry the <a href="/blog/2016/11/spigotmc-california-minecon/">RIT FOSS flag in California</a> (more on that later). The FOSS@MAGIC initiative was an influencing factor for my decision to attend RIT and continues to play an impact in my life as a student.</p>
<p>I eagerly look forward to future opportunities for the FOSS projects and initiatives at RIT to grow and expand. Bringing open source into more students&rsquo; hands excites me!</p>

<h4 id="i-3-wic">I &lt;3 WiC&nbsp;<a class="hanchor" href="#i-3-wic" aria-label="Anchor link for: I &lt;3 WiC">🔗</a></h4>
<p>With a new schedule, the fall 2016 semester marked the beginning of my active involvement with the Women in Computing (WiC) program at RIT, as part of the Allies committee. Together with other members of the RIT community, we work together to find issues in our community, discuss them and share experiences, and find ways to grow the WiC mission: to promote the success and advancement of women in their academic and professional careers.</p>
<p><a href="/img/WiCHacks-Opening-Ceremony.jpg">
<figure>
  <img src="/img/WiCHacks-Opening-Ceremony.jpg" alt="WiCHacks 2016 Opening Ceremony" loading="lazy">
</figure>
</a>In spring 2016, I participated as a <a href="/blog/2016/03/why-i-love-wichacks/">volunteer for WiCHacks</a>, the annual <a href="http://wichacks.rit.edu/">all-female hackathon</a> hosted at RIT. My first experience with WiCHacks left me impressed by all the hard work by the organizers and the entire atmosphere and environment of the event. After participating as a volunteer, I knew I wanted to become more involved with the organization. Fortunately, fall 2016 enabled me to become more active and engaged with the community. Even though I will be unable to attend WiCHacks 2017, I hope to help support the event in any way I can.</p>
<p>Also, hey! If you&rsquo;re a female high school or university student in the Rochester area (or willing to do some travel), you should seriously <a href="http://wichacks.rit.edu/">check this out</a>!</p>

<h2 id="google-summer-of-code">Google Summer of Code&nbsp;<a class="hanchor" href="#google-summer-of-code" aria-label="Anchor link for: Google Summer of Code">🔗</a></h2>
<p><a href="https://summerofcode.withgoogle.com/">Google Summer of Code</a>, abbreviated to GSoC, is an annual program run by Google every year. Google works with open source projects to offer stipends for them to pay students to work on projects over the summer. In a last-minute decision to apply, I was <a href="https://communityblog.fedoraproject.org/fedora-google-summer-of-code-2016/">accepted as a contributing student</a> to the Fedora Project. My proposal was to work within the Fedora Infrastructure team to help <a href="https://summerofcode.withgoogle.com/archive/2016/projects/4844704050970624/">automate the WordPress platforms</a> with Ansible. My mentor, <a href="https://patrick.uiterwijk.org/about/">Patrick Uiterwijk</a>, provided much of the motivation for the proposal and worked with me throughout the summer as I began learning Ansible for the first time. Over the course of the summer, my learned knowledge began to turn into practical experience.</p>
<p>It would be unfair for a reflection to count successes but not failures. GSoC was one of the most challenging and stressful activities I&rsquo;ve ever participated in. It was a complete learning experience for me. One area I noted that I needed to improve on was communication. My failing point was not regularly communicating what I was working through or stuck on with my mentor and the rest of the Fedora GSoC community. GSoC taught me the value of asking questions often when you&rsquo;re stuck, especially in an online contribution format.</p>
<p>On the positive side, GSoC helped formally introduce me to Ansible, and to a lesser extent, the value of automation in operations work. My work in GSoC helped enable me to become a sponsored sysadmin of Fedora, where I mostly focus my time contributing to the <a href="https://badges.fedoraproject.org/about">Badges site</a>. Additionally, my experience in GSoC helped me when interviewing for summer internships (also more on this later).</p>
<p>Google Summer of Code came with many ups and downs. But I made it and <a href="/blog/2016/08/gsoc-2016-thats-wrap/">passed the program</a>. I&rsquo;m happy and fortunate to have received this opportunity from the Fedora Project and Google. I learned several valuable lessons that have and will impact going forward into my career. I look forward to participating either as a mentor or organizer for GSoC 2017 with the Fedora Project this year.</p>

<h2 id="flock-2016">Flock 2016&nbsp;<a class="hanchor" href="#flock-2016" aria-label="Anchor link for: Flock 2016">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2017/02/flock-group-photo-5_28949792761_o.jpg" alt="Group photo of all Flock 2016 attendees outside of the conference venue (Photo courtesy of Joe Brockmeier)" loading="lazy">
  <figcaption>Group photo of all Flock 2016 (<a href="https://flocktofedora.org/" class="bare">https://flocktofedora.org/</a>) attendees outside of the conference venue (Photo courtesy of Joe Brockmeier)</figcaption>
</figure>
</p>
<p>Towards the end of summer, in the beginning of August, I was <a href="/blog/2016/07/czesc-poland-back-europe/">accepted as a speaker</a> to the annual Fedora Project contributor conference, <a href="https://flocktofedora.org/">Flock</a>. As a speaker, my travel and accommodation were sponsored to the event venue in Kraków, Poland.</p>
<p>Months after Flock, I am still incredibly grateful for receiving the opportunity to attend the conference. I am appreciative and thankful to Red Hat for helping cover my costs to attend, which is something I would never be able to do on my own. Outside of the real work and productivity that happened during the conference, I am happy to have mapped names to faces. I met incredible people from all corners of the world and have made new lifelong friends (who I was fortunate to see again in 2017)! Flock introduced me in-person to the diverse and brilliant community behind the Fedora Project. It is an experience that will stay with me forever.</p>
<p>To read a more in-depth analysis of my time in Poland, you can read <a href="/blog/2016/08/fedora-flock-2016/">my full write-up</a> of Flock 2016.</p>
<p>
<figure>
  <img src="/img/IMG_9225.jpg" alt="To Kraków for Flock with Bee, Amita, Jona, and Giannis" loading="lazy">
  <figcaption>On a bus to the Kraków city center with Bee Padalkar, Amita Sharma, Jona Azizaj, and Giannis Konstantinidis (left to right).</figcaption>
</figure>
</p>

<h2 id="maryland-bitcamp-massachusetts-hackmit-california-minecon">Maryland (Bitcamp), Massachusetts (HackMIT), California (MINECON)&nbsp;<a class="hanchor" href="#maryland-bitcamp-massachusetts-hackmit-california-minecon" aria-label="Anchor link for: Maryland (Bitcamp), Massachusetts (HackMIT), California (MINECON)">🔗</a></h2>
<p>
<figure>
  <img src="/img/group-photo.png" alt="Bitcamp 2016: The Fedora Ambassadors of Bitcamp 2016" loading="lazy">
  <figcaption>The Fedora Ambassadors at Bitcamp 2016. Left to right: Chaoyi Zha (cydrobolt), Justin Wheeler (jflory7), Mike DePaulo (mikedep333), Corey Sheldon (linuxmodder)</figcaption>
</figure>
</p>
<p>2016 provided me the opportunity to explore various parts of my country. Throughout the year, I attended various conferences to represent the <a href="https://fedoraproject.org/wiki/Overview">Fedora Project</a>, the <a href="https://www.spigotmc.org/wiki/about-spigot/">SpigotMC project</a>, and the <a href="http://foss.rit.edu">RIT open source</a> community.</p>
<p>There are three distinct events that stand out in my memory. For the first time, I visited the <a href="/blog/2016/04/bitcamp-2016/">University of Maryland for Bitcamp</a> as a Fedora Ambassador. It also provided me an opportunity to see my nation&rsquo;s capitol for the first time. I also visited Boston for the first time this year as well for HackMIT, MIT&rsquo;s annual hackathon event. I also participated as a Fedora Ambassador and <a href="https://communityblog.fedoraproject.org/hackmit-meets-fedora/">met brilliant students</a> from around the country (and even the world, with one student I met flying in from India for the weekend).</p>
<p>
<figure>
  <img src="/blog/2017/02/Team-Ubuntu-2.jpg" alt="Team Ubuntu shows off their project to Charles Profitt before the project deadline for HackMIT 2016" loading="lazy">
  <figcaption>Team Ubuntu shows off their project to Charles Profitt (<a href="https://fedoraproject.org/wiki/User:Cprofitt" class="bare">https://fedoraproject.org/wiki/User:Cprofitt</a>) before the project deadline for HackMIT 2016 (<a href="https://hackmit.org/" class="bare">https://hackmit.org/</a>)</figcaption>
</figure>
</p>
<p>Lastly, I also took my first journey to the US west coast for MINECON 2016, the annual Minecraft convention. <a href="/blog/2016/11/spigotmc-california-minecon/">I attended</a> as a staff member of the SpigotMC project and a representative of the open source community at RIT.</p>
<p>All three of these events have their own event reports to go with them. More info and plenty of pictures are in the full reports.</p>
<ul>
<li><a href="/blog/2016/04/bitcamp-2016/">Going to Bitcamp 2016</a></li>
<li><a href="https://communityblog.fedoraproject.org/hackmit-meets-fedora/">HackMIT meets Fedora</a></li>
<li><a href="/blog/2016/11/spigotmc-california-minecon/">SpigotMC goes to California for MINECON</a></li>
</ul>

<h2 id="vermont-2016-with-matt">Vermont 2016 with Matt&nbsp;<a class="hanchor" href="#vermont-2016-with-matt" aria-label="Anchor link for: Vermont 2016 with Matt">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2017/02/IMG_8441.jpg" alt="Shortly after I arrived, Matt Coutu took me around to see the sights and find coffee" loading="lazy">
  <figcaption>Shortly after I arrived, Matt took me around to see the sights and find coffee.</figcaption>
</figure>
</p>
<p>Some trips happen without prior arrangements and planning. Sometimes, the best memories are made by not saying no. I remember the phone call with one of my closest friends, Matt Coutu, at some point in October. On a sudden whim, we planned my first visit to Vermont to visit him. Some of the things he told me to expect made me excited to explore Vermont! And then in the pre-dawn hours of November 4th, I made the trek out to Vermont to see him.</p>
<p>
<figure>
  <img src="/blog/2017/02/IMG_8525-e1487263384338.jpg" alt="50 feet up into the air atop Spruce Mountain was colder than we expected" loading="lazy">
  <figcaption>50 feet up into the air atop Spruce Mountain was colder than we expected.</figcaption>
</figure>
</p>
<p>Instantly when crossing over the state border, I knew this was one of the most beautiful states I ever visited. During the weekend, the two of us did things that I think only the two of us would enjoy. We climbed a snowy mountain to reach an abandoned fire watchtower, where we endured a mini blizzard. We walked through a city without a specific destination in mind, but to go wherever the moment took us.</p>
<p>We visited a quiet dirt road that led to a meditation house and cavern maintained by monks, where we meditated and drank in the experience. I wouldn&rsquo;t classify the trip has a high-energy or engaging trip, but for me, it was one of the most enjoyable trips I&rsquo;ve embarked on yet. There are many things that I still hold on to from that weekend for remembering or reflecting back on.</p>
<p>A big shout-out to Matt for always supporting me with everything I do and always being there when we need each other.</p>
<p>
<figure>
  <img src="/blog/2017/02/IMG_8476.jpg" alt="Martin Bridge may not be one of your top places to visit in Vermont, but if you keep going, you&rsquo;ll find a one-of-a-kind view" loading="lazy">
  <figcaption>Martin Bridge may not be one of your top places to visit in Vermont, but if you keep going, you’ll find a one-of-a-kind view.</figcaption>
</figure>
</p>

<h2 id="finally-seeing-nyc-with-nolski">Finally seeing NYC with Nolski&nbsp;<a class="hanchor" href="#finally-seeing-nyc-with-nolski" aria-label="Anchor link for: Finally seeing NYC with Nolski">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2017/02/Nolski-and-jflory-take-Manhatten.jpg" alt="Mike Nolan and Justin Wheeler venture through New York City early on a Sunday evening" loading="lazy">
  <figcaption>Mike Nolan and I venture through New York City early on a Sunday evening</figcaption>
</figure>
</p>
<p>In no short time after the Vermont trip, I purchased tickets for my favorite band, <a href="http://www.elteneleven.com/">El Ten Eleven</a>, in New York City on November 12th. What turned into a one-day trip to see the band turned into an all-weekend trip to see the band, see New York City, and spend some time catching up with two of my favorite people, <a href="http://nolski.rocks/">Mike Nolan</a> (nolski) and <a href="http://decausemaker.org/">Remy DeCausemaker</a> (decause). During the weekend, I saw the World Trade Center memorial site for the first time, tried some amazing bagels, explored virtual reality in Samsung&rsquo;s HQ, and got an exclusive inside look at the <a href="https://giphy.com/">Giphy</a> office.</p>
<p>This was my third time in New York City, but my first time to explore the city. Another shout-out goes to Mike for letting me crash on his couch and stealing his Sunday to walk through his metaphorical backyard. Hopefully it isn&rsquo;t my last time to visit the city either!</p>

<h2 id="finalizing-study-abroad">Finalizing study abroad&nbsp;<a class="hanchor" href="#finalizing-study-abroad" aria-label="Anchor link for: Finalizing study abroad">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2017/02/DSC_0029.jpg" alt="This may be cheating since it was taken in 2017, but this is one of my favorite photos from Dubrovnik, Croatia so far" loading="lazy">
  <figcaption>This may be cheating since it was taken in 2017, but this is one of my favorite photos from Dubrovnik, Croatia so far. You can find more like this on my 500px gallery (<a href="https://500px.com/jflory7/galleries/dubrovnik-croatia" class="bare">https://500px.com/jflory7/galleries/dubrovnik-croatia</a>)!</figcaption>
</figure>
</p>
<p>At the end of 2016, I finalized a plan that was more than a year in the making. I applied and was accepted to study abroad at the Rochester Institute of Technology campus in Dubrovnik, Croatia. RIT has a few satellite campuses across the world: two in Croatia (Zagreb and Dubrovnik) and one in Dubai, UAE. In addition to being accepted, the university provided me a grant to further my education abroad. I am fortunate to have received this opportunity and can&rsquo;t wait to spend the next few months of my life in Croatia. I am currently studying in Dubrovnik since January until the end of May.</p>
<p>During my time here, I will be taking 12 credit hours of courses. I am taking ISTE-230 (Introduction to Database and Data Modeling), ENGL-361 (Technical Writing), ENVS-150 (Ecology of the Dalmatian Coast), and lastly, FOOD-161 (Wines of the World). The last one was a fun one that I took for myself to try broadening my experiences while abroad.</p>
<p>Additionally, one of my personal goals for 2017 is to practice my photography skills. During my time abroad, I have created a <a href="https://500px.com/jflory7/galleries/dubrovnik-croatia">gallery on 500px</a> where I upload my top photos from every week. I welcome feedback and opinions about my pictures, and if you have criticism for how I can improve, I&rsquo;d love to hear about it!</p>

<h2 id="accepting-my-first-co-op">Accepting my first co-op&nbsp;<a class="hanchor" href="#accepting-my-first-co-op" aria-label="Anchor link for: Accepting my first co-op">🔗</a></h2>
<p>The last big break that I had in 2016 was accepting my first co-op position. Starting in June, I will be a Production Engineering Intern at <a href="http://jumptrading.com/">Jump Trading, LLC</a>. I started interviewing with Jump Trading in October and even had an on-site interview that brought me to their headquarters in Chicago at the beginning of December. After meeting the people and understanding the culture of the company, I am happy to accept a place at the team. I look forward to learning from some of the best in the industry and hope to contribute to some of the fascinating projects going on there.</p>
<p>From June until late August, I will be starting full-time at their Chicago office. If you are in the area or ever want to say hello, let me know and I&rsquo;d be happy to grab coffee, once I figure out where all the best coffee shops in Chicago are!</p>

<h2 id="in-summary">In summary&nbsp;<a class="hanchor" href="#in-summary" aria-label="Anchor link for: In summary">🔗</a></h2>
<p>2015 felt like a difficult year to follow, but 2016 exceeded my expectations. I acknowledge and I&rsquo;m grateful for the opportunities this year presented to me. Most importantly, I am thankful for the people who have touched my life in a unique way. I met many new people and strengthened my friendships and bonds with many old faces too. All of the great things from the past year would not be possible without the influence, mentorship, guidance, friendship, and comradery these people have given me. My mission is to always pay it forward to others in any way that I can, so that others are able to experience the same opportunities (or better).</p>
<p>2017 is starting off hot and moving quickly, so I hope I can keep up! I can&rsquo;t wait to see what this year brings and hope that I have the chance to meet more amazing people, and also meet many of my old friends again, wherever that may be.</p>
<p>Keep the FOSS flag high.</p>]]></description></item><item><title>Students and professors work across the aisle during Election Night Hackathon</title><link>https://jwheel.org/blog/2016/12/2016-election-night-hackathon/</link><pubDate>Thu, 15 Dec 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/12/2016-election-night-hackathon/</guid><description><![CDATA[<p><a href="https://opensource.com/article/16/12/2016-election-night-hackathon"><em>This post was originally published on Opensource.com.</em></a></p>
<hr>
<p>On Tuesday, November 8th, 2016, the <a href="http://foss.rit.edu/">FOSS@MAGIC</a> at the <a href="https://magic.rit.edu/">MAGIC Center</a> at RIT held the annual Election Night Hackathon. Over 140 students from across campus and across departments gathered together to work on a range of civic projects as the election night results came in. This year&rsquo;s hackathon was the sixth in a long-standing tradition of civic duty and open source collaboration.</p>

<h2 id="starting-the-election-night-hackathon">Starting the Election Night Hackathon&nbsp;<a class="hanchor" href="#starting-the-election-night-hackathon" aria-label="Anchor link for: Starting the Election Night Hackathon">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2016/11/IMG_8753.jpg" alt="Dan Schneiderman updating the news sources on the projector screens during the Election Night Hackathon by FOSS at RIT" loading="lazy">
  <figcaption>Dan Schneiderman (<a href="http://www.schneidy.com/" class="bare">http://www.schneidy.com/</a>) updating the news sources on the projector screens</figcaption>
</figure>
</p>
<p>For this year&rsquo;s event, registration was a ticketed event because of the overwhelming interest in the election. At 5:00pm, the sign-in table popped up in front of the <a href="https://www.rit.edu/research/simonecenter/">Student Innovation Hall</a>, where the hackathon would take place. Students began lining up to receive their wristband for admission, food, and open source swag.</p>
<p>The space quickly became filled over the next hour as people began settling in for the night to work on projects (or maybe homework). On all sides were a range of projector screens with a range of sources for election night coverage. There would not be a lack of information through the night. In addition to the federal election, local and state elections throughout New York were also included on the projectors.</p>
<p>
<figure>
  <img src="/blog/2016/11/IMG_8759.jpg" alt="The Election Night Hackathon was a full house after the kick-off ceremony during the Election Night Hackathon by FOSS at RIT" loading="lazy">
  <figcaption>The Election Night Hackathon was a full house after the kick-off ceremony</figcaption>
</figure>
</p>
<p>The Election Night Hackathon had no shortage of goodies provided by numerous open source organizations, companies, and supporters. The &ldquo;swag table&rdquo; featured plenty of stickers for people to add to their laptops or other devices. The <a href="https://fedoraproject.org/wiki/Overview">Fedora Project</a>, <a href="https://github.com/">GitHub</a>, <a href="https://www.redhat.com/en">Red Hat</a>, the <a href="https://magic.rit.edu/">MAGIC Center</a>, and more were available for attendees to pick their favorites out.</p>

<h2 id="projects">Projects&nbsp;<a class="hanchor" href="#projects" aria-label="Anchor link for: Projects">🔗</a></h2>
<p>At the peak of the event, nearly 140 students, faculty, staff, and local citizens filled the MAGIC Center and overflow work spaces. <a href="http://www.schneidy.com/">Dan Schneiderman</a>, the event coordinator and <a href="https://opensource.com/education/16/5/interview-dan-schneiderman-rit">FOSS@MAGIC Research Associate and Community Liaison</a>, led the event on a high note with a brief kick-off ceremony. Hackers were provided with a list of resources for building applications related to civic hacking. Shortly after the start, attendees began talking with one another to discuss project ideas or other topics to work on throughout the night. Professors and alumni provided mentorship, advice, and help for students planning projects.</p>
<p>
<figure>
  <img src="/blog/2016/11/IMG_8742.jpg" alt="Mark Repka works on his 2016 Election Viewer app during the Election Night Hackathon by FOSS at RIT" loading="lazy">
  <figcaption>Mark Repka works on his 2016 Election Viewer app</figcaption>
</figure>
</p>
<p><a href="https://github.com/tydus101">Tyler Reimold</a> worked on creating an open source server for real-time election updates in a Reddit thread. His <a href="https://github.com/tydus101/reddit-live-election">Python-based project</a> used the <a href="http://elections.huffingtonpost.com/pollster/api">Huffington Post</a> and Reddit APIs to build the application.</p>
<p>Adjunct professor at Monroe Community College  David M. Shein gathered a small group of hackers to build a website. The website, <a href="https://thankyousuffragists.org/">thankyousuffragists.org</a>, honors and maps the graves of women around the country who campaigned for the right to vote. The early stage site allows people to add the locations of graves around the country to a map. &ldquo;I personally loved how a number of our attendees were inspired by the crowds that stopped by <a href="http://www.pbs.org/newshour/rundown/hundreds-voted-stickers-left-susan-b-anthonys-grave/">Susan B. Anthony’s grave</a> in Rochester, which then led to a project focused on honoring her work,&rdquo; Schneiderman said.</p>
<p>Additionally, another project was the <a href="https://repkam09.com/election/">2016 Election Viewer</a> by <a href="https://repkam09.com/">Mark Repka</a>. His Node-powered application delivered a state-by-state breakdown of election results throughout the night. Attendees were encouraged to check it out and provide feedback as he built the site to provide accurate coverage during the heat of the election coverage. You can view Mark&rsquo;s application on <a href="https://repkam09.com/election/">his website</a>, browse <a href="https://api.repkam09.com/api/election/full">its own API</a>, or find the source code <a href="https://github.com/repkam09/election-viewer">on GitHub</a> (MIT License).</p>
<p>Many other students worked on smaller projects or collaborated with professors on other ideas. Dr. Vullo at RIT opened a call for students to help him with a virtual reality idea powered by <a href="https://aframe.io/">AFrame</a>. Most of the projects and work from the evening was published on GitHub in the spirit of contributing civic hacking projects to the open source ecosystem.</p>

<h2 id="and-the-winner-is">And the winner is…&nbsp;<a class="hanchor" href="#and-the-winner-is" aria-label="Anchor link for: And the winner is…">🔗</a></h2>
<p>After seven hours of hacking and nail-biting, the election results were mostly called by midnight. With a short conclusion speech by Schneiderman, the hackathon began closing down in time for the next day of classes. &ldquo;[My favorite part was] the collaborations and the mixing of students from majors that don’t usually get to work alongside each other. Attendance was a mix of computer science, marketing, political science, engineering, history, and visual arts,&rdquo; Schneiderman said. Special thanks for the event go to the <a href="https://magic.rit.edu/">MAGIC Center</a> at RIT for providing space and resources for the event. Additional thanks go to <a href="https://www.redhat.com/en">Red Hat</a> for supporting the <a href="http://foss.rit.edu/">FOSS@MAGIC initiative</a> so these events are made possible. You can find the full photo album from the event <a href="https://500px.com/jflory7/galleries/election-night-hackathon-2016">on 500px</a>.</p>
<p>November 8th is a day that will stand in memory for a long time, and the Election Night Hackathon is a great opportunity for students to engage in discussion and collaboration with others in the community to identify issues in the civic area and try to build open source solutions to those problems. We&rsquo;re looking forward to continuing the tradition next year for the next round of local, state, and federal elections.</p>]]></description></item><item><title>Hatchit puts open source power in developers' hands</title><link>https://jwheel.org/blog/2016/11/hatchit-puts-open-source-power-developers-hands/</link><pubDate>Thu, 03 Nov 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/11/hatchit-puts-open-source-power-developers-hands/</guid><description><![CDATA[<p><a href="https://opensource.com/life/16/10/hatchit"><em>This post was originally published on OpenSource.com.</em></a></p>
<hr>
<p>More and more students are learning about the world of open source through video games. Games like <a href="http://www.freeciv.org/">FreeCiv</a> let players build empires based on the history of human civilization while games like <a href="http://www.minetest.net/">Minetest</a> emulates Minecraft in an open source block-building sandbox. Students are encouraged to dig deeper into games like this, and projects like <a href="https://www.spigotmc.org">SpigotMC</a> empower kids to write plugins to extend their favorite games. However, the tools in open source to build the actual games do not share the same prominence. <a href="https://www.rit.edu/">Rochester Institute of Technology</a> student <a href="https://github.com/MattGuerrette">Matt Guerrette</a> hopes to help change that with his open source gaming engine, <a href="https://github.com/thirddegree/Hatchit">Hatchit</a>.</p>

<h2 id="introducing-hatchit">Introducing Hatchit&nbsp;<a class="hanchor" href="#introducing-hatchit" aria-label="Anchor link for: Introducing Hatchit">🔗</a></h2>
<p>Hatchit was a project started between <a href="https://github.com/MattGuerrette">Matt Guerrette</a> and fellow student <a href="https://github.com/Honeybunch">Arsen Tufankjian</a> together in February 2016. After working with game engines for other classes, they both found challenges over how popular game engines are designed for developers. They noted that these game engines were more design-oriented. It lacked some technical details they were looking for when working on their own personal or academic projects. Together, they had the idea to build their own open source gaming engine with a goal of exposing more of the technical sides of the process to developers. &ldquo;We want to give you more access to the programming side of the game engine,&rdquo; Matt explains.</p>
<p>Hatchit is written in C/C++ and licensed in a mix between GPL and LGPL. Originally, the project was started to take advantage of the <a href="https://en.wikipedia.org/wiki/DirectX">DirectX</a> APIs for development. However, Guerrette and Tufankjian ran into an unexpected event while they were getting started. Nvidia released the <a href="https://developer.nvidia.com/Vulkan">Vulkan</a> APIs in competition to the DirectX APIs. Originally, they had attempted to support both APIs simultaneously, but later opted to focus on Vulkan.</p>

<h4 id="inspiration-for-hatchit">Inspiration for Hatchit&nbsp;<a class="hanchor" href="#inspiration-for-hatchit" aria-label="Anchor link for: Inspiration for Hatchit">🔗</a></h4>
<p>Guerrette remembers a specific type of task he wanted to accomplish with Hatchit. In the game editor, he wanted to be able to construct a render pass instead of having the engine handle it internally. An earlier project had motivated the need for this feature. By being able to create the render passes in real time, a developer would be able to create something like a custom shader that bends vertices into straight, geometric shapes in real-time. His earlier project, Mineshaft Mayhem, demonstrates this concept with how the mineshaft seems to be warping and turning, but the tunnels are actually straight in the editor.</p>
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
      <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/tzLMCVoDDGs?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
    </div>

<p>You can find more videos of Guerrette&rsquo;s work on his <a href="https://www.youtube.com/channel/UC5HDOa8-y1loj3SUm4Zxzyw">YouTube channel</a>.</p>

<h2 id="whats-happening-now">What&rsquo;s happening now&nbsp;<a class="hanchor" href="#whats-happening-now" aria-label="Anchor link for: What&rsquo;s happening now">🔗</a></h2>
<p>Since starting the project, Tufankjian graduated and is now working at Amazon Game Design. Over the summer, the community started to show interest in the project. They&rsquo;ve received a pull request from one member outside of the core developer team and have several issues filed against the <a href="https://github.com/thirddegree">different repositories</a> for the engine.</p>
<p>Matt has a few milestones set ahead for the project this year. One of the biggest tasks he is working on is getting the Vulkan renderer multi-threaded design implemented and working. This vastly speeds up the render time when working on projects and is also proving one of the greatest challenges so far. In addition to the multi-threaded design, he hopes to have game objects and components serialized with JSON. This would make it easier for the editor application to modify game data and manipulate configurations with <a href="https://en.wikipedia.org/wiki/Qt_%5C%28software%5C%29">Qt</a>.</p>

<h2 id="looking-at-foss-and-hatchit">Looking at FOSS and Hatchit&nbsp;<a class="hanchor" href="#looking-at-foss-and-hatchit" aria-label="Anchor link for: Looking at FOSS and Hatchit">🔗</a></h2>
<p>Guerrette is not unfamiliar with open source, but this is his largest undertaking yet with an open source project. While working on the project, using an open source development model has made it easier to receive feedback, work with community contributors outside of the RIT community, and also handle some technical aspects well.</p>

<h4 id="benefits-of-working-in-the-open">Benefits of working in the open&nbsp;<a class="hanchor" href="#benefits-of-working-in-the-open" aria-label="Anchor link for: Benefits of working in the open">🔗</a></h4>
<p>Working on the project on GitHub has proved to benefit the project in a variety of ways. One of the most clear ways this helped is having people file issues and raise concerns over parts of the code. In one case, someone filed an issue against an older library that made a mathematical error in its calculations. &ldquo;Having the world&rsquo;s eyes on your project to catch errors is a good thing,&rdquo; Matt said. Guerrette found the freedom to use other open source libraries and dependencies for the engine especially useful. All the licenses were compatible and presented no issue to work with.</p>
<p>Some technical challenges were also made easier with open source tooling. One of the greatest challenges for the Hatchit team was writing the build system to use build system generator software and maintain compatibility with both Windows and Linux. Locally linking dependencies in the project was inconvenient and made the project unnecessarily huge. With git, they used submodules to link dependencies in the repository and build them from source when compiling Hatchit. &ldquo;Being able to link dependency repositories has been really useful, especially for developing on Windows,&rdquo; Matt found. Additionally, some of the continuous integration features on GitHub and other services made it easy to quickly test new changes for compatibility.</p>

<h4 id="challenges-of-open-source">Challenges of open source&nbsp;<a class="hanchor" href="#challenges-of-open-source" aria-label="Anchor link for: Challenges of open source">🔗</a></h4>
<p>Along the way, some challenges came by developing in the open that the team worked to resolve. With the convenience of using git submodules also came a difficulty of tracking upstream changes. On occasion, a dependency might break in the project. The team then has to check if the project has updated or changed upstream or if a fix needs to be made locally in their project.</p>
<p>Additionally, community outreach is a challenge Guerrette is hoping to focus on as the new project lead. He shares development updates on his <a href="https://www.youtube.com/channel/UC5HDOa8-y1loj3SUm4Zxzyw">YouTube channel</a> and occasionally will stream his development on <a href="https://www.livecoding.tv/">livecoding.tv</a>. One thing is working on to make it easier for new contributors to get involved is recommending them to try building the engine from the source code. This gives potential developers experience with compiling the engine and walks them through a variety of documentation available with the project.</p>

<h2 id="get-involved">Get involved&nbsp;<a class="hanchor" href="#get-involved" aria-label="Anchor link for: Get involved">🔗</a></h2>
<p>The Hatchit team is working further on the game engine and are looking for community participation. To get involved, Guerrette recommends checking out the l<a href="https://gitter.im/thirddegree/Hatchit">Hatchit Gitter chat</a> and to review the <a href="https://github.com/thirddegree/Hatchit/blob/master/README.md">README file</a> on the main repository. Any contributions are welcome, either in the form of pull requests or filing issues.</p>]]></description></item><item><title>Virtual meetup with WiC, Open Labs, FOSS Wave</title><link>https://jwheel.org/blog/2016/10/virtual-meetup-wic-open-labs-foss-wave/</link><pubDate>Sat, 08 Oct 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/10/virtual-meetup-wic-open-labs-foss-wave/</guid><description><![CDATA[<p>Over the past year, I&rsquo;ve met incredible people from around the world doing great things in their local communities. At my university, the <a href="http://wic.rit.edu/">Women in Computing @ RIT</a> program provides networking for students with faculty, staff, and alumni. They also help advance women in computing through community outreach. I&rsquo;ve also come into contact with two other international tech communities with interesting stories of their own. With the help of the <a href="http://wic.rit.edu/pages/committees.php">WiC events committee</a>, we are working on organizing a virtual meetup with WiC from New York, <a href="https://openlabs.cc/">Open Labs Albania</a>, and <a href="http://landing.fosswave.com/">FOSS Wave</a> from India to introduce each other, share experiences, and more.</p>

<h2 id="about-open-labs">About Open Labs&nbsp;<a class="hanchor" href="#about-open-labs" aria-label="Anchor link for: About Open Labs">🔗</a></h2>
<p>
<figure>
  <img src="https://i2.wp.com/oscal.openlabs.cc/wp-content/uploads/2013/10/OSCAL2016GroupPhoto-1.png?w=920" alt="Group photo of attendees at OSCAL 2016 in Tirana, Albania (courtesy of Open Labs)" loading="lazy">
  <figcaption>Group photo of attendees at OSCAL 2016 (<a href="http://oscal.openlabs.cc/" class="bare">http://oscal.openlabs.cc/</a>)</figcaption>
</figure>
</p>
<p><a href="https://openlabs.cc/">Open Labs Albania</a> is a non-profit organization and community based out of <a href="https://en.wikipedia.org/wiki/Tirana">Tirana, Albania</a>. Open Labs focuses on freedom, transparency, and decentralization to empower the community. They support and contribute to a variety of open source projects to tackle local problems. Sometimes, this even includes regional and international issues. Each year, the Open Labs team organizes their annual conference, <a href="http://oscal.openlabs.cc/">OSCAL</a> (Open Source Conference Albania). Hundreds of people from across Europe gather to &ldquo;promote software freedom, open source software, free culture and open knowledge&rdquo;. In 2016, over <a href="https://eischmann.wordpress.com/2016/05/26/event-report-oscal-2016/">50% of attendees and 70% of organizers were women</a>, numbers unheard of anywhere else in the world.</p>
<p>The story of Open Labs in Albania is a growing but powerful story of people from a developing country working together to build real solutions to real problems. The story of their movement is motivating, insightful, and worth sharing.</p>

<h2 id="about-foss-wave">About FOSS Wave&nbsp;<a class="hanchor" href="#about-foss-wave" aria-label="Anchor link for: About FOSS Wave">🔗</a></h2>
<p><a href="http://landing.fosswave.com/">FOSS Wave</a> is a group of open source developers and students dedicated to connecting other students into open source communities. They help develop students&rsquo; professional skills for the industry. The mentors have a &ldquo;Boot Up&rdquo; program where interested students reach out for a mentor. Mentors offer direct support to students on getting started. Program organizers also attend various universities to deliver workshops and talks about open source technology. Many mentors are female and speak about diversity in open source communities and give advice for women who want to get involved.</p>
<p><a href="https://communityblog.fedoraproject.org/foss-wave-women-in-technology-part-2/">https://communityblog.fedoraproject.org/foss-wave-women-in-technology-part-2/</a></p>
<p><a href="https://communityblog.fedoraproject.org/foss-wave-fedora-bangalore-india/">https://communityblog.fedoraproject.org/foss-wave-fedora-bangalore-india/</a></p>
<p><a href="https://communityblog.fedoraproject.org/foss-wave-bangalore-uvce/">https://communityblog.fedoraproject.org/foss-wave-bangalore-uvce/</a></p>

<h2 id="virtual-meetup">Virtual meetup&nbsp;<a class="hanchor" href="#virtual-meetup" aria-label="Anchor link for: Virtual meetup">🔗</a></h2>
<p>Over the next month, we hope to combat time zones (six hours in Europe and nine and a half with India) to find mutual times that work well for both communities. These are two separate virtual meetup opportunities, one with WiC and Open Labs, and another with WiC and FOSS Wave. We are trying to collect responses from members of both communities of when they would be available to take part in the meetup.</p>
<p>Are you a member of WiC, Open Labs, or FOSS Wave? Please make sure you fill in your available times in either poll so we can select a date soon!</p>
<ul>
<li><a href="http://whenisgood.net/wic/open-labs-virtual-meetup">WiC + Open Labs meetup time poll</a></li>
<li><a href="http://whenisgood.net/wic/foss-wave-virtual-meetup">WiC + FOSS Wave meetup time poll</a></li>
</ul>
<p>I&rsquo;m looking forward to these awesome communities meeting, sharing experiences, and learning about what other groups of students, women, and other great role models in tech are working on across the world. Hope to see you there too!</p>]]></description></item><item><title>HackMIT meets Fedora</title><link>https://jwheel.org/blog/2016/10/hackmit-meets-fedora/</link><pubDate>Tue, 04 Oct 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/10/hackmit-meets-fedora/</guid><description><![CDATA[<p><em>This post was originally published on the <a href="https://communityblog.fedoraproject.org/hackmit-meets-fedora/">Fedora Community Blog</a>.</em></p>
<p><a href="https://communityblog.fedoraproject.org/hackmit-meets-fedora/">https://communityblog.fedoraproject.org/hackmit-meets-fedora/</a></p>
<hr>
<p><a href="https://hackmit.org/">HackMIT</a> is the annual hackathon event organized by students at the <a href="http://web.mit.edu/">Massachusetts Institute of Technology</a> in Cambridge, Massachusetts. HackMIT 2016 took place on September 17th and 18th, 2016. This year, the Fedora Project partnered with Red Hat as sponsors for the hackathon. Fedora Ambassadors <a href="http://hub.cprofitt.com/">Charles Profitt</a> and <a href="https://jwheel.org/">Justin Wheeler</a> attended to represent the project and help mentor top students from around the country in a weekend of learning and competitive hacking. Fedora engaged with a new audience of students from various universities across America and even the globe.</p>

<h2 id="arriving-at-hackmit">Arriving at HackMIT&nbsp;<a class="hanchor" href="#arriving-at-hackmit" aria-label="Anchor link for: Arriving at HackMIT">🔗</a></h2>
<p>The Fedora team arrived in Massachusetts a day early on Friday to ensure prompt arrival at the event the following morning. Fedora was one of the first sponsors to arrive on MIT&rsquo;s campus Saturday morning, and scouted one of the best positions on the floor. Fedora was given a choice of anywhere in the bleachers surrounding the floor. As a result, the team set up Fedora&rsquo;s banners close to many of the tables where hackers would spend the weekend.</p>
<p>
<figure>
  <img src="/blog/2016/09/Fedora-booth-compressed.jpg" alt="Fedora setup at HackMIT 2016" loading="lazy">
  <figcaption>The Fedora setup at HackMIT 2016</figcaption>
</figure>
</p>
<p>On the morning of the first day, over a thousand students arrived on the MIT campus. Around 10:00am, the kickoff ceremony began in the main auditorium. The event staff introduced themselves and the structure of the event. After covering the basics, every sponsor was given a 30 second &ldquo;elevator pitch&rdquo; to explain their company or project, and share anything important with the hackers. Justin represented Fedora and Red Hat on stage to introduce Fedora and what Fedora wanted to help students with. He introduced Fedora as a distribution targeted towards developers, briefly introduced the <a href="https://getfedora.org/">three editions</a> of Fedora, and offered help for anyone wanting to open source their hack or seek support with open source tooling.</p>

<h2 id="may-the-hacking-begin">May the hacking begin!&nbsp;<a class="hanchor" href="#may-the-hacking-begin" aria-label="Anchor link for: May the hacking begin!">🔗</a></h2>
<p>After the sponsor introductions, hackers relocated to the main floor to start seeking teams and begin working on projects. While HackMIT was getting into full swing, many people visited the Fedora area before jumping into a project. Many of the students who talked with Charles and Justin were either surprised to see Fedora at an event like HackMIT or were curious to know what was going on in Fedora. For the most part, many students were familiar with Linux through classes or lectures. The ones familiar with Linux knew about it from hands-on experience or from guided instruction in classes. A smaller number of people were running Linux environments or using them in servers or other ways.</p>
<p>Overall, the demographic of people attending the hackathon were generally familiar with Linux, but not at an advanced level. This group was ideal for promoting Fedora as a developer environment. The ease of setting up a development workspace or installing dependencies for projects intrigued many students. HackMIT was an ideal opportunity to present Fedora to a new group of budding technological enthusiasts. HackMIT participants had an organic interest in Fedora and wanted to know how Fedora made development easier or what made it different from other distributions.</p>

<h2 id="personal-engagement">Personal engagement&nbsp;<a class="hanchor" href="#personal-engagement" aria-label="Anchor link for: Personal engagement">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2016/09/MeTime-team-compressed.jpg" alt="MeTime team demos project at HackMIT to Fedora" loading="lazy">
  <figcaption>The MeTime team demos their product to Charles before the last judgment</figcaption>
</figure>
</p>
<p>During the event, Charles walked around the various tables to talk with students while Justin manned the Fedora area. Charles introduced himself to the hackers and asked to know what they were working on or what their plans were. For many teams, he provided advice on how to get over hurdles with first planning and project direction. He checked back in with these groups across the weekend to see how they progressed.</p>
<p>At the Fedora space, Justin fielded questions from students about Linux, what Fedora offers, and about open source software. Some people were familiar with Fedora, and a small handful of students were running Fedora as a primary operating system. However, most students were only familiar with Linux and were curious to know more. As a student, Justin offered specific advice about contributing to open source software and how helpful it is to gain real-world experience. Some students expressed interest in contributing but were unsure about where to start. Justin coached students through key steps to start with on beginning their open source adventure. He identified the process of choosing a project to contribute to, matching something genuinely interesting with technical skills, and getting involved with the community.</p>
<p>Additionally, there were two students organizing other hackathons in the country with a specific focus towards open source software development. The Ambassadors engaged with these students and joined in a dialogue about making open source a critical part of hackathons. More information about these events will become available in the coming future.</p>

<h2 id="evaluating-impact">Evaluating impact&nbsp;<a class="hanchor" href="#evaluating-impact" aria-label="Anchor link for: Evaluating impact">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2016/09/Charles-and-May-compressed.jpg" alt="May Tomic works on her team&rsquo;s project, Conversationalist at HackMIT" loading="lazy">
  <figcaption>May Tomic (<a href="https://github.com/ValerieMayTomic" class="bare">https://github.com/ValerieMayTomic</a>) works on her team’s project, Conversationalist (<a href="https://github.com/solkiim/conversationalist" class="bare">https://github.com/solkiim/conversationalist</a>)</figcaption>
</figure>
</p>
<p>To help gauge our impact with the event, there was a limited edition <a href="https://badges.fedoraproject.org/badge/hackmit-2016-attendee">HackMIT 2016 Attendee</a> badge that attendees could claim during the event. The team leveraged <a href="https://badges.fedoraproject.org/about">Fedora Badges</a> as a tool to help tell the story of our impact at the event. Through Badges, you can see a list of FAS accounts that claimed the badge from the event and their account activity in the long run. <a href="https://fedoraproject.org/wiki/User:Bee2502">Bee Padalkar</a>&rsquo;s <a href="https://networksfordata.wordpress.com/2016/03/08/fedora-at-fosdem/">FOSDEM event evaluation</a> demonstrates how this data can be used. Ten people claimed the badge during the weekend. One of the benefits of using badges as a tool for measuring impact and engagement is the follow-up it allows us to make with what badge claimers do in the Fedora community.</p>
<p>However, there were more ways to measure engagement with the students and hackers than only with badges. Many of the most valuable insight into our impact was follow-up on the second morning. Charles went around to most of the tables he visited on the first day leading up to the final deadline. With one team, he helped do some live testing in the last 30 minutes before the deadline since her team was asleep from the previous night. Engagements like these left a positive impression of Fedora, and by extension, the community.</p>

<h4 id="what-was-our-engagement">What was our engagement?&nbsp;<a class="hanchor" href="#what-was-our-engagement" aria-label="Anchor link for: What was our engagement?">🔗</a></h4>
<p>
<figure>
  <img src="/blog/2016/09/events-hackmit-2016.png" alt="HackMIT 2016 Attendee Fedora badge" loading="lazy">
  <figcaption>The HackMIT 2016 Attendee (<a href="https://badges.fedoraproject.org/badge/hackmit-2016-attendee" class="bare">https://badges.fedoraproject.org/badge/hackmit-2016-attendee</a>) Fedora badge</figcaption>
</figure>
</p>
<p>The type of interactions and conversations Fedora held with students and other attendees was productive and motivating, not only to the students but also to the Ambassador team. People were genuinely interested in Fedora and it was easier to shape their interest into an insightful discussion about what Fedora enables students to create and develop. A powerful message about open source software development was also delivered during the event. This stands in contrast to some other hackathons in the United States which are sometimes set up more like unofficial career fairs. HackMIT clearly held a strong focus on community. Events with that kind of management and direction are where Fedora succeeds and has a more valuable impact.</p>
<p>Leaving the event, the Fedora team was confident that we had a powerful impact on students during the event. For many, Fedora was not only introduced as an operating system, but as a tool for accomplishing and doing. Fedora provides the tools and utilities students need to build their projects and drive them forward. Open source as a development practice was also introduced to many for the first time, or deeper explained for those with a mild interest. These messages and the team&rsquo;s other engagements were warmly received.</p>

<h2 id="looking-ahead">Looking ahead&nbsp;<a class="hanchor" href="#looking-ahead" aria-label="Anchor link for: Looking ahead">🔗</a></h2>
<p>The <a href="https://fedoraproject.org/wiki/Fedora_Ambassadors_North_America_%5C%28FAMNA%5C%29">Fedora Ambassadors of North America</a> would like to make a special thanks to <a href="https://www.redhat.com/">Red Hat</a> and <a href="https://fedoraproject.org/wiki/User:Spot">Tom Callaway</a> for partnering to sponsor this event. Without Red Hat&rsquo;s help, attending this event would not have been possible. Our engagement and impact after HackMIT excites the Ambassador team. We hope many students from the event turn to Fedora not only as an operating system, but as a tool for their expanding technological toolbox. A congratulations also goes to the organizers of HackMIT for putting together a thoroughly planned and carefully executed event that placed a strong focus on community, which fits within one of Fedora&rsquo;s <a href="https://fedoraproject.org/wiki/Foundations">four key foundations</a>, Friends.</p>
<p>We hope to return to Cambridge again next year!</p>
<hr>
<p><em>You can read Charles Profitt&rsquo;s event report on <a href="http://hub.cprofitt.com/hackmit.html">his blog</a>.</em></p>]]></description></item><item><title>Google Summer of Code, Fedora Class of 2016</title><link>https://jwheel.org/blog/2016/04/google-summer-code-fedora-class-2016/</link><pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/04/google-summer-code-fedora-class-2016/</guid><description><![CDATA[<p>This summer, I&rsquo;m excited to say I will be trying on a new pair of socks for size.</p>
<p>Bad puns aside, I am actually enormously excited to announce that I am participating in this year&rsquo;s <a href="https://summerofcode.withgoogle.com/">Google Summer of Code</a> program for the <a href="https://fedoraproject.org/wiki/Overview">Fedora Project</a>. If you are unfamiliar with Google Summer of Code (or often shortened to GSoC), Google describes it as the following.</p>
<blockquote>
<p>Google Summer of Code is a global program focused on bringing more student developers into open source software development. Students work with an open source organization on a 3 month programming project during their break from school.</p>
</blockquote>
<p>I will work with the Fedora Project over the summer on the CommOps slot. As part of my proposal, I will assist with migrating key points of communication in Fedora, like the Fedora Magazine and Community Blog, to Ansible-based installations. I have a few more things planned up my sleeve too.</p>

<h2 id="google-summer-of-code-proposal">Google Summer of Code proposal&nbsp;<a class="hanchor" href="#google-summer-of-code-proposal" aria-label="Anchor link for: Google Summer of Code proposal">🔗</a></h2>
<p>My proposal summary is on the <a href="https://summerofcode.withgoogle.com/organizations/5630777857409024/#5114063432450048">GSoC 2016 website</a>. The full proposal is available on the <a href="https://fedoraproject.org/wiki/GSOC_2016/Student_Application_jflory7">Fedora wiki</a>.</p>

<h4 id="the-what">The What&nbsp;<a class="hanchor" href="#the-what" aria-label="Anchor link for: The What">🔗</a></h4>
<p>The <a href="https://fedoraproject.org/wiki/Community_Blog">Community Blog</a> is becoming an important part of the Fedora Project. This site is a shared responsibility between <a href="https://fedoraproject.org/wiki/CommOps">CommOps</a> and the <a href="https://fedoraproject.org/wiki/Infrastructure">Infrastructure</a> team. Unlike most applications in the Fedora infrastructure, the Community Blog is not based off Ansible playbooks. <a href="https://www.ansible.com/">Ansible</a> is an open-source configuration management suite designed to make automation easier. Fedora already uses Ansible extensively across its infrastructure.</p>
<p>My task would consist of migrating the Community Blog (and by extension, <a href="https://fedoraproject.org/wiki/Magazine">Fedora Magazine</a>) to an Ansible-based set up and writing the documentation for any related SOPs.</p>

<h4 id="the-why">The Why&nbsp;<a class="hanchor" href="#the-why" aria-label="Anchor link for: The Why">🔗</a></h4>
<p>Ansible is a useful tool to make automation and configuration easier. In their current set up, the Community Blog and Fedora Magazine are managed separately from each other, and are managed by a single member of the Infrastructure team. By moving them to Ansible-based installations and merging the WordPress bases together, it provides the following benefits:</p>
<ol>
<li>Makes it easier for other Infrastructure team members to fix, maintain, or apply updates to either site</li>
<li>Prevents duplicate work by maintaining a single, Ansible-based WordPress install versus two independent WordPress sites</li>
<li>Creates a standard operating procedure for hosting blog platforms within Fedora (can be used for other extensions in the future)</li>
</ol>

<h2 id="thanks-to-my-mentors">Thanks to my mentors&nbsp;<a class="hanchor" href="#thanks-to-my-mentors" aria-label="Anchor link for: Thanks to my mentors">🔗</a></h2>
<p>I would like to issue a special thanks to my mentors, <a href="https://fedoraproject.org/wiki/User:Puiterwijk">Patrick Uiterwijk</a> and <a href="https://fedoraproject.org/wiki/User:Decause">Remy DeCausemaker</a>. Patrick will be my primary mentor for the slot, as a member of the Fedora Infrastructure team. I will be working closest with him in the context of my proposal. I will also be working with Remy on the &ldquo;usual&rdquo; CommOps tasks that we work on week by week.</p>
<p>Another thanks goes out to all of those in the Fedora community who have positively affected and influenced my contributions. Thanks to countless people, I am happy to consider Fedora my open source home for many years to come. There is so much to learn and the community is amazing.</p>

<h2 id="getting-started">Getting started&nbsp;<a class="hanchor" href="#getting-started" aria-label="Anchor link for: Getting started">🔗</a></h2>
<p>As of the time of publication, the Community Bonding period is currently happening. The official &ldquo;coding&rdquo; time hasn&rsquo;t started yet. Without much delay, I will be meeting up with Patrick and Remy later today in a conference call to check in after the official announcement, make plans for what&rsquo;s coming up in the near future, and become more acquainted with the Infrastructure community.</p>
<p>In addition to our conference call, I&rsquo;m also planning on (formally) attending the next Fedora Infrastructure meeting on Thursday. Shortly afterwards, I hope to begin my journey as an Infrastructure apprentice and learn more about the workflow of the team.</p>
<p>Things are just getting started for the summer and I&rsquo;m beyond excited that I will have a paid excuse to work on Fedora full-time. Expect more check-ins as the summer progresses!</p>]]></description></item><item><title>Going to Bitcamp 2016</title><link>https://jwheel.org/blog/2016/04/bitcamp-2016/</link><pubDate>Sun, 24 Apr 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/04/bitcamp-2016/</guid><description><![CDATA[<p>Over the weekend of April 9th - 10th, the Fedora Project <a href="https://fedoraproject.org/wiki/Fedora_Ambassadors_North_America_%28FAMNA%29">Ambassadors of North America</a> attended the <a href="http://bitca.mp/">Bitcamp 2016</a> hackathon at the <a href="https://www.umd.edu/">University of Maryland</a>. But what is Bitcamp? The organizers describe it as the following.</p>
<blockquote>
<p>Bitcamp is a place for exploration. You will have 36 hours to delve into your curiosities, learn something new, and make something awesome. With world-class mentors and hundreds of fellow campers, you’re in for an amazing time. If you’re ready for an adventure, see you by the fire!</p>
</blockquote>
<p>The <a href="https://fedoraproject.org/wiki/Overview">Fedora Project</a> attended as an event sponsor this year. At the event, we held a table in the hacker arena. The Ambassadors offered mentorship and help to Bitcamp 2016 programmers, gave away some free Fedora swag, and offered an introduction to Linux, <a href="http://www.theopensourceway.org/">open source</a>, and our community. This report recollects some highlights from the event.</p>
<p>
<figure>
  <img src="/img/group-photo.png" alt="Bitcamp 2016: The Fedora Ambassadors of Bitcamp 2016" loading="lazy">
  <figcaption>The Fedora Ambassadors at Bitcamp 2016. Left to right: Chaoyi Zha (cydrobolt), Justin Wheeler (jflory7), Mike DePaulo (mikedep333), Corey Sheldon (linuxmodder)</figcaption>
</figure>
</p>

<h2 id="getting-to-bitcamp-2016">Getting to Bitcamp 2016&nbsp;<a class="hanchor" href="#getting-to-bitcamp-2016" aria-label="Anchor link for: Getting to Bitcamp 2016">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2016/04/chaoyi-friends.png" alt="Bitcamp 2016: Chaoyi Zha (cydrobolt) helping hackers with code" loading="lazy">
  <figcaption>Fedora Ambassador Chaoyi Zha (<a href="https://fedoraproject.org/wiki/User:Cydrobolt" class="bare">https://fedoraproject.org/wiki/User:Cydrobolt</a>) (cydrobolt) helps two other students working on their projects.</figcaption>
</figure>
</p>
<p>I left Rochester, New York around 4:00pm after my classes for the day had finished. Bitcamp check-in started at 7:00pm on Friday, April 8th. It was about a six hour drive for me to get there, and I got to Maryland right around 9:30pm.</p>
<p>Once I arrived, walking in was a crazy experience. Tables upon tables of hackers were lined up bu the hundreds. Most were already working on brainstorming. I meandered my way through the crowds to the Fedora table where <a href="https://fedoraproject.org/wiki/User:Corey84">Corey Sheldon</a>, <a href="https://fedoraproject.org/wiki/User:Mikedep333">Mike DePaulo</a>, and <a href="https://fedoraproject.org/wiki/User:Cydrobolt">Chaoyi Zha</a> were set up.</p>

<h2 id="meeting-the-hackers">Meeting the hackers&nbsp;<a class="hanchor" href="#meeting-the-hackers" aria-label="Anchor link for: Meeting the hackers">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2016/04/corey-mentoring.png" alt="Bitcamp 2016: Corey Sheldon (linuxmodder) helps a student install Fedora" loading="lazy">
  <figcaption>Fedora Ambassador Corey Sheldon (<a href="https://fedoraproject.org/wiki/User:Corey84" class="bare">https://fedoraproject.org/wiki/User:Corey84</a>) (linuxmodder) works with a student trying to set up dual-boot on his laptop.</figcaption>
</figure>
</p>
<p>Many other students came up to the table before the hackathon officially began. We interacted with several students and helped establish ourselves as mentors as well. Additionally, we also had a <a href="https://badges.fedoraproject.org/badge/bitcamp-2016">badge</a> that attendees could scan to get added to their FAS account!</p>
<p>Once the event officially began, teams of people began working on their projects. Many people had grand ideas of projects to cram into the one weekend. For a brief time, the Ambassadors had a chance to rest from answering questions and helping people with their own hardware.</p>
<p>The hackers began settling into a groove for the evening.</p>

<h2 id="spending-the-night">Spending the night&nbsp;<a class="hanchor" href="#spending-the-night" aria-label="Anchor link for: Spending the night">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2016/04/all-the-hackers.png" alt="Bitcamp 2016: Over 1,000 hackers attended at the University of Maryland" loading="lazy">
  <figcaption>Over a thousand hackers were present at Bitcamp 2016.</figcaption>
</figure>
</p>
<p>As the day turned into night, the home stretch of the hackathon was beginning. Those with firm ideas were deeply focused on their projects. Others were taking their plans back to the drawing board to overcome unexpected difficulties. Things began settling down for the night. The same cycle repeated itself for both Friday and Saturday nights.</p>
<p>Around this time, we had waves of interested hackers in Fedora, open source software, and Linux approach the table. This time was great for personalized, one-on-one conversations with visitors. Many excellent connections happened during this time!</p>

<h2 id="mentoring">Mentoring&nbsp;<a class="hanchor" href="#mentoring" aria-label="Anchor link for: Mentoring">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2016/04/mikedep333-at-table-e1461525437165.png" alt="Bitcamp 2016: Mike DePaulo (mikedep333) at the Fedora Bitcamp 2016 table" loading="lazy">
  <figcaption>Fedora Ambassador Mike DePaulo (<a href="https://fedoraproject.org/wiki/User:Mikedep333" class="bare">https://fedoraproject.org/wiki/User:Mikedep333</a>) (mikedep333) demonstrated his triple-boot MacBook with OS X, Windows, and Fedora at Bitcamp 2016.</figcaption>
</figure>
</p>
<p>During <a href="http://bitca.mp/">Bitcamp</a>, there were several opportunities and connections made between <a href="https://fedoraproject.org/wiki/Ambassadors">Fedora Ambassadors</a> and university students.</p>
<p>For most of one night, Corey worked with one student who was aiming to do a full dual-boot installation on his laptop with Windows 10 UEFI. For a mixed variety of issues, he was unable to get Fedora working properly on his system. With the help of Corey, he was able to install and use Fedora on his laptop. He was very excited to finally get it working and was hoping to use it for development work in both classwork and personal projects. He was also a repeat visitor from BrickHack and remembered some of the booth members from the last hackathon.</p>
<p>Chaoyi traveled around the hacker space and worked with students looking to get help on web development projects. Chaoyi was able to give advice and help for students working with HTML, JavaScript / NodeJS, and Python. He traveled around the room for most of both nights teaching and showing students how to work on their projects and promoting the benefits of doing their work open source.</p>
<p>
<figure>
  <img src="/blog/2016/04/table-closeup.png" alt="Bitcamp 2016: whatcanidoforfedora.org was a popular tool" loading="lazy">
  <figcaption>The whatcanidoforfedora.org (<a href="http://whatcanidoforfedora.org" class="bare">http://whatcanidoforfedora.org</a>) site proved a useful tool for students looking to contribute to open source.</figcaption>
</figure>
</p>
<p>Mike also helped several students at Bitcamp, and like at BrickHack, his triple-booted MacBook with OS X, Windows, and Fedora was a popular item. Students with Macs often came and asked him about his setup and how he got it working. Mike was also able to help answer questions about developing in Fedora and share his experience working with tools available in Fedora for working on his projects for work and for fun.</p>
<p>Many students were looking for help with how to better get experience working on software for their future careers. As a student familiar with open source, I enjoyed talking to these students about how open source was a great resource for them. I explained how open source is a great way to get real world experience without working an &ldquo;official&rdquo; job, showed how they could make an impact on the world and start doing things, and why we do open source. It was gratifying the see these students get something out of our discussions and build something awesome in the open by the end of hackathon.</p>
<p>
<figure>
  <img src="/blog/2016/04/badges.png" alt="Bitcamp 2016: 3D printed Fedora Badges" loading="lazy">
  <figcaption>We 3-D printed a few Fedora Badges (<a href="https://badges.fedoraproject.org/about" class="bare">https://badges.fedoraproject.org/about</a>) using STL files at another vendor’s table.</figcaption>
</figure>
</p>
<p>Overall, I feel like the Fedora Project&rsquo;s impact was notable and concentrated at the event. I am extremely thankful and fortunate to have been sponsored to attend Bitcamp as an Ambassador for the Fedora Project.</p>]]></description></item><item><title>The night I became a hacker</title><link>https://jwheel.org/blog/2016/04/night-i-became-hacker/</link><pubDate>Mon, 18 Apr 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/04/night-i-became-hacker/</guid><description><![CDATA[<p>On the night of April 15th, 2016, I officially became a hacker.</p>
<p>
<figure>
  <img src="http://i.giphy.com/bW3QwqNXw07RK.gif" alt="Ever wonder what being a hacker is all about? Wonder no more." loading="lazy">
  <figcaption>Ever wonder what being a hacker is all about? Wonder no more.</figcaption>
</figure>
</p>

<h2 id="how-to-be-hacker">How to be hacker&nbsp;<a class="hanchor" href="#how-to-be-hacker" aria-label="Anchor link for: How to be hacker">🔗</a></h2>
<p>You may ask yourself, how does one become a hacker? How do you become 1337? The answer might be simpler than you think. Old traditions, cheesy &rsquo;90s movies, and the information era.</p>
<p>On April 17th, I joined up with hacker <a href="http://brendan-w.com/">Brendan Whitfield</a> (beWhitty) and wannabe hacker <a href="http://nolski.rocks/">Mike Nolan</a> (nolski) to enjoy in a traditional viewing of 1995&rsquo;s <em><a href="http://www.imdb.com/title/tt0113243/">Hackers</a></em>. The movie is described as the following.</p>
<blockquote>
<p>A young boy is arrested by the U.S. Secret Service for writing a computer virus and is banned from using a computer until his 18th birthday. Years later, he and his new-found friends discover a plot to unleash a dangerous computer virus, but they must use their computer skills to find the evidence while being pursued by the Secret Service and the evil computer genius behind the virus.</p>
</blockquote>
<p>Among the students of the <a href="http://foss.rit.edu/">FOSS@MAGIC</a> program, the movie is like a cult classic. Within my first semester with the group, I became familiar with many notorious quotes and lines from the movie. Other students, now alumni, also encouraged a viewing.</p>
<p>There was no better time than the present.</p>

<h2 id="why-be-hacker">Why be hacker&nbsp;<a class="hanchor" href="#why-be-hacker" aria-label="Anchor link for: Why be hacker">🔗</a></h2>
<p>
<figure>
  <img src="http://i.giphy.com/k8j9FutKtJeRa.gif" alt="We only dreamed of having hacker skills like Crash Override and Acid Burn." loading="lazy">
  <figcaption>We only dreamed of having hacker skills like Crash Override and Acid Burn.</figcaption>
</figure>
</p>
<p>The cultural influence of the &rsquo;90s is clearly present in the movie. When we were viewing it, the movie was clearly written by a <a href="http://www.imdb.com/name/nm0604360/">writer</a> with as much experience with computers as the actors playing the parts. The stereotypes were laid thicker than molasses with the crossing of the &ldquo;high school troublemaker&rdquo; and the &ldquo;tough punk&rdquo; to define the hacker &ldquo;mentality&rdquo; of the characters. The <a href="http://www.imdb.com/name/nm0812200/">director</a> probably used a nephew, niece, or other cousin who &ldquo;sat in front of a computer all day&rdquo; as the inspiration for driving the characters and plot forward. It would be surprising if anyone who had ever used a computer or knew anything more than just using them for text documents and spreadsheets was involved in the creative process.</p>
<p>So, why bother seeing the movie at all? For all of the reasons mentioned above. Anyone in the technology or a digitally-oriented field would cringe at how the movie portrays the hacker mentality. And that&rsquo;s why it&rsquo;s so great. It is hard to imagine a viewing of the movie taken seriously. For our viewing, there were severe outbreaks of laughter and countless moments of cringe-worthy comedic relief, all wrapped up in a good time for a Friday night.</p>

<h2 id="now-we-are-hackers">Now we are hackers&nbsp;<a class="hanchor" href="#now-we-are-hackers" aria-label="Anchor link for: Now we are hackers">🔗</a></h2>
<p>After listening to many references of this movie during the past year and wondering what it meant exactly when &ldquo;the pool is on the roof&rdquo;, I have graduated to the status of full hacker along with fellow FOSSboxer nolski.</p>
<p>To demonstrate our understanding of the movie, we had a brief showing of our own in the <a href="https://webchat.freenode.net/?channels=rit-foss"><code>#rit-foss</code></a> channel on the freenode IRC network.</p>
<pre tabindex="0"><code>[23:00:52] &lt;nolski&gt; jflory7: beWhitty and I have decided that we are dropping out of college and starting a bar themed after the movie hackers
[23:45:26] &lt;nolski&gt; jflory7 and I are now official hackers.
[23:45:39] &lt;nolski&gt; We have experienced the movie Hackers
[23:46:17] &lt;CrashOverride&gt; nolski, beWhitty: Mess with the best
[23:46:20] &lt;CrashOverride&gt; Die like the rest
[23:47:28] &lt;Guest81889&gt; u on my turf CrashOverride?
[23:47:47] &lt;CrashOverride&gt; Guest81889: you are not 1337 enuf
[23:49:56] &lt;Nikon&gt; You&#39;re in the butter zone now, baby.
[23:50:11] &lt;ThePlague&gt; Never fear
[23:50:15] &lt;ThePlague&gt; I is here
[23:51:21] &lt;Acid-Burn&gt; Never send a boy to do a woman&#39;s job.
[23:51:25] &lt;CrashOverride&gt; I don&#39;t play well with others.
[23:52:12] &lt;CrashOverride&gt; Hack the planet! Hack the planet, nolski!
[23:52:23] &lt;nolski&gt; Hack the planet CrashOverride!
[23:52:46] * nolski is finally 1337 enuf
[23:54:50] &lt;nolski&gt; scp god@gibson:/.workspace/.garbage. ~/1337h4x0rsfilez/
[23:54:53] &lt;ThePlague&gt; THEY GOT THE GARBAGE FILE!
[23:55:50] &lt;nolski&gt; beWhitty++
[23:55:56] &lt;nolski&gt; jflory7++
[23:56:02] &lt;nolski&gt; hackers++
[23:56:09] &lt;ThePlague&gt; nolski: Type &#34;cookie&#34;, you idiot.
[23:56:17] &lt;nolski&gt; cookie
[23:57:14] &lt;CrashOverride&gt; HACK THE GIBSON
[23:57:16] &lt;CrashOverride&gt; ThePlague--
[00:02:41] &lt;CrashOverride&gt; My crime is that of curiosity. I am a hacker, and this is my manifesto.
</code></pre><p>I am submitting this blog post as my Meetup #3 for the <a href="https://hfoss-ritjoe.rhcloud.com/">Humanitarian Free and Open Source Software Development</a> course at the <a href="https://www.rit.edu/">Rochester Institute of Technology</a>. I hope to help spread the hacker culture perpetuated by this film by possibly planning a late night screening of <em>Hackers</em> at the <a href="https://2016.spaceappschallenge.org/locations/rochester-ny-usa">NASA Space Apps Challenge 2016</a> at RIT, if possible.</p>
<p>
<figure>
  <img src="http://i.giphy.com/Q2W4hziDOyzu0.gif" alt="&ldquo;Hack the planet! Hack the planet!&rdquo;" loading="lazy">
  <figcaption>\&#34;Hack the planet! Hack the planet!\&#34;</figcaption>
</figure>
</p>]]></description></item><item><title>BrickHack 2016</title><link>https://jwheel.org/blog/2016/04/brickhack-2016/</link><pubDate>Fri, 15 Apr 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/04/brickhack-2016/</guid><description><![CDATA[<p>Last month at the <a href="https://www.rit.edu/">Rochester Institute of Technology</a>, <a href="https://brickhack.io/">BrickHack 2016</a> came to a close. BrickHack is an annual hackathon organized by students at RIT. Close to 300 people attend every year. This year was BrickHack&rsquo;s second event.</p>

<h2 id="brickhack-2016-and-fedora">BrickHack 2016 and Fedora&nbsp;<a class="hanchor" href="#brickhack-2016-and-fedora" aria-label="Anchor link for: BrickHack 2016 and Fedora">🔗</a></h2>
<p>This year, I attended with the Fedora Project team, which included people like <a href="http://decausemaker.org/">Remy DeCausemaker</a>, <a href="https://fedoraproject.org/wiki/User:Mikedep333">Mike DePaulo</a>, <a href="https://fedoraproject.org/wiki/User:Cprofitt">Charles Profitt</a>, <a href="http://threebean.org/">Ralph Bean</a>, and <a href="http://rsb.io/">Ryan Scott Brown</a>. In addition to the Fedora crew, many of my friends and fellow students were there, like <a href="http://nolski.rocks/">Mike Nolan</a> and <a href="http://brendan-w.com/">Brendan Whitfield</a>. There were countless others that made the weekend awesome and incredible.</p>
<p>For pictures and more details, read my full report on the Fedora Community Blog.</p>
<p><a href="https://communityblog.fedoraproject.org/brickhack-2016-event-report/">https://communityblog.fedoraproject.org/brickhack-2016-event-report/</a></p>
]]></description></item><item><title>HFOSS: Quiz #2</title><link>https://jwheel.org/blog/2016/04/hfoss-quiz-2/</link><pubDate>Wed, 06 Apr 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/04/hfoss-quiz-2/</guid><description><![CDATA[<p>In the <a href="https://hfoss-ritjoe.rhcloud.com/">Humanitarian Free and Open Source Software Development (HFOSS)</a> course at the <a href="https://www.rit.edu/">Rochester Institute of Technology</a>, quizzes are in the form of blog posts submitted during the class period. The room stays quiet, but it is an open IRC quiz, so many of the students collaborated with each other in <a href="https://webchat.freenode.net/?channels=rit-foss">#rit-foss</a> on freenode for the quiz.</p>
<p>This post is my quiz submission for the Spring 2016 semester <a href="https://hfoss-ritjoe.rhcloud.com/quiz/quiz2">Quiz #2</a>.</p>

<h2 id="hfoss-spring-2016-quiz-2">HFOSS Spring 2016, Quiz #2&nbsp;<a class="hanchor" href="#hfoss-spring-2016-quiz-2" aria-label="Anchor link for: HFOSS Spring 2016, Quiz #2">🔗</a></h2>

<h4 id="expand-each-of-the-following-acronyms">Expand each of the following acronyms.&nbsp;<a class="hanchor" href="#expand-each-of-the-following-acronyms" aria-label="Anchor link for: Expand each of the following acronyms.">🔗</a></h4>
<ol>
<li>IRC: <strong><a href="https://en.wikipedia.org/wiki/Internet_Relay_Chat">Internet Relay Chat</a></strong></li>
<li>FOSS: <strong><a href="https://en.wikipedia.org/wiki/Free_and_open-source_software">Free and Open Source Software</a></strong></li>
<li>OLPC: <strong><a href="https://en.wikipedia.org/wiki/One_Laptop_per_Child">One Laptop per Child</a></strong></li>
<li>DVCS: <strong><a href="https://en.wikipedia.org/wiki/Distributed_version_control">Distributed version control system</a></strong></li>
<li>FSF: <strong><a href="https://en.wikipedia.org/wiki/Free_Software_Foundation">Free Software Foundation</a></strong></li>
<li>PR: <strong><a href="https://en.wikipedia.org/wiki/Distributed_version_control#Pull_requests">Pull Request</a></strong></li>
</ol>

<h4 id="what-is-the-short-two-letter-name-for-the-olpc-computers-used-in-the-final-project-for-this-class">What is the short, two-letter name for the OLPC computers used in the final project for this class?&nbsp;<a class="hanchor" href="#what-is-the-short-two-letter-name-for-the-olpc-computers-used-in-the-final-project-for-this-class" aria-label="Anchor link for: What is the short, two-letter name for the OLPC computers used in the final project for this class?">🔗</a></h4>
<ul>
<li><a href="https://en.wikipedia.org/wiki/OLPC_XO">XO laptops</a></li>
</ul>

<h4 id="what-is-the-one-word-name-for-the-interface-used-in-the-olpc-computers">What is the one-word name for the interface used in the OLPC computers?&nbsp;<a class="hanchor" href="#what-is-the-one-word-name-for-the-interface-used-in-the-olpc-computers" aria-label="Anchor link for: What is the one-word name for the interface used in the OLPC computers?">🔗</a></h4>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Sugar_%28software%29">Sugar</a> (SoaS)</li>
</ul>

<h4 id="what-is-the-grade-level-we-are-targeting-our-olpc-applications-for">What is the grade level we are targeting our OLPC applications for?&nbsp;<a class="hanchor" href="#what-is-the-grade-level-we-are-targeting-our-olpc-applications-for" aria-label="Anchor link for: What is the grade level we are targeting our OLPC applications for?">🔗</a></h4>
<ul>
<li><a href="https://hfoss-ritjoe.rhcloud.com/static/decks/nysp12cclsmath-grade4only.pdf">4th grade students</a></li>
</ul>

<h4 id="briefly-define-the-following-instructional-theories-giving-the-role-of-the-instructor-in-each">Briefly define the following instructional theories, giving the role of the instructor in each.&nbsp;<a class="hanchor" href="#briefly-define-the-following-instructional-theories-giving-the-role-of-the-instructor-in-each" aria-label="Anchor link for: Briefly define the following instructional theories, giving the role of the instructor in each.">🔗</a></h4>
<ul>
<li>Didactic: <strong>Lecturing; instructor speaks to class about topic</strong></li>
<li>Dialectic: <strong>Similar to the Socratic seminar; discussion-based instructional teaching with interactions between the instructor and the class</strong></li>
<li>Constructivist: <strong>Teaching style that combines experiences with teaching to create a learning experience that lends power to the learner; the instructor acts as a facilitator rather than a traditional lecturer</strong></li>
</ul>

<h4 id="several-elements-are-combined-in-different-ways-to-form-the-creative-commons-licenses-match-each-shorthand-given-in-the-list-with-the-description-of-that-license-element-below">Several elements are combined in different ways to form the Creative Commons licenses. Match each shorthand given in the list with the description of that license element below.&nbsp;<a class="hanchor" href="#several-elements-are-combined-in-different-ways-to-form-the-creative-commons-licenses-match-each-shorthand-given-in-the-list-with-the-description-of-that-license-element-below" aria-label="Anchor link for: Several elements are combined in different ways to form the Creative Commons licenses. Match each shorthand given in the list with the description of that license element below.">🔗</a></h4>
<ol>
<li><strong>NC</strong>: <a href="https://creativecommons.org/licenses/by-nc/4.0">Non-Commercial</a>; You may not use the work for commercial purposes.</li>
<li><strong>SA</strong>: <a href="https://creativecommons.org/licenses/by-sa/4.0">Share-alike</a>; You must convey the same rights &ldquo;downstream&rdquo; that were conveyed to you by &ldquo;upstream&rdquo;.</li>
<li><strong>ND</strong>: <a href="https://creativecommons.org/licenses/by-nd/4.0">No Derivatives</a>; You may not make changes to the work.</li>
<li><strong>BY</strong>: <a href="https://creativecommons.org/licenses/by/4.0">Attribution</a>; You must attribute the contributions of the original or upstream creators of the work.</li>
</ol>

<h4 id="the-presence-of-which-license-elements-make-a-license-non-free-according-to-the-fsf">The presence of which license elements make a license &ldquo;non-free&rdquo; according to the FSF?&nbsp;<a class="hanchor" href="#the-presence-of-which-license-elements-make-a-license-non-free-according-to-the-fsf" aria-label="Anchor link for: The presence of which license elements make a license &ldquo;non-free&rdquo; according to the FSF?">🔗</a></h4>
<ul>
<li>(1) <a href="https://creativecommons.org/licenses/by-nc/4.0">Non-Commercial</a>; You may not use the work for commercial purposes.</li>
<li>(3) <a href="https://creativecommons.org/licenses/by-nd/4.0">No Derivatives</a>; You may not make changes to the work.</li>
</ul>

<h4 id="which-license-element-is-a-copyleft-give-the-letter-1-pt">Which license element is a copyleft? (give the letter, 1 pt)&nbsp;<a class="hanchor" href="#which-license-element-is-a-copyleft-give-the-letter-1-pt" aria-label="Anchor link for: Which license element is a copyleft? (give the letter, 1 pt)">🔗</a></h4>
<ul>
<li>(2) <a href="https://creativecommons.org/licenses/by-sa/4.0">Share-alike</a>; You must convey the same rights &ldquo;downstream&rdquo; that were conveyed to you by &ldquo;upstream&rdquo;.</li>
</ul>

<h4 id="name-two-projects-that-distribute-a-body-of-non-software-free-culture-data-and-briefly-name-or-describe-the-kind-of-data">Name two projects that distribute a body of non-software, free culture data, and briefly name or describe the kind of data.&nbsp;<a class="hanchor" href="#name-two-projects-that-distribute-a-body-of-non-software-free-culture-data-and-briefly-name-or-describe-the-kind-of-data" aria-label="Anchor link for: Name two projects that distribute a body of non-software, free culture data, and briefly name or describe the kind of data.">🔗</a></h4>
<ol>
<li><a href="https://docs.fedoraproject.org/en-US/index.html">Fedora Project Documentation</a> (CC-BY-SA 3.0): Provides documentation and instructions on using the Fedora operating system and how to achieve certain tasks using it</li>
<li><a href="http://manybooks.net/categories/CCL">ManyBooks</a> (mixed variety of CC licensed works): Provides downloads of freely licensed literature, novels, and books</li>
</ol>

<h4 id="list-or-describe-the-four-rs-as-a-shorthand-for-the-freedoms-attached-to-software-for-it-to-be-considered-free-and-open-source">List or describe “<a href="http://opencontent.org/blog/archives/1123">the four R’s</a>” as a shorthand for the freedoms attached to software for it to be considered “free and open source”.&nbsp;<a class="hanchor" href="#list-or-describe-the-four-rs-as-a-shorthand-for-the-freedoms-attached-to-software-for-it-to-be-considered-free-and-open-source" aria-label="Anchor link for: List or describe “the four R’s” as a shorthand for the freedoms attached to software for it to be considered “free and open source”.">🔗</a></h4>
<ol>
<li>Read</li>
<li>Run</li>
<li>Revise</li>
<li>Redistribute</li>
</ol>

<h2 id="bonus-questions">Bonus Questions&nbsp;<a class="hanchor" href="#bonus-questions" aria-label="Anchor link for: Bonus Questions">🔗</a></h2>

<h4 id="true-or-false-you-cannot-sell-gpld-software">True or False: You cannot sell GPL&rsquo;d software.&nbsp;<a class="hanchor" href="#true-or-false-you-cannot-sell-gpld-software" aria-label="Anchor link for: True or False: You cannot sell GPL&rsquo;d software.">🔗</a></h4>
<ul>
<li>False</li>
</ul>

<h4 id="true-or-false-you-can-fork-a-gpl-licensed-project-and-release-it-under-an-mit-license">True or False: You can fork a GPL licensed Project and release it under an MIT license?&nbsp;<a class="hanchor" href="#true-or-false-you-can-fork-a-gpl-licensed-project-and-release-it-under-an-mit-license" aria-label="Anchor link for: True or False: You can fork a GPL licensed Project and release it under an MIT license?">🔗</a></h4>
<ul>
<li>False</li>
</ul>

<h4 id="true-or-false-you-can-fork-a-mit-licensed-project-and-release-it-under-an-gpl-license">True or False: You can fork a MIT licensed Project and release it under an GPL license?&nbsp;<a class="hanchor" href="#true-or-false-you-can-fork-a-mit-licensed-project-and-release-it-under-an-gpl-license" aria-label="Anchor link for: True or False: You can fork a MIT licensed Project and release it under an GPL license?">🔗</a></h4>
<ul>
<li>True</li>
</ul>

<h4 id="when-does-a-work-become-copyrighted-by-an-author">When does a work become &ldquo;copyrighted&rdquo; by an author?&nbsp;<a class="hanchor" href="#when-does-a-work-become-copyrighted-by-an-author" aria-label="Anchor link for: When does a work become &ldquo;copyrighted&rdquo; by an author?">🔗</a></h4>
<ul>
<li>When it is created</li>
</ul>]]></description></item><item><title>HFOSS: Final Project Proposal</title><link>https://jwheel.org/blog/2016/04/hfoss-final-project-proposal/</link><pubDate>Mon, 04 Apr 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/04/hfoss-final-project-proposal/</guid><description><![CDATA[<h2 id="what-is-this">What is this?&nbsp;<a class="hanchor" href="#what-is-this" aria-label="Anchor link for: What is this?">🔗</a></h2>
<p>This post serves as the project proposal for me and my team&rsquo;s <a href="https://hfoss-ritjoe.rhcloud.com/">Humanitarian Free and Open Source Software Development</a> &ldquo;<a href="https://hfoss-ritjoe.rhcloud.com/static/hw/final">Final Project</a>&rdquo;.</p>
<p>In this project proposal, we take a look at the game idea we are looking at completing for this project, based on the New York <a href="https://hfoss-ritjoe.rhcloud.com/static/decks/nysp12cclsmath-grade4only.pdf">4th grade math curriculum</a>. Our game idea is based off of a minigame from <a href="https://en.wikipedia.org/wiki/Zoombinis"><em>Logical Journey of the Zoombinis</em></a>, a puzzle-solving educational game.</p>
<p>
<figure>
  <img src="/blog/2016/04/Zoombinis-Pizza-Maker.jpg" alt="HFOSS Final Project: Zoombinis Pizza Pass minigame" loading="lazy">
  <figcaption>Screenshot from 1996’s \&#34;Logical Journey of the Zoombinis\&#34; Pizza Pass level.</figcaption>
</figure>
</p>

<h2 id="team-members">Team Members&nbsp;<a class="hanchor" href="#team-members" aria-label="Anchor link for: Team Members">🔗</a></h2>
<table>
  <thead>
      <tr>
          <th><strong>Name</strong></th>
          <th><strong>Email</strong></th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="http://blog.wilfriede.me/">Wilfried Hounyo</a></td>
          <td>*******.******@gmail.com</td>
      </tr>
      <tr>
          <td><a href="https://spg1502igme582.wordpress.com/">Stephen Garabedian</a></td>
          <td>*******@rit.edu</td>
      </tr>
      <tr>
          <td>Justin Wheeler</td>
          <td>*******@gmail.com</td>
      </tr>
  </tbody>
</table>

<h2 id="project">Project&nbsp;<a class="hanchor" href="#project" aria-label="Anchor link for: Project">🔗</a></h2>
<p><a href="https://github.com/jflory7/PyCut"><em>PyCut</em></a>, a pizza-making puzzle game</p>

<h2 id="description">Description&nbsp;<a class="hanchor" href="#description" aria-label="Anchor link for: Description">🔗</a></h2>
<p><em>PyCut</em> will be a simple puzzle game to teach children basic units of measurement and guiding them to think creatively to solve a problem. Our game is inspired by the Pizza Pass level of <em><a href="https://en.wikipedia.org/wiki/Zoombinis#Logical_Journey_of_the_Zoombinis_.281996.29">Logical Journey of the Zoombinis</a></em> (1996). The purpose of the game is to use pizza creation as the activity to teach these skills.</p>

<h2 id="team-member-roles">Team Member Roles&nbsp;<a class="hanchor" href="#team-member-roles" aria-label="Anchor link for: Team Member Roles">🔗</a></h2>

<h4 id="stephen-justin-and-wilfried">Stephen, Justin, and Wilfried&nbsp;<a class="hanchor" href="#stephen-justin-and-wilfried" aria-label="Anchor link for: Stephen, Justin, and Wilfried">🔗</a></h4>
<p>All team members will be responsible for contributing to the code via pull requests on GitHub. Testing, refactoring, and refining the code is also everyone&rsquo;s responsibility.</p>
<p>We are currently working on the details of which team members are responsible for the specific aspects of our project. We will have a better idea of this after completing the development plan later this week.</p>

<h2 id="source-code-repository-url">Source Code Repository URL&nbsp;<a class="hanchor" href="#source-code-repository-url" aria-label="Anchor link for: Source Code Repository URL">🔗</a></h2>
<p><a href="https://github.com/jflory7/PyCut">jflory7/PyCut</a></p>

<h2 id="communication-methods">Communication Methods&nbsp;<a class="hanchor" href="#communication-methods" aria-label="Anchor link for: Communication Methods">🔗</a></h2>
<p>The following methods of communication are ordered in the most preferred way to the least. These are the tools we will use internally while working on the project.</p>
<ol>
<li><strong>Our Slack team</strong> (IGME582)</li>
<li><strong>Issue tracker</strong> on <a href="https://github.com/jflory7/PyCut/issues">GitHub</a></li>
<li><strong>In-person communication</strong> for when we meet up as a team (FOSShours have been designated for in-person collaboration)</li>
</ol>

<h2 id="what-are-the-easy-parts">What are the easy parts?&nbsp;<a class="hanchor" href="#what-are-the-easy-parts" aria-label="Anchor link for: What are the easy parts?">🔗</a></h2>
<ul>
<li>Project seems pretty easily scoped. We have a curriculum to work with and we have inspiration from the original Zoombinis minigame.</li>
<li>We have a lot of resources to reach out to for help when needed. <a href="https://webchat.freenode.net/?channels=rit-foss">#rit-foss</a> on freenode, past developers for the HFOSS project, and more.</li>
<li>Two experienced Python developers (Wilfried, Stephen), two members familiar with open source project collaboration (Justin, Wilfried) on the team.</li>
<li>We have multiple previous projects to use as examples (see: <a href="https://github.com/FOSSRIT/">FOSSRIT</a>).</li>
</ul>

<h2 id="what-are-the-hard-parts">What are the hard parts?&nbsp;<a class="hanchor" href="#what-are-the-hard-parts" aria-label="Anchor link for: What are the hard parts?">🔗</a></h2>
<ul>
<li>None of us ever created a game for Sugar on a Stick before. We aren&rsquo;t sure of the scope of this task, so it will be difficult to estimate a time frame for completion.</li>
<li>Ensuring that our activity meets the learning objectives of 4th graders. As college students, it may be very easy for us to assume that some elements of the game are easy, but may actually be difficult for 4th grade students. Keeping it within that scope will be a challenge.</li>
</ul>

<h2 id="how-will-you-overcome-both">How will you overcome both?&nbsp;<a class="hanchor" href="#how-will-you-overcome-both" aria-label="Anchor link for: How will you overcome both?">🔗</a></h2>
<ul>
<li><strong>Communication and setting milestones</strong>
<ul>
<li>We are confident that we can pace out our project effectively and get it done on time.</li>
</ul>
</li>
<li><strong>Past resources and inspiration</strong>
<ul>
<li>Again, we have countless resources to refer to and get help from. As we run into problems, we have plenty of options for resolving them.</li>
</ul>
</li>
</ul>]]></description></item><item><title>HFOSS: Community Architecture Team Project Report</title><link>https://jwheel.org/blog/2016/03/community-architecture-project-report/</link><pubDate>Mon, 14 Mar 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/03/community-architecture-project-report/</guid><description><![CDATA[<p>For the <a href="https://hfoss-ritjoe.rhcloud.com/">Humanitarian Free and Open Source Software Development</a> (HFOSS) course at the <a href="https://www.rit.edu/">Rochester Institute of Technology</a>, we were tasked with the <a href="https://hfoss-ritjoe.rhcloud.com/static/hw/commarch.txt">Community Architecture (CommArch) project</a>. For this project, we were tasked with analyzing an open source project&rsquo;s community and the general details surrounding the project. This blog post serves as the analysis our team prepared for the project.</p>

<h2 id="a-describe-software-project-its-purpose-and-goals">A. Describe software project, its purpose and goals.&nbsp;<a class="hanchor" href="#a-describe-software-project-its-purpose-and-goals" aria-label="Anchor link for: A. Describe software project, its purpose and goals.">🔗</a></h2>
<p><a href="https://github.com/fedora-infra/tahrir">Tahrir</a> is a project that allows its users to create their own <a href="http://openbadges.org/">Open Badges</a> – graphical icons that show that a user has attended a particular event, completed a specific challenge, or any number of other accomplishments.</p>

<h2 id="b-give-brief-history-of-the-project-when-was-the-initial-commit-the-latest-commit">B. Give brief history of the project. When was the Initial Commit? The latest commit?&nbsp;<a class="hanchor" href="#b-give-brief-history-of-the-project-when-was-the-initial-commit-the-latest-commit" aria-label="Anchor link for: B. Give brief history of the project. When was the Initial Commit? The latest commit?">🔗</a></h2>
<p>The <a href="http://openbadges.org/">Mozilla OpenBadges</a> project’s wiki page was created in November of 2010, mentioning a few other projects that used a <a href="https://marksurman.commons.ca/2010/08/12/badges-identity-and-you/">badge system</a> and encouraging people to contribute to that project. Once Mozilla’s OpenBadges project was established, Fedora Infrastructure team member and Red Hat employee <a href="https://github.com/ralphbean">Ralph Bean</a> created the first commit for the Tahrir project in April of 2012. Since then, twenty-two contributors have worked on the project, with commits as recently as March 2nd, 2016.</p>

<h2 id="c-who-approves-patches-how-many-people">C. Who approves patches? How many people?&nbsp;<a class="hanchor" href="#c-who-approves-patches-how-many-people" aria-label="Anchor link for: C. Who approves patches? How many people?">🔗</a></h2>
<p>There did not seem to be an established, formal process for who has the privileges or authority to approve patches, but based on the most recent pull requests, the following users have been actively responsible in the past year for approving patches.</p>
<ul>
<li>Chaoyi Zha (<a href="https://github.com/cydrobolt">cydrobolt</a>)</li>
<li>Ralph Bean (<a href="https://github.com/ralphbean">ralphbean</a>)</li>
<li>Patrick Uiterwijk (<a href="https://github.com/puiterwijk">puiterwijk</a>)</li>
<li>Trishna Guha (<a href="https://github.com/trishnaguha">trishnaguha</a>)</li>
<li>Remy DeCausemaker (<a href="https://github.com/decause/">decause</a>)</li>
<li>Pierre-Yves Chibon (<a href="https://github.com/pypingou/">pypingou</a>)</li>
</ul>

<h2 id="d-who-has-commit-access-or-has-had-patches-accepted-how-many-total">D. Who has commit access, or has had patches accepted? How many total?&nbsp;<a class="hanchor" href="#d-who-has-commit-access-or-has-had-patches-accepted-how-many-total" aria-label="Anchor link for: D. Who has commit access, or has had patches accepted? How many total?">🔗</a></h2>
<p>Based on total contributions, Ralph Bean and former contributor David Gay (<a href="https://github.com/oddshocks">oddshocks</a>) made more contributions to the project than any other users. However, the list of users listed above (being able to approve patches) also seem to have commit access as well. From the outside, it is difficult to determine user permissions, but the contextual evidence provided from issues and pull requests seems to support this conclusion.</p>
<p>In total, the project has had twenty-two contributors.</p>

<h2 id="e-who-has-the-highest-amounts-of-unique-knowledge">E. Who has the highest amounts of &ldquo;Unique Knowledge?&rdquo;&nbsp;<a class="hanchor" href="#e-who-has-the-highest-amounts-of-unique-knowledge" aria-label="Anchor link for: E. Who has the highest amounts of &ldquo;Unique Knowledge?&rdquo;">🔗</a></h2>
<p>Based on the diversity of commits and git_by_a_bus results (at the bottom of this post), <a href="https://github.com/ralphbean">Ralph Bean</a> appears to have the highest amounts of unique knowledge for Tahrir.</p>

<h2 id="f-what-is-your-projects-calloway-coefficient-of-fail">F. What is your project&rsquo;s &ldquo;Calloway Coefficient of Fail?&rdquo;&nbsp;<a class="hanchor" href="#f-what-is-your-projects-calloway-coefficient-of-fail" aria-label="Anchor link for: F. What is your project&rsquo;s &ldquo;Calloway Coefficient of Fail?&rdquo;">🔗</a></h2>
<p><em>Your source is configured by editing flat text config files.</em> +20</p>
<p><strong>Score</strong>: 20 points of fail</p>

<h2 id="g-has-there-been-any-turnover-in-the-core-team">G. Has there been any turnover in the Core Team?&nbsp;<a class="hanchor" href="#g-has-there-been-any-turnover-in-the-core-team" aria-label="Anchor link for: G. Has there been any turnover in the Core Team?">🔗</a></h2>

<h5 id="has-the-same-top-20-of-contributors-stayed-the-same-over-time-if-not-how-has-it-changed">Has the same top 20% of contributors stayed the same over time? If not, how has it changed?&nbsp;<a class="hanchor" href="#has-the-same-top-20-of-contributors-stayed-the-same-over-time-if-not-how-has-it-changed" aria-label="Anchor link for: Has the same top 20% of contributors stayed the same over time? If not, how has it changed?">🔗</a></h5>
<p>In the first two years of the project, David Gay (<a href="https://github.com/oddshocks">oddshocks</a>) had a greater number of lines of code contributed to the project, and had some huge activity spikes in July of 2013. Since then, Bean and Uiterwijk have taken up a lot more of the work, and Gay hasn’t contributed since October of 2014.</p>
<p>Overall, Bean has been the greatest (and most consistent) contributor to the project.</p>

<h2 id="h-does-the-project-have-a-bdfl-or-lead-developer">H. Does the project have a <a href="https://en.wikipedia.org/wiki/Benevolent_dictator_for_life">BDFL</a>, or Lead Developer?&nbsp;<a class="hanchor" href="#h-does-the-project-have-a-bdfl-or-lead-developer" aria-label="Anchor link for: H. Does the project have a BDFL, or Lead Developer?">🔗</a></h2>
<p>Bean would be the closest thing to that. He guides the development of the project. After the project stabilized and all the core functionality was implemented, any further contributions seem to be minor bug fixes for the overall QOL of the project.</p>
<p>As a team, we could not necessarily speak to Bean’s role as a BDFL during the development process, especially without any chat logs from relevant IRC channels or email lists.</p>
<p>At the project’s current state, he seems to be keeping the project going along in a healthy direction and fixing the minor bugs that come up as they’re reported or patched.</p>

<h2 id="i-are-the-front--and-back-end-developers-the-same-people-what-is-the-proportion-of-each">I. Are the front- and back-end developers the same people? What is the proportion of each?&nbsp;<a class="hanchor" href="#i-are-the-front--and-back-end-developers-the-same-people-what-is-the-proportion-of-each" aria-label="Anchor link for: I. Are the front- and back-end developers the same people? What is the proportion of each?">🔗</a></h2>
<p>Tahrir is created under the GitHub organization of the <a href="https://github.com/fedora-infra/">Fedora Infrastructure</a> team. As a result, even though there is a core group of developers working on Tahrir, it wouldn&rsquo;t be an invalid assumption to say someone else in Fedora Infrastructure could take the code, change it for something that arose in production, and deploy it back into production.</p>
<p>As a result of the &ldquo;DevOps&rdquo; sort of relationship between the Fedora Infrastructure team and most of the projects on their GitHub, it is difficult to draw a firm conclusion about which developers work on the front end and which developers work on the back end. The unique circumstances of being an &ldquo;open source project inside of an open source project&rdquo; skews the answer to this question.</p>

<h2 id="j-what-have-been-some-of-the-major-bugs-problems-andor-issues-that-have-arisen-during-development-who-is-responsible-for-quality-control-and-bug-repair">J. What have been some of the major bugs, problems, and/or issues that have arisen during development? Who is responsible for quality control and bug repair?&nbsp;<a class="hanchor" href="#j-what-have-been-some-of-the-major-bugs-problems-andor-issues-that-have-arisen-during-development-who-is-responsible-for-quality-control-and-bug-repair" aria-label="Anchor link for: J. What have been some of the major bugs, problems, and/or issues that have arisen during development? Who is responsible for quality control and bug repair?">🔗</a></h2>
<p>To categorize the issues reported against during Tahrir&rsquo;s lifetime, we categorized the issues into three categories: <em>Concerning</em> (15 or more comments on issues), <em>Eyebrow raising</em> (10 - 14 comments on issues), and <em>Intriguing</em> (5- 9 comments on issues). These three categories are intended to be representative of the issues that caused the most conversation and interest by many developers or other members of the community.</p>

<h4 id="concerning">Concerning&nbsp;<a class="hanchor" href="#concerning" aria-label="Anchor link for: Concerning">🔗</a></h4>
<ul>
<li><a href="https://github.com/fedora-infra/tahrir/issues/152">#152: Tried to get undefined file at undefined and got an HTTP undefined</a> (18 comments)</li>
<li><a href="https://github.com/fedora-infra/tahrir/issues/168">#168: Link to 3d-printer spec files</a> (22 comments; you can 3D print badges… whoa!)</li>
</ul>

<h4 id="eyebrow-raising">Eyebrow Raising&nbsp;<a class="hanchor" href="#eyebrow-raising" aria-label="Anchor link for: Eyebrow Raising">🔗</a></h4>
<ul>
<li><a href="https://github.com/fedora-infra/tahrir/issues/117">#117: Match_all not working on tags view just yet.</a> (12 comments)</li>
<li><a href="https://github.com/fedora-infra/tahrir/issues/141">#141: Emit a fedmsg when a new leader is crowned!</a> (11 comments)</li>
<li><a href="https://github.com/fedora-infra/tahrir/issues/244">#244 : Stuck on a white page after OpenID login</a> (11 comments)</li>
</ul>

<h4 id="intriguing">Intriguing&nbsp;<a class="hanchor" href="#intriguing" aria-label="Anchor link for: Intriguing">🔗</a></h4>
<ul>
<li><a href="https://github.com/fedora-infra/tahrir/issues/21">#21: Admin view not properly escaped</a> (8 comments)</li>
<li><a href="https://github.com/fedora-infra/tahrir/issues/69">#69: Render badge descriptions from .rst to html</a> (6 comments)</li>
<li><a href="https://github.com/fedora-infra/tahrir/issues/70">#70: Fix error code images</a> (5 comments)</li>
<li><a href="https://github.com/fedora-infra/tahrir/issues/101">#101: Fallback avatar looks bad on user view (too small).</a> (5 comments)</li>
<li><a href="https://github.com/fedora-infra/tahrir/issues/108">#108: Export badges is broken in staging</a> (9 comments)</li>
<li><a href="https://github.com/fedora-infra/tahrir/issues/112">#112: Implement opt-out mechanism</a> (7 comments)</li>
<li><a href="https://github.com/fedora-infra/tahrir/issues/176">#176: Ask badges relate to username, but that&rsquo;s not working</a> (5 comments)</li>
<li><a href="https://github.com/fedora-infra/tahrir/issues/319">#319: Libravatar badge not being awarded</a> (5 comments)</li>
<li><a href="https://github.com/fedora-infra/tahrir/issues/339">#339: Represented Fedora at event not awarded</a> (5 comments)</li>
</ul>

<h4 id="quality-control">Quality Control&nbsp;<a class="hanchor" href="#quality-control" aria-label="Anchor link for: Quality Control">🔗</a></h4>
<p>Looking through the <a href="https://github.com/fedora-infra/tahrir/pulls?q=is%3Apr&#43;is%3Aclosed">145 closed pull requests</a>, it&rsquo;s clear to see that once again, Bean is leading the quality control and testing on Tahrir pull requests. There are a <a href="https://github.com/fedora-infra/tahrir/pull/327">few pull requests</a> where Uiterwijk and <a href="https://github.com/pypingou">Chibon</a> either submit code and the other one reviews and approves it. In these edge cases, it seems to be the contributions of more experienced members of the Infrastructure submitting code and getting another experienced member to check the submitted code.</p>
<p>For new contributors or contributions from non-consistent contributors, Bean seems the be the defacto &ldquo;King of PRs&rdquo; for Tahrir.</p>

<h2 id="k-how-is-the-projects-participation-trending-and-why">K. How is the project&rsquo;s participation trending and why?&nbsp;<a class="hanchor" href="#k-how-is-the-projects-participation-trending-and-why" aria-label="Anchor link for: K. How is the project&rsquo;s participation trending and why?">🔗</a></h2>
<p>Based on <a href="https://github.com/fedora-infra/tahrir/graphs/contributors">activity graphs</a> of the lifetime of the project, the most participation and development of Tahrir occurred in the summer months of 2012 and 2013. This can likely be attributed that the heaviest development work was happening in these time periods while Tahrir was being built and shaped into what it is.</p>
<p>Once a stable point was reached and most issues were resolved, development greatly slowed, likely because the developers moved  on to new projects, while a subset of the original core developers remained active as maintainers after the stable point was reached.</p>

<h2 id="l-in-your-opinion-does-the-project-pass-the-raptor-test-why-or-why-not">L. In your opinion, does the project pass &ldquo;The Raptor Test?&rdquo; Why or why not?&nbsp;<a class="hanchor" href="#l-in-your-opinion-does-the-project-pass-the-raptor-test-why-or-why-not" aria-label="Anchor link for: L. In your opinion, does the project pass &ldquo;The Raptor Test?&rdquo; Why or why not?">🔗</a></h2>

<h5 id="would-the-project-survive-if-the-bdfl-or-most-active-contributor-were-eaten-by-a-velociraptor">Would the project survive if the BDFL, or most active contributor were eaten by a Velociraptor?&nbsp;<a class="hanchor" href="#would-the-project-survive-if-the-bdfl-or-most-active-contributor-were-eaten-by-a-velociraptor" aria-label="Anchor link for: Would the project survive if the BDFL, or most active contributor were eaten by a Velociraptor?">🔗</a></h5>
<p>For the purposes of this question, we will assume Bean is the lead contributor at the current point in the project&rsquo;s life cycle.</p>
<p>If he were eaten by a velociraptor, the project would still be able to survive even in his absence. Since the core development work has already been accomplished and the main development work now is resolving issues and maintaining the existing codebase (as compared to writing new features), it&rsquo;s safe to assume there are others in the Fedora Infrastructure team who would be able to keep up this project and make sure its longevity is guaranteed (although I am sure that the Infrastructure team would suffer a great loss without the wisdom and mad wizardry that Bean provides).</p>
<p>The fact that Tahrir is &ldquo;nested&rdquo; inside of another open source project (Fedora) likely attributes to the likelihood that Tahrir would survive the sudden absence of its most active developer.</p>

<h2 id="m-in-your-opinion-would-the-project-survive-if-the-core-team-or-most-active-20-of-contributors-were-hit-by-a-bus-why-or-why-not">M. In your opinion, would the project survive if the core team, or most active 20% of contributors, were hit by a bus? Why or why not?&nbsp;<a class="hanchor" href="#m-in-your-opinion-would-the-project-survive-if-the-core-team-or-most-active-20-of-contributors-were-hit-by-a-bus-why-or-why-not" aria-label="Anchor link for: M. In your opinion, would the project survive if the core team, or most active 20% of contributors, were hit by a bus? Why or why not?">🔗</a></h2>
<p>This question is more difficult to answer than the previous question because of the relationship the top 20% of the contributors have to Tahrir, Fedora, and other open source projects. The top 20% of contributors mostly consist of the core Fedora Infrastructure team members, who are also responsible for working on other projects within Fedora, maintaining the servers and services that power the infrastructure, and working on apps such as Tahrir.</p>
<p>In the event that the top 20% of Tahrir&rsquo;s contributors were all hit by a bus, it&rsquo;s difficult to know if Tahrir would be able to sustain. Because of the work the core developer circle does throughout the <a href="https://fedoraproject.org/wiki/Overview">Fedora Project</a>, it would be very difficult for others to pick up the cumulative amount of work that is shared among the Infrastructure team now. The documentation and stability of the code would be useful attributes for the prospect of someone new picking up maintaining the code, but in a broader view, the amount of work that would need to be picked up across the board creates new issues within itself.</p>
<p>For these reasons, if the top 20% of contributors to Tahrir were to disappear, it&rsquo;s difficult to forecast the future of Tahrir (and other projects managed by the Fedora Infrastructure team).</p>

<h2 id="n-does-the-project-have-an-official-on-boarding-process-in-place">N. Does the project have an official &ldquo;on-boarding&rdquo; process in place?&nbsp;<a class="hanchor" href="#n-does-the-project-have-an-official-on-boarding-process-in-place" aria-label="Anchor link for: N. Does the project have an official &ldquo;on-boarding&rdquo; process in place?">🔗</a></h2>

<h5 id="can-include-new-contributor-guides-quick-starts-communication-leads-who-focus-specifically-on-newbies-etc">Can include new contributor guides, quick starts, communication leads who focus specifically on newbies, etc…&nbsp;<a class="hanchor" href="#can-include-new-contributor-guides-quick-starts-communication-leads-who-focus-specifically-on-newbies-etc" aria-label="Anchor link for: Can include new contributor guides, quick starts, communication leads who focus specifically on newbies, etc…">🔗</a></h5>
<p>While there is no on-boarding process in place specific to Tahrir, there is a <a href="https://fedoraproject.org/wiki/Infrastructure/GettingStarted">process for the Fedora Infrastructure team</a>, which would in turn lend itself to Tahrir. Some of the advice given includes <a href="https://fedoraproject.org/wiki/How_to_be_a_successful_contributor">how to be a successful contributor</a> and introducing yourself on their <a href="https://lists.fedoraproject.org/admin/lists/infrastructure.lists.fedoraproject.org/">mailing list</a>.</p>

<h2 id="o-does-the-project-have-documentation-available-is-it-extensive-does-it-include-code-examples">O. Does the project have documentation available? Is it extensive? Does it include code examples?&nbsp;<a class="hanchor" href="#o-does-the-project-have-documentation-available-is-it-extensive-does-it-include-code-examples" aria-label="Anchor link for: O. Does the project have documentation available? Is it extensive? Does it include code examples?">🔗</a></h2>
<p>The project does have documentation in the <a href="https://github.com/fedora-infra/tahrir/blob/develop/README.rst">README file</a> for installing, running, and developing on Tahrir, but they are not an extensive set of &ldquo;documents&rdquo; or wiki pages that explain the entire process. The guide does seem to assume the person reading the documentation is capable enough to run a few commands in a command line or install Python dependencies with tools like <code>pip</code>.</p>
<p>For anyone who knows anything about Python, this documentation will be plenty, but if you are a new developer looking at getting started for the first time, you may have a learning curve with figuring out what all the commands you are instructed to do actually do on yourself.</p>
<p>There do not seem to be code examples for Tahrir (if there are, their presence is not clearly stated).</p>

<h2 id="p-if-you-were-going-to-contribute-to-this-project-but-ran-into-trouble-or-hit-blockers-who-would-you-contact-and-how">P. If you were going to contribute to this project, but ran into trouble or hit blockers, who would you contact, and how?&nbsp;<a class="hanchor" href="#p-if-you-were-going-to-contribute-to-this-project-but-ran-into-trouble-or-hit-blockers-who-would-you-contact-and-how" aria-label="Anchor link for: P. If you were going to contribute to this project, but ran into trouble or hit blockers, who would you contact, and how?">🔗</a></h2>
<p>If we wanted to contribute to Tahrir, it seems like the best points of contact are either the <a href="https://webchat.freenode.net/?channels=fedora-apps"><code>#fedora-apps</code></a> channel on <a href="https://freenode.net/">Freenode</a> or the <a href="https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org/">Infrastructure mailing list</a>. IRC appears to be the preferential way of getting help.</p>

<h2 id="q-based-on-these-answers-how-would-you-describe-the-decision-making-structure--process-of-this-group">Q. Based on these answers, how would you describe the decision making structure / process of this group?&nbsp;<a class="hanchor" href="#q-based-on-these-answers-how-would-you-describe-the-decision-making-structure--process-of-this-group" aria-label="Anchor link for: Q. Based on these answers, how would you describe the decision making structure / process of this group?">🔗</a></h2>

<h5 id="is-it-hierarchical-consensus-building-ruled-by-a-small-group-barely-contained-chaos-or-ruled-by-a-single-or-pair-of-individuals">Is it hierarchical, consensus building, ruled by a small group, barely contained chaos, or ruled by a single or pair of individuals?&nbsp;<a class="hanchor" href="#is-it-hierarchical-consensus-building-ruled-by-a-small-group-barely-contained-chaos-or-ruled-by-a-single-or-pair-of-individuals" aria-label="Anchor link for: Is it hierarchical, consensus building, ruled by a small group, barely contained chaos, or ruled by a single or pair of individuals?">🔗</a></h5>
<p>In the current state of the group, decision making seems to favor the lazy consensus sort of voting; that is, if there are no objections or negative feedback on a feature addition or a bug fix, it is assumed there is not an issue and development presses forward. However, there seems to be an informal, undocumented precedent that every contributor must get their code signed off by at least one other member of the Fedora Infrastructure team (even if the contributor is an experienced, active member of the Infrastructure team).</p>
<p>In short, the development and community architecture of Tahrir seems to be greatly left to Bean and the rest of the Fedora Infrastructure team. In the event of new ideas or &ldquo;topics worth discussion&rdquo;, usually there is activity either in IRC or on the mailing list before heavy development goes forward.</p>

<h2 id="r-is-this-the-kind-of-structure-you-would-enjoy-working-in-why-or-why-not">R. Is this the kind of structure you would enjoy working in? Why, or why not?&nbsp;<a class="hanchor" href="#r-is-this-the-kind-of-structure-you-would-enjoy-working-in-why-or-why-not" aria-label="Anchor link for: R. Is this the kind of structure you would enjoy working in? Why, or why not?">🔗</a></h2>
<p>The system that the Fedora Infrastructure team appears to follow seems to be documented and regimented, so getting involved isn&rsquo;t difficult and the community appears supportive of new developers. For me, I believe the community architecture surrounding the Tahrir project is a friendly and welcoming environment for any level of contributor of open source to get involved with and hack on a cool project.</p>

<h2 id="community-architecture-git-by-a-bus-summary-results">Community Architecture: <a href="https://github.com/tomheon/git_by_a_bus">Git by a Bus</a> Summary Results&nbsp;<a class="hanchor" href="#community-architecture-git-by-a-bus-summary-results" aria-label="Anchor link for: Community Architecture: Git by a Bus Summary Results">🔗</a></h2>
<p>Note: values smaller than 10 have been truncated in the interest of space.</p>
<p>Note: the scale of the bars is relative only within, not across, tables.</p>

<h4 id="top-100-projects-by-highest-estimated-unique-knowledge">Top 100 Projects by highest estimated unique knowledge&nbsp;<a class="hanchor" href="#top-100-projects-by-highest-estimated-unique-knowledge" aria-label="Anchor link for: Top 100 Projects by highest estimated unique knowledge">🔗</a></h4>
<table>
  <thead>
      <tr>
          <th>Projects</th>
          <th>Total estimated unique knowledge</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="projects/tahrir.html">tahrir</a> (3217)</td>
          <td></td>
      </tr>
  </tbody>
</table>

<h4 id="top-100-projects-by-highest-estimated-shared-knowledge-devs-still-present">Top 100 Projects by highest estimated shared knowledge (devs still present)&nbsp;<a class="hanchor" href="#top-100-projects-by-highest-estimated-shared-knowledge-devs-still-present" aria-label="Anchor link for: Top 100 Projects by highest estimated shared knowledge (devs still present)">🔗</a></h4>
<table>
  <thead>
      <tr>
          <th>Projects</th>
          <th>Total estimated shared knowledge (devs still present)</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="projects/tahrir.html">tahrir</a> (414)</td>
          <td></td>
      </tr>
  </tbody>
</table>

<h4 id="top-100-projects-by-highest-estimated-risk">Top 100 Projects by highest estimated risk&nbsp;<a class="hanchor" href="#top-100-projects-by-highest-estimated-risk" aria-label="Anchor link for: Top 100 Projects by highest estimated risk">🔗</a></h4>
<table>
  <thead>
      <tr>
          <th>Projects</th>
          <th>Total estimated risk</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="projects/tahrir.html">tahrir</a> (290)</td>
          <td></td>
      </tr>
  </tbody>
</table>

<h4 id="top-100-devs-by-highest-estimated-unique-knowledge">Top 100 Devs by highest estimated unique knowledge&nbsp;<a class="hanchor" href="#top-100-devs-by-highest-estimated-unique-knowledge" aria-label="Anchor link for: Top 100 Devs by highest estimated unique knowledge">🔗</a></h4>
<table>
  <thead>
      <tr>
          <th>Devs</th>
          <th>Total estimated unique knowledge</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="devs/801ed96179d189c0b9e13aa4e7d16ac0.html">David Gay</a> (1233)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/7b13ae0e56d868362bb10383cbb2ac14.html">Ralph Bean</a> (1163)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/bc3f99a8563168f1a78d1f7c88184e39.html">Pierre-Yves Chibon</a> (260)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/a9b149be06964ed6876c559b753112ca.html">Ricky Elrod</a> (171)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/69febc7c4efd343f78a38a6c1d0aea7e.html">David Gay and Ralph Bean</a> (159)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/81661e7e28bc3e84d4f3b8b6d5ff0430.html">David Gay and Ricky Elrod</a> (59)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/e32b641738dd12f79c335854c5d13498.html">Ralph Bean and Ricky Elrod</a> (48)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/3a4dd3cd06c97e5550f4121edc0db059.html">Ralph Bean and Ross Delinger</a> (18)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/d7b9abadb07ce76a5e06b622905ecb9d.html">David Gay and Ralph Bean and Ricky Elrod</a> (16)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/5e3a065db38507fca1f4d5892e667999.html">Patrick Uiterwijk</a> (13)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/1864d619787d3894225528ae1bb14814.html">Ross Delinger</a> (11)</td>
          <td></td>
      </tr>
  </tbody>
</table>

<h4 id="top-100-devs-by-highest-estimated-shared-knowledge-devs-still-present">Top 100 Devs by highest estimated shared knowledge (devs still present)&nbsp;<a class="hanchor" href="#top-100-devs-by-highest-estimated-shared-knowledge-devs-still-present" aria-label="Anchor link for: Top 100 Devs by highest estimated shared knowledge (devs still present)">🔗</a></h4>
<table>
  <thead>
      <tr>
          <th>Devs</th>
          <th>Total estimated shared knowledge (devs still present)</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="devs/69febc7c4efd343f78a38a6c1d0aea7e.html">David Gay and Ralph Bean</a> (185)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/81661e7e28bc3e84d4f3b8b6d5ff0430.html">David Gay and Ricky Elrod</a> (77)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/e32b641738dd12f79c335854c5d13498.html">Ralph Bean and Ricky Elrod</a> (66)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/3a4dd3cd06c97e5550f4121edc0db059.html">Ralph Bean and Ross Delinger</a> (28)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/3dae24e44c5b1fa55228d1918b57bdac.html">David Gay and Ross Delinger</a> (12)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/93b128844d0d40d16a5605cb17c37fd6.html">Pierre-Yves Chibon and Ralph Bean</a> (11)</td>
          <td></td>
      </tr>
  </tbody>
</table>

<h4 id="top-100-devs-by-highest-estimated-risk">Top 100 Devs by highest estimated risk&nbsp;<a class="hanchor" href="#top-100-devs-by-highest-estimated-risk" aria-label="Anchor link for: Top 100 Devs by highest estimated risk">🔗</a></h4>
<table>
  <thead>
      <tr>
          <th>Devs</th>
          <th>Total estimated risk</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="devs/801ed96179d189c0b9e13aa4e7d16ac0.html">David Gay</a> (123)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/7b13ae0e56d868362bb10383cbb2ac14.html">Ralph Bean</a> (116)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/bc3f99a8563168f1a78d1f7c88184e39.html">Pierre-Yves Chibon</a> (26)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="devs/a9b149be06964ed6876c559b753112ca.html">Ricky Elrod</a> (17)</td>
          <td></td>
      </tr>
  </tbody>
</table>

<h4 id="top-100-files-by-highest-estimated-unique-knowledge">Top 100 Files by highest estimated unique knowledge&nbsp;<a class="hanchor" href="#top-100-files-by-highest-estimated-unique-knowledge" aria-label="Anchor link for: Top 100 Files by highest estimated unique knowledge">🔗</a></h4>
<table>
  <thead>
      <tr>
          <th>Files</th>
          <th>Total estimated unique knowledge</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="files/tahrir__tahrir__views.py.html">tahrir:tahrir/views.py</a> (1914)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__docs__conf.py.html">tahrir:docs/conf.py</a> (504)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__tahrir__utils.py.html">tahrir:tahrir/utils.py</a> (220)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__tahrir____init__.py.html">tahrir:tahrir/__init__.py</a> (217)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__setup.py.html">tahrir:setup.py</a> (70)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__tahrir__app.py.html">tahrir:tahrir/app.py</a> (68)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__tahrir__events.py.html">tahrir:tahrir/events.py</a> (58)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__tahrir__foafutils.py.html">tahrir:tahrir/foafutils.py</a> (42)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__tahrir__custom_openid.py.html">tahrir:tahrir/custom_openid.py</a> (38)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__tahrir__widgets.py.html">tahrir:tahrir/widgets.py</a> (36)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__fedmsg.d__fedmsg-config.py.html">tahrir:fedmsg.d/fedmsg-config.py</a> (30)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__tahrir__notifications.py.html">tahrir:tahrir/notifications.py</a> (20)</td>
          <td></td>
      </tr>
  </tbody>
</table>

<h4 id="top-100-files-by-highest-estimated-shared-knowledge-devs-still-present">Top 100 Files by highest estimated shared knowledge (devs still present)&nbsp;<a class="hanchor" href="#top-100-files-by-highest-estimated-shared-knowledge-devs-still-present" aria-label="Anchor link for: Top 100 Files by highest estimated shared knowledge (devs still present)">🔗</a></h4>
<table>
  <thead>
      <tr>
          <th>Files</th>
          <th>Total estimated shared knowledge (devs still present)</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="files/tahrir__tahrir__views.py.html">tahrir:tahrir/views.py</a> (349)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__tahrir____init__.py.html">tahrir:tahrir/__init__.py</a> (26)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__setup.py.html">tahrir:setup.py</a> (13)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__tahrir__utils.py.html">tahrir:tahrir/utils.py</a> (12)</td>
          <td></td>
      </tr>
  </tbody>
</table>

<h4 id="top-100-files-by-highest-estimated-risk">Top 100 Files by highest estimated risk&nbsp;<a class="hanchor" href="#top-100-files-by-highest-estimated-risk" aria-label="Anchor link for: Top 100 Files by highest estimated risk">🔗</a></h4>
<table>
  <thead>
      <tr>
          <th>Files</th>
          <th>Total estimated risk</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="files/tahrir__tahrir__views.py.html">tahrir:tahrir/views.py</a> (165)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__docs__conf.py.html">tahrir:docs/conf.py</a> (50)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__tahrir__utils.py.html">tahrir:tahrir/utils.py</a> (21)</td>
          <td></td>
      </tr>
      <tr>
          <td><a href="files/tahrir__tahrir____init__.py.html">tahrir:tahrir/__init__.py</a> (20)</td>
          <td></td>
      </tr>
  </tbody>
</table>

<h2 id="community-architecture-git-by-a-lion-pie-chart-results">Community Architecture: <a href="https://github.com/liam-middlebrook/git_by_a_lion">Git by a Lion</a> Pie Chart Results&nbsp;<a class="hanchor" href="#community-architecture-git-by-a-lion-pie-chart-results" aria-label="Anchor link for: Community Architecture: Git by a Lion Pie Chart Results">🔗</a></h2>
<p><a href="/blog/2016/03/author_tot_knowledge.png">
<figure>
  <img src="/blog/2016/03/author_tot_knowledge.png" alt="Tahrir Community Architecture: Author Total Knowledge" loading="lazy">
</figure>
</a><a href="/blog/2016/03/author_tot_risk.png">
<figure>
  <img src="/blog/2016/03/author_tot_risk.png" alt="Tahrir Community Architecture: Author Total Risk" loading="lazy">
</figure>
</a><a href="/blog/2016/03/file_tot_knowledge.png">
<figure>
  <img src="/blog/2016/03/file_tot_knowledge.png" alt="Tahrir Community Architecture: File Total Knowledge" loading="lazy">
</figure>
</a><a href="/blog/2016/03/file_tot_risk.png">
<figure>
  <img src="/blog/2016/03/file_tot_risk.png" alt="Tahrir Community Architecture: File Total Risk" loading="lazy">
</figure>
</a></p>]]></description></item><item><title>Why I love WiCHacks</title><link>https://jwheel.org/blog/2016/03/why-i-love-wichacks/</link><pubDate>Mon, 07 Mar 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/03/why-i-love-wichacks/</guid><description><![CDATA[<p>Two weekends ago, from February 27th to the 28th, the <a href="http://wic.rit.edu">Women in Computing</a> program at the <a href="https://www.rit.edu/">Rochester Institute of Technology</a> hosted their third annual <a href="http://wichacks.rit.edu/">WiCHacks</a> hackathon. WiCHacks is a women-only hackathon open to university students and high school juniors and seniors. WiCHacks is a collaborative event bringing women together from across RIT, the country, and even the world (including attendees from Germany). The participants are in a supportive and empowering environment to build something awesome and present it to everyone else in the span of one weekend.</p>
<p>So why am I writing about WiCHacks? I signed up as a volunteer for the event this year. I would help with the setup, running the event, and packing it up. During my experience as a volunteer, I met some other awesome people, saw some really cool projects, and discovered an inviting and inclusive community on campus.</p>

<h2 id="opening-the-doors-for-wichacks">Opening the doors for WiCHacks&nbsp;<a class="hanchor" href="#opening-the-doors-for-wichacks" aria-label="Anchor link for: Opening the doors for WiCHacks">🔗</a></h2>
<p>I was scheduled for the Saturday morning shift (8:00am - 1:30pm) and the Sunday morning shift (11:00am - 5:00pm). When I arrived on Saturday morning, the prep work was just beginning. The WiC team had breakfast pizza for all the volunteers, which was surprisingly delicious!</p>
<p>After grabbing a quick bite to eat, I began helping with setting up sponsor tables, moving equipment and tables around, and other miscellaneous tasks to prepare for the first influx of people, scheduled to arrive around 10:00am. After two hours of setting up, the hackers began streaming into the Golisano building and filling the atrium. As more and more people began to roll in, it was awesome to see how diverse and culturally unique the room was. There were people of all races, from all over the country and even the world, that had come here to join other women hackers in a weekend of creativity and fun. With such a wide palette of culture and ideas, I was anticipating to see some awesome creations in my time volunteering.</p>

<h2 id="wichacks-begins">WiCHacks begins&nbsp;<a class="hanchor" href="#wichacks-begins" aria-label="Anchor link for: WiCHacks begins">🔗</a></h2>
<p>After an opening keynote by the WiCHacks committee leader <a href="https://www.rit.edu/news/story.php?id=54739">Susan Heilman</a> kicking off the hackathon, the hackers were served a quick lunch before jumping into brainstorming and programming.</p>
<p>For those who had never programmed before, there was a special Newbie Track that aimed to help teach some of the basics. It helped give girls who didn&rsquo;t know anything about programming a booster to also create something during the weekend.</p>
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">GO HACKERS GO! There are 117 people listed as apart of teams already make sure you register your team <a href="https://twitter.com/hashtag/wichacks?src=hash&amp;ref_src=twsrc%5Etfw">#wichacks</a> <a href="https://twitter.com/hashtag/soundoff?src=hash&amp;ref_src=twsrc%5Etfw">#soundoff</a></p>&mdash; WiCHacks @ RIT (@wichacks) <a href="https://twitter.com/wichacks/status/703695663289278464?ref_src=twsrc%5Etfw">February 27, 2016</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>After lunch, the hacking began! Teams could go into a room and have access to whiteboards, plenty of chairs, and outlets to charge devices. If needed, Major League Hacking also had a hardware lab where people could rent out laptops and other accessories during WiCHacks.</p>

<h2 id="accidentally-discovering-something-awesome">Accidentally discovering something awesome&nbsp;<a class="hanchor" href="#accidentally-discovering-something-awesome" aria-label="Anchor link for: Accidentally discovering something awesome">🔗</a></h2>
<p>After my volunteering shift ended, I had a homework assignment for one of my classes due at midnight. I had made plans many months ago after 7:00pm that night, so I had to work on the assignment that day to submit in time. I went up to an empty IST department lab, fired up my laptop, and began working. Suddenly, a team of five girls walked into the lab and began setting up close to the whiteboard near me.</p>
<p>
<figure>
  <img src="/blog/2016/03/OpenCircle-Presentation-1.jpg" alt="WiCHacks 2016: The OpenCircle team presents" loading="lazy">
  <figcaption>The OpenCircle team presents their project to the auditorium.</figcaption>
</figure>
</p>
<p>I was curious after a while to hear what they were working on. I kept hearing the words &ldquo;open source&rdquo; and &ldquo;FOSS&rdquo; dropping, and it pulled my attention in. I learned that their idea was to make a social platform to help make it easier for girls to get involved with open source software. The plan was to collect an inventory of open source projects that need help and connect interested girls with project mentors to guide them in contributing.</p>
<p>There was overlap with some ideas I&rsquo;ve had while working with the <a href="/blog/2015/11/fedora-commops-im-working/">Fedora CommOps</a> team towards boosting <a href="https://communityblog.fedoraproject.org/women-in-computing-and-fedora/">#WomenInComputing</a> in Fedora&rsquo;s community. I was anticipating hearing out their idea and seeing what they would come up with!</p>
<p>Their project would be known as <a href="https://github.com/Open-Circle/WicHacks2016Demo">OpenCircle</a>. After 6:45pm rolled around, I started packing up my gear to head out for the evening. The OpenCircle team was busy hacking away on laptops or making slight alterations to the whiteboard mock designs they had drawn. It was clear that the creativity and motivation were running high when I left.</p>
<p>I was envious that I wasn&rsquo;t there for the rest of the evening. Later on that night, Insomnia Cookies delivered to the hackathon. There was also a spontaneous dance party in the atrium of Golisano. Next year, I&rsquo;ll have to make sure I&rsquo;m able to stay for the entire night!</p>
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">What&#39;s better than an impromptu dance party at <a href="https://twitter.com/wichacks?ref_src=twsrc%5Etfw">@wichacks</a>? <a href="https://twitter.com/RITWIC?ref_src=twsrc%5Etfw">@RITWIC</a>  <a href="https://twitter.com/hashtag/wichacks16?src=hash&amp;ref_src=twsrc%5Etfw">#wichacks16</a> <a href="https://t.co/NvvTZC4scO">pic.twitter.com/NvvTZC4scO</a></p>&mdash; Major League Hacking (MLH) (@MLHacks) <a href="https://twitter.com/MLHacks/status/703783084957835264?ref_src=twsrc%5Etfw">February 28, 2016</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>Closing out WiCHacks 2016</p>
<p>After a final push by hackers throughout the night, hacking ended at 12:00pm the next day. After a lunch break, the hackers returned to the auditorium in time  to present their projects. Before the deadline, all the teams added their projects to the <a href="http://wichacks-2016.devpost.com/">WiCHacks DevPost</a>. You can also find the list of projects submitted over the weekend there.</p>
<p>
<figure>
  <img src="/blog/2016/03/OpenCircle-Presentation-2.jpg" alt="WiCHacks 2016: The OpenCircle team demos the product" loading="lazy">
  <figcaption>The OpenCircle team demos their project for all the participants.</figcaption>
</figure>
</p>
<p>After helping with some other closing work, I wanted to listen to some of the presentations given by the teams. Some people designed some really cool apps, like <a href="http://devpost.com/software/pink-planet">Pink Planet</a>, <a href="http://devpost.com/software/resumatch">Resumatch</a> (a play on Tinder but with resumes), and the ever creative <a href="http://devpost.com/software/loocator">Loocator</a>.</p>
<p>However, the <a href="http://devpost.com/software/open-circle">OpenCircle</a> team was the presentation I was looking forward to the most. While they noted that they hadn&rsquo;t had the time to demo it as completely as they wanted, the idea behind their product was there and it was pretty solid as a prototype.</p>
<p>After the weekend was over, I submitted a <a href="https://github.com/Open-Circle/WicHacks2016Demo/pull/1">simple pull request</a> and filed <a href="https://github.com/Open-Circle/WicHacks2016Demo/issues/2">two</a> <a href="https://github.com/Open-Circle/WicHacks2016Demo/issues/3">issues</a> against the project. I&rsquo;m anticipating any future development the OpenCircle team collaborates on and seeing where their idea goes!</p>

<h2 id="wichacks-2016-in-retrospect">WiCHacks 2016: In retrospect&nbsp;<a class="hanchor" href="#wichacks-2016-in-retrospect" aria-label="Anchor link for: WiCHacks 2016: In retrospect">🔗</a></h2>
<p>I was slightly nervous when registering as a WiCHacks volunteer as I had no idea what to expect or the type of community that it would attract. However, after spending time with the volunteers, hackers, organizers, and mentors, it was clear that the environment was inclusive, welcoming, and receptive to all people.</p>
<p>WiCHacks is a well-organized, powerfully motivating event and something more and more people should look into checking out on the RIT campus each year. WiCHacks empowers women interested in computer science to <em>do something awesome</em> in the presence of people who want to see you succeed. The mentorship and leadership at WiCHacks definitely supports this.</p>
<p>Great job to the WiC team for organizing this, and I look forward to participating as a volunteer again next year!</p>
<p>
<figure>
  <img src="/blog/2016/03/WiCHacks-Volunteers.jpg" alt="WiCHacks 2016 volunteers" loading="lazy">
  <figcaption>The WiCHacks 2016 volunteers!</figcaption>
</figure>
</p>]]></description></item><item><title>HFOSS: Quiz #1</title><link>https://jwheel.org/blog/2016/03/hfoss-quiz-1/</link><pubDate>Fri, 04 Mar 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/03/hfoss-quiz-1/</guid><description><![CDATA[<p>In the <a href="https://hfoss-ritjoe.rhcloud.com/">Humanitarian Free and Open Source Software Development (HFOSS)</a> course at the <a href="https://www.rit.edu/">Rochester Institute of Technology</a>, quizzes are in the form of blog posts submitted during the class period. The room stays quiet, but it is an open IRC quiz, so many of the students collaborated with each other in <a href="https://webchat.freenode.net/?channels=rit-foss">#rit-foss</a> on freenode for the quiz.</p>
<p>This post is my quiz submission for the Spring 2016 semester <a href="https://hfoss-ritjoe.rhcloud.com/static/hw/quiz1.txt">Quiz #1</a>.</p>

<h2 id="hfoss-spring-2016-quiz-1">HFOSS Spring 2016, Quiz #1&nbsp;<a class="hanchor" href="#hfoss-spring-2016-quiz-1" aria-label="Anchor link for: HFOSS Spring 2016, Quiz #1">🔗</a></h2>

<h4 id="what-is-the-name-of-the-version-control-system-we-use-in-this-course">What is the name of the version control system we use in this course?&nbsp;<a class="hanchor" href="#what-is-the-name-of-the-version-control-system-we-use-in-this-course" aria-label="Anchor link for: What is the name of the version control system we use in this course?">🔗</a></h4>
<ul>
<li><a href="https://git-scm.com/">Git</a></li>
</ul>

<h4 id="bonus-give-the-name-for-another-version-control-system">Bonus: Give the name for another version control system.&nbsp;<a class="hanchor" href="#bonus-give-the-name-for-another-version-control-system" aria-label="Anchor link for: Bonus: Give the name for another version control system.">🔗</a></h4>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Mercurial">Mercurial</a></li>
</ul>

<h4 id="we-refer-to-sites-that-host-source-code-as-forges-what-is-the-name-of-the-primary-forge-used-in-this-course">We refer to sites that host source code as &ldquo;forges&rdquo;. What is the name of the primary forge used in this course?&nbsp;<a class="hanchor" href="#we-refer-to-sites-that-host-source-code-as-forges-what-is-the-name-of-the-primary-forge-used-in-this-course" aria-label="Anchor link for: We refer to sites that host source code as &ldquo;forges&rdquo;. What is the name of the primary forge used in this course?">🔗</a></h4>
<ul>
<li><a href="https://github.com/">GitHub</a></li>
</ul>

<h4 id="rearrange-the-following-to-make-the-best-matches">Rearrange the following to make the best matches.&nbsp;<a class="hanchor" href="#rearrange-the-following-to-make-the-best-matches" aria-label="Anchor link for: Rearrange the following to make the best matches.">🔗</a></h4>
<p>For the next several questions, rearrange the items in the column on the right, as necessary, so that they best match the names of key figures in the column on the left.</p>
<hr>
<p><em>For example</em>:</p>
<ol>
<li><a href="https://en.wikipedia.org/wiki/Randall_Munroe"><strong>Randall Munroe</strong></a>
<ol>
<li>Saturday Morning Breakfast Cereal</li>
</ol>
</li>
<li><a href="https://en.wikipedia.org/wiki/Zach_Weiner"><strong>Zach Weiner</strong></a>
<ol>
<li>XKCD</li>
</ol>
</li>
<li><a href="https://en.wikipedia.org/wiki/Walt_Disney"><strong>Walt Disney</strong></a>
<ol>
<li>Mickey Mouse</li>
</ol>
</li>
</ol>
<p>…becomes…</p>
<ol>
<li><strong>Randall Munroe</strong>
<ol>
<li>XKCD</li>
</ol>
</li>
<li><strong>Zach Weiner</strong>
<ol>
<li>Saturday Morning Breakfast Cereal</li>
</ol>
</li>
<li><strong>Walt Disney</strong>
<ol>
<li>Mickey Mouse</li>
</ol>
</li>
</ol>
<hr>
<ol>
<li><a href="https://en.wikipedia.org/wiki/Andrew_S._Tanenbaum"><strong>Andrew Tannenbaum</strong></a>
<ol>
<li><a href="https://en.wikipedia.org/wiki/MINIX">Minix</a></li>
</ol>
</li>
<li><a href="https://en.wikipedia.org/wiki/Linus_Torvalds"><strong>Linus Torvalds</strong></a>
<ol>
<li><a href="https://en.wikipedia.org/wiki/Linux">Linux</a></li>
</ol>
</li>
<li><a href="https://en.wikipedia.org/wiki/Bruce_Perens"><strong>Bruce Perens</strong></a>
<ol>
<li><a href="https://en.wikipedia.org/wiki/Debian_Free_Software_Guidelines">Debian Free Software Guidelines</a></li>
</ol>
</li>
<li><a href="https://en.wikipedia.org/wiki/Richard_Stallman"><strong>Richard Stallman</strong></a>
<ol>
<li><a href="https://en.wikipedia.org/wiki/Free_Software_Foundation">Free Software Foundation</a> / <a href="https://en.wikipedia.org/wiki/GNU_Project">GNU Project</a></li>
</ol>
</li>
</ol>

<h4 id="we-discussed-several-concepts-involving-rights-restrictions-and-licensing-match-the-term-on-the-left-with-the-most-appropriate-description-on-the-right">We discussed several concepts involving rights, restrictions, and licensing. Match the term on the left with the most appropriate description on the right.&nbsp;<a class="hanchor" href="#we-discussed-several-concepts-involving-rights-restrictions-and-licensing-match-the-term-on-the-left-with-the-most-appropriate-description-on-the-right" aria-label="Anchor link for: We discussed several concepts involving rights, restrictions, and licensing. Match the term on the left with the most appropriate description on the right.">🔗</a></h4>
<ol>
<li><strong><a href="https://en.wikipedia.org/wiki/Trademark">Trademark</a></strong>
<ol>
<li>Lasts as long as used &amp; defended</li>
</ol>
</li>
<li><strong><a href="https://en.wikipedia.org/wiki/Copyright">Copyright</a></strong>
<ol>
<li>Life of the author plus 70 years</li>
</ol>
</li>
<li><strong><a href="https://en.wikipedia.org/wiki/Patent">Patent</a></strong>
<ol>
<li>20 year term</li>
</ol>
</li>
</ol>
<hr>
<ol>
<li><strong>Trademark</strong>
<ol>
<li>Protects consumers from confusing one product with another</li>
</ol>
</li>
<li><strong>Copyright</strong>
<ol>
<li>Arises as soon as a work takes tangible form</li>
</ol>
</li>
<li><strong>Patent</strong>
<ol>
<li>Precedence is given to the first to file an application</li>
</ol>
</li>
</ol>

<h4 id="list-or-describe-the-four-r-as-a-shorthand-for-the-freedoms-attached-to-software-for-it-to-be-considered-free-and-open-source">List or describe &ldquo;<a href="http://opencontent.org/blog/archives/1123">the four R&rsquo;s</a>&rdquo; as a shorthand for the freedoms attached to software for it to be considered &ldquo;free and open source&rdquo;.&nbsp;<a class="hanchor" href="#list-or-describe-the-four-r-as-a-shorthand-for-the-freedoms-attached-to-software-for-it-to-be-considered-free-and-open-source" aria-label="Anchor link for: List or describe &ldquo;the four R&rsquo;s&rdquo; as a shorthand for the freedoms attached to software for it to be considered &ldquo;free and open source&rdquo;.">🔗</a></h4>
<ol>
<li>Read</li>
<li>Run</li>
<li>Revise</li>
<li>Redistribute</li>
</ol>]]></description></item><item><title>2015 - My Year in Review</title><link>https://jwheel.org/blog/2016/02/2015-year-review/</link><pubDate>Thu, 25 Feb 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/02/2015-year-review/</guid><description><![CDATA[<p>I originally began drafting this post 900 miles away from my current location. It was an hour until the New Year and I was trying to put together a rough outline of the things that made 2015 such an incredible year for me. However, for reasons I don&rsquo;t really know, I never followed up on finishing this draft. So now, I&rsquo;d like to present my Year in Review post looking at my 2015.</p>

<h2 id="my-year-in-review">My Year in Review&nbsp;<a class="hanchor" href="#my-year-in-review" aria-label="Anchor link for: My Year in Review">🔗</a></h2>
<p>With an hour left until the New Year, there never seemed a better time to begin writing my Year in Review article. While it is a stereotypical kind of thing to do, I also think it&rsquo;s a great opportunity to reflect on the gifts, changes, and special occasions that this past year has presented to me. 2015 is special to me in many ways because it marks a significant milestone in my life of moving away from home and beginning my journey into full adulthood.</p>
<p>There are many important and special people in my life that have made this year incredible, and I want to reflect and make note of this.</p>

<h2 id="high-school-college"><code>&lt;/high school&gt;</code> <code>&lt;college&gt;</code>&nbsp;<a class="hanchor" href="#high-school-college" aria-label="Anchor link for: &lt;/high school&gt; &lt;college&gt;">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2016/02/Optimized-Graduation.jpg" alt="Graduation with my family" loading="lazy">
  <figcaption>My high school graduation day.</figcaption>
</figure>
</p>
<p>This past May, I graduated from high school. Looking back, it&rsquo;s interesting to see how much has changed in my personal life and even in my own interests. Some friends have come and gone, but there are an important core of people who have always been present in my life, and I am privileged to have been one to know them deeply over the past four years.</p>
<p>Interestingly enough, it wasn&rsquo;t until my junior year when I realized that I wanted to spend my life working in computer science. I remember when I walked into the classroom of my AP Computer Science teacher asking how I could get going with only one year left. Now, here I am immersing myself in digital technology in countless different ways. I feel like I am where I am meant to be.</p>
<p>
<figure>
  <img src="/blog/2016/02/Software-Freedom-Day-at-RIT-Fedora.jpg" alt="Software Freedom Day at the Rochester Institute of Technology" loading="lazy">
  <figcaption>Software Freedom Day (<a href="https://fedoramagazine.org/celebrating-software-freedom-day-2015/" class="bare">https://fedoramagazine.org/celebrating-software-freedom-day-2015/</a>) at the Rochester Institute of Technology. I’m in the middle!</figcaption>
</figure>
</p>
<p>These four years haven&rsquo;t been easy either. I worked hard to get to the place I wanted to go. Despite quite a few personal challenges, I was fortunate enough to afford an education here at the <a href="https://www.rit.edu/">Rochester Institute of Technology</a>. Just in the semester and a half that I have been enrolled here, I&rsquo;ve met countless people who have affected my life and helped shape the direction of where I&rsquo;m going in the world. Special shout-out to the <a href="https://fossrit.github.io/">FOSSbox</a> and <a href="https://ritlug.com/">RITlug</a>, and everyone involved with both.</p>

<h2 id="coffee-and-doughnuts">Coffee and Doughnuts&nbsp;<a class="hanchor" href="#coffee-and-doughnuts" aria-label="Anchor link for: Coffee and Doughnuts">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2016/02/Cinnamon-Roll-Queen.jpg" alt="Cinnamon Roll Queen" loading="lazy">
  <figcaption>On occasion, I might model for the Dutch Monkey Instagram (<a href="https://www.instagram.com/dutchmonkeydoughnuts/" class="bare">https://www.instagram.com/dutchmonkeydoughnuts/</a>) as the Cinnamon Roll Queen.</figcaption>
</figure>
</p>
<p>For most of 2015, I worked a not-so-typical job at <a href="http://www.dutchmonkeydoughnuts.com/">Dutch Monkey Doughnuts</a> in my hometown. Dutch Monkey is an important part of my town and they have helped create a name for people visiting the region. They&rsquo;re well-known for their homemade doughnuts and <a href="https://counterculturecoffee.com/">Counter Culture Coffee</a>, both of which are legendary within their own right.</p>
<p>During my time at Dutch Monkey, I was able to attend workshops and classes at the Counter Culture Coffee Training Center in Atlanta. Throughout the eight or nine classes I took, I was able to further my understanding and appreciation for an extremely complex and fascinating beverage. My appreciation and love for coffee has become a part of my being. The coffee industry is a wild and exciting place, and it is very much an ethical hotbed of all kinds of issues. I joke to myself that if sysadmin doesn&rsquo;t work out, the coffee industry could always make a good fallback…</p>
<p>I was also fortunate to have some awesome co-workers who helped make the 4am shifts a little more enjoyable. Special shout-out to Jordan Hughes for the long talks about music, the music industry, and so many other things. I learned a lot from you and you&rsquo;ve had a big impact on my own music tastes.</p>

<h2 id="minecon-and-spigotmc">MINECON and SpigotMC&nbsp;<a class="hanchor" href="#minecon-and-spigotmc" aria-label="Anchor link for: MINECON and SpigotMC">🔗</a></h2>
<p>This was single-handedly one of the most profound events of the year for me. If you weren&rsquo;t aware, I am a community moderator for the <a href="https://www.spigotmc.org/">SpigotMC</a> project. I have been a moderator since April 2014. Spigot is my true first open-source project, even though I wasn&rsquo;t a contributor of code, but a community builder (or so I like to think).</p>

<h4 id="minecon-announced">MINECON announced&nbsp;<a class="hanchor" href="#minecon-announced" aria-label="Anchor link for: MINECON announced">🔗</a></h4>
<p>In February of 2015, Mojang announced that <a href="http://mojang.com/2015/02/minecon-2015-announced/">MINECON 2015</a> would be happening in London, England. Instantly, I thought there would be no way I would ever be able to afford a trip overseas for a two-day convention. However, I found the <a href="http://mojang.com/2015/03/minecon-2015-tickets-announcement/">application</a> for a MINECON Agent, which is the small group of &ldquo;interns&rdquo; that volunteer to help set up and prepare MINECON for over 10,000 people with the Mojang team. The only benefit to being an Agent was a waived ticket cost (around $120 last year). I applied for the program, unsure of what would come of it, doubtful I would be able to go even if I were accepted.</p>
<p>April rolls around, and I finally hear back from Mojang! &ldquo;Congratulations, you are now a MINECON Agent!&rdquo; It was difficult to believe at first, but I wasn&rsquo;t sure I would be able to go regardless.</p>

<h4 id="getting-in-gear-for-minecon">Getting in gear for MINECON&nbsp;<a class="hanchor" href="#getting-in-gear-for-minecon" aria-label="Anchor link for: Getting in gear for MINECON">🔗</a></h4>
<p>
<figure>
  <img src="/blog/2016/02/Booth-Shot.jpg" alt="SpigotMC Booth Shot at MINECON 2015" loading="lazy">
  <figcaption>A photo of the SpigotMC booth at MINECON 2015.</figcaption>
</figure>
</p>
<p>I began talking with the rest of the team at SpigotMC. We were also <a href="https://www.spigotmc.org/forums/minecon-2015.77/">getting in gear</a> for MINECON 2015 and were planning to attend as an organization with our own booth. We had arranged to have a booth and most of the team knew who was going to be there. <a href="https://twitter.com/md__5/">Michael</a>, our project lead, would be in attendance, along with <a href="https://twitter.com/thinkofdeath">Matthew</a>, the other lead developer; <a href="https://twitter.com/jtaylor69">Jordan</a>, another community moderator like myself; <a href="https://twitter.com/cindykerns">Cindy</a>, our local wiki staff, IRC staff, and contributing developer, or also the official &ldquo;Spigot Mom&rdquo;; and Miguel, our witty Spigot volunteer who has an ambiguous position with Spigot. Cindy&rsquo;s son Alex was also going to be in attendance.</p>
<p>I didn&rsquo;t think I would be able to attend. However, a very unique set of events happened one after another, and suddenly, the possibility of me attending MINECON this year began to materialize. Thanks to awesome people behind Spigot, I was fortunate enough to make it out to this year&rsquo;s convention. When I figured out that I would be going to London, I was beyond stoked.</p>

<h4 id="going-to-london-and-minecon">Going to London and MINECON&nbsp;<a class="hanchor" href="#going-to-london-and-minecon" aria-label="Anchor link for: Going to London and MINECON">🔗</a></h4>
<p>I would be there from Saturday, July 4 to Wednesday, July 8, 2016. Saturday and Sunday were the days of MINECON. Together with the team, we helped represent the SpigotMC project among thousands of convention-goers. We had brochures, bracelets, and a <a href="https://www.youtube.com/watch?v=qiNScdSAQ8k">video</a> running in the booth for visitors to take and see. I met some incredible people from our community, and I am privileged and honored to have met some incredible people there.</p>
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
      <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/qiNScdSAQ8k?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
    </div>

<p>Thanks to Michael being the incredible individual he is, we went to a few dinners and meet-ups with others in the Minecraft community. I met two of the major Minecraft developers, Nathan (<a href="https://twitter.com/Dinnerbone">Dinnerbone</a>) and Erik (<a href="https://twitter.com/_grum">Grum</a>) and countless others in the YouTube and development community. It was almost unbelievable. The entire time I was in London, the experience felt surreal. Six months before this, I would never have believed any of this would ever have happened.</p>
<p>
<figure>
  <img src="/blog/2016/02/Table-with-Justin.jpg" alt="SpigotMC Lunch in London" loading="lazy">
  <figcaption>At the SpigotMC lunch on the Saturday of MINECON.</figcaption>
</figure>
</p>
<p>The Monday and Tuesday we were there, Cindy, Jordan, Alex, and I went around London doing our proper duty as tourists. We went to see Big Ben, Westminster Abbey, rode a double-decker bus, went to the Queen&rsquo;s castle, and indulged in what Jordan called a &ldquo;proper British meal&rdquo;. On Monday night, Jordan treated me to a short trip around London hopping between bars (although everything closed so early)! We ended up crashing in some late-night diner, had a meal, and headed back for the next round of sightseeing on Tuesday.</p>

<h4 id="thanks-to-the-team">Thanks to the team&nbsp;<a class="hanchor" href="#thanks-to-the-team" aria-label="Anchor link for: Thanks to the team">🔗</a></h4>
<p>This was truly a life-changing experience that was bestowed upon me. I was honored and privileged to have met the other members of the Spigot team that I&rsquo;ve been working with for the past two years. I wouldn&rsquo;t trade my time in London for anything else, and I&rsquo;m hoping that I&rsquo;ll be able to help host the crew this upcoming MINECON if it ends up in the northeast US.</p>
<p>
<figure>
  <img src="/img/Spigot-Team.jpg" alt="SpigotMC Team" loading="lazy">
  <figcaption>You guys all rock.</figcaption>
</figure>
</p>

<h2 id="open-source-and-fedora">Open Source and Fedora&nbsp;<a class="hanchor" href="#open-source-and-fedora" aria-label="Anchor link for: Open Source and Fedora">🔗</a></h2>
<p>I have used the <a href="https://getfedora.org/">Fedora</a> operating system on my laptop since December 2013. I began using it on my desktop I built in November 2014. I have used this operating system for almost two years and I never had thought too much about the community behind the <a href="https://fedoraproject.org/wiki/Overview">Fedora Project</a>. I knew that it was a large and complex community, but I was never sure where to take the first step. I had always wanted to be an <a href="https://fedoraproject.org/wiki/Ambassadors">Ambassador</a>, but questioned my usefulness or whether I was a right fit for the program.</p>

<h4 id="flock-to-fedora">Flock to Fedora!&nbsp;<a class="hanchor" href="#flock-to-fedora" aria-label="Anchor link for: Flock to Fedora!">🔗</a></h4>
<p>I learned that <a href="https://flocktofedora.org/">Flock</a>, Fedora&rsquo;s annual contributor&rsquo;s conference, was to be hosted in Rochester, NY in 2015 from August 5th to the 9th. I would be moving right next door to Flock just a week after the conference! After contacting a pair of people who seemed knowledgeable about the details back in February 2015, little did I know I was setting in motion an entirely new track of events in my life. The two gents I emailed, <a href="https://fedoraproject.org/wiki/User:Decause">Remy DeCausemaker</a> and Prof. <a href="https://www.rit.edu/gccis/stephen-jacobs">Stephen Jacobs</a> (SJ), helped give me advice on travel details and how I would get myself into Rochester in time for Flock.</p>
<p>Come August, I am back from MINECON, packing my bags for Rochester, and ending my last few days at Dutch Monkey. When I arrived in Rochester with my mother, it was an exciting and new experience, something I had looked forward to for a long time. Once Flock rolled around, I was almost instantaneously immersed in the Fedora community, and over the course of the week, I would begin to feel a part of a Project that I had questioned how to enter for almost a year.</p>
<p>
<figure>
  <img src="/blog/2016/02/Matt-and-Remy.jpg" alt="Remy DeCausemaker (decause) and Matthew Miller (mattdm), Fedora partners in crime" loading="lazy">
  <figcaption>Remy DeCausemaker (decause) and Matthew Miller (mattdm), Fedora partners in crime.</figcaption>
</figure>
</p>
<p>The talks were fantastic, the speakers were passionate, and the community was welcoming. I was jump started into Fedora at Flock 2015, despite walking in a stranger. At first, I questioned whether coming was such a grand idea. It was obvious everyone knew someone already and I was only an excited Fedora user and fan. These were the people who did all the heavy-lifting to make this operating system and its community run. What was I doing here?</p>
<p>I distinctly remember <a href="https://fedoraproject.org/wiki/User:Immanetize">Pete Travis</a> (randomuser in IRC) coming up to me, introducing himself and asking me a few questions. In retrospect, I probably looked like I was feeling a bit out-of-place. He and I began talking a bit about his role in Fedora and some of my little experience in open source. After he spoke to me, I began to feel a little more attached to the conference. After a while, I began speaking up at some of the talks I attended, or trying to share some of my perspective or thoughts as an outsider. These were the stepping-stones that got me involved with the project.</p>
<p>One thing about all else stands out to me about the conference. I remember Remy saying to me towards the end (with minor paraphrasing), &ldquo;You should check out this Community Operations thing that&rsquo;s coming up soon. It&rsquo;s going to be awesome.&rdquo;</p>

<h4 id="fedora-magazine">Fedora Magazine&nbsp;<a class="hanchor" href="#fedora-magazine" aria-label="Anchor link for: Fedora Magazine">🔗</a></h4>
<p>Over the course of the next few months at RIT, I started working with <a href="https://fedoraproject.org/wiki/User:Pfrields">Paul Frields</a>, <a href="https://fedoraproject.org/wiki/User:Ryanlerch">Ryan Lerch</a>, and a few others on the Fedora Magazine. I began contributing as a writer, with my first article about using <a href="https://fedoramagazine.org/run-a-minecraft-server-using-spigot/">Spigot on Fedora</a>. As time went on, I began helping as an editor, revising and reviewing other people&rsquo;s articles to help get them published for the Magazine. By the end of 2015, I believe I would come to establish myself as a <a href="https://fedoramagazine.org/author/jflory7/">permanent member</a> of the editorial team behind the Magazine.</p>

<h4 id="commops">CommOps&nbsp;<a class="hanchor" href="#commops" aria-label="Anchor link for: CommOps">🔗</a></h4>
<p>Additionally, during the months after Flock, I would follow up on what Remy told me, and I checked out this whole <a href="https://fedoraproject.org/wiki/CommOps">Community Operations</a> (shortened to <em>CommOps</em>) thing. It was in the early formation stages, but the core idea behind CommOps was that they were the supporting team to offer support to all the other sub-projects in Fedora. Or in my eyes, a team focused on building and supporting the community with resources and assistance. This was something I thought I could contribute to. My programming skills were not at a level where I&rsquo;d feel comfortable hacking on to Fedora either on the <a href="https://fedoraproject.org/wiki/Infrastructure">Infrastructure</a> or as a <a href="https://fedoraproject.org/wiki/Category:Package_Maintainers">Packager</a>. But CommOps was that kind of thing that hooked me from the start. I wanted to help build Fedora up, and I could see what exactly CommOps was trying to target and how it was wanting to fix the long-term issues.</p>
<p>
<figure>
  <img src="/blog/2016/02/CommOps-Trac-banner.png" alt="Fedora Community Operations (CommOps) logo" loading="lazy">
  <figcaption>The Community Operations (CommOps) logo.</figcaption>
</figure>
</p>
<p>Now, months later, my involvement with CommOps has resulted with <a href="https://fedorahosted.org/fedora-commops/">many tickets filed and many tickets closed</a>. It has been a productive time while I have been with CommOps, and I never feel like there is too little to do. Our horizon is vast and there is much work to be done… 2016 offers great promise to the success of our sub-project, which in turn offers great promise to the Fedora Project. I am looking forward to seeing where this year takes us. I am also happy to work with such an awesome and dedicated group of people as those behind the CommOps team. There are too many to name, but I&rsquo;m thankful for the leadership of Remy to keep us all together, focused, and driven.</p>

<h2 id="2016">2016&nbsp;<a class="hanchor" href="#2016" aria-label="Anchor link for: 2016">🔗</a></h2>
<p>2016 will have a lot of ground to cover over 2015, but there is a large potential for this to be done. My own personal story with open source continues to grow, and I am beyond excited for what the future may bring. I am exposed to a unique group of people and minds here at RIT, and I am actively pursuing the <a href="http://magic.rit.edu/foss/minor.html">Free and Open Source Software (FOSS) minor</a>.</p>
<p>This self-reflection has turned into a much longer post than I anticipated, but I think this reflection is necessary and useful for my own purposes. Taking a moment to reflect on the events of the past year helps remind me what it&rsquo;s all about and why I&rsquo;m doing what I&rsquo;m doing, especially at the times where everything seems confusing and I begin to question what I&rsquo;m doing. But the path is illuminated and I am driven to succeed. There are a lot of things at stake for me and my family, and I hope to be able to meet many personal goals and better support the people closest to me in my life.</p>
<p>I would also like to give a special thanks to all the people who have made this year so incredible for me, and for those who have ridden the ride with me. There are so many names to list, and it&rsquo;s hard to come up with this list in the dark hours of the morning when I know I should be sleeping. But to all of those who play a special and important role in my life, I want you all to know that none of what has happened to me would be possible without your support. Your continued guidance, counsel, and companionship teaches me much and inspires me greatly. My only wish is that I will someday be able to repay all the good deeds that others have bestowed upon me. If not to the original giver, I hope to someday inspire others and help others in the same way you all have shown and taught me. Maybe this is less of a 2016 thing and more of a &ldquo;crystal ball into the future&rdquo; moment… but I think it&rsquo;s worth mentioning regardless.</p>
<p>Thanks for a fantastic 2015. I&rsquo;m looking forward to seeing where 2016 takes us next.</p>
<p>
<figure>
  <img src="/blog/2016/02/January-Photo-Shoot.jpg" alt="Year in Review - Justin Wheeler" loading="lazy">
  <figcaption>Looking forward to 2016 and all that it brings.</figcaption>
</figure>
</p>
]]></description></item><item><title>HFOSS: Smoke test an XO laptop</title><link>https://jwheel.org/blog/2016/02/smoke-test-xo-laptop/</link><pubDate>Mon, 22 Feb 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/02/smoke-test-xo-laptop/</guid><description><![CDATA[<p>
<figure>
  <img src="https://upload.wikimedia.org/wikipedia/commons/4/42/XO-Beta1-mikemcgregor-2.jpg" alt="XO laptop used by the One Laptop Per Child (OLPC) program" loading="lazy">
  <figcaption>The XO laptop deployed by the One Laptop Per Child (OLPC) program</figcaption>
</figure>
</p>
<p>For the next homework assignment in my <a href="https://hfoss-ritjoe.rhcloud.com/">Humanitarian Free and Open Source Software Development</a> (HFOSS) course, we were tasked with running a <a href="http://wiki.laptop.org/go/Smoke_test/11.2.x/1_hour_smoke_test">smoke test</a> of the <a href="https://en.wikipedia.org/wiki/OLPC_XO">XO laptops</a> we are assigned for class. Some of the laptops are notoriously more broken than others. Seeing as how some of these date to around ten years ago, it&rsquo;s easy to understand how they have been become more defunct over the years.</p>
<p>Part of my assignment was to run some basic tests and practices on my XO laptop to make sure it would be capable for most core functionalities. This article will serve as my step-by-step smoke test report on my XO laptop, which I have affectionately named <a href="https://youtu.be/InwMS4J7f-8">Hedron</a>.</p>

<h2 id="beginning-the-smoke-test-start-up">Beginning the smoke test: Start up&nbsp;<a class="hanchor" href="#beginning-the-smoke-test-start-up" aria-label="Anchor link for: Beginning the smoke test: Start up">🔗</a></h2>
<p>The first part of the one hour smoke test guide is to make sure the laptop starts up as expected and functions correctly while starting up. This part of the smoke test took the shortest amount of time.</p>
<ul>
<li>Does the XO start up? <strong>Yes</strong></li>
<li>Do the power LED and backlight work? <strong>Yes</strong></li>
<li>Does the activity ring show after booting? <strong>Yes</strong></li>
<li>Does it automatically connect to a known WiFi network? <strong>Yes</strong></li>
</ul>
<p>In short, the bare minimum requirement (i.e. &ldquo;does it work?&rdquo;) was met.</p>

<h2 id="running-activities-in-the-smoke-test">Running activities in the smoke test&nbsp;<a class="hanchor" href="#running-activities-in-the-smoke-test" aria-label="Anchor link for: Running activities in the smoke test">🔗</a></h2>
<p>For the most part, every activity I ran had the expected behavior that the smoke test walk-through gave. Since there were more things working than there was not, I have a short list of the things that weren&rsquo;t working below.</p>
<ul>
<li><strong>eToys Activity</strong>: Not installed</li>
<li><strong>Read Activity</strong>:
<ul>
<li>Cannot scroll through PDFs (scroll bar non-responsive)</li>
<li>Cannot close and open a new document</li>
<li><em>Terminal Activity</em> doesn&rsquo;t parse anywhere near readable</li>
</ul>
</li>
<li><strong>TurtleArt Activity</strong>: Not installed</li>
<li><strong>Wikipedia Activity</strong>: Cannot search for articles</li>
</ul>

<h2 id="transfer-files-to-usb">Transfer files to USB&nbsp;<a class="hanchor" href="#transfer-files-to-usb" aria-label="Anchor link for: Transfer files to USB">🔗</a></h2>
<p>Transferring files between the XO and a USB drive worked well. However, I didn&rsquo;t actually do this from the SoaS interface, but I switched over to the GNOME2 environment to accomplish this. Perhaps this was cheating, but it was the most effective way to easily move media between flash media and the XO.</p>
<p>My use case was trying to put a <code>yum-utils</code> RPM file on the machine. Oddly enough, the XO doesn&rsquo;t come with <code>yum-utils</code> prepackaged, which makes it difficult to navigate when it comes to updating the XOs to new repository locations.</p>

<h2 id="smoke-test-collaboration">Smoke Test Collaboration&nbsp;<a class="hanchor" href="#smoke-test-collaboration" aria-label="Anchor link for: Smoke Test Collaboration">🔗</a></h2>
<p>On Friday, a group of us met in the Simone Center lobby to work on testing some of the group activities on the XOs. We hit three different activities, and the process we used is documented below.</p>
<p>To begin, we all connected to the same WiFi network (<code>rit</code>) since the WPA2 Enterprise network on RIT&rsquo;s campus didn&rsquo;t play nicely with some of the XOs. There were four of us, so we split into pairs to try the activities since they didn&rsquo;t work well with more than one other person.</p>
<p>The four of us that met were:</p>
<ul>
<li><a href="https://spg1502igme582.wordpress.com/">Stephen</a></li>
<li><a href="http://blog.wilfriede.me/">Wilfried</a></li>
<li><a href="https://rdp1070.wordpress.com/">Bobby</a></li>
</ul>

<h4 id="chat">Chat&nbsp;<a class="hanchor" href="#chat" aria-label="Anchor link for: Chat">🔗</a></h4>
<p>We were able to successfully open a chat room and talk with each other on our local connection. There were a few inconsistencies like messages being delivered late and other minor mishaps, but overall, the functionality behaved as expected.</p>

<h4 id="distance">Distance&nbsp;<a class="hanchor" href="#distance" aria-label="Anchor link for: Distance">🔗</a></h4>
<p>Wilfried and Stephen were able to successfully get the Distance activity to work between their XOs. However, Bobby and I were unable to get them to initiate with each other in the time that we were working on this. We weren&rsquo;t sure if this was a network hiccup or an actual deficiency on the XO.</p>

<h4 id="write">Write&nbsp;<a class="hanchor" href="#write" aria-label="Anchor link for: Write">🔗</a></h4>
<p>We were able to use the Write activity to write in the same notepad as another user. Despite being slow and lackadaisical, it did actually work as expected.</p>

<h2 id="suspension">Suspension&nbsp;<a class="hanchor" href="#suspension" aria-label="Anchor link for: Suspension">🔗</a></h2>
<p>The final test I ran on the XO was shutting the laptop and seeing if it would resume from its former point when I reopened the XO. It was able to do this as expected.</p>
<hr>
<p>In short, I think I lucked out and received one of the most functional devices in the class. After comparing the class inventory to mine, it seems like Hedron the XO is in pretty good shape.</p>]]></description></item><item><title>HFOSS: Double bugfix</title><link>https://jwheel.org/blog/2016/02/hfoss-double-bugfix/</link><pubDate>Mon, 15 Feb 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/02/hfoss-double-bugfix/</guid><description><![CDATA[<p>This article is a further addition to the series of blog posts for my <a href="https://hfoss-ritjoe.rhcloud.com/">Humanitarian Free and Open Source Software Development</a> course at <a href="https://www.rit.edu/">RIT</a>. For this week&rsquo;s homework, we are tasked with finding an open source project, looking at known bugs or finding new ones, and <a href="https://hfoss-ritjoe.rhcloud.com/hw/bugfix">submitting a bugfix</a>. I focused on two projects to begin with: <a href="https://github.com/fedora-infra/mote">møte</a> and <a href="https://github.com/FOSSRIT/FOSSProfiles">FOSSProfiles</a>.</p>

<h2 id="step-1-identifying-the-bugfix">Step 1: Identifying the bugfix&nbsp;<a class="hanchor" href="#step-1-identifying-the-bugfix" aria-label="Anchor link for: Step 1: Identifying the bugfix">🔗</a></h2>

<h4 id="møte">møte&nbsp;<a class="hanchor" href="#m%c3%b8te" aria-label="Anchor link for: møte">🔗</a></h4>
<p><a href="/blog/2016/02/Fedora-Booth-Wide.jpg">
<figure>
  <img src="/blog/2016/02/Fedora-Booth-Wide.jpg" alt="HFOSS bugfix: Looking at møte" loading="lazy">
</figure>
</a></p>
<p>When I started this homework assignment, there was originally one project I had in mind. As a non-code contributor to the Fedora Project, I frequently interact with Fedora&rsquo;s own implementation of Meetbot. <a href="https://wiki.debian.org/MeetBot">Meetbot</a> is an IRC bot that adds meeting functionality to IRC channels. It makes it easy to highlight important info and summarize the meeting into a tidy HTML summary afterwards.</p>
<p>Fedora has a custom front-end for the Meetbot bot. This project is called <a href="https://github.com/fedora-infra/mote">møte</a> and is developed by Fedora contributors <a href="https://github.com/cydrobolt">Chaoyi Zha</a>, <a href="https://github.com/ralphbean">Ralph Bean</a>, and <a href="https://github.com/fedora-infra/mote/graphs/contributors">many others</a>. One of its features is clustering Fedora sub-projects into teams and sorting their meetings together with JSON mappings.</p>
<p>Some Fedora sub-projects do not have their alias or meeting names set in these JSON files, making it difficult for their own team members or the general public from finding the records of their meetings. This inadvertently reduces transparency. Seeing as Fedora is an open project not only in code, but also in action, it made sense to try to clarify these mappings in a better way.</p>

<h4 id="fossprofiles">FOSSProfiles&nbsp;<a class="hanchor" href="#fossprofiles" aria-label="Anchor link for: FOSSProfiles">🔗</a></h4>
<p>More recently than møte, I am working with <a href="https://www.rit.edu/gccis/stephen-jacobs">Prof. Stephen Jacobs</a> this semester with <a href="http://magic.rit.edu/foss/">FOSS@MAGIC</a>. I am on an independent study on Open Source Journalism to help assist with marketing and growing additional exposure for the program. The website for the program is dated in its current form, and one of the goals this semester is to get it rewritten with a more modern, up-to-date layout and information.</p>
<p>One thing we want to have on the site is profiles of our students, alumni, mentors, and faculty. A Jinja-powered HTML generator for student profiles was made over a year ago, titled <a href="https://github.com/FOSSRIT/FOSSProfiles">FOSSProfiles</a>. In this project, students add their information to the repo in the form of YAML files. A user runs a Python script, and the program generates a raw HTML template with all of the students&rsquo; information in the repository. Wow! Useful.</p>
<p>When I went to try running it, I immediately ran into an issue and the program spat out a stacktrace at me. After troubleshooting the program and reading logs, I found two issues:</p>
<ol>
<li>Student biography lines could not be over 140 characters</li>
<li>Python script did not support Python3</li>
</ol>

<h2 id="step-2-doing-the-bugfix">Step 2: Doing the bugfix&nbsp;<a class="hanchor" href="#step-2-doing-the-bugfix" aria-label="Anchor link for: Step 2: Doing the bugfix">🔗</a></h2>

<h4 id="møte-1">møte&nbsp;<a class="hanchor" href="#m%c3%b8te-1" aria-label="Anchor link for: møte">🔗</a></h4>
<p>My commits ranged throughout the month of January and I tried to accomplish a number of things. Before I cloned the repo and started making changes, I crawled around møte for a while to find any teams or meetings that may not have been added.</p>
<p>Thanks to the power of <a href="http://www.fedmsg.com">fedmsg</a>, I was able to make a week of observations about teams that were frequently meeting in Fedora. As I observed for a week about what teams were active or inactive, I made bookmarks to their meeting pages to revisit later on.</p>
<p>After comparing the teams that were present in møte to the meetings I observed in a week, I began adding aliases and mappings for the teams that were lacking in the <a href="https://github.com/fedora-infra/mote/blob/master/name_mappings.json"><code>name_mappings.json</code></a> file. I also added a new category to the <a href="https://github.com/fedora-infra/mote/blob/master/category_mappings.json"><code>category_mappings.json</code></a> file for the <a href="https://fedoraproject.org/wiki/CommOps">Fedora Community Operations</a> team (where I spend a lot of my own time in Fedora).</p>
<p>The Fedora teams I helped identify and add to møte are as follows.</p>
<ul>
<li>CommOps</li>
<li>EMEA (Europe, Middle East, Africa) Ambassadors</li>
<li>Fedora Council (formerly known as Fedora Board)</li>
<li>LATAM (Latin America) Ambassadors</li>
<li>Fedora Magazine editorial board meetings</li>
</ul>
<p>During my time of my bugfix, I made <a href="https://github.com/fedora-infra/mote/commits?author=jflory7">13 commits</a> to the repository. I&rsquo;m not planning to stop there, either – there&rsquo;s a few more teams I hope to try adding to møte in the near future, like the Fedora Workstation, Server, and Cloud special interest groups.</p>
<p>Also in the process of contributing, I discovered a handful of problems and reported them in the issue tracker (see: <a href="https://github.com/fedora-infra/mote/issues/75">#75</a> and <a href="https://github.com/fedora-infra/mote/issues/83">#83</a>).</p>
<p>You can see my bugfix changes live in møte <a href="https://meetbot.fedoraproject.org/browse/">here</a>! Thanks Chaoyi for helping mentor me along in contributing.</p>

<h4 id="fossprofiles-1">FOSSProfiles&nbsp;<a class="hanchor" href="#fossprofiles-1" aria-label="Anchor link for: FOSSProfiles">🔗</a></h4>

<h6 id="140-char-maximum">140 char maximum&nbsp;<a class="hanchor" href="#140-char-maximum" aria-label="Anchor link for: 140 char maximum">🔗</a></h6>
<p>My first step with this bugfix was in troubleshooting the stacktrace I was given running the program in Python2. The stacktrace confirmed the error was that a profile biography was over 140 characters long, and I began sorting through all existing profiles to find any that were over the limit. After a little bit of searching, I found that <a href="https://github.com/FOSSRIT/FOSSProfiles/blob/4b680e03e0a113e874687403b0de797b7f8a5d62/profiles/student/wilfriedE.yaml"><code>wilfriedE.yaml</code></a> was the one over the 140 character limit. This was an easy correction and after making changes, I was able to run the program with Python2.</p>

<h6 id="python3-support">Python3 support&nbsp;<a class="hanchor" href="#python3-support" aria-label="Anchor link for: Python3 support">🔗</a></h6>
<p>Lastly, I wanted to add support for Python3 to this program so it would run in a modern and current workstation. This in particular required a lot of research for me to look into as I had never programmed in Python before.</p>
<p>My first problem with running the script in Python3 was an ImportError for a specific module, <a href="https://docs.python.org/2/library/itertools.html#itertools.ifilter"><code>ifilter</code></a>. After searching for an answer, I found an easy fix. It was supported by default in Python3! To fix this error was as simple as removing the line.</p>
<p>Secondly, after fixing the ImportError, I found a certain string was required to be encoded as <a href="https://en.wikipedia.org/wiki/UTF-8">UTF-8</a> before Python3 was able to handle it. After looking up the <a href="http://pythoncentral.io/encoding-and-decoding-strings-in-python-3-x/">encode() method</a> and figuring out how it worked, I simply encoded the string to UTF-8. That wasn&rsquo;t so bad…</p>

<h2 id="step-3-post-bugfix-analysis">Step 3: Post-bugfix analysis&nbsp;<a class="hanchor" href="#step-3-post-bugfix-analysis" aria-label="Anchor link for: Step 3: Post-bugfix analysis">🔗</a></h2>
<p>For me, the most fun part was the optional part of the assignment to the end. As part of the assignment, we could add our projects to OpenHub. <a href="https://www.openhub.net/">OpenHub</a> is an aggregator of open source projects that makes it easy to discover, track, and compare open source projects across the web.</p>
<p>I added a project page for <a href="https://www.openhub.net/p/mote-meetbot">møte</a> and <a href="https://www.openhub.net/p/FOSSatMAGIC-FOSSProfiles">FOSSProfiles</a> and claimed my contributions as a contributor.</p>
<p>I&rsquo;m also playing around with other projects in OpenHub… you can find my profile <a href="https://www.openhub.net/accounts/jflory7">here</a>.</p>]]></description></item><item><title>HFOSS: Reviewing "What is Open Source?", Steve Weber</title><link>https://jwheel.org/blog/2016/02/reviewing-what-is-open-source-steve-weber/</link><pubDate>Mon, 08 Feb 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/02/reviewing-what-is-open-source-steve-weber/</guid><description><![CDATA[<p>
<figure>
  <img src="http://steveweber.typepad.com/.a/6a00d83423046e53ef00e55004c30a8833-150wi" alt="What is Open Source? - Steve Weber" loading="lazy">
  <figcaption>Steve Weber</figcaption>
</figure>
</p>
<p>This blog post is part of an assignment for my <a href="https://hfoss-ritjoe.rhcloud.com/">Humanitarian Free and Open Source Software Development</a> course at the <a href="https://www.rit.edu/">Rochester Institute of Technology</a>. For this assignment, we are tasked with reading Chapter 3 of Steve Weber&rsquo;s &ldquo;<em><a href="https://hfoss-ritjoe.rhcloud.com/static/books/Weber-SuccessofOpenSource-Chap3.pdf">The Success of Open Source</a></em>&rdquo;. The summary of the reading is found below.</p>

<h2 id="who">Who&nbsp;<a class="hanchor" href="#who" aria-label="Anchor link for: Who">🔗</a></h2>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Steven_Weber_%28professor%29">Steve Weber</a>, professor at the University of California, Berkeley</li>
</ul>

<h2 id="what">What&nbsp;<a class="hanchor" href="#what" aria-label="Anchor link for: What">🔗</a></h2>
<ul>
<li>&ldquo;<em>The Success of Open Source</em>&rdquo;</li>
</ul>

<h2 id="where">Where&nbsp;<a class="hanchor" href="#where" aria-label="Anchor link for: Where">🔗</a></h2>
<ul>
<li>Excerpt of reading found in the HFOSS <a href="https://hfoss-ritjoe.rhcloud.com/static/books/Weber-SuccessofOpenSource-Chap3.pdf">ofCourse resources</a> or available for purchase on <a href="http://www.amazon.com/Success-Open-Source-Steven-Weber/dp/0674018583">Amazon</a></li>
</ul>

<h2 id="when">When&nbsp;<a class="hanchor" href="#when" aria-label="Anchor link for: When">🔗</a></h2>
<ul>
<li>August 22nd, 2005</li>
</ul>

<h2 id="the-gist">The Gist&nbsp;<a class="hanchor" href="#the-gist" aria-label="Anchor link for: The Gist">🔗</a></h2>
<p><em>You&rsquo;re in a social setting. Someone says &ldquo;Hey, did you ever read X?&rdquo; You quickly respond &ldquo;Oh heck yeah! X was {awesome,terrible}!&rdquo; The person next to you in the circle says &ldquo;Oh snap, I didn&rsquo;t read X. What was it about&hellip;?&rdquo; You have exactly 3 lines, MAX, to prove you are not a hipster—and &ldquo;The Gist&rdquo; is those 3 lines.</em></p>
<p>Chapter 3 of &ldquo;<em>What is Open Source?</em>&rdquo; essentially aims to define what open source development is as a &ldquo;thing&rdquo;, describe the process in which it works, the problems it tries to solve, and how it does them. He lightly touches on many core concepts of open source, such as licensing, who is a contributor and what makes someone a contributor in open source, and how the new method of collaboration has positives and negatives—something that reflects human nature.</p>

<h2 id="the-good">The Good&nbsp;<a class="hanchor" href="#the-good" aria-label="Anchor link for: The Good">🔗</a></h2>
<p>The three best things I took out of this excerpt were:</p>
<ul>
<li>The eight general principles of what people do in the open source process (starting on pg. 73)
<ul>
<li>I thought this was a good analysis and breakdown of how things tend to work in open source, and is something I think I will end up referring to even in the future.</li>
</ul>
</li>
<li>Analyzing Linus Torvalds&rsquo; role as the &ldquo;<a href="https://en.wikipedia.org/wiki/Benevolent_dictator_for_life">Benevolent Dictator for Life</a>&rdquo; in the Linux project and how that is reflective of some open source communities</li>
<li>How exactly open source licensing tries to build a positive and open social structure beneficial to the user (pg. 85)
<ul>
<li>Licensing is something I&rsquo;m passionate about in particular with open source, and the author&rsquo;s words resounded with my own thoughts about licensing. It&rsquo;s leaving me wanting to develop my own thoughts and opinions on open source licensing further.</li>
</ul>
</li>
</ul>

<h2 id="the-bad">The Bad&nbsp;<a class="hanchor" href="#the-bad" aria-label="Anchor link for: The Bad">🔗</a></h2>
<p>My least favorite things from this excerpt were:</p>
<ul>
<li>BSD-style licenses are prohibitive to real collaboration (pg. 63)
<ul>
<li>I disagree with this, especially as it seems to have a particular favoring towards the GPL. While I may also represent the opposite bias, I don&rsquo;t think these licenses necessarily make a project &ldquo;not vitally collaborative on a very large scale&rdquo; as the author states.</li>
</ul>
</li>
<li>Principle #8 of the open source process: &ldquo;Talk a lot&rdquo; (pg. 81-82)
<ul>
<li>I agree, talking happens a <em>lot</em> in open source… on hot topic, controversial topics. Usually this happens on the development lists more than other things. But what are &ldquo;other things&rdquo;? For larger projects, there are more areas that are important, such as Marketing, Translations / Globalization, on-boarding new contributors, and more. <strong>There are not enough people talking in these groups</strong>. I think that strictly from a code perspective, topics are many and discussion is much. But on other areas of a project? Unless you have people being paid full-time to work on it, volunteers are far and few in between.</li>
<li>I also partly disagree with the vehemence of open source discussion. I do not think we can disagree lists like the Linux Kernel Mailing Lists are not the most friendly of places. But there are projects that have clearly defined codes of conduct and how to behave. In my experience in Fedora, the community was beyond welcoming to me when I began contributing, and I never experienced any of the harshness or close-mindedness that is sometimes associated with open-source development. I think the example the author used then may have been the norm, but over the years, I think others have seen that the harshness is not sustainable and closes the door on adding new, valuable insight from potential contributors, and they try to reflect this in their own projects.</li>
</ul>
</li>
<li>Lastly, I hope <a href="https://hfoss-ritjoe.rhcloud.com/instructor">dzho</a> will let me pass on the third &ldquo;bad&rdquo; thing for the list, as the above two topics were the only things that distinctly stuck out to me.</li>
</ul>

<h2 id="the-questions">The Questions&nbsp;<a class="hanchor" href="#the-questions" aria-label="Anchor link for: The Questions">🔗</a></h2>
<p>Three questions I had after reading the chapter were:</p>
<ul>
<li>Eleven years have passed since the book was published. What does the author think of the open source scene in 2016?</li>
<li>In particular, are open source communities largely as harsh as he originally described or does he feel like a new era is beginning or begun in terms of the inclusiveness of open source projects?</li>
<li>What made you believe that BSD-style licenses are contradictory to real collaboration in open source?</li>
</ul>

<h2 id="your-review">Your Review&nbsp;<a class="hanchor" href="#your-review" aria-label="Anchor link for: Your Review">🔗</a></h2>
<p><em>Imagine you are on Yelp, Amazon, eBay, Netflix, or any other online community that has customer reviews. This is the message that you want to leave behind, to represent yourself, and inform (or warn) others. You should add a quick rating system of your choosing (X/Y stars, X thumbs up) as part of the review.</em></p>
<p>★ ★ ★ ★ ☆</p>
<p>Overall, I rate this article four out of five stars. I think it did a fairly effective job of analyzing open source in the twenty-first century. While some small sections of the book may have changed in the eleven years since original publication, most of the content is still very much relevant and very much important. I would share this chapter with a friend or another student who was seriously considering getting involved with open source. That goes without saying, I might explicitly add a few extra comments of my own to the small subset of the chapter that I disagreed with.</p>]]></description></item><item><title>HFOSS: The First Flight</title><link>https://jwheel.org/blog/2016/01/hfoss-first-flight/</link><pubDate>Thu, 28 Jan 2016 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2016/01/hfoss-first-flight/</guid><description><![CDATA[<p>
<figure>
  <img src="/blog/2016/01/FOSS-@-MAGIC.png" alt="HFOSS: The FOSS @ MAGIC logo" loading="lazy">
  <figcaption>FOSS @ MAGIC (<a href="http://magic.rit.edu/foss/" class="bare">http://magic.rit.edu/foss/</a>), the program that hosts the FOSS minor</figcaption>
</figure>
</p>
<p>This past year, I enrolled as a student at the <a href="http://www.rit.edu/">Rochester Institute of Technology</a> in Rochester, NY. For me, this is quite a distance from my hometown just outside of Atlanta, GA. Part of the motivation that led me to choose RIT as my university of choice was its participation in <a href="https://en.wikipedia.org/wiki/Free_and_open-source_software">Free and Open Source Software</a> education and communities. RIT is one of the few schools in the United States to offer a <a href="http://magic.rit.edu/foss/minor.html">minor</a> in Free and Open Source Software.</p>
<p>As part of my time here at RIT, I plan to take on the minor. This semester marks the first milestone of this specific track for me. I am taking the <a href="http://hfoss-ritjoe.rhcloud.com/">Humanitarian Free and Open Source Software</a> (HFOSS) course, and the first assignment for our class was writing a blog post about getting introduced into the class.</p>

<h2 id="hfoss-my-expectations">HFOSS: My expectations&nbsp;<a class="hanchor" href="#hfoss-my-expectations" aria-label="Anchor link for: HFOSS: My expectations">🔗</a></h2>
<p>Going into the HFOSS course, I was reluctant because of my inexperience with programming as a whole. The course is definitely strongly focused towards a programming aspect, but it is not strictly dedicated to firing out open source code.</p>
<p>On the contrary, this course is an introduction to &ldquo;FOSS&rdquo; as a whole. What is it? What tools are used in open source? How do people communicate and contribute? Why work in the open? These are all questions that the course seems targeted towards answering. In order to answer these questions, many methods will be used, some ancillary to the programming that is necessary for many free and open source projects.</p>
<p>I expect this course to be a challenge because I know that I can&rsquo;t escape working on a large project or two this semester that will push my abilities and require me to adapt to meet the requirements. I am not as worried about learning the tooling, culture, or common practices that go along with open source because I am moderately familiar with them already. That goes without saying, I am not a master of it all. In the big picture for this class, I feel like I will have a head-start in some areas, while in others I will have to double up to keep up.</p>

<h2 id="hfoss-what-i-plan-to-contribute">HFOSS: What I plan to contribute&nbsp;<a class="hanchor" href="#hfoss-what-i-plan-to-contribute" aria-label="Anchor link for: HFOSS: What I plan to contribute">🔗</a></h2>
<p>This semester, I&rsquo;m also hoping to contribute back to the class as well as take something out of it. With some of my experience with open source tooling and understanding of how other projects work, I hope to share my own experiences when and where needed. Additionally, I am paying extra attention for open source communities or projects where I might be able to contribute especially closer to the end of the semester, to fulfill the humanitarian aspect of the course.</p>
<p>By default, the course is targeted towards the <a href="https://en.wikipedia.org/wiki/One_Laptop_per_Child">One Laptop Per Child</a> (OLPC) program. Towards the end of the semester, the final project is creating a game on the hardware used on these machines with a spin towards 4th grade math curriculum in New York State. Another project I am a contributor of, the <a href="https://fedoraproject.org/wiki/Overview">Fedora Project</a>, has close ties to the OLPC program and helps develop the desktop environment used on the machines, <a href="https://spins.fedoraproject.org/en/soas/">Sugar on a Stick</a>.</p>
<p>However, there is flexibility about what the final project could be on a per-student basis. Therefore, I am looking out for a particular project that I might feel a personal connection or passion towards where I feel I could help make an impact.</p>
<p>This sets the course and itinerary for the trip… we&rsquo;ll see where I land as the semester progresses.</p>]]></description></item></channel></rss>