Posts

Moving From Posterous to Github Pages

Ever since Posterous was acquired by Twitter, I’d been meaning to ditch the service for something better. While it was convenient to post by email and enjoyable to forget about hosting, I missed controlling the structure of my raw posts and the site’s design.

So when I discovered Octopress, I was quickly won over. Finally, a hacker’s workflow: compose post in Markdown, generate static content, push content to Github Pages. And since all posts are in Markdown, you truly have portable, human-readable content!

...

Sentimental: A Simple Sentiment Analyzer in Clojure

TL;DR https://github.com/gnarmis/sentimental

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’s a lot of such products, and for developers there’s a lot of high-quality and extensive libraries and toolkits that provide for this among other solutions, such Java’s WEKA or OpenNLP, or Python’s NLTK. There’s even many third-party solutions that provide an API you can use to get sentiment analysis, such as AlchemyAPI.

...

Snowball Stemmer: Deploying a Simple Clojure Wrapper

Having found an awesome little wrapper for Snowball (which allows for stemming of words, like “going” -> “go”), I decided that it was the perfect opportunity to try creating my very own “Clojar” and deploying it. It didn’t take long to fork the repo, make an account on clojars.org, make some minimal changes, and deploy this library. The nice thing is that everyone now has an easy way to try this out. I’m honestly surprised it was this easy and quick to deploy the thing!

...

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

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

...

Y Combinator in Clojure

(defn Y [r]
  ((fn [f] (f f))
   (fn [f]
     (r (fn [x] ((f f) x))))))

There’s few things as iconic as the Y-Combinator in functional programming.

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 repeatedly.

What’s a fixed point?

...

Some Steps Into Clojure Land

I’m really digging this wonderful little language called Clojure. It’s a modern Lisp, meaning it has all the functional goodness I have been craving after using Racket. It’s awesome being able to build things like interpreters and type checkers, which I didn’t think I’d be able to approach so easily (this was part of an awesome programming languages class taught by Robbie Findler). But Clojure is also a JVM language and can be compiled ahead of time, so it’s exceedingly practical and efficient. You can use any Java library and interop with other JVM languages pretty well.

...

What's Here?: A Mobile App for Local, Personal Recommendations

whats-here

Introducing What’s Here?, an app to help you explore your local people, places, and tweets.

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 Journalism & Tech project class.

You can use this app on any modern smartphone, though it was tested only on the iPhone 4. Also, you can try the app on a tablet or regular computer’s browser as well.

...

It's Alive!

http://getsoundboard.com

Me and Jon are finally at the stage where we can start showing off our idea called SoundBoard, which was conceived and well received at a hackathon last weekend. After talking about it with several great people at TEDxUChicago, we feel the need to learn as much as possible about how people use it. We have also put up a link on the site to allow easy feedback, so be sure to check it out and tell us what you think!

...

SoundBoard: A Crowd-Driven Music Player

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

Here’s how SoundBoard works. You, the host of some kind of party, want good music playing but also want crowd participation, but don’t have time or money to hire a DJ. Head over to SoundBoard, login with an Rdio account on any modern browser, choose an appropriate hashtag for your shindig, and let SoundBoard start playing songs! People can tweet things like “#sb #bestpartayevah radiohead” and then Radiohead gets added to the pool of artists from which SoundBoard picks songs. Leave the SoundBoard playing while connected to a TV and you have a great, participatory music experience!

...