<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[The Technographer]]></title><description><![CDATA[Exploring technology, community and self through writing.]]></description><link>http://blog.seans.pub/</link><image><url>http://blog.seans.pub/favicon.png</url><title>The Technographer</title><link>http://blog.seans.pub/</link></image><generator>Ghost 1.21</generator><lastBuildDate>Wed, 07 Jun 2023 13:00:04 GMT</lastBuildDate><atom:link href="http://blog.seans.pub/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Sean's Community List]]></title><description><![CDATA[<div class="kg-card-markdown"><h2 id="favoritecommunities">Favorite Communities</h2>
<ul>
<li>Reddit</li>
<li>hubski.com</li>
<li>lobste.rs</li>
<li>tildes.net</li>
</ul>
<h2 id="communityplatforms">Community Platforms</h2>
<ul>
<li>Start your own Wireless Internet Service Provider - <a href="https://startyourownisp.com/">https://startyourownisp.com/</a></li>
<li></li>
</ul>
<h2 id="metacommunities">MetaCommunities</h2>
<ul>
<li>Summarize threaded conversations - <a href="http://wikum.csail.mit.edu/">http://wikum.csail.mit.edu/</a></li>
<li>Unified community browser - <a href="https://yack.io/">https://yack.io/</a></li>
<li></li>
</ul>
<h2 id="communitypolination">Community Polination</h2>
<ul>
<li><a href="https://phacks.dev/meetup-com-alternatives">https://phacks.dev/meetup-com-alternatives</a></li>
<li>Social networks that failed -</li></ul></div>]]></description><link>http://blog.seans.pub/seans-community-list/</link><guid isPermaLink="false">5fd27ed2027fa4390b530652</guid><category><![CDATA[community]]></category><dc:creator><![CDATA[Sean]]></dc:creator><pubDate>Fri, 11 Dec 2020 00:38:16 GMT</pubDate><content:encoded><![CDATA[<div class="kg-card-markdown"><h2 id="favoritecommunities">Favorite Communities</h2>
<ul>
<li>Reddit</li>
<li>hubski.com</li>
<li>lobste.rs</li>
<li>tildes.net</li>
</ul>
<h2 id="communityplatforms">Community Platforms</h2>
<ul>
<li>Start your own Wireless Internet Service Provider - <a href="https://startyourownisp.com/">https://startyourownisp.com/</a></li>
<li></li>
</ul>
<h2 id="metacommunities">MetaCommunities</h2>
<ul>
<li>Summarize threaded conversations - <a href="http://wikum.csail.mit.edu/">http://wikum.csail.mit.edu/</a></li>
<li>Unified community browser - <a href="https://yack.io/">https://yack.io/</a></li>
<li></li>
</ul>
<h2 id="communitypolination">Community Polination</h2>
<ul>
<li><a href="https://phacks.dev/meetup-com-alternatives">https://phacks.dev/meetup-com-alternatives</a></li>
<li>Social networks that failed - <a href="https://news.ycombinator.com/item?id=21243283">https://news.ycombinator.com/item?id=21243283</a></li>
<li>Websites from the early days of the web - <a href="https://news.ycombinator.com/item?id=22981491">https://news.ycombinator.com/item?id=22981491</a></li>
<li>TinyWeb Directory Forums - <a href="https://forum.indieseek.xyz/">https://forum.indieseek.xyz/</a></li>
<li></li>
</ul>
<h2 id="therest">The Rest</h2>
<ul>
<li>Linksys 'community' network - <a href="https://web.archive.org/web/20030402170927/http://www.linksyscommunitynetwork.com/">https://web.archive.org/web/20030402170927/http://www.linksyscommunitynetwork.com/</a></li>
<li>Map of Internet infrastructure communities -<a href="https://muninetworks.org/communitymap">https://muninetworks.org/communitymap</a></li>
<li>Spanish wireless community network - <a href="https://guifi.net/en">https://guifi.net/en</a></li>
<li>Talkyard - open source forum software - <a href="https://github.com/debiki/talkyard">https://github.com/debiki/talkyard</a></li>
<li>Friended - one-on-one community app - <a href="https://www.friended.com/">https://www.friended.com/</a></li>
<li>Yap - ephemeral, 6-person chat rooms - <a href="https://yap.chat/">https://yap.chat/</a></li>
<li>Pine.Blog - blogging social netowrk - <a href="https://pine.blog/">https://pine.blog/</a></li>
<li>^ Kailo - thoughtful discussion tool - <a href="https://www.kialo.com/">https://www.kialo.com/</a></li>
<li></li>
</ul>
<h2 id="deadcommunities">Dead Communities</h2>
<ul>
<li>Shout It - community for shouting your feelings - <a href="https://news.ycombinator.com/item?id=21879407">https://news.ycombinator.com/item?id=21879407</a></li>
<li>Campfire.Rest - chat with people in a radius - <a href="https://news.ycombinator.com/item?id=22244109">https://news.ycombinator.com/item?id=22244109</a></li>
<li>ieddit - reddit-like - <a href="https://ieddit.com/">https://ieddit.com/</a></li>
<li></li>
</ul>
</div>]]></content:encoded></item><item><title><![CDATA[Hubski? Pubski: Part 2 - Network]]></title><description><![CDATA[<div class="kg-card-markdown"><p>The goal in this section is to generate a graph visualization (see the very bottom of this post) for each Pubski and in the process, extract and note various properties. Then we can measure how these properties change (or don't) over time, and see if we can learn something about</p></div>]]></description><link>http://blog.seans.pub/pubski-2/</link><guid isPermaLink="false">5e8f5aa1027fa4390b53025e</guid><category><![CDATA[community]]></category><dc:creator><![CDATA[Sean]]></dc:creator><pubDate>Tue, 14 Apr 2020 23:21:37 GMT</pubDate><content:encoded><![CDATA[<div class="kg-card-markdown"><p>The goal in this section is to generate a graph visualization (see the very bottom of this post) for each Pubski and in the process, extract and note various properties. Then we can measure how these properties change (or don't) over time, and see if we can learn something about online commnunities.</p>
<p>If you'd like to browse some of the code created/used in this section, it's available here: <a href="https://github.com/SeanCLynch/pubski_analysis">https://github.com/SeanCLynch/pubski_analysis</a>.</p>
<p>This post is divided into three parts:<br>
(1) <a href="http://blog.seans.pub/pubski-1">anecdote and adventure from Pubski</a><br>
(2) a network-based exploration of Pubski (this post), and<br>
(3) <a href="https://blog.seans.pub/pubski-3">some formal anthropological/sociological thoughts on Pubski</a>.</p>
<h2 id="basicdatagathering">Basic Data Gathering</h2>
<p>Navigate to Hubski and search for #pubski. Scroll to the bottom and click &quot;more&quot; until there are no more posts to load. I then saved this page, so that I could politely query it without hitting the live servers. Now we have a <code>pubski_list.html</code> file!</p>
<p>Next, I loaded that page in my browser (right click, open with...), and iteratively experimented until I produced the following code snippet, which is run in the browser console. It outputs a JSON array of the posts with their relevant info, which you can right-click on (in the browser console) and save as <code>pubski_list.json</code>.</p>
<pre><code>let pubs_divs = document.querySelectorAll('#unit');
let pubs_array = [];
pubs_divs.forEach(function (pub, idx) { 
  let hubwheel = pub.querySelector('.plusminus .score a').className;
  let hubwheel_dots = hubwheel.slice(-1);

  let title	= pub.querySelector('.feedtitle span a span').innerText;
  let post_date	= title.slice(7);
  let post_link	= pub.querySelector('.feedtitle span a').getAttribute('href');

  let comment_count = pub.querySelector('.feedcombub &gt; a').innerText;
  let top_commenter = pub.querySelector('.feedcombub a').innerText;
        
  let badges = pub.querySelector('.titlelinks a.ajax');
  let multiple_badges = pub.querySelector('.titlelinks a.ajax b');
  let num_badges = 
    (multiple_badges ? 
        multiple_badges.innerText.slice(-1) : 
        badges ? 1 : 0);

  pubs_array.push({
    &quot;title&quot;: title,
    &quot;post_date&quot;: post_date,
    &quot;post_link&quot;: post_link,
    &quot;comment_count&quot;: comment_count,
    &quot;top_commenter&quot;: top_commenter,
    &quot;hubwheel_dots&quot;: hubwheel_dots,
    &quot;num_badges&quot;: num_badges
  });
});

console.log(pubs_array);
</code></pre>
<p>Next, I wanted to convert the JSON into a CSV, so that I could use spreadsheet software to make pretty graphs. I hadn't used 'jq' before but had heard good things, so in the terminal I typed: <code>sudo apt-get install jq</code>. Then, after some searching around, I found some docs &amp; some code snippets that led me to create the following code, which outputs a <code>pubski_list.csv</code> file. To be entirely frank, I'm not sure I fully grasp how <code>jq</code> in this snippet works, but I can't argue with the output!</p>
<pre><code>cat pubski_list.json | jq -r '(.[0] | keys_unsorted) as $keys | $keys, map([.[ $keys[] ]])[] | @csv' &gt; pubski_list.csv
</code></pre>
<p>I also manually combed through the data, checking for any anomlies and found two things. First, that there are exactly three posts that used the '#pubski' and were not related to the weekly post whatsoever. It's very likely that these users were posting about a topic, and the Hubski recommendation system suggested '#pubski'. These posts were deleted prior to data processing. Here are those posts:</p>
<ul>
<li>Realbeer.com: Beer News: The most beers on tap?, <a href="http://www.realbeer.com/news/articles/news-000246.php">http://www.realbeer.com/news/articles/news-000246.php</a>, 0 comments</li>
<li>Pico countertop craft automatic brewery for the inexperienced home brewer, <a href="http://www.gizmag.com/pico-countertop-automated-craft-beer-brewing-machine/40063/">http://www.gizmag.com/pico-countertop-automated-craft-beer-brewing-machine/40063/</a>, 0 comments</li>
<li>Introducing Glyph, <a href="https://endlesswest.com/glyph/">https://endlesswest.com/glyph/</a>, 2 comments</li>
</ul>
<p>The other anomly was two 'meta' posts about Pubski. Both related to the timing of Pubski and the belief that something was disrupting the normal scheduling of Pubski. These were kept in the dataset prior to processing. You can see them below:</p>
<ul>
<li>'Pubski: July 25, 2018 [closed]', <a href="http://hubski.com/pub/412363">http://hubski.com/pub/412363</a>, 10 comments</li>
<li>'Is it just me or was there no pubski last week?', <a href="http://hubski.com/pub/424500">http://hubski.com/pub/424500</a>, 4 comments</li>
</ul>
<h2 id="basicdataprocessing">Basic Data Processing</h2>
<p>Using the data (pubski_list.json and pubski_list.csv), I could easily measure technical and social attributes of Pubski, like number of Pubski posts (total 300), comment count (average 77), badge count (average 1, median 0), most common top_commentor (kleinbl00, 28 times, in 11% of Pubski posts), first post id (172369). I can even create more advanced charts like these:</p>
<p><img src="http://blog.seans.pub/content/images/2020/01/pubski_comments.png" alt="pubski_comments"></p>
<p><img src="http://blog.seans.pub/content/images/2020/01/pubski_commentors.png" alt="pubski_commentors"></p>
<p>All of this data is nice, but doesn't tell us too much about any individual Pubski, so let's dig deeper!</p>
<h2 id="advanceddatagathering">Advanced Data Gathering</h2>
<p>Now, with the list of (hundreds of) Pubski posts in JSON &amp; CSV, I could start to think about how we might crawl the list of Pubski links and get static versions of each individual page. The technique I ended up using was a NodeJS script to fetch and parse each page into two formats: a list of nodes and edges (and metadata) in JSON and an edgelist text file. These are two data formats that effectively represent each Pubski in a graph or network format (where users are nodes, and edges represent one user replying to the other). The edgelist file could then be read by a Python script, wherein we could plot the graph visually and perform various algorithms on it.</p>
<p>The first script I called <code>getAllPosts.js</code>, you can see it on Github <a href="https://github.com/SeanCLynch/pubski_analysis/blob/master/getAllPosts.js">here</a>.</p>
<p>The second script I called <code>analyzePosts.py</code>, you can see it on Github <a href="https://github.com/SeanCLynch/pubski_analysis/blob/master/analyzePosts.py">here</a>.</p>
<h2 id="advanceddataprocessing">Advanced Data Processing</h2>
<p>Now, given the CSV produced by <code>analyzePosts.py</code>, I could get down to the business of looking for trends and patterns. Now, staring at numbers in a spreadsheet is mind-numbing, so I created plots of the data in Google Sheets. Below are 10 metrics with brief explainations before we dive into interpreting the data in the next seection.</p>
<ol>
<li>First is a pretty straightforward measure, the number of nodes and number of edges in each pubski. You can see that while the number of nodes (participants) is relatively stable, the number of edges (posts/replys) is on a slight downward trend.</li>
</ol>
<p><img src="http://blog.seans.pub/content/images/2020/04/nodes_and_edges.png" alt="nodes_and_edges"></p>
<ol start="2">
<li>Second is the average degree. The degree of a given node is defined as the number of edges incident to it. So one node with two outgoing edges (replys) has a degree of 2. This measure seems to have remained fairly stable around 1.4.</li>
</ol>
<p><img src="http://blog.seans.pub/content/images/2020/04/avg_degree.png" alt="avg_degree"></p>
<ol start="3">
<li>Third, the density of a graph is the number of existing edges over the total number of possible edges. So a graph where everyone replied to everyone would be more dense than a graph where you may have only replied to one or two other users.</li>
</ol>
<p><img src="http://blog.seans.pub/content/images/2020/04/density.png" alt="density"></p>
<ol start="4">
<li>The clustering coefficient of a graph is the number of closed triplets over the num of total possible triplets. A closed triplet is a set of three nodes with three edges connecting them. On the other hand, an open triplet would be three nodes with 0, 1 or 2 edges connecting them.</li>
</ol>
<p><img src="http://blog.seans.pub/content/images/2020/04/clustering_coefficient.png" alt="clustering_coefficient"></p>
<ol start="5">
<li>Transitivity is very similar to the clustering coefficient, it represents the number of triangles over the number of possible triangles. I'm not actually sure why this number is trending higher than clustering coefficent, but I think it may have to do with clustering coefficient being an average across the graph and transitivity being a global metric.</li>
</ol>
<p><img src="http://blog.seans.pub/content/images/2020/04/transitivity.png" alt="transitivity"></p>
<ol start="6">
<li>In network terminoloy, a max-clique is a subset of nodes where each node is connected to each other node in that subset. This graph shows the largest max-clique across all pubskis. Seems relatively stable around a max-clique size of around 2.5. Which means that on average, each Pubski has at least one group of 2 to 3 users that all reply to each other.</li>
</ol>
<p><img src="http://blog.seans.pub/content/images/2020/04/clique_size.png" alt="clique_size"></p>
<ol start="7">
<li>A strongly connected component is a subgraph where each node is connected to each other node. It is very similar to a maximal-clique, but deals with reachability rather than direct connectedness. In the case of Pubski, this metric seems to be hovering around 14. Meaning that there are on average of 14 nodes that are directly reachable from one another via a path of one or more edges.</li>
</ol>
<p><img src="http://blog.seans.pub/content/images/2020/04/strongly_connected_components.png" alt="strongly_connected_components"></p>
<ol start="8">
<li>Centrality deals with the &quot;importance&quot; of a single vertex, measured by various metrics. Of course, one of the given assumptions in our specific graph is that first-level replies on a Pubski post all connect to a &quot;Pubski Post&quot;, this should be kept in mind as we look at this metric in particular. Degree Centrality is this simplest, merely referring to the degree of a node as it's centrality score. Eigenvector Centrality has more mathematical roots, but deals with centrality as a measure of the influence of a nodes neighbors. Finally, Betweenness Centrality is a measure of how many times a given nodes falls on a shortest path.</li>
</ol>
<p><img src="http://blog.seans.pub/content/images/2020/04/centrality.png" alt="centrality"></p>
<ol start="9">
<li>A vertex cover is a set of nodes with the property that each edge in the graph is incident to at least one of the nodes in the set. This metic has been in steady decline since the first pubskis. Perhaps this is related to the overall decline in number of edges we observed earlier.</li>
</ol>
<p><img src="http://blog.seans.pub/content/images/2020/04/size_of_vertex_cover.png" alt="size_of_vertex_cover"></p>
<ol start="10">
<li>The shortest path between two nodes is the minimum number of edges between them. We calculate this measure for all pairs of nodes in a graph, and average them in order to get this metric. The large dips to -1 are representative of graphs where there were infinite cycles, making the calculation of shortest path impossible (they can be safely ignored).</li>
</ol>
<p><img src="http://blog.seans.pub/content/images/2020/04/avg_short_path_len.png" alt="avg_short_path_len"></p>
<h2 id="visualization">Visualization</h2>
<p>Finally, I wanted to show off what these graphs actually looked like, so below are a few visual examples. Note that the &quot;nil&quot; user represents <code>user-inactive</code>, the Hubski term for deactivated or banned accounts. They are in chronological order, but skip around a little.</p>
<p><img src="http://blog.seans.pub/content/images/2020/04/Figure_1.png" alt="Figure_1"></p>
<p><img src="http://blog.seans.pub/content/images/2020/04/Figure_3.png" alt="Figure_3"></p>
<p><img src="http://blog.seans.pub/content/images/2020/04/Figure_7.png" alt="Figure_7"></p>
<p><img src="http://blog.seans.pub/content/images/2020/04/Figure_9.png" alt="Figure_9"></p>
<p><img src="http://blog.seans.pub/content/images/2020/04/Figure_11.png" alt="Figure_11"></p>
<p><img src="http://blog.seans.pub/content/images/2020/04/Figure_12.png" alt="Figure_12"></p>
</div>]]></content:encoded></item><item><title><![CDATA[Hubski? Pubski! Part 1 - Adventure]]></title><description><![CDATA[<div class="kg-card-markdown"><p>In this short series I want to demonstrate how the practice of technography yields insights into understanding our communities. The first two posts offer insight into the methods, while the third rigorously discusses the results.</p>
<p>This post is divided into three parts:<br>
(1) anecdote and adventure from Pubski (this post)</p></div>]]></description><link>http://blog.seans.pub/pubski-1/</link><guid isPermaLink="false">5ad924fe6c44f94d0a3ce9c7</guid><category><![CDATA[community]]></category><dc:creator><![CDATA[Sean]]></dc:creator><pubDate>Mon, 13 Apr 2020 16:11:22 GMT</pubDate><content:encoded><![CDATA[<div class="kg-card-markdown"><p>In this short series I want to demonstrate how the practice of technography yields insights into understanding our communities. The first two posts offer insight into the methods, while the third rigorously discusses the results.</p>
<p>This post is divided into three parts:<br>
(1) anecdote and adventure from Pubski (this post)<br>
(2) <a href="https://blog.seans.pub/pubski-2">a network-based exploration of Pubski</a>, and<br>
(3) <a href="https://blog.seans.pub/pubski-3">some formal anthropological/sociological thoughts on Pubski</a>.</p>
<p>What is Hubski?</p>
<p>At somepoint before the design changes at Reddit, a leaving user mentioned a place called Hubski. Upon clicking the hyperlink, the immediate impression was homely, with hints of 90s era &quot;personal-touch&quot; web design. One could also say that its differentiating features were not immediately distinguishable from other aggregator sites. Yet there was a certain clarity that it was alive, breathing, an experimental space, with ideas floating by and changes buzzing around the corner. My experience with the community has been an true adventure and that's something I feel like I don't get to say often enough.</p>
<hr>
<h1 id="13ourhubskiadventure">(1/3) Our Hubski Adventure</h1>
<p>Let me preface this by saying I was always taught not to talk to strangers on the internet or meet them in real life. Ma, I'm sorry I didn't listen.</p>
<p>During college I really liked to explore and show off the city. I'd offer to guide friends around, embrace changes in new areas and generally tried to get off campus every now and again. So when I saw #meetup with the #philadelphia tag, I followed the <a href="http://hubski.com/pub/300352">link</a> with great excitement.</p>
<p>I'd been posting for a little bit and must've revealed my Philly-based location during an introduction or something. So a few of the regulars reached out @greenitalics and we managed to meetup. I'll share the link next and let it speak for itself.</p>
<p><a href="https://hubski.com/pub/303883">Linkski</a></p>
<p>All done?</p>
<p>Honestly it was one of the most fleeting, bombastic, nerdy and sticker-filled experiences I've ever had. As I remember, it was the middle of midterm season and my academics were not being prioritized well at the time. Thus leading me to stress induced sense of carefree whimsy. We were supposed to meet at WXPN World Cafe Live, however an event there made it difficult to sit quietly and have the beer/conversation that we set out to have. So Steve, having arrived first, moved us around the corner to another bar.</p>
<p>So, what do you look for at a bar when you've only ever seen a username? It turns out, normal people are behind those names! Both Steve and Refugee were kind, nerdy people - happy to share stories and go on a little journey around UPenn's campus. I recall an unusually deep converstation around poetry, from Latin to Elvish. Even some light networking took place as Steve happened to work in an adjacent industry to myself.</p>
<p>I've always found a lot of joy in guiding people around my environment, be that the campus, the neighborhood or the city. Penn's campus in particular has lots of historic and futuristic architecture, from the newish nanotech lab to ENIAC, from Locust Walk to Huntsman Hall. I tried to showcase a variety of the area, juxtaposed with my honest commentary as a resident. There is something nice about the trust in the guide, joined with the awe and wonder that a good guide can impart.</p>
<p>At the end of our walk, the magic began to fade back into reality and we said our goodbyes. I had a few blocks remaining to get home and reflected on what had just happened. Three digital neighbors briefly shared a physical location and the emotional impact felt holistic and satisfying, an urge of rebelious excitement. It felt like I had gotten away with something forbidden. Like something unusually magical had occured, and stone became flesh, and quickly faded in a whirl of leaves and stickers.</p>
<ul>
<li></li>
</ul>
<p>(Thanks to Michael Dea for reading drafts of this essay!)</p>
</div>]]></content:encoded></item><item><title><![CDATA[Dwarf Fortress: Siegemansion]]></title><description><![CDATA[Experimental post about my latest adventures in Dwarf Fortress.]]></description><link>http://blog.seans.pub/siege-mansion/</link><guid isPermaLink="false">5e828386027fa4390b53023c</guid><dc:creator><![CDATA[Sean]]></dc:creator><pubDate>Thu, 02 Apr 2020 00:10:02 GMT</pubDate><content:encoded><![CDATA[<div class="kg-card-markdown"><p>At the center of the Sizzling Barricade, a thin range of arid mountains, lies a great volcano. Now, in the year 16, The Noble Pulley (a burgeoning, young dwarven civilization) has put this location in their sights. For it is the last unclaimed bastion between the dwarven homeland and a growing menace - The Idle Wraiths. Currently idle, this rapidly expanding dark goblin civilization poses a great threat to everything we stand for as dwarves and this fortress - Siegemansion - will be the light that defends us from the darkness.</p>
<p><img src="http://blog.seans.pub/content/images/2020/03/Annotation-2020-03-27-151820.png" alt="Annotation-2020-03-27-151820"><br>
<em>Southeastern region of Zokunmuthkat</em></p>
<p>A little background on the dwarves of The Noble Pulley. They are known as renowned warriors, scholars and drinkers. They are known for their striking emerald eyes set into dark, raw umber skin. Most dwarves incorporate double braids into their hairstyles.</p>
<p>We'd also be amiss without mentioning our leader, 'Knuckles', who slew a wandering jaguar in the late Winter of 16.</p>
<p><img src="http://blog.seans.pub/content/images/2020/03/Annotation-2020-03-29-133152.png" alt="Annotation-2020-03-29-133152"><br>
<em>Jaguar slain in the Gate-Hall</em></p>
<p>For today, we'll look at Siegemansion as it stands on 16 Moonstone, Early Winter, Year 16.</p>
<hr>
<h1 id="thegatehall">The Gate-Hall</h1>
<p><img src="http://blog.seans.pub/content/images/2020/03/Annotation-2020-03-30-214206.png" alt="Annotation-2020-03-30-214206"></p>
<p>The Gate-Hall progresses in a fine manner. The entrance of the fort lies on the East side of the mountainside. Outside our gates, the buzzing of bees fills the dry air (Amork knows why they live here or what flowers they pollinate). Obsidian boulders and arid loam speckle the steep hillsides.</p>
<p>Just inside, it is currently filled with much of our stockpiles of goods: food, furniture, gems, and essential workshops. On the sides of this large hall are four doorways. In the North-East is our inn for visitors - The Earthen Butter, perhaps named after our future signature export, soap! Our tavernkeeper is &quot;Squid&quot; Mengesesh, the tavern keep and trade broker, and a masterful converstationalist, oh, and a hoot to boot!</p>
<p>The next location along the East wall is the manager's office and quarters. Keeping things organized and accounted for around here is an important role, and highly regarded. Currently Kosoth Lolokfath serves as our manager. She earned the nickname &quot;Faves&quot; as he has reciprocated favors quite regularly.</p>
<p>The last location along the East wall is our first temple. With a lively group of 20 dwarves, there are many Gods that need worship. Here is a small subset that we have set up for so far:</p>
<ul>
<li>Or the Squid of Spraying, God of water, 6 followers.</li>
<li>Isram Heavengilded the Calm Glen, God of peace, 4 followers.</li>
<li>Ral Yearcolor the Gray Oak, God of rainbows and longevity, 1 follower.</li>
<li>Keshan the Hot Glowing Spark of Flames, God of volcanos.</li>
</ul>
<p>Along the West wall of the Gate-Hall is only one set of doors, the barrack. With space for training, storage, and a small sleeping quarters, this area is sufficent for the Gate-Guards and our early militia.</p>
<hr>
<h1 id="thefarmersguild">The Farmers Guild</h1>
<p><img src="http://blog.seans.pub/content/images/2020/03/Annotation-2020-03-30-214229.png" alt="Annotation-2020-03-30-214229"></p>
<p>Here, most of the food and living goods of the fortress are produced. There is space within this spacious cavern layer for our pastures of pigs and other animals. We also have sown a field for plump helmets, as is customary. Although we have noticed that they grow naturally, and in abundance. As for food production, there is also a chicken coup in the North.</p>
<p>A few other related workshops also occupy this area. One is our carpenters, who having utilized almost all of our starting wood, are beginning to fell trees from the cavern themselves, giant mushroom trees to be exact. The dwarves have also placed their main distillary on this floor. Although luckily, we have struck naturally occuring water lower in the caverns.</p>
<hr>
<h1 id="thesoapersguild">The Soapers Guild</h1>
<p><img src="http://blog.seans.pub/content/images/2020/03/Annotation-2020-03-30-214247.png" alt="Annotation-2020-03-30-214247"></p>
<p>Here, the dwarves are in the early stages of setting up our famous soap production. For the soapmaking skills of the dwarves of The Noble Pulley are legendary. And with fresh access to this rich volcanic soil, we will become the greatest soapers this world has ever known. In the North-East of this area, you can see the early blueprints for our guild-hall, which will be fabulously decorated.</p>
<p>The lye-making facilities are already completed in the North-West, complete with wood furnace and ashery. Down below that, the dwarves have begun excavation of the primary rock-nut/quarry bush production. This plant is cruical to our process because it provides seed paste, and that can be converted to oil. This process has been tried and tested for generations. And although it may be fuzzy at first, all will be revealed when the dwarves have everything up and running.</p>
<hr>
<h1 id="thehospitalhotsprings">The Hospital &amp; Hot Springs</h1>
<p><img src="http://blog.seans.pub/content/images/2020/03/Annotation-2020-03-30-214303.png" alt="Annotation-2020-03-30-214303"></p>
<p>Here, at the deepest level of our fortress, currently lies a simple dormatory. Down here, deep in the stone, the warmth of the volcano is tangible, helping the dwarves to get incredibly restful sleep. Although it is sparse now, &quot;Knuckles&quot; sees a lot of potential here for our field hospital and perhaps our hot springs and magma forges. Time will tell.</p>
</div>]]></content:encoded></item><item><title><![CDATA[Aspects of Main Street]]></title><description><![CDATA[A short series of observations about the local main street.]]></description><link>http://blog.seans.pub/aspects-of-main-street/</link><guid isPermaLink="false">5bee3eb8639e8c064404e431</guid><category><![CDATA[community]]></category><dc:creator><![CDATA[Sean]]></dc:creator><pubDate>Wed, 14 Aug 2019 19:45:56 GMT</pubDate><content:encoded><![CDATA[<div class="kg-card-markdown"><p>I just recently moved and the new part of the city I'm in has a &quot;Main Street&quot; both literally and figuratively. I've been walking around there quite a bit trying to get a sense of the place and I've picked up on a couple things regarding communities.</p>
<ol>
<li>
<p>There is a tangible sense of history. For example, I walked past one building that was built in 1822, obviously the business there now is different, however the historical aspect gave the area a sense of permanence and survival. On the other hand, some shopfronts were straight up abandoned, and while these were certainly eye sores, the contrast gave the more lively areas that much more vibrance.</p>
</li>
<li>
<p>The turnover rate for business in the area seems rapid. For every one or two stores closing, there was at least one openning or renovating. The churn of local stores is in some ways its own character. What I mean is, main street's role in the community is a place for new ideas to bubble and sometimes pop. Some places have been there a while, but the flow of new ideas keeps things from stagnating, even if the cost is a tiny bit of stability. In some cases, these little sub-spaces even become communities in their own right, so don't discount them for their temporary nature.</p>
</li>
<li>
<p>Possibly the most important observation now that I think of it. The eyes of a newcomer are very different from those of a regular. I felt like I was constantly looking up - from the storefront, to what lies ahead, to what was far away. I instinctually wanted to understand the boundries of the space, it's pace and it's tone. Where are the borders and boundries? What are the people doing here on a regular old Monday evening?</p>
</li>
</ol>
<p>Anyway, it was really nice to walk around Main Street, raised my framiliarity with the area and how it flows. Hopefully these observations come in handy when designing places of your own be they digital or physical.</p>
</div>]]></content:encoded></item><item><title><![CDATA[The Premise of Technography]]></title><description><![CDATA[<div class="kg-card-markdown"><p>Nowadays, individuals are able to participate in an overwhelming number of communities. This rapid proliferation of associations is a departure from times throughout history when someone might only join one or two communities during their whole lifespan. This change has brought with it many discussions regarding the challenges of creating,</p></div>]]></description><link>http://blog.seans.pub/the-premise-of-civic-decentralization/</link><guid isPermaLink="false">5c9924c5e2690d5a9f110042</guid><dc:creator><![CDATA[Sean]]></dc:creator><pubDate>Tue, 11 Jun 2019 17:51:11 GMT</pubDate><content:encoded><![CDATA[<div class="kg-card-markdown"><p>Nowadays, individuals are able to participate in an overwhelming number of communities. This rapid proliferation of associations is a departure from times throughout history when someone might only join one or two communities during their whole lifespan. This change has brought with it many discussions regarding the challenges of creating, maintaining and breaking up communities. Perhaps we talk so passionately about these communities since they play such an ubiquitous, crucial role in our personal, professional and public lives.</p>
<p>I think that today, with a plethora of novel communities available to us,  we have an unprecedented opportunity to examine communities and develop a better understanding of what they are, why they exist and how we can better tend to them. What makes this knowledge so important is the importance of community itself; we label our families, our neighbors, our co-workers, our peers, our nations, our digital connections and much more as communities, but we lack the ability to talk about their essential similarities and differences. Without this type of knowledge, when problems arise in our communities, we are generally unprepared to diagnose and address what is happening.</p>
<p>In this blog, I hope to explore modern communities, describe their structure, and evaluate their effects on participants. This approach is firmly multidisciplinary, utilizing methods from anthropology, computer science, sociology, civics, and mathematics. At first, the results may appear to be more artistic than empirical, but I hope to also identify ethical and quantitative measures as my practice evolves. I also build toys, create ethnographic material and prototype in order to demonstrate specific points. I'm not sure that a clear taxonomy of community will be immediately apparent, but my hope is to start moving toward that goal.</p>
<p>TL;DR: Today, communities are as vivid and varied as the people participating in them. They play a crucial role in our lives and in order to have a healthier life, we should try and understand them better.</p>
</div>]]></content:encoded></item><item><title><![CDATA[Clay Shirky on building social software]]></title><description><![CDATA[<div class="kg-card-markdown"><p><a href="http://shirky.com/writings/group_enemy.html">Clay Shirky: A group is its own worst enemy</a></p>
<p>Written in 2003, Shirky observes a strange phenomenon in that social software is expanding rapidly and yet groups tend to sabotage themselves in predictable ways. This gives rise to the question: &quot;Is there anything we can say with any certainty</p></div>]]></description><link>http://blog.seans.pub/clay-shirky-on-building-social-software/</link><guid isPermaLink="false">5bee3f6c639e8c064404e432</guid><category><![CDATA[community]]></category><dc:creator><![CDATA[Sean]]></dc:creator><pubDate>Mon, 11 Mar 2019 16:39:00 GMT</pubDate><content:encoded><![CDATA[<div class="kg-card-markdown"><p><a href="http://shirky.com/writings/group_enemy.html">Clay Shirky: A group is its own worst enemy</a></p>
<p>Written in 2003, Shirky observes a strange phenomenon in that social software is expanding rapidly and yet groups tend to sabotage themselves in predictable ways. This gives rise to the question: &quot;Is there anything we can say with any certainty about building social software, at least for large and long-lived groups?&quot;</p>
<p>With regard to the self-destructive behavior that these groups partake in, Shirky references Bion's idea about social groups. I agree that identification and vilification as well as religious veneration can be quite destructive. However, I have yet to witness sex talk as a destructive force. Personally, I think that a social platform cannot succeed if it cannot be used for sex talk in some capacity. My go-to examples would be communities like Reddit, 4chan, Instagram, and Tumblr. I agree that most human communities will move toward these topics, however I think they might not be all that destructive as Bion makes it out to be.</p>
<p>Another accurate observation from Shirky is that novel communities and communication technology are ever growing, and we still see that today. Indeed, my thesis is that technology drives our society, so it makes sense that in our ever advancing society, our communities continue to change. Shirky even observed it in 1993, with USEnet, the WELL and IRC.</p>
<p>Building social software is undeniably tough, and most successful groups have hard-to-replicate circumstances that truly define the community. However, Shirky does give us two sets of axioms regarding building meaningful social software from his experience and observations. These are excellent points and something I'd strongly consider if you're building social software.</p>
<blockquote>
<p>Things to Accept:</p>
<ol>
<li>You cannot separate technical and social issues.</li>
<li>Members are different than users.</li>
<li>The core group has rights that trump individual rights in some situations.</li>
</ol>
</blockquote>
<p>Some of these may not be readily apparent if you haven't spent time observing digital communities. However, Shirky makes two important points on this topic. Members who hold citizenship in a group uphold the laws which define it. So, when the ability to log in is the same as citizenship, the group can quickly deteriorate. Citizen members and a clear 'constitution' are crucial for a successful community.</p>
<blockquote>
<p>Things to Design for:</p>
<ol>
<li>Users have to be able to identify themselves and there has to be a penalty for switching handles.</li>
<li>Second, you have to design a way for there to be members in good standing.</li>
<li>Three, you need barriers to participation. [..] The user of social software is the group, not the individual.</li>
<li>And, finally, you have to find a way to spare the group from scale.</li>
</ol>
</blockquote>
<p>If you think about these rules, many successful communities today follow the first and second. However, in current and previous generations of social software, openness and large scale are the hallmarks of 'modern social media'. Perhaps the next generation will address the third and fourth points more earnestly, I think there is a lot of value there.</p>
<p>This was a fantastic read and I would highly recommend you check out Shirky's blog if you liked his article above. This gives me a lot to think about while building online communities!</p>
</div>]]></content:encoded></item><item><title><![CDATA[Imzy Closing]]></title><description><![CDATA[Some quick thoughts on the closing of Imzy.]]></description><link>http://blog.seans.pub/imzy-closing/</link><guid isPermaLink="false">5bee3f94639e8c064404e433</guid><category><![CDATA[community]]></category><dc:creator><![CDATA[Sean]]></dc:creator><pubDate>Tue, 11 Dec 2018 15:19:43 GMT</pubDate><content:encoded><![CDATA[<div class="kg-card-markdown"><p><a href="https://www.imzy.com/">Imzy</a> /
<a href="https://techcrunch.com/2017/05/24/r-i-p-imzy/">TechCrunch Article</a></p>
<p>Imzy is the second large community to close this year, the other being Yik-Yak. I think it goes to show that the market for social places online is particularly tough. One of Imzy&rsquo;s founders, Dan,  <a href="https://news.ycombinator.com/item?id=14411499">posted</a> on hackernews that they shut down because they were unable to find any growth of users and they over-built (aka didn&rsquo;t take the time to find product-market fit).</p>
<p>A common theme with both of these companies is that they raised ten&rsquo;s of millions of venture capital as they started. Perhaps finding your market fit and reaching profitability before setting your sights on Facebook, Reddit and the like would be a wise approach.</p>
<p>They both also had issues with trolling. Imzy tried to offer a safe space, which the fundamental architecture of the internet seems to prevent. And Yik Yak also could not stop trolls (bullying) from making it&rsquo;s way into the community. These examples provoke the question: how can we understand and control trolling (rather than stop it entirely)? Which is probably gonna be another post.</p></div>]]></content:encoded></item><item><title><![CDATA[Modern Witchcraft]]></title><description><![CDATA[<div class="kg-card-markdown"><p>Originally posted: 10/24/2013</p>
<p>It's probably happened to you. Your technology backfired, stopped working, behaved unexpectedly, started acting funny and you don't know why. Occasionally, the keyboard on my phone stays up after I'm done typing. I don't know why, but it is inconvenient and strange. If anything like</p></div>]]></description><link>http://blog.seans.pub/modern-witchcraft/</link><guid isPermaLink="false">5ab2be0e6c44f94d0a3ce970</guid><category><![CDATA[technology]]></category><dc:creator><![CDATA[Sean]]></dc:creator><pubDate>Thu, 29 Nov 2018 03:50:00 GMT</pubDate><content:encoded><![CDATA[<div class="kg-card-markdown"><p>Originally posted: 10/24/2013</p>
<p>It's probably happened to you. Your technology backfired, stopped working, behaved unexpectedly, started acting funny and you don't know why. Occasionally, the keyboard on my phone stays up after I'm done typing. I don't know why, but it is inconvenient and strange. If anything like this has happened to you, you're a victim of what I would like to call modern witchcraft. (And no I'm in no way referring to groups like Wicca).</p>
<p>There is a slight disconnect in my idea of witchcraft and traditional interpretations.  Historically, witches refer to people who have performed negative acts in the eyes of their neighbors, or are demonic in some respect. The agent of modern witchcraft is some unseen ill-will directed at us, because our high-society has eliminated the possibility of magic or traditional 'witches' . But the connecting thread is some kind of perceived negative influence on our life, outside of our control. And this mysterious misfortune (that has persisted throughout human society) is what lead me to the idea of modern witchcraft.</p>
<p>Witchcraft is basically an explanation/ideology surrounding misfortune. In today's world we're at a loss for words, who do you blame when the USB charger for your phone that was fine yesterday stops working? Metaphorically, when your corn that was fine yesterday is wilting today, you cast a suspicious eye around the neighborhood. Venting your frustration. Today we either blame the very technology that was helping us, or bottle up frustration and shrug your shoulders.</p>
<p>This idea isn't entirely fleshed out, and I'm eager to hear what others think of modern vs traditional witchcraft, so let me know in the comments. But let me end with a anecdote from a trip a took a couple weeks ago:</p>
<p>A friend and I were returning from upstate New York and realized from our trip there that we needed a car charger for our cell phone. So we stopped at a gas station and picked up a cheap one. When we got to the car and plugged in our phones nothing was charging. First disbelief overtook us, we twisted and turned and restarted everything to no avail. Next anger, my friend applied copious force to all the connections, nothing. He asked why it wasn't working, and I sarcastically replied, &quot;magic&quot; (thinking about the very concept in this post). We gave up, cursing our luck and faulty technology.</p>
<p>Later, after we returned home, my father had a look at the car and reported that the dashboard (where the car charger plugged in) had blown a fuse, rendering it electronically useless. Maybe in actuality misfortune is never unexplainable or magic, it's just a matter of knowledge. Technology doesn't have to be full of misfortune, but many of us allow it to pass around us without ever attempting to understand it. And that makes it easier to experience frustration, but it doesn't have to be like that. Knowledge can kill bad luck.</p>
</div>]]></content:encoded></item><item><title><![CDATA[Consuming, not Creating]]></title><description><![CDATA[<div class="kg-card-markdown"><p>Originally posted: 11.05.2013</p>
<p>It is possibly the most disturbing trend I've ever noticed. Have you seen it? People that buy and watch and listen and play and complain and just consume all the time, and never create anything. I just recently examined my own life. I eat pre-packaged</p></div>]]></description><link>http://blog.seans.pub/consuming-not-creating/</link><guid isPermaLink="false">5ab2bfcf6c44f94d0a3ce973</guid><category><![CDATA[self]]></category><dc:creator><![CDATA[Sean]]></dc:creator><pubDate>Thu, 22 Nov 2018 03:49:00 GMT</pubDate><content:encoded><![CDATA[<div class="kg-card-markdown"><p>Originally posted: 11.05.2013</p>
<p>It is possibly the most disturbing trend I've ever noticed. Have you seen it? People that buy and watch and listen and play and complain and just consume all the time, and never create anything. I just recently examined my own life. I eat pre-packaged breakfast, walk to class to be lectured to, talk with friends about assignments we've been given or tv/events that have happened, have a man in a cart cook my lunch, get lectured to some more, read some papers/books I've been assigned, watch some youtube, look at reddit or hackernews a bit, MAYBE cook my own dinner, or resort to Wawa again, do some more assignments and go to sleep. This in and of itself isn't sooo bad, but doing it every single day gets to be really bad - it makes it a habit to just consume what we are given, it makes us fat and dumb and useless.</p>
<p>Now imagine creating things every day. Making breakfast, making your body stronger, building part of a project, making lunch, having a class discussion throwing around ideas, recording a little video or writing a blog post or some poetry, and cooking dinner and working on another paper before bed. How does that sound in comparison - now don't let my author bias get in the way - think about a day of consuming vs a day of creating, picture one of each for yourself and compare them.</p>
<p>Now let me be careful and say that clearly I've been speaking in extremes up to this point. Creative people have to consume a bit and I would like to see more consumers create a bit, but these hybrids clearly exist. Maybe it goes back to &quot;everything in moderation&quot;. But the point here is that I think our society as a whole consumes a bit more than it should, and to solve this it should start trying to create more.</p>
<p>I almost feel like I forgot how to create things. Noticing this has begun to change a lot of parts of my life. I can honestly say that I feel a lot happier. Yesterday I went back to my early high school days and drew a fantasy map, it wasn't my best work, but it made me much happier and got my brain/heart working again. This sounds cheesy, but I felt a small flame reignited in my chest - it was like I was glowing, and I'm in general much more happy. Now to stop tooting my own horn.</p>
<p>It's something I think our society needs to make time for - stop eating out with friends and have a dinner party instead. Stop watching TV, draw or write or dance or something. I promise you will feel better. There is a lot of soma out there, and it's quite dangerous, I may sound like I'm claiming a slippery slope, but all these little 'consumerisms' add up and make us miserable and dead. Make some stuff instead! I made a shitty map and it made me 100x happier than a box of cookies!</p>
<p>Show me what you create! Let me know if you've noticed any other consumer habits that are making you unhappy!</p>
<p>See? Doesn't matter how shitty!</p>
<p><a href="http://blog.seans.pub/http://i.imgur.com/UBDBJi4.jpg">My first map in a while.</a></p>
</div>]]></content:encoded></item><item><title><![CDATA[Checklisting.Club]]></title><description><![CDATA[Checklist Club is the first of a series of projects and has already yielded some interesting lessons, come hear the story...]]></description><link>http://blog.seans.pub/checklisting-for-technical-fields/</link><guid isPermaLink="false">5adfc0e36c44f94d0a3ce9d6</guid><category><![CDATA[projects]]></category><dc:creator><![CDATA[Sean]]></dc:creator><pubDate>Mon, 12 Nov 2018 21:36:14 GMT</pubDate><content:encoded><![CDATA[<div class="kg-card-markdown"><p>Checklisting Club is first and foremost a learning experience. It's part of a larger goal to complete 12 projects in (roughly) 12 months. The goal of this particular project is to learn how quickly I could build a minimally viable SaaS product. And I already failed in one aspect - I'm choosing to spend a little more than one month in order to complete it to my satisfaction. But that is enough meta-talk, lets talk about how this idea came about, how I implemented it so far and where it's going.</p>
<p><img src="http://blog.seans.pub/content/images/2018/11/checklist.png" alt="checklist"></p>
<h2 id="thechecklistmanifesto">The Checklist Manifesto</h2>
<p>In 2009, Atul Gawande authored an insightful and well-written book called <em>The Checklist Manifesto</em>. I finished it a couple months ago, and it has stuck with me for quite a while. It really made me see checklists in a whole new light.</p>
<p>Checklists are tools for managing complexity, a key skill that professionals in numerous industries use. They are an easy tool, that enables people to avoid careless mistakes, work quickly in critical situations and collaborate more effectively. Altogether, there are great benefits - once you can convince a skilled professional that they should be using a tool that is perceved as rudimentary, simple or naive.</p>
<h2 id="onsoftwareandcollaboration">On software and collaboration</h2>
<p>Let's hold this idea of checklisting in our minds and take a look at a website called Github. Github is a collaborative tool for helping people build software. It started as a UI implementation of version control tool that helps programmers avoid and correct common mistakes. Before Github, this version control tool still exisited and was used by many programmers. But what Github did was made it even simpler to collaborate, visualize and share  version controlled code.</p>
<p>The underlying premise wasn't new, and the version control tool was in fact already built with collaborative teamwork in mind! But on top of this foundation, Github built a functional user interface and created enhancements that convinced millions of software developers to use it today.</p>
<p>From this idea came my inspiration for Checklisting Club. I want to build basic enhancements and create a UI that facilitates collaboration on top of the solid conceptual foundation that is checklisting.</p>
<h2 id="checklistsinthewild">Checklists in the wild</h2>
<p>My next move while thinking about all this was to document all examples of checklists I could find. On one hand, these examples would serve as evidence of a need and help me populate the app with initial content. On the other hand, these examples might lead to potential customers and communities that would use a checklist app. I was primarily looking for checklists for software development, but there are all kinds out there - here is a small sample:</p>
<ul>
<li><a href="https://gdprchecklist.io/">GDPR Compliance Checklist</a> is an excellent example.</li>
<li><a href="https://www.nasa.gov/sites/default/files/atoms/files/nasa_systems_engineering_handbook.pdf">NASA Engineering Handbook</a> has some examples (see Appendix P in particular).</li>
<li><a href="https://hn.algolia.com/?query=checklist&amp;sort=byPopularity&amp;prefix&amp;page=0&amp;dateRange=all&amp;type=story">Checklists on Hackernews</a> is a great meta-resource.</li>
<li><a href="https://github.com/thedaviddias/Front-End-Design-Checklist">Front End Design Checklist</a></li>
<li><a href="https://www.sideprojectchecklist.com/marketing-checklist/">Side Project Marketing Checklist</a></li>
<li><a href="https://github.com/shieldfy/API-Security-Checklist">API Security Checklist</a></li>
</ul>
<p>From this exploration, I got some good examples and learned about some of the workarounds people use to distribute their checklists. I also learned how often checklists can become very long or have multiple parts - which could be a nice feature later. I also discovered some potential competitors in this process.</p>
<h2 id="backtobusiness">Back to business</h2>
<p>So at this point I began asking myself, &quot;Honestly, is this a viable business&quot;? And from what I understand at this point in time is that is probably is not. I haven't actually spoken to anyone who said &quot;I will pay money once this is a real thing&quot;. Nor am I sure that modest improvements and collaboration tools on top of checklists justify anyone spending their money for what is essentially a checklist tool.</p>
<p>Some core questions that give me doubts also include: Will people print out checklists and use them? Are there any valid improvements to checklists that could make it better than pencil and paper, or tools like Trello or Asana? How wrong am I about the UI/UX?</p>
<p>However, I am still determined to see this project through, since my goal from the outset was not to make money, but to make a viable SaaS platform. So I'm going to continue building my prototype and will do some minimal marketing to guage real interest. Who knows what happens when we share what we make?</p>
<h2 id="prototypingwhilelearning">Prototyping while learning</h2>
<p>Let's go over how I'm building this briefly. Right now, the landing page of checklisting.club is a basic landing page template from Pure CSS, hosted on Netlify via Github. It's literally one html page and one css page. No javascript! I chose Netlify because they have a nifty feature that allows you to collect form responses without implementing any javascript, plus it runs straight from a Github repo, so iterating is quick and visible.</p>
<p>Now behind the landing page, there are two apps running on Digital Ocean: the webapp and the API. The webapp is built using VueJS (since I'm trying not to get to attached to any particular JS framework). It will (soon) live on app.checklisting.club and it will handle all the clicking and moving around and anything the user might see. Behind the webapp is the API. The API is built using NodeJS with ExpressJS (since I'm super framiliar/comfortable with deploying with it) and will live at api.checklisting.com. The API will do all of the heavy lifting (storing data, saving sessions, converting tex to pdf, etc).</p>
<p>So in tandem, these three components will form checklisting club - the SaaS. I think I can make the development process even quicker by trying something else for the webapp side of things. I feel as though getting used to Vue, and all the setup (webpack, etc) required for it, slowed me down at times. Really enjoyed my experience with Netlify, and Node+Express is my tried and true, that combo isn't going anywhere.</p>
<h2 id="statusupdate">Status update</h2>
<p>As of posting this, I have a landing page, a domain name, and a wireframe version of the webapp and a decent version of the API. My next steps are roughly as follows:</p>
<ul>
<li>Finalize and implement webapp/UI designs.</li>
<li>Create API routes for user accounts.</li>
<li>Integrate Strip payments.</li>
<li>Create virtualhosts for webapp and API.</li>
<li>Populate app with test users/checklists.</li>
<li>Create and share post about launch.</li>
</ul>
<h2 id="conclusion">Conclusion</h2>
<p>I've really enjoyed working on this project so far, and I think it will set me up nicely to work on similar sized projects in the future. It's taken a few years to get to this level of confidence, but I'm still struggling with managing my timeline/expectations/scope and with finding the right tools for the job.</p>
<p>If you'd like to check out the landing page, visit <a href="http://blog.seans.pub/checklisting-for-technical-fields/checklisting.club">this link</a>. To get updates, add your email at the bottom of that page.</p>
</div>]]></content:encoded></item><item><title><![CDATA[Whistling, Ice Skating and Doing Everything]]></title><description><![CDATA[<div class="kg-card-markdown"><p><em>Originally posted: 02.02.2015</em></p>
<p>This post is about how to do everything you've ever wanted. Here's the secret, you just have to continuously do it. While to some this is blatantly obvious, you'd be surprised how many idealists and strategists like myself have trouble doing even one of the</p></div>]]></description><link>http://blog.seans.pub/whistling-ice-skating-and-doing-everything/</link><guid isPermaLink="false">5ab2c5146c44f94d0a3ce976</guid><category><![CDATA[self]]></category><dc:creator><![CDATA[Sean]]></dc:creator><pubDate>Thu, 22 Mar 2018 03:34:26 GMT</pubDate><media:content url="http://blog.seans.pub/content/images/2018/03/peter-brugel.jpeg" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="http://blog.seans.pub/content/images/2018/03/peter-brugel.jpeg" alt="Whistling, Ice Skating and Doing Everything"><p><em>Originally posted: 02.02.2015</em></p>
<p>This post is about how to do everything you've ever wanted. Here's the secret, you just have to continuously do it. While to some this is blatantly obvious, you'd be surprised how many idealists and strategists like myself have trouble doing even one of the thousands of things we think about throughout the day. Every evening I make lists of the tasks to accomplish and actions to strive for. However, I often find myself falling short of these goals. I believe the secret to getting these things done is in repetition, and in doing.</p>
<p><strong>Whistling</strong></p>
<p>I learned to whistle by looking like an idiot for months. During high-school, I had the absurd desire to whistle (I never could before). So what I did was spit everywhere, make weird noises with my tongue, cheeks, and lips, and generally fail to whistle. For months. Really, months. Driving to or from school, walking to or from class, and whenever else I could or got the urge, I would fail to whistle. The failure isn't that important, what the message is here is that I did it so many times that eventually I could whistle for a second. Then a few seconds. Nowadays I feel confident about my whistling. It's weird, but I swear, one day after the period of time when I could haphazardly whistle I suddenly found the right mouth position. I was so happy that day. Whistling everywhere, looking like a fool. But I realized what had happened. I had accomplished something that I really wanted to learn, by doing it again and again and again.</p>
<p><strong>Ice Skating</strong></p>
<p>More recently (over the past month) for some reason or another I have been ice skating like three times. For me, this is a lot - I rarely go ice skating, and when I did it was fairly awful. I would fall consistently and although I was never afraid of skating (I still liked it), I never looked forward to it.  This has changed. Guess how? Yes, I did it a lot (well, three times...). The first time was still pretty bad, I honestly didn't learn much that time. The second time I just focused on learning not to fall - to balance properly, and in the end, I guess I fell less than usual that time. It was a little surprising how much faster skating came to me after I just straightened my back and controlled my legs/ankles. The third time, I picked up speed - I feel as though I could really pass people, go where I wanted, and kind of enjoy the whole experience more. The third time felt as though everything had come together, I still fell once, right at the end (bummer right?), but holy crap did it feel good getting off the ice after the third time. I am so ready to go again. I learned a skill that I previously simply didn't have, and how? by doing it - again and again and again.</p>
<p><strong>The Process and The Results</strong></p>
<p>I hope the message about doing actions repeatedly in order to accomplish them has gotten across. At this point I want to just mention a related idea. Too often we think purely about the results - I want to be an astronaut. The thing is, wanting to be an astronaut doesn't make you one. Acting like, and being an astronaut makes you one. Wanting to do 100 push-ups per day doesn't make it so. Getting on your hands and knees makes it so. I think that if you want something, don't want it - want the process, look forward to the doing, not the done. The doing is where learning, and joy and mindfulness take place. The done is a place for contentedness, and laziness, and false happiness (is there a word for false-happiness?).</p>
<p>Now hopefully this didn't get too weird at the end, and I was still lucid. Doing things is one of the harder parts of life, so hopefully I can learn from my own writing and apply these principles to other things that are good for stuff like careers :| . Anyway, until next time.</p>
<p>Peace,<br>
Sean</p>
</div>]]></content:encoded></item><item><title><![CDATA[Tilde Communities]]></title><description><![CDATA[This is an excerpt for my first post. ]]></description><link>http://blog.seans.pub/tilde-communities/</link><guid isPermaLink="false">5aa69427977ae049b346c4ce</guid><category><![CDATA[community]]></category><dc:creator><![CDATA[Sean]]></dc:creator><pubDate>Mon, 12 Mar 2018 14:53:20 GMT</pubDate><content:encoded><![CDATA[<div class="kg-card-markdown"><p>My first exposure to a tilde community was <a href="https://medium.com/message/tilde-club-i-had-a-couple-drinks-and-woke-up-with-1-000-nerds-a8904f0a2ebf">an article about tilde.club</a>, which was described by its creator Paul Ford as &quot;one cheap, unmodified Unix computer on the Internet&quot;. This simple idea spawned a flood of creativity and community that serve as an excellent lesson in the study of community. Today, we will be reflecting on the original <a href="https://en.wikipedia.org/wiki/Tilde">tilde</a> community and exploring <a href="http://tilde.club/~pfhawkins/othertildes.html">other tilde communities</a> that followed it.</p>
<h1 id="theoriginaltildecommunity">The Original Tilde Community</h1>
<p>You can still visit it <a href="http://tilde.club/">here</a>.</p>
<h2 id="trust">Trust</h2>
<p>One of the core principles of tilde communities, whether conscious or not, was trust. One person had to stand up and say, &quot;I will be your host, please entrust me to provide what services I can for the existance of our community&quot;. And doing so is no easy feat, it takes responsibility, emotional maturity, and a heap of fun-loving foolishness. One such responsibility is to set the precedent of how strangers are treated in a community. When a host is open and friendly, strangers are encouraged to begin forming a relationship with the host and the place. The trust I'm talking about stems from this early interaction. The host trusts that strangers have good intentions and the strangers must trust that the host has good intentions. This is scary, but fire forges the strongest metals (or something like that).</p>
<h2 id="size">Size</h2>
<p>Tilde communities clearly illustrate the effect of size on a community. Right now, there are 637 accounts on tilde.club, and there is a long waitlist. I don't know if there has ever been a trimming of the tree, but I expect it wouldn't be the worst thing in the world - there are a good number of dead pages between active ones (as should be expected I suppose).</p>
<p>But the limited size affords certain benefits. Users are able to comprehend the extent of their neighborhood and feel as though they play a valuable roll in the group. It gives a feeling of importance and of 'us'-ness (the word I'm looking for is probably community). Without the eternal september, the place itself doesn't need to be anything other than a cheap <a href="https://en.wikipedia.org/wiki/Unix">Unix</a> computer on the internet.</p>
<h2 id="barriertoentry">Barrier to Entry</h2>
<p>Beyond the size of the community lies another barrier to entry: novice computer knowledge.</p>
<ul>
<li>The idea of unix knowledge (although light in the grand scheme), and basic html is the perfect amount of barrier for technical entry.</li>
</ul>
<h2 id="environment">Environment</h2>
<ul>
<li>The space itself has properties that perpetuate community structures and allow independent expression.</li>
</ul>
<h1 id="othertildecommunities">Other Tilde Communities</h1>
<p><a href="http://tilde.club/~pfhawkins/othertildes.html">http://tilde.club/~pfhawkins/othertildes.html</a><br>
<a href="http://tilde.club/~jonbell/">http://tilde.club/~jonbell/</a></p>
<h1 id="howitworks">How it Works</h1>
<p>How unix/home directory works.<br>
How access works.<br>
How hosting works.<br>
How security/backups work.</p>
<ul>
<li>Most of the time you don't want to freely give access to a server connected to the network. The opportunity for malicious actions is just too great.</li>
</ul>
</div>]]></content:encoded></item></channel></rss>