<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.3">Jekyll</generator><link href="https://ramvasuthevan.ca/feed.xml" rel="self" type="application/atom+xml" /><link href="https://ramvasuthevan.ca/" rel="alternate" type="text/html" /><updated>2024-07-12T05:22:33+00:00</updated><id>https://ramvasuthevan.ca/feed.xml</id><title type="html">Ram’s Personal Website</title><subtitle>Built by Ram Vasuthevan with ❤️ on the [shoulders of giants](/acknowledgements.html)</subtitle><entry><title type="html">Committee Members</title><link href="https://ramvasuthevan.ca/bitsbipsbricks/2024/07/12/who.html" rel="alternate" type="text/html" title="Committee Members" /><published>2024-07-12T00:00:00+00:00</published><updated>2024-07-12T00:00:00+00:00</updated><id>https://ramvasuthevan.ca/bitsbipsbricks/2024/07/12/who</id><content type="html" xml:base="https://ramvasuthevan.ca/bitsbipsbricks/2024/07/12/who.html"><![CDATA[<style>
.pill-box {
  display: inline-block;
  padding: 5px 10px;
  margin: 10px 0;
  border-radius: 20px;
  background-color: #007bff;
  color: white;
  font-size: 0.9em;
}
</style>

<h1>Committee Members</h1>]]></content><author><name></name></author><category term="bitsbipsbricks" /><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Search for All Dependabot Created PRs on Your Repos</title><link href="https://ramvasuthevan.ca/bitsbipsbricks/Github-Dependabot-PRs" rel="alternate" type="text/html" title="Search for All Dependabot Created PRs on Your Repos" /><published>2024-06-29T00:00:00+00:00</published><updated>2024-06-29T00:00:00+00:00</updated><id>https://ramvasuthevan.ca/bitsbipsbricks/github-dependabot-prs</id><content type="html" xml:base="https://ramvasuthevan.ca/bitsbipsbricks/Github-Dependabot-PRs"><![CDATA[<div class="image-container">
    <img src="/assets/bitsbipsbricks/Github-Dependabot-PRs/nolan-issac-It0DCaCBr40-unsplash.jpg" alt="Caffe latte on white ceramic cup beside silver and black laptop computer" />
    <div class="caption">
        
<p>Photo by <a href="https://unsplash.com/@@nolanissac">Nolan Issac</a> from <a href="https://unsplash.com/photos/caffe-latte-on-white-ceramic-cup-beside-silver-and-black-laptop-computer-It0DCaCBr40">Unsplash</a></p>

    </div>
</div>

<p>In the spirit of early <a href="https://www.kalzumeus.com/2006/">patio11</a>, I’m going to write more about what I worked on, what I learned, and the problems I solved on any given day.</p>

<p>In that spirit, I have a bunch of repos with Dependabot enabled. It’s a pain in the ass to manually go to all of the repos and see if a Dependabot PR has been created.</p>

<p>Search query: <code id="search-query">is:pr author:app/dependabot is:open archived:false user:@me</code></p>

<p><a href="https://github.com/search?q=is%3Apr+author%3Aapp%2Fdependabot+is%3Aopen+archived%3Afalse+user%3A%40me&amp;type=pullrequests" target="_blank">GitHub Search for Dependabot PRs</a></p>]]></content><author><name></name></author><category term="bitsbipsbricks" /><summary type="html"><![CDATA[Photo by Nolan Issac from Unsplash]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ramvasuthevan.ca/assets/bitsbipsbricks/Github-Dependabot-PRs/nolan-issac-It0DCaCBr40-unsplash.jpg" /><media:content medium="image" url="https://ramvasuthevan.ca/assets/bitsbipsbricks/Github-Dependabot-PRs/nolan-issac-It0DCaCBr40-unsplash.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Create Jekyll Sub Blogs using only Liquid</title><link href="https://ramvasuthevan.ca/bitsbipsbricks/Jekyll-Sub-Blogs" rel="alternate" type="text/html" title="Create Jekyll Sub Blogs using only Liquid" /><published>2024-05-14T00:00:00+00:00</published><updated>2024-05-14T00:00:00+00:00</updated><id>https://ramvasuthevan.ca/bitsbipsbricks/Jekyll-Sub-Blogs</id><content type="html" xml:base="https://ramvasuthevan.ca/bitsbipsbricks/Jekyll-Sub-Blogs"><![CDATA[<style>
  :not(pre) > code {
    background-color: #f4f4f4; /* Light grey background */
    color: #333; /* Darker text for better readability */
    padding: 2px 4px;
    border-radius: 4px;
  }
</style>

<div class="image-container">
    <img src="/assets/bitsbipsbricks/Jekyll-Sub-Blogs/andrew-neel-cckf4TsHAuw-unsplash.jpg" alt="Stock photo of a laptop, coffee, pen, notepad and phone" />
    <div class="caption">
        
<p>Photo by <a href="https://unsplash.com/@@andrewtneel">Andrew Neel</a> from <a href="https://unsplash.com/photos/macbook-pro-white-ceramic-mugand-black-smartphone-on-table-cckf4TsHAuw">Unsplash</a></p>

    </div>
</div>

<p>I started writing this <a href="/bitsbipsbricks.html">blog</a> in the spirit of <a href="https://www.visakanv.com/blog/do100things/">Visa’s do 100’s things</a>. The best way to become a better writer is to write. Writing and writing energy is not scarce. It’s not like you have a finite number of things you can write in your life. The more you write, the more you can write. If you write an article about an idea, it doesn’t need to be perfect. You can always write more about it later.</p>

<p>I started writing on <a href="https://ghost.org/">Ghost</a> because it was easy to set up and maintain. At first, I didn’t mention my name anywhere. Eventually, I decided to merge it with my personal site after I became more confident with my writing and so that I could gain more control over how the site looked. As an engineer, I love being able to take advantage of Git for version control, setting up my writing environment using VS Code and knowing that I can easily maintain and migrate it from Jekyll if necessary.</p>

<p>Jekyll by default puts all blog posts into one feed, but sometimes, I want to write something small, a <a href="/snippets">snippet</a>, a note mostly for myself, that doesn’t really fit in <a href="/bitsbipsbricks">Bits, Bips and Bricks</a>.</p>

<p>By taking advantage of Jekyll categories and tags you can easily have multiple sub blogs each with their own Atom feed using only Liquid.</p>

<p>A <a href="https://jekyllrb.com/docs/posts/#categories">category</a> can be defined using the front matter keys <code class="language-plaintext highlighter-rouge">category</code> or <code class="language-plaintext highlighter-rouge">categories</code> (a space separated list of categories) or putting a directory above the post’s <code class="language-plaintext highlighter-rouge">_post</code> directory with the name of the category.</p>

<p>A <a href="https://jekyllrb.com/docs/posts/#tags">tag</a> can be defined using can be defined using the front matter keys <code class="language-plaintext highlighter-rouge">tag</code> or <code class="language-plaintext highlighter-rouge">tags</code> (a space separated list of tags)</p>

<p>This snippet is built to match the style of Minma, but similar logic can be used for other themes.</p>

<p>Copy the following code and paste it in <code class="language-plaintext highlighter-rouge">_includes/blog.html</code>:</p>

<figure class="highlight"><pre><code class="language-liquid" data-lang="liquid">&lt;div class="blog"&gt;
    &lt;h2 class="post-list-heading"&gt;<span class="cp">{{</span><span class="w"> </span><span class="nv">page</span><span class="p">.</span><span class="nv">list_title</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">default</span><span class="p">:</span><span class="w"> </span><span class="s2">"Posts"</span><span class="w"> </span><span class="cp">}}</span>&lt;/h2&gt;
    &lt;ul class="post-list"&gt;
      <span class="cp">{%-</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">post</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">site</span><span class="p">.</span><span class="nv">posts</span><span class="w"> </span><span class="cp">-%}</span>
      <span class="cp">{%-</span><span class="w"> </span><span class="nt">if</span><span class="w"> </span><span class="nv">post</span><span class="p">.</span><span class="nv">categories</span><span class="w"> </span><span class="ow">contains</span><span class="w"> </span><span class="nv">include</span><span class="p">.</span><span class="nv">category</span><span class="w"> </span><span class="ow">or</span><span class="w"> </span><span class="nv">post</span><span class="p">.</span><span class="nv">tags</span><span class="w"> </span><span class="ow">contains</span><span class="w"> </span><span class="nv">include</span><span class="p">.</span><span class="nv">tag</span><span class="w"> </span><span class="cp">-%}</span>
      &lt;li&gt;
        <span class="cp">{%-</span><span class="w"> </span><span class="nt">assign</span><span class="w"> </span><span class="nv">date_format</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">site</span><span class="p">.</span><span class="nv">minima</span><span class="p">.</span><span class="nv">date_format</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">default</span><span class="p">:</span><span class="w"> </span><span class="s2">"%b %-d, %Y"</span><span class="w"> </span><span class="cp">-%}</span>
        &lt;span class="post-meta"&gt;<span class="cp">{{</span><span class="w"> </span><span class="nv">post</span><span class="p">.</span><span class="nv">date</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">date</span><span class="p">:</span><span class="w"> </span><span class="nv">date_format</span><span class="w"> </span><span class="cp">}}</span>&lt;/span&gt;
        &lt;h3&gt;
          &lt;a class="post-link" href="<span class="cp">{{</span><span class="w"> </span><span class="nv">post</span><span class="p">.</span><span class="nv">url</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">relative_url</span><span class="w"> </span><span class="cp">}}</span>"&gt;
            <span class="cp">{{</span><span class="w"> </span><span class="nv">post</span><span class="p">.</span><span class="nv">title</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">escape</span><span class="w"> </span><span class="cp">}}</span>
          &lt;/a&gt;
        &lt;/h3&gt;
        <span class="cp">{%-</span><span class="w"> </span><span class="nt">if</span><span class="w"> </span><span class="nv">site</span><span class="p">.</span><span class="nv">show_excerpts</span><span class="w"> </span><span class="cp">-%}</span>
          <span class="cp">{{</span><span class="w"> </span><span class="nv">post</span><span class="p">.</span><span class="nv">excerpt</span><span class="w"> </span><span class="cp">}}</span>
        <span class="cp">{%-</span><span class="w"> </span><span class="nt">endif</span><span class="w"> </span><span class="cp">-%}</span>
      &lt;/li&gt;
      <span class="cp">{%-</span><span class="nt">endif</span><span class="w"> </span><span class="cp">-%}</span>
      <span class="cp">{%-</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="cp">-%}</span>

    &lt;/ul&gt;

    <span class="cp">{%-</span><span class="w"> </span><span class="nt">if</span><span class="w"> </span><span class="nv">include</span><span class="p">.</span><span class="nv">category</span><span class="w"> </span><span class="ow">and</span><span class="w"> </span><span class="nv">site</span><span class="p">.</span><span class="nv">feed</span><span class="p">.</span><span class="nv">categories</span><span class="w"> </span><span class="ow">contains</span><span class="w"> </span><span class="nv">include</span><span class="p">.</span><span class="nv">category</span><span class="w"> </span><span class="cp">-%}</span>
      <span class="cp">{%</span><span class="w"> </span><span class="nt">unless</span><span class="w"> </span><span class="nv">include</span><span class="p">.</span><span class="nv">tag</span><span class="w"> </span><span class="cp">%}</span>
      <span class="cp">{%</span><span class="w"> </span><span class="nt">assign</span><span class="w"> </span><span class="nv">feed_location</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">site</span><span class="p">.</span><span class="nv">feed</span><span class="p">.</span><span class="nv">categories</span><span class="p">[</span><span class="nv">include</span><span class="p">.</span><span class="nv">category</span><span class="p">].</span><span class="nv">path</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">default</span><span class="p">:</span><span class="w"> </span><span class="s1">'/feed/'</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">append</span><span class="p">:</span><span class="w"> </span><span class="nv">include</span><span class="p">.</span><span class="nv">category</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">append</span><span class="p">:</span><span class="w"> </span><span class="s1">'.xml'</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">relative_url</span><span class="w"> </span><span class="cp">%}</span>
        &lt;p class="rss-subscribe"&gt;subscribe &lt;a href="<span class="cp">{{</span><span class="w"> </span><span class="s1">'/feed/'</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">append</span><span class="p">:</span><span class="w"> </span><span class="nv">include</span><span class="p">.</span><span class="nv">category</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">append</span><span class="p">:</span><span class="w"> </span><span class="s1">'.xml'</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">relative_url</span><span class="w"> </span><span class="cp">}}</span>"&gt;via RSS&lt;/a&gt;&lt;/p&gt;
        <span class="cp">{%</span><span class="w"> </span><span class="nt">endunless</span><span class="w"> </span><span class="cp">%}</span>
    <span class="cp">{%-</span><span class="w"> </span><span class="nt">endif</span><span class="w"> </span><span class="cp">-%}</span>

    <span class="cp">{%-</span><span class="w"> </span><span class="nt">if</span><span class="w"> </span><span class="nv">include</span><span class="p">.</span><span class="nv">tag</span><span class="w"> </span><span class="ow">and</span><span class="w"> </span><span class="nv">site</span><span class="p">.</span><span class="nv">feed</span><span class="p">.</span><span class="nv">tags</span><span class="w"> </span><span class="ow">contains</span><span class="w"> </span><span class="nv">include</span><span class="p">.</span><span class="nv">tag</span><span class="w"> </span><span class="cp">-%}</span>
    <span class="cp">{%</span><span class="w"> </span><span class="nt">unless</span><span class="w"> </span><span class="nv">include</span><span class="p">.</span><span class="nv">category</span><span class="w"> </span><span class="cp">%}</span>
      &lt;p class="rss-subscribe"&gt;subscribe &lt;a href="<span class="cp">{{</span><span class="w"> </span><span class="s1">'/feed/'</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">append</span><span class="p">:</span><span class="w"> </span><span class="nv">include</span><span class="p">.</span><span class="nv">tag</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">append</span><span class="p">:</span><span class="w"> </span><span class="s1">'.xml'</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">relative_url</span><span class="w"> </span><span class="cp">}}</span>"&gt;via RSS&lt;/a&gt;&lt;/p&gt;
    <span class="cp">{%</span><span class="w"> </span><span class="nt">endunless</span><span class="w"> </span><span class="cp">%}</span>
    <span class="cp">{%-</span><span class="w"> </span><span class="nt">endif</span><span class="w"> </span><span class="cp">-%}</span>

&lt;/div&gt;</code></pre></figure>

<p>The above code is available under the <a href="/assets/bitsbipsbricks/Jekyll-Sub-Blogs/license.txt">MIT license</a> and contains code from <a href="https://github.com/jekyll/minima/blob/38a84a949f9753c4542e25f422935f59b4913053/_layouts/home.html">minima/_layouts/home.html</a>
<br /></p>

<p>On the page that you want a sub blog with only posts from a certain category:</p>

<figure class="highlight"><pre><code class="language-liquid" data-lang="liquid"><span class="cp">{%</span><span class="w"> </span><span class="nt">include</span><span class="w"> </span>blog.html<span class="w"> </span><span class="na">category</span><span class="o">=</span><span class="s2">"category_name"</span><span class="w"> </span><span class="cp">%}</span></code></pre></figure>

<p>On the page that you want a sub blog with only posts with a certain tag:</p>

<figure class="highlight"><pre><code class="language-liquid" data-lang="liquid"><span class="cp">{%</span><span class="w"> </span><span class="nt">include</span><span class="w"> </span>blog.html<span class="w"> </span><span class="na">tag</span><span class="o">=</span><span class="s2">"tag_name"</span><span class="w"> </span><span class="cp">%}</span></code></pre></figure>

<p>If you don’t add a category or tag parameter, then all posts will be in the sub blog.</p>

<p><a href="https://github.com/jekyll/minima/pull/137/files#r124796175">Minima</a> assumes that if there are no posts, the feed will not be shown. I disagree, you can have a blog without blog posts.</p>

<p>Make sure to update your <em>_config.yml</em> according to the instructions for <a href="https://github.com/jekyll/jekyll-feed">jekyll-feed</a> to make sure that the feeds for your category or tag are generated.</p>]]></content><author><name></name></author><category term="bitsbipsbricks" /><summary type="html"><![CDATA[]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ramvasuthevan.ca/assets/bitsbipsbricks/Jekyll-Sub-Blogs/andrew-neel-cckf4TsHAuw-unsplash.jpg" /><media:content medium="image" url="https://ramvasuthevan.ca/assets/bitsbipsbricks/Jekyll-Sub-Blogs/andrew-neel-cckf4TsHAuw-unsplash.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">U of T Law School Courses Related to Real Estate</title><link href="https://ramvasuthevan.ca/snippets/UofT-Real-Estate" rel="alternate" type="text/html" title="U of T Law School Courses Related to Real Estate" /><published>2024-03-20T00:00:00+00:00</published><updated>2024-03-20T00:00:00+00:00</updated><id>https://ramvasuthevan.ca/snippets/UofT-Real-Estate</id><content type="html" xml:base="https://ramvasuthevan.ca/snippets/UofT-Real-Estate"><![CDATA[<div class="image-container">
    <img src="/assets/snippets/UofT-Real-Estate/Flavellelaw.jpeg" alt="Flavelle House at the Faculty of Law" />
    <div class="caption">
        <p>Photo of <a href="https://en.wikipedia.org/wiki/University_of_Toronto_Faculty_of_Law#Flavelle_House">Flavelle House</a> at the Faculty of Law by <a href="https://en.wikipedia.org/wiki/File:Flavellelaw.JPG">Chensiyuan/Wikipedia</a></p>

    </div>
</div>

<p>On the <a href="https://web.archive.org/web/20240217124159/https://www.law.utoronto.ca/academic-programs/course-calendar">2023-2024 U of T Law School Course List</a>, there seems to be 3 course related to real esate:</p>
<ul>
  <li><a href="https://www.law.utoronto.ca/course/2023-2024/blueprints-buildings-legal-issues-in-construction-industry">From Blueprints to Buildings: Legal Issues in the Construction Industry (LAW306H1F)</a>
    <ul>
      <li>Instructor Michael Valo is the co-author of a chapter in “Review of Construction Law: Recent Developments” about Building Information Modeling (Toronto: Carswell, 2012), and of the chapter “Sustainable Construction” in “Modern Legal Landscape of Design Professional Practice” (Toronto: Carswell, 2023).</li>
    </ul>
  </li>
  <li><a href="https://www.law.utoronto.ca/course/2023-2024/real-estate-law">Real Estate Law (LAW275H1F)</a>
    <ul>
      <li>Instructor David Carter is the Co-author of Real Estate Transaction 2nd Edition</li>
    </ul>
  </li>
  <li><a href="https://www.law.utoronto.ca/course/2023-2024/community-planning-problems-in-urban-policy-and-land-use-regulation">Community Planning: Problems in Urban Policy and Land Use Regulation (LAW224H1S)</a>
    <ul>
      <li>Instructor Arnold Weinrib is the Editor-in-Chief of the Land Compensation Reports</li>
    </ul>
  </li>
</ul>]]></content><author><name></name></author><category term="snippets" /><summary type="html"><![CDATA[Photo of Flavelle House at the Faculty of Law by Chensiyuan/Wikipedia]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ramvasuthevan.ca/assets/snippets/UofT-Real-Estate/Flavellelaw.jpeg" /><media:content medium="image" url="https://ramvasuthevan.ca/assets/snippets/UofT-Real-Estate/Flavellelaw.jpeg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Large Collections of Free (as in Speech) Images</title><link href="https://ramvasuthevan.ca/snippets/Free-Images-Collections" rel="alternate" type="text/html" title="Large Collections of Free (as in Speech) Images" /><published>2024-03-19T00:00:00+00:00</published><updated>2024-03-19T00:00:00+00:00</updated><id>https://ramvasuthevan.ca/snippets/Free-Images-Collections</id><content type="html" xml:base="https://ramvasuthevan.ca/snippets/Free-Images-Collections"><![CDATA[<div class="image-container">
    <img src="/assets/snippets/Free-Images-Collections/9924-f1244_it0099_cropped.jpeg" alt="Three locomotives in the station at [Old Union Station](https://en.wikipedia.org/wiki/Toronto_Union_Station_(1873))" />
    <div class="caption">
        <p>Taken in 1907 by freelance photographer William James (City of Toronto Archives, <a href="https://gencat.eloquent-systems.com/city-of-toronto-archives-m-permalink.html?key=48963">Fonds 1244, Item 99</a>)</p>

    </div>
</div>

<p>Here are large collections of <a href="https://en.wikipedia.org/wiki/Gratis_versus_libre">free (as in speech)</a> images:</p>
<ul>
  <li>The <a href="https://gencat4.eloquent-systems.com/webcat/request/Action?ClientSession=-35160611:18e551780cd:-7b83&amp;TemplateProcessID=6000_3355&amp;CMD_(SearchRequest)[12]=&amp;PromptID=&amp;ParamID=&amp;RequesterType=SearchTemplate&amp;browseData=1&amp;bCachable=1&amp;Keyword=0&amp;POI30_51522=119">City of Toronto Archives</a> has 275k images, a large number of which are free</li>
  <li>The Art Institute of Chicago API has <a href="https://www.artic.edu/terms#:~:text=certain%20images%20of%20works%20in%20the%20collection%20believed%20to%20be%20in%20the%20public%20domain%20or%20to%20which%20the%20museum%20otherwise%20waives%20any%20copyright%20it%20might%20have%20been%20made%20available%20by%20aic%20under%20the%20creative%20commons%20zero%20(cc0)%20license.">public domain</a> <a href="https://api.artic.edu/docs/#images">images</a>. See <a href="https://api.artic.edu/docs/#data-dumps">Data Dump</a></li>
  <li>Metropolitan Museum of Art has 375k photos under CC0 (Via <a href="https://creativecommons.org/public-domain/cc0/#:~:text=Metropolitan%20Museum%20of,greater%20collaboration%20possible.">CC0</a>)</li>
  <li>The Art Institute of Chicago API follows the International Image Interoperability Framework (IIIF), other places that might also have freely available images</li>
</ul>

<p><strong>Editor’s Note: I initially intended <a href="/snippets">Snippets</a> for posts which were never updated. I don’t know if I’ll update this post if I find another large free image repository.</strong></p>

<p><strong>A <a href="https://github.com/RamVasuthevan/Personal-Website/pull/307">public digital garden</a> will be the correct spot for a post like this. Maybe <a href="/snippets">Snippets</a> can be a spot for pages to be initially planted and then if they are repeatedly updated and grow, they can he transplanted somewhere else.</strong></p>]]></content><author><name></name></author><category term="snippets" /><summary type="html"><![CDATA[Taken in 1907 by freelance photographer William James (City of Toronto Archives, Fonds 1244, Item 99)]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ramvasuthevan.ca/assets/snippets/Free-Images-Collections/Photo_of_Interchanged_by_Willem_de_Kooning.jpg" /><media:content medium="image" url="https://ramvasuthevan.ca/assets/snippets/Free-Images-Collections/Photo_of_Interchanged_by_Willem_de_Kooning.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Interchange (de Kooning) no longer on loan to the Art Institute of Chicago</title><link href="https://ramvasuthevan.ca/snippets/Interchange-Not-On-Loan" rel="alternate" type="text/html" title="Interchange (de Kooning) no longer on loan to the Art Institute of Chicago" /><published>2024-02-12T00:00:00+00:00</published><updated>2024-02-12T00:00:00+00:00</updated><id>https://ramvasuthevan.ca/snippets/Interchange-No%20Longer-on-Loan</id><content type="html" xml:base="https://ramvasuthevan.ca/snippets/Interchange-Not-On-Loan"><![CDATA[<div class="image-container">
    <img src="/assets/snippets/Interchange-No Longer-on-Loan/Photo_of_Interchanged_by_Willem_de_Kooning.jpg" alt="Photo of Interchange by Willem de Kooning taken by Andrew Cho" />
    <div class="caption">
        <p>Photo of Interchange by Willem de Kooning taken by <a href="https://en.wikipedia.org/wiki/File:Photo_of_Interchanged_by_Willem_de_Kooning.jpg">Andrew Cho/Wikipedia</a></p>

    </div>
</div>

<p>As of 2024-02-08, the <a href="https://en.wikipedia.org/w/index.php?title=Interchange_(de_Kooning)&amp;oldid=1189302823">Wikipedia page for Interchange (de Kooning)</a> stated:</p>

<blockquote>
  <p>Private collection of Kenneth C. Griffin. Currently loaned to and displayed at the Art Institute of Chicago</p>
</blockquote>

<p>But, the Art Institute of Chicago’s <a href="https://web.archive.org/web/20240210102154/https://www.artic.edu/collection?artist_ids=Willem%20de%20Kooning">website</a> does not contain Interchange.</p>

<p>I emailed the AIC asking if Interchange was still on loan to the Art Institute of Chicago; on 2024-02-09, they replied that it was not.</p>

<div class="image-container">
    <img src="/assets/snippets/Interchange-No Longer-on-Loan/Gmail-email-from-AIC.jpg" alt="Screenshot of an email thread stating that Interchange is no longer on loan to the AIC" />
    <div class="caption">
        <p>Screenshot of an email thread stating that Interchange is no longer on loan to the AIC</p>

    </div>
</div>

<p>After doing all of this, I realized Interchange no longer being on display at the AIC, was mentioned in <a href="https://www.vanityfair.com/style/2022/12/mega-billionaire-ken-griffin-has-moved-his-masterpieces-to-the-beach">Vanity Fair</a></p>]]></content><author><name></name></author><category term="snippets" /><summary type="html"><![CDATA[Photo of Interchange by Willem de Kooning taken by Andrew Cho/Wikipedia]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ramvasuthevan.ca/assets/snippets/Interchange-No%20Longer-on-Loan/Photo_of_Interchanged_by_Willem_de_Kooning.jpg" /><media:content medium="image" url="https://ramvasuthevan.ca/assets/snippets/Interchange-No%20Longer-on-Loan/Photo_of_Interchanged_by_Willem_de_Kooning.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">A Bit of a Sabbatical: Time for More Focus</title><link href="https://ramvasuthevan.ca/bitsbipsbricks/Focus" rel="alternate" type="text/html" title="A Bit of a Sabbatical: Time for More Focus" /><published>2023-11-25T00:00:00+00:00</published><updated>2023-11-25T00:00:00+00:00</updated><id>https://ramvasuthevan.ca/bitsbipsbricks/A%20Bit-of-a-Sabbatical-Time-for-More-Focus</id><content type="html" xml:base="https://ramvasuthevan.ca/bitsbipsbricks/Focus"><![CDATA[<div class="image-container">
    <img src="/assets/bitsbipsbricks/Focus/patrick-tomasso-61MtRBl1qeE-unsplash.jpg" alt="Toronto Buildings In Fog" />
    <div class="caption">
        
<p>Photo by <a href="https://unsplash.com/@impatrickt">Patrick Tomasso</a> from <a href="https://unsplash.com/photos/high-rise-buildings-covered-with-fog-61MtRBl1qeE">Unsplash</a></p>

    </div>
</div>

<p><strong>Editor’s Note: This was written in early November and my views have changed a bit, but I’ve decided to post this now for posterity</strong></p>

<p>The last 12 weeks have been great. It helped me figure out what to do with my life:</p>

<p><em>I am a software engineer on sabbatical. I am working on applying technology to real estate in Toronto.</em></p>

<p>But my sabbatical is constrained by money and and thus constrained by time. It’s now time for focus.</p>

<p>Projects which will be focusing on:</p>

<ol>
  <li>Lobbying in Toronto
    <ul>
      <li>Build a great way to search and visualize data published by the <a href="https://www.toronto.ca/city-government/accountability-operations-customer-service/accountability-officers/lobbyist-registrar/search-the-registry-register-as-a-lobbyist/search-the-lobbyist-registry/">City of Toronto’s Lobbyist Registrar</a></li>
    </ul>
  </li>
  <li>TRREB MLS Search Engine
    <ul>
      <li>Build a <a href="https://en.wikipedia.org/wiki/Virtual_Office_Website">Virtual Office Website
</a> for TRREB’s MLS to make it easier for Realtor and their clients to search for properties in Toronto</li>
    </ul>
  </li>
  <li>Open Map of Toronto
    <ul>
      <li>Combine open data sources to create a better view of Toronto. Definitely <a href="https://open.toronto.ca/dataset/property-boundaries/">Property Boundaries</a> and <a href="https://open.toronto.ca/dataset/address-points-municipal-toronto-one-address-repository/">Address Points (Municipal) - Toronto One Address Repository
</a>, plus some more data from the <a href="https://open.toronto.ca/">City of Toronto’s Open Data Portal</a> and other data sources</li>
    </ul>
  </li>
  <li>Bits, Bips and Bricks
    <ul>
      <li>Write more regularly and about more topics</li>
      <li>The vibe that I am going for:</li>
    </ul>
    <blockquote class="twitter-tweet"><p lang="en" dir="ltr">I really like this. It&#39;s helpful in getting over the little voice in my head that says &quot;It&#39;s not as good as the writers you admire&quot; <a href="https://t.co/h0HzKUrQSm">https://t.co/h0HzKUrQSm</a></p>&mdash; Ram Vasuthevan (in SF Oct 31 - Nov 7) (@RamVasuthevan) <a href="https://twitter.com/RamVasuthevan/status/1684079350050881536?ref_src=twsrc%5Etfw">July 26, 2023</a></blockquote>
    <script async="" src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
  </li>
</ol>

<p>I will also work on side projects, especially if they align with my goal of applying technology to real estate but it is now time to impose a discipline on myself.</p>]]></content><author><name></name></author><category term="bitsbipsbricks" /><summary type="html"><![CDATA[Photo by Patrick Tomasso from Unsplash]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ramvasuthevan.ca/assets/bitsbipsbricks/Focus/mwangi-gatheca-qlKaN7eqay8-unsplash.jpg" /><media:content medium="image" url="https://ramvasuthevan.ca/assets/bitsbipsbricks/Focus/mwangi-gatheca-qlKaN7eqay8-unsplash.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Felt Feels like Magic</title><link href="https://ramvasuthevan.ca/bitsbipsbricks/Felt-Magic" rel="alternate" type="text/html" title="Felt Feels like Magic" /><published>2023-09-13T00:00:00+00:00</published><updated>2023-09-13T00:00:00+00:00</updated><id>https://ramvasuthevan.ca/bitsbipsbricks/Felt-Magic</id><content type="html" xml:base="https://ramvasuthevan.ca/bitsbipsbricks/Felt-Magic"><![CDATA[<div class="image-container">
    <img src="/assets/bitsbipsbricks/Felt-Magic/francesca-saraco-u8DiM00gIR8-unsplash.jpg" alt="Descriptive Alt Text" />
    <div class="caption">
        
<p>Photo by <a href="https://unsplash.com/@fransaraco">Francesca Saraco</a> from <a href="https://unsplash.com/photos/u8DiM00gIR8">Unsplash</a></p>

    </div>
</div>

<p>I just started using <a href="https://felt.com/">Felt</a>. The best way to describe it is it feels like magic.
I have been thinking about side projects involving creating maps or using geospatial data for a while, but I’ve procrastinated on learning Mapbox or QGIS. And I’ve spent way too much time trying to install SpatiaLite on a Windows Laptop.</p>

<p>No coding involved. I just dragged the two Shapefiles (<a href="https://open.toronto.ca/dataset/property-boundaries/">Property Boundaries</a> and <a href="https://open.toronto.ca/dataset/address-points-municipal-toronto-one-address-repository/">Address Points (Municipal) - Toronto One Address Repository</a>) from the Toronto Open Data Portal on, and the map appeared. I then added the Felt’s preexisting building footprint layer. It was then easy to quickly add colouring by category. And even better (unlike some other tools), there is a working search bar so that you can look up parcels at an address.</p>

<p>In general, I like open tools so that I can have more control over the output and be confident that the publisher won’t stop supporting the tool in a couple of years. But I value velocity more than everything else. (If you’re reading this ten years from now, you’ll know how it worked out).</p>

<p>It didn’t take me that long to start seeing interesting things near the water, on Algonquin Island, near my home, etc.
However, I need to work on my styling.</p>]]></content><author><name></name></author><category term="bitsbipsbricks" /><summary type="html"><![CDATA[Photo by Francesca Saraco from Unsplash]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ramvasuthevan.ca/assets/bitsbipsbricks/Felt-Magic/francesca-saraco-u8DiM00gIR8-unsplash.jpg" /><media:content medium="image" url="https://ramvasuthevan.ca/assets/bitsbipsbricks/Felt-Magic/francesca-saraco-u8DiM00gIR8-unsplash.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">A Bit of a Sabbatical</title><link href="https://ramvasuthevan.ca/bitsbipsbricks/Sabbatical" rel="alternate" type="text/html" title="A Bit of a Sabbatical" /><published>2023-08-27T00:00:00+00:00</published><updated>2023-08-27T00:00:00+00:00</updated><id>https://ramvasuthevan.ca/bitsbipsbricks/A-Bit-of-a-Sabbatical</id><content type="html" xml:base="https://ramvasuthevan.ca/bitsbipsbricks/Sabbatical"><![CDATA[<div class="image-container">
    <img src="/assets/bitsbipsbricks/Sabbatical/mwangi-gatheca-qlKaN7eqay8-unsplash.jpg" alt="Descriptive Alt Text" />
    <div class="caption">
        
<p>Photo by <a href="https://unsplash.com/@thirdworldhippy">Mwangi Gatheca</a> from <a href="https://unsplash.com/photos/qlKaN7eqay8">Unsplash</a></p>

    </div>
</div>

<p>I was laid off on Aug. 10, 2023. I feel like I was a good employee, but due to the vicissitudes of trade, my services were no longer needed. I wasn’t disappointed, I was honestly pretty excited.</p>

<p>During my sabbatical from employment, I want to produce work that I will be proud of 10 years from now. Reading, browsing Twitter or getting nerd-sniped are okay, and they feel like work. They definitely are intellectual work. But they are not legible. They do not let me signal what type of person I am and what I can do.</p>

<p>I have benefited for a long time from being perceived as a young, ambitious person. I lost that sheen for a bit when I was at Accenture. I regained it at Searchspring. Greatness comes from slack. The slack I had at Searchspring gave me time to become a better engineer and the confidence that I could be a great engineer. I want to build on that over the next couple of months.</p>

<p>I invested for a future decades away. But I worked for my stand-up hours away. That is no longer true. I am now constrained by money. But I can work on projects that can take years to pay off.</p>

<p>But I can’t waste time. I can invest time for a far future, but my limited money buys me limited freedom from the social contract of employment. I don’t want to impose a totalitarian discipline on myself, but failure is not acceptable. I have run away from the prison, which employment is. But the guards are out searching for me. I must find a new home or build a new one. I will not die in the wilderness. I will not go back. I will not spend years plotting another escape.</p>

<p>I have lived a charmed life. I have had one or more part-time jobs or a full-time job since the month after my 18th birthday. I have had less money in the past, but I have not really been constrained by money. Ever since I started working full-time, I have readily traded money for more time, reduced hassle or psychic benefits. But now that money directly buys freedom, I need to be more conservative with my spending.</p>

<p>I am a little afraid, very excited, but also overwhelmed. In the past, when I am overwhelmed, I have delayed or taken no action. Sometimes, no action is the right move, but often, it allows me to procrastinate on make hard decisions. I need to rapidly develop a bias for action.</p>

<p>For the last several years, my life has gotten better almost automatically. I passed my courses and went to the next grade. I matured as I gained more life experience just by waking up every day. But after I graduated, that is no longer true. I need to take action to improve my life. In 2020, I graduated and joined Accenture. In 2021, I took action, and I left my consulting job at Accenture and got a better job as a software engineer at Searchspring. I was concerned this year would break the trend. Whether or not it does, it certainly won’t be boring.</p>

<p>Goals:</p>
<ul>
  <li>Base:
    <ul>
      <li>I want to stop selling commodity engineering services to generic tech companies</li>
    </ul>
  </li>
  <li>High
    <ul>
      <li>Exit the social contract of employment</li>
    </ul>
  </li>
  <li>Low
    <ul>
      <li>Get another software engineering job</li>
    </ul>
  </li>
</ul>

<p>Fail:</p>
<ul>
  <li>Lose control of my sleep cycle. Allowing it to invert and me to be nocturnal</li>
  <li>Become unemployable before reaching sustainability</li>
  <li>Not being able to get another job</li>
  <li>Taking a sabbatical, working on side projects,  “Building in public”, etc., is a luxury belief</li>
  <li>I become overwhelmed and procrastinating on everything</li>
  <li>I have implicit and explicit responsibilities to others that I don’t want to abandon</li>
</ul>]]></content><author><name></name></author><category term="bitsbipsbricks" /><summary type="html"><![CDATA[Photo by Mwangi Gatheca from Unsplash]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ramvasuthevan.ca/assets/bitsbipsbricks/Sabbatical/mwangi-gatheca-qlKaN7eqay8-unsplash.jpg" /><media:content medium="image" url="https://ramvasuthevan.ca/assets/bitsbipsbricks/Sabbatical/mwangi-gatheca-qlKaN7eqay8-unsplash.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">The World Has Changed:Image Generation Engines</title><link href="https://ramvasuthevan.ca/bitsbipsbricks/Image-Generation-Engines" rel="alternate" type="text/html" title="The World Has Changed:Image Generation Engines" /><published>2023-08-05T00:00:00+00:00</published><updated>2023-08-05T00:00:00+00:00</updated><id>https://ramvasuthevan.ca/bitsbipsbricks/Image-Generation-Engines</id><content type="html" xml:base="https://ramvasuthevan.ca/bitsbipsbricks/Image-Generation-Engines"><![CDATA[<p><strong>Editor’s Note: This was written in September 2022. At the time, I wanted to add more about what I thought image generators would be used for, and then I procrastinated … a lot. But I’ve decided to publish this version for posterity. The world has changed, and still almost nobody knows it yet.</strong></p>

<p>Today is September 6th, 2022. The three main image generation engines are DALL-E 2, Stable Diffusion, and Midjourney. (The date is important. The leading engines could be different a week from now.) Two months ago, the creation of digital artwork cost $100’s dollars or $1000’s dollars an image and photography costs $10’s and $1000’s per image. Today, the creation of digital images costs cents. Images can now be generated in seconds, by giving an image generation engine a text prompt and by fiddling with two or three simple parameters.</p>

<p>DALL-E 2 was released on July 20th, 2022. OpenAI, one of the world’s leading research laboratories, created it. OpenAI has XX<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> employees. It was closed-sourced and available initially only to beta testers on the waitlist. OpenAI distorted any faces in images making it hard to be used for deep fakes. Stability AI released Stable Diffusion on August 22nd, 2022, 33 days later. Stable Diffusion is open source, can be run on a consumer GPU, and doesn’t blur faces like DALL-E 2. Stability AI, as of August 12th, 2022, has 75 employees.</p>

<div class="image-container">
    <img src="/assets/bitsbipsbricks/Image-Generation-Engines/out-1.png" alt="" />
    <div class="caption">
        <p>Created by Stable Diffusion using <a href="https://replicate.com/p/xipb7ajpnretfmu42z3yxnhwuu">Replicate</a></p>

    </div>
</div>

<p>The images aren’t prefect. They still gave off a weird vibe. And giving the right words to get the image you want (prompt engineering<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>) is still a bit finicky. But an hour after I started playing with Stable Diffusion, I was able to create this image of an Canadian Flag and an Astronaut on the moon. (So can you with <a href="https://replicate.com/p/xipb7ajpnretfmu42z3yxnhwuu">Stable Diffusion</a> on commit <code class="language-plaintext highlighter-rouge">a9758cbfbd5f</code> with width <code class="language-plaintext highlighter-rouge">512</code> height <code class="language-plaintext highlighter-rouge">512</code> prompt <code class="language-plaintext highlighter-rouge">Neil Armstrong on the Moon Canadian Flag</code> num_outputs <code class="language-plaintext highlighter-rouge">4</code> guidance_scale <code class="language-plaintext highlighter-rouge">7</code> prompt_strength <code class="language-plaintext highlighter-rouge">0.8</code> num_inference_steps <code class="language-plaintext highlighter-rouge">129</code> and seed <code class="language-plaintext highlighter-rouge">47692</code>).</p>

<p>More:</p>
<ul>
  <li>Soon for videos, etc</li>
  <li>Fundamentally, a different medium</li>
  <li>Deepfakes</li>
  <li>Creative labour</li>
  <li>New art created (Comic book etc)</li>
  <li>Programmatic creation (See what clothes would look like on you?, What products look like your home?)</li>
  <li>Meaning of non-human-created artwork?</li>
  <li>Creative work of curation??</li>
  <li>Can’t be put back in the box. This felt different. We were/aren’t ready.</li>
  <li><strong>We won’t be ready for the next one</strong></li>
</ul>

<p>Edit: 2023-11-11 A link was added to footnote 2 and the title was changed to from <code class="language-plaintext highlighter-rouge">The World Has Changed</code> to <code class="language-plaintext highlighter-rouge">The World Has Changed:Image Generation Engines</code></p>
<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p>I didn’t find the number at the time and couldn’t find the exact number now <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:2" role="doc-endnote">
      <p>I’ve changed my mind about what prompt engineering is. See: <a href="https://mitchellh.com/writing/prompt-engineering-vs-blind-prompting">Prompt Engineering vs. Blind Prompting — Mitchell Hashimoto</a> <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name></name></author><category term="bitsbipsbricks" /><summary type="html"><![CDATA[Editor’s Note: This was written in September 2022. At the time, I wanted to add more about what I thought image generators would be used for, and then I procrastinated … a lot. But I’ve decided to publish this version for posterity. The world has changed, and still almost nobody knows it yet.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ramvasuthevan.ca/assets/bitsbipsbricks/Image-Generation-Engines/out-1.png" /><media:content medium="image" url="https://ramvasuthevan.ca/assets/bitsbipsbricks/Image-Generation-Engines/out-1.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>