// The Comment #9: Aye, Yo…TrafficFlow?

Bone chilling temperatures, but a dope sunset.

The Comment is a weekly digest of the stuff that grabbed my attention or occupied some part my mind during the past week. Normally, it’ll be one thing that’s really been on my mind, followed by a handful of things that I found interesting. The Comment will be published each Monday at 10:30AM EST. 

Thanks for reading.

## What’s up with TrafficFlow?

TrafficFlow was a side project I took on to deepen my understanding of machine learning and TensorFlow with some hands on experience. I started out with the goal of being able to train a neural network to tell me if an image from a traffic camera shows traffic congestion. Initially, I did not think that this was an ambitious goal, but it turns out it’s more challenging than I initially thought. I started this project in the summer of 2017 and just got around to training a neural network on the collected data. I haven’t reached my goals, but I have a few takeaways.

Where am I at now?

I have done a first pass at training a neural network with the data I collected and classified.  The Keras code I am using is very similar to a tutorial that walks through training a neural network to recognize cats and dogs.  The network tells me there’s congestion in every image I run inference (prediction) on, even in some of the classified training and validation data. Something is very wrong.

Went well – Programming things

Part of the reason TrafficFlow got off to a great start was because I scripted the data collection aspects. I wrote an Android app for the classification stage. Finally I scripted the data preparation steps. All of the manual work was configuring the neural network (more on this in a later article) and using the app tp classify the data.

Not so well – Data is Key!

The largest portion of TrafficFlow was data collection and classification. I setup a script that automatically saved an image from a traffic camera every 3 minutes. The script worked flawlessly. The challenge I immediately experienced was dealing with data from rotating cameras. I wanted to add a few constraints to minimize effort, one being I would train a neural network to recognize congestion on one side of a street or highway during the daytime. It was really easy to throw out images captured at night. It wasn’t as easy throwing away data from a rotated or zoomed camera. The cameras never returned to the previous position perfectly. Sometimes it would be off or zoomed in (or out). I had trouble determining if I should keep this sample or toss it.

Another challenge I experienced was the lack of data. I captured over 9,500 images. This was not enough. Over half of these images were thrown out because it was night or the camera’s perspective changed. When it came time to train, I had ~270 samples of data showing traffic congestion and ~2,500 samples of data containing no traffic congestion. I estimate that I’d need a magnitude or more of data, (2700 samples of congestion, 25000 samples of no congestion) for me to have a shot at a reasonably trained network.

Where do I go from here?

I’ll need to really dive in to the configuration of my neural network. I re-purposed a configuration from a tutorial thats used to determine whether or not the picture has a cat or dog in it. I have a hunch that I’ll need something more purpose built.  This is the reason why I got into this side project, to really understand why I would use certain configurations of a neural network over another.

In the mean time, I’ll be uploading the scripts and code I wrote to Github sometime this week.

In the meantime, enjoy a time-lapse generated from the collected data.

/* fini */

// The Comment #8: Happy New Year

The Comment is a weekly digest of the stuff that grabbed my attention or occupied some part my mind during the past week. Normally, it’ll be one thing that’s really been on my mind, followed by a handful of things that I found interesting. The Comment will be published each Monday at 10:30AM EST. 

Thanks for reading.

# A few favorites

Here are just a few things that stood out for me in all of 2017.

Travel

Kente cloth making in Juaben, Ghana

I traveled to Ghana in March 2017 with my family.  We spent some time in Accra, Kumasi, Takoradi, and a few places in between.  We toured two former slave castles, walked the canopy bridge, and had dinner at a hydroelectric dam.  It was a fantastic trip with a lot of great people, food, experiences, and provided me with a different perspective and worldview.  I look forward to making a few more trips to Ghana.

Book

I read a handful of books in 2017, but my favorite was definitely The Color of Money: Black Banks and the Racial Wealth Gap by Mehrsa Baradaran. Mehrsa documents the numerous economic systems and policies that contributed to the wealth gap between black and white families (and banks) including slavery, sharecropping, Jim Crow, The New Deal, and more.  I will write more on this in the future, but it’s a good, eye-opening read, especially in light of our regressive tax policies going into effect today.

Runner Up: The New Jim Crow

Podcast

“Mic check, one, two, one, two!”

The Joe Budden Podcast easily turned into my favorite podcast in all of 2017. It’s a hip hop based podcast where Joe, Rory, and Mal chat about news and events in the culture.  It’s hilarious.  Warning: It’s definitely NSFW.

Runner Up: Uncivil

Internet Reading

I’ve been reading James Clear for a couple years now.  2017 is the year where I put some of his lessons into practice.   JamesClear.com presents an infrastructure for achieving your goals and desires for a better personal life by showing you how establish and consistently follow through on your habits.  All of his recommendations and tips are backed by science.  I found that just buying into a system to be critical, for me, for moving the ball forward in 2017.

Tech

Source: CNET

There were a few things here that I could have chose, but the one thing that has had a effect on my life is the camera on the Pixel XL & Pixel 2 XL.  I take a lot of pictures, most of them being of my family.  I used to take “good” pictures with a Sony NEX-6 digital SLR camera.  The NEX-6 takes great pictures, but its big, bulky, and has middling battery life.  Starting with the Pixel, and now the Pixel 2, I’ve begun capturing some of life’s most precious experiences with these devices because the camera is that good.

Album

“Laila’s Wisdom” by Rapsody.  Laila’s Wisdom is the entire package, great production, great lyricism and storytelling, great features, and great artwork.

// Bitcoin vs. LiteCoin vs. Ethereum

Here is a good explainer on the differences between Bitcoin, LiteCoin, and Ethereum.

/* fini */

// The Comment #7: In your inbox soon

Probably flying south soon…

The Comment is a weekly digest of the stuff that grabbed my attention or occupied some part my mind during the past week. Normally, it’ll be one thing that’s really been on my mind, followed by a handful of things that I found interesting. The Comment will be published each Monday at 10:30AM EST. 

Thanks for reading.

## Email Newsletter

I’m going to be turning this into a newsletter in 2018.  More on that in a few weeks. 👀

// How many ISPs are in your neighborhood?

Recode posted an interesting interactive map showing the number of broadband providers in different parts of the country.

Broadband penetration in Raleigh. Darker the blue, less choices available for broadband.

Unsurprisingly, those living in rural areas have fewer choices for broadband than those in the suburbs and the cities. Additionally, the wealthier zip codes tend to have more choices for broadband than poorer ones do. An issue with the rollback of the Title II classification for ISPs is that it opens up the potential for ISPs to implement pricing schemes or network practices that will inevitably be detrimental to rural and poor citizens. They simple won’t be able to change ISPs. The next generation of work is definitely leaning towards the Internet as a requirement. There’s a significant portion of the population who’ll be cut out of that.

// 60 Books, 10 Lessons

Seyi Fabode shared a list of 10 lessons and themes from the 60 books she read in 2017.  There are some good ones here. It’s also a great starting point if you are looking for somethings to read as you head into 2017.

// Fighting Depression and Imposter Syndrome

Wayne Sutton wrote a pretty powerful piece on how he recognized and fought depression and imposter syndrome. A lot of his experiences feel very familiar to me:

Discussing mental health has always been a taboo in America, in tech and especially in the black community. Historically, conversations around mental health are seen as a weakness. As a black man, the stereotype is to be emotionally and physically strong. You never cry, never complain, you survive, you endure. Showing any sign of weakness says that you’re soft. While growing up, I never used words such as empathy, or compassion to discuss my feelings. If I didn’t feel well emotionally, often the solution was religion, medicine or outdoor activities, aka avoidance. Very few times, if any, would I hear, ‘why are you thinking a certain way or feeling a certain way’. The concepts of self-awareness and emotional intelligence were not part of my upbringing.

Growing up, the tools and methods to properly discuss and handle emotions are not available. A lot of the time you are told to push through it, but rarely do we seek to understand why we feel a certain way. This leads to the lack of self-awareness and emotional intelligence Wayne talks about.

/* fini */

// The Comment #6: The Side Project

The Comment is a weekly digest of the stuff that grabbed my attention or occupied some part my mind during the past week. Normally, it’ll be one thing that’s really been on my mind, followed by a handful of things that I found interesting. The Comment will be published each Monday at 10:30AM EST. 

Thanks for reading.

## The Side Project

I’ve been in the software industry, as a professional since my first internship at Bayer CropScience in 2003 (thanks Inroads!). I wrote test cases and did some automated testing for the next 3 summers. My side project was a Java Swing (remember that) GPA calculator and college. My next side project, somewhere between college graduation and Sony Ericsson was a Windows Mobile app, Speeed Reader. Speeed Reader was a Google Reader app for Windows Mobile, and also my first mobile app. A few mobile app side projects and few layoffs later, I started as an Android developer for a healthcare and conference app agency in Durham. After a 3 year stint in the digital marketing automation space, some part-time mobile contract work…and another side project, PremoFM: a podcast app for Android, I found myself back in mobile in a bigger way. Fast forward to today and I work on RadioPublic’s Android app.  Most of my significant learning and career progressions, started out as little ideas and curiosities that became side projects. Side projects allow you to exercise your creativity, while doing some learning that you would not normally get in a work setting. Finally, side projects can grow into significant things like job opportunities or even provide you the ability to work for yourself.

Side projects are great ways to get some practical hands on experience. When I graduated, it definitely wasn’t my intention to become a mobile app developer. I started out just learning some C# because as an NC State student, access to Visual Studio and the .NET technologies were free! I had a Windows Mobile device and the ability to tinker around, so I thought to myself, “why not?” I started out with the goal of gaining more general programming experience and soon found myself building real things like Speeed Reader, a Google Reader client for Windows Mobile. Over the next few years, I built things for mobile, web, and on the server. I learned new things like, building an API with Node, building MVC webapps with PHP, and SQL. Experience with all of these technologies not only made me a more well rounded engineer with a ton of different perspective’s but also critical to building the skills that enable quick and productive learning.

The wrap things up, if you see a thing you want to eventually do, don’t feel the need to wait for permission. Just do it. This applies to plenty of things, besides building software. The barrier to entry to a lot of opportunities is the friction it takes to do a Google search.

// Motivation

James Clear dropping a few words about motivation for your Monday morning:

If you only work when you feel motivated, then you’ll never be consistent enough to become a pro. But if you build small routines and patterns that help you overcome the daily battles, then you’ll continue the slow march towards greatness even when it gets tough.

// Dear Bitcoin, it wasn’t supposed to be this way

Bitcoin’s inexplicable volatility and price surge has gone mainstream and it has made a lot of people rich. Weirdly enough, Bitcoin is more popular in the mainstream as an investment vehicle instead of the decentralized digital currency it was originally intended to be (it still is). Adrienne Jeffries writing at The Outline:

On Thursday, the price of Bitcoin fluctuated by thousands of dollars in a 24-hour period. The Coinbase app — which lets you buy and sell cryptocurrencies, and is the number two free app in the App Store as of this writing — started freezing and throwing errors, which the company said was due to high traffic. At one point, I tested the app by trying to sell some of my (very small) amount of Bitcoin, and the app simply buckled. “Bitcoin sales are temporarily disabled,” it said in an error message.

This is not how Bitcoin was supposed to work.

// In rotation: The Gerrymandering Project at FiveThirtyEight Politics

Galen Druke kicks off his 6 part audio documentary diving into gerrymandering and it’s effects on politics in the US. Definitely worthy of a listen if you are even remotely into politics.

/* fini */

// The Comment #5: ಠ_ಠ

Not just any tree, but a Harvard Business School tree.

The Comment is a weekly digest of the stuff that grabbed my attention or occupied some part my mind during the past week. Normally, it’ll be one thing that’s really been on my mind, followed by a handful of things that I found interesting. The Comment will be published each Monday at 10:30AM EST. 

Thanks for reading.

// Chance of an Artificial Intelligence Explosion

This is a pretty cool read.  Francois Chollet writing at Medium on the chances (or lack thereof) of an (artificial) intelligence explosion:

The basic premise is that, in the near future, a first “seed AI” will be created, with general problem-solving abilities slightly surpassing that of humans. This seed AI would start designing better AIs, initiating a recursive self-improvement loop that would immediately leave human intelligence in the dust, overtaking it by orders of magnitude in a short time. Proponents of this theory also regard intelligence as a kind of superpower, conferring its holders with almost supernatural capabilities to shape their environment — as seen in the science-fiction movie Transcendence (2014), for instance. Superintelligence would thus imply near-omnipotence, and would pose an existential threat to humanity.

This science-fiction narrative contributes to the dangerously misleading public debate that is ongoing about the risks of AI and the need for AI regulation. In this post, I argue that intelligence explosion is impossible — that the notion of intelligence explosion comes from a profound misunderstanding of both the nature of intelligence and the behavior of recursively self-augmenting systems. I attempt to base my points on concrete observations about intelligent systems and recursive systems.

Francois goes on to do a good job defining and describing the almost distributed nature of human intelligence.  An pretty good read and a great counterpoint to the Elon Musks of the world who are convinced that artificial intelligence is a definite threat to human life and will enslave us all.

// Jay-Z, A conversation with the New York Times

// Net Neutrality & Title II Classification

Ben Thompson and James Allworth debate the benefits of tradeoffs about the two horrible options available to us, with regard to Title II classification of ISPs.

Ben Thompson also wrote a pretty good piece on why Title II classification of ISPs may not be the most optimal vehicle for enforcing Net Neutrality.

/* fini */