<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>weeeblog</title><link>https://nikhilweee.me/</link><description>Recent content on weeeblog</description><generator>Hugo</generator><language>en-us</language><managingEditor>nikhilweee@gmail.com (Nikhil Verma)</managingEditor><webMaster>nikhilweee@gmail.com (Nikhil Verma)</webMaster><copyright>&amp;copy; Nikhil Verma</copyright><lastBuildDate>Thu, 29 Feb 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://nikhilweee.me/feed.xml" rel="self" type="application/rss+xml"/><item><title>Zotfetch: Fetch and Relocate PDFs in Zotero 7</title><link>https://nikhilweee.me/blog/2024/introducing-zotfetch/</link><pubDate>Thu, 29 Feb 2024 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2024/introducing-zotfetch/</guid><description>&lt;p&gt;In a &lt;a href="https://nikhilweee.me/blog/2024/zotero-file-sync/"&gt;previous post&lt;/a&gt;, I explained that if your Zotero
workflow mainly involves syncing PDF annotations, you can use Zotero on multiple devices without the
need for its file sync feature. To make this work, you could use Zotero&amp;rsquo;s &lt;code&gt;Run Javascript&lt;/code&gt; feature
and paste a code snippet. If you find yourself doing this frequently, like myself, you might feel
the need for a straightforward solution that does this for you at the click of a button. I certainly
did, so I took it upon myself to create an addon that lets me fetch and relocate missing PDFs. Allow
me to introduce &lt;a href="https://github.com/nikhilweee/zotfetch"&gt;Zotfetch&lt;/a&gt;!&lt;/p&gt;</description></item><item><title>You probably don't need Zotero's File Sync feature</title><link>https://nikhilweee.me/blog/2024/zotero-file-sync/</link><pubDate>Sun, 18 Feb 2024 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2024/zotero-file-sync/</guid><description>&lt;p&gt;I have a love-hate relationship with Zotero. It&amp;rsquo;s not the best reference manager, but it does check
a lot of boxes. Most importantly, it&amp;rsquo;s free, and is fairly popular at least amongst academics.&lt;/p&gt;
&lt;p&gt;If you use Zotero on more than one devices, you must be aware of its built-in sync feature. Zotero
divides syncing into two parts &amp;ndash; file sync and data sync. As of this writing, you get 300MB for
file sync, whereas data sync is free and unlimited. Additional plans are available for purchase
[&lt;a href="https://www.zotero.org/support/sync"&gt;1&lt;/a&gt;].&lt;/p&gt;</description></item><item><title>Typography</title><link>https://nikhilweee.me/blog/2024/typography/</link><pubDate>Thu, 01 Feb 2024 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2024/typography/</guid><description>&lt;p&gt;This blog uses the &lt;a href="https://github.com/nikhilweee/hugo-whiteglass"&gt;hugo-whiteglass&lt;/a&gt; theme. This page
showcases commonly used elements.&lt;/p&gt;
&lt;h1 id="headings"&gt;Headings&lt;/h1&gt;
&lt;hr&gt;
&lt;p&gt;Headings have been scaled to preserve their order. The first three levels &amp;ndash; &lt;code&gt;H1&lt;/code&gt;, &lt;code&gt;H2&lt;/code&gt; and &lt;code&gt;H3&lt;/code&gt; are
scaled to &lt;code&gt;1.5rem&lt;/code&gt;, &lt;code&gt;1.25rem&lt;/code&gt; and &lt;code&gt;1.12rem&lt;/code&gt; respectively. All other headings &amp;ndash; &lt;code&gt;H4&lt;/code&gt;, &lt;code&gt;H5&lt;/code&gt; and &lt;code&gt;H6&lt;/code&gt;
are scaled to &lt;code&gt;1rem&lt;/code&gt;. Here is what they look like.&lt;/p&gt;
&lt;h1 id="heading-1"&gt;Heading 1&lt;/h1&gt;
&lt;h2 id="heading-2"&gt;Heading 2&lt;/h2&gt;
&lt;h3 id="heading-3"&gt;Heading 3&lt;/h3&gt;
&lt;h4 id="heading-4"&gt;Heading 4&lt;/h4&gt;
&lt;h5 id="heading-5"&gt;Heading 5&lt;/h5&gt;
&lt;h6 id="heading-6"&gt;Heading 6&lt;/h6&gt;
&lt;h1 id="styling"&gt;Styling&lt;/h1&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Here is some text that is bold. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mattis
fringilla ex eu blandit. Suspendisse potenti. Fusce porttitor egestas posuere. Donec molestie odio
ullamcorper mauris consectetur, nec porttitor lectus congue.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Debugging Python C/C++ Extensions</title><link>https://nikhilweee.me/blog/2022/debugging-python-c-extensions/</link><pubDate>Fri, 25 Nov 2022 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2022/debugging-python-c-extensions/</guid><description>&lt;p&gt;Over the past few weeks I&amp;rsquo;ve been using OpenSpiel, an RL framework for research on games. Like a lot
of popular Python frameworks built for speed, OpenSpiel is also written in C++ with functionality
exposed in Python through C++ bindings&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;. Although the framework has documentation
available, it&amp;rsquo;s not possible to document everything and besides, nothing beats stepping through the
code in a debugger like the built-in &lt;a href="https://docs.python.org/3/library/pdb.html"&gt;pdb&lt;/a&gt; or the TUI
based &lt;a href="https://pypi.org/project/pudb/"&gt;pudb&lt;/a&gt; (which happens to be my favourite). The fact that the
core functionality of OpenSpiel is written in a compiled language makes it difficult to steer
through complex code and understand what is happening under the hood. But fear not, I spent quite
some time figuring out exactly this and through the little wisdom that I have gained during the
process, allow me to share my take on how to navigate this problem.&lt;/p&gt;</description></item><item><title>Cloud Bursting with Slurm</title><link>https://nikhilweee.me/blog/2022/nyu-slurm-burst-guide/</link><pubDate>Fri, 11 Nov 2022 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2022/nyu-slurm-burst-guide/</guid><description>&lt;p&gt;Here&amp;rsquo;s a guide on how to access NYU&amp;rsquo;s burst cluster for graduate courses. I created this guide for
the Fall 2022 edition of the Computer Vision course, but a lot of this should still be applicable
for other courses. Please feel free to adapt this to your use case. Further readings can be found
towards the end of this post.&lt;/p&gt;
&lt;h1 id="cluster-configuration"&gt;Cluster Configuration&lt;/h1&gt;
&lt;hr&gt;
&lt;p&gt;Different nodes in the NYU cluster are connected in the following manner. You will access everything
through SSH. This schematic should be helpful in understanding the rest of this guide.&lt;/p&gt;</description></item><item><title>My first ML Conference</title><link>https://nikhilweee.me/blog/2022/my-first-ml-conference/</link><pubDate>Sat, 23 Jul 2022 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2022/my-first-ml-conference/</guid><description>&lt;p&gt;I&amp;rsquo;m excited to attend ICML 2022! Unfortunately I&amp;rsquo;m not presenting this year (hopefully in the
future), but since Baltimore is just 3 hours away from New York I thought I&amp;rsquo;d give it a shot. The
student registration fees this year was $400, but I took advantage of the student volunteer
programme which reimburses the registration fees if you agree to volunteer during the conference. I
think it&amp;rsquo;s a great deal to save on some costs!&lt;/p&gt;</description></item><item><title>House hunting in New York City</title><link>https://nikhilweee.me/blog/2022/nyc-house-hunt/</link><pubDate>Fri, 15 Jul 2022 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2022/nyc-house-hunt/</guid><description>&lt;p&gt;Finding a house in the most populated city in the US is no easy feat. Imagine doing that at a time
when property prices are soaring, and it gets even worse. I had the &lt;em&gt;pleasure&lt;/em&gt; of searching for a
room in New York with an upper limit of $1500 at a time when the market was recovering back from
super cheap COVID discounts. This post is a glimpse of what I learnt from my house hunting
experience in the Summer of &amp;lsquo;22.&lt;/p&gt;</description></item><item><title>A Walkthrough of Isaac Gym</title><link>https://nikhilweee.me/blog/2022/isaac-gym-walkthrough/</link><pubDate>Mon, 06 Jun 2022 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2022/isaac-gym-walkthrough/</guid><description>&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Training a policy using deep reinforcement learning consists of an agent interacting with the
environment in a continuous loop. In practise, the agent is often modelled by deep networks that can
take advantage of GPU parallelization, but the environment is still modelled by simulators that rely
on the CPU. While the poor sample efficiency of RL algorithms remains a huge bottleneck, a
significant amount of time is also spent on moving tensors from the CPU to the GPU, not to forget
the additional delays caused by the lack of parallelism in CPU based simulation.&lt;/p&gt;</description></item><item><title>Speeding-up Slurm Workflows</title><link>https://nikhilweee.me/blog/2022/nyu-slurm-hpc-tips/</link><pubDate>Sun, 13 Feb 2022 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2022/nyu-slurm-hpc-tips/</guid><description>&lt;p&gt;Although NYU already a dedicated &lt;a href="https://sites.google.com/nyu.edu/nyu-hpc"&gt;website&lt;/a&gt; with all the
documentation to get started with the HPC cluster, here&amp;rsquo;s a set of tricks that I use to ease up the
workflow by a significant amount. Even if you&amp;rsquo;re not affiliated with NYU, I believe you&amp;rsquo;d still be
able to benefit from this post if your organization uses
&lt;a href="https://en.wikipedia.org/wiki/Slurm_Workload_Manager"&gt;Slurm&lt;/a&gt;.&lt;/p&gt;
&lt;h1 id="getting-started"&gt;Getting Started&lt;/h1&gt;
&lt;hr&gt;
&lt;p&gt;Here&amp;rsquo;s something that I recommend doing for any remote server that you&amp;rsquo;ll access frequently.&lt;/p&gt;</description></item><item><title>A Yucatecan Foodtrip</title><link>https://nikhilweee.me/blog/2022/mexico-yucatecan-foodtrip/</link><pubDate>Mon, 10 Jan 2022 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2022/mexico-yucatecan-foodtrip/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Disclaimer: All recommendations made in the blog are solely based on personal experiences. There are no affiliate links, and most of them will anyway take you to Google Maps.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/in/shavaka/"&gt;Shavak&lt;/a&gt; and I had been planning to meet all winter. It was turning out to be difficult because he was working out of Vancouver and I was studying in New York. Neither of us had visas to the other country. A week before the New Year, he calls me up. &amp;ldquo;Bro, let&amp;rsquo;s go to Mexico!?&amp;rdquo; he said.&lt;/p&gt;</description></item><item><title>Adversarial Attacks on RL Agents</title><link>https://nikhilweee.me/blog/2021/adversarial-attacks-deep-rl/</link><pubDate>Sat, 18 Dec 2021 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2021/adversarial-attacks-deep-rl/</guid><description>&lt;blockquote&gt;
&lt;p&gt;This post a write up for the final project as part of NYU&amp;rsquo;s graduate course on Deep Reinforcement Learning. The project was the result of a collaboration with &lt;a href="https://in.linkedin.com/in/advika-sumana-reddy"&gt;Advika Reddy&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="abstract"&gt;Abstract&lt;/h1&gt;
&lt;hr&gt;
&lt;p&gt;Prior work 


 has shown that deep RL policies are vulnerable to small adversarial perturbations to their observations, similar to adversarial examples 


 in image classifiers. Such adversarial models assume that the attacker can directly modify the victim’s observation. However, such attacks are not practical in the real world. In contrast, we look at attacks via adversarial policy designed specifically for the two-agent zero-sum environments. The goal of the attacker is to fail a well-trained agent in the game by manipulating the opponent’s behavior. Specifically, we explore the attacks using an adversarial policy in low-dimensional environments.&lt;/p&gt;</description></item><item><title>Building your first RNN</title><link>https://nikhilweee.me/blog/2018/first-rnn-pytorch/</link><pubDate>Thu, 24 May 2018 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2018/first-rnn-pytorch/</guid><description>&lt;p&gt;If you have some understanding of recurrent networks, want to get your hands dirty, but haven&amp;rsquo;t really tried to do that on your own, then you are certainly at the right place. This tutorial is a practical guide about getting started with recurrent networks using PyTorch. We&amp;rsquo;ll solve a simple cipher using PyTorch 0.4.0, which is the latest version at the time of this writing.&lt;/p&gt;
&lt;p&gt;You are only expected to have some understanding of recurrent networks. If you don&amp;rsquo;t, here&amp;rsquo;s the link to the &lt;a href="http://colah.github.io/posts/2015-08-Understanding-LSTMs/"&gt;golden resource&lt;/a&gt; - Chris Olah&amp;rsquo;s post on Understanding LSTMs. We&amp;rsquo;ll use a single layer LSTM for the task of learning ciphers, which should be a fairly easy exercise.&lt;/p&gt;</description></item><item><title>The Triund Trek</title><link>https://nikhilweee.me/blog/2016/triund/</link><pubDate>Sun, 18 Dec 2016 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2016/triund/</guid><description>&lt;h1 id="prologue"&gt;Prologue&lt;/h1&gt;
&lt;p&gt;It was early December and for most BITSians this was the &lt;em&gt;compre&lt;/em&gt;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; season. For me though, it is usually at this time of the year when weird ideas surface off. They did, this time too. Me and my friend Sameer were long planning to visit McLeodGanj in search of snow, and this was it. This was the long awaited break.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://i.imgur.com/j5GcL6G.jpg"
 alt="Dawn from Triund Hill"&gt;&lt;figcaption&gt;
 &lt;p&gt;Dawn from Triund Hill&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;My previous experiences warned me from planning a trip long before its schedule. No planning until two weeks to liftoff, the bro code said, and I respected the bro. Well, sort of. I couldn&amp;rsquo;t control the excitement either, so I started planning exactly two weeks before. Later I realised, there actually wasn&amp;rsquo;t much to plan. Just a brief timeline, a budget and a backpack. That&amp;rsquo;s it! I was all set!&lt;/p&gt;</description></item><item><title>Shadowsocks</title><link>https://nikhilweee.me/blog/2016/shadowsocks/</link><pubDate>Mon, 12 Sep 2016 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2016/shadowsocks/</guid><description>&lt;p&gt;&lt;a href="https://shadowsocks.org/"&gt;Shadowsocks&lt;/a&gt;! Sounds like the new superhero after &lt;em&gt;Deadpool&lt;/em&gt;. Well, in a
way it &lt;em&gt;is&lt;/em&gt; a superhero! It let&amp;rsquo;s you bypass censorship, even the GFW! &lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; Okay, so what&amp;rsquo;s this
fuss about? Before going further, I think it needs some introduction.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Shadowsocks is a SOCKS5 compatible proxy server/client suite which excels at being undetectable.
It leaves no fingerprint even when you use deep packet inspection. &lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Whoa! Wait, What does that mean? In simple terms, this means that shadowsocks lets you access
blocked resources and is hard to detect by even the best firewalls.&lt;/p&gt;</description></item><item><title>Persistent Mounts</title><link>https://nikhilweee.me/blog/2016/persistent-mounts/</link><pubDate>Thu, 11 Aug 2016 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2016/persistent-mounts/</guid><description>&lt;p&gt;After installing your linux distro, though you&amp;rsquo;ll be able to access your Windows/NTFS partitions
easily, things can get annoying sometimes with you having to mount the partition manually everytime.
Here I describe how to get away with this mess by automatically mounting partitions on boot.&lt;/p&gt;
&lt;p&gt;You could also do the same from Unity using the &lt;strong&gt;Disks&lt;/strong&gt; utility, but here I describe the so called
&lt;em&gt;hard&lt;/em&gt; way. The way we do it is by editing the &lt;code&gt;/etc/fstab&lt;/code&gt; file. This file gets executed everytime
you boot up your system. We just instruct this file to also mount our desired partitions apart from
what it normally does.&lt;/p&gt;</description></item><item><title>Shout IRC!</title><link>https://nikhilweee.me/blog/2016/shout-irc/</link><pubDate>Thu, 28 Jan 2016 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2016/shout-irc/</guid><description>&lt;p&gt;If you&amp;rsquo;re reading this, there are high chances that you are under internet surveillance and your IT
admin has blocked access to IRC. God! Why do they do this? IRC isn&amp;rsquo;t bad at all, you may argue. But
unfortunately there&amp;rsquo;s no one to listen. Hush. You&amp;rsquo;ll have to find a way out, and here&amp;rsquo;s exactly how
you can do it!&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll be using one of the many benefits of
&lt;a href="https://www.digitalocean.com/?refcode=ad1b7e083b2e"&gt;having your own server&lt;/a&gt; in the cloud. Sure it
costs you, but $5 a month won&amp;rsquo;t hurt your pockets! Added to this, the open source community is just
awesome! It has tools for almost all your needs. Yes, it can help you get over IRC, and this blog is
one of their many freebies. Thank you Open Source!&lt;/p&gt;</description></item><item><title>Set up a Ghost blog</title><link>https://nikhilweee.me/blog/2016/setup-ghost-blog/</link><pubDate>Fri, 08 Jan 2016 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2016/setup-ghost-blog/</guid><description>&lt;blockquote&gt;
&lt;p&gt;This is &lt;em&gt;not&lt;/em&gt; an in-depth tutorial for a total newbie. That would call for a really long post.
Though I&amp;rsquo;ve given one-liners explaining each command, It would be better if you had some
experience working with the linux terminal and a basic understanding of how web content is served.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="things-youll-need"&gt;Things you&amp;rsquo;ll need&lt;/h1&gt;
&lt;p&gt;Just the two of them will do.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A &lt;strong&gt;Server&lt;/strong&gt; : This is where your site contents will be stored. It&amp;rsquo;s just an internet connected
computer that&amp;rsquo;ll stay awake 24x7 for your blog and will serve users with your blog as and when
asked to so.&lt;/p&gt;</description></item><item><title>Sticky Notes</title><link>https://nikhilweee.me/blog/2016/sticky-notes/</link><pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/blog/2016/sticky-notes/</guid><description>&lt;p&gt;This page hosts little ideas, solutions to problems I&amp;rsquo;ve faced in the past or mistakes that I don&amp;rsquo;t
want to repeat again - stored here as a reference in case they bother me again. Read on, maybe even
you might find something relevant!&lt;/p&gt;
&lt;h1 id="some-useful-aliases"&gt;Some useful aliases&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Timesync!&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; &lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;timesync&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;sudo /etc/cron.daily/timesync&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# /etc/cron.daily/timesync&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo date -s &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;wget -qSO- --max-redirect&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt; google.com &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 2&amp;gt;&lt;span class="p"&gt;&amp;amp;&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep Date: &lt;span class="p"&gt;|&lt;/span&gt; cut -d&lt;span class="s1"&gt;&amp;#39; &amp;#39;&lt;/span&gt; -f5-8&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;Z&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Short for activating virtual environments&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; &lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;sv&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;source venv/bin/activate; export PS1=&amp;#34;(${PWD##*/}-venv)$_OLD_VIRTUAL_PS1&amp;#34;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;I use these all the time&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; &lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;log&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;tail -f /var/log/syslog&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; &lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;nmr&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;sudo service network-manager restart; sudo service networking restart; log&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Show folder sizes in descending order&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; &lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;duinfo&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;sudo du --all --block-size=MB --max-depth=1 | sort -n&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;I always forget the color scheme of my terminal. It&amp;rsquo;s &lt;code&gt;base16_isotope&lt;/code&gt;. Oh!
&lt;a href="https://chriskempson.github.io/base16/"&gt;base16&lt;/a&gt;!&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="docker-and-dc"&gt;Docker and DC++&lt;/h1&gt;
&lt;p&gt;Docker and DC++ don&amp;rsquo;t go hand in hand. Docker creates &lt;code&gt;iptables&lt;/code&gt; routes for private ip addresses
like 172.17.x.x and DC++ uses the same. You may keep on getting &lt;em&gt;No route to host&lt;/em&gt; when you try to
connect to a hub, which is really annoying! &lt;a href="https://github.com/kamermans"&gt;@kamermans&lt;/a&gt; has a gist
&lt;a href="https://gist.github.com/kamermans/94b1c41086de0204750b"&gt;here&lt;/a&gt; that helped me out.&lt;/p&gt;</description></item><item><title>Calendar</title><link>https://nikhilweee.me/calendar/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/calendar/</guid><description>&lt;h1 id="calendar"&gt;Calendar&lt;/h1&gt;
&lt;hr&gt;
&lt;p&gt;In case you want to talk, feel free to &lt;a href="mailto:nikhilweee@gmail.com"&gt;email&lt;/a&gt; me with your preferred time and I&amp;rsquo;ll get back to you.&lt;/p&gt;


&lt;div style="aspect-ratio: 1/1.414"&gt;
 &lt;iframe src="https://calendar.google.com/calendar/embed?wkst=1&amp;bgcolor=%23ffffff&amp;ctz=America%2FNew_York&amp;showTitle=1&amp;showNav=1&amp;showDate=1&amp;showTabs=1&amp;showCalendars=0&amp;showTz=1&amp;title=Nikhil's%20Calendar&amp;mode=WEEK&amp;src=bmlraGlsd2VlZUBnbWFpbC5jb20&amp;src=bnYyMDk5QG55dS5lZHU&amp;src=Y19ob2luOWJjNjlmamQwNzJhOHZlbHRyNXNkY0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t&amp;color=%238E24AA&amp;color=%23039BE5&amp;color=%238E24AA" style="border-width:0" width="100%" height="100%" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;script&gt;
 var width = document.documentElement.clientWidth;
 var iframe = document.querySelector("div&gt;iframe");
 var url = new URL(iframe.src);
 if (width &lt; 800) {
 url.searchParams.set('showDate', 0);
 iframe.src = url.toString();
 }
&lt;/script&gt;</description></item><item><title>Projects</title><link>https://nikhilweee.me/projects/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/projects/</guid><description>&lt;h1 id="current-projects"&gt;Current Projects&lt;/h1&gt;
&lt;hr&gt;
&lt;p&gt;
&lt;span style="float: right; padding: 0 0 0 0.5em"&gt;&lt;em&gt;New York University&lt;/em&gt;&lt;/span&gt;

&lt;strong&gt;Incremental Skill Discovery for RL Agents&lt;/strong&gt;&lt;br&gt;
I&amp;rsquo;m working in the CILVR Lab with Prof. &lt;a href="https://www.lerrelpinto.com/"&gt;Lerrel Pinto&lt;/a&gt; on expanding 


&amp;rsquo;s incremental skill discovery framework to manipulation environments like &lt;a href="http://wiki.ros.org/Robots/AllegroHand"&gt;AllegroHand&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
&lt;span style="float: right; padding: 0 0 0 0.5em"&gt;&lt;em&gt;New York University&lt;/em&gt;&lt;/span&gt;

&lt;strong&gt;Speech Recognition for Mandarin Conversations&lt;/strong&gt;&lt;br&gt;
I&amp;rsquo;m working with Prof. &lt;a href="https://sites.google.com/nyu.edu/picheny-nyu"&gt;Michael Picheny&lt;/a&gt; on DARPA&amp;rsquo;s &lt;a href="https://www.darpa.mil/news-events/2021-05-03a"&gt;CCU Program&lt;/a&gt; to improve speech recognition systems for conversational Mandarin, primarily on the AISHELL4 dataset 


.&lt;/p&gt;</description></item><item><title>Resume</title><link>https://nikhilweee.me/resume/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>nikhilweee@gmail.com (Nikhil Verma)</author><guid>https://nikhilweee.me/resume/</guid><description>&lt;h1 id="resume"&gt;Resume&lt;/h1&gt;
&lt;hr&gt;
&lt;p&gt;Here&amp;rsquo;s my resume. You can &lt;a href="https://drive.google.com/file/d/1zblqFeTflK1ksWdyUZv665Joi95hLQdB/view"&gt;expand&lt;/a&gt; it for better readability, or &lt;a href="https://drive.google.com/uc?id=1zblqFeTflK1ksWdyUZv665Joi95hLQdB&amp;amp;export=download"&gt;download it as a PDF&lt;/a&gt; if you please.&lt;/p&gt;


&lt;div style="aspect-ratio: 1/1.414"&gt;
 &lt;iframe src="https://drive.google.com/file/d/1zblqFeTflK1ksWdyUZv665Joi95hLQdB/preview" width="100%" height="100%" style="border-width:0"&gt;
 &lt;p&gt;It appears you don't have a PDF plugin for this browser. No biggie... you can &lt;a href="https://drive.google.com/uc?id=1zblqFeTflK1ksWdyUZv665Joi95hLQdB&amp;export=download" target="_blank"&gt;click here to download the PDF file.&lt;/a&gt;&lt;/p&gt;
 &lt;/iframe&gt;
&lt;/div&gt;</description></item></channel></rss>