<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rit-Linux-Users-Group-Ritlug</title><link>https://jwheel.org/tags/rit-linux-users-group-ritlug/</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>Sun, 24 May 2020 00:00:00 +0000</lastBuildDate><atom:link href="https://jwheel.org/rss/tags/rit-linux-users-group-ritlug/index.xml" rel="self" type="application/rss+xml"/><item><title>TeleIRC v2.0.0 is officially here!</title><link>https://jwheel.org/blog/2020/05/teleirc-v2-0-0-is-officially-here/</link><pubDate>Sun, 24 May 2020 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2020/05/teleirc-v2-0-0-is-officially-here/</guid><description><![CDATA[<p>After almost eight months of work, the TeleIRC Team is happy to announce <strong>General Availability of TeleIRC v2.0.0 today</strong>. Thanks to the hard work of our volunteer community, we are celebrating an on-time release of a major undertaking to make a more sustainable future for TeleIRC.</p>

<h2 id="download-teleirc-v200-now"><a href="https://github.com/RITlug/teleirc/releases/tag/v2.0.0">Download TeleIRC v2.0.0 now!</a>&nbsp;<a class="hanchor" href="#download-teleirc-v200-now" aria-label="Anchor link for: Download TeleIRC v2.0.0 now!">🔗</a></h2>
<p>If you want to skip the text and get to the software, head to the <a href="https://github.com/RITlug/teleirc/releases/tag/v2.0.0">GitHub v2.0.0 release</a> for more info. If you want the story behind this release, read on!</p>

<h2 id="eight-months-later">Eight months later…&nbsp;<a class="hanchor" href="#eight-months-later" aria-label="Anchor link for: Eight months later…">🔗</a></h2>
<p>The conversation started in a university hallway after the first RIT Linux Users Group meeting in the Fall 2019 semester. Together, <a href="https://github.com/Tjzabel">Tim Zabel</a>, <a href="https://github.com/Zedjones">Nicholas Jones</a>, and <a href="https://jwheel.org/">Justin Wheeler</a> set out to <a href="https://github.com/RITlug/teleirc/issues/163">rewrite TeleIRC from NodeJS to Go</a>. This was done to address a growing backlog of challenging feature requests on TeleIRC, but also a way for us to gain more experience working with Go. Along the way, we also ended up <a href="/blog/2020/03/teleirc-v2-0-0-march-2020-progress-update/">facilitating an agile-inspired software release process</a> adapted for open source.</p>
<p>So, what happened in the eight months after the first conversation? The team meet for weekly meetings each Saturday afternoon (at first in-person, later virtually), two new core contributors joined the team, and some drive-by contributors provided feedback andf added code to the new release. There were charts, whiteboards and dry-erase markers, and lots of Blue Jeans video calls. But after all this time, we made it to release day!</p>

<h2 id="thank-you-amazing-volunteer-contributors">Thank you amazing volunteer contributors!&nbsp;<a class="hanchor" href="#thank-you-amazing-volunteer-contributors" aria-label="Anchor link for: Thank you amazing volunteer contributors!">🔗</a></h2>
<p>This endeavor was a shared commitment by our volunteer committer team. All five of the volunteer core maintainers spread patience and sustained effort over time. At the end, we made something really cool to show for this work.</p>
<p>A <strong><em>huge</em></strong> thanks to our core maintainers and all current and past contributors to TeleIRC. You have all contributed to the success (and motivation!) for this project. It is fun to work on cool projects with friends!</p>
<p>A proper shout-out goes to the core maintainers who joined the team over the last eight months working on this release:</p>
<ul>
<li><a href="https://github.com/kennedy">Kennedy Kong</a></li>
<li><a href="https://github.com/10eMyrT">Kevin Assogba</a></li>
<li><a href="https://github.com/Zedjones">Nicholas Jones</a></li>
<li><a href="https://github.com/Tjzabel">Tim Zabel</a></li>
</ul>

<h2 id="i-found-a-bug-in-teleirc-v200">&ldquo;I found a bug in TeleIRC v2.0.0!&rdquo;&nbsp;<a class="hanchor" href="#i-found-a-bug-in-teleirc-v200" aria-label="Anchor link for: &ldquo;I found a bug in TeleIRC v2.0.0!&rdquo;">🔗</a></h2>
<p>If you run into a problem, check out the <a href="https://docs.teleirc.com/">TeleIRC documentation</a> and <a href="https://github.com/RITlug/teleirc/issues/new/choose">open an issue</a> if it does not answer your questions.</p>

<h2 id="get-in-touch">Get in touch!&nbsp;<a class="hanchor" href="#get-in-touch" aria-label="Anchor link for: Get in touch!">🔗</a></h2>
<p>If you have questions, <a href="https://github.com/RITlug/teleirc/tree/v2.0.0#live-demo">get in touch</a> with the developer community. You can find us <a href="https://t.me/teleirc">on Telegram</a> and <a href="https://webchat.freenode.net/#rit-lug-teleirc">on IRC</a> (<code>#rit-lug-teleirc</code> on <em>chat.freenode.net</em>).</p>]]></description></item><item><title>What's new in TeleIRC v2.0.0</title><link>https://jwheel.org/blog/2020/05/whats-new-in-teleirc-v2-0-0/</link><pubDate>Sun, 24 May 2020 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2020/05/whats-new-in-teleirc-v2-0-0/</guid><description><![CDATA[<p>TeleIRC v2.0.0 is the latest major release of our open source Telegram &lt;=&gt; IRC bridge. Download the <a href="https://github.com/RITlug/teleirc/releases/tag/v2.0.0">latest release</a> and read the <a href="/blog/2020/05/teleirc-v2-0-0-is-officially-here/">release announcement</a> for the full story.</p>
<p>There are several new and noteworthy changes in TeleIRC v2.0.0. This post walks you through the major changes and differences for TeleIRC v2.0.0. Read on for the highlight reel of this release.</p>

<h2 id="full-rewrite-to-go">Full rewrite to Go&nbsp;<a class="hanchor" href="#full-rewrite-to-go" aria-label="Anchor link for: Full rewrite to Go">🔗</a></h2>
<p>TeleIRC v2.0.0 is a complete and total rewrite. With the lessons learned and best practices of the NodeJS v1.x.x releases under our belt, the team set out in September 2019 to rewrite TeleIRC in Go. The rewrite was motivated by fun and personal interest, but it was also intended to make the future of TeleIRC more sustainable.</p>
<p>The rewrite makes TeleIRC simple, fast, and lightweight. TeleIRC is unique from other chat bridge software, which usually focus on extensive configuration and supporting many chat platforms.</p>
<p>Additionally, the success criteria in order to release was feature parity with v1.x.x releases. The team accomplished this almost completely, with one exception. <strong>TeleIRC v2.0.0 does not include Imgur image upload for IRC</strong>; however, a v2.1.0 feature release will include Imgur support.</p>
<p>To summarize, TeleIRC v2.0.0 is written to be a simple and excellent Telegram &lt;=&gt; IRC bridge. No more, no less.</p>

<h2 id="run-teleirc-v200-as-a-compiled-binary">Run TeleIRC v2.0.0 as a compiled binary&nbsp;<a class="hanchor" href="#run-teleirc-v200-as-a-compiled-binary" aria-label="Anchor link for: Run TeleIRC v2.0.0 as a compiled binary">🔗</a></h2>
<p>The new release is available as a standalone 8 MB binary. The only deployment assets needed are the binary and a config file. Other pathways, including build from source and Ansible Roles, are also available.</p>
<p>This is a departure from TeleIRC v1.x.x releases, which required a NodeJS run-time and installing project dependencies. TeleIRC v2.0.0 does not require a Go run-time on the host.</p>

<h2 id="improved-teleirc-v200-documentation">Improved TeleIRC v2.0.0 documentation&nbsp;<a class="hanchor" href="#improved-teleirc-v200-documentation" aria-label="Anchor link for: Improved TeleIRC v2.0.0 documentation">🔗</a></h2>
<p>End user feedback shaped and improved documentation during development.</p>
<p>Thanks to feedback collected during the pre-release process, the documentation is simplified and written to be easy to understand. We hope you find the <a href="https://docs.teleirc.com/en/latest/user/quick-start/">TeleIRC Quick Start</a> page a helpful introduction to getting TeleIRC running in little time.</p>

<h2 id="future-roadmap-for-containers">Future roadmap for containers&nbsp;<a class="hanchor" href="#future-roadmap-for-containers" aria-label="Anchor link for: Future roadmap for containers">🔗</a></h2>
<p>Because of <a href="/blog/2020/03/teleirc-v2-0-0-march-2020-progress-update/">v2.0.0 design decisions</a>, there is a planned future for container and container orchestration use cases. At release time, a <a href="https://github.com/RITlug/teleirc/tree/v2.0.0/deployments/container">Dockerfile is available</a>, but it is not yet tested or documented.</p>
<p>In future releases, the TeleIRC Team will continue to test the container image and iron out bugs. Future deployment assets and documentation will offer pathways to run TeleIRC in Kubernetes or OpenShift v4.x.x.</p>
<hr>
<p><em>Article format inspired by Ryan Lerch&rsquo;s format for &ldquo;<a href="https://fedoramagazine.org/whats-new-fedora-32-workstation/">What&rsquo;s new in Fedora Workstation</a>&rdquo;.</em></p>]]></description></item><item><title>TeleIRC v2.0.0: March 2020 progress update</title><link>https://jwheel.org/blog/2020/03/teleirc-v2-0-0-march-2020-progress-update/</link><pubDate>Thu, 19 Mar 2020 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2020/03/teleirc-v2-0-0-march-2020-progress-update/</guid><description><![CDATA[<p>Since September 2019, the <a href="https://ritlug.com/">RITlug</a> TeleIRC team is hard at work on the <a href="https://github.com/RITlug/teleirc/milestone/8">v2.0.0 release</a> of TeleIRC. This blog post is a short update on what is coming in TeleIRC v2.0.0, our progress so far, and when to expect the next major release.</p>

<h2 id="whats-coming-in-teleirc-v200">What&rsquo;s coming in TeleIRC v2.0.0?&nbsp;<a class="hanchor" href="#whats-coming-in-teleirc-v200" aria-label="Anchor link for: What&rsquo;s coming in TeleIRC v2.0.0?">🔗</a></h2>
<p>TeleIRC v2.0.0 is a complete rewrite of TeleIRC. The team is migrating the code base <a href="https://github.com/RITlug/teleirc/issues/163">from NodeJS to Go</a>. In September 2019, the team began scoping the requirements and how to approach this large task. TeleIRC v2.0.0 does not add new features, but aims to have feature parity with the v1.x.x version of TeleIRC.</p>
<p>You might be asking, why bother with a total rewrite? What does this actually accomplish for the project? To answer this question, some historical context is needed!</p>

<h3 id="teleirc-v100-was-an-experiment">TeleIRC v1.0.0 was an experiment.&nbsp;<a class="hanchor" href="#teleirc-v100-was-an-experiment" aria-label="Anchor link for: TeleIRC v1.0.0 was an experiment.">🔗</a></h3>
<p><a href="https://github.com/RITlug/teleirc/releases/tag/v1.0.0">TeleIRC v1.0.0</a> was originally created and released in September 2016 by RIT alum <a href="https://github.com/repkam09">Mark Repka</a>. Mark created TeleIRC as a cool project for the RIT Linux Users Group (RITlug) when he was a student and vice president of RITlug. The project was written in hackathon spirit: to prove that something that was not yet common wasn&rsquo;t that hard to do.</p>
<p>Fast forward to today: TeleIRC ends up being pretty popular! As do chat bridges (Matterbridge, Matrix/Riot, etc.) as a whole. The <a href="https://docs.fedoraproject.org/en-US/project/">Fedora Project</a> is one of our largest users, with a dedicated <a href="https://docs.fedoraproject.org/en-US/teleirc-sig/">Special Interest Group</a> to manage the bots. The <a href="https://www.libreoffice.org/about-us/who-are-we/">LibreOffice community</a> is another one of our biggest users. Several international communities also adopted TeleIRC to make their chat rooms more accessible to a new generation of open source fans. Some example users are Linux and BSD user groups and hackerspaces in Argentina, Albania, and across Asia. You can see the <a href="https://docs.teleirc.com/en/latest/about/who-uses-teleirc/">full list of TeleIRC users</a> for yourself.</p>
<p>TeleIRC has grown in a way we never thought it would. Which is awesome! But the project was not originally designed to grow or scale the way it has. Additionally, by being at a university, contributors come and go as students graduate and move on to industry. We also have to think about how to maintain TeleIRC beyond the typical student life-cycle common in the academic world.</p>

<h3 id="lets-approach-teleirc-v200-as-engineers">Let&rsquo;s approach TeleIRC v2.0.0 as engineers.&nbsp;<a class="hanchor" href="#lets-approach-teleirc-v200-as-engineers" aria-label="Anchor link for: Let&rsquo;s approach TeleIRC v2.0.0 as engineers.">🔗</a></h3>
<p>A full rewrite allows us to fully leverage our knowledge as software engineers. In 2020, we know TeleIRC has a large user community and is an important part of how many open source communities communicate. We also know that breaking code into smaller, more modular pieces makes it easier to maintain and bring in new contributors. A full rewrite allows us to apply the lessons the team has learned over the years, in a way that incremental feature releases does not allow.</p>
<p>A few areas are in clear focus for the TeleIRC v2.0.0 rewrite:</p>
<ol>
<li>Write clean, simple code that is easy to understand</li>
<li>Test the code so it is easy to tell when things are working and when they aren&rsquo;t</li>
<li>Think about how to bring in new contributors to continue the project in the future</li>
</ol>
<p>But maybe you are also asking, why the jump to Go?</p>

<h3 id="a-go-rewrite-distinguishes-our-project">A Go rewrite distinguishes our project.&nbsp;<a class="hanchor" href="#a-go-rewrite-distinguishes-our-project" aria-label="Anchor link for: A Go rewrite distinguishes our project.">🔗</a></h3>
<p>When Mark and I launched the project in 2016, we didn&rsquo;t look around to see if anything else like RITlug&rsquo;s TeleIRC already existed. Turns out, there was <a href="https://github.com/FruitieX/teleirc">another NodeJS project</a> with the same name. Skip forward a few years, and there are also projects like <a href="https://github.com/42wim/matterbridge">Matterbridge</a>, <a href="https://github.com/sfan5/pytgbridge">pytgbridge</a>, and <a href="https://github.com/xypiie/teleirc">other implementations</a>. So, with all this commotion out there these days, why bother with our version of yet another chat bridge?</p>
<p>First, there is one design principle guiding our project from others like us: to do one thing and to do it well. Matterbridge is an excellent tool, and we even use it in conjunction with TeleIRC at our university. However, it is a complex tool with many features and options. For some people, this is a non-issue. But the TeleIRC team likes to think there is beauty in simplicity. Instead of offering a tool with the most features and configuration options, we aspire to do a single thing and to do it really well: connect Telegram groups and IRC channels together.</p>
<p>Second, although the FruitieX/teleirc project is archived today, it was once the biggest alternative to our project, also written in NodeJS. When we decided to launch TeleIRC v2.0.0 development, it had a larger community and user base then ours. So instead of offering a &ldquo;similar but different&rdquo; NodeJS project, we would be the first Telegram-IRC bridge written in Go. (Yes, Matterbridge is also written in Go, but see the above paragraph.)</p>
<p>Third… many of the existing maintainers of TeleIRC simply wanted an excuse to learn Go. It is an opportunity to expand our knowledge, experience, and skills, especially since we are students preparing to enter the industry.</p>

<h3 id="go-has-a-better-story-for-kubernetes--openshift">Go has a better story for Kubernetes / OpenShift.&nbsp;<a class="hanchor" href="#go-has-a-better-story-for-kubernetes--openshift" aria-label="Anchor link for: Go has a better story for Kubernetes / OpenShift.">🔗</a></h3>
<p>Finally, we are carefully considering the needs of one of our biggest downstream users: the <strong>Fedora Project</strong>. Several TeleIRC developers also support Fedora&rsquo;s TeleIRC SIG. Recently, the Fedora Infrastructure team launched an OpenShift instance for the Fedora community, called <a href="https://fedoraproject.org/wiki/Infrastructure/Communishift">Communishift</a>. All existing infrastructure in Fedora is gradually moving from virtual machines or OpenStack to OpenShift. To support this migration, we want to make a Go-based TeleIRC as easy to deploy in OpenShift as possible.</p>
<p>And fortunately, Go has a great story in the container orchestration world. Kubernetes and OpenShift are also Go-based projects. Go is the dominant language of this ecosystem. Its excellent performance in the niche of networking makes it a great choice for what TeleIRC does.</p>
<p>Now that you know more about the &ldquo;why is this happening,&rdquo; let&rsquo;s talk on where things are and what you can expect!</p>

<h2 id="teleirc-v200-progress-so-far">TeleIRC v2.0.0: Progress so far&nbsp;<a class="hanchor" href="#teleirc-v200-progress-so-far" aria-label="Anchor link for: TeleIRC v2.0.0: Progress so far">🔗</a></h2>
<p><strong>TeleIRC v2.0.0 is approximately 76% complete</strong>. All progress is tracked in the <a href="https://github.com/RITlug/teleirc/milestone/8">v2.0.0 milestone</a> on GitHub. <a href="https://github.com/RITlug/teleirc/milestone/8?closed=1">46 issues and pull requests were closed</a> since we began in September 2019. At publishing time, about 16 more issues and pull requests are left before we cut the v2.0.0 release.</p>
<p>Earlier in 2019, the maintainer team consisted of <a href="https://github.com/justwheel">Justin Wheeler</a>, <a href="https://github.com/Tjzabel">Tim Zabel</a>, <a href="https://github.com/xforever1313">Seth Hendrick</a>, <a href="https://github.com/thenaterhood">Nate Levesque</a>, <a href="https://github.com/nic-hartley">Nic Hartley</a>, and <a href="https://github.com/robbyoconnor">Robby O&rsquo;Connor</a>. Now joining the committer group, we are happy to welcome <strong><a href="https://github.com/Zedjones">Nicholas Jones</a>, <a href="https://github.com/10eMyrT">Kevin Assogba</a>, and <a href="https://github.com/kennedy">Kennedy Kong</a></strong> to the team. The current core group of maintainers for v2.0.0 are Justin, Tim, Nicholas, Kevin, and Kennedy.</p>

<h2 id="when-to-expect-teleirc-v200">When to expect TeleIRC v2.0.0&nbsp;<a class="hanchor" href="#when-to-expect-teleirc-v200" aria-label="Anchor link for: When to expect TeleIRC v2.0.0">🔗</a></h2>
<p>TeleIRC v2.0.0 is targeted for a release date of <strong>Friday, May 15th, 2020</strong>. At this point, we expect to have full feature parity with the v1.x.x version. We will recommend all existing users to upgrade to the latest release then.</p>
<p>In the meanwhile, the team is getting ready to <a href="https://github.com/RITlug/teleirc/issues/265">cut a v2.0.0-pre1 release</a>, our first &ldquo;pre-release&rdquo; of the Go port. We expect this release to be available on our <em><a href="https://github.com/RITlug/teleirc/releases">Releases</a></em> by Saturday, March 28th. Along with the v2.0.0-pre1 release, there are a few other details to note:</p>
<ol>
<li><a href="https://github.com/RITlug/teleirc/milestone/9?closed=1">TeleIRC v1.5.0</a>, the final version of the NodeJS version, will be released.</li>
<li>No future contributions will be accepted to the NodeJS version.</li>
<li><code>master</code> branch in git will reflect the latest Go version of TeleIRC.</li>
</ol>
<p>Once the v2.0.0-pre1 release is available, we want help to take it for a test drive! If TeleIRC is critical for you, we do not recommend using it yet, as it does not have full feature parity yet. But your early feedback can help improve the future of the next release while we are in active development.</p>

<h2 id="get-involved-with-teleirc">Get involved with TeleIRC!&nbsp;<a class="hanchor" href="#get-involved-with-teleirc" aria-label="Anchor link for: Get involved with TeleIRC!">🔗</a></h2>
<p>You can be a part of the upcoming TeleIRC v2.0.0 release. We&rsquo;d love your help! There is no formal commitment to contributing, although we ask for participation through a single sprint cycle.</p>
<p>Read our <a href="https://docs.teleirc.com/en/latest/dev/contributing/"><em>Contributing guidelines</em></a> on how to get started with TeleIRC. <a href="https://rit.bluejeans.com/564315135">Virtual developer meetings</a> take place every Saturday at 15:00 US EDT, so anyone can join and participate.</p>
<p>Come say hello in our developer chat rooms, either on <a href="https://webchat.freenode.net/#ritlug-teleirc">IRC</a> or in <a href="https://t.me/teleirc">Telegram</a>!</p>
<hr>
<p><em><a href="https://unsplash.com/photos/guiQYiRxkZY">Background photo</a> by <a href="https://unsplash.com/@epicantus">Daria Nepriakhina</a> on <a href="https://unsplash.com/">Unsplash</a>.</em></p>]]></description></item><item><title>TeleIRC v1.3.1 released with quality-of-life improvements</title><link>https://jwheel.org/blog/2019/04/teleirc-v1-3-1-released/</link><pubDate>Mon, 22 Apr 2019 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2019/04/teleirc-v1-3-1-released/</guid><description><![CDATA[<p>On April 20th, 2019, the TeleIRC development team <a href="https://github.com/RITlug/teleirc/releases/tag/v1.3.1">released TeleIRC v1.3.1</a>, the latest version after the final development sprint for the university semester. This release introduces minor improvements in order to accommodate heavier work-balance loads on our volunteer contributors. However, it gave us an opportunity to reduce technical debt. This blog post explains what&rsquo;s new in TeleIRC v1.3.1 and also offers a retrospective into how this last sprint went.</p>
<p>Special thanks and appreciation goes to <a href="https://www.linkedin.com/in/tim-zabel/">Tim Zabel</a> and <a href="https://github.com/nic-hartley">Nic Hartley</a> for their contributions this release cycle.</p>

<h2 id="whats-new">What&rsquo;s new&nbsp;<a class="hanchor" href="#whats-new" aria-label="Anchor link for: What&rsquo;s new">🔗</a></h2>
<ul>
<li>Bold usernames in message prefixes (<a href="https://github.com/RITlug/teleirc/pull/134">#134</a>, <a href="https://github.com/nic-hartley">Nic Hartley</a>)</li>
<li>Include filetype in IRC string when a document is uploaded on Telegram (<a href="https://github.com/RITlug/teleirc/pull/139">#139</a>, <a href="https://github.com/Tjzabel">Tim Zabel</a>)</li>
<li>Include zero-width space in username for join/part messages to group (<a href="https://github.com/RITlug/teleirc/pull/139">#139</a>, <a href="https://github.com/Tjzabel">Tim Zabel</a>)</li>
</ul>
<p>Additionally, contributor documentation improved. I added <a href="https://github.com/RITlug/teleirc/blob/master/.github/CONTRIBUTING.md">contributor guidelines</a> and instructions to set up a development environment. Also, our friends at <a href="https://ura.design/">Ura Design</a> designed our new project logo. Thanks to Ura, we have an awesome project logo and stickers in time for <a href="https://www.rit.edu/imagine/">Imagine RIT 2019</a> later this month!</p>
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">They&#39;re here! Check out our new @uracreative logo and stickers for the <a href="https://twitter.com/hashtag/TeleIRC?src=hash&amp;ref_src=twsrc%5Etfw">#TeleIRC</a> project. Grab some stickers at the <a href="https://twitter.com/RITlug?ref_src=twsrc%5Etfw">@RITlug</a> <a href="https://twitter.com/Imagine_RIT?ref_src=twsrc%5Etfw">@Imagine_RIT</a> festival on April 27! <a href="https://t.co/KGjT4F0qdY">pic.twitter.com/KGjT4F0qdY</a></p>&mdash; RIT Linux Users Group (@RITlug) <a href="https://twitter.com/RITlug/status/1118641571291901952?ref_src=twsrc%5Etfw">April 17, 2019</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>



<h2 id="teleirc-v131-sprint-retrospective">TeleIRC v1.3.1: sprint retrospective&nbsp;<a class="hanchor" href="#teleirc-v131-sprint-retrospective" aria-label="Anchor link for: TeleIRC v1.3.1: sprint retrospective">🔗</a></h2>
<p>Originally, we <a href="/blog/2019/03/teleirc-roadmap-v1-4/">planned to release v1.4</a> at the end of this sprint. For a number of reasons, this did not happen. We decided to reduce our scope and finish strong with a bugfix release instead of the originally-planned feature release. This retrospective summarizes &ldquo;lessons learned&rdquo; for future project sprints with a team of university students.</p>

<h3 id="extended-holidays-are-sprint-bookends">Extended holidays are sprint bookends&nbsp;<a class="hanchor" href="#extended-holidays-are-sprint-bookends" aria-label="Anchor link for: Extended holidays are sprint bookends">🔗</a></h3>
<p>In the last sprint, our university had a week-long break from classes. Most students use this time to visit family or travel outside of Rochester. Originally, we agreed to pause the sprint and resume when we returned. In retrospect, it didn&rsquo;t work out like that.</p>
<p>It was harder to start again when we returned from the break. Instead of an extended holiday acting as a pause in an ongoing sprint, extended holiday breaks should divide two separate sprints. The breaks from classes are personal time; working on projects is not possible for everyone. The interruption caused by a break impacts productivity of the team. Therefore, future sprint planning will take the <a href="https://www.rit.edu/calendar">university calendar</a> into consideration.</p>

<h3 id="adjustable-sprint-length-to-semester">Adjustable sprint length to semester&nbsp;<a class="hanchor" href="#adjustable-sprint-length-to-semester" aria-label="Anchor link for: Adjustable sprint length to semester">🔗</a></h3>
<p>Sprint lengths should have an adjustable length depending on what part of the academic semester the sprint is. For example, earlier this semester, we released v1.3 in a two-week sprint. For this v1.3.1 release, it was over a month. What happened? Should sprints have a variable length?</p>
<p>When working with an academic crowd, variable sprint lengths are worth considering. The first half of a semester typically has less assigned coursework. Final projects are not at play. Therefore, usually team members have more time to invest in the project at the start of a semester. Towards the end of the semester, coursework and class projects pile on and make it difficult to find bandwidth to work on side projects like TeleIRC.</p>
<p>The compromise is keeping our sprints short at the start of a semester and stretching them out as a semester goes on. This gives students more flexibility to work at a pace that encourages quality work but isn&rsquo;t overwhelming with other responsibilities of being a student. Going forward, we will try variable-length sprints in the Fall 2019 semester.</p>

<h2 id="get-involved-with-teleirc">Get involved with TeleIRC!&nbsp;<a class="hanchor" href="#get-involved-with-teleirc" aria-label="Anchor link for: Get involved with TeleIRC!">🔗</a></h2>
<p>More opportunities are coming to participate with TeleIRC! The team is happy for new people to join us. Opportunities are available for short-term and long-term contributions.</p>
<p>Come say hello in our developer chat rooms, either on <a href="https://webchat.freenode.net/?channels=ritlug-teleirc">IRC</a> or in <a href="https://t.me/teleirc">Telegram</a>! Watch for <a href="/tags/teleirc/">TeleIRC development reports</a> on my blog for more announcements.</p>
<hr>
<p><em><a href="https://unsplash.com/photos/guiQYiRxkZY">Background photo</a> by <a href="https://unsplash.com/@epicantus">Daria Nepriakhina</a> on <a href="https://unsplash.com/">Unsplash</a>.</em></p>]]></description></item><item><title>Roadmap for TeleIRC v1.4</title><link>https://jwheel.org/blog/2019/03/teleirc-roadmap-v1-4/</link><pubDate>Sat, 23 Mar 2019 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2019/03/teleirc-roadmap-v1-4/</guid><description><![CDATA[<p>The <a href="https://ritlug.com/">RITlug</a> TeleIRC developer team celebrated the <a href="https://github.com/RITlug/teleirc/releases/tag/v1.3">v1.3 release</a> on March 3rd, 2019. Looking ahead, the team is mapping out next steps for quality-of-life improvements in v1.4.</p>

<h2 id="whats-coming-in-teleirc-v14">What&rsquo;s coming in TeleIRC v1.4&nbsp;<a class="hanchor" href="#whats-coming-in-teleirc-v14" aria-label="Anchor link for: What&rsquo;s coming in TeleIRC v1.4">🔗</a></h2>
<p><a href="https://github.com/RITlug/teleirc/milestone/6">TeleIRC v1.4</a> is the next feature release of TeleIRC. The targeted release date for v1.4 is by the end of April 2019 (i.e. the end of the academic semester for students involved with the project). Following v1.4, the project will likely enter brief hibernation until Fall 2019 when the <a href="https://www.rit.edu/">RIT</a> academic semester begins again.</p>
<p>At the developer meeting on March 23rd, we discussed the scope of this sprint and what we felt is realistic for project maintainers to work on:</p>

<h3 id="primary-goals">Primary goals&nbsp;<a class="hanchor" href="#primary-goals" aria-label="Anchor link for: Primary goals">🔗</a></h3>
<ul>
<li>Include limited characters from Telegram replies in relayed IRC message (<a href="https://github.com/RITlug/teleirc/issues/51">RITlug/teleirc#51</a>)</li>
<li>Create doc page on development environment (<a href="https://github.com/RITlug/teleirc/issues/77">RITlug/teleirc#77</a>)</li>
<li>QoL Improvements: show file-type of documents in IRC, insert ZWP character in join/leave messages (<a href="https://github.com/RITlug/teleirc/issues/130">RITlug/teleirc#130</a>)</li>
<li>Allow user to configure more variables for IRC server connection (e.g. port, SSL certs, etc.) (<a href="https://github.com/RITlug/teleirc/issues/113">RITlug/teleirc#113</a>)</li>
</ul>

<h3 id="secondary-goals">Secondary goals&nbsp;<a class="hanchor" href="#secondary-goals" aria-label="Anchor link for: Secondary goals">🔗</a></h3>
<ul>
<li>Add Telegram-side highlighting for IRC messages prefixed with username (<a href="https://github.com/RITlug/teleirc/issues/44">RITlug/teleirc#44</a>)</li>
<li>Bold usernames on Telegram and IRC (<a href="https://github.com/RITlug/teleirc/issues/19">RITlug/teleirc#19</a>)</li>
</ul>

<h2 id="recap-of-teleirc-v13-sprint">Recap of TeleIRC v1.3 sprint&nbsp;<a class="hanchor" href="#recap-of-teleirc-v13-sprint" aria-label="Anchor link for: Recap of TeleIRC v1.3 sprint">🔗</a></h2>
<p>The <a href="/blog/2019/02/teleirc-v1-3-next-release/">TeleIRC v1.3 release</a> follows the v1.2.2 release on December 8th, 2018. This release is a significant change in how project development is done. For the first time, a special interest group inside of <a href="https://ritlug.com/">RITlug</a> exists around the project. The team shifted to an agile-like development practice to fit inside of the <a href="https://www.rit.edu/">RIT</a> student academic schedule.</p>
<p>A special shout-out is earned by <a href="https://twitter.com/Tjzabel21">Tim Zabel</a> for his support and participation as a core contributor during the v1.3 sprint.</p>

<h2 id="get-involved-with-teleirc">Get involved with TeleIRC!&nbsp;<a class="hanchor" href="#get-involved-with-teleirc" aria-label="Anchor link for: Get involved with TeleIRC!">🔗</a></h2>
<p>More opportunities are coming to participate with TeleIRC! We would love to have more people get involved and participate in the project. There is no formal commitment to contributing, although we ask for participation through a single sprint cycle.</p>
<p>Soon, we will have better new contributor on-boarding docs. Our weekly developer meetings are now happening over public audio/video call each Saturday at 15:00 US EDT, so anyone can join and participate.</p>
<p>Come say hello in our developer chat rooms, either on <a href="https://webchat.freenode.net/?channels=ritlug-teleirc">IRC</a> or in <a href="https://t.me/teleirc">Telegram</a>!</p>
<hr>
<p><em><a href="https://unsplash.com/photos/guiQYiRxkZY">Background photo</a> by <a href="https://unsplash.com/@epicantus">Daria Nepriakhina</a> on <a href="https://unsplash.com/">Unsplash</a>.</em></p>]]></description></item><item><title>TeleIRC v1.3: Developers map out next release</title><link>https://jwheel.org/blog/2019/02/teleirc-v1-3-next-release/</link><pubDate>Sun, 03 Feb 2019 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2019/02/teleirc-v1-3-next-release/</guid><description><![CDATA[<p>On Saturday, February 2nd, 2019, the <a href="https://github.com/RITlug/teleirc">TeleIRC</a> community in Rochester, NY held the first developers&rsquo; meeting. Starting this month, weekly meetings are held to discuss blocking issues and plan ahead for the future of the project. Current project lead <a href="https://jwheel.org/">Justin Wheeler</a> met with <a href="https://github.com/Tjzabel">Tim Zabel</a> and <a href="https://github.com/nic-hartley/">Nic Hartley</a> to finish planning the v1.3 milestone for TeleIRC. Notably, this marks the next feature-release of TeleIRC since v1.2 in October 2018.</p>
<p>Read on to learn more about what&rsquo;s coming in TeleIRC v1.3.</p>

<h2 id="whats-coming-in-teleirc-v13">What&rsquo;s coming in TeleIRC v1.3?&nbsp;<a class="hanchor" href="#whats-coming-in-teleirc-v13" aria-label="Anchor link for: What&rsquo;s coming in TeleIRC v1.3?">🔗</a></h2>
<p>The developers&rsquo; meeting focused on identifying critical tasks to work on for the next sprint. The following open issues were identified as essential for v1.3:</p>
<ul>
<li><strong><a href="https://github.com/RITlug/teleirc/issues/41">#41</a></strong>: Sending an image with a caption in telegram then editing the caption causes the image to get sent again</li>
<li><strong><a href="https://github.com/RITlug/teleirc/issues/44">#44</a></strong>: Add Telegram-side highlighting for IRC messages prefixed with username</li>
<li><strong><a href="https://github.com/RITlug/teleirc/issues/53">#53</a></strong>: multi-line messages should have each lined prefixed with the userid</li>
<li><strong><a href="https://github.com/RITlug/teleirc/pull/102">#102</a></strong>: Splitting of messages sent to IRC, prepending TG username to each one</li>
<li><strong><a href="https://github.com/RITlug/teleirc/issues/112">#112</a></strong>: Insert zero-width space in Telegram usernames sent to IRC</li>
<li><strong><a href="https://github.com/RITlug/teleirc/issues/115">#115</a></strong>: Image url reveals bot&rsquo;s token</li>
<li><strong><a href="https://github.com/RITlug/teleirc/issues/118">#118</a></strong>: Refactor documentation into smaller pages (to make it more readable)</li>
</ul>
<p>Of these, #53 and #102 will be closed by <a href="https://github.com/RITlug/teleirc/pull/102">pull request #102</a>. <a href="https://github.com/michalrud">Michał Rudowicz</a> contributed #102 and it should be merged during this sprint window. (<em>Thanks Michał!</em>)</p>
<p>Keep up with more development news by watching the <a href="https://github.com/RITlug/teleirc/milestone/5">v1.3 milestone</a> on GitHub.</p>

<h2 id="when-is-teleirc-v13-coming">When is TeleIRC v1.3 coming?&nbsp;<a class="hanchor" href="#when-is-teleirc-v13-coming" aria-label="Anchor link for: When is TeleIRC v1.3 coming?">🔗</a></h2>
<p>TeleIRC v1.3 is projected for <strong>Saturday, March 2nd</strong>. For the selected issues, we felt four weeks was sufficient to accomplish and meet all existing goals. If we move faster than expected, we may move items from the <a href="https://github.com/RITlug/teleirc/milestone/6">v1.4 milestone</a> up to this release.</p>

<h2 id="how-can-i-participate">How can I participate?&nbsp;<a class="hanchor" href="#how-can-i-participate" aria-label="Anchor link for: How can I participate?">🔗</a></h2>
<p>Want to help out or get involved with TeleIRC? We are happy to welcome you! Past contributors have come from all around the world.</p>
<p>Say hello in our Freenode IRC channel, <a href="https://webchat.freenode.net/?channels=ritlug-teleirc">#ritlug-teleirc</a>, or <a href="https://t.me/teleirc">join the Telegram group</a>. You can also look through our &ldquo;<a href="https://github.com/RITlug/teleirc/issues?q=is%3Aopen&#43;is%3Aissue&#43;label%3A%22good&#43;first&#43;issue%22&#43;no%3Aassignee">good first issue</a>&rdquo; tickets in GitHub. If something looks interesting, leave a comment of interest in the GitHub issue and a committer can offer more guidance.</p>
<p>If you are a user and want to share feedback or thoughts with the team, leave a comment on this blog post and they will be shared with the team.</p>
<hr>
<p><em><a href="https://unsplash.com/photos/guiQYiRxkZY">Background photo</a> by <a href="https://unsplash.com/@epicantus">Daria Nepriakhina</a> on <a href="https://unsplash.com/">Unsplash</a>.</em></p>]]></description></item><item><title>Sphinx docs authors: Meet an opinionated quickstart</title><link>https://jwheel.org/blog/2018/12/meet-an-opinionated-quickstart-for-sphinx-docs-authors/</link><pubDate>Mon, 03 Dec 2018 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2018/12/meet-an-opinionated-quickstart-for-sphinx-docs-authors/</guid><description><![CDATA[<p>Do you write documentation with the Sphinx <a href="http://www.sphinx-doc.org/en/master/">tool chain</a>? Do you want to encourage more people to write Sphinx documentation in a distributed organization, but worry about maintaining compatible workflows? Introducing <a href="https://github.com/justwheel/sphinx-docs-opinionated-quickstart">sphinx-docs-opinionated-quickstart</a>, a template repository with an opinionated configuration of ReStructuredText documentation with Travis CI testing and <a href="https://readthedocs.org/">readthedocs.org</a> publishing.</p>
<p>I created this for the <a href="https://ritlug.com/">RIT Linux User&rsquo;s Group</a> (a.k.a. RITlug). RITlug welcomes student-led projects for members to work on together. RITlug executive board members want to better encourage students to share and join projects for collaboration with the community (in the spirit of FOSS). To do this, the executive board members will create and offer both a template website and template documentation tools to introduce students to project development process. Then, students are better able to sustain a more diverse community around their projects.</p>

<h2 id="start-writing-restructuredtext-already">&ldquo;Start writing ReStructuredText already!&rdquo;&nbsp;<a class="hanchor" href="#start-writing-restructuredtext-already" aria-label="Anchor link for: &ldquo;Start writing ReStructuredText already!&rdquo;">🔗</a></h2>
<p>The philosophy with this small project is: &ldquo;<em>Start writing ReStructuredText already!</em>&rdquo; I use Sphinx with ReadTheDocs as a deployment option across <a href="/blog/2018/02/unicef-internship/">different organizations</a>. I want a common base to later customize for a specific project&rsquo;s needs.</p>
<p>The whole point of this project is to save time kicking off a new project&rsquo;s recently-established documentation effort.</p>

<h2 id="sphinx-travis-ci-testing-configuration-included">Sphinx Travis CI testing configuration included&nbsp;<a class="hanchor" href="#sphinx-travis-ci-testing-configuration-included" aria-label="Anchor link for: Sphinx Travis CI testing configuration included">🔗</a></h2>
<p>Complex documentation tool chains need simple validation of successful builds. This avoids long periods where documentation may not build and the public docs are out of date. It also better engages core contributors to monitor and take care of their documentation.</p>
<p>A Travis CI <a href="https://github.com/justwheel/sphinx-docs-opinionated-quickstart/blob/master/.travis.yml">configuration</a> is included. Fork this repository and enable the repo on <a href="https://travis-ci.org/">travis-ci.org</a> to start running builds.</p>

<h2 id="add-a-star-on-github">Add a star on GitHub&nbsp;<a class="hanchor" href="#add-a-star-on-github" aria-label="Anchor link for: Add a star on GitHub">🔗</a></h2>
<p>Does this sound helpful? Check it out and <a href="https://github.com/justwheel/sphinx-docs-opinionated-quickstart/stargazers">add a star</a> at <a href="https://github.com/justwheel/sphinx-docs-opinionated-quickstart">justwheel/sphinx-docs-opinionated-quickstart</a>. The project is licensed under the <a href="https://github.com/justwheel/sphinx-docs-opinionated-quickstart/blob/master/LICENSE.txt">BSD 3-Clause License</a>; feel free to fork it and form your own opinions too.</p>
<hr>
<p><em><a href="https://unsplash.com/photos/q7TGPrFIlIg">Photo</a> by</em> <a href="https://unsplash.com/photos/q7TGPrFIlIg?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText"><em>Jānis Skribāns</em></a> <em>on</em> <a href="https://unsplash.com/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText"><em>Unsplash</em></a><em>.</em></p>]]></description></item><item><title>Raspberry Pis and open source at Rochester Mini Maker Faire</title><link>https://jwheel.org/blog/2018/01/rochester-mini-maker-faire/</link><pubDate>Tue, 09 Jan 2018 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2018/01/rochester-mini-maker-faire/</guid><description><![CDATA[<p><a href="https://opensource.com/article/17/12/rochester-mini-maker-faire"><em>This article was originally published on Opensource.com.</em></a></p>
<hr>
<p>The <a href="https://rochester.makerfaire.com/">Rochester Mini Maker Faire</a> is an annual event at the Joseph A. Floreano Riverside Convention Center in Rochester, NY. Each year, makers, creators, artists, and more from all over upstate New York and beyond show their crafts and creations to the community. Open source software and hardware are popular items at the Rochester Mini Maker Faire, with countless Raspberry Pis, Arduino boards, and open source projects powering many electronic projects.</p>
<p>On November 18th, the <a href="http://foss.rit.edu">Free and Open Source Software initiative</a> at the <a href="https://magic.rit.edu">RIT MAGIC Center</a> and the <a href="http://ritlug.com">RIT Linux Users Group</a> presented projects and their communities at the Faire. Students from both communities demonstrated projects made with Raspberry Pis or larger undertakings on other open source projects.</p>

<h2 id="looking-good-magic-mirror-and-raspberry-pi">Looking good: Magic mirror and Raspberry Pi&nbsp;<a class="hanchor" href="#looking-good-magic-mirror-and-raspberry-pi" aria-label="Anchor link for: Looking good: Magic mirror and Raspberry Pi">🔗</a></h2>
<p>
<figure>
  <img src="/blog/2017/11/ritlug-makerfaire-gameboy-magic-mirror.jpg" alt="Taylor Bowling with the Magic Mirror and Retro Pi at the Rochester Mini Maker Faire 2017" loading="lazy">
  <figcaption>Taylor Bowling (<a href="https://twitter.com/TaylorScott319" class="bare">https://twitter.com/TaylorScott319</a>) with the Magic Mirror and Retro Pi at the Rochester Mini Maker Faire</figcaption>
</figure>
</p>
<p>Students from the FOSS@MAGIC initiative presented the <a href="https://github.com/MichMich/MagicMirror">Magic Mirror</a>, a mirror that combines your digital world into your reflection. A Raspberry Pi and salvaged monitor screen sit behind a piece of one-way glass. Through the glass, the mirror shows the time, daily weather report, calendar updates, and more along with your reflection.</p>
<p><a href="https://twitter.com/TaylorScott319">Taylor Bowling</a> and <a href="https://serubin.net/">Solomon Rubin</a>, two students at RIT, worked together on the project in spring 2017. The frame for the mirror was hand-built for the project. Using <a href="https://magicmirror.builders/">this guide</a>, the two created a pair of them for the upcoming <a href="https://www.rit.edu/news/story.php?id=58179">RIT MAGIC Center</a>.</p>

<h2 id="community-course-ware-with-learnit">Community course-ware with LearnIt&nbsp;<a class="hanchor" href="#community-course-ware-with-learnit" aria-label="Anchor link for: Community course-ware with LearnIt">🔗</a></h2>
<p>Another student, <a href="https://wilfriede.me/">Wilfried Hounyo</a>, demonstrated his open source course-ware platform, LearnIt. <a href="https://github.com/wilfriedE/LearnIt">LearnIt</a> is a platform for topic-based, community-contributed courses and tutorials. Similar to other platforms like <a href="https://www.udacity.com/">Udacity</a> or <a href="https://www.coursera.org/">Coursera</a>, LearnIt enables anyone to host their own learning platform and build a community around it.</p>
<p>Wilfried&rsquo;s inspiration for LearnIt came from working with the <a href="https://www.firstinspires.org/">FIRST Robotics</a> community in high school. LearnIt&rsquo;s original goal was to build an open platform for learning and teaching within the FIRST Robotics community. This way, anyone around the country could create their own lessons for anyone to view and follow. After working on the project, Wilfried decided to make the platform ambiguous for any project, so anyone could use LearnIt for building a learning community around any topic or subject area.</p>
<p>A demo is available <a href="https://learnit-demo.herokuapp.com/">here</a> and the source is <a href="https://github.com/wilfriedE/LearnIt">on GitHub</a>.</p>

<h2 id="linux-operating-system-for-rit">Linux operating system for RIT&nbsp;<a class="hanchor" href="#linux-operating-system-for-rit" aria-label="Anchor link for: Linux operating system for RIT">🔗</a></h2>
<p>Members of the RIT Linux Users Group also presented TigerOS, a custom Linux operating system for students, faculty, and staff of Rochester Institute of Technology. One of the project goals is to offer an installer based on major across all RIT majors. After picking your major, TigerOS installs and configures all the software used by the department or major.</p>
<blockquote class="twitter-tweet" data-dnt="true"><p lang="en" dir="ltr">Did you know <a href="https://twitter.com/hashtag/RITlug?src=hash&amp;ref_src=twsrc%5Etfw">#RITlug</a> is working on a custom operating system for <a href="https://twitter.com/RITtigers?ref_src=twsrc%5Etfw">@RITtigers</a>? Check out <a href="https://twitter.com/hashtag/TigerOS?src=hash&amp;ref_src=twsrc%5Etfw">#TigerOS</a> at the @ROCHMakerFaire, table #91! <a href="https://twitter.com/hashtag/Rochester?src=hash&amp;ref_src=twsrc%5Etfw">#Rochester</a> <a href="https://twitter.com/hashtag/MakerFaire?src=hash&amp;ref_src=twsrc%5Etfw">#MakerFaire</a> <a href="https://t.co/aipHh8APz6">pic.twitter.com/aipHh8APz6</a></p>&mdash; RIT Linux Users Group (@RITlug) <a href="https://twitter.com/RITlug/status/931952653998940160?ref_src=twsrc%5Etfw">November 18, 2017</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


<p>Development on TigerOS began when student <a href="https://axk4545.github.io/">Aidan Kahrs</a> picked up an abandoned project from past RIT students. After building a team, they set out to revive the project over the last year. To date, an early beta is available and efforts are going towards building an automatic CI build system and updating to Fedora 27.</p>
<p>To learn more about TigerOS, visit <a href="http://tigeros.ritlug.com/">their website</a>.</p>

<h2 id="spy-pi">Spy Pi&nbsp;<a class="hanchor" href="#spy-pi" aria-label="Anchor link for: Spy Pi">🔗</a></h2>
<p>RITlug also presented the Spy Pi at the Rochester Mini Maker Faire. The Spy Pi is a discreet camera embedded inside a picture frame powered by a Raspberry Pi. <a href="https://twitter.com/TaylorScott319">Taylor Bowling</a> also helped lead this project.</p>
<p>In the picture, R2D2 is <a href="http://www.starwars.com/video/r2-d2-captured-by-jawas">carried away</a> by the Jawas in <em>Star Wars: A New Hope</em>. Taylor added two orange LED lights into one of the hooded characters and attached an infrared motion sensor, webcam, and Raspberry Pi into the picture frame. Whenever someone walks in front of the picture frame, the LED &ldquo;eyes&rdquo; light up and the webcam takes a picture that&rsquo;s stored to the Raspberry Pi.</p>
<p>
<figure>
  <img src="/blog/2017/11/ritlug-makerfaire-gameboy-spypi.jpg" alt="Taylor Bowling stands next to the Spy Pi, a discreet picture frame that takes a picture when it detects movement at the Rochester Mini Maker Faire 2017" loading="lazy">
  <figcaption>Taylor Bowling (<a href="https://twitter.com/TaylorScott319" class="bare">https://twitter.com/TaylorScott319</a>) stands next to the Spy Pi, a discreet picture frame that takes a picture when it detects movement</figcaption>
</figure>
</p>
<p>Taylor designed the project himself and wrote simple Python scripts to automate using the sensors. His <a href="https://github.com/TaylorBowling/SpyPi">code is available</a> on GitHub.</p>

<h2 id="see-you-next-year">See you next year!&nbsp;<a class="hanchor" href="#see-you-next-year" aria-label="Anchor link for: See you next year!">🔗</a></h2>
<p>This year was the third year for FOSS@MAGIC and first year for the RIT Linux Users Group to exhibit at the Rochester Mini Maker Faire. Both communities look forward to showing off our projects and what we&rsquo;re working on again at Imagine RIT in May and again next year at the Faire.</p>
<p>To learn more, visit the websites for <a href="http://foss.rit.edu/">FOSS@MAGIC</a> and the <a href="http://ritlug.com">RIT Linux Users Group</a>.</p>
<p>
<figure>
  <img src="/blog/2017/11/IMG_20171118_082253-e1511219651105.jpg" alt="See you at next year&rsquo;s Rochester Mini Maker Faire!" loading="lazy">
  <figcaption>See you at next year’s Rochester Mini Maker Faire (<a href="https://rochester.makerfaire.com/" class="bare">https://rochester.makerfaire.com/</a>)!</figcaption>
</figure>
</p>]]></description></item></channel></rss>