<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on Amit Kohli</title><link>https://www.amitkohli.com/blog/</link><description>Recent content in Blog on Amit Kohli</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Amit Kohli</copyright><lastBuildDate>Thu, 08 Aug 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://www.amitkohli.com/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Match the feeling, not the question</title><link>https://www.amitkohli.com/blog/match-the-feeling-not-the-question/</link><pubDate>Thu, 08 Aug 2024 00:00:00 +0000</pubDate><guid>https://www.amitkohli.com/blog/match-the-feeling-not-the-question/</guid><description>&lt;p&gt;I had an interesting conversation with my sister that I thought would be of interest here. Full disclosure, this post illustrates a neurodivergent thought correction, so it might read weird. But oh well.&lt;/p&gt;</description></item><item><title>SDG Direction Estimation</title><link>https://www.amitkohli.com/blog/sdg-direction-estimation/</link><pubDate>Sun, 30 Jul 2023 00:00:00 +0000</pubDate><guid>https://www.amitkohli.com/blog/sdg-direction-estimation/</guid><description/></item><item><title>an R-user's guide to Python for data science</title><link>https://www.amitkohli.com/blog/an-r-user-s-guide-to-python-for-data-science/</link><pubDate>Wed, 15 Mar 2023 00:00:00 +0000</pubDate><guid>https://www.amitkohli.com/blog/an-r-user-s-guide-to-python-for-data-science/</guid><description>&lt;p&gt;R is for sure the best data science language period. That being said, Python is more popular&amp;hellip; I suspect it&amp;rsquo;s a priors thing (i.e. there are just a ton of Python users doing all sorts of stuff, which makes it more likely that companies will choose Python as their &lt;em&gt;de facto&lt;/em&gt; language). I will also go on the record and say that Python&amp;rsquo;s NLP game is better than R&amp;rsquo;s.&lt;/p&gt;</description></item><item><title>10 reasons why Random Forest is the only algorithm you will need</title><link>https://www.amitkohli.com/blog/10-reasons-why-random-forest-is-the-only-algorithm-you-will-need/</link><pubDate>Wed, 19 Oct 2022 00:00:00 +0000</pubDate><guid>https://www.amitkohli.com/blog/10-reasons-why-random-forest-is-the-only-algorithm-you-will-need/</guid><description>&lt;p&gt;Quick disclaimer, Random Forests, or RF, don&amp;rsquo;t solve all problems. If you want to identify cats in an image, or do text stuff like figure out what political candidate mentioned &amp;ldquo;pudding&amp;rdquo; more often, or reinforcement learning, RFs can&amp;rsquo;t help you. But for regression or classification tasks with numerical data, RFs are the best tool around.&lt;/p&gt;</description></item><item><title>How are SDG Indicators interconnected?</title><link>https://www.amitkohli.com/blog/how-are-sdgs-interconnected/</link><pubDate>Wed, 20 Jul 2022 00:00:00 +0000</pubDate><guid>https://www.amitkohli.com/blog/how-are-sdgs-interconnected/</guid><description>&lt;p&gt;&lt;em&gt;This post is an interactive R Markdown document. &lt;a href="https://www.amitkohli.com/blog/" &gt;View the full post with interactive network&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Interactive COVID map by LSOA</title><link>https://www.amitkohli.com/blog/interactive-covid-map-by-lsoa/</link><pubDate>Sun, 08 Nov 2020 00:00:00 +0000</pubDate><guid>https://www.amitkohli.com/blog/interactive-covid-map-by-lsoa/</guid><description>&lt;p&gt;Across the world, the COVID 19 pandemic has illustrated how important it is for governments to have the ability to gather, action, and disseminate new case data as close to real time as possible. Luckily in the UK, there is a reasonably good flow of information about new cases. The government has released an &lt;a href="https://coronavirus.data.gov.uk/details/interactive-map" target="_blank" rel="noreferrer"&gt;interactive map&lt;/a&gt; of cases, and they do keep it up to date. This map uses the Middle Super Output Area (MSOA) level of granularity (i.e. not SUUUUPER detailed, but a good place to start), and shows the total number of cases to date. This methodology is really excellent as a first step, but has two important drawbacks:&lt;/p&gt;</description></item><item><title>Introducing CarbonFootprintR, the cool way to figure out the carbon footprint of your in-person event</title><link>https://www.amitkohli.com/blog/introducing-carbonfootprintr-the-cool-way-to-figure-out-the-carbon-footprint-of-your-in-person-event/</link><pubDate>Fri, 31 Jul 2020 00:00:00 +0000</pubDate><guid>https://www.amitkohli.com/blog/introducing-carbonfootprintr-the-cool-way-to-figure-out-the-carbon-footprint-of-your-in-person-event/</guid><description>&lt;p&gt;&lt;em&gt;This post is an interactive R Markdown document. &lt;a href="https://www.amitkohli.com/blog/" &gt;View the full post&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>How to create an R package, easy mode</title><link>https://www.amitkohli.com/blog/how-to-create-an-r-package-easy-mode/</link><pubDate>Tue, 07 Jan 2020 00:00:00 +0000</pubDate><guid>https://www.amitkohli.com/blog/how-to-create-an-r-package-easy-mode/</guid><description>&lt;p&gt;Creating an R package can be a daunting task, but there are several tools to facilitate this process immensely. Of course, each approach has a series of advantages and drawbacks, so it is very much a subjective thing. Since I have changed my mind and worked on this task frequently, here&amp;rsquo;s a conclusive* guide of the steps I follow. (* This guide will never be finished, so watch this space, I&amp;rsquo;ll be coming back to make edits as they seem appropriate).&lt;/p&gt;</description></item><item><title>Problems with data</title><link>https://www.amitkohli.com/blog/problems-with-data/</link><pubDate>Tue, 07 Jan 2020 00:00:00 +0000</pubDate><guid>https://www.amitkohli.com/blog/problems-with-data/</guid><description>&lt;ul&gt;
&lt;li&gt;Feature leaking - When you have a dataset that gathers data over a period of time, the feature importance might change, making the model a bit weaker.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Plot shapes for 100000 movies using new package thePlotThickens</title><link>https://www.amitkohli.com/blog/plot-shapes-for-100000-movies-using-new-package-theplotthickens/</link><pubDate>Fri, 08 Mar 2019 00:00:00 +0000</pubDate><guid>https://www.amitkohli.com/blog/plot-shapes-for-100000-movies-using-new-package-theplotthickens/</guid><description>&lt;p&gt;&lt;em&gt;This post is an interactive R Markdown document. &lt;a href="https://www.amitkohli.com/blog/" &gt;View the full post&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Is there more violent crime in my hood than in the rest of London?</title><link>https://www.amitkohli.com/blog/crime-statistics-in-london/</link><pubDate>Sun, 23 Sep 2018 00:00:00 +0000</pubDate><guid>https://www.amitkohli.com/blog/crime-statistics-in-london/</guid><description>&lt;p&gt;&lt;em&gt;This post is an interactive R Markdown document. &lt;a href="https://www.amitkohli.com/blog/" &gt;View the full post with interactive charts&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Introducing the Monitoring and Evaluation Bullet Chart</title><link>https://www.amitkohli.com/introducing-the-monitoring-and-evaluation-bullet-chart/</link><pubDate>Fri, 16 Mar 2018 10:27:20 +0000</pubDate><guid>https://www.amitkohli.com/introducing-the-monitoring-and-evaluation-bullet-chart/</guid><description>&lt;p&gt;&lt;em&gt;Cross-posted from: &lt;a href="http://www.acdivoca.org/2018/03/introducing-the-monitoring-and-evaluation-bullet-chart/" target="_blank" rel="noreferrer"&gt;http://www.acdivoca.org/2018/03/introducing-the-monitoring-and-evaluation-bullet-chart/&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;This edition of Data Digest is for the monitoring and evaluation** **(M&amp;amp;E) people out there, or monitoring, evaluation, and learning (MEL), monitoring, evaluation, research, and learning (MERL), or whatever else the cool kids are calling themselves these days! This post will focus on M&amp;amp;E deliverables, which are called &lt;strong&gt;indicators&lt;/strong&gt;. But it will also come in handy for anyone who depends on key performance indicators (KPIs) or needs to track progress against a target.&lt;/p&gt;</description></item><item><title>Setting up twitter streamR Service on an Ubuntu server</title><link>https://www.amitkohli.com/setting-up-twitter-streamr-service-on-an-ubuntu-server/</link><pubDate>Tue, 07 Nov 2017 15:56:06 +0000</pubDate><guid>https://www.amitkohli.com/setting-up-twitter-streamr-service-on-an-ubuntu-server/</guid><description>&lt;p&gt;I am working on a &lt;strong&gt;super-secret&lt;/strong&gt; project for which I am harvesting a highly confidential source of data: twitter ≡ƒÖé The idea is to gather a small amount of twitter data, but for a long time&amp;hellip; maybe a year. I tried to use the package &lt;a href="https://cran.r-project.org/web/packages/twitteR/index.html" target="_blank" rel="noreferrer"&gt;TwitteR&lt;/a&gt;, but it can only grab up to a week of tweets&amp;hellip; it&amp;rsquo;s not really good for a set-it-and-forget-it ongoing capture since it requires user-based authentication, which means (I guess) that a machine can&amp;rsquo;t authenticate for it. Tangibly this means a human needs to start the process every time. So I could run the script weekly, but of course there&amp;rsquo;s days you miss, or run at different times&amp;hellip; plus it&amp;rsquo;s just plain annoying&amp;hellip;&lt;/p&gt;</description></item><item><title>Announcing ShinyTester - a package that helps you build Shiny apps</title><link>https://www.amitkohli.com/announcing-shinytester-a-package-that-helps-you-build-shiny-apps/</link><pubDate>Wed, 01 Feb 2017 17:16:57 +0000</pubDate><guid>https://www.amitkohli.com/announcing-shinytester-a-package-that-helps-you-build-shiny-apps/</guid><description>&lt;p&gt;Shiny is awesome, but can be a bit daunting and easy to make mistakes in. I recently came back to Shiny after a hiatus of a few years and it was much more challenging than I feel comfortable admitting. I was making bonehead mistakes like writing &lt;code&gt;something&lt;/code&gt; instead of &lt;code&gt;output$something&lt;/code&gt;, confusing where to put &lt;code&gt;Output&lt;/code&gt; commands vs &lt;code&gt;Render&lt;/code&gt; commands, etc. I would eventually find my mistake, curse myself and move on with a crumpled ego. Then I had the realization that maybe if I was a beginner, I wouldn&amp;rsquo;t even know what I was doing wrong. Thusly did I conclude that I was in a unique position to help out the R community: Dumb enough to make mistakes, but experienced enough to eventually remember how to resolve them. So naturally, I wrote an R package that tests the code of the Shiny app itself.&lt;/p&gt;</description></item><item><title>Pop quiz! What is this chart saying?</title><link>https://www.amitkohli.com/pop-quiz-what-is-this-chart-saying/</link><pubDate>Wed, 09 Nov 2016 01:06:19 +0000</pubDate><guid>https://www.amitkohli.com/pop-quiz-what-is-this-chart-saying/</guid><description>&lt;p&gt;I have been reading more and more about how people can&amp;rsquo;t interpret charts&amp;hellip; which kinda never occurred to me, if I&amp;rsquo;m gonna be very honest. Anyway, it kind of made me think of actually testing people informally, to see for myself. So I&amp;rsquo;ve been doing just that: showing colleagues, friends, etc a chart that we created interactively during the &lt;a href="http://datascience-africa.org/2016/05/first-accra-r-user-meetup-success/" target="_blank" rel="noreferrer"&gt;first Accra R-Users session&lt;/a&gt; with tons of detail, and asking them to analyze it at length. The results have been staggering! I&amp;rsquo;m still trying to generalize my conclusions, but thought it would be fun to open up this test to the community, so here it goes! If you feel like sharing, post your observations in the comments section.&lt;/p&gt;</description></item><item><title>Heart-shaped wordcloud, celebrating Colombia peace treaty</title><link>https://www.amitkohli.com/heart-shaped-wordcloud-celebrating-colombia-peace-treaty/</link><pubDate>Tue, 27 Sep 2016 03:53:07 +0000</pubDate><guid>https://www.amitkohli.com/heart-shaped-wordcloud-celebrating-colombia-peace-treaty/</guid><description>&lt;p&gt;This is a lightening quick post just providing the script to draw a heart-shaped wordcloud, using the awesome &lt;a href="https://github.com/lchiffon/wordcloud2" target="_blank" rel="noreferrer"&gt;This is a lightening quick post just providing the script to draw a heart-shaped wordcloud, using the awesome&lt;/a&gt; package. See the resulting image here:&lt;/p&gt;</description></item><item><title>Track your local R scheduled tasks with CommandCenter2000!!!</title><link>https://www.amitkohli.com/track-your-local-r-scheduled-tasks-with-commandcenter2000/</link><pubDate>Sun, 29 May 2016 17:32:02 +0000</pubDate><guid>https://www.amitkohli.com/track-your-local-r-scheduled-tasks-with-commandcenter2000/</guid><description>&lt;p&gt;There are many ways to automate your scripts running, for example using RScript, or &lt;a href="http://www.r-bloggers.com/taskscheduler-r-package-to-schedule-r-scripts-with-the-windows-task-manager/?utm_source=feedburner&amp;amp;utm_medium=email&amp;amp;utm_campaign=Feed%3A&amp;#43;RBloggers&amp;#43;%28R&amp;#43;bloggers%29" target="_blank" rel="noreferrer"&gt;in-R itself&lt;/a&gt; (and now even as an &lt;a href="http://www.bnosac.be/index.php/blog/57-new-rstudio-add-in-to-schedule-r-scripts" target="_blank" rel="noreferrer"&gt;add-in&lt;/a&gt; for RStudio) (&lt;a href="http://www.r-bloggers.com/?s=schedule" target="_blank" rel="noreferrer"&gt;check all here&lt;/a&gt;). But after a while, it can get a bit overwhelming to track tasks and ensure they are firing as planned. In order to address this, I have developed some futuristic advanced tech that lets us do that. I hereby present to you: the CommandCenter2000!!! Yes, it&amp;rsquo;s Y2K compliant! This is what it looks like:&lt;/p&gt;</description></item><item><title>I'm leading the Accra R-User Meetups!</title><link>https://www.amitkohli.com/im-leading-the-accra-r-user-meetups/</link><pubDate>Tue, 24 May 2016 20:06:27 +0000</pubDate><guid>https://www.amitkohli.com/im-leading-the-accra-r-user-meetups/</guid><description>&lt;p&gt;I am not sure how, but I found &lt;a href="http://datascience-africa.org/" target="_blank" rel="noreferrer"&gt;Data Science Africa&lt;/a&gt;, whose mission it is to promote data science in Africa. For now, they are limited to organizing and running meetups across Africa, mostly focused on R, although there are higher albeit more ambitious targets. Anyway, since I&amp;rsquo;m in Accra, I contacted them to see if I could help in any way, and biz, baz, boom&amp;hellip; I&amp;rsquo;m now leading the Accra R-Community! The community consists of 300+ interested people (another guy set started the meetup and it&amp;rsquo;s been gathering users sans local leadership) with varying levels of ability in R. To learn more about our meetup and our activities, please check:&lt;a href="http://www.meetup.com/Accra-R-Users-Group/" target="_blank" rel="noreferrer"&gt; http://www.meetup.com/Accra-R-Users-Group/ &lt;/a&gt;&lt;/p&gt;</description></item><item><title>Make dashboard Tiles/Notecards in R</title><link>https://www.amitkohli.com/make-dashboard-tilesnotecards-in-r/</link><pubDate>Thu, 25 Feb 2016 19:47:39 +0000</pubDate><guid>https://www.amitkohli.com/make-dashboard-tilesnotecards-in-r/</guid><description>&lt;h1 class="relative group"&gt;Update!!
 &lt;div id="update" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#update" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;Due to the popularity of this script, I released it as a package. To install it, use:&lt;/em&gt;&lt;/p&gt;</description></item><item><title>KPI dashboard in R with animated icons</title><link>https://www.amitkohli.com/kpi-dashboard-in-r-with-animated-icons/</link><pubDate>Fri, 12 Feb 2016 10:08:04 +0000</pubDate><guid>https://www.amitkohli.com/kpi-dashboard-in-r-with-animated-icons/</guid><description>&lt;p&gt;So Key Performance Indicators (KPIs) are all the rage in the dashboarding community&amp;hellip; well &lt;a href="https://www.google.com.gh/search?q=KPI&amp;#43;dashboard&amp;amp;prmd=ivns&amp;amp;tbm=isch&amp;amp;tbo=u&amp;amp;source=univ&amp;amp;sa=X&amp;amp;ved=0ahUKEwiR_aygzOvKAhWCcRQKHdNjB-MQsAQICg&amp;amp;biw=1278&amp;amp;bih=683&amp;amp;dpr=1&amp;amp;gws_rd=ssl" target="_blank" rel="noreferrer"&gt;So Key Performance Indicators (KPIs) are all the rage in the dashboarding community&amp;hellip; well&lt;/a&gt; really. The premise is simple&amp;hellip; check a list of measurements against targets and show how they compare using some kind of visualization. I haven&amp;rsquo;t yet seen, however, a version that can utilize animated icons to display indicators that REALLY need attention. So here you go, a tutorial on how to make your very own animated icon KPI, using the googleVis library.&lt;/p&gt;</description></item><item><title>I'm proudly featured on r-bloggers!</title><link>https://www.amitkohli.com/im-proudly-featured-on-r-bloggers/</link><pubDate>Fri, 05 Feb 2016 00:10:08 +0000</pubDate><guid>https://www.amitkohli.com/im-proudly-featured-on-r-bloggers/</guid><description>&lt;p&gt;&lt;a href="https://i1.wp.com/amitkohli.com/wp-content/uploads/2016/02/image.png" rel="attachment wp-att-551"&gt;&lt;img class="alignnone size-full wp-image-551" src="https://i1.wp.com/amitkohli.com/wp-content/uploads/2016/02/image.png?resize=290%2C90" alt="image" width="290" height="90" data-recalc-dims="1" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I am proud to announce that with a little bit of encouraging from friends, I submitted my blog for inclusion in the prestigious r-bloggers and it was accepted!&lt;/p&gt;</description></item><item><title>R Tagosphere!</title><link>https://www.amitkohli.com/r-tagosphere/</link><pubDate>Sun, 31 Jan 2016 17:41:10 +0000</pubDate><guid>https://www.amitkohli.com/r-tagosphere/</guid><description>&lt;p&gt;This post explores the inter-relationships of StackOverflow Tags for R-related questions. So I grabbed all the questions tagged with &amp;ldquo;r&amp;rdquo;, took the other tags in each question and made some network charts that show how often each tag is seen with the other tags. The point is to see the empirical relationships that develop as people organically describe their problems with R. &lt;a href="https://github.com/datastrategist/StackOverflow-tag-Network-R" target="_blank" rel="noreferrer"&gt;Full analysis on GitHub&lt;/a&gt;, as always.&lt;/p&gt;</description></item><item><title>Who is it hard to shop for?</title><link>https://www.amitkohli.com/who-is-it-hard-to-shop-for/</link><pubDate>Fri, 04 Dec 2015 19:57:57 +0000</pubDate><guid>https://www.amitkohli.com/who-is-it-hard-to-shop-for/</guid><description>&lt;p&gt;So people look up what to buy for mom most, wife second, husband third, and finally poor dad last&amp;hellip;&lt;/p&gt;
&lt;p&gt;Notice that the peaks are always around christmas, then at valentines day, then mothers day and finally fathers day. Stop buying stuff yall!&lt;/p&gt;</description></item><item><title>10 things you didn't know about taxi costs in Accra</title><link>https://www.amitkohli.com/10-things-you-didnt-know-about-taxi-costs-in-accra/</link><pubDate>Mon, 16 Nov 2015 16:46:47 +0000</pubDate><guid>https://www.amitkohli.com/10-things-you-didnt-know-about-taxi-costs-in-accra/</guid><description>&lt;h2 style="text-align: center;"&gt;
 &amp;#8220;&amp;#8230; but I paid 10 yesterday!&amp;#8221;&lt;a href="https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/11/ghana-taxi5.jpg"&gt;&lt;img class="size-medium wp-image-467 aligncenter" src="https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/11/ghana-taxi5.jpg?resize=300%2C169" alt="ghana taxi5" width="300" height="169" srcset="https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/11/ghana-taxi5.jpg?resize=300%2C169 300w, https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/11/ghana-taxi5.jpg?w=500 500w" sizes="(max-width: 300px) 100vw, 300px" data-recalc-dims="1" /&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Having just arrived in Accra, Amit and I were trying to wrap our heads around taxi prices. We knew that we had to negotiate with the taxi driver but often the agreed-upon price kinda didn’t make sense…at all.&lt;/p&gt;</description></item><item><title>How to move ODBC DSN information from one computer to another</title><link>https://www.amitkohli.com/how-to-move-odbc-dsn-information-from-one-computer-to-another/</link><pubDate>Thu, 29 Oct 2015 19:02:49 +0000</pubDate><guid>https://www.amitkohli.com/how-to-move-odbc-dsn-information-from-one-computer-to-another/</guid><description>&lt;p&gt;YAAAAAAAAY!!!! I got a new computer!!&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/10/Data-transfer.jpg"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Oh crap how do I move the DSN connections that I made on this computer?? This is how (assuming you’re on windows)! But before, we do, we have to make sure we have the right drivers… so lemme first go over the basikses my precious:&lt;/p&gt;</description></item><item><title>Clickable list of the best animations since 1900, gathered the geek way.</title><link>https://www.amitkohli.com/list-of-the-best-animations-since-1900-gathered-the-geek-way/</link><pubDate>Thu, 22 Oct 2015 13:51:20 +0000</pubDate><guid>https://www.amitkohli.com/list-of-the-best-animations-since-1900-gathered-the-geek-way/</guid><description>&lt;p&gt;&lt;a href="https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/10/images.jpg" target="_blank" rel="noreferrer"&gt;&lt;img class="alignnone wp-image-420" src="https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/10/images.jpg?resize=138%2C106" alt="images" width="138" height="106" srcset="https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/10/images.jpg?zoom=2&amp;resize=138%2C106 276w, https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/10/images.jpg?zoom=3&amp;resize=138%2C106 414w" sizes="(max-width: 138px) 100vw, 138px" data-recalc-dims="1" /&gt;&lt;/a&gt;&lt;a href="https://i2.wp.com/amitkohli.com/wp-content/uploads/2015/10/4.jpg" target="_blank" rel="noreferrer"&gt;&lt;img class="alignnone wp-image-423" src="https://i2.wp.com/amitkohli.com/wp-content/uploads/2015/10/2.jpg?resize=137%2C105" alt="2" width="137" height="105" srcset="https://i2.wp.com/amitkohli.com/wp-content/uploads/2015/10/2.jpg?zoom=2&amp;resize=137%2C105 274w, https://i2.wp.com/amitkohli.com/wp-content/uploads/2015/10/2.jpg?zoom=3&amp;resize=137%2C105 411w" sizes="(max-width: 137px) 100vw, 137px" data-recalc-dims="1" /&gt;&lt;img class="alignnone wp-image-422" src="https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/10/3.jpg?resize=139%2C104" alt="3" width="139" height="104" srcset="https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/10/3.jpg?zoom=2&amp;resize=139%2C104 278w, https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/10/3.jpg?zoom=3&amp;resize=139%2C104 417w" sizes="(max-width: 139px) 100vw, 139px" data-recalc-dims="1" /&gt;&lt;img class="alignnone wp-image-421" src="https://i2.wp.com/amitkohli.com/wp-content/uploads/2015/10/4.jpg?resize=158%2C105" alt="4" width="158" height="105" data-recalc-dims="1" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Locations for 75000 dams</title><link>https://www.amitkohli.com/locations-for-75000-dams/</link><pubDate>Tue, 20 Oct 2015 20:30:39 +0000</pubDate><guid>https://www.amitkohli.com/locations-for-75000-dams/</guid><description>&lt;p&gt;The last task I performed for &lt;a href="http://www.fao.org/nr/aquastat" target="_blank"&gt;AQUASTAT&lt;/a&gt; was to try to find the best way to estimate the anthropogenic evaporation from dams. The paper can be found &lt;a href ="http://www.fao.org/3/bc814e/bc814e.pdf"&gt;here&lt;/a&gt;, but here I provide one of the fun outputs, a map of 75000 dams!&lt;/p&gt;</description></item><item><title>Chick flicks vs action movies!</title><link>https://www.amitkohli.com/chick-flicks-vs-action-movies/</link><pubDate>Tue, 13 Oct 2015 22:41:44 +0000</pubDate><guid>https://www.amitkohli.com/chick-flicks-vs-action-movies/</guid><description>&lt;div class="repository-description"&gt;
 I co-wrote this analysis with &lt;a href="https://www.linkedin.com/pub/laure-belotti/18/12/6b3"&gt;Laure Belotti&lt;/a&gt; to identify the difference between movie scripts for chick flicks and action movies using sentiment analysis, among other stuff. Rather than creating a blog post, we made a freestanding webpage because I wanted to play around w/ bootstrap and make it pretty and stuff.
&lt;/div&gt;
&lt;div class="repository-description"&gt;
&lt;/div&gt;
&lt;div class="repository-description"&gt;
 Anyway, the analysis is here: &lt;a href="https://amitkohli.com/movieSentiments/index.html" rel="nofollow"&gt;https://amitkohli.com/movieSentiments/index.html&lt;/a&gt;
&lt;/div&gt;
&lt;div class="repository-description"&gt;
&lt;/div&gt;
&lt;div class="repository-description"&gt;
 Leave comments below!
&lt;/div&gt;</description></item><item><title>Sentiment analysis on my girlfriend's text messages</title><link>https://www.amitkohli.com/sentiment-analysis-on-my-girlfriends-text-messages/</link><pubDate>Fri, 11 Sep 2015 13:22:14 +0000</pubDate><guid>https://www.amitkohli.com/sentiment-analysis-on-my-girlfriends-text-messages/</guid><description>&lt;p&gt;When I told my friends that I wanted to give my girlfriend an infographic of us (centered around a sentimental analysis of our texts) as a gift for our first anniversary, most of them told me that was a terrible idea. Yeah&amp;hellip; well&amp;hellip; CHALLENGE ACCEPTED!! Without further ado, this is what love looks like:&lt;/p&gt;</description></item><item><title>Excel is how I do maps...</title><link>https://www.amitkohli.com/excel-is-how-i-do-maps/</link><pubDate>Wed, 08 Jul 2015 15:15:55 +0000</pubDate><guid>https://www.amitkohli.com/excel-is-how-i-do-maps/</guid><description>&lt;p&gt;Following the footsteps of &lt;a href="https://www.linkedin.com/pulse/excel-map-hack-john-nelson" target="_blank" rel="noreferrer"&gt;this cool post I saw&lt;/a&gt; by &lt;a href="https://www.twitter.com/JohnNelsonIDV" target="_blank" rel="nofollow"&gt;JohnNelsonIDV&lt;/a&gt;, I wanted to try to and make a map using Excel.&lt;/p&gt;
&lt;p&gt;Fast forward 2 days and the opportunity came up. Lo and behold, a Map of Reference Evapotranspiration built in Excel!&lt;/p&gt;</description></item><item><title>Irrigated Crop Calendar Vizualisation</title><link>https://www.amitkohli.com/irrigated-crop-calendar-vizualisation/</link><pubDate>Thu, 02 Jul 2015 09:37:04 +0000</pubDate><guid>https://www.amitkohli.com/irrigated-crop-calendar-vizualisation/</guid><description>&lt;p&gt;Visualizations made for FAO AQUASTAT:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/07/WhatAndWhereSumm_eng.png" target="_blank" rel="noreferrer"&gt;&lt;img class="alignnone size-medium wp-image-362" src="https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/07/WhatAndWhereSumm_eng.png?resize=300%2C300" alt="WhatAndWhereSumm_eng" width="300" height="300" srcset="https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/07/WhatAndWhereSumm_eng.png?resize=300%2C300 300w, https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/07/WhatAndWhereSumm_eng.png?resize=150%2C150 150w, https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/07/WhatAndWhereSumm_eng.png?resize=1024%2C1024 1024w, https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/07/WhatAndWhereSumm_eng.png?resize=432%2C432 432w, https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/07/WhatAndWhereSumm_eng.png?resize=268%2C268 268w, https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/07/WhatAndWhereSumm_eng.png?resize=700%2C700 700w, https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/07/WhatAndWhereSumm_eng.png?w=1500 1500w, https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/07/WhatAndWhereSumm_eng.png?w=2250 2250w" sizes="(max-width: 300px) 100vw, 300px" data-recalc-dims="1" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After individual Irrigated Crop Calendars for all countries were combined, it allowed for some interesting analysis of global irrigation. These included “The Big Picture” (at two levels of resolution), as well as viewing irrigation by region and by crop. All explanations and visualizations on: &lt;a href="http://www.fao.org/nr/water/aquastat/irrigationviz/index.stm" target="_blank" rel="noreferrer"&gt;http://www.fao.org/nr/water/aquastat/irrigationviz/index.stm&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Simplified renewable water resources, visualized</title><link>https://www.amitkohli.com/simplified-renewable-water-resources-visualized/</link><pubDate>Wed, 01 Jul 2015 16:37:00 +0000</pubDate><guid>https://www.amitkohli.com/simplified-renewable-water-resources-visualized/</guid><description>&lt;p&gt;A visualization prepared for FAO AQUASTAT:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/07/WR.Cviz_.header_eng.png" target="_blank" rel="noreferrer"&gt;&lt;img class="alignnone size-medium wp-image-355" src="https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/07/WR.Cviz_.header_eng.png?resize=300%2C63" alt="WR.Cviz.header_eng" width="300" height="63" srcset="https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/07/WR.Cviz_.header_eng.png?resize=300%2C63 300w, https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/07/WR.Cviz_.header_eng.png?resize=700%2C147 700w, https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/07/WR.Cviz_.header_eng.png?w=731 731w" sizes="(max-width: 300px) 100vw, 300px" data-recalc-dims="1" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In an interest to simplify the information about renewable water resources in all countries in the world, we prepared simplified visualizations of water flows through a country.&lt;/p&gt;</description></item><item><title>The Reddit effect...</title><link>https://www.amitkohli.com/the-reddit-effect/</link><pubDate>Fri, 01 May 2015 19:32:56 +0000</pubDate><guid>https://www.amitkohli.com/the-reddit-effect/</guid><description>&lt;p&gt;So I had a happy little blog&amp;hellip; no one really paid attention, but I didn&amp;rsquo;t much care because I was happy.&lt;/p&gt;
&lt;p&gt;And then I posted &lt;a href="https://amitkohli.com/?p=246" target="_blank" rel="noreferrer"&gt;one of my visualizations&lt;/a&gt; to reddit. This is what happened:&lt;/p&gt;</description></item><item><title>Global dam capacity visualization</title><link>https://www.amitkohli.com/global-dam-capacity-visualization/</link><pubDate>Fri, 06 Mar 2015 10:04:00 +0000</pubDate><guid>https://www.amitkohli.com/global-dam-capacity-visualization/</guid><description>&lt;p&gt;A visualization prepared for FAO AQUASTAT:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/03/globe_viz.jpg" target="_blank" rel="noreferrer"&gt;&lt;img src="https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/03/globe_viz.jpg?resize=267%2C300" alt="globe_viz" width="267" height="300" class="alignnone size-medium wp-image-317" srcset="https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/03/globe_viz.jpg?resize=267%2C300 267w, https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/03/globe_viz.jpg?resize=911%2C1024 911w, https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/03/globe_viz.jpg?resize=700%2C787 700w, https://i0.wp.com/amitkohli.com/wp-content/uploads/2015/03/globe_viz.jpg?w=1013 1013w" sizes="(max-width: 267px) 100vw, 267px" data-recalc-dims="1" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Using WebGL, which produced by Google for their own purposes, and later converted to a “chrome experiment”. Please see the interactive version on the AQUASTAT webpage:&lt;/p&gt;</description></item><item><title>Irrigation area treemaps</title><link>https://www.amitkohli.com/irrigation-area-treemaps/</link><pubDate>Wed, 04 Mar 2015 19:16:41 +0000</pubDate><guid>https://www.amitkohli.com/irrigation-area-treemaps/</guid><description>&lt;p&gt;These visualizations were performed for FAO AQUASTAT.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/03/reltech.png" target="_blank" rel="noreferrer"&gt;&lt;img class="alignnone size-medium wp-image-303" src="https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/03/reltech.png?resize=300%2C300" alt="reltech" width="300" height="300" srcset="https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/03/reltech.png?resize=300%2C300 300w, https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/03/reltech.png?resize=150%2C150 150w, https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/03/reltech.png?resize=432%2C432 432w, https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/03/reltech.png?resize=268%2C268 268w, https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/03/reltech.png?resize=700%2C700 700w, https://i1.wp.com/amitkohli.com/wp-content/uploads/2015/03/reltech.png?w=725 725w" sizes="(max-width: 300px) 100vw, 300px" data-recalc-dims="1" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;These treemap charts allow for hierarchical organization of information of different types. In the image above, for example, the irrigation areas for each country are represented as the big boxes, within which the technology utilization is displayed in different colors. This allows users to see a large amount of information quickly.&lt;/p&gt;</description></item><item><title>Transboundary surface water flow</title><link>https://www.amitkohli.com/transboundary-surface-water-flow/</link><pubDate>Wed, 04 Mar 2015 19:05:38 +0000</pubDate><guid>https://www.amitkohli.com/transboundary-surface-water-flow/</guid><description>&lt;p&gt;A visualization generated for AQUASTAT of FAO.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://i2.wp.com/amitkohli.com/wp-content/uploads/2015/03/trans.sankey.png" target="_blank" rel="noreferrer"&gt;&lt;img class="alignnone size-medium wp-image-299" src="https://i2.wp.com/amitkohli.com/wp-content/uploads/2015/03/trans.sankey.png?resize=300%2C132" alt="trans.sankey" width="300" height="132" srcset="https://i2.wp.com/amitkohli.com/wp-content/uploads/2015/03/trans.sankey.png?resize=300%2C132 300w, https://i2.wp.com/amitkohli.com/wp-content/uploads/2015/03/trans.sankey.png?resize=700%2C309 700w, https://i2.wp.com/amitkohli.com/wp-content/uploads/2015/03/trans.sankey.png?w=794 794w" sizes="(max-width: 300px) 100vw, 300px" data-recalc-dims="1" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Two types of charts were prepared: Sankey and Network. The Sankey plots allow for an ‘automatic sorting’ of countries based on who is the water tower and who is the water source. This visualization is useful to demonstrate where a country falls on this continuum.&lt;/p&gt;</description></item><item><title>Chord progressions of 5000 songs!</title><link>https://www.amitkohli.com/chord-progressions-of-5-000-songs/</link><pubDate>Sun, 01 Mar 2015 00:00:00 +0000</pubDate><guid>https://www.amitkohli.com/chord-progressions-of-5-000-songs/</guid><description>&lt;p&gt;Update: Full analysis and everything you need at my github &lt;a href="https://github.com/datastrategist/Musical-chord-progressions" target="_blank" rel="noreferrer"&gt;https://github.com/datastrategist/Musical-chord-progressions&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href="http://www.hooktheory.com/trends" target="_blank"&gt;Hooktheory.com&lt;/a&gt; database contains analyses of over 5000 songs*. These analyses are uploaded by users and allow for all these songs to be analyzed in bulk, as well as individually. One of these ‘all song’ analyses enables users to gather chord progressions on ALL songs (see the analysis file to see how i did it, using the hooktheory API and R). This allowed us to create a Sankey visualization of all chord progressions in the Hooktheory database.&lt;/p&gt;</description></item><item><title>Best way to make a custom palette with ggplot2</title><link>https://www.amitkohli.com/best-way-to-make-a-custom-palette-with-ggplot2/</link><pubDate>Fri, 27 Feb 2015 18:38:44 +0000</pubDate><guid>https://www.amitkohli.com/best-way-to-make-a-custom-palette-with-ggplot2/</guid><description>&lt;!-- saved from url=(0014)about:internet --&gt;
&lt;p&gt; &lt;/p&gt;
&lt;!-- Styles for R syntax highlighter --&gt;
&lt;!-- R syntax highlighter --&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;A better way to pick colours with ggplot2&lt;/p&gt;
&lt;p&gt;First, get the excellent package by Marco D Visser:&lt;/p&gt;</description></item><item><title>Best way to unclog drains</title><link>https://www.amitkohli.com/best-way-to-unclog-drains/</link><pubDate>Thu, 19 Feb 2015 18:00:47 +0000</pubDate><guid>https://www.amitkohli.com/best-way-to-unclog-drains/</guid><description>&lt;p&gt;Check out my new instructable on how to clear clogs without using chemicals.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.instructables.com/id/Unclog-drains-environmentally-friendlily/" target="_blank"&gt;Check it out on instructables.com&lt;/a&gt;!&lt;/p&gt;</description></item><item><title>Excel basics</title><link>https://www.amitkohli.com/excel-basics/</link><pubDate>Mon, 16 Feb 2015 18:32:22 +0000</pubDate><guid>https://www.amitkohli.com/excel-basics/</guid><description>&lt;p&gt;Most of the things posted on this page will make reference to Visual Basic for Applications (VBA).&lt;/p&gt;

&lt;h1 class="relative group"&gt;How do you get to the Visual Basic Editor?
 &lt;div id="how-do-you-get-to-the-visual-basic-editor" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-do-you-get-to-the-visual-basic-editor" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;

&lt;h2 class="relative group"&gt;Excel versions prior to 2007:
 &lt;div id="excel-versions-prior-to-2007" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#excel-versions-prior-to-2007" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Under the &lt;strong&gt;Tools&lt;/strong&gt; menu, go to &lt;strong&gt;Macros&lt;/strong&gt;, and the option should be there.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 class="relative group"&gt;Excel 2007:
 &lt;div id="excel-2007" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#excel-2007" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Available through the &lt;strong&gt;Developer&lt;/strong&gt; tab on the ribbon. If you don&amp;rsquo;t see a developer tab:&lt;/p&gt;</description></item><item><title>Cover images for facebook, google+, whatever</title><link>https://www.amitkohli.com/cover-images-for-facebook-google-whatever/</link><pubDate>Wed, 12 Nov 2014 00:37:33 +0000</pubDate><guid>https://www.amitkohli.com/cover-images-for-facebook-google-whatever/</guid><description>&lt;p&gt;So I guess everybody let&amp;rsquo;s you upload a &amp;ldquo;cover picture&amp;rdquo;&amp;hellip;. something that should be beautiful, emblematic of you, deep, thoughtful etc. Well&amp;hellip; I found a bunch of my pics that fit the wide format nicely.&lt;/p&gt;</description></item><item><title>Arduino theremin concert</title><link>https://www.amitkohli.com/arduino-theremin-concert/</link><pubDate>Tue, 11 Nov 2014 00:52:47 +0000</pubDate><guid>https://www.amitkohli.com/arduino-theremin-concert/</guid><description>&lt;p&gt;One of the arduino tutorials was for a theremin. With a few modifications I was able to properly express my sophisticated musical abilities.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/oKbEwok25CE" target="_blank" rel="noreferrer"&gt;&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt="Watch the video"
 src="https://img.youtube.com/vi/oKbEwok25CE/maxresdefault.jpg"
 &gt;&lt;/figure&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Arduino code follows (prolly doesn&amp;rsquo;t make TOO much sense without the wiring schematic&amp;hellip; if there&amp;rsquo;s interest I&amp;rsquo;ll put up a picture).&lt;/p&gt;</description></item><item><title>Human armature from d3Network!</title><link>https://www.amitkohli.com/human-armature-from-d3network/</link><pubDate>Tue, 11 Nov 2014 00:17:06 +0000</pubDate><guid>https://www.amitkohli.com/human-armature-from-d3network/</guid><description>&lt;p&gt;So a little bit of R, a little bit of d3Network and boom! Instant interactive html human!&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;style&amp;gt;
.link {
stroke: #666;
opacity: 0.4;
stroke-width: 1.5px;
}
.node circle {
stroke: #fff;
opacity: 0.4;
stroke-width: 1.5px;
}
.node:not(:hover) .nodetext {
display: none;
}
text {
font: 7px serif;
opacity: 0.4;
pointer-events: none;
}
&amp;lt;/style&amp;gt;

&amp;lt;script src=http://d3js.org/d3.v3.min.js&amp;gt;&amp;lt;/script&amp;gt;

&amp;lt;script&amp;gt; 
 var links = [ { &amp;quot;source&amp;quot; : 0, &amp;quot;target&amp;quot; : 1, &amp;quot;value&amp;quot; : 300 }, { &amp;quot;source&amp;quot; : 1, &amp;quot;target&amp;quot; : 2, &amp;quot;value&amp;quot; : 50 }, { &amp;quot;source&amp;quot; : 1, &amp;quot;target&amp;quot; : 3, &amp;quot;value&amp;quot; : 50 }, { &amp;quot;source&amp;quot; : 2, &amp;quot;target&amp;quot; : 4, &amp;quot;value&amp;quot; : 20 }, { &amp;quot;source&amp;quot; : 3, &amp;quot;target&amp;quot; : 5, &amp;quot;value&amp;quot; : 20 }, { &amp;quot;source&amp;quot; : 4, &amp;quot;target&amp;quot; : 6, &amp;quot;value&amp;quot; : 1 }, { &amp;quot;source&amp;quot; : 5, &amp;quot;target&amp;quot; : 7, &amp;quot;value&amp;quot; : 1 }, { &amp;quot;source&amp;quot; : 8, &amp;quot;target&amp;quot; : 9, &amp;quot;value&amp;quot; : 50 }, { &amp;quot;source&amp;quot; : 9, &amp;quot;target&amp;quot; : 10, &amp;quot;value&amp;quot; : 20 }, { &amp;quot;source&amp;quot; : 9, &amp;quot;target&amp;quot; : 11, &amp;quot;value&amp;quot; : 20 }, { &amp;quot;source&amp;quot; : 10, &amp;quot;target&amp;quot; : 12, &amp;quot;value&amp;quot; : 10 }, { &amp;quot;source&amp;quot; : 11, &amp;quot;target&amp;quot; : 13, &amp;quot;value&amp;quot; : 10 }, { &amp;quot;source&amp;quot; : 12, &amp;quot;target&amp;quot; : 14, &amp;quot;value&amp;quot; : 5 }, { &amp;quot;source&amp;quot; : 13, &amp;quot;target&amp;quot; : 15, &amp;quot;value&amp;quot; : 5 }, { &amp;quot;source&amp;quot; : 2, &amp;quot;target&amp;quot; : 8, &amp;quot;value&amp;quot; : 50 }, { &amp;quot;source&amp;quot; : 3, &amp;quot;target&amp;quot; : 16, &amp;quot;value&amp;quot; : 50 }, { &amp;quot;source&amp;quot; : 1, &amp;quot;target&amp;quot; : 8, &amp;quot;value&amp;quot; : 50 }, { &amp;quot;source&amp;quot; : 1, &amp;quot;target&amp;quot; : 16, &amp;quot;value&amp;quot; : 50 }, { &amp;quot;source&amp;quot; : 8, &amp;quot;target&amp;quot; : 16, &amp;quot;value&amp;quot; : 50 }, { &amp;quot;source&amp;quot; : 16, &amp;quot;target&amp;quot; : 9, &amp;quot;value&amp;quot; : 50 } ] ; 
 var nodes = [ { &amp;quot;name&amp;quot; : &amp;quot;Head&amp;quot;, &amp;quot;group&amp;quot; : 1 }, { &amp;quot;name&amp;quot; : &amp;quot;Sternum&amp;quot;, &amp;quot;group&amp;quot; : 1 }, { &amp;quot;name&amp;quot; : &amp;quot;Shoulder.r&amp;quot;, &amp;quot;group&amp;quot; : 1 }, { &amp;quot;name&amp;quot; : &amp;quot;Shoulder.l&amp;quot;, &amp;quot;group&amp;quot; : 1 }, { &amp;quot;name&amp;quot; : &amp;quot;Elbow.r&amp;quot;, &amp;quot;group&amp;quot; : 1 }, { &amp;quot;name&amp;quot; : &amp;quot;Elbow.l&amp;quot;, &amp;quot;group&amp;quot; : 1 }, { &amp;quot;name&amp;quot; : &amp;quot;Wrist.r&amp;quot;, &amp;quot;group&amp;quot; : 1 }, { &amp;quot;name&amp;quot; : &amp;quot;Wrist.l&amp;quot;, &amp;quot;group&amp;quot; : 1 }, { &amp;quot;name&amp;quot; : &amp;quot;rib.r&amp;quot;, &amp;quot;group&amp;quot; : 1 }, { &amp;quot;name&amp;quot; : &amp;quot;hip.c&amp;quot;, &amp;quot;group&amp;quot; : 1 }, { &amp;quot;name&amp;quot; : &amp;quot;hip.r&amp;quot;, &amp;quot;group&amp;quot; : 1 }, { &amp;quot;name&amp;quot; : &amp;quot;hip.l&amp;quot;, &amp;quot;group&amp;quot; : 1 }, { &amp;quot;name&amp;quot; : &amp;quot;knee.r&amp;quot;, &amp;quot;group&amp;quot; : 1 }, { &amp;quot;name&amp;quot; : &amp;quot;knee.l&amp;quot;, &amp;quot;group&amp;quot; : 1 }, { &amp;quot;name&amp;quot; : &amp;quot;ankle.r&amp;quot;, &amp;quot;group&amp;quot; : 1 }, { &amp;quot;name&amp;quot; : &amp;quot;ankle.l&amp;quot;, &amp;quot;group&amp;quot; : 1 }, { &amp;quot;name&amp;quot; : &amp;quot;rib.l&amp;quot;, &amp;quot;group&amp;quot; : 1 } ] ; 
 var width = 900
height = 600;

var color = d3.scale.category20();

var force = d3.layout.force()
.nodes(d3.values(nodes))
.links(links)
.size([width, height])
.linkDistance(50)
.charge(-120)
.on(&amp;quot;tick&amp;quot;, tick)
.start();

var svg = d3.select(&amp;quot;body&amp;quot;).append(&amp;quot;svg&amp;quot;)
.attr(&amp;quot;width&amp;quot;, width)
.attr(&amp;quot;height&amp;quot;, height);

var link = svg.selectAll(&amp;quot;.link&amp;quot;)
.data(force.links())
.enter().append(&amp;quot;line&amp;quot;)
.attr(&amp;quot;class&amp;quot;, &amp;quot;link&amp;quot;)
.style(&amp;quot;stroke-width&amp;quot;, function(d) { return Math.sqrt(d.value); });

var node = svg.selectAll(&amp;quot;.node&amp;quot;)
.data(force.nodes())
.enter().append(&amp;quot;g&amp;quot;)
.attr(&amp;quot;class&amp;quot;, &amp;quot;node&amp;quot;)
.style(&amp;quot;fill&amp;quot;, function(d) { return color(d.group); })
.style(&amp;quot;opacity&amp;quot;, 0.4)
.on(&amp;quot;mouseover&amp;quot;, mouseover)
.on(&amp;quot;mouseout&amp;quot;, mouseout)
.call(force.drag);

node.append(&amp;quot;circle&amp;quot;)
.attr(&amp;quot;r&amp;quot;, 6)

node.append(&amp;quot;svg:text&amp;quot;)
.attr(&amp;quot;class&amp;quot;, &amp;quot;nodetext&amp;quot;)
.attr(&amp;quot;dx&amp;quot;, 12)
.attr(&amp;quot;dy&amp;quot;, &amp;quot;.35em&amp;quot;)
.text(function(d) { return d.name });

function tick() {
link
.attr(&amp;quot;x1&amp;quot;, function(d) { return d.source.x; })
.attr(&amp;quot;y1&amp;quot;, function(d) { return d.source.y; })
.attr(&amp;quot;x2&amp;quot;, function(d) { return d.target.x; })
.attr(&amp;quot;y2&amp;quot;, function(d) { return d.target.y; });

node.attr(&amp;quot;transform&amp;quot;, function(d) { return &amp;quot;translate(&amp;quot; + d.x + &amp;quot;,&amp;quot; + d.y + &amp;quot;)&amp;quot;; });
}

function mouseover() {
d3.select(this).select(&amp;quot;circle&amp;quot;).transition()
.duration(750)
.attr(&amp;quot;r&amp;quot;, 16);
d3.select(this).select(&amp;quot;text&amp;quot;).transition()
.duration(750)
.attr(&amp;quot;x&amp;quot;, 13)
.style(&amp;quot;stroke-width&amp;quot;, &amp;quot;.5px&amp;quot;)
.style(&amp;quot;font&amp;quot;, &amp;quot;17.5px serif&amp;quot;)
.style(&amp;quot;opacity&amp;quot;, 1);
}

function mouseout() {
d3.select(this).select(&amp;quot;circle&amp;quot;).transition()
.duration(750)
.attr(&amp;quot;r&amp;quot;, 8);
}

&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;</description></item><item><title>Epic lamp instructable posted</title><link>https://www.amitkohli.com/epic-lamp-instructable-posted/</link><pubDate>Tue, 04 Nov 2014 21:17:31 +0000</pubDate><guid>https://www.amitkohli.com/epic-lamp-instructable-posted/</guid><description>&lt;p&gt;What do you do with a box of 100 slides that you&amp;rsquo;ve had for 10 years?&lt;/p&gt;
&lt;p&gt;&lt;a title="Instructables lamp of epic memories" href="http://www.instructables.com/id/Lamp-of-epic-memories/" target="_blank"&gt;BOOM. This is what. Check out the instructable showing the steps!&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Wordcloud generator</title><link>https://www.amitkohli.com/wordcloud-generator/</link><pubDate>Mon, 18 Aug 2014 21:23:34 +0000</pubDate><guid>https://www.amitkohli.com/wordcloud-generator/</guid><description>&lt;p&gt;&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://www.amitkohli.com/post/2014-08-18-wordcloud-generator_files/Rploteng.png"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Using Shiny and R, we made a super-customizable wordcloud maker that takes any .txt file you feed it, and creates a wordcloud just how you like it (without needing to give your email to creepy people). &lt;a title="Wordcloud maker!" href="https://amit.shinyapps.io/WordCloudMaker/" target="_blank"&gt;Check it out!&lt;/a&gt;&lt;/p&gt;</description></item><item><title>kml maker for Excel -&gt; Google Earth</title><link>https://www.amitkohli.com/kml-maker-for-excel-google-earth/</link><pubDate>Wed, 02 Jul 2014 12:36:43 +0000</pubDate><guid>https://www.amitkohli.com/kml-maker-for-excel-google-earth/</guid><description>&lt;p&gt;I made a userform that quickly and easily allows you to make a kml file that&amp;rsquo;s readable by google earth based on some excel dataset that has coordinates.&lt;/p&gt;
&lt;p&gt;Features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Simple and advanced modes&lt;/li&gt;
&lt;li&gt;userform for convenience&lt;/li&gt;
&lt;li&gt;Icons change when highlighted&lt;/li&gt;
&lt;li&gt;Allows html to be passed to popup contents, everything is customizable&lt;/li&gt;
&lt;li&gt;Issue a default icon, and change icons for specific points&lt;/li&gt;
&lt;li&gt;Change colours and opacity for points via easy dropdowns&lt;/li&gt;
&lt;li&gt;Pass data from excel columns to the popup for each point&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&amp;rsquo;ve taken the liberty to make an excel file with the form, and some examples and showcasing the features so you know how to do it. Check it out and please provide comments!&lt;/p&gt;</description></item><item><title>Change lists into tables and tables into lists</title><link>https://www.amitkohli.com/change-lists-into-tables-and-tables-into-lists/</link><pubDate>Fri, 29 Mar 2013 15:04:29 +0000</pubDate><guid>https://www.amitkohli.com/change-lists-into-tables-and-tables-into-lists/</guid><description>&lt;p&gt;Designed a userform that converts dimension formats, i.e. information from tabular format to list (or flat) format, and viceversa. Some options include preserving formatting or not, as well as including blank cells or not.&lt;/p&gt;</description></item><item><title>Search or filter through controls in a userform</title><link>https://www.amitkohli.com/search-or-filter-through-controls-in-a-userform/</link><pubDate>Sat, 09 Feb 2013 18:30:30 +0000</pubDate><guid>https://www.amitkohli.com/search-or-filter-through-controls-in-a-userform/</guid><description>&lt;p&gt;This bit might be useful if you have a lot of controls on a form, and need a quick way to highlight them. This post supports the video:&lt;/p&gt;
&lt;p&gt;I uploaded a video tutorial, you can see it here (please view in fullscreen mode, or watch the video in youtube by clicking on the youtube logo):[http://www.youtube.com/watch?v=5RtV9msZ2RE].&lt;/p&gt;</description></item><item><title>Compare lists and identify matches macro</title><link>https://www.amitkohli.com/compare-lists-and-identify-matches-macro/</link><pubDate>Thu, 07 Feb 2013 16:24:52 +0000</pubDate><guid>https://www.amitkohli.com/compare-lists-and-identify-matches-macro/</guid><description>&lt;p&gt;This macro provides an alternative to vlookup (which looks at two lists and provides data from one list to the second) that retains similar functionality while providing certain benefits. It accomplishes this by physically moving one list to the other. It&amp;rsquo;s impossible to get a false positive, and it doesn&amp;rsquo;t provide that annoying #N/A that messes up calculations.&lt;/p&gt;</description></item><item><title>Macro userform - a good visual way to organize macros</title><link>https://www.amitkohli.com/macro-userform-a-good-visual-way-to-organize-macros/</link><pubDate>Thu, 07 Feb 2013 16:22:10 +0000</pubDate><guid>https://www.amitkohli.com/macro-userform-a-good-visual-way-to-organize-macros/</guid><description>&lt;p&gt;At a certain point it can become challenging to quickly find and run the macro we need. Below are some options to organize our macros. I will focus on using a &lt;strong&gt;pop-up form&lt;/strong&gt; because it&amp;rsquo;s the method I prefer, but at the bottom of the article, you can see other options.&lt;/p&gt;</description></item></channel></rss>