RSSAmplifier

Blog

kilotau.com on kilotau.com - reading, thinking, and learning

Recent content in kilotau.com on kilotau.com - reading, thinking, and learning

/RSS feed ↗64 posts

Latest posts

10,000 Memories

I had an amazing opportunity to attend a book signing for 10,000 Memories in Berkeley along with my wife. 
 10,000 Memories is a non-profit, volunteering and crowdsourcing project that has collected 10k witness accounts about the Partition across South Asia. There was an insightful panel discussion with the editors, and story telling sessions along with a curated exhibit. 
 The Partition…

Fossil Carbon Until 2C

Reading Kim Stanley Robinson’s Ministry for the Future , I got curious about Chapter 8’s numbers, which essentially break down some of the main driving forces of the climate crisis better than most other things I’ve come across. 
 KSR describes how much fossil carbon we’re consuming, how much is left, how much should not be extracted if we want to stay below 2C, who owns what’s left, and what…

Can we abstract control flow?

Last week, I visited a couple of my professors from Northwestern to chat and
help out with an interesting engineering “bootcamp” class they are teaching.
Beyond the nostalgia, those interactions brought me back to my days in college,
when I regularly felt this mixture of lighthearted fun and simultaneously an
overwhelming awe at learning new things I didn’t even…

Playful Introduction to Racket

;; This is a playful introduction to Racket, using the in-built app &#xA; ;; Dr. Racket, intended for a <60 min session. &#xA; &#xA; ;; Racket is a polygot-friendly, language designer friendly, beginner friendly &#xA; ;; multi-paradigm general purpose programming language. &#xA; &#xA; ;; Install Racket and then open this little tutorial using Dr. Racket, by &#xA; ;; saving it as a…

Engineering a Machine Learning Product

&#xA; &#xA; Our goal felt hidden, out of reach. &#xA; Our product, Frontier, focuses on building better student writers in grades 4-8 by challenging them with engaging narrative, informational, and argumentative writing projects: how does severe weather affect our lives? What does it take to be a gymnast? Do cats make good pets? &#xA; The goal to focus on building better writers through fast…

Bugs are your best friends

You open up your email, swipe through some work messages, and notice a classic email about a bug. &#xA; RuntimeError : Your app is terrible&#xA; app / controller / page : 17 - what is&#xA; config / route / blah : 24 - this I&#xA; bin / app : 4 - can ' t even&#xA; It looks&hellip; strange. The error message and the stack trace look only vaguely familiar. &#xA; You would be forgiven for being…

Bring a bit of Clojure/Racket to Ruby!

I made a new gem based on some exploration I did, but to tell the story, let&rsquo;s talk about a possible use case. &#xA; Let&rsquo;s say you&rsquo;re writing some Ruby code where you need to call a sequence of methods on some initial value. (This is a contrived example, so bear with me) &#xA; class FileChecker &#xA; def report (file)&#xA; # need to produce summary after running checks &#xA; end…

Problem solving like no one&#39;s watching!

Sometimes, you have a problem. A problem that itches and maybe even hurts. &#xA; The kind of problem where you wish “wouldn’t it be cool if…,” but then you follow that up and it’s clear that it’s either too difficult or would take more time than you have to spare. Or maybe you realize you don’t know something needed to solve it. &#xA; Here’s how you could scratch that itch, even if you think it’ll…

Bayesian Thinking

This is based on a talk I gave at the Open Source Open Mic meetup, around Sep 2015. &#xA; Slides from the talk . &#xA; Let&rsquo;s say you&rsquo;re walking down the street. You see someone walking towards you, and a question comes to mind: &#xA; &#xA; &#xA; Barista or Consultant? &#xA; (A contrived case for sure, but humor me) &#xA; How would you answer this? &#xA; You could reason that this…

Portentous Transmissions

I decided to write a short story about a ridiculous premise to get myself to just sit down and finish a story. Here’s the result! &#xA; A hooded jogger cuts through a dark alley nestled between a greasy burger joint and an old boarded up warehouse. Sarah’s muttering to herself as she runs at a steady clip, dictating some notes into her bluetooth mic. &#xA; A bubbling, anxious knot starts to form…

How to build the next version of X

&#xA; &#xA; updating based on feedback is trickier than you think &#xA; Psychologist Bertram Forer once asked some students to fill out a personality test and then gave them a personalized profile based on the results. The students rated how well the profile captured their individual personality, and at the end, the average rating was found to be 4.2 out of 5! &#xA; But actually, Forer had taken…

What should I learn?

thoughts about how I’m picking what to learn right now &#xA; &#xA; Originally published on Medium. &#xA; I have limited time and a long list of things to learn. My own knowledge is a tiny bucket compared to an ocean of blah yada ladeeda… I know how that goes, the refrain about how little you know and the implication that curiosity is thus naive. Is it not enough for me to be curious, do I also…

How can learning become fun?

As an engineer working in an education startup, learning is a familiar topic for me. At eSpark, we&rsquo;re personalizing education for primary school students and we often visit schools, pore through data, and test our theories about how students really learn. It&rsquo;s remarkably easy to get infected by the enthusiasm of our young students. But it&rsquo;s also easy to get concerned by the…

Explanations don&#39;t detract from beauty

I was talking to a friend during dinner and the conversation drifted over to what I&rsquo;m guessing is a very busy intersection: how an exact explanation seems to subtract from the beauty of a thing. In short, I disagree. An explanation actually enhances your experience of a thing. There was much that we talked about, but I want to use this post to think about the opposite point and wrestle with…

eSpark Hackathon & Clay: a computable document creator

&#xA; &#xA; At the &#xA; eSpark Hackathon last weekend, I had a great time making interesting new things with my work friends. Koppel and John were quite excited by Markov chains and so we had two different kinds of Markov babblers; one was a Slack bot and one was a Twitter bot. Kairui and Cathleen were interested in analyzing how to optimize selection of the right testing content for students; I…

Alive

Why the tired gesture?&#xA;Why the sarcastic vignette of a tropical world? &#xA; Why the black and white,&#xA;the smooth minimalism,&#xA;the simplistic angles,&#xA;the tidy garden? &#xA; Write in bold strokes and drench that paper in color.&#xA;Dig deeps into the folds and stretch that cloth to tearing. &#xA; You get one shot at this. &#xA; &#xA; Written July 19, 2009 (just before my freshman year…

Juggling Multiple SSH Keys

You probably have some ssh key files ( ~/.ssh/id_rsa{.pub,} or similar) kicking around if you&rsquo;ve ever needed to use a service that uses public key cryptography, like Github or Heroku. &#xA; These id_rsa and id_rsa.pub files are private and public key files that you should keep quite secure. &#xA; But they don&rsquo;t have to be the only ones you ever use! In fact, it&rsquo;s probably best to…

Eval

Hardware: a living, conscious, human brain capable of reading English and with a high school level of education in mathematics, science, and history, and that is greater than the 70th percentile in terms of interest in computer science and general current events in the contemporary period defined by late-twentieth/early-twenty-first century. &#xA; Program: read this hardware description and…

Consolidation – Week 1

I&rsquo;ve decided to experiment with a weekly blog post that consolidates my reading, programming, and general learning. Here&rsquo;s week 1! &#xA; Reading &#xA; &#xA; &#xA; Some portion of Surely You&rsquo;re Joking, Mr. Feynman &#xA; &#xA; &#xA; Quite a bit of Infected , a hard sci-fi novel by Scott Sigler &#xA; &#xA; &#xA; The Humanism arc of HPMOR (Ch. 43 to 46). It&rsquo;s just&hellip; &#xA;…

Chernoff Faces with D3 and React.js

&#xA; &#xA; TL;DR: &#xA; here&rsquo;s the demo! &#xA; Chernoff faces[1] are a useful way to visualize multivariate data in a way that leverages the great facial recognition ability of our brains. There&rsquo;s a great paper[2] about it too! Here&rsquo;s an example that highlights their utility: &#xA; Imagine visually comparing election results as they&rsquo;re rolling in on election day. You want…

Terminals Shouldn&#39;t Be Scary!

Terminals are crucial to mastering computers and are super fun to play with. But you don&rsquo;t need to be a gray beard to master the terminal! You can learn it bit by bit and have fun too. And this isn&rsquo;t some kind tongue-in-cheek expression. Try to remember the last thing your learned that made some drudgery less drudgeful (like finding out that adding site:blah.com in Google will limit…

Interstellar is pretty great

&#xA; Do not go gentle into that good night, &#xA; &#xA; Old age should burn and rave at close of day; &#xA; &#xA; Rage, rage against the dying of the light. &#xA; (spoilers!) &#xA; This quote represents a major theme in the movie Interstellar. Beyond the color pallette that reminds me of color footage from the Apollo missions, or Hans Zimmer&rsquo;s enveloping soundtrack that echoes 2001: A Space…

Thoughts About Strangeloop 2014

For those not yet familiar with the awesomeness of Strangeloop, it is a yearly conference about “emerging languages, concurrent and distributed systems, new database technologies, front-end web, and security." This year, Strangeloop was at the Peabody Opera House in St. Louis, and I found it informative, inspiring,and incredibly fun. &#xA; I decided to take some time and compress my experience…

Git Recent Branches

Have you ever wanted git branches to display all branches sorted by the last&#xA;commit date? &#xA; Let&rsquo;s say you&rsquo;re working on a project with a lot of branches, you&rsquo;re hopping around topic branches like crazy, and you have the name of that last one you were working on right on the tip of your tongue&hellip; &#xA; Well, easy enough! &#xA; &#xA; Use this plugin . &#xA; It&rsquo;s…

Minimal Emacs Config

I love the versatility of emacs, even without any additional packages. You get&#xA;a powerful and fast editing environment that is ridiculously extendable if you&#xA;so desire. &#xA; I used to maintain quite an extensive .emacs configuration, with all sorts&#xA;of third party packages and custom functions. But early this year, after about&#xA;a year of heavy Emacs use, I felt the pain of…

Have You Read Worm?

I just finished reading Worm, a smartly written and relentlessly intense web serial by Wildbow. It’s about an introverted high school girl named Taylor who’s one of many individuals with superpowers. But her power is rather unique&#xA;for the genre: she can control and perceive essentially any number of bugs within around 1500 feet. We see Taylor fight insanely high powered capes, deal with…

Programming Primer

originally published in North by Northwestern &#xA; Whether you want to build a game, a website, a mobile application, or simply want to explore creative concepts, programming is an indispensable skill. It offers the means to create instantly useable and distributable products, so it’s very relevant to Northwestern&rsquo;s mix of entrepreneurial, creative, and technical students. Moreover, it is…

Slimformation -- Read Smarter

&#xA; &#xA; Do you read more about politics or economics? What are the top websites you recently visited to read articles? How do you plan your casual reading? &#xA; My team (&#xA; Katie Zhu , &#xA; Basil Huang , and &#xA; Amelia Kaufman ) and I wondered about these questions and more at the start of Knight Lab&rsquo;s &ldquo;Collaborative Innovation and Journalism in Technology&rdquo; course in…

Evernote As A Neural Prosthetic

&#xA; &#xA; What I mean by a “neural prosthetic” is a supplemental tool that aids your&#xA;brain. Over the past year, I’ve found that Evernote fits that description&#xA;fairly well, and that it aids useful thought in many ways. &#xA; The collection of items that passes your attention daily includes: Wikipedia&#xA;articles, posts on HackerNews or other aggregators, research papers,&#xA;interesting…

Things I Read Recently

I’ve made some headway into my reading list over the past few weeks. Actually,&#xA;calling it a “reading list” evokes the wrong concept; it’s more like a&#xA;constantly re-ordering queue of effectively infinite reading material that is&#xA;pitiably reduced over time. But anyway, here’s some of the things I came&#xA;across: &#xA; &#xA; Consider Phlebas, by Ian M. Banks&#xA; # &#xA; &#xA; One of the…

A modular, test-driven Sinatra template

I recently found a (somewhat old) but&#xA;&#xA; great repository . The structure really helps you build modular Sinatra apps and has the basics needed for you to jump in and start building. &#xA; However, after discovering the joys of the &#xA; SimpleCov gem, which generates code coverage reports in HTML, I wanted to tweak this already-awesome repository. Also, I wanted a few more Rake tasks to…

Colby: Small Wrapper and Functions for Persistent, Immutable Data

Today, I cleaned up an earlier project I&rsquo;d left hanging around called&#xA;&#xA; Colby . It&rsquo;s a little wrapper around the data structures that the&#xA;Hamster gem provides, and it adds some functions to make working with&#xA;those data structures a little similar to the Clojure-way. &#xA; At this point, Colby is very experimental and is only at a 0.0.1 &#xA;release to reflect its…

Project Euler Problem 3 using Clojure 1.5 and a lazy technique

The problem: find the largest prime factor of 600851475143. &#xA; I used the Sieve of Eratosthenes and Ruby to solve it&#xA;&#xA; last time . &#xA; This time, I tried a lazy, functional approach. The result was an&#xA;efficient, straightfoward solution that involved no sieve or any&#xA;static/full-realized data structure at all! I make a recipe for the&#xA;kind of numbers I want and then take just…

RepoMap: track your local git repositories

Github link: &#xA; RepoMap &#xA; There are hundreds of git repositories stored at various folder depths&#xA;all over my computer. Organizing them, remembering where they are or&#xA;determining whether I still have a working copy cloned from a remote&#xA;repository is a chore. &#xA; So, why not have a map of where all my repositories are? Should be&#xA;simple enough to keep a YAML file with a map…

Sherlock: A Chrome extension to Search Inconvenient Websites

&#xA; &#xA; &hellip;and it was really quite simple to do! Sherlock is pretty stupid: all&#xA;you can do is click on him to specifically google the current tab&rsquo;s website.&#xA;So, if you find yourself adding &ldquo;site:example.com&rdquo; to your Google searches&#xA;often, this should be a nice shortcut. &#xA; Here&rsquo;s the MIT-licensed code: &#xA; https://github.com/gnarmis/sherlock .…

Ready Spam Detection in Twitter - Extended Abstract

&#xA; &#xA; Marcel Flores, Maciej Swiech and I have been working hard on our&#xA;machine learning project, in which we are asking whether we can detect&#xA;twitter spammer upon account creation, before they&rsquo;ve made a single&#xA;spammy tweet. Our results have been promising and I&rsquo;m posting here a&#xA;link to the project website: &#xA; Ready Spam Detection in Twitter . &#xA; At the above…

Hack Northwestern Updates

&#xA; &#xA; It&rsquo;s been a busy few days at Hack Northwestern! We got a&#xA;&#xA; new home , announced a&#xA;&#xA; hackathon sponsored&#xA;by &#xA; imo , and just wrapped up a tech talk / hack night&#xA;by folks from &#xA; Seelio yesterday! &#xA; It&rsquo;s humbling to note that this started as an idle suggestion last&#xA;spring, and then a quick get-together of around 7 students. Here&rsquo;s…

Ruby Method Missing

I had an idea to try and bring a tiny bit of Clojure&rsquo;s ideas of hash-maps to Ruby&rsquo;s hashes. I came up with a simple monkey-patch that allows you to truly use hashes as functions of their keys. In the process, I&rsquo;ve come to really dig method_missing , although debugging it can be a chore. Word of advice: always implement respond_to? with your method_missing . Principle of Least…

On Ruby 1.9&#39;s Flexible Syntax

Over the past day or so, I&rsquo;ve been playing around with small bits of&#xA;Ruby after spending most of the summer in Clojure-land. There&rsquo;s great&#xA;similarities in both Ruby and Clojure (functional style, dynamic,&#xA;etc), and both are very practical choices. Clojure gives you amazing&#xA;access to JVM land while not forcing you to pull your hair out, and&#xA;Ruby grants you a good…

Piping Arguments Through Multiple Functions in Ruby

After asking #ruby what the equivalent of Clojure&rsquo;s&#xA;&#xA; -> macro &#xA;could look like, I compiled the collective solution into a gist. You&#xA;might find this useful somewhere, especially when you have multiple&#xA;transformation functions operating on the same basic data structures. &#xA; # piping example in Ruby &#xA; &#xA; def foo (data)&#xA; data [ :a ] += 1 &#xA; data&#xA; end…

Moving From Posterous to Github Pages

Ever since Posterous was acquired by Twitter, I&rsquo;d been meaning to&#xA;ditch the service for something better. While it was convenient to&#xA;post by email and enjoyable to forget about hosting, I missed&#xA;controlling the structure of my raw posts and the site&rsquo;s design. &#xA; So when I discovered &#xA; Octopress , I was quickly&#xA;won over. Finally, a hacker&rsquo;s workflow: compose…

Sentimental: A Simple Sentiment Analyzer in Clojure

TL;DR &#xA; https://github.com/gnarmis/sentimental &#xA; Sentiment analysis is the hot thing to do these days. One example is ViralHeat, a social media monitoring platform that uses sentiment analysis to provide a picture about how the conversation is trending about certain keywords (or combinations of keywords, which they call profiles). There&rsquo;s a lot of such products, and for developers…

Snowball Stemmer: Deploying a Simple Clojure Wrapper

Having found an &#xA; awesome little wrapper for &#xA; Snowball (which allows for stemming of words, like &ldquo;going&rdquo; -> &ldquo;go&rdquo;), I decided that it was the perfect opportunity to try creating my very own &ldquo;Clojar&rdquo; and deploying it. It didn&rsquo;t&#xA;take long to fork the repo, make an account on clojars.org, make some minimal changes, and deploy this library. The…

Korma-Lobos-Tpl: Experimenting with persistence using Korma and Lobos

&#xA; Noir is an excellent, Sinatra-like framework in Clojure, and&#xA;&#xA; Korma is a great companion. But in a lot of database-backed&#xA;services, you often need migrations to make sane changes to the&#xA;database and have the abilitiy to roll back your various schema&#xA;changes. Lobos is a little library (among a few) that tries to do&#xA;this, but seeing only a few examples &#xA; here and…

Y Combinator in Clojure

( defn Y [r]&#xA; (( fn [f] ( f f))&#xA; ( fn [f]&#xA; ( r ( fn [x] (( f f) x))))))&#xA; There&rsquo;s few things as iconic as the Y-Combinator in functional programming. &#xA; The Y combinator can be thought of as a higher-order function that takes a function (which represents some sort of recursive logic) and returns its fixed point. This fixed point is the recursive function you want to call…

Rich Hickey&#39;s awesome talk: Simple Made Easy

&#xA; http://www.infoq.com/presentations/Simple-Made-Easy

Some Steps Into Clojure Land

I&rsquo;m really digging this wonderful little language called Clojure. It&rsquo;s a modern Lisp, meaning it has all the functional goodness I have been craving after using Racket. It&rsquo;s awesome being able to build things like interpreters and type checkers, which I didn&rsquo;t think I&rsquo;d be able to approach so easily (this was part of an awesome programming languages class taught by…

What&#39;s Here?: A Mobile App for Local, Personal Recommendations

&#xA; &#xA; Introducing &#xA; What&rsquo;s Here? , an app to help you explore your local people, places, and tweets. &#xA; This mobile app was an exploration of a project idea about searching and making sense of locally relevant data. It was explored in the context of my &#xA; Journalism & Tech project class . &#xA; You can use this app on any modern smartphone, though it was tested only on the…

It&#39;s Alive!

&#xA; http://getsoundboard.com &#xA; Me and Jon are finally at the stage where we can start showing off our&#xA;idea called SoundBoard, which was conceived and well received at a&#xA;hackathon last weekend. After talking about it with several great&#xA;people at TEDxUChicago, we feel the need to learn as much as possible&#xA;about how people use it. We have also put up a link on the site…

SoundBoard: A Crowd-Driven Music Player

Last weekend, me and Jonathan Chan spent a straight thirty hours working on&#xA;&#xA; SoundBoard , a crowd-driven music player, and had a blast! Our app won&#xA;second place by a single vote, and we won VIP tickets to the TedX - UChicago&#xA;event. It&rsquo;s been a hectic week, but it&rsquo;s satisfying to see a project emerge out&#xA;of a weekend of feverish coding. &#xA; Here&rsquo;s how…