Saving America's Cities: Ed Logue and the Struggle to Renew Urban America in the Suburban Age

Posted in: Reviews, Sunday, October 01, 2023

America’s cities are booming again. After decades of residents fleeing to suburbs, taking tax revenue and jobs with them, people have found urban living appealing again. And yet, in this new-found prosperity are the seeds of crisis. As more people move in, rents have climbed, burdening low-income renters. In 1960, one-fifth of renters spent more than 30% of their income on housing. Today, one-half do. in Los Angeles, nearly a third of renters paid 50% of their income in rent. Noone has stepped in to fix the problem. Affordable housing is blocked by community opposition, onerous regulations, and years of neglect. Government support has not been forthcoming either; despite more and more households qualifying for rental assistance, rent assistance has been reduced. What is to be done?

Continue Reading...

The Right to Sex: Feminism in the Twenty-First Century

Posted in: Reviews, Friday, July 14, 2023

This 2020 collection of essays on feminist philosophy by Dr. Amia Srinivasan deals with issues in contemporary sexuality and feminism. The author is quite critical of some aspects of modern feminism, and confronts difficult subjects in her essays. I learned a lot about the history of feminism from her writing. This is not a book that provides answers to the questions raised, only complications.

Continue Reading...

Fast Joins in Apache Beam

Posted in: Technology, Saturday, July 08, 2023

At work, I was given a task of joining two different events coming in via a real time stream in Apache Beam. While joins are simple in a SQL batch job, they are significantly more challenging in real time streaming systems. In a batch job, the data is bounded - it is finite and eventually will be exhausted. In a real time streaming system, the data is potentially infinite - it must be broken up into a bounded set of records or your join will take an infinite amount of time. In addition, data comes in at different times - how long should you wait to decide the other side of the join is never coming? One solution to these problems is windowing. Windowing is breaking a real time event stream into bounded pieces. One example of windowing is a fixed window.

Continue Reading...

Blind Man's Bluff: The Untold Story of American Submarine Espionage

Posted in: Reviews, Saturday, July 01, 2023

This 1998 book by Sherry Sontag, Christopher Drew and Annette Lawrence Drew explores the stories of the US submarines engaging in clandestine operations against the USSR. It was a high-risk game of machismo, with daring captains driving straight into Soviet territorial waters, no thoughts given to the niceties of international law. High government officials were often unaware of the risks being taken by their fleet. But the risks they took gave important technical information, and the opportunity to stop nuclear war before it started.

Continue Reading...

It's Our Turn to Eat: Corruption in Modern Kenya

Posted in: Reviews, Saturday, July 01, 2023

This 2009 book by Michela Wrong is about John Githongo, a Kenyan anti-corruption crusader. He is invited to be the Permanent Secretary for Governance and Ethics in the new presidency of Mwai Kibaki. He quickly realizes that his position is to create the appearance of doing something about corruption, not to actually do anything. He discovers a scandal that goes all the way to the top that he is explicitly discouraged from investigating. But instead of giving up, he secretly records his colleagues’s and leaks it to the press.

Continue Reading...

The Culture Map: How to Navigate Foreign Cultures in Business

Posted in: Reviews, Sunday, June 04, 2023

Have you ever found yourself working on a multicultural team and unsure how to interact with them? Then the book The Culture Map by Erin Meyer is for you. The author is a business professor that advises clients on how to work with multicultural teams. She divides cultures into 8 traits that fall onto a spectrum, and gives advice on how to work with cultures different than your own. For example, some cultures have different attitudes about time. Some cultures consider you late if you don’t show up at the exact time of an appointment (Germany), while some might give you a leeway of 10 minutes (France) and some might be an hour late (India). So on a spectrum, you might see it like this:

Continue Reading...

Accepting Mediocrity

Posted in: Blog, Saturday, April 22, 2023

These days, I feel more and more a sinking feeling that I haven’t accomplished anything important. I’m not sure what exactly it is I want – I say I should feel like my life is meaningful, but what exactly does that mean? While “meaningfulness” sounds like a noble goal, it could consist of less noble goals like winning the esteem of others, or being recognized as one of the “best” at something. Would I be ok if I was the best at something that everyone else thought was trivial? I want to do good in the world as well as do something meaningful, and I think those go hand in hand. But one thing is certain - there does feel like there’s a void in my life.

Continue Reading...

A Personal Data Architecture for Fun and Profit

Posted in: Technology, Saturday, February 04, 2023

I like doing amateur data analysis, so I’ve been capturing my personal data for the last couple of years and exploring it. Using free (as in beer) tools for getting data, processing it and generating reports, I’ve become more productive, healthier, and wealthier.

Continue Reading...

Mobility Hubs Toolkit

Posted in: Blog, Friday, January 20, 2023

Today the Mobility Hubs Toolkit was released, a book I’ve been working on the past two years. The toolkit is a book dedicated to the concept of Mobility Hubs – the places where people change modes of transit, be that bus, biking, or walking. They provide a comfortable place to wait for the bus, provide bike racks for those who ride their bike to/from the Mobility Hubs, and nearby parks and art to make the site more interesting. And they are not just large transit stations – any bus stop is a Mobility Hub and should have at minimum a shelter, and bike racks for bike parking.

Continue Reading...

The House of the Dead

Posted in: Reviews, Sunday, January 15, 2023

After some initial literary success, Dostoevsky joined a group called the Petrashevsky Circle, which was anti-tsarist and set up a printing press espousing some of their views. He was arrested and sentenced to death, but was granted a reprieve at the last minute. Instead, he was sentenced to four years’ prison and six years of exile. After being allowed to return to St. Petersburg, Dostoevsky published The House of the Dead as a description of prison life. Because of censorship, he publishes it simply as a factual description of prison life but it’s clear the Dostoevsky is against the institution and considers it cruel. And yet, what does one do with murderers?

Continue Reading...

Assigning an AWS Elastic IP In Place

Posted in: Technology, Friday, March 31, 2017

Often, I find myself starting up an AWS cluster, but have forgotten to assign an Elastic IP. However, you cannot change the IP in the AWS console without shutting down and restoring the cluster(a lengthy process)

$ aws redshift modify-cluster --cluster-identifier CLUSTER --elastic-ip IP

An error occurred (InvalidParameterCombination) when calling the ModifyCluster operation: The request to attach the Elastic IP address must include setting PubliclyAccessible to true.

$ aws redshift modify-cluster --cluster-identifier CLUSTER --elastic-ip IP  --publicly-accessible

An error occurred (InvalidClusterState) when calling the ModifyCluster operation: The cluster is already publicly accessible.

This is quite the Catch-22 - You can’t modify it unless you’re setting it to --publicly-accessible and you can’t set it to --publicly-accessible unless because you’ve already set it! However, there is a hack around it:

$ aws redshift modify-cluster --cluster-identifier CLUSTER --no-publicly-accessible

$ aws redshift modify-cluster --cluster-identifier CLUSTER --elastic-ip IP --publicly-accessible

You reassign the IP by turning off --publicly-accessible, and then assigning the Elastic IP while setting --publicly-accessible​ at the same time.

Continue Reading...


Posted in: Reviews, Monday, July 18, 2016

One of the things I like the most about franchised media is how it can continuously be re-invented and reinterpreted for modern times and audiences, while remaining true to its myth. How many times have superheroes been reborn, shakesphere redone, and classic literature retold? However, rebooting a video game franchise is a sign of trouble: a quick look at the wikipedia list of reboots is a graveyard of once great franchises with lackluster sequels. I’m happy to say that DOOM (2016) does not fall into this trap.

Continue Reading...


Posted in: Reviews, Monday, January 18, 2016

After a mild equivalent of a space winter post-Apollo, the world is getting excited about space again. Spacex, mars colonization, and fears of extinction have stimulated the public’s imagination for space exploration again.

Continue Reading...


Posted in: Reviews, Tuesday, December 29, 2015

Labryinth is one of the few films made for a generation not yet born. It’s supposedly a children’s film, but it bombed in the box office only to become a millennial cult classic. It has most of the things that were successful about 80s pop-cinema, or at least the things we thought we liked about it. The puppetry is done by Jim Henson, music by David Bowie, and liberally uses the tropes of children’s fantasy from the period. And yet, the tropes presented here are cynically reinterpreted through mass media spectacle, capitalism, and Freud. The standard fairy tale is twisted into a teenage girl’s masturbatory fantasy while acknowledging the magic that made us fall in love with the genre in the first place.

Continue Reading...

From Bash to Zsh

Posted in: Tech, Thursday, November 19, 2015

This is not the first time I had tried to switch to zsh, but after running into problems with bash that could have been fixed by using zsh, I decided to give it another go. I ended up picking this book since it compared bash and zsh, offering an easy zsh upgrade path by showing you how to duplicate your bash configuration in baby steps.

Continue Reading...

Modern Romance

Posted in: Reviews, Friday, October 02, 2015

After hearing Aziz Ansari discuss his book on the Freakonomics podcast a few weeks ago, I decided to get a copy of Modern Romance from Amazon. In his book, Ansari teams up with sociological experts to discuss how technology has changed how we form and maintain romantic relationships. In addition, he set up a subreddit for ordinary people to tell their stories of romance from around the globe. It is a short read, but remarkably empirical, using stories to illustrate data rather than picking the most lurid stories and spinning them - he finds that online dating and texting have their benefits and problems, and suggests ways to improve the modern romance experience.

Continue Reading...

Lord Of War

Posted in: Reviews, Sunday, September 06, 2015

Soon there’s gonna be a knock on that door and you will be called outside. In the hall there will be a man who outranks you. First, he’ll compliment you on the fine job you’ve done, that you’re making the world a safer place, that you’re to receive a commendation and a promotion. And then he’s going to tell you that I am to be released. You’re going to protest. You’ll probably threaten to resign. But in the end I will be released. The reason I’ll be released is the same reason you think I’ll be convicted. I do rub shoulders with some of the most vile, sadistic men calling themselves leaders today. But some of those men are the enemies of your enemies. And while the biggest arms dealer in the world is your boss, the President of the United States, who ships more merchandise in a day than I do in a year… sometimes it’s embarrassing to have his fingerprints on the guns. Sometimes he needs a freelancer like me to supply forces he can’t be seen supplying. So… you call me evil. But unfortunately for you, I’m a necessary evil.

Continue Reading...

Introducing Vimjects

Posted in: Technology, Saturday, August 29, 2015

I wrote my first amateur vim plugin, vimjects. It’s designed to source project-specific vim configurations, so that you can set options specific to your project.

Continue Reading...

Vampire the Masquerade: Bloodlines

Posted in: Reviews, Friday, July 24, 2015

It’s too bad the Vampire mythos has been reduced to the tween paranormal romance genre recently: they are one of the best monsters ever created, far more interesting the zombies of our current pop-zeitgeist; Unlike faceless hordes, Vampires manage to maintain a strong element of tragedy even when breaking our strongest taboos. Despite their threat to us, we ultimately root for the vampires for Vampires need not be monsters by nature. The Camarilla’s traditions that demand Kindred hold on to their humanity prevents the killing of innocent mortals, and the local blood banks are happy to sell to vampires. The reason they hide from is the same reason we reject them - fear. Instead a parallel world is created in image of our own society - the World of Darkness.

Continue Reading...

Alfred Baseconverter

Posted in: Technology, Sunday, June 28, 2015

I wrote a small workflow for Alfred 2: A system for converting between various bases in Alfred 2.

Continue Reading...

My time at the NIH

Posted in: Blog, Monday, September 01, 2014

Recently, I completed my internship at the NIH. I really enjoyed my work there, as I got an introduction to data science, bioinformatics and developed a lot of practical skills developing software for non-programmers.

Continue Reading...

Openhatch Workshop

Posted in: Technology, Tuesday, March 11, 2014

I attended an openhatch session last Sunday. Openhatch is a university workshop to help students start contributing to open source software. At the workshop, we were taught a bit about the open source community, git, IRC and bug trackers. We then learned about contributing on github. Breakfast and lunch was provided by the event.

Continue Reading...

Installing Tern for Vim

Posted in: Technology, Sunday, November 03, 2013

Recently, I started working on some javascript projects, and I sorely missed autocompletion provided by PyCharm and WebStorm. I found the tern project, which offers powerful javascript autocompletion in vim with YouCompleteMe. Setting it up however, was painful. For others trying to install tern for vim, here are the instructions:

Continue Reading...

Adding the Weather to the tmux status bar

Posted in: Technology, Wednesday, October 30, 2013

I decided to add a weather feature in my tmux status bar. I saw this could be done via powerline, and I initially tried to add it through there. I gave up after a few hours of trying to patch my fonts, although I must say powerline looks nice done right.

Continue Reading...

On Sorting Badly

Posted in: Technology, Tuesday, October 29, 2013

Recently, I saw this hilarious StackOverflow post: How bad a sorting algorithm can you make? Apart from the jokes, me and a few friends set out to make the worse algorithm we could in these constraints.

Continue Reading...

Interview Retrospective

Posted in: Technology, Friday, October 25, 2013

I had an internship interview today. My thoughts on how it went:

Continue Reading...

Her Fearful Symmetry

Posted in: Reviews, Tuesday, October 01, 2013

Often the labels we use to describe ourselves are a prison of our own making. We so closely identify with them that change is impossible, even if the label will kill ourselves. In Her Fearful Symmetry, Audrey Niffenegger tells a story of people defined by labels imposed by the world and themselves.

Continue Reading...


Posted in: Reviews, Tuesday, August 13, 2013

We’d like to offer the depressed comfort in the form of a single life-changing pep talk. But in reality, depression eats away at the belief you can be happy again. Perhaps this is why feel-good films are poor fare; If only it were easy to believe that things will be better. Melancholia does not attempt to make anyone feel better, only offering sympathy and understanding. But it offers more solace to the depressed than any happy ending could ever hope to.

Continue Reading...


Posted in: Reviews, Friday, April 05, 2013

Netflix has been pushing me to watch Cashback(2006, Sean Ellis) for a long time now, and so on a rainy Monday spent procrastinating, I brought it up. After watching the film, I’m a little hurt that the Netflix algorithm thinks so poorly of me. Never have I seen a film this misogynistic, this objectifying, this disturbing. The film promotes the nerd “nice guy” narrative, features plenty of soft-core nudity, and portrays sexual assault as romantic. All this is done while trying to convince us that the protagonist is still a great guy. As far as adolescent wish-fulfillment fantasies go, it doesn’t get much better than this.

Continue Reading...

Hackers and the Politics of Identity

Posted in: Technology, Tuesday, April 02, 2013

The title “hacker” is back in vogue. Once a title that even denizens of Slashdot and Sourceforge reluctantly used, the rise of startup culture 2.0 has inspired a revitalization of the phrase. Hacker News, the leading technology aggregator, is chock full of recruitment ads for “iOS hackers”, “Rails hackers” or just “hackers”. All of them promise the sky to these enlightened individuals.

Continue Reading...