The film revolves around two Chinese youth gangs and the experiences of a 14-year-old boy named S'ir. The story is divided into two halves: the first half traces S'ir's experiences in the gang, while the second half focuses on his home and love life. Both halves culminate in unexpected violence
Single responsibility means one unit of code does one thing.
It should not be responsibility for many different things.
In other words, it adheres to āseparation of concernsā.
In dynamic languages like Javascript, thereās no typechecking what a function can return.
So, a function could take any arguments of any type and return any type.
In general, we want to avoid this. Take the following code example.
Our function, getPlayerBehavior, takes one input that should be a number
However, the first return statement returns a type String,
while the second return returns a type Array.
This is an example where the function is doing two different things in one
unit of code. We want to avoid this behavior and evaludate what this function should do.
Should it pass back the list of behavior names
or should it find the behavior given the index.
Take the following solution as a guideline.
// Same constantfunction getPlayerBehaviors() { return PLAYER_BEHAVIORS.map(playerBehavior => playerBehavior.name);}function findPlayerBehavior(index) { if (Number.isInteger(index)) { const playerBehavior = PLAYER_BEHAVIORS.find(playerBehaviour => playerBehaviour.id === index); if (playerBehavior) { return playerBehavior.name; } else { // Could not find player behavior return ''; } } else { throw new Error('index should be type Number:Integer'); }}
In this example, we have separated the function into two functions because they are doing two separate things.
Depending on how we called this function before, we will have to determine
which function to use before we make the function call.
I left 2015 with optimism. I leave 2016 with mixed feelings. I slowed down my steam for writing. I ramped up with watching classic and contemporary films. We lost some world-changing people. Of course, this is inevitable.
To free me from the past, I must recognize the ups and downs of the year. Hence, the retrospective list.
Obligatory List
I ran my second marathon in San Francisco. Under 6 hours.
Revisited Thailand and Mexico. First-time to the UK.
I wrote 12 letters, far less than the previous year.
I meditated for 60 non-consecutive days. I stopped after traveling to Thailand.
I read 26 books, or one every 2 weeks
I participated in 4 hackathons - two corporate sponsored, the other two more hack for the sake of hacking. Thatās how Iād have it. One continues to be a small project about the Zika Virus
I am working on another side project that will not be named at this current time, but has been taking a lot of time
Beginning of the year, I finished a course on The History of Classical Music, up to the beginning of the 20th Century.
The rest of the year was spent learning the history of film. Kicked off by watching the 15 hour documentary, āThe Story of Filmā. Final tally: 129 films. This has been the highest the past decade. Large contrast to last year being the lowest in a decade.
Continued to go to talks, topics ranging from Time Travel 101 to Gut Bacteria
Add North and South Carolina to list of states visited. Total Count: 33.
I started a papers reading club at work, inspired by āPapers We Loveā
Along with many, I helped raise over $1,000 for charity this holiday season
My parents used to leave me at the public library for an hour. It was there I stared at a poster hung in the childrenās section, showing what each hundred numbers meant. This was my introduction to the Dewey Decimal system. I was in awe at how every topic in life, the universe, and everything could fit within these 10 category brackets. But alas, they donāt. That was revealed when I asked, āWhy are there books on suicide near language learning books?ā. Much later, I discovered the field of library science, and I realized librarians curated non-fiction books to fit between 000 to 999.
Seed Catalog
I was fascinated with cataloging systems ever since. So it doesnāt come to anyoneās surprise at my obsession with the 358 page, encyclopedic catalog called āThe Whole Seed Catalog from Baker Creek Heirloom Seeds.ā
Each plant entry has a crips image, an item code, and a short description from the farmer on why you should grow this plant. Each image whispers in your ear, āthis is what your garden can look like.ā The curators determined the selection by the limited supply of Bakerās Creek, as well as compatibility with the North American climate. So even with the limited selection, itās exhilarating to see what exotic or heirloom varietal lie with each page turn.
select page from seed catalog
The catalog has a lot of character. There are photographs of strange vegetable sculptures and children that could be the poster child for āFuture Farmers of Americaā. I love it when you have someoneās personality injected into these catalogs. Counter that with the department storeās 600+ page catalog of generic items.
This same elation came to me as I flipped through the Cool Tools Catalog. Kevin Kelly, co-founder of Wired, published this catalog and helps run the website by the same name along with and a slew of editors. Each page is full of interesting gems about topics I wouldnāt have thought about, like world traveling to cartoons that help you learn. For most items, the reviewer has used the item and shared what use they got out of it. For all other items, they are not vetted for, but the the reviewer describes why the item is cool and why they want to buy it at a future date.
Cool Tools
The selection of oddities feel like the curators were scratching an informational rabbit hole. Why would I want books on beekeeping? Or tiny homes? Or astrology? Because alluring and voyeuristic, like looking through someone elseās grocery cart. It opens my curiosity and sometimes gets me to dig deeper.
Then thereās the catalog of mythic proportions to a machinist. The McMaster-Carr catalog. Every mechanical part youād ever want appears in this tome. Over a thousand pages, this catalog has a limited print release. I found a copy at The Crucible in Oakland when I took a general machining class. Gears, nuts, bolts, screws, vinyl tubing, and much more. It has everything.
While thatās an incredible feat, McMaster-Carr has created an orderly website. While the website canāt show the catalogās size and weight, it adds features to the website you canāt translate to a physical object. They share CAD files so you can integrate their products into your 3D models. They make ordering easy.
McMaster Website
Instead of looking at an index in the back of a paper catalog, you can locate any item with the search bar. You lose the unintended discoveries if you were flipping through the catalog. Same same, but different. What you gain is order to their catalog without having to flip through unnecessary details of all possible selections of items you donāt care about.
Filmstruck Website
I am concluding with Filmstruck, the new movie streaming service by TCM, in partnership with Criterion. One of Netflixās challenges is providing the right content to an individual subscriber. Filmstruckās solution is to catalog their films by curated themes, like āClassic Bollywoodā and āA Smidgeon Of Religionā. And if those are not your flavor of curation, they also have typical genre categories. But you can spend more time viewing short movie descriptions than starting the movie, so let the cinephiles tell you whatās good.
Curation ties all of these catalogs together. Each catalog contextualizes and gives order to multitude of items. Thinking about this helps me think how to organize my work, from determining hierarchy in my code or organizing my thoughts in essays. Donāt think of catalogs are this passive thing weāre given. Think why they are being given to us.
After a year working with JSX syntax in React, Iāve learned a few things reviewing my code as well as other developerās code.
I am taking the perspective of a code review in these following code samples.
Last fix I would like to see is to alphabetize the tag properties.
I donāt want to find a property if the list is random.
This is more so when the property list is greater than 10.
Some of you may notice the two self-closing tags are unnecessary.
As you may or may not be aware, we are using Bootstrap.
Bootstrap contains āoffsetā classes that can be used to replace those first two column <div>.
I didnāt address this because the developer may plan to use it.
Itās more simple for me to note that in my review notes to the developer than to tell them to make those changes.
If that developer chooses to keep it, they can leave a comment as to why it is left that way.
The Javascript ES2015 spec introduces object destructing. Object destructing used to pass a single object parameter instead of long argument lists to functions. Take the following code example.
Bad Code:
function enableListFilter(option, filterName, filterIndex, activeAccessTypeIndex) { // Do Something}enableListFilter(option, filterName, filterIndex, activeAccessTypeIndex);
The function requires the developer to know the order of the parameters passed into the function.
When this is one argument, thatās easy.
When it gets to 2 or more arguments, this can get difficult since that stretches a developerās working memory a la āyet another thing to rememberā.
Hereās an alternative.
Better Code:
function enableListFilter({ option, filterName, filterIndex, activeAccessTypeIndex }) { // Do Something}enableListFilter({ option: option, filterName: filterName, filterIndex: filterIndex, activeAccessTypeIndex: activeAccessTypeIndex});
If you want to reduce the number of lines, you can use the object parameter shorthand.
Note: A caveat of this approach your argument names must be the same name.
In most cases, an explicit approach of writing out object keys is better.
Beyond the pagoda decorated with oriental lanterns and stone lions, is a center of Asian-American culture and identity. A common immigrant experience is to make the new home feel less foreign. For the Chinese and other Asian immigrants, that space is Chinatown.
Generations of Discrimination
My grandfather spent his early adulthood in San Francisco Chinatown. It was the 1930ās, and discrimination was rampant. My guess is he was assigned by the Chinese Chamber of Commerce his first job in San Francisco Chinatown. Or perhaps it was his father. Nevertheless, the chamber had their hand directly or indirectly because they helped find employment for most incoming immigrants. The Chamber acted as a gateway because new immigrants werenāt immersed in American culture or language, and during my grandfatherās time, there was rampant discrimination. 8 decades later, the Chamber remains to help. When founded, the Chamber was run by Chinese, for Chinese. Today, itās expanded to more Asian communities.
While Iām hazy as to how my grandfather got his first job, I know his job was to help run a laundromat. He worked there until the war broke out. He did his duty and fought the Asian Pacific front. When he came back, he courted my grandmother and married her. With the help of the GI Bill, he was able to buy a house in Berkeley. They had four kids, all boys. One of them is my father. By all means, they made their American dream.
My dad and his siblings grew up in that Berkeley house. They grew up under the strict and regimented rule of my grandfather. My grandfatherās kids children werenāt quite keen on the rules. As children do, they rebelled, but not well. As much as my father wouldnāt want to be compared to his fatherās flaws, I see this behavior passed on my dad. He gets anal about tiny details that I donāt think matter.
My dad still faced the discrimination in the 50ās and early 60ās. He recalled to me how the grocery store he stops at today didnāt allow him to enter when he was a kid. āNo colorsā a sign read marked at the front of the store. The tide changed in his early adulthood.
The dirty secret of immigrant communities is they discriminate. During my grandfatherās adulthood, the Chinese community discriminated against anyone who wasnāt Chinese. My grandfather rejected the idea he or any of his children would marry a Japanese woman. From the war, his discrimination grew larger. Iām sure he was livid when one of his sons married a Japanese woman. That was my parentās generational divide with their parentās generation. Today, my divide comes in other arenas, like sexual discrimination. Iām much more tolerant of the LGBT community than my parents. Itās not as harsh as my grandfatherās hatred towards the Japanese. Their discriminatory behavior comes from a lack of knowledge. And that becomes a learning opportunity when I speak to them about those things, if of course you can teach old people new tricks.
Chinese Yesterday, Muslims Today
Muslim communities are discriminated like the my grandfatherās Chinese community. Political tensions with China were high with the rise of Mao Zedong. Chinese restaurants were in the tank because the community marked them as a communist symbol. The community didnāt understand not all Chinese were communists. They failed to understand many of them were Nationals and pro-Capitalists. My grandfather was an anti-communist, and agreed with the economic beliefs of the community.Yet, like every other Chinese business, he was fighting to win the respect of his surrounding community.
Today, political tensions are high in the Middle East. In the Midwest, non-Muslim mothers are scared to have their kid play in a playground because they donāt trust the muslims in their community. It was a point of contention in a recent episode of This American Life. Trump caught wind of this and blew it out of proportion, calling for a temporary ban on all Muslim immigrants. Trump undermines the real point. The issue has more to do with the divide between communities.
My grandfather opened his own laundromats after the war. He was able to sustain customers by doing business with everyone, even the people who didnāt like Chinese people. Tensions came down when they saw my grandfather as the average Joe trying to make a living. They connected with him by talking to him on a regular basis. And he did a damn fine job with their laundry.
I have this itch that we, as a collective, no longer talk with one another. The communities with such rising tension do not connect on empathetic levels. The headlines flood us with asserting blame on the growing immigrant population when really, we never took the time to interact. My call of action is to interact with people you donāt agree with. Try to understand where they are coming from, and understand circumstances are different.
Coda
Iām writing to you from London/Gatwick airport returning from holiday. From the last few days I was here, I noticed good portion of service-oriented business is run by immigrants. After a few conversations with locals about Brexit, I noticed some alarming parallels. Some politicians have convinced the country immigration is the issue rather than pointing out the harder question of the economy. My guess is itās easier to scapegoat immigrants and play off this sentiment with the citizens. Again, my belief is communication is key for dissuading this argument.
Conclusion
My grandfather passed away before my first birthday. I wish I knew him more. I really want to have a conversation with him. Maybe about being an immigrant. More importantly, how he was able to convince people around him he was an American, assimilated. How he could operate a business with customers judging his allegiance to capitalism. But that wonāt happen, and I can merely speculate. So the best I could do was scrap this together through second hand accounts, photographs, and letters.
I know a conversation is a start, and letās continue this from now on. Tell me your immigrant story. Change my view on how I look at other cultures. The advice is concrete because the issues span generations.
Beginning this year, I steered in a film adventure. It started with Mark Cousinās documentary series, āThe Story of Filmā. Itās a 15 hour spectacle taking you around the world to learn about film history. Though there are sections where the focus is on Hollywood, it doesnāt linger there too long. Cousins talks about film as a global language. Starting from the beginning of film with the LumiĆØre brothers, Cousins works his way through the silent era but relates it to modern day cinema. As a viewer, youāre taken back and forth through films of different eras, understanding how one generation of film makers borrows from the film language of a previous era.
The series had a profound effect on me. Being able to see people make film from a hundred years ago and more tells me there are commonalities in human behavior and events that cross generation and millennia. I had a similar revelation when studying art history, though that was not as profound because the interpretations of the art were typically from secondary or tertiary sources. In film, there are primary sources from documentarians interviewing directors and cast members. For example, MoMA exhibits Van Gogh paintings, but its descriptions are written by the art curator. As an extra on the Blu-ray of Stagecoach, you can watch an interview with John Ford talking about directing his film.
Aging Film Stock
Thanks to recommendations from some readers, I checked out the Stanford Theatre. I donāt know why I hadnāt gone sooner. I watched āThe Blue Angelā from 1930. The film shows its age with the crackles and pops from the audio and dust and scratches on the film. I couldnāt care less. I was invested in the eventual downfall of the professor. I was taken aback by of Lolaās song as a harbinger. I witnessed a screening uncommon for today.
While the majority of this year has been watching restorations, original prints or something close to it is just as important. The Stanford Theatre showed me the value of old film. Itās the living print that has been stored for decades before and will continue to be our go-to until we can restore prints to the highest quality. That definition might be the highest pixel density you can get before there is no discernible detail in the film grain.
Thank goodness there are film preservationist keeping these films alive. Preserving the reels is a tough job. This is worse for film with ammonium nitrate thatās highly combustible, prevalent in film before the 1940s. Some films are lost forever because of neglect from the studios, archive fires, and other damage.
Whatās Next for Film?
Despite digital taking over, film still has a place in our world. The latest Star Wars film was shot partially on film to give it the aesthetic of the original trilogy. Tarantino swears by it because he believes it gives that bit of authenticity to movies. Is it enough to keep this medium alive? I wouldnāt know. Iām not in that industry. But I will appreciate film for what itās worth, if it means going to events at Stanford Theatre, SF MoMA, and Berkeley Art Music and Pacific Film Archive. I love this experience of film and would love if everyone could go watch.
I am coming forward; I glance at my phone during dinner conversations. I glance at my phone to check for notifications. I glance at my phone to check the time. I glance at my phone to preview a text.
Is it rude? Yes. However, I can argue that it depends on circumstance. If thereās a matter more pressing or urgent, the action is warranted. But try to be mindful by letting others know. I make the matter its own event and leave the conversation, i.e. a context switch. I donāt want someone to see me disconnected or disengaged in our conversation. An in-person conversation is dialog that belongs to the participants, not to the outside triggers of life.
I have been experimenting with myself by leaving my phone away from reach when Iām talking to someone. If Iām having a coffee shop chatting with a friend, Iāll leave the phone in my bag. If I have friends over for dinner, I leave it on a counter top where I wonāt check it.
The exception is when the phone is the conversational centerpiece. If you want to show something on your phone, then itās not rude.
The Longer Version
I have a tough time reflecting on ideas that Iāve read. Itās easy for me to read things to learn, but if I were to take a step further and apply what Iāve learned, I become stuck. Thatās why this is the fifth time I started writing an essay about Sherry Turkleās new book, āReclaiming Compassionā. Each past reflection was a step closer to finding out how Mrs. Turkleās book applied to my life. I identified the book applies to three areas of my life ā my work, my relationships, and my personal life through notifications.
Letās take a step back. Turkleās book discusses the shortcomings of communication with our new technology. These shortcomings focus around modifying our behavior that ends up distancing us. The book uses case studies and interviews to demonstrate the main points.
Work
One case reviews new paralegals using email as a primary mode of communication. These employees prefer email over face to face interaction to their boss and the firmās clients. Before, paralegals booked face-to-face meetings and talk about their clientās cases in person. After reviewing work performance of some NY firms, there were lots more miscommunication between firm and client. (need to review the effects). A few firms recognized this and forced their paralegals to make contact in person. Within a few months, these firms noticed an uptick with client satisfaction.
Thinking about my company, we use an IM service for work. I have found it far easier to IM my boss than to walk over to him and ask a question. The relationship was established prior that he can be asked questions in person, but for the first few months of my job, I preferred to ping him my questions. Then I realized thereās more to learn through a face-to-face interaction, so Iāve asked him more questions. When heās busy on something else, heāll let me know he needs a minute.
Further than that, if there are logistic issues between my co-worker and I, I will initiate a conversation in person or a video chat over resolving the issue over chat. When Iāve applied the latter, more effort is used to re-explain many times my point of view. If thereās a highly technical logical issue I know would be better through text, or more likely, images, then Iāll do that. Emails get flooded and many times, itās hard to respond to everything. But more on that later.
Relationships
The book also examines texting in romantic relationships. Mrs. Turkle talks to a teenage boy about his first relationship. The teen wanted the appearance the relationship mattered, so when she texted him, he made sure he responded immediately. More than that, he would stare at his response for a while to make sure it sounded right. He took advantage of the editing capability of texting. However, when he met with her in real life, he was scared he might say the wrong thing. Sometimes, the girlfriend didnāt want to remarks of her admirable abilities the boy kept making. Because itās hard to convey annoyance by texting, the girlfriend would respond negatively. This would devastate the teen, so he would text her non-stop trying to re-write his wrong. In the end, the relationship didnāt work. The teen was confused and hurt, unsure what he had done wrong. After examining this with Mrs. Turkle, he starts to see his errors, but heās unsure if he can escape the anxiety of each texts on the next partner.
I can relate to this teenager. I have found myself editing my texts to my past partners to sound better than something I can come up with on the spot. I donāt have problems in conversation. I have an issue with flirting through texts than expending energy to quality time, the need I have the most in terms of the Five Love Languages. [1] My aim with my partner is to focus on that need and spend less time focusing on making myself sound more interesting through texts. Besides, I love flirting.
Notifications
Notifications pierce through our attention span and jump to the front of our todo list. Turkleās book examines the consequences of constantly being bombarded by alerts. Her findings donāt look so good. When we get a text message, many of us will drop what weāre doing and read it. Of the many, the majority will respond to that text right away, even in midst of doing a different task. In other words, when we are talking to someone and receive a text message, few of us will stop that conversation and glance at our phone. Even fewer of us will respond to that text message than to continue to carry the conversation we are already having.
I get bombarded by emails, texts, and other phone notifications. Desktop notifications have slowly crept up too. I am okay with not responding to a notification at ping time, but I have a hard time forgetting about it when Iām notified. My solution is to silent those notifications, if not removing them entirely. I removed most of my appās notifications except for texts. I will silence my texts during work hours and leave my phone away from me once I get home. I know for the rare chance thereās an emergency, there will be a phone call rather than a text. As for when I respond to texts, itās whenever I have time to dedicate during the day to do it. Typically, that will be when I run out of steam at work and need a break, which is around 3pm. At home, I can check it after dinner. I have found I donāt sleep well if I text right before bed.
Attention
Turkle talks about this case between parent and child. A mother might be worried about how much time her daughter is spending on the phone. However, the mother takes emails and texts during dinner time, and the daughter tells the mother to get off her phone. Children emulate the behavior parents display. If parents donāt change their behavior, itās hard to imagine this mother changing her daughterās behavior.
I donāt have children, but I make it a point when Iām out with my friends to check my phone as little as possible. I recognize the moment I see the phone in sight, I have an uneasy feeling I am battling for their attention. Also, I recognize when I donāt know something that comes up during conversation, I should ask others and not try to check my phone. If all participants donāt know the answer, I still should not find the answer because I know I canāt control myself to continue to browse the Internet after I have found the answer. And I know the other person or persons in the conversation will feel left out, per the point I made in the beginning of this paragraph.
Closing thoughts
This week, I crossed my 50 day mark of meditation.[1] It isnāt 50 consecutive days, but I still see the effects it had on me. I feel closer to my body than I have before and Iāve reduced my general anxiety. One of the things therapy helped with in my past is recognizing when my body tenses u during stressful situations. I have not been practicing that behavior as much until I started meditating again, and now I recognize the internal battle Iāve been struggling with everyday. Mrs. Turkleās book shined light on some other areas that werenāt apparent to me I might also be struggling with. Not every case she wrote about applies to my life, but of the number that did and wrote about here, I have some action steps Iād like to try out. I know I might not be successful with some of my initiatives, and thatās okay. If I didnāt try, that would result in how Iāve approached self-help books in the past. The advice is sound, but because I have no action in place to change my behavior, I continue to fall into my own traps.
[1] Since writing this piece, I have stopped meditating. I crossed 60 days and stopped when I went on my trip to Thailand.
People who run marathons are sadistic. The feet wear down after a dozen or two dozen miles. Full recovery takes a days. Mental capacity gets beat up. Hunger sets in. To say at the very least, this was my state on Sunday. And Iām saying Iām sadistic.
You think after my first marathon, I wouldnāt run again. Despite the critics, I threw myself back in the pool.
Critic: āWhy would you pay to run?ā
The event is an incentive to get in shape. I dragged myself on extended runs because paid to participate.
Critic: āBut why? You could run on your own?ā
I guess so, but I like running in large groups. Plus, I like being catered to by marathon volunteers. In this event, that includes the police.
After the run, I love getting small ego boosts when I tell someone I ran the San Francisco marathon. I get an extra boost when they told me how much of an accomplishment that is. I admit, Iām shallow.
Critic: āAre you crazy?ā
You should have asked me that the first time around.
The SF marathon is held annually. This year, 27,000 runners took the marathon challenge. I feel proud to have finished under the time limit. But I feel like crap that I made some rookie mistakes. Please donāt make these mistakes.
Run faster than your training pace.
I thought my pace was 11 min per miles. Itās not. I found out my Fitbit canāt measure distance when my strike width is smaller than normal. That difference meant my time was longer than 11 min per mile. Of course, if I only use my Fitbit to pace, that doesnāt matter because the references would be the same. But hereās the kicker; I was still running faster than my ātraining paceā. I screwed up big time and felt miserable by mile 11. Also, I was surprised I was only at mile 11 when I got to that mile marker.
Run together, alone. Initially, I ran with my earbuds. For 13 miles, I thought I could drown the pain out with music. Not the case at all. I stopped more often with my earbuds in than without. After mile 15, I was about to find at least one chatting partner until the end of the race. I feel grateful to run into chatty folks. They helped me keep a running pace. Also, after I took off the earbuds, I heard a ringing in my ears after. Donāt listen to music too loud!
Train on an irregular schedule. In addition to running, I was also doing gymnastics strength training. Instead of focusing on running a few miles a day, I took more time contorting myself in strange positions. I couldnāt keep a good routine going during my 2 and a half months of training. My legs paid the price.
Run with worn out shoes. I used the same shoes from my first race. 8 months ago. Please donāt do that. My feet hurt unevenly. The right foot hurt more than the left. The traction was all gone. The padding was worn in. For a short distance, thatās fine. For a long distance, it can lead to terrible injuries.
Donāt pack snacks. I needed an extra snack after my stomach gave way. I left an extra Clif bar in my car and completely regret it at the halfway point. The tail-gaters parked close to the finish line were terrible people. I could have slugged one of them in the face if I had the energy to do it.
Take many caffeine shots. The gel packs are a great boost, but use them sparingly. It turns out they give me cramps. Thatās extremely unforgiving when I need to sustain a steady pace. I had a really bad muscle cramp towards the 3rd quarter that I shook it off by running more. It came back in the end when I tried to sprint through the last 0.2 miles.
Now that itās all said and done, Iām glad I ran again. I got to meet people from all over. I got to suffer with people from all over. I got a lot of cheers from all over.
Someone in the race told me, āNot everyone can do this, you know.ā Sheās right. Not everyone can run a full marathon. But, youāll never know if you donāt try. I put myself in the arena, and I hope this is your invocation to begin.
As part of National Day of Civic Hacking 2016, we formed a team that created a virtual reality prototype to enable the public to better learn about the Zika virus ā the nature of the pathogen, its health consequences, potential breeding grounds of Zika infected mosquitos, and effective Zika prevention techniques.
The dark masks a new moon as we continue down the streets of Charleston. The tour guide walks us to the entrance of an alleyway. The iron-rot entrance gate is shut and pad-locked.
āBehind this gate is a narrow alleyway leading to the Utilitarian Churchās cemetery,ā said the tour guide. āThe church locks the gates in the evening to keep out trespassers. Iāll tell you why when we circle around the corner.ā
We follow the guide to a small parking lot past an antiques store.
āJust over these walls is the aforementioned cemetery.ā The guide points at the 8 foot high cobblestone wall. āYears ago, that gate was not locked and was opened to the public at all hours. That is, until the antiques dealer stumbled through it late one night. You see, he was working late, passed midnight. He didnāt notice the time pass, baffled when he locked at his watch. He gathered his things and decided the alleyway would be a faster route to his car. He had never walked in the alleyway this late at night before.
He locks up his shop and walks down this alleyway. About halfway, he notices a grave mistake. There are no lights; itās pitch dark.ā
The group looks around. There are street lights all around us illuminating the area.
āThese lights you see today were installed a few years ago,ā the guide continued. āThis incident occurred two and a half decades ago. Folks, I assure you, the path was dark.
Not too sure where the dealer was going, he stumbled on a few headstones. Suddenly, he saw a lady in a wedding dress.
āExcuse me,ā he says, ādo you know a way out of here?ā.
The lady gestures to follow her. Without giving it much thought, the dealer obliges. He thought this woman was peculiar with this eerie glowing presence. She walked into a tree and disappears. The dealer is in shock and runs back the way he came. He runs out of the gate and takes the longer route to his car, swearing never to go through the cemetery again.
The next day, he tells his friends about the encounter. Some people are intrigued by the ghost and try to retrace his steps in finding the woman in the wedding dress. After one too many trespassers, the church got annoyed by the attraction, so they decided to lock the gate. This barred people from entering. As you can see here, no one was going to go around and climb the 8 foot high cobblestone walls.
On one particular night, for whatever reason, the church forgets to lock the doors. A pedestrian decides to see whatās beyond the gate and discovers the woman in the white dress. He calls out to her, but she doesnāt respond. Like the antiques dealer, he sees her disappear into the tree.
The next morning, the man returned to the cemetery but found no grave near this tree. From the description these two men gave, we donāt think this is the ghost of the serial killer. We believe this was Miss Annabel Lee.
Itās the 1820ās. Annabel was a frail young woman who fell in love with a sailor. Because the parents disapproved of this courtship, they would meet every night in the cemetery under this tree. Before the sailor was sent off to duty, he promised he would marry her when he returned. Sadly, Annabel died of yellow fever. On her deathbed, she asked her parents to be buried in a wedding dress. They obliged and buried her somewhere. The area she was buried was never marked, so we donāt know where the grave is. It would take a few months later for the sailor to find out, and he was totally devastated.
Edgar Allan Poe wrote about Annabel in his last poem. He named it after her, āAnnabel Leeā. A few months after publishing the poem, he died.ā
Then, the guide tells us something unbelievable.
āThe reason I think Edgar Allen Poe wrote about Annabel is he was the sailor. The timing checks out. He spent time in Charleston in the 1820ās. He was in the navy before he was married. And most evident was how grim he looked after his time in the Navy. Check out his before and after picture.ā
The tour guide holds up his iPad and shows a side by side comparison of Edgar Allan Poe as a sailor and much later after becoming famous.
Edgar Allan Poe in the NavyEdgar Allan Poe later life
We left that spot and continued the tour, but I was left wondering if the legend is true. I did an Internet search last week with very inconclusive results. I donāt think the truth matters though. It got me to think about fabricating reason to the supernatural, and how it tells a compelling story. If the truth were uncovered, I think the story would be mundane and boring. At least this way, we can put a reason to Edgar Allan Poeās grim face.
Alas, Iāll stop it with the ghost stories. If you enjoyed this, go check out Charleston or Savannah for yourself. Take the ghost tour and decide if the ghosts are real. Or just listen to some great stories about these cityās pasts. They have some great storytellers.
I went on a ghost tour in downtown Charleston where the tour guide told us real ghost stories. His stories were enlivened because we would bear witness to the sighting locations.
First, the tour guide introduced us to the ghost in the jail house. Over a century ago, a confederate prisoner occupied a prison cell in this jail house. One night, he heard footsteps down the hall. It was late so the prisoner thought it was a guard. When he looked up, he saw a woman in a white dress. He felt a chill as she walked passed his cell, laughing hysterically. Years later, the prisoner writes the experience was more horrifying than the dead bothers lost in battles.
The jail closed down and was abandoned for decades. In the early 90ās, a tour guide stumbled into the space and decided he should tell ghosts stories there. He started a ghost tour service and saw business boom. One late night, after telling his ghost story, he broke horror movie rule number 1: Donāt wander off alone. He walked down a long corridor saw a women in a white dress. He shined a light at her asking if she was lost. She smiled at him and walked into the wall. He was taken back and ran off. The next day he resigned from his tour business.
Who was this lady? The tour guide believes she was a serial killer from the colonial days. Her husband and she killed over 30 people. They were captured and sentenced to death. After the beheadings, her body mysteriously disappeared. Perhaps sheās haunting the jail house because no one knows where her body is.
In my quest in developing my data visualization skills, Iām finding validation to be a common interdisciplinary concept. For example, in music, you validate hitting the right notes, keeping beat, and listening to your pitch. In engineering problems, you validate theoretical calculations with empirical data. In business, you validate the business needs with return of investment calculations and customer satisfaction with surveys or field studies. In relationships, weāre validating our perception of the other person. Along the way, when we forget to validate our performance, assumptions, or perceptions, we falter. We play a terrible piano recital. We cause downstream problems in the production line. We take a loss in next quarterās revenue. We begin to distance ourselves from who we love.
We can classify validation as passive and active. Passive validation is when we gain validation without expecting it. A core essential of validation is feedback loops. Feedback loops are outcomes of validations that when triggered, feed back to the process. Test driven development embraces this by having the developer write tests before code. The rule of thumb is āred, green, refactorā. Red refers to running the test and seeing it fail. Typically, when tests fail, the printed output is red. Green means to write code and see if the tests pass. Typically, passing tests are printed green. Refactor means trying to make that code you just wrote more robust. āCould this piece of code be written better.ā Because you already wrote the test, and the code you wrote works, refactoring does not harm. In fact, if your refactored code does not work, the test will give you feedback, invalidating your new code. At that point, you can revert back to the old code.
Active validation requires an effort to test our perceptions. In my data visualization journey, Iām learning how validation works at each level of the process. At the top level, a visual designer asserts the problems of a target user and determines if this problem is best supported with a visualization tool. As a developer, I find myself missing this step of domain validation. Jumping straight to code before thinking about the end user is a smell of disaster. You may be solving the wrong problem or generating a new problem for the user. The old adage that more technology is better is not true. It reminds me of the film, āThis Is Spinal Tapā where one of the band members shows the documentarian that his amp goes to 11. The documentarian asks, āWhy donāt you just make ten louder and make ten be the top number and make that a little louder?ā The band member replies, āThese go to eleven.ā Building tools for the toolās sake is missing the mark.
I hate to admit it, but I find myself relying on intuition rather than verification. It takes energy to validate your intuition. But while this may be a short-term loss, itās a long-term gain, and humans find it hard to perceive long-term gains. This is where awareness can come in handy. Without awareness, we can let confirmation bias get the better of us. Confirmation bias is the fallacy of using purely coincidental evidence to confirm our intuition. With a heightened awareness, we force ourselves to realize weāre making a confirmation bias, and we must validate what we are thinking. Hereās an example. Why do some voters want Trump to be the next president of the US? I find this question really difficult to answer. Iām not a Trump supporter, so I made my own hypotheses. But, I havenāt talked to a single Trump supporter, so my hypotheses will not get validated. Having awareness means while I think I know whatās going on, I donāt have the slightest clue, and Iām painfully aware of that fact. If I wanted to know, Iād go to a Trump rally, interview some of the supporters, look at polls and surveys on the demographics of the voters, and ask experts.
Validation applies to teams. In a production line, you want to decrease your batch size and intervals of work. At each stage, there are feedback loops that validate whether each batch is valid. The result is an increase flow in production. When I was manufacturing stents, each batch size was small enough where we would only sample 5 to 10 parts per each stage of the process. Of course, final quality assurance checks 100% at the very end. If the parts were invalid at a stage, the batch would be removed from the production line and another batch would be added to the production line. The outcome was a faster output and better worker satisfaction. When you donāt have checks at each stage, errors get downstream, meaning a bad batch would waste time in production because you wouldnāt find out until the final quality assurance checkpoint.
Hereās an action to takeaway. Find one problem youāre repeatedly doing. Propose a solution to that problem. Purposely try to make that problem happen again. If it doesnāt happen, youāve properly validated your solution. If not, propose another solution and try again.
Footnotes
The Pragmatic Programmer is full of tips like āCoding aināt done until all the tests runā.
āRed, Green, Refactorā is a corollary to this.
Although I only brushed over the top level, there are three other levels.
Tamara Munzner writes in her textbook, Visual Analysis and Design, about the four types of validation.
They are domain validation, abstraction validation, idiom validation, and algorithm validation.
Abstraction validation is testing the translation between domain terms and visual data terms.
Idiom validation is testing the right tool for the right job.
Algorithm validation is benchmarking the algorithms and determining if theyāre performant.
The production line example is loosely taken from the three ways described in the book,
āThe Phoenix Projectā,
which describes software and dev-ops as a production line.
Itās worth a read if youāre in software and youāre having issues in your teamās pipeline.