summaryrefslogtreecommitdiff
path: root/posts
diff options
context:
space:
mode:
Diffstat (limited to 'posts')
-rw-r--r--posts/2020-12-1-HTML-JS-RSS-Feed/index.html196
-rw-r--r--posts/index.html2
2 files changed, 197 insertions, 1 deletions
diff --git a/posts/2020-12-1-HTML-JS-RSS-Feed/index.html b/posts/2020-12-1-HTML-JS-RSS-Feed/index.html
new file mode 100644
index 0000000..14f9a0d
--- /dev/null
+++ b/posts/2020-12-1-HTML-JS-RSS-Feed/index.html
@@ -0,0 +1,196 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts/2020-12-1-HTML-JS-RSS-Feed"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts/2020-12-1-HTML-JS-RSS-Feed"/><meta name="og:url" content="https://navanchauhan.github.io/posts/2020-12-1-HTML-JS-RSS-Feed"/><title>RSS Feed written in HTML + JavaScript | Navan Chauhan</title><meta name="twitter:title" content="RSS Feed written in HTML + JavaScript | Navan Chauhan"/><meta name="og:title" content="RSS Feed written in HTML + JavaScript | Navan Chauhan"/><meta name="description" content="Short code-snippet for an RSS feed, written in HTML and JavaScript"/><meta name="twitter:description" content="Short code-snippet for an RSS feed, written in HTML and JavaScript"/><meta name="og:description" content="Short code-snippet for an RSS feed, written in HTML and JavaScript"/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script async src="//gc.zgo.at/count.js" data-goatcounter="https://navanchauhan.goatcounter.com/count"></script></head><body class="item-page"><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><article><div class="content"><span class="reading-time">5 minute read</span><span class="reading-time">Created on December 1, 2020</span><h1>RSS Feed written in HTML + JavaScript</h1><p>If you want to directly open the HTML file in your browser after saving, don't forget to set <code>CORS_PROXY=""</code></p><pre><code><div class="highlight"><span></span><span class="cp">&lt;!doctype html&gt;</span>
+<span class="p">&lt;</span><span class="nt">html</span> <span class="na">lang</span><span class="o">=</span><span class="s">&quot;en&quot;</span><span class="p">&gt;</span>
+<span class="p">&lt;</span><span class="nt">head</span><span class="p">&gt;</span>
+ <span class="p">&lt;</span><span class="nt">meta</span> <span class="na">charset</span><span class="o">=</span><span class="s">&quot;utf-8&quot;</span><span class="p">&gt;</span>
+ <span class="p">&lt;</span><span class="nt">meta</span> <span class="na">name</span><span class="o">=</span><span class="s">&quot;viewport&quot;</span> <span class="na">content</span><span class="o">=</span><span class="s">&quot;width=device-width, initial-scale=1&quot;</span><span class="p">&gt;</span>
+ <span class="p">&lt;</span><span class="nt">title</span><span class="p">&gt;</span>
+ RSS Feed
+ <span class="p">&lt;/</span><span class="nt">title</span><span class="p">&gt;</span>
+ <span class="p">&lt;</span><span class="nt">link</span> <span class="na">rel</span><span class="o">=</span><span class="s">&quot;stylesheet&quot;</span> <span class="na">href</span><span class="o">=</span><span class="s">&quot;https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css&quot;</span> <span class="na">integrity</span><span class="o">=</span><span class="s">&quot;sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO&quot;</span> <span class="na">crossorigin</span><span class="o">=</span><span class="s">&quot;anonymous&quot;</span><span class="p">&gt;</span>
+<span class="p">&lt;/</span><span class="nt">head</span><span class="p">&gt;</span>
+<span class="p">&lt;</span><span class="nt">body</span><span class="p">&gt;</span>
+
+<span class="p">&lt;</span><span class="nt">h1</span> <span class="na">align</span><span class="o">=</span><span class="s">&quot;center&quot;</span> <span class="na">class</span><span class="o">=</span><span class="s">&quot;display-1&quot;</span><span class="p">&gt;</span>RSS Feed<span class="p">&lt;/</span><span class="nt">h1</span><span class="p">&gt;</span>
+<span class="p">&lt;</span><span class="nt">main</span><span class="p">&gt;</span>
+ <span class="p">&lt;</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">&quot;container&quot;</span><span class="p">&gt;</span>
+ <span class="p">&lt;</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">&quot;list-group pb-4&quot;</span> <span class="na">id</span><span class="o">=</span><span class="s">&quot;contents&quot;</span><span class="p">&gt;&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
+<span class="p">&lt;</span><span class="nt">div</span> <span class="na">id</span><span class="o">=</span><span class="s">&quot;feed&quot;</span><span class="p">&gt;</span>
+<span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
+<span class="p">&lt;/</span><span class="nt">main</span><span class="p">&gt;</span>
+
+<span class="p">&lt;</span><span class="nt">script</span> <span class="na">src</span><span class="o">=</span><span class="s">&quot;https://gitcdn.xyz/repo/rbren/rss-parser/master/dist/rss-parser.js&quot;</span><span class="p">&gt;&lt;/</span><span class="nt">script</span><span class="p">&gt;</span>
+<span class="p">&lt;</span><span class="nt">script</span><span class="p">&gt;</span>
+
+<span class="kr">const</span> <span class="nx">feeds</span> <span class="o">=</span> <span class="p">{</span>
+ <span class="s2">&quot;BuzzFeed - India&quot;</span><span class="o">:</span> <span class="p">{</span>
+ <span class="s2">&quot;link&quot;</span><span class="o">:</span><span class="s2">&quot;https://www.buzzfeed.com/in.xml&quot;</span><span class="p">,</span>
+ <span class="s2">&quot;summary&quot;</span><span class="o">:</span><span class="kc">true</span>
+ <span class="p">},</span>
+ <span class="s2">&quot;New Yorker&quot;</span><span class="o">:</span> <span class="p">{</span>
+ <span class="s2">&quot;link&quot;</span><span class="o">:</span><span class="s2">&quot;http://www.newyorker.com/feed/news&quot;</span><span class="p">,</span>
+ <span class="p">},</span>
+ <span class="s2">&quot;Vox&quot;</span><span class="o">:</span><span class="p">{</span>
+ <span class="s2">&quot;link&quot;</span><span class="o">:</span><span class="s2">&quot;https://www.vox.com/rss/index.xml&quot;</span><span class="p">,</span>
+ <span class="s2">&quot;limit&quot;</span><span class="o">:</span> <span class="mf">3</span>
+ <span class="p">},</span>
+ <span class="s2">&quot;r/Jokes&quot;</span><span class="o">:</span><span class="p">{</span>
+ <span class="s2">&quot;link&quot;</span><span class="o">:</span><span class="s2">&quot;https://reddit.com/r/Jokes/hot/.rss?sort=hot&quot;</span><span class="p">,</span>
+ <span class="s2">&quot;ignore&quot;</span><span class="o">:</span> <span class="p">[</span><span class="s2">&quot;repost&quot;</span><span class="p">,</span><span class="s2">&quot;discord&quot;</span><span class="p">]</span>
+ <span class="p">}</span>
+<span class="p">}</span>
+
+<span class="kr">const</span> <span class="nx">config_extra</span> <span class="o">=</span> <span class="p">{</span>
+<span class="s2">&quot;Responsive-Images&quot;</span><span class="o">:</span> <span class="kc">true</span><span class="p">,</span>
+<span class="s2">&quot;direct-link&quot;</span><span class="o">:</span> <span class="kc">false</span><span class="p">,</span>
+<span class="s2">&quot;show-date&quot;</span><span class="o">:</span><span class="kc">false</span><span class="p">,</span>
+<span class="s2">&quot;left-column&quot;</span><span class="o">:</span><span class="kc">false</span><span class="p">,</span>
+<span class="s2">&quot;defaults&quot;</span><span class="o">:</span> <span class="p">{</span>
+ <span class="s2">&quot;limit&quot;</span><span class="o">:</span> <span class="mf">5</span><span class="p">,</span>
+ <span class="s2">&quot;summary&quot;</span><span class="o">:</span> <span class="kc">true</span>
+<span class="p">}</span>
+<span class="p">}</span>
+
+<span class="kr">const</span> <span class="nx">CORS_PROXY</span> <span class="o">=</span> <span class="s2">&quot;https://cors-anywhere.herokuapp.com/&quot;</span>
+
+<span class="kd">var</span> <span class="nx">contents_title</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;h2&quot;</span><span class="p">)</span>
+<span class="nx">contents_title</span><span class="p">.</span><span class="nx">textContent</span> <span class="o">=</span> <span class="s2">&quot;Contents&quot;</span>
+<span class="nx">contents_title</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;pb-1&quot;</span><span class="p">)</span>
+<span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">&quot;contents&quot;</span><span class="p">).</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">contents_title</span><span class="p">)</span>
+
+<span class="nx">async</span> <span class="kd">function</span> <span class="nx">myfunc</span><span class="p">(</span><span class="nx">key</span><span class="p">){</span>
+
+ <span class="kd">var</span> <span class="nx">count_lim</span> <span class="o">=</span> <span class="nx">feeds</span><span class="p">[</span><span class="nx">key</span><span class="p">][</span><span class="s2">&quot;limit&quot;</span><span class="p">]</span>
+ <span class="kd">var</span> <span class="nx">count_lim</span> <span class="o">=</span> <span class="p">(</span><span class="nx">count_lim</span> <span class="o">===</span> <span class="kc">undefined</span><span class="p">)</span> <span class="o">?</span> <span class="nx">config_extra</span><span class="p">[</span><span class="s2">&quot;defaults&quot;</span><span class="p">][</span><span class="s2">&quot;limit&quot;</span><span class="p">]</span> <span class="o">:</span> <span class="nx">count_lim</span>
+
+ <span class="kd">var</span> <span class="nx">show_summary</span> <span class="o">=</span> <span class="nx">feeds</span><span class="p">[</span><span class="nx">key</span><span class="p">][</span><span class="s2">&quot;summary&quot;</span><span class="p">]</span>
+ <span class="kd">var</span> <span class="nx">show_summary</span> <span class="o">=</span> <span class="p">(</span><span class="nx">show_summary</span> <span class="o">===</span> <span class="kc">undefined</span><span class="p">)</span> <span class="o">?</span> <span class="nx">config_extra</span><span class="p">[</span><span class="s2">&quot;defaults&quot;</span><span class="p">][</span><span class="s2">&quot;summary&quot;</span><span class="p">]</span> <span class="o">:</span> <span class="nx">show_summary</span>
+
+ <span class="kd">var</span> <span class="nx">ignore_tags</span> <span class="o">=</span> <span class="nx">feeds</span><span class="p">[</span><span class="nx">key</span><span class="p">][</span><span class="s2">&quot;ignore&quot;</span><span class="p">]</span>
+ <span class="kd">var</span> <span class="nx">ignore_tags</span> <span class="o">=</span> <span class="p">(</span><span class="nx">ignore_tags</span> <span class="o">===</span> <span class="kc">undefined</span><span class="p">)</span> <span class="o">?</span> <span class="p">[]</span> <span class="o">:</span> <span class="nx">ignore_tags</span>
+
+ <span class="kd">var</span> <span class="nx">contents</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;a&quot;</span><span class="p">)</span>
+ <span class="nx">contents</span><span class="p">.</span><span class="nx">href</span> <span class="o">=</span> <span class="s2">&quot;#&quot;</span> <span class="o">+</span> <span class="nx">key</span>
+ <span class="nx">contents</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;list-group-item&quot;</span><span class="p">,</span><span class="s2">&quot;list-group-item-action&quot;</span><span class="p">)</span>
+ <span class="nx">contents</span><span class="p">.</span><span class="nx">textContent</span> <span class="o">=</span> <span class="nx">key</span>
+ <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">&quot;contents&quot;</span><span class="p">).</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">contents</span><span class="p">)</span>
+ <span class="kd">var</span> <span class="nx">feed_div</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">)</span>
+ <span class="nx">feed_div</span><span class="p">.</span><span class="nx">id</span> <span class="o">=</span> <span class="nx">key</span>
+ <span class="nx">feed_div</span><span class="p">.</span><span class="nx">setAttribute</span><span class="p">(</span><span class="s2">&quot;id&quot;</span><span class="p">,</span> <span class="nx">key</span><span class="p">);</span>
+ <span class="kd">var</span> <span class="nx">title</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;h2&quot;</span><span class="p">);</span>
+ <span class="nx">title</span><span class="p">.</span><span class="nx">textContent</span> <span class="o">=</span> <span class="s2">&quot;From &quot;</span> <span class="o">+</span> <span class="nx">key</span><span class="p">;</span>
+ <span class="nx">title</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;pb-1&quot;</span><span class="p">)</span>
+ <span class="nx">feed_div</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">title</span><span class="p">)</span>
+ <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">&quot;feed&quot;</span><span class="p">).</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">feed_div</span><span class="p">)</span>
+ <span class="kd">var</span> <span class="nx">parser</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">RSSParser</span><span class="p">();</span>
+ <span class="kd">var</span> <span class="nx">countPosts</span> <span class="o">=</span> <span class="mf">0</span>
+ <span class="nx">parser</span><span class="p">.</span><span class="nx">parseURL</span><span class="p">(</span><span class="nx">CORS_PROXY</span> <span class="o">+</span> <span class="nx">feeds</span><span class="p">[</span><span class="nx">key</span><span class="p">][</span><span class="s2">&quot;link&quot;</span><span class="p">],</span> <span class="kd">function</span><span class="p">(</span><span class="nx">err</span><span class="p">,</span> <span class="nx">feed</span><span class="p">)</span> <span class="p">{</span>
+ <span class="k">if</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="k">throw</span> <span class="nx">err</span><span class="p">;</span>
+ <span class="nx">feed</span><span class="p">.</span><span class="nx">items</span><span class="p">.</span><span class="nx">forEach</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">entry</span><span class="p">)</span> <span class="p">{</span>
+ <span class="k">if</span> <span class="p">(</span><span class="nx">countPosts</span> <span class="o">&lt;</span> <span class="nx">count_lim</span><span class="p">)</span> <span class="p">{</span>
+
+ <span class="kd">var</span> <span class="nx">skip</span> <span class="o">=</span> <span class="kc">false</span>
+ <span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mf">0</span><span class="p">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">ignore_tags</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+ <span class="k">if</span> <span class="p">(</span><span class="nx">entry</span><span class="p">.</span><span class="nx">title</span><span class="p">.</span><span class="nx">includes</span><span class="p">(</span><span class="nx">ignore_tags</span><span class="p">[</span><span class="nx">i</span><span class="p">])){</span>
+ <span class="kd">var</span> <span class="nx">skip</span> <span class="o">=</span> <span class="kc">true</span>
+ <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">entry</span><span class="p">.</span><span class="nx">content</span><span class="p">.</span><span class="nx">includes</span><span class="p">(</span><span class="nx">ignore_tags</span><span class="p">[</span><span class="nx">i</span><span class="p">])){</span>
+ <span class="kd">var</span> <span class="nx">skip</span> <span class="o">=</span> <span class="kc">true</span>
+ <span class="p">}</span>
+ <span class="p">}</span>
+
+ <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">skip</span><span class="p">)</span> <span class="p">{</span>
+
+ <span class="kd">var</span> <span class="nx">node</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">);</span>
+ <span class="nx">node</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;card&quot;</span><span class="p">,</span><span class="s2">&quot;mb-3&quot;</span><span class="p">);</span>
+ <span class="kd">var</span> <span class="nx">row</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">)</span>
+ <span class="nx">row</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;row&quot;</span><span class="p">,</span><span class="s2">&quot;no-gutters&quot;</span><span class="p">)</span>
+
+ <span class="k">if</span> <span class="p">(</span><span class="nx">config_extra</span><span class="p">[</span><span class="s2">&quot;left-column&quot;</span><span class="p">]){</span>
+ <span class="kd">var</span> <span class="nx">left_col</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">)</span>
+ <span class="nx">left_col</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;col-md-2&quot;</span><span class="p">)</span>
+ <span class="kd">var</span> <span class="nx">left_col_body</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">)</span>
+ <span class="nx">left_col_body</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;card-body&quot;</span><span class="p">)</span>
+ <span class="p">}</span>
+
+ <span class="kd">var</span> <span class="nx">right_col</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">)</span>
+ <span class="k">if</span> <span class="p">(</span><span class="nx">config_extra</span><span class="p">[</span><span class="s2">&quot;left-column&quot;</span><span class="p">]){</span>
+ <span class="nx">right_col</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;col-md-10&quot;</span><span class="p">)</span>
+ <span class="p">}</span>
+ <span class="kd">var</span> <span class="nx">node_title</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;h5&quot;</span><span class="p">)</span>
+
+ <span class="nx">node_title</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;card-header&quot;</span><span class="p">)</span>
+ <span class="nx">node_title</span><span class="p">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">entry</span><span class="p">.</span><span class="nx">title</span>
+
+ <span class="nx">node_body</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">)</span>
+ <span class="nx">node_body</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;card-body&quot;</span><span class="p">)</span>
+
+ <span class="nx">node_content</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;p&quot;</span><span class="p">)</span>
+
+ <span class="k">if</span> <span class="p">(</span><span class="nx">show_summary</span><span class="p">){</span>
+ <span class="nx">node_content</span><span class="p">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">entry</span><span class="p">.</span><span class="nx">content</span>
+ <span class="p">}</span>
+ <span class="nx">node_content</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;card-text&quot;</span><span class="p">)</span>
+
+ <span class="k">if</span> <span class="p">(</span><span class="nx">config_extra</span><span class="p">[</span><span class="s2">&quot;direct-link&quot;</span><span class="p">]){</span>
+ <span class="nx">node_link</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;p&quot;</span><span class="p">)</span>
+ <span class="nx">node_link</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;card-text&quot;</span><span class="p">)</span>
+ <span class="nx">node_link</span><span class="p">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="s2">&quot;&lt;b&gt;Link:&lt;/b&gt; &lt;a href=&#39;&quot;</span> <span class="o">+</span> <span class="nx">entry</span><span class="p">.</span><span class="nx">link</span> <span class="o">+</span><span class="s2">&quot;&#39;&gt;Direct Link&lt;/a&gt;&quot;</span>
+ <span class="k">if</span> <span class="p">(</span><span class="nx">config_extra</span><span class="p">[</span><span class="s2">&quot;left-column&quot;</span><span class="p">]){</span>
+ <span class="nx">left_col_body</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">node_link</span><span class="p">)</span>
+ <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+ <span class="nx">node_content</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">node_link</span><span class="p">)</span>
+ <span class="p">}</span>
+ <span class="p">}</span>
+
+ <span class="k">if</span> <span class="p">(</span><span class="nx">config_extra</span><span class="p">[</span><span class="s2">&quot;show-date&quot;</span><span class="p">]){</span>
+ <span class="nx">node_date</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;p&quot;</span><span class="p">)</span>
+ <span class="nx">node_date</span><span class="p">.</span><span class="nx">classList</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;card-text&quot;</span><span class="p">)</span>
+ <span class="nx">node_date</span><span class="p">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="s2">&quot;&lt;p&gt;&lt;b&gt;Date: &lt;/b&gt;&quot;</span> <span class="o">+</span> <span class="nx">entry</span><span class="p">.</span><span class="nx">pubDate</span> <span class="o">+</span> <span class="s2">&quot;&lt;/p&gt;&quot;</span>
+ <span class="k">if</span> <span class="p">(</span><span class="nx">config_extra</span><span class="p">[</span><span class="s2">&quot;left-column&quot;</span><span class="p">]){</span>
+ <span class="nx">left_col_body</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">node_date</span><span class="p">)</span>
+ <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
+ <span class="nx">node_content</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">node_date</span><span class="p">)</span>
+
+ <span class="p">}</span>
+ <span class="p">}</span>
+
+ <span class="nx">node</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">node_title</span><span class="p">)</span>
+
+ <span class="nx">node_body</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">node_content</span><span class="p">)</span>
+
+ <span class="nx">right_col</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">node_body</span><span class="p">)</span>
+
+ <span class="k">if</span> <span class="p">(</span><span class="nx">config_extra</span><span class="p">[</span><span class="s2">&quot;left-column&quot;</span><span class="p">]){</span>
+ <span class="nx">left_col</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">left_col_body</span><span class="p">)</span>
+ <span class="nx">row</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">left_col</span><span class="p">)</span>
+ <span class="p">}</span>
+
+ <span class="nx">row</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">right_col</span><span class="p">)</span>
+
+ <span class="nx">node</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">row</span><span class="p">)</span>
+
+ <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="nx">key</span><span class="p">).</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">node</span><span class="p">)</span>
+ <span class="nx">countPosts</span><span class="o">+=</span><span class="mf">1</span>
+ <span class="p">}</span>
+ <span class="p">}</span>
+ <span class="p">})</span>
+
+ <span class="k">if</span> <span class="p">(</span><span class="nx">config_extra</span><span class="p">[</span><span class="s2">&quot;Responsive-Images&quot;</span><span class="p">]){</span>
+ <span class="kd">var</span> <span class="nx">inputs</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementsByTagName</span><span class="p">(</span><span class="s1">&#39;img&#39;</span><span class="p">)</span>
+ <span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mf">0</span><span class="p">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">inputs</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
+ <span class="nx">inputs</span><span class="p">[</span><span class="nx">i</span><span class="p">].</span><span class="nx">classList</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="s2">&quot;img-fluid&quot;</span><span class="p">)</span>
+ <span class="p">}</span>
+ <span class="p">}</span>
+
+ <span class="p">})</span>
+
+ <span class="k">return</span> <span class="kc">true</span>
+<span class="p">}</span>
+<span class="p">(</span><span class="nx">async</span> <span class="p">()</span> <span class="p">=&gt;</span> <span class="p">{</span>
+<span class="k">for</span><span class="p">(</span><span class="kd">var</span> <span class="nx">key</span> <span class="k">in</span> <span class="nx">feeds</span><span class="p">)</span> <span class="p">{</span>
+ <span class="kd">let</span> <span class="nx">result</span> <span class="o">=</span> <span class="nx">await</span> <span class="nx">myfunc</span><span class="p">(</span><span class="nx">key</span><span class="p">);</span>
+<span class="p">}})();</span>
+
+<span class="p">&lt;/</span><span class="nt">script</span><span class="p">&gt;</span>
+<span class="p">&lt;</span><span class="nt">noscript</span><span class="p">&gt;</span>Uh Oh! Your browser does not support JavaScript or JavaScript is currently disabled. Please enable JavaScript or switch to a different browser.<span class="p">&lt;/</span><span class="nt">noscript</span><span class="p">&gt;</span>
+<span class="p">&lt;/</span><span class="nt">body</span><span class="p">&gt;&lt;/</span><span class="nt">html</span><span class="p">&gt;</span>
+</div></code></pre></div><span>Tagged with: </span><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/html">HTML</a></li><li><a href="/tags/javascript">JavaScript</a></li></ul></article></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
diff --git a/posts/index.html b/posts/index.html
index fc5c20e..da1c6d3 100644
--- a/posts/index.html
+++ b/posts/index.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts"/><meta name="og:url" content="https://navanchauhan.github.io/posts"/><title>Posts | Navan Chauhan</title><meta name="twitter:title" content="Posts | Navan Chauhan"/><meta name="og:title" content="Posts | Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script async src="//gc.zgo.at/count.js" data-goatcounter="https://navanchauhan.goatcounter.com/count"></script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Posts</h1><p>Tips, tricks and tutorials which I think might be useful.</p><ul class="item-list"><li><article><h1><a href="/posts/2010-01-24-experiments">Experiments</a></h1><ul class="tag-list"><li><a href="/tags/experiment">Experiment</a></li></ul><span>🕑 1 minute read. January 24, 2010</span><p>Just a markdown file for all experiments related to the website</p></article></li><li><article><h1><a href="/posts/2019-05-05-Custom-Snowboard-Anemone-Theme">Creating your own custom theme for Snowboard or Anemone</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/designing">Designing</a></li><li><a href="/tags/snowboard">Snowboard</a></li><li><a href="/tags/anemone">Anemone</a></li></ul><span>🕑 5 minute read. May 5, 2019</span><p>Tutorial on creating your own custom theme for Snowboard or Anemone</p></article></li><li><article><h1><a href="/posts/2019-12-04-Google-Teachable-Machines">Image Classifier With Teachable Machines</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 2 minute read. December 4, 2019</span><p>Tutorial on creating a custom image classifier quickly with Google Teachable Machines</p></article></li><li><article><h1><a href="/posts/2019-12-08-Image-Classifier-Tensorflow">Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 4 minute read. December 8, 2019</span><p>Tutorial on creating an image classifier model using TensorFlow which detects malaria</p></article></li><li><article><h1><a href="/posts/2019-12-08-Splitting-Zips">Splitting ZIPs into Multiple Parts</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 1 minute read. December 8, 2019</span><p>Short code snippet for splitting zips.</p></article></li><li><article><h1><a href="/posts/2019-12-10-TensorFlow-Model-Prediction">Making Predictions using Image Classifier (TensorFlow)</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li></ul><span>🕑 1 minute read. December 10, 2019</span><p>Making predictions for image classification models built using TensorFlow</p></article></li><li><article><h1><a href="/posts/2019-12-16-TensorFlow-Polynomial-Regression">Polynomial Regression Using TensorFlow</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 17 minute read. December 16, 2019</span><p>Polynomial regression using TensorFlow</p></article></li><li><article><h1><a href="/posts/2019-12-22-Fake-News-Detector">Building a Fake News Detector with Turicreate</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/swiftui">SwiftUI</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul><span>🕑 7 minute read. December 22, 2019</span><p>In this tutorial we will build a fake news detecting app from scratch, using Turicreate for the machine learning model and SwiftUI for building the app</p></article></li><li><article><h1><a href="/posts/2020-01-14-Converting-between-PIL-NumPy">Converting between image and NumPy array</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 1 minute read. January 14, 2020</span><p>Short code snippet for converting between PIL image and NumPy arrays.</p></article></li><li><article><h1><a href="/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab">Setting up Kaggle to use with Google Colab</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li><li><a href="/tags/kaggle">Kaggle</a></li></ul><span>🕑 1 minute read. January 15, 2020</span><p>Tutorial on setting up kaggle, to use with Google Colab</p></article></li><li><article><h1><a href="/posts/2020-01-16-Image-Classifier-Using-Turicreate">Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul><span>🕑 6 minute read. January 16, 2020</span><p>Tutorial on creating a custom Image Classifier using Turicreate and a dataset from Kaggle</p></article></li><li><article><h1><a href="/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal">How to setup Bluetooth on a Raspberry Pi</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">tutorial</a></li><li><a href="/tags/raspberrypi">Raspberry-Pi</a></li><li><a href="/tags/linux">Linux</a></li></ul><span>🕑 1 minute read. January 19, 2020</span><p>Connecting to Bluetooth Devices using terminal, tested on Raspberry Pi Zero W</p></article></li><li><article><h1><a href="/posts/2020-03-03-Playing-With-Android-TV">Tinkering with an Android TV</a></h1><ul class="tag-list"><li><a href="/tags/androidtv">Android-TV</a></li><li><a href="/tags/android">Android</a></li></ul><span>🕑 1 minute read. March 3, 2020</span><p>Tinkering with an Android TV</p></article></li><li><article><h1><a href="/posts/2020-03-08-Making-Vaporwave-Track">Making My First Vaporwave Track (Remix)</a></h1><ul class="tag-list"><li><a href="/tags/vaporwave">Vaporwave</a></li><li><a href="/tags/music">Music</a></li></ul><span>🕑 2 minute read. March 8, 2020</span><p>I made my first vaporwave remix</p></article></li><li><article><h1><a href="/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS">Fixing X11 Error on macOS Catalina for AmberTools 18/19</a></h1><ul class="tag-list"><li><a href="/tags/moleculardynamics">Molecular-Dynamics</a></li><li><a href="/tags/macos">macOS</a></li></ul><span>🕑 2 minute read. April 13, 2020</span><p>Fixing Could not find the X11 libraries; you may need to edit config.h, AmberTools macOS Catalina</p></article></li><li><article><h1><a href="/posts/2020-05-31-compiling-open-babel-on-ios">Compiling Open Babel on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li></ul><span>🕑 5 minute read. May 31, 2020</span><p>Compiling Open Babel on iOS</p></article></li><li><article><h1><a href="/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL">Workflow for Lightning Fast Molecular Docking Part One</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li></ul><span>🕑 2 minute read. June 1, 2020</span><p>This is my workflow for lightning fast molecular docking.</p></article></li><li><article><h1><a href="/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS">Compiling AutoDock Vina on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li></ul><span>🕑 3 minute read. June 2, 2020</span><p>Compiling AutoDock Vina on iOS</p></article></li><li><article><h1><a href="/posts/2020-07-01-Install-rdkit-colab">Installing RDKit on Google Colab</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 2 minute read. July 1, 2020</span><p>Install RDKit on Google Colab with one code snippet.</p></article></li><li><article><h1><a href="/posts/2020-08-01-Natural-Feature-Tracking-ARJS">Introduction to AR.js and Natural Feature Tracking</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/arjs">AR.js</a></li><li><a href="/tags/javascript">JavaScript</a></li><li><a href="/tags/augmentedreality">Augmented-Reality</a></li></ul><span>🕑 7 minute read. August 1, 2020</span><p>An introduction to AR.js and NFT</p></article></li><li><article><h1><a href="/posts/2020-10-11-macOS-Virtual-Cam-OBS">Trying Different Camera Setups</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/review">Review</a></li><li><a href="/tags/webcam">Webcam</a></li></ul><span>🕑 3 minute read. October 11, 2020</span><p>Comparison of different cameras setups for using as a webcam and tutorials for the same.</p></article></li><li><article><h1><a href="/posts/2020-11-17-Lets-Encrypt-DuckDns">Generating HTTPS Certificate using DNS a Challenge through Let's Encrypt</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/webdevelopment">Web-Development</a></li></ul><span>🕑 3 minute read. November 17, 2020</span><p>Short code-snippet to generate HTTPS certificates using the DNS Challenge through Lets Encrypt for a web-server using DuckDNS.</p></article></li><li><article><h1><a href="/posts/hello-world">Hello World</a></h1><ul class="tag-list"><li><a href="/tags/helloworld">hello-world</a></li></ul><span>🕑 1 minute read. April 16, 2019</span><p>My first post.</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="og:site_name" content="Navan Chauhan"/><link rel="canonical" href="https://navanchauhan.github.io/posts"/><meta name="twitter:url" content="https://navanchauhan.github.io/posts"/><meta name="og:url" content="https://navanchauhan.github.io/posts"/><title>Posts | Navan Chauhan</title><meta name="twitter:title" content="Posts | Navan Chauhan"/><meta name="og:title" content="Posts | Navan Chauhan"/><meta name="description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="og:description" content="Welcome to my personal fragment of the internet. Majority of the posts should be complete."/><meta name="twitter:card" content="summary"/><link rel="stylesheet" href="/styles.css" type="text/css"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="shortcut icon" href="/images/favicon.png" type="image/png"/><link rel="alternate" href="/feed.rss" type="application/rss+xml" title="Subscribe to Navan Chauhan"/><meta name="twitter:image" content="https://navanchauhan.github.io/images/logo.png"/><meta name="og:image" content="https://navanchauhan.github.io/images/logo.png"/></head><head><script async src="//gc.zgo.at/count.js" data-goatcounter="https://navanchauhan.goatcounter.com/count"></script></head><body><header><div class="wrapper"><a class="site-name" href="/">Navan Chauhan</a><nav><ul><li><a href="/about">About Me</a></li><li><a class="selected" href="/posts">Posts</a></li><li><a href="/publications">Publications</a></li><li><a href="/assets/résumé.pdf">Résumé</a></li><li><a href="https://navanchauhan.github.io/repo">Repo</a></li></ul></nav></div></header><div class="wrapper"><h1>Posts</h1><p>Tips, tricks and tutorials which I think might be useful.</p><ul class="item-list"><li><article><h1><a href="/posts/2010-01-24-experiments">Experiments</a></h1><ul class="tag-list"><li><a href="/tags/experiment">Experiment</a></li></ul><span>🕑 1 minute read. January 24, 2010</span><p>Just a markdown file for all experiments related to the website</p></article></li><li><article><h1><a href="/posts/2019-05-05-Custom-Snowboard-Anemone-Theme">Creating your own custom theme for Snowboard or Anemone</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/designing">Designing</a></li><li><a href="/tags/snowboard">Snowboard</a></li><li><a href="/tags/anemone">Anemone</a></li></ul><span>🕑 5 minute read. May 5, 2019</span><p>Tutorial on creating your own custom theme for Snowboard or Anemone</p></article></li><li><article><h1><a href="/posts/2019-12-04-Google-Teachable-Machines">Image Classifier With Teachable Machines</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 2 minute read. December 4, 2019</span><p>Tutorial on creating a custom image classifier quickly with Google Teachable Machines</p></article></li><li><article><h1><a href="/posts/2019-12-08-Image-Classifier-Tensorflow">Creating a Custom Image Classifier using Tensorflow 2.x and Keras for Detecting Malaria</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 4 minute read. December 8, 2019</span><p>Tutorial on creating an image classifier model using TensorFlow which detects malaria</p></article></li><li><article><h1><a href="/posts/2019-12-08-Splitting-Zips">Splitting ZIPs into Multiple Parts</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 1 minute read. December 8, 2019</span><p>Short code snippet for splitting zips.</p></article></li><li><article><h1><a href="/posts/2019-12-10-TensorFlow-Model-Prediction">Making Predictions using Image Classifier (TensorFlow)</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li></ul><span>🕑 1 minute read. December 10, 2019</span><p>Making predictions for image classification models built using TensorFlow</p></article></li><li><article><h1><a href="/posts/2019-12-16-TensorFlow-Polynomial-Regression">Polynomial Regression Using TensorFlow</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/tensorflow">Tensorflow</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 17 minute read. December 16, 2019</span><p>Polynomial regression using TensorFlow</p></article></li><li><article><h1><a href="/posts/2019-12-22-Fake-News-Detector">Building a Fake News Detector with Turicreate</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/swiftui">SwiftUI</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul><span>🕑 7 minute read. December 22, 2019</span><p>In this tutorial we will build a fake news detecting app from scratch, using Turicreate for the machine learning model and SwiftUI for building the app</p></article></li><li><article><h1><a href="/posts/2020-01-14-Converting-between-PIL-NumPy">Converting between image and NumPy array</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">Tutorial</a></li></ul><span>🕑 1 minute read. January 14, 2020</span><p>Short code snippet for converting between PIL image and NumPy arrays.</p></article></li><li><article><h1><a href="/posts/2020-01-15-Setting-up-Kaggle-to-use-with-Colab">Setting up Kaggle to use with Google Colab</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li><li><a href="/tags/kaggle">Kaggle</a></li></ul><span>🕑 1 minute read. January 15, 2020</span><p>Tutorial on setting up kaggle, to use with Google Colab</p></article></li><li><article><h1><a href="/posts/2020-01-16-Image-Classifier-Using-Turicreate">Creating a Custom Image Classifier using Turicreate to detect Smoke and Fire</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/colab">Colab</a></li><li><a href="/tags/turicreate">Turicreate</a></li></ul><span>🕑 6 minute read. January 16, 2020</span><p>Tutorial on creating a custom Image Classifier using Turicreate and a dataset from Kaggle</p></article></li><li><article><h1><a href="/posts/2020-01-19-Connect-To-Bluetooth-Devices-Linux-Terminal">How to setup Bluetooth on a Raspberry Pi</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/tutorial">tutorial</a></li><li><a href="/tags/raspberrypi">Raspberry-Pi</a></li><li><a href="/tags/linux">Linux</a></li></ul><span>🕑 1 minute read. January 19, 2020</span><p>Connecting to Bluetooth Devices using terminal, tested on Raspberry Pi Zero W</p></article></li><li><article><h1><a href="/posts/2020-03-03-Playing-With-Android-TV">Tinkering with an Android TV</a></h1><ul class="tag-list"><li><a href="/tags/androidtv">Android-TV</a></li><li><a href="/tags/android">Android</a></li></ul><span>🕑 1 minute read. March 3, 2020</span><p>Tinkering with an Android TV</p></article></li><li><article><h1><a href="/posts/2020-03-08-Making-Vaporwave-Track">Making My First Vaporwave Track (Remix)</a></h1><ul class="tag-list"><li><a href="/tags/vaporwave">Vaporwave</a></li><li><a href="/tags/music">Music</a></li></ul><span>🕑 2 minute read. March 8, 2020</span><p>I made my first vaporwave remix</p></article></li><li><article><h1><a href="/posts/2020-04-13-Fixing-X11-Error-AmberTools-macOS">Fixing X11 Error on macOS Catalina for AmberTools 18/19</a></h1><ul class="tag-list"><li><a href="/tags/moleculardynamics">Molecular-Dynamics</a></li><li><a href="/tags/macos">macOS</a></li></ul><span>🕑 2 minute read. April 13, 2020</span><p>Fixing Could not find the X11 libraries; you may need to edit config.h, AmberTools macOS Catalina</p></article></li><li><article><h1><a href="/posts/2020-05-31-compiling-open-babel-on-ios">Compiling Open Babel on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li></ul><span>🕑 5 minute read. May 31, 2020</span><p>Compiling Open Babel on iOS</p></article></li><li><article><h1><a href="/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL">Workflow for Lightning Fast Molecular Docking Part One</a></h1><ul class="tag-list"><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/openbabel">Open-Babel</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li></ul><span>🕑 2 minute read. June 1, 2020</span><p>This is my workflow for lightning fast molecular docking.</p></article></li><li><article><h1><a href="/posts/2020-06-02-Compiling-AutoDock-Vina-on-iOS">Compiling AutoDock Vina on iOS</a></h1><ul class="tag-list"><li><a href="/tags/ios">iOS</a></li><li><a href="/tags/jailbreak">Jailbreak</a></li><li><a href="/tags/cheminformatics">Cheminformatics</a></li><li><a href="/tags/autodock-vina">AutoDock Vina</a></li><li><a href="/tags/moleculardocking">Molecular-Docking</a></li></ul><span>🕑 3 minute read. June 2, 2020</span><p>Compiling AutoDock Vina on iOS</p></article></li><li><article><h1><a href="/posts/2020-07-01-Install-rdkit-colab">Installing RDKit on Google Colab</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/colab">Colab</a></li></ul><span>🕑 2 minute read. July 1, 2020</span><p>Install RDKit on Google Colab with one code snippet.</p></article></li><li><article><h1><a href="/posts/2020-08-01-Natural-Feature-Tracking-ARJS">Introduction to AR.js and Natural Feature Tracking</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/arjs">AR.js</a></li><li><a href="/tags/javascript">JavaScript</a></li><li><a href="/tags/augmentedreality">Augmented-Reality</a></li></ul><span>🕑 7 minute read. August 1, 2020</span><p>An introduction to AR.js and NFT</p></article></li><li><article><h1><a href="/posts/2020-10-11-macOS-Virtual-Cam-OBS">Trying Different Camera Setups</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/review">Review</a></li><li><a href="/tags/webcam">Webcam</a></li></ul><span>🕑 3 minute read. October 11, 2020</span><p>Comparison of different cameras setups for using as a webcam and tutorials for the same.</p></article></li><li><article><h1><a href="/posts/2020-11-17-Lets-Encrypt-DuckDns">Generating HTTPS Certificate using DNS a Challenge through Let's Encrypt</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/webdevelopment">Web-Development</a></li></ul><span>🕑 3 minute read. November 17, 2020</span><p>Short code-snippet to generate HTTPS certificates using the DNS Challenge through Lets Encrypt for a web-server using DuckDNS.</p></article></li><li><article><h1><a href="/posts/2020-12-1-HTML-JS-RSS-Feed">RSS Feed written in HTML + JavaScript</a></h1><ul class="tag-list"><li><a href="/tags/tutorial">Tutorial</a></li><li><a href="/tags/codesnippet">Code-Snippet</a></li><li><a href="/tags/html">HTML</a></li><li><a href="/tags/javascript">JavaScript</a></li></ul><span>🕑 5 minute read. December 1, 2020</span><p>Short code-snippet for an RSS feed, written in HTML and JavaScript</p></article></li><li><article><h1><a href="/posts/hello-world">Hello World</a></h1><ul class="tag-list"><li><a href="/tags/helloworld">hello-world</a></li></ul><span>🕑 1 minute read. April 16, 2019</span><p>My first post.</p></article></li></ul></div><footer><p>Made with ❤️ using <a href="https://github.com/johnsundell/publish">Publish</a></p><p><a href="/feed.rss">RSS feed</a></p></footer></body></html> \ No newline at end of file