<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/assets/rss.xsl" type="text/xsl"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"

>
<channel>
	<title>Sacha Chua - tag - random</title>
	<atom:link href="https://sachachua.com/blog/tag/random/feed/index.xml" rel="self" type="application/rss+xml" />
	<atom:link href="https://sachachua.com/blog/tag/random" rel="alternate" type="text/html" />
	<link>https://sachachua.com/blog/tag/random/feed/index.xml</link>
	<description>Emacs, sketches, and life</description>
  
	<lastBuildDate>Mon, 27 Jul 2026 12:46:21 GMT</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>daily</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>11ty</generator>
  <item>
		<title>Listing random npmjs.com packages updated today</title>
		<link>https://sachachua.com/blog/2016/02/listing-random-npmjs-com-packages-updated-today/</link>
		<dc:creator><![CDATA[Sacha Chua]]></dc:creator>
		<pubDate>Sun, 21 Feb 2016 02:19:00 GMT</pubDate>
    <category>geek</category>
		<guid isPermaLink="false">https://sachachua.com/blog/?p=28625</guid>
		<description><![CDATA[<p>I was looking for a way to randomly learn about packages hosted at npmjs.com so that I can come across libraries I might not have thought of searching for. The <a href="https://docs.npmjs.com/misc/registry">registry data</a> is available at <a href="https://registry.npmjs.org/">https://registry.npmjs.org/</a>, and there's a public CouchDB mirror at <a href="https://skimdb.npmjs.com/registry">https://skimdb.npmjs.com/registry</a> . Someday, when I know more about CouchDB, I might be able to query it and do other things.</p>
<p>In the meantime, this <a href="https://github.com/npm/npm-registry-couchapp/issues/242">Github issue</a> pointed me to a view of <a href="https://registry.npmjs.org/-/all/static/today.json">all packages modified today</a>, which is a good-enough proxy for what I'm interested in.</p>
<p>Here's an AngularJS app that displays the list and highlights a random item.</p>
<p><a href="https://sachachua.com/blog/wp-content/uploads/2016/02/Screenshot_2016-02-20_21-09-21.png" rel="attachment wp-att-28626"><img loading="lazy" class="alignnone size-medium wp-image-28626" src="https://sachachua.com/blog/wp-content/uploads/2016/02/Screenshot_2016-02-20_21-09-21-640x235.png" alt="Screenshot_2016-02-20_21-09-21" width="640" height="235" srcset="https://sachachua.com/blog/wp-content/uploads/2016/02/Screenshot_2016-02-20_21-09-21-640x235.png 640w, https://sachachua.com/blog/wp-content/uploads/2016/02/Screenshot_2016-02-20_21-09-21-280x103.png 280w, https://sachachua.com/blog/wp-content/uploads/2016/02/Screenshot_2016-02-20_21-09-21-768x282.png 768w, https://sachachua.com/blog/wp-content/uploads/2016/02/Screenshot_2016-02-20_21-09-21.png 1322w" sizes="(max-width: 640px) 100vw, 640px"></a></p>
<div class="org-src-container">
<pre class="src src-html">&lt;<span class="org-function-name">html</span> <span class="org-variable-name">ng-app</span>=<span class="org-string">"myApp"</span>&gt;
  &lt;<span class="org-function-name">head</span>&gt;
    &lt;<span class="org-function-name">script</span> <span class="org-variable-name">type</span>=<span class="org-string">"text/javascript"</span>
      <span class="org-variable-name">src</span>=<span class="org-string">"https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0/angular.min.js"</span>&gt;&lt;/<span class="org-function-name">script</span>&gt;
    &lt;<span class="org-function-name">script</span>&gt;
     // https://registry.npmjs.org/-/all/static/today.json
     // from https://github.com/npm/npm-registry-couchapp/issues/242
     var app = angular.module('myApp', []);
     app.controller('npmTodayCtrl', function($scope, $http) {
       $scope.randomize = function() {
         $scope.random = $scope.packages[Math.floor(Math.random() * $scope.packages.length)];
       }
       $http.get('https://registry.npmjs.org/-/all/static/today.json').then(function(info) {
         $scope.packages = info.data;
         $scope.randomize();
       });
     });
    &lt;/<span class="org-function-name">script</span>&gt;
  &lt;/<span class="org-function-name">head</span>&gt;
  &lt;<span class="org-function-name">body</span> <span class="org-variable-name">ng-controller</span>=<span class="org-string">"npmTodayCtrl"</span>&gt;
    &lt;<span class="org-function-name">div</span>&gt;&lt;<span class="org-function-name">a</span> <span class="org-variable-name">href</span>=<span class="org-string">""</span> <span class="org-variable-name">ng-click</span>=<span class="org-string">"randomize()"</span>&gt;Random highlight:&lt;/<span class="org-function-name">a</span>&gt;&lt;/<span class="org-function-name">div</span>&gt;
    &lt;<span class="org-function-name">div</span> <span class="org-variable-name">ng-if</span>=<span class="org-string">"random"</span> <span class="org-variable-name">style</span>=<span class="org-string">"margin-top: 1em; font-size: x-large"</span>&gt;
      &lt;<span class="org-function-name">strong</span>&gt;&lt;<span class="org-function-name">a</span> <span class="org-variable-name">ng-href</span>=<span class="org-string">"https://npmjs.com/package/\{\{random.name\}\}"</span>&gt;\{\{random.name\}\}&lt;/<span class="org-function-name">a</span>&gt;&lt;/<span class="org-function-name">strong</span>&gt;
      \{\{random.description\}\}
    &lt;/<span class="org-function-name">div</span>&gt;
    &lt;<span class="org-function-name">hr</span>&gt;
    &lt;<span class="org-function-name">table</span>&gt;
      &lt;<span class="org-function-name">tr</span> <span class="org-variable-name">ng-repeat</span>=<span class="org-string">"package in packages"</span>&gt;
        &lt;<span class="org-function-name">td</span>&gt;&lt;<span class="org-function-name">a</span> <span class="org-variable-name">ng-href</span>=<span class="org-string">"https://npmjs.com/package/\{\{package.name\}\}"</span>&gt;\{\{package.name\}\}&lt;/<span class="org-function-name">a</span>&gt;&lt;/<span class="org-function-name">td</span>&gt;
        &lt;<span class="org-function-name">td</span>&gt;\{\{package.description\}\}&lt;/<span class="org-function-name">td</span>&gt;
      &lt;/<span class="org-function-name">tr</span>&gt;
    &lt;/<span class="org-function-name">table</span>&gt;
  &lt;/<span class="org-function-name">body</span>&gt;
&lt;/<span class="org-function-name">html</span>&gt;
</pre>
</div>

<p>You can <a href="https://sachachua.com/blog/2016/02/listing-random-npmjs-com-packages-updated-today/#comment">view 1 comment</a> or <a href="mailto:sacha@sachachua.com?subject=Comment%20on%20https%3A%2F%2Fsachachua.com%2Fblog%2F2016%2F02%2Flisting-random-npmjs-com-packages-updated-today%2F&body=Name%20you%20want%20to%20be%20credited%20by%20(if%20any)%3A%20%0AMessage%3A%20%0ACan%20I%20share%20your%20comment%20so%20other%20people%20can%20learn%20from%20it%3F%20Yes%2FNo%0A">e-mail me at sacha@sachachua.com</a>.</p>]]></description>
		</item>
	</channel>
</rss>