PageSourceSearch

https://vjun.io/readinglist

html vjun.io collected 2026-09-24 20:26:26 UTC 28,386 bytes, 390 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3  <head>
4    <meta charset="utf-8">
5    <title>Reading List - VJ UNION</title>
6    
7  <link rel="canonical" href="https://vjun.io/readinglist" />
8  <meta name="description" content="My saved posts.">
9  
10
11  <meta property="og:type" content="article" />
12  <meta property="og:url" content="https://vjun.io/readinglist" />
13  <meta property="og:title" content="Reading List - VJ UNION" />
14  <meta property="og:description" content="My saved posts." />
15  <meta property="og:site_name" content="VJ UNION" />
16
17  <meta name="twitter:card" content="summary_large_image">
18  <meta name="twitter:site" content="@">
19  <meta name="twitter:title" content="Reading List - VJ UNION">
20  <meta name="twitter:description" content="My saved posts.">
21
22      <meta name="last-updated" content="2026-09-24 20:26:26 UTC">
23      <meta name="user-signed-in" content="false">
24      <meta name="head-cached-at" content="1790281586">
25      <meta name="environment" content="production">
26      <link rel="stylesheet" href="/assets/minimal-3a438d8d138f95f478f01cbe53363cacf36bc6c47172aeb2e6c9172eebe29aa6.css" media="all" id="main-minimal-stylesheet" />
27<link rel="stylesheet" href="/assets/views-171bc117390b73193d66194e0bfe00035bb52143b59ddaf43e7a8e48625c4713.css" media="all" id="main-views-stylesheet" />
28<link rel="stylesheet" href="/assets/crayons-e1281477ea8cd875e0bb431eefa4a77d30fafc86fa3227f6733ca5edc50f71d6.css" media="all" id="main-crayons-stylesheet" />
29
30      
30<script src="/assets/base-8e98a7f68a92cfbd18b6c4317da275a0ec0abd4fbde58504fa699e2dec223629.js" defer="defer"></script>
vendor: 1 bytes, line 30
30
31<script src="/assets/application-9ee88e198a0d2b64238c8557b5225d20e2c18ff5b877f1159ee5a31f6e3174f9.js" defer="defer"></script>
vendor: 1 bytes, line 31
31
32<script src="/assets/baseInitializers-12f89d4466dd9259196c7c2cb0e3cafae0d5452919d3f7c2682a732e38bdae6d.js" defer="defer"></script>
vendor: 1 bytes, line 32
32
33<script src="/assets/baseTracking-cb478131fb1b41bc25e80ebcee996318777e081c9aa87367fabc1c118461a2d3.js" defer="defer"></script>
vendor: 1 bytes, line 33
33
34<script src="/assets/followButtons-e3595664847e9f43945a9b8a0445b32cda9a149f1f169f78b8fcc7714ccab45a.js" defer="defer"></script>
vendor: 1 bytes, line 34
34
35<script src="/assets/eventSignupButtons-a2b5da712a1b8eeb0eda4d63fafc54973138a70b88503a2163806c27fc1e4c39.js" defer="defer"></script>
35
36
37        <meta name="search-script" content="/assets/Search-a570c3428c9b6cb070d3f18817c957f80d0dbdf36a0f4a1d6e23a990305fbc12.js">
38        
38<script src="/assets/runtimeBanner-4161d0eb7ab0c1417144d6c669289c7588ad80a33c92b3b4d83f796e849bd2a3.js" defer="defer"></script>
38
39      <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
40      <link rel="icon" type="image/x-icon" href="https://vjun.io/assets/favicon-f3f0be4f4b2626c95ecae5e210867f5cb4bf87082db8d4c0d9936cb6ba905b75.ico" />
41      <link rel="apple-touch-icon" href="https://vjun.io/uploads/articles/0fb5fivqkcwjq5pnulmu.png">
42      <link rel="apple-touch-icon" sizes="152x152" href="https://vjun.io/uploads/articles/0fb5fivqkcwjq5pnulmu.png">
43      <link rel="apple-touch-icon" sizes="180x180" href="https://vjun.io/uploads/articles/0fb5fivqkcwjq5pnulmu.png">
44      <link rel="apple-touch-icon" sizes="167x167" href="https://vjun.io/uploads/articles/0fb5fivqkcwjq5pnulmu.png">
45      <link href="https://vjun.io/uploads/articles/0fb5fivqkcwjq5pnulmu.png" rel="icon" sizes="192x192" />
46      <link href="https://vjun.io/uploads/articles/0fb5fivqkcwjq5pnulmu.png" rel="icon" sizes="128x128" />
47      <meta name="apple-mobile-web-app-title" content="vjun.io">
48      <meta name="application-name" content="vjun.io">
49      <meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)">
50      <meta name="theme-color" content="#000000" media="(prefers-color-scheme: dark)">
51      <link rel="search" href="https://vjun.io/open-search.xml" type="application/opensearchdescription+xml" title="VJ UNION" />
52
53      <meta property="forem:name" content="VJ UNION" />
54      <meta property="forem:logo" content="https://vjun.io/uploads/articles/0fb5fivqkcwjq5pnulmu.png" />
55      <meta property="forem:domain" content="vjun.io" />
56    
57  
57<script data-cfasync="false" nonce="f96d3b00-6e96-4abf-a827-e6394ef7233c">try{(function(w,d){!function(j,k,l,m){if(j.zaraz)console.error("zaraz is loaded twice");else{j[l]=j[l]||{};j[l].executed=[];j.zaraz={deferred:[],listeners:[]};j.zaraz._v="20";j.zaraz._n="f96d3b00-6e96-4abf-a827-e6394ef7233c";j.zaraz.q=[];j.zaraz._f=function(n){return async function(){var o=Array.prototype.slice.call(arguments);j.zaraz.q.push({m:n,a:o})}};for(const p of["track","set","debug"])j.zaraz[p]=j.zaraz._f(p);j.zaraz.init=()=>{var q=k.getElementsByTagName(m)[0],r=k.createElement(m),s=k.getElementsByTagName("title")[0];s&&(j[l].t=k.getElementsByTagName("title")[0].text);j[l].x=Math.random();j[l].w=j.screen.width;j[l].h=j.screen.height;j[l].j=j.innerHeight;j[l].e=j.innerWidth;j[l].l=j.location.href;j[l].r=k.referrer;j[l].k=j.screen.colorDepth;j[l].n=k.characterSet;j[l].o=(new Date).getTimezoneOffset();if(j.dataLayer)for(const t of Object.entries(Object.entries(dataLayer).reduce((u,v)=>({...u[1],...v[1]}),{})))zaraz.set(t[0],t[1],{scope:"page"});j[l].q=[];for(;j.zaraz.q.length;){const w=j.zaraz.q.shift();j[l].q.push(w)}r.defer=!0;for(const x of[localStorage,sessionStorage])Object.keys(x||{}).filter(z=>z.startsWith("_zaraz_")).forEach(y=>{try{j[l]["z_"+y.slice(7)]=JSON.parse(x.getItem(y))}catch{j[l]["z_"+y.slice(7)]=x.getItem(y)}});r.referrerPolicy="origin";r.src="/cdn-cgi/zaraz/s.js?z="+btoa(encodeURIComponent(JSON.stringify(j[l])));q.parentNode.insertBefore(r,q)};["complete","interactive"].includes(k.readyState)?zaraz.init():j.addEventListener("DOMContentLoaded",zaraz.init)}}(w,d,"zarazData","script");window.zaraz._p=async cc=>new Promise(cd=>{if(cc){cc.e&&cc.e.forEach(ce=>{try{const cf=d.querySelector("script[nonce]"),cg=cf?.nonce||cf?.getAttribute("nonce"),ch=d.createElement("script");cg&&(ch.nonce=cg);ch.innerHTML=ce;ch.onload=()=>{d.head.removeChild(ch)};d.head.appendChild(ch)}catch(ci){console.error(`Error executing script: ${ce}\n`,ci)}});Promise.allSettled((cc.f||[]).map(cj=>fetch(cj[0],cj[1])))}cd()});zaraz._p({"e":["(function(w,d){})(window,document)"]});})(window,document)}catch(e){throw fetch("/cdn-cgi/zaraz/t"),e;};</script>
57</head>
58    <body
59      class="sans-serif-article-body default-header"
60      data-user-status="logged-out"
61      data-is-root-subforem="false"
62      data-side-nav-visible="false"
63      data-community-name="VJ UNION"
64      data-subscription-icon="/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png"
65      data-community-leader-icon="/assets/community-leader-icon-b72c9e74eff54916e5c46c962f47ba40c9f611a71f8b157511f9613f69c0001b.svg"
66      data-locale="en"
67      data-honeybadger-key=""
68      data-deployed-at="2026-08-21T18:32:33Z"
69      data-latest-commit-id="unspecified"
70      data-ga-tracking=""
71      data-cookie-banner-user-context="off"
72      data-cookie-banner-platform-context="off"
73      data-algolia-id=""
74      data-algolia-search-key=""
75      data-algolia-display="false"
76      data-dynamic-url-component="bb"
77      data-ga4-tracking-id=""
78      data-global-feature-flags-enabled="">
79      
80      
80<script>
81        if (navigator.userAgent === 'ForemWebView/1' || window.frameElement) {
82          document.body.classList.add("hidden-shell");
83        }
84      </script>
84
85
86      <link rel="stylesheet" href="/assets/minimal-3a438d8d138f95f478f01cbe53363cacf36bc6c47172aeb2e6c9172eebe29aa6.css" media="all" id="secondary-minimal-stylesheet" />
87<link rel="stylesheet" href="/assets/views-171bc117390b73193d66194e0bfe00035bb52143b59ddaf43e7a8e48625c4713.css" media="all" id="secondary-views-stylesheet" />
88<link rel="stylesheet" href="/assets/crayons-e1281477ea8cd875e0bb431eefa4a77d30fafc86fa3227f6733ca5edc50f71d6.css" media="all" id="secondary-crayons-stylesheet" />
89
90      <div id="body-styles">
91        <style>
92          :root {
93            --accent-brand-lighter-rgb: 80, 99, 301;
94            --accent-brand-rgb: 59, 73, 223;
95            --accent-brand-darker-rgb: 47, 58, 178;
96          }
97        </style>
98      </div>
99      <div id="audiocontent" data-podcast="">
100        
101      </div>
102      <div class="navigation-progress" id="navigation-progress"></div>
103
104<header id="topbar" class="crayons-header topbar print-hidden">
105  <span id="route-change-target" tabindex="-1"></span>
106  <a href="#main-content" class="skip-content-link">Skip to content</a>
107  <div class="crayons-header__container">
108    <span class="inline-block m:hidden ">
109      <button class="c-btn c-btn--icon-alone js-hamburger-trigger mx-2">
110        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="aj2v7ahz3z3yvicn84s68qq5bfdkf1ku" class="crayons-icon"><title id="aj2v7ahz3z3yvicn84s68qq5bfdkf1ku">Navigation menu</title>
111    <path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"></path>
112</svg>
113
114      </button>
115    </span>
116    <a href="/"
117   class="site-logo"
118   aria-label="VJ UNION Home"
119   >
120
121  <svg class="site-logo__img vjun-logo" fill="currentColor" width="100%" height="100%" viewBox="0 0 368 128" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
122    <g transform="matrix(1,0,0,1,-5,1.74923)">
123        <g>
124            <g transform="matrix(0.675995,0,0,0.677901,-294.863,-84.4256)">
125                <path d="M544.209,216.955C544.209,216.776 544.305,216.594 544.56,216.505C544.752,216.412 545.103,216.594 545.103,216.866C545.198,217.226 545.007,217.498 544.656,217.59C544.305,217.679 543.858,217.498 543.762,217.047C543.666,216.594 543.922,216.052 544.464,215.87C545.007,215.78 545.741,216.141 545.837,216.776C546.028,217.498 545.645,218.311 544.752,218.493C543.922,218.765 542.932,218.222 542.677,217.137C542.39,216.141 543.028,214.874 544.305,214.603C545.645,214.242 547.177,215.056 547.56,216.594C547.911,218.222 546.922,220.032 544.911,220.574C543.028,221.037 540.666,219.85 540.123,217.408C539.581,215.056 541.049,212.25 544.017,211.526C547.018,210.804 550.433,212.614 551.359,216.24C552.157,219.859 549.89,224.121 545.486,225.206C540.953,226.294 535.687,223.489 534.442,218.05C533.069,212.614 536.517,206.189 543.283,204.561C549.986,202.933 557.966,207.012 560.04,215.337C562.019,223.578 556.881,233.351 546.571,235.882C536.325,238.417 524.196,231.992 521.228,219.489C518.227,206.913 526.111,192.247 541.592,188.529C557.04,184.82 575.234,194.229 579.957,213.157C584.649,232.174 572.808,254.711 549.188,260.501C525.569,266.202 497.8,251.634 491.001,222.656C484.394,194.047 502.492,160.642 537.698,152.218C560.136,146.882 578.393,151.133 596.874,164.986"/>
126            </g>
127            <g id="_1" serif:id="1" transform="matrix(1,0,0,1,5,-1.99588)">
128                <path d="M62.649,2.214C96.817,2.214 124.558,29.9 124.558,64C124.558,98.1 96.817,125.786 62.649,125.786C28.48,125.786 0.74,98.1 0.74,64C0.74,29.9 28.48,2.214 62.649,2.214ZM62.649,10.107C91.917,10.107 115.678,34.256 115.678,64C115.678,93.744 91.917,117.893 62.649,117.893C33.381,117.893 9.619,93.744 9.619,64C9.619,34.256 33.381,10.107 62.649,10.107Z"/>
129            </g>
130        </g>
131        <g transform="matrix(1,0,0,1,0,7.38004)">
132            <g id="j" transform="matrix(1,0,0,1,5,-1.74923)">
133                <path d="M181.556,33.605L193.375,33.605L193.293,81.817C193.293,81.817 194.052,94.394 181.919,95.5C177.472,95.905 172.451,94.12 172.451,94.12L174.767,83.558L179.252,84.552C181.021,84.787 181.262,84.185 181.523,81.985L181.556,33.605Z"/>
134            </g>
135            <g transform="matrix(1,0,0,1,5,-1.74923)">
136                <path d="M199.017,33.697L210.717,33.597L210.673,63.326C210.673,63.326 210.755,69.114 216.21,69.116C221.011,69.117 224.85,66.731 224.823,59.687C224.8,53.713 224.878,33.579 224.878,33.579L236.624,33.663L236.624,79.039L225.68,79.103L225.552,76.799C225.552,76.799 221.113,80.395 213.84,79.999C207.675,79.663 199.352,76.165 199.248,67.839C199.181,62.473 199.017,33.697 199.017,33.697Z"/>
137            </g>
138            <g transform="matrix(-0.999933,0.0115982,-0.0115982,-0.999933,484.619,108.329)">
139                <path d="M198.851,33.375L210.64,33.356L210.338,63.937C210.338,63.937 210.76,69.365 216.21,69.116C221.628,68.868 224.653,66.064 224.626,59.019C224.603,53.045 224.878,33.579 224.878,33.579L236.624,33.663L236.162,79.187L225.118,79.045L225.143,76.794C225.143,76.794 221.267,80.295 213.995,79.898C207.83,79.562 198.465,76.053 198.621,64.555C198.688,59.599 198.851,33.375 198.851,33.375Z"/>
140            </g>
141            <g transform="matrix(1,0,0,1,5,-1.74923)">
142                <rect id="I" x="302.711" y="33.626" width="11.648" height="45.504"/>
143            </g>
144            <g transform="matrix(0.704911,0,0,0.704911,-213.76,-47.573)">
145                <ellipse cx="723.685" cy="168.8" rx="8.428" ry="8.741"/>
146            </g>
147            <g transform="matrix(1,0,0,1,5,-1.74923)">
148                <path d="M339.174,32.204C350.842,32.204 360.315,42.821 360.315,55.898C360.315,68.976 350.842,79.593 339.174,79.593C327.505,79.593 318.033,68.976 318.033,55.898C318.033,42.821 327.505,32.204 339.174,32.204ZM339.174,42.724C344.638,42.724 349.075,48.627 349.075,55.898C349.075,63.17 344.638,69.073 339.174,69.073C333.709,69.073 329.273,63.17 329.273,55.898C329.273,48.627 333.709,42.724 339.174,42.724Z"/>
149            </g>
150            <g transform="matrix(0.695023,0,0,0.666776,-310.771,-91.2859)">
151                <ellipse cx="723.685" cy="168.8" rx="8.428" ry="8.741"/>
152            </g>
153            <g transform="matrix(0.695023,0,0,0.666776,-189.438,-91.2859)">
154                <ellipse cx="723.685" cy="168.8" rx="8.428" ry="8.741"/>
155            </g>
156            <g id="v" transform="matrix(1,0,0,1,5,-1.74923)">
157                <path d="M133.165,33.57L145.498,33.347L155.165,60.5
1577L165.165,33.347L177.498,33.347L160.276,78.903L150.276,78.903L133.165,33.57Z"/>
158            </g>
159        </g>
160    </g>
161</svg>
162
163
164</a>
165
166
167    <div class="crayons-header--search js-search-form" id="header-search">
168      <form accept-charset="UTF-8" method="get" action="/search" role="search">
169        <div class="crayons-fields crayons-fields--horizontal">
170          <div class="crayons-field flex-1 relative">
171            <input id="search-input" class="crayons-header--search-input crayons-textfield js-search-input" type="text" id="nav-search" name="q" placeholder="Search..." autocomplete="off" />
172            <button type="submit" aria-label="Search" class="c-btn c-btn--icon-alone absolute inset-px right-auto mt-0 py-0">
173              <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="a6jyulofs5a1k8icpebj9rslrs6i13nf" aria-hidden="true" class="crayons-icon"><title id="a6jyulofs5a1k8icpebj9rslrs6i13nf">Search</title>
174    <path d="M18.031 16.617l4.283 4.282-1.415 1.415-4.282-4.283A8.96 8.96 0 0111 20c-4.968 0-9-4.032-9-9s4.032-9 9-9 9 4.032 9 9a8.96 8.96 0 01-1.969 5.617zm-2.006-.742A6.977 6.977 0 0018 11c0-3.868-3.133-7-7-7-3.868 0-7 3.132-7 7 0 3.867 3.132 7 7 7a6.977 6.977 0 004.875-1.975l.15-.15z"></path>
175</svg>
176
177            </button>
178
179            <a class="crayons-header--search-brand-indicator" href="https://www.algolia.com/developers/?utm_source=devto&utm_medium=referral" target="_blank" rel="noopener noreferrer">
180            </a>
181          </div>
182        </div>
183      </form>
184    </div>
185
186    <div class="flex items-center h-100 ml-auto">
187        <div class="flex" id="authentication-top-nav-actions">
188          <span class="hidden m:block">
189            <a href="/enter" class="c-link c-link--block mr-2 whitespace-nowrap ml-auto" data-no-instant>
190              Log in
191            </a>
192          </span>
193
194          <a href="/enter?state=new-user" data-tracking-id="ca_top_nav" data-tracking-source="top_navbar" class="c-cta c-cta--branded whitespace-nowrap mr-2" data-no-instant>
195            Create account
196          </a>
197        </div>
198    </div>
199  </div>
200</header>
201
202<div class="hamburger">
203  <div class="hamburger__content">
204    <header class="hamburger__content__header">
205      <h2 class="fs-l fw-bold flex-1 break-word lh-tight">VJ UNION</h2>
206
207      <button class="c-btn c-btn--icon-alone js-hamburger-trigger shrink-0" aria-label="Close">
208        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="a66uft8kmb6srvwnq0mviodieevnhb7n" aria-hidden="true" class="crayons-icon c-btn__icon"><title id="a66uft8kmb6srvwnq0mviodieevnhb7n">Close</title><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636l4.95 4.95z"></path></svg>
209
210      </button>
211    </header>
212
213    <div class="p-2 js-navigation-links-container" id="authentication-hamburger-actions">
214    </div>
215  </div>
216  <div class="hamburger__overlay js-hamburger-trigger"></div>
217</div>
218
219
220      <div id="active-broadcast" class="broadcast-wrapper"></div>
221<div id="page-content" class="wrapper reading_list_items reading_list_items-index" data-current-page="reading_list_items-index">
222  <div id="page-content-inner" data-internal-nav="false" data-viewable-id="" data-viewable-type="">
223    <div id="page-route-change" class="screen-reader-only" aria-live="polite" aria-atomic="true"></div>
224
225    
226
227<div id="reading-list" data-view="valid,confirmed"></div>
228
229<script src="/assets/readingList-1bcfa4699fe7e0cccf7c7be3cee11a7f511ab9d7dd8449ec3fdb5f630afd995d.js" defer="defer"></script>
229
230
231    <div id="runtime-banner-container"></div>
232    <div id="i18n-translations" data-translations="{&quot;en&quot;:{&quot;core&quot;:{&quot;add_comment&quot;:&quot;Add comment&quot;,&quot;beta&quot;:&quot;beta&quot;,&quot;comment&quot;:&quot;Comment&quot;,&quot;copy_link&quot;:&quot;Copy link&quot;,&quot;edit_profile&quot;:&quot;Edit profile&quot;,&quot;follow&quot;:&quot;Follow&quot;,&quot;follow_back&quot;:&quot;Follow back&quot;,&quot;following&quot;:&quot;Following&quot;,&quot;like&quot;:&quot;Like&quot;,&quot;loading&quot;:&quot;loading...&quot;,&quot;reaction&quot;:&quot;Reaction&quot;,&quot;report_abuse&quot;:&quot;Report abuse&quot;,&quot;search&quot;:&quot;Search&quot;,&quot;success_settings&quot;:&quot;Successfully updated settings.&quot;,&quot;search_placeholder&quot;:&quot;Search...&quot;,&quot;search_find_related_posts&quot;:&quot;Find related posts...&quot;,&quot;search_powered_by&quot;:&quot;Powered by Algolia&quot;,&quot;search_submit_search&quot;:&quot;Submit search for advanced filtering.&quot;,&quot;search_displaying_recommendations&quot;:&quot;Displaying Algolia Recommendations — Start typing to search&quot;,&quot;article_form_save_changes&quot;:&quot;Save changes&quot;,&quot;article_form_schedule&quot;:&quot;Schedule&quot;,&quot;article_form_publish&quot;:&quot;Publish&quot;,&quot;article_form_loading_preview&quot;:&quot;Loading preview&quot;,&quot;article_form_preview_loaded&quot;:&quot;Preview loaded&quot;,&quot;article_form_co_authors&quot;:&quot;Co-authors&quot;,&quot;article_form_co_authors_description&quot;:&quot;Add up to 4 co-authors from %{org_name}.&quot;,&quot;article_form_co_authors_placeholder&quot;:&quot;Add up to 4...&quot;,&quot;comments_preview&quot;:&quot;Preview&quot;,&quot;comments_continue_editing&quot;:&quot;Continue editing&quot;,&quot;survey_enter_response&quot;:&quot;Enter your response here...&quot;,&quot;survey_thank_you_response&quot;:&quot;Thank you for your response.&quot;,&quot;survey_thank_you_completing&quot;:&quot;Thank you for completing the survey!&quot;,&quot;dashboard_analytics_readers&quot;:&quot;Readers&quot;,&quot;dashboard_analytics_avg_read_time&quot;:&quot;avg. read time %{seconds}s&quot;,&quot;dashboard_analytics_comments&quot;:&quot;Comments&quot;,&quot;dashboard_analytics_reactions&quot;:&quot;Reactions&quot;,&quot;dashboard_analytics_unique_reactors&quot;:&quot;from %{count} unique users&quot;,&quot;dashboard_analytics_bookmarks&quot;:&quot;Bookmarks&quot;,&quot;dashboard_analytics_followers&quot;:&quot;New Followers&quot;,&quot;top_contributors_empty&quot;:&quot;No engagers found for this period.&quot;,&quot;top_contributors_reactions&quot;:&quot;reactions&quot;,&quot;top_contributors_comments&quot;:&quot;comments&quot;,&quot;top_contributors_weight_note&quot;:&quot;Comments carry more weight&quot;,&quot;follower_engagement_ratio&quot;:&quot;%{ratio}% of followers engaged&quot;,&quot;follower_engagement_detail&quot;:&quot;(%{engaged} of %{total})&quot;,&quot;dashboard_analytics_no_data&quot;:&quot;No data available for this period&quot;,&quot;dashboard_analytics_no_referrers&quot;:&quot;No traffic sources yet&quot;,&quot;stats_by&quot;:&quot;by&quot;,&quot;editor_new_title&quot;:&quot;New post title here...&quot;,&quot;editor_body_placeholder&quot;:&quot;Write your post content here...&quot;,&quot;tags_field_label&quot;:&quot;Add up to 4 tags&quot;,&quot;tags_field_placeholder&quot;:&quot;Add up to 4 tags...&quot;,&quot;counted_organization&quot;:{&quot;one&quot;:&quot;%{count} organization&quot;,&quot;other&quot;:&quot;%{count} organizations&quot;},&quot;counted_user&quot;:{&quot;one&quot;:&quot;%{count} person&quot;,&quot;other&quot;:&quot;%{count} people&quot;},&quot;not_following&quot;:&quot;You&#39;re not following anyone&quot;,&quot;following_everyone&quot;:&quot;You&#39;re following %{details} (everyone)&quot;,&quot;you_are_following&quot;:&quot;You&#39;re following&quot;,&quot;and&quot;:&quot;and&quot;}}}"></div>
233  </div>
234</div>
235    
236
237<footer id="footer" class="crayons-footer print-hidden">
238  <div id="footer-container" class="crayons-footer__container">
239
240
241
242    <p class="fs-s crayons-footer__description">
243      <a class="c-link c-link--branded fw-medium" aria-label="VJ UNION Home" href="/">VJ UNION</a> — Through ❤️ And Creativity For Us All
244    </p>
245
246    <ul class="footer__nav-links flex gap-2 justify-center flex-wrap fs-s p-0" style="" />
247        <li class="footer__nav-link flex items-center">
248    <a href="/readinglist">
249      Reading List
250    </a>
251    <span class="dot ml-2"></span>
252  </li>
253  <li class="footer__nav-link flex items-center">
254    <a href="/pod">
255      Podcasts
256    </a>
257    <span class="dot ml-2"></span>
258  </li>
259  <li class="footer__nav-link flex items-center">
260    <a href="/tags">
261      Tags
262    </a>
263    <span class="dot ml-2"></span>
264  </li>
265  <li class="footer__nav-link flex items-center">
266    <a href="/sponsorships">
267      Sponsors
268    </a>
269    <span class="dot ml-2"></span>
270  </li>
271  <li class="footer__nav-link flex items-center">
272    <a href="https://shop.vjun.io/">
273      VJ UNION Shop
274    </a>
275    <span class="dot ml-2"></span>
276  </li>
277  <li class="footer__nav-link flex items-center">
278    <a href="/about">
279      About
280    </a>
281    <span class="dot ml-2"></span>
282  </li>
283  <li class="footer__nav-link flex items-center">
284    <a href="/contact">
285      Contact
286    </a>
287    <span class="dot ml-2"></span>
288  </li>
289  <li class="footer__nav-link flex items-center">
290    <a href="/page/vj_software">
291      VJ Sofware List
292    </a>
293    <span class="dot ml-2"></span>
294  </li>
295
296    </ul>
297
298    <ul class="footer__nav-links flex gap-2 justify-center flex-wrap fs-s p-0" style="" />
299        <li class="footer__nav-link flex items-center">
300    <a href="/code-of-conduct">
301      Code of Conduct
302    </a>
303    <span class="dot ml-2"></span>
304  </li>
305  <li class="footer__nav-link flex items-center">
306    <a href="/privacy">
307      Privacy Policy
308    </a>
309    <span class="dot ml-2"></span>
310  </li>
311  <li class="footer__nav-link flex items-center">
312    <a href="/terms">
313      Terms of Use
314    </a>
315    <span class="dot ml-2"></span>
316  </li>
317
318    </ul>
319
320    <div class="fs-s">
321      <p>Built on <a class="c-link c-link--branded" target="_blank" rel="noopener" href="https://www.forem.com">Forem</a> — the <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to/t/opensource">open source</a> software that powers <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to">DEV</a> and other inclusive communities.</p>
322      <p>Made with love and <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to/t/rails">Ruby on Rails</a>. VJ UNION <span title="copyright">&copy;</span> 2022 - 2026.</p>
323
324      <p>
325        Powered by
326        <a href="https://011.ninja/bio"
327           target="_blank"
328           rel="noopener"
329           class="c-link c-link--branded">
330          Gilad Levi
331        </a>
332        /
333        <a href="https://011.ninja"
334           target="_blank"
335           rel="noopener"
336           class="c-link c-link--branded">
337          011.ninja
338        </a>
339        &amp;
340        <a href="https://unicorn.garden"
341           target="_blank"
342           rel="noopener"
343           class="c-link c-link--branded">
344          unicorn.garden
345        </a>
346      </p>
347    </div>
348  </div>
349</footer>
350<div id="snack-zone"></div>
351
352    <div id="global-signup-modal" class="authentication-modal hidden">
353  <div class="authentication-modal__container">
354    <figure class="authentication-modal__image-container">
355      <img class="authentication-modal__image" src="https://vjun.io/uploads/articles/0fb5fivqkcwjq5pnulmu.png"
356        alt="VJ UNION" loading="lazy" />
357    </figure>
358    <div class="authentication-modal__content">
359      <p class="authentication-modal__description">
360          Through ❤️ And Creativity For Us All
361      </p>
362    </div>
363    <div class="authentication-modal__actions">
364      <a href="/enter" class="crayons-btn" aria-label="Log in" data-no-instant>
365        Log in
366      </a>
367      <a href="/enter?state=new-user" class="crayons-btn crayons-btn--ghost-brand js-global-signup-modal__create-account" aria-label="Create new account" data-no-instant>
368        Create account
369      </a>
370    </div>
371  </div>
372</div>
373
374<script src="/assets/signupModalShortcuts-0b25469b985100a01e94cbd7fccaf7f0a4d776e129aac65c766aa32cb28ab29a.js" defer="defer"></script>
374
375
376    <div id="cookie-consent"></div>
377  <div id="reaction-category-resources" class="hidden" aria-hidden="true">
378    <img data-name="Like" data-slug="like" data-position="1" src="/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" />
379    <img data-name="Unicorn" data-slug="unicorn" data-position="2" src="/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" />
380    <img data-name="Exploding Head" data-slug="exploding_head" data-position="3" src="/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" />
381    <img data-name="Raised Hands" data-slug="raised_hands" data-position="4" src="/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" />
382    <img data-name="Fire" data-slug="fire" data-position="5" src="/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" />
383</div>
384
385  
386  
387  
388  
388<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"9535bf05ac134fde8de8bdf3f398eeb2","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 388
388
389<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a40486285d7035ae',t:'MTc5MDI4MTU4NQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
389</body>
390  </html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.