{"id":2213,"date":"2020-01-02T15:37:44","date_gmt":"2020-01-02T21:37:44","guid":{"rendered":"http:\/\/thepizzy.net\/blog\/?p=2213"},"modified":"2020-01-02T20:33:32","modified_gmt":"2020-01-03T02:33:32","slug":"new-decade-new-projects","status":"publish","type":"post","link":"https:\/\/thepizzy.net\/blog\/2020\/01\/new-decade-new-projects\/","title":{"rendered":"New Decade, New Projects"},"content":{"rendered":"\n<p>Hello website&#8230; it&#8217;s been a long time. With a kid occupying the majority of my waking hours outside of work, leaving only a few hours to myself outside of that, there hasn&#8217;t been much desire or time available to devote to technology projects.<\/p>\n\n\n\n<p>However, I&#8217;ve spent the last several days of the holiday break considering all the things I would like to do in my &#8220;moonlighting&#8221; hours of the evenings, and now that I&#8217;ve settled on a few items, I figure I&#8217;d write about them before they all slip away.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">[[Oracle]] Assistant<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft size-large is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2214\" data-permalink=\"https:\/\/thepizzy.net\/blog\/2020\/01\/new-decade-new-projects\/v14-6-500x500-trans\/\" data-orig-file=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2020\/01\/v14.6-500x500-trans.png?fit=500%2C500&amp;ssl=1\" data-orig-size=\"500,500\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"v14.6-500&amp;#215;500-trans\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2020\/01\/v14.6-500x500-trans.png?fit=500%2C500&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2020\/01\/v14.6-500x500-trans.png?resize=172%2C172&#038;ssl=1\" alt=\"\" class=\"wp-image-2214\" width=\"172\" height=\"172\" srcset=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2020\/01\/v14.6-500x500-trans.png?w=500&amp;ssl=1 500w, https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2020\/01\/v14.6-500x500-trans.png?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2020\/01\/v14.6-500x500-trans.png?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2020\/01\/v14.6-500x500-trans.png?resize=56%2C56&amp;ssl=1 56w, https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2020\/01\/v14.6-500x500-trans.png?resize=50%2C50&amp;ssl=1 50w\" sizes=\"auto, (max-width: 172px) 100vw, 172px\" \/><\/figure><\/div>\n\n\n\n<p>For the past several months, I&#8217;ve been kicking around the idea of building my own virtual assistant to aid in various work-related tasks that remain unfulfilled by existing digital assistants.<\/p>\n\n\n\n<p>I am heavily invested into the Google Ecosystem at this point (beta Chromebook, beta Google Glass, beta everything Google), but as good as the Google Assistant is, I would like even more specific tasks to be handled with voice commands than are currently available.<\/p>\n\n\n\n<p>I&#8217;ve been working with the <a href=\"https:\/\/dialogflow.com\/\">DialogFlow<\/a> interface to create a set of voice interactions that will understand what I want to do, and interpret them to the correct variables for executing. I just haven&#8217;t pulled the trigger on the Fulfillment part of the setup yet, given that it is necessary to make requests <em>into<\/em> my work environment to execute the commands at this time.<\/p>\n\n\n\n<p>While this approach is working well for what I&#8217;ve done thus far, I decided to go bigger, and hooked up [[Oracle]] as a Discord Bot, where Voice Input is replaced with an @-message in my Discord Server (over on <a href=\"https:\/\/guild.the-spot.net\">https:\/\/guild.the-spot.net<\/a>, if interested). After initially standing up my own npm-server bot for Discord, I decided to allow all commands to flow into DialogFlow, but I have yet to finish setting up the Fulfillment side, so nothing actually does anything yet.<\/p>\n\n\n\n<p>This is one of the many projects. I&#8217;d like to get the bot a presence via my tsn Slack Channel, as well as figure out a way to more tightly integrate it into the phpBB forum architecture for <a href=\"https:\/\/the-spot.net\">the-spot.net<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The-Spot.net &amp; #tsn9<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignleft size-large is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2085\" data-permalink=\"https:\/\/thepizzy.net\/blog\/tsn-13-logo-text-500x500\/\" data-orig-file=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2015\/08\/tsn-13-logo-text-500x500.png?fit=500%2C500&amp;ssl=1\" data-orig-size=\"500,500\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"tsn8 logo, with text\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2015\/08\/tsn-13-logo-text-500x500.png?fit=500%2C500&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2015\/08\/tsn-13-logo-text-500x500.png?resize=175%2C175&#038;ssl=1\" alt=\"\" class=\"wp-image-2085\" width=\"175\" height=\"175\" srcset=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2015\/08\/tsn-13-logo-text-500x500.png?resize=500%2C500&amp;ssl=1 500w, https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2015\/08\/tsn-13-logo-text-500x500.png?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2015\/08\/tsn-13-logo-text-500x500.png?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2015\/08\/tsn-13-logo-text-500x500.png?resize=56%2C56&amp;ssl=1 56w, https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2015\/08\/tsn-13-logo-text-500x500.png?resize=50%2C50&amp;ssl=1 50w\" sizes=\"auto, (max-width: 175px) 100vw, 175px\" \/><\/figure><\/div>\n\n\n\n<p>I recently posted my &#8220;decade in review&#8221; article, but due to the level of personal details and the audience it would make most sense to, I posted it over in <a href=\"https:\/\/the-spot.net\/phorums\/viewtopic.php?f=121&amp;t=4561\">my Journals thread on the-spot.net forums<\/a>.<\/p>\n\n\n\n<p>While doing so, I encountered all kinds of bugs from the upgrade to phpBB 3.2.8 that were not addressed in the tsn8 templates due to the sheer number of differences between it and the default proSilver theme. Those errors, and <a href=\"https:\/\/the-spot.net\/phorums\/viewtopic.php?p=195862\">the 5-year-old #tsnSpecialReport thread<\/a> about a new design idea got me in the mood to actually do something about it.<\/p>\n\n\n\n<p>To be fair, every year, around this time, I have nothing <em>but<\/em> time, and always think about what it would be like to finally get around to updating the site again to fulfill that design. However, this time, I am 5-years smarter than I was when I originally posted it&#8230;and I have a pretty good understanding of what it takes to get the pieces in place.<\/p>\n\n\n\n<p>So while #tsn9 is going to be the main project for 2020, it comes with a couple sub-projects&#8230;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">tsn phpBB Extension<\/h3>\n\n\n\n<p>When tsn8 was developed, I tried my best to rely as much as possible on the phpBB Event architecture, but there were just some places that the data I needed was not exposed via event emission, and I had to write custom code into the core files.<\/p>\n\n\n\n<p>The first project, thus, is going to be extracting all custom code into the <a href=\"https:\/\/github.com\/the-spot-net\/phpbb-ext-tsn8-mods\">tsn phpBB Extension<\/a>, and confining my work to that repository instead of allowing myself to edit &#8220;vendor&#8221; files.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">#tsn9 &amp; Material Design Components<\/h3>\n\n\n\n<p>The main driver of the updated design concept was to treat Forums like Directories &amp; their Topics like email threads. Then to cleanup the layout of the old-style forums to be cleaner and more representative of single-threaded communications: basically, emails.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"580\" height=\"610\" data-attachment-id=\"2219\" data-permalink=\"https:\/\/thepizzy.net\/blog\/2020\/01\/new-decade-new-projects\/enpfnsjxuae0pkv\/\" data-orig-file=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2020\/01\/ENPfnSJXUAE0pKv.png?fit=746%2C784&amp;ssl=1\" data-orig-size=\"746,784\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"tsn9 View Topic Mockup\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2020\/01\/ENPfnSJXUAE0pKv.png?fit=580%2C610&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2020\/01\/ENPfnSJXUAE0pKv.png?resize=580%2C610&#038;ssl=1\" alt=\"\" class=\"wp-image-2219\" srcset=\"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2020\/01\/ENPfnSJXUAE0pKv.png?w=746&amp;ssl=1 746w, https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2020\/01\/ENPfnSJXUAE0pKv.png?resize=285%2C300&amp;ssl=1 285w, https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2020\/01\/ENPfnSJXUAE0pKv.png?resize=143%2C150&amp;ssl=1 143w, https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2020\/01\/ENPfnSJXUAE0pKv.png?resize=700%2C736&amp;ssl=1 700w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><figcaption>tsn9 Journals Forum, View Topic mockup<\/figcaption><\/figure>\n\n\n\n<p>Usually when I redo the website, there is an educational factor behind it all. Last time was tsn8 and I had just learned about front-end frameworks and the responsive design \/ grid system. I barely knew what I was even looking at when I did it, and was especially surprised to see that phpBB had anything at all for responsive design, since that didn&#8217;t exist until then.<\/p>\n\n\n\n<p>This time around, it&#8217;s a double-whammy learning curve. I&#8217;ve got the responsive stuff, and I&#8217;ve got (at least a super basic understanding of) design principles&#8230; so this time I&#8217;m learning to use the Material Design Component library for Web, and going deeper into whatever it is phpBB wants developers to do for their extensions.<\/p>\n\n\n\n<p>It&#8217;ll be far easier than building an &#8220;API Theme&#8221; as I originally started out doing, with the intent to put a front-end layer on top of that. For this, I&#8217;ll focus only on rebuilding the templates that make tsn unique, and then I&#8217;ll move to reworking everything else that is left in proSilver.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">[[Oracle]] &amp; #tsn9<\/h2>\n\n\n\n<p>The last bit of project that I&#8217;d like to work into the decade is a deeper integration of the [[Oracle]] Assistant and the #tsn9 forums.<\/p>\n\n\n\n<p>This idea is a little more fluid at this time, since the Assistant is still largely undefined. However, there are a couple ideas that I come across randomly which have broad third-party support or libraries that would make better sense if they were consolidated into the same bot.<\/p>\n\n\n\n<p>Some examples:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Asking [[Oracle]] if there is anything new to see on the site<\/li><li>Getting a notification for Private Messages, or mentions<\/li><li>Sharing outbound from the site&#8230;or maybe inbound to the site.<\/li><li>[[Oracle]] as a pass-through from some chat service to the forums<\/li><li>Better forum search functionality with questions to [[Oracle]]<\/li><\/ul>\n\n\n\n<p>I&#8217;m open to any other ideas for what forum users would like to do, or even what you may wish some social media platforms would let you do. Leave those in the comments if you have some.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A new decade rolls around, and with it some ideas for new technology projects to get started on.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[25,11,937,3,9,347,2,4],"tags":[77,951,359,970,971,948],"class_list":["post-2213","post","type-post","status-publish","format-standard","hentry","category-programming","category-projects","category-social-media","category-tech","category-the-spot-net","category-the-spot-network","category-updates","category-oracle","tag-google","tag-the-spot-net","tag-tsn","tag-tsn9","tag-virtual-assistant","tag-oracle"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_likes_enabled":false,"jetpack_shortlink":"https:\/\/wp.me\/prOO4-zH","jetpack-related-posts":[{"id":22,"url":"https:\/\/thepizzy.net\/blog\/2006\/04\/project-oracleserver-updated\/","url_meta":{"origin":2213,"position":0},"title":"Update: [[Oracle]].Server","author":"[[Neo]]","date":"April 3, 2006","format":false,"excerpt":"I just built another computer, [[Oracle]].2, for this project and have set up a Google Account for the Oracle servers. I'm going to start distributed indexing for everyone that joins the tsnlocal network, which is going live April 12th, to commemorate the-spot.net's 3rd year running. I'll set up a webserver\u2026","rel":"","context":"In &quot;Projects&quot;","block_context":{"text":"Projects","link":"https:\/\/thepizzy.net\/blog\/category\/projects\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2007\/10\/oracle.png?fit=500%2C500&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":4,"url":"https:\/\/thepizzy.net\/blog\/2006\/01\/oracle-and-m3rlin\/","url_meta":{"origin":2213,"position":1},"title":"[[Oracle]] and [m3rlin]","author":"[[Neo]]","date":"January 20, 2006","format":false,"excerpt":"So my friend [wizard] and I (as I go by [[Neo]] in IRC chat rooms) are working on our own personalized bots for IRC Chat rooms. These bots are simple IRC scripts for now, with remote functions and commands, but we're working our way up to A.I. Bots for this\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/thepizzy.net\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":71,"url":"https:\/\/thepizzy.net\/blog\/2006\/09\/oracle-reborn-tsnlocal-goes-up-beta\/","url_meta":{"origin":2213,"position":2},"title":"[[Oracle]] Reborn, tsnlocal goes up beta","author":"[[Neo]]","date":"September 11, 2006","format":false,"excerpt":"This weekend, I hung out with [wizard] and we worked on our servers. He created his [m3rlin] server, and I created my [[Oracle]] server. Originally, as you might recall from previous posts, [[Oracle]] is an IRC bot that we use for auto responding and chanserv purposes. Our bots are still\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/thepizzy.net\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2007\/10\/oracle.png?fit=500%2C500&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":31,"url":"https:\/\/thepizzy.net\/blog\/2006\/04\/update-tsnx-tsn-domain-issues-profile-cp\/","url_meta":{"origin":2213,"position":3},"title":"Update: tsnX &#8211; tsn domain issues, profile cp, [[Oracle]]","author":"[[Neo]]","date":"April 9, 2006","format":false,"excerpt":"There have been problems lately with the dns server or something, according to my server people. I thought they had it fixed, but apparently it's broke again. I'll see what's up with that if it's not fixed soon. Also, I managed to fail my quiz (which wasn't for a grade)\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/thepizzy.net\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":19,"url":"https:\/\/thepizzy.net\/blog\/2006\/03\/project-tormachi-updated\/","url_meta":{"origin":2213,"position":4},"title":"Update: Tormachi","author":"[wizard]","date":"March 28, 2006","format":false,"excerpt":"The idea for Tormachi was to make the program, Hamachi, able to connect through any internet configuration. The problem we continually ran into was that in a corporate, and sometimes school network, the handshake to join the Hamachi \"network\", which issues the \"5.\" ip address would fail. The reason for\u2026","rel":"","context":"In &quot;Projects&quot;","block_context":{"text":"Projects","link":"https:\/\/thepizzy.net\/blog\/category\/projects\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":20,"url":"https:\/\/thepizzy.net\/blog\/2006\/03\/project-oracleserver\/","url_meta":{"origin":2213,"position":5},"title":"Project: [[Oracle]].Server","author":"[[Neo]]","date":"March 29, 2006","format":false,"excerpt":"This past weekend, [wizard] and I spent most of our time in the evening (and into the very early morning) working on my network (which has been dubbed tsnlocal). We started the tsnlocal project in beta the weekend before to solve a problem with file sharing on the network. There\u2026","rel":"","context":"In &quot;Projects&quot;","block_context":{"text":"Projects","link":"https:\/\/thepizzy.net\/blog\/category\/projects\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/thepizzy.net\/blog\/wp-content\/uploads\/2007\/10\/oracle.png?fit=500%2C500&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/posts\/2213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/comments?post=2213"}],"version-history":[{"count":3,"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/posts\/2213\/revisions"}],"predecessor-version":[{"id":2221,"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/posts\/2213\/revisions\/2221"}],"wp:attachment":[{"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/media?parent=2213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/categories?post=2213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thepizzy.net\/blog\/wp-json\/wp\/v2\/tags?post=2213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}