<?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:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Garrett Vorce on Medium]]></title>
        <description><![CDATA[Stories by Garrett Vorce on Medium]]></description>
        <link>https://medium.com/@garrettvorce?source=rss-461fd504f054------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*IXLlS4wXC2HJrZAqym2CKQ.png</url>
            <title>Stories by Garrett Vorce on Medium</title>
            <link>https://medium.com/@garrettvorce?source=rss-461fd504f054------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Thu, 12 Nov 2026 08:20:55 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@garrettvorce/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Idea to Startup]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/swlh/idea-to-startup-31d97fab59f0?source=rss-461fd504f054------2"><img src="https://cdn-images-1.medium.com/max/1077/1*GR8BHQitZvAly2Ryk-wqPA.png" width="1077"></a></p><p class="medium-feed-snippet">A blockchain endeavor</p><p class="medium-feed-link"><a href="https://medium.com/swlh/idea-to-startup-31d97fab59f0?source=rss-461fd504f054------2">Continue reading on The Startup »</a></p></div>]]></description>
            <link>https://medium.com/swlh/idea-to-startup-31d97fab59f0?source=rss-461fd504f054------2</link>
            <guid isPermaLink="false">https://medium.com/p/31d97fab59f0</guid>
            <category><![CDATA[business]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[finance]]></category>
            <category><![CDATA[lessons-learned]]></category>
            <category><![CDATA[startup]]></category>
            <dc:creator><![CDATA[Garrett Vorce]]></dc:creator>
            <pubDate>Thu, 14 Sep 2023 13:16:02 GMT</pubDate>
            <atom:updated>2023-09-14T13:16:02.471Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Introducing GenerAtor - Algorand Token Generator]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://garrettvorce.medium.com/introducing-generator-algorand-token-generator-6440fabedcb1?source=rss-461fd504f054------2"><img src="https://cdn-images-1.medium.com/max/1160/1*2QxOo5_dvf8U0tuKzDPaFg.jpeg" width="1160"></a></p><p class="medium-feed-snippet">This tool enables users to use new or existing credentials from the Algorand blockchain, on various networks such as (Main net and Test&#x2026;</p><p class="medium-feed-link"><a href="https://garrettvorce.medium.com/introducing-generator-algorand-token-generator-6440fabedcb1?source=rss-461fd504f054------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://garrettvorce.medium.com/introducing-generator-algorand-token-generator-6440fabedcb1?source=rss-461fd504f054------2</link>
            <guid isPermaLink="false">https://medium.com/p/6440fabedcb1</guid>
            <category><![CDATA[tech]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[open-source]]></category>
            <category><![CDATA[development]]></category>
            <category><![CDATA[algorand]]></category>
            <dc:creator><![CDATA[Garrett Vorce]]></dc:creator>
            <pubDate>Tue, 04 May 2021 05:58:06 GMT</pubDate>
            <atom:updated>2021-05-05T02:03:06.284Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[A deeper look into Algorand: The basics]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://garrettvorce.medium.com/a-deeper-look-into-algorand-the-basics-bd1de46e0881?source=rss-461fd504f054------2"><img src="https://cdn-images-1.medium.com/max/2600/1*eEbefxAnwMtmueioG2DjhA.png" width="2709"></a></p><p class="medium-feed-snippet">Algorand aims to solve the three main problems faced by blockchains, called the blockchain trilemma.</p><p class="medium-feed-link"><a href="https://garrettvorce.medium.com/a-deeper-look-into-algorand-the-basics-bd1de46e0881?source=rss-461fd504f054------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://garrettvorce.medium.com/a-deeper-look-into-algorand-the-basics-bd1de46e0881?source=rss-461fd504f054------2</link>
            <guid isPermaLink="false">https://medium.com/p/bd1de46e0881</guid>
            <category><![CDATA[finance]]></category>
            <category><![CDATA[cryptocurrency]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[development]]></category>
            <dc:creator><![CDATA[Garrett Vorce]]></dc:creator>
            <pubDate>Mon, 26 Apr 2021 09:30:52 GMT</pubDate>
            <atom:updated>2021-04-26T09:43:06.730Z</atom:updated>
            <cc:license>http://creativecommons.org/publicdomain/zero/1.0/</cc:license>
        </item>
        <item>
            <title><![CDATA[Angular / RxJS — Top 5 ways to unsubscribe from observables]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.datadriveninvestor.com/angular-rxjs-top-5-ways-to-unsubscribe-from-observables-6e8d0a7226c?source=rss-461fd504f054------2"><img src="https://cdn-images-1.medium.com/max/1410/1*oGfAtBYiAfeZRjBgCxe34w.png" width="1410"></a></p><p class="medium-feed-snippet">Top 5 ways can unsubscribe from Observables in Angular..</p><p class="medium-feed-link"><a href="https://medium.datadriveninvestor.com/angular-rxjs-top-5-ways-to-unsubscribe-from-observables-6e8d0a7226c?source=rss-461fd504f054------2">Continue reading on DataDrivenInvestor »</a></p></div>]]></description>
            <link>https://medium.datadriveninvestor.com/angular-rxjs-top-5-ways-to-unsubscribe-from-observables-6e8d0a7226c?source=rss-461fd504f054------2</link>
            <guid isPermaLink="false">https://medium.com/p/6e8d0a7226c</guid>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[technology]]></category>
            <dc:creator><![CDATA[Garrett Vorce]]></dc:creator>
            <pubDate>Sun, 09 Aug 2020 12:31:40 GMT</pubDate>
            <atom:updated>2020-08-10T17:55:50.015Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Angular — Cleaner Code]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.datadriveninvestor.com/angular-cleaner-code-5571f861865d?source=rss-461fd504f054------2"><img src="https://cdn-images-1.medium.com/max/2600/1*lpvk4hmlbp1tJ7mcLRqP0w.png" width="2742"></a></p><p class="medium-feed-snippet">Angular is a TypeScript-based framework to build complex UI-heavy applications through reactive programming.</p><p class="medium-feed-link"><a href="https://medium.datadriveninvestor.com/angular-cleaner-code-5571f861865d?source=rss-461fd504f054------2">Continue reading on DataDrivenInvestor »</a></p></div>]]></description>
            <link>https://medium.datadriveninvestor.com/angular-cleaner-code-5571f861865d?source=rss-461fd504f054------2</link>
            <guid isPermaLink="false">https://medium.com/p/5571f861865d</guid>
            <category><![CDATA[angular]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[javascript]]></category>
            <dc:creator><![CDATA[Garrett Vorce]]></dc:creator>
            <pubDate>Fri, 07 Aug 2020 17:19:11 GMT</pubDate>
            <atom:updated>2020-08-11T06:32:48.159Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[A Software Engineer’s Nightmare]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://garrettvorce.medium.com/a-software-engineers-nightmare-a0bdc7e958ec?source=rss-461fd504f054------2"><img src="https://cdn-images-1.medium.com/max/1920/1*i_2-J3PFnG7rqlCT4oHg-A.jpeg" width="1920"></a></p><p class="medium-feed-snippet">This is a true story of a great job opportunity turning into absolute HELL.</p><p class="medium-feed-link"><a href="https://garrettvorce.medium.com/a-software-engineers-nightmare-a0bdc7e958ec?source=rss-461fd504f054------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://garrettvorce.medium.com/a-software-engineers-nightmare-a0bdc7e958ec?source=rss-461fd504f054------2</link>
            <guid isPermaLink="false">https://medium.com/p/a0bdc7e958ec</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[life-lessons]]></category>
            <category><![CDATA[technology]]></category>
            <dc:creator><![CDATA[Garrett Vorce]]></dc:creator>
            <pubDate>Thu, 20 Feb 2020 17:11:45 GMT</pubDate>
            <atom:updated>2020-02-20T17:11:45.683Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Laravel — Cleaner Code]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/swlh/laravel-cleaner-code-46203ca3ee4d?source=rss-461fd504f054------2"><img src="https://cdn-images-1.medium.com/max/1920/1*UVHb1Bz3IrOoocYEgaATDw.jpeg" width="1920"></a></p><p class="medium-feed-snippet">Quick tips and tricks to improve your Laravel code.</p><p class="medium-feed-link"><a href="https://medium.com/swlh/laravel-cleaner-code-46203ca3ee4d?source=rss-461fd504f054------2">Continue reading on The Startup »</a></p></div>]]></description>
            <link>https://medium.com/swlh/laravel-cleaner-code-46203ca3ee4d?source=rss-461fd504f054------2</link>
            <guid isPermaLink="false">https://medium.com/p/46203ca3ee4d</guid>
            <category><![CDATA[php]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[web-development]]></category>
            <dc:creator><![CDATA[Garrett Vorce]]></dc:creator>
            <pubDate>Fri, 18 Oct 2019 16:39:51 GMT</pubDate>
            <atom:updated>2019-10-31T08:42:33.081Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Google Data Studio Tutorial with JSON]]></title>
            <link>https://medium.datadriveninvestor.com/google-data-studio-tutorial-with-json-eba62ab660ea?source=rss-461fd504f054------2</link>
            <guid isPermaLink="false">https://medium.com/p/eba62ab660ea</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[google-analytics]]></category>
            <category><![CDATA[seo]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[web-development]]></category>
            <dc:creator><![CDATA[Garrett Vorce]]></dc:creator>
            <pubDate>Tue, 27 Nov 2018 04:27:50 GMT</pubDate>
            <atom:updated>2020-08-12T11:53:27.475Z</atom:updated>
            <content:encoded><![CDATA[<h4>Google Data Studio, like Google Analytics, is a dashboard and reporting tool to aggregate important data.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Cc8exApLG6iB4ftp_l_qBQ.jpeg" /></figure><p>Why use Google Data Studio over Google Analytics when tracking information with the web?</p><p>Unfortunately, Google Analytics <em>can </em>be unreliable. With the increase of ad, tracking, and cookie blocking, Google Analytics can suffer from 25% up to 50%+ of its data — being events, page views, etc — from being tracked.</p><p>This can be solved through various methods such as pixel generation to find the percentage of users with ad blockers that stop Google Analytics and/or Google Tag Manager from executing, and thus tracking.</p><p>In my case, I had Google Analytics and an external source with the same event tracking with over 40% difference between the two sources. This sounds like a large number, but is likely on the lower side, especially depending on the age target of the website.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/677/1*3_96cyAkbtYsrVJpe1tZgQ.png" /><figcaption>2 day period results of tracking allowed and blocked GA and GTM scripts.</figcaption></figure><p>I went along and followed this <a href="https://marthijnhoiting.com/detect-if-someone-is-blocking-google-analytics-or-google-tag-manager/">guide</a> to find the real numbers.</p><p><strong>TL;DR</strong> (Too long, didn’t read): This script generates a transparent 1x1 pixel image that then, sends data to an internal PHP script. Depending on whether Google Analytics or Google Tag Manager has been loaded correctly, the events will populate respectively.</p><p>From the PHP script, it will send an event (Blocked or Allowed) to a specified Google Analytics account.</p><p>Google Data Studio provides various connectors that I will refer to later in the article.</p><h3>Data Structure</h3><p>There are various ways about structuring data for Google Studio to use. For my examples, I will use JSON as it is the easiest to understand in terms of separate entities.</p><h4>Data</h4><p>Let’s have a look at some real-life data! We see our data below having an array of objects with ascending timestamps correlating to their dates.</p><pre>{  <br>  <strong>&quot;data&quot;</strong>:[  <br>    {  <br>      <strong>&quot;date&quot;</strong>: &quot;20181201&quot;,<br>      <strong>&quot;views&quot;</strong>: 100000<br>    },<br>    {  <br>      <strong>&quot;date&quot;</strong>: &quot;20181202&quot;,<br>      <strong>&quot;Views&quot;</strong>: 120000<br>    },<br>    {  <br>      <strong>&quot;date&quot;</strong>: &quot;20181203&quot;,<br>      <strong>&quot;views&quot;</strong>: 150000<br>    }<br>  ]<br>}</pre><p>Later on, we can choose a .json file to read from, or an external source that supplies application/json content.</p><p>For now, copy the code above and create a new file on your computer called <em>data.json </em>and paste<em>. </em>Next, go to <a href="https://drive.google.com/drive/u/0/my-drive">Google Drive</a> and upload that file in your; any subfolder is okay, just make sure to remember the full path of the file.</p><h4>Setup</h4><p>Before starting, set up a blank Data Studio projects <a href="https://datastudio.google.com/navigation/reporting">here</a>.</p><p>In the bottom corner, you will see a button [<strong>CREATE NEW DATA SOURCE</strong>]. After clicking it, you will likely be overwhelmed with a ton of different connector options.</p><p>Stay with me — it’s not as complicated as you think. What we want is called <a href="https://supermetrics.com/blog/custom-json-data-studio"><strong>Custom JSON/CSV/XML</strong></a><strong>. </strong>Next, click [<strong>SELECT] </strong>and then we’re on to our final steps of creating a data connector.</p><h4>Options</h4><p>Again, unfortunately, Google Data Studio and it’s newer products can be very overwhelming for newcomers.</p><p>You only need to select the <strong>JSON</strong> Data type and your Google Drive path where you stored your <strong>data.json</strong> file.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/764/1*RLg0Zx-G8SePKX-cWdjTUA.png" /></figure><h4>Connecting</h4><p>Finally, connect your data! This allows Google Data Studio to subquery your data through various methods such as a sum of all views and filter data through dates.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/756/1*znSA7nwyxf1yqKCtSdKtQg.png" /></figure><p>Assuming you followed through each of the steps, you should see this final screen with information about your data, including fields and the data types.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/860/1*e3TuCy_a6umM3xCKKErpxQ.png" /></figure><p><em>Finally</em>, add the data to your report:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/128/1*RW5GvPUKlMGloSwCVLReDA.png" /></figure><p>Now that our data is connected to the report, we need a way to visualise it.</p><p>By selecting the table and dragging to your preferred size, the data automatically populates and allows you to interact with ascending/descending arrows.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/297/1*-Yk8cJsWinQtNbgYb9kZfg.png" /></figure><p>This is a very basic example of connecting data. As you could imagine, you can filter through date ranges, use custom calculations and warnings for a more analytic-approach to your custom dashboard.</p><p>Thanks for reading, consider giving me some claps if you enjoyed this type of content.</p><p>Follow me for future articles about new technologies and tutorials!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=eba62ab660ea" width="1" height="1" alt=""><hr><p><a href="https://medium.datadriveninvestor.com/google-data-studio-tutorial-with-json-eba62ab660ea">Google Data Studio Tutorial with JSON</a> was originally published in <a href="https://medium.datadriveninvestor.com/">DataDrivenInvestor</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Google Search Analysis: Rich Search Results and Structured Data]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/hackernoon/google-rich-search-results-and-structured-data-c06a98e58938?source=rss-461fd504f054------2"><img src="https://cdn-images-1.medium.com/max/2600/1*mLFSAui4KmbfTgwtHQsGPQ.jpeg" width="5000"></a></p><p class="medium-feed-snippet">A way to improve rich search results and usability for websites.</p><p class="medium-feed-link"><a href="https://medium.com/hackernoon/google-rich-search-results-and-structured-data-c06a98e58938?source=rss-461fd504f054------2">Continue reading on HackerNoon.com »</a></p></div>]]></description>
            <link>https://medium.com/hackernoon/google-rich-search-results-and-structured-data-c06a98e58938?source=rss-461fd504f054------2</link>
            <guid isPermaLink="false">https://medium.com/p/c06a98e58938</guid>
            <category><![CDATA[seo]]></category>
            <category><![CDATA[rich-search-results]]></category>
            <category><![CDATA[structured-data]]></category>
            <category><![CDATA[google-search-analysis]]></category>
            <category><![CDATA[google]]></category>
            <dc:creator><![CDATA[Garrett Vorce]]></dc:creator>
            <pubDate>Fri, 10 Aug 2018 18:06:10 GMT</pubDate>
            <atom:updated>2019-01-11T10:50:38.765Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Getting started with Laravel and Swagger Documentation]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://garrettvorce.medium.com/getting-started-with-laravel-and-swagger-b14c66f35576?source=rss-461fd504f054------2"><img src="https://cdn-images-1.medium.com/max/603/1*JBoktrVEUICvKJ6L-wiF2w.png" width="603"></a></p><p class="medium-feed-snippet">A short tutorial on how to get Swagger running with Laravel.</p><p class="medium-feed-link"><a href="https://garrettvorce.medium.com/getting-started-with-laravel-and-swagger-b14c66f35576?source=rss-461fd504f054------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://garrettvorce.medium.com/getting-started-with-laravel-and-swagger-b14c66f35576?source=rss-461fd504f054------2</link>
            <guid isPermaLink="false">https://medium.com/p/b14c66f35576</guid>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[front-end-development]]></category>
            <category><![CDATA[computer-science]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[php]]></category>
            <dc:creator><![CDATA[Garrett Vorce]]></dc:creator>
            <pubDate>Fri, 11 May 2018 10:57:03 GMT</pubDate>
            <atom:updated>2018-05-15T03:46:13.965Z</atom:updated>
        </item>
    </channel>
</rss>