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="{"en":{"core":{"add_comment":"Add comment","beta":"beta","comment":"Comment","copy_link":"Copy link","edit_profile":"Edit profile","follow":"Follow","follow_back":"Follow back","following":"Following","like":"Like","loading":"loading...","reaction":"Reaction","report_abuse":"Report abuse","search":"Search","success_settings":"Successfully updated settings.","search_placeholder":"Search...","search_find_related_posts":"Find related posts...","search_powered_by":"Powered by Algolia","search_submit_search":"Submit search for advanced filtering.","search_displaying_recommendations":"Displaying Algolia Recommendations â Start typing to search","article_form_save_changes":"Save changes","article_form_schedule":"Schedule","article_form_publish":"Publish","article_form_loading_preview":"Loading preview","article_form_preview_loaded":"Preview loaded","article_form_co_authors":"Co-authors","article_form_co_authors_description":"Add up to 4 co-authors from %{org_name}.","article_form_co_authors_placeholder":"Add up to 4...","comments_preview":"Preview","comments_continue_editing":"Continue editing","survey_enter_response":"Enter your response here...","survey_thank_you_response":"Thank you for your response.","survey_thank_you_completing":"Thank you for completing the survey!","dashboard_analytics_readers":"Readers","dashboard_analytics_avg_read_time":"avg. read time %{seconds}s","dashboard_analytics_comments":"Comments","dashboard_analytics_reactions":"Reactions","dashboard_analytics_unique_reactors":"from %{count} unique users","dashboard_analytics_bookmarks":"Bookmarks","dashboard_analytics_followers":"New Followers","top_contributors_empty":"No engagers found for this period.","top_contributors_reactions":"reactions","top_contributors_comments":"comments","top_contributors_weight_note":"Comments carry more weight","follower_engagement_ratio":"%{ratio}% of followers engaged","follower_engagement_detail":"(%{engaged} of %{total})","dashboard_analytics_no_data":"No data available for this period","dashboard_analytics_no_referrers":"No traffic sources yet","stats_by":"by","editor_new_title":"New post title here...","editor_body_placeholder":"Write your post content here...","tags_field_label":"Add up to 4 tags","tags_field_placeholder":"Add up to 4 tags...","counted_organization":{"one":"%{count} organization","other":"%{count} organizations"},"counted_user":{"one":"%{count} person","other":"%{count} people"},"not_following":"You're not following anyone","following_everyone":"You're following %{details} (everyone)","you_are_following":"You're following","and":"and"}}}"></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">©</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 & 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.