Monthly Archives: August 2012

Funky Socks

I love funky socks. They’re the hidden pizzaz behind normal, everyday attire.

When people catch a glimpse of your funky socks flashing from your t-shirt and jeans, BAM, their world changes.
funky socks

Here are some of my favorite pairs:

First up is New Zealand Bed Socks with Polka Dots, from SockDreams.

Mailed to me from a mysterious gifter of the awesome BPAL community, this pair not only comfort my toes in the winter cold, but also comfy my heart knowing super awesome people are out there.

Next is a pair from my mom.
tweet socks

Aside from songbirds on their sides, their soles say “tweet tweet” in a rubbery-textured font! Super nifty!

Lastly, but not least, is a new knee-high from Modcloth: Delivered on Foot Socks.
Delivered on Foot socks
I love them! They have super cute hearts and envelopes, and definitely are an eye-catcher.

I wore them jogging one day, and my friend jested that I looked like a silly yodeler.

I don’t mind being silly.
Funky socks make me smile, and that’s all that maters.

[updated: Graphviz + SBOLv1.0]

1. Introduction

Graphviz is a powerful open-source tool that visualizes graphs and networks.

By implementing a few meaningful shapes, I tapped its diagramming ability to draw genetic circuits. Genetic circuit diagrams now can be specified by a simple text file. Graphviz‘s visualization algorithms handles all placements and alignments. Only the node names and edges need to be specified. Below is an example of a genetic circuit generated by Graphviz.

I was inspired to create this tool after tediously piecing together cookie-cutter shapes for the 2011 iGEM competition. For our iGEM project, a lot of sub-circuits were recycled, without a good way of recycling their corresponding diagrams. With my new node shapes in Graphviz, specifying circuit modules is as easy as a few short lines of text. With a little scripting, Graphviz lends itself to rapid genetic circuit diagram generation, and become far more efficient and powerful than copy-and-paste methods or GUI-based tools.

an update of the project is available with SBOLv compliant symbols

2. Download

The custom genetic circuit shapes are lpromoter, larrow, rpromoter, and rarrow, each corresponding to the left and right promoter and left and right arrow shapes.

They have been incorporated into the official Graphviz node shapes.

Download Graphviz from the official site

As a backup, I also host two builds. First is a in-source build, ready-to-use for Linux. It’s the stable release of Graphviz 2.28  with the added shapes. Second is a development build of Graphviz 2.29 installable on MacOS. I’ve tested it on Mac OS 10.6.8, and it works.

Linux in-source build (modified Graphviz 2.28):

MacOS/Snow Leopard build (Graphviz 2.29.20120828):

3. Gallery

The following images are generated with the dot tool of Graphviz. Below the images are the contents of the text files used to generate those images.

digraph g {

UAS -> NCAD [arrowhead=none];
UAS [shape=rpromoter];
NCAD [shape=rectangle];


digraph g {

a -> b [arrowhead=none];
b -> c [arrowhead=none];
c -> d [arrowhead=none];
a [shape=rpromoter label="UAS"];
b [shape=rectangle label="LacI"];
c [shape=rpromoter label="UAS"];
d [shape=rectangle label="Reporter"];


digraph G {

node [shape=rpromoter colorscheme=rdbu5 color=1 style=filled fontcolor=3]; Hef1a; TRE;
node [shape=rarrow colorscheme=rdbu5 color=5 style=filled fontcolor=3]; rtTA3; DeltamCherry;
product [shape=oval style=filled colorscheme=rdbu5 color=2 label=""];
node [shape=oval style=filled colorscheme=rdbu5 color=4 fontcolor=5];
combination [label="rtTA3 + Doxycycline"];
rtTA3protein [label="rtTA3"];

subgraph cluster_0 {
Hef1a -> rtTA3 [arrowhead=none];
rtTA3 -> TRE [arrowhead=none];
TRE -> DeltamCherry [arrowhead=none];

rtTA3 -> rtTA3protein;
rtTA3protein -> combination;
Doxycycline -> combination;
combination -> TRE;
DeltamCherry -> product;

Hef1a [shape=rpromoter colorscheme=rdbu5 color=1 fontcolor=3 style=filled];
rtTA3 [shape=rarrow colorscheme=rdbu5 color=5 fontcolor=3 style=filled];
TRE [shape=rpromoter colorscheme=rdbu5 color=1 fontcolor=3 style=filled];
DeltamCherry [shape=rarrow colorscheme=rdbu5 color=5 fontcolor=3 style=filled label="Delta-mCherry"];

Doxycycline [style=filled colorscheme=rdbu5 color=4 fontcolor=5];
rtTA3protein [style=filled colorscheme=rdbu5 color=4 label="rtTA3" fontcolor=5];
combination [style=filled colorscheme=rdbu5 color=4 label="rtTA + Doxcycline" fontcolor=5];
product [style=filled colorscheme=rdbu5 color=2 label=""];

digraph g {

node [shape=rpromoter colorscheme=rdbu5 color=1 style=filled fontcolor=3]; Hef1a; TRE; UAS; Hef1aLacOid;
Hef1aLacOid [label="Hef1a-LacOid"];
node [shape=rarrow colorscheme=rdbu5 color=5 style=filled fontcolor=3]; Gal4VP16; LacI; rtTA3; DeltamCherry;
Gal4VP16 [label="Gal4-VP16"];
product [shape=oval style=filled colorscheme=rdbu5 color=2 label=""];
repression [shape=oval label="LacI repression" fontcolor=black style=dotted];
node [shape=oval style=filled colorscheme=rdbu5 color=4 fontcolor=5];
combination [label="rtTA3 + Doxycycline"];
LacIprotein [label="LacI"];
rtTA3protein [label="rtTA3"];
Gal4VP16protein [label="Gal4-VP16"];

subgraph cluster_0 {
node [colorscheme=rdbu5 fontcolor=3];
Hef1a -> Gal4VP16 [arrowhead=none];
Gal4VP16 -> UAS [arrowhead=none];
UAS -> LacI [arrowhead=none];
LacI -> Hef1aLacOid [arrowhead=none];
Hef1aLacOid -> rtTA3 [arrowhead=none];
rtTA3 -> TRE [arrowhead=none];
TRE -> DeltamCherry [arrowhead=none]

Gal4VP16 -> Gal4VP16protein;
Gal4VP16protein -> UAS;
LacI -> LacIprotein;
LacIprotein -> repression;
repression -> Hef1aLacOid [arrowhead=tee];
IPTG -> repression [arrowhead=tee];
rtTA3 -> rtTA3protein;
rtTA3protein -> combination;
combination -> TRE;
Doxycycline -> combination;
DeltamCherry -> product;


5. Acknowledgment

Special thanks to my friends Robert McIntyre and Dylan Holmes for helping me to compile GraphViz.


Pandemonium Books.

My friends and I descended into the dungeon of that bookstore to find a legion of Planeswalkers. Excitement and conviviality was in the air.

booster pack

We sat around long, mead-hall tables and cast our lot.
Rustle, rustle, pop.
Each of us drafted spells from Magic the Gathering booster packs.

When dueling time came, we sat among awesomely friendly folks and played epic games of Magic.

I just attended my first Friday Night Magic and it was awesome.
Despite being epically crushed in my first draft tournament, FNM turned out to be surprisingly fun.

My most pwned moment of the night was when my opponent switcherooed my Sentinel Spider and killed my own flying Primal Clay critter with it. Oof.

My friends fared far better than I. One of them almost went undefeated!
I’ll definitely planeswalk back again, especially once Magic returns to Ravnica.

One of our friends gave my roomie and I a spiffy tour of Demiurge Studios.
It was super nifty to walk around a game studio, and see part of their daily bustling.

..though, I’m not sure how much daily bustling we saw, ’cause it was THURSDAY GAME NIGHT!

While we ate from the Mount Everest of pizzas, we played all sorts of games from their gigantic collection.

Thursday Game Night
I met all sorts of awesome folks like the artist behind the bathysphere of Bioshock!

I descended into Rapture with that thing!!!

Our exciting night concluded with us testing Demiurge’s game in development.

Though I’m not a console FPS gamer by any stretch of the imagination, their game was incredibly fun.
I had a great time.

It was afternoon when my roomies and I finally rolled out of our beds. Each of us, in the just-awake stupor, fumbled around the kitchen to break fast. We decided to concoct delicious rou bing (meat pancakes) from the leftover dumpling filling, and slump in couches for an unexpectedly intense movie.

It was a wonderful bonding moment, between us musketeers. We were three very different fellas, brought together by chance and happenstance. Aaron was an electric guitarist from out west, travelin’ with a super soft kitty. Jeff was a fierce mountain climber with a super sweet pet snake. I was a daydreamer, no pets yet.

Evenings around apartment filled with vibrations of guitar strings. Blues, jazz, metal, all kinds of music livened the place. Aroma of delicious home cooking also escaped to the streets. Both of my roomies were both excellent cooks.

Both of them also had excellent pets. I met Twist, Aaron’s shy kitty whom I got to befriend.

I also met Jess Snak E, Jeff's companion ball python. I remembered the first time I watched her eat, saw her unhinging her tiny jaw, struggling and wiggling around her food.


Alas, as the ebb and flow of time goes, they will be leaving elsewhere very shortly. Until that day comes, I hope to have just a few more lazy Sundays with them.

Grabbing my bag of holding, I ventured out to the Treehouse, a far away apartment  where my recently-returned friends resided. It was an arduous trek, involving buses spearing off to the great beyond.


After a long, accidentally detour-filled ride, I finally arrived at a cross street near the Treehouse. While traversing the rest of the way on foot, I spotted a near-windowless brick building off to the side. It had a sparse poster that read: Hank Lee’s Magic Factory.

Hank Lee

Holy smokes and mirrors!
I just had to see!
After struggling momentarily to find the front entrance, I stepped inside to find a tiny room filled to the brim with curious oddities. There were a vast array of different playing cards behind a display case and a whole slew of strange objects. A man who I presumed to be Hank Lee greeted me. I imagined him to be olde man from the Prestige, knowledgable of the most intricate of tricks. Right on the spot, I planned to spent countless hours perusing the store and conversing with the ingenieur.


Over a feast of mortadella and pickle sandwiches, I shared my exciting discovery with the denizens of the Treehouse. I spoke excitedly about Magic the Hank Lee store while my friends, equally enthusiastic, spoke of Magic the Gathering.  We made plans to acquaint ourselves with the purveyor of illusion-y goods as well as enter in the next Friday Night Magic tournament.

I can’t wait!

It was a fun and festive night on Friday when one of my roomies got our friends together for a potluck. Our apartment became filled with awesome people and awesome food.
Under my roomie’s guidance, friends rotated in and out of the kitchen, to roll dumplings.
He taught them long guarded recipes and secret folding techniques. At least that’s what I imagined.

The whole affiar was a little bit nostalgic.
When I was a youngin’. I had wonderful grandparent-y neighbors who were Dumpling Masters.
They invited me over every time they made pork-and-cabbage-heaven-in-a-wrapper.
We would gather around the dining room for dumplings and story time.
In between the bites, I gleamed insights into a long-ago China. I learned a lot from these professors emeritus of Art and Chinese Literature. They were sages, full of accumulated wisdom and scholarly knowledge.
I miss them a lot.
Prof. Den and Xia

Despite careful instruction from the Dumpling Masters, I was never any good at making the dumplings. In a momentary panic, I dashed out to acquire the next best food for the potluck: KFC.

I bought a bucket of these fiery, glazed chicken wings from a newly opened BonChon.
Everyone enjoyed them.

The end of the night rolled around with all of us heartly enjoying ourselves.
The room filled with friendly chatter and general fun.
I applaud my roomie with this ingenious idea.
The potluck was super successful and everyone had a superb time.
Festiveness ensued.

On a not-so-distant Friday, perhaps we shall gather again for another round of Joy Potluck Club.