Today is the two year anniversary of Comet.cool!
Reflecting back, this blog has far exceeded my expectations in terms of longevity and purpose. It has been a way to share stories, pictures, jokes, and memories, but it has also become a vehicle for self-teaching and self-improvement. I've learned that sitting down to write a few times per week helps me focus my thoughts - even beyond the thoughts that I am actually writing about.
I've got some fun and exciting new concepts in the works to keep the site fresh. And there are a few bugs with the site that I intend to fix soon too. Stay tuned.
In a somewhat recent post, I mentioned that I was making a program to quickly flip through large collections of unlabeled images and assign labels to them. I finished developing that program about a month ago, and I've used it quite a bit since then. I named the program tkteach, and I've made it free for anybody to download, use, and modify on github (a website for sharing and improving code for programs). As I mentioned, the program is designed to be fast, easy, and reliable. It outputs the labels to a database, and it saves as you go - so you shouldn't have to worry about losing progress.
Over the past month or so, my time for working on machine learning has been limited. I've spent my limited time labeling as many images as possible using tkteach. I've labeled about 5,800 images so far - and I still have about 14,000 unlabeled images left. It's not necessary to label ALL of those images - but the more the better. Labeling the images is a little boring, so I usually do it while watching a twitch stream or listening to music.
The next step (which I'll likely start this upcoming weekend) will be re-training the neural network using all of these newly labeled images. I anticipate a very big jump in accuracy since this new training data is much more representative of the actual images that the network will be seeing.
I took Violet on a hike through Cat Rock Park last Sunday afternoon. Aside from the spot where I took this photo, the park was mostly ice and mud. But it was still a nice time to meander through the trails. Cat Rock isn't huge, but it has a handful of short trails. Plus, it's one of the few locations where off-leash dogs are allowed (other than the tiny fenced-in "urban" dog parks).
I'm looking forward to spring/summer where it will be warmer and there will be more daylight for doing hikes like this. They are good for mind and body.
I am pleasantly surprised this morning as Nvidia and AMD graphics cards are both connected to my computer and functioning at the same time. For years I believed that two graphics cards could only work in unison if they were the exact same make and model. The thought of using two different manufacturers' cards at the same time seemed like an impossibility.
But - I happened upon an article online that claimed it was possible. I connected the foreign AMD card alongside my incumbent Nvidia GTX - and I prepared for what I thought would be a long night of battling with drivers and compatibility issues. But - amazingly - the two cards worked together almost immediately. It resulted in a 50% increase in crypto mining speed. Glad I didn't throw it away.
A month ago, I took my first steps into the world of cryptocurrency mining. So far, the mining itself has been great - I've made about $80 by mining Ethereum, and I expect to accelerate that a little bit when I finally hook up my second video card that's currently sitting around doing nothing. While $80 doesn't seem like much, it was essentially free money. The impact to our electric bill has been negligible - and the mining is technically putting off a little bit of heat which offsets the gas bill. Aside from mining, I also invested a (very) small amount of money into Ethereum, which hasn't done great as an investment so far. But that's OK. I'll let it ride.
When I first posted about crypto, I said I would follow-up with another post all about Satoshi Nakamoto (the mysterious inventor of bitcoin). I had the Nakamoto post written about a month ago, but I forgot to...you know...actually post it.
Who is Satoshi Nakamoto?
The short answer is that he is the inventor of bitcoin and, more importantly, the blockchain technology that makes bitcoin work.
The long answer is that 'Satoshi Nakamoto' is almost certainly a pseudonym. People who reviewed the computer code for bitcoin say that it was either made by a single genius or a group of specialists working together. While the true identity of Nakamoto is unknown, there are a few theories…
A computer scientist named Craig Steven Wright has claimed to be the true Nakamoto on several occasions, and a few big names in the community have confirmed it. But, a few other big names have claimed that he is a phony. Some say that the evidence he provided was falsified. The jury is still out.
Someone did an analysis of Nakamoto’s writing style and found that it matched the writing style of a man named Nick Szabo, who was the inventor of an earlier electronic currency in the 1990s. A finance journalist studied the matter and concluded that Szabo would be the only person with sufficient experience and knowledge to invent bitcoin. Szabo denies being Nakamoto.
There is a Japanese American physicist named Dorian Nakamoto, who was born under the name Satoshi Nakamoto. A journalist once asked him if he invented bitcoin, and he said, “I am no longer involved in that and I cannot discuss it. It's been turned over to other people.” Obviously, that response made people freak out. He later said he misinterpreted the question, he thought it was related to his work at Citibank, and that he hadn’t ever heard of bitcoin.
An electronic currency pioneer named Hal Finney happened to live near Dorian Nakamoto during the release of bitcoin. It is known that Finney participated in some of the first bitcoin transactions and that he helped fix a few early bugs in the bitcoin code. Analysis of Finney’s writing style also closely matches that of Satoshi Nakamoto. Finny denies that he is Satoshi Nakamoto, and a Forbes journalist who met with Finney and studied him more closely reported that it’s unlikely that he is the true Nakamoto.
A Tesla intern even claimed that Elon Musk was the developer of bitcoin. Musk denied it.
A software developer named Gavin Andresen has been the lead developer – and the main figurehead – of bitcoin since 2011. In fact, Satoshi Nakamoto officially designated him as such. Some rumors began to swirl that he may be the real Nakamoto, but then during a convention, Andresen said something to suggest that Craig Steven Wright was the real Nakamoto. Shortly after, he retracted his statement. Another interesting thing about Andresen: he lives in Amherst, Massachusetts.
From my limited amount of research on Nakamoto, I've learned that tech journalists are obsessed with searching for him, and the cryptocurrency community generally doesn't care who he is.
...big shoutout to wikipedia and the first 5 webpages that come up when you google "Satoshi Nakamoto" for giving me this info.
Quartz (A digital magazine/news source) recently released an article about Panpsychism. This is a theory/concept that all physical things have consciousness (even rocks). The Quartz article essentially claims that a scientifically rigorous explanation of consciousness in humans/animals has eluded neuroscientists, philosophers, and physicists; to the point where the theory of Panpsychism makes more sense than the concept that brains somehow produce consciousness from non-consciousness. In other words - they are struggling to understand why assembling non-conscious organic flesh in a very specific way to make a brain causes consciousness to occur.
Panpsychists posit that non-organic matter has a form of consciousness that is "unimaginably simple" - so it's not like your bedroom mirror has any thoughts about your outfit choice. While this concept initially seems ludicrous, they question why a scientific truth must make common sense to begin with.
You can read the Quartz article here. You can read the wikipedia article on Panpsychism here. I learned of this Quartz article from theJournal.email, which is a monthly email newsletter full of fascinating tidbits. Image is from Shutterstock.
On Wednesday we saw the band Sleigh Bells perform at The Paradise in Boston. It was a fun concert. The band mixes pop vocals with distorted hard rock guitars and drums. They have a really stripped down and intense sound. Even when you listen to their music on low volume, it sounds loud. I think it’s the built-in distortion on the tracks.
This band isn’t for the faint of heart!
While watching the recent Patriots game, I remembered a story about a high school football coach who chose to never punt the ball on fourth down - ever. I dug the story up again, and it's even better than I remembered.
The coach's name is Kevin Kelley. He is the head coach at Pulaski Academy in Arkansas. Before I get into Kelley's coaching approach, let me first say that his record was 77-17 as of August 2015. Looking up Pulaski Academy's 2017 record - they were undefeated.
Coach Kelley's theory is built on the concept that possession of the ball is more valuable than the position on the field. From that concept, punting the ball is clearly a bad idea. Coach Kelley never punts - even if his team is on fourth down with terrible field position.
But that's not the only strange thing about Coach Kelley's approach. Since he puts so much value on ball possession and so little value on field position, most of his teams' kick-offs are on-side kicks. If you don't know, this means that rather than kicking-off by sending the ball to the far end of the field, they kick the ball only a few yards and let it erratically skip along the ground with the hope that they can regain possession during the ensuing chaos. His team practices 12 different variations of an on-side kick.
Along with that same theme, Coach Kelley's team never returns punts or kickoffs. This is because punt and kickoff returns are often high-risk for fumbles, and since possession is so valuable, returning the ball isn't worth it.
Obviously, since ball possession is so important to Coach Kelley, turning the ball over due to an interception or fumble would be bad. To statistically reduce the likelihood of a fumble or interception, Kelley strategizes to move the ball down the field in as few plays as possible. He found that plays in which three or more people touch the ball (i.e., trick plays) are statistically more likely to result in 20 or more yards. So, his offense relies on them heavily. Rather than blocking to help shield a ball carrier from defenders, teammates will position themselves behind or to the sides of a ball carrier to make themselves available for a lateral pass. The coach says that the lack of blocking doesn't have a big impact because defenders are forced to position themselves differently to defend the potential lateral pass.
Despite the overwhelmingly strong win-loss record, there is a news story from 2016 about Kelley's team giving up 26 points in a single quarter due to the no-punt strategy. Obviously, turning the ball over on fourth down while in terrible field position would be devastating, especially if done repeatedly. But, despite this hiccup, the coach's strategy has garnered some serious attention. NFL coaches have even consulted with him.
I am definitely overdue on this post. I'm excited to write about some of my favorite music from 2017...
Before I dive into it, I want to reflect a little on how I experience music. The way I listen to music is not conducive to making "best of" lists like this. I like to find an artist or album I enjoy, and then listen to that (almost exclusively) for a few days/weeks/months until I extract every last ounce of enjoyment out of it. Then I move back into "music discovery mode" until I find something else to feast upon.
Because of this, my music knowledge tends to have a lot of depth and not a lot of breadth. I think I do this because I appreciate music more and more each time I listen to it. For the past few years, I've considered making new year resolutions of listening to an album no more than twice to curb my compulsive listening tendencies. I didn't do anything like this in 2018 (thank goodness) - but maybe 2019 will be the year where I turn into a music discovery fiend (doubtful).
If anyone else can relate to this, let me know and maybe we can form a compulsive listener support group.
Below is a list of my favorite albums from 2017. Based on the above disclosure of my listening habits, you can be sure that I obsessed over each of these albums for a minimum of 1 week. The albums are listed in no particular order.
Brooding, authentic, enduring. Ryan Adams wrote and recorded this album while going through a divorce, and that clearly amplified the usual moody emotion of his music. You'll have to go to the B-sides album to hear my favorite track, 'Stop You'. I'm not sure why that track wasn't on the actual album.
Comforting, smooth, and confident. Love this album. This sounds a little bit like Bob Dylan, but please don't let that turn you off. I mean it in the best way. This is the sound of a band that is entirely on the same page; they know their sound, they figured it out, and they bring it on every track.
Dreamy, charming, and cozy. I read that this album was recorded in the lead singer's bedroom - and I totally believe it. The guitars have a hint of surfer vibe, and the singing always has a whisper element to it. It adds up to a unique sound that can't be found elsewhere.
Haunting, thoughtful, patient. Full disclosure: these guys had one of the worst live performances I've ever witnessed at Newport in 2017. Yet, the quality of their studio albums still impresses me. The songwriting is great. Jess and I will see them again in 2018 at Boston Calling - perhaps because it's hard to look away from a car crash. But, I genuinely hope they can put on a live performance that their albums deserve.
Clean, sparse, and vulnerable. The xx is a three-part band consisting of a male vocalist/bassist, female vocalist/guitar player, and DJ. The DJ, known as Jamie xx, is the secret sauce here, mixing samples and echoing beats into the otherwise extremely sparse pop/rock tracks.
Out-of-the-box, passionate, collaborated. This band's story is almost as good as their music. The 14+ member ensemble met on a Kanye West internet forum and decided to make a band. The fact that such unique and heartfelt hip-hop can come out of such an origin is amazing. The band released three full-length albums in 2017 and they're all good. The music seems to have an inexplicable consistency hidden away under its highly variable sonic qualities.
Meandering, echoing, carefully-paced. This is a great album to enjoy when you've got plenty of time to be patient with it. It will reward you. Get some good headphones, and settle down. Or listen while on a road trip. Just make sure you turn up the volume a little bit. Fleet Foxes released this album after a long hiatus, and it's great to hear that they're still performing at a high level. Fun fact - did you know that Father John Misty (AKA Josh Tillman) was the former drummer of Fleet Foxes?
Movement-inspiring, Catchy, Synthesized. Going into 2017, I liked Future Islands. Coming out of 2017, I love Future Islands. These guys delivered one of the best concerts I've ever attended, and now I'm a believer. It's hard to not - at a minimum - bob your head to their music. It's just fun to listen to, and it's delivered with an unparalleled level of enthusiasm by the lead singer, Sam Herring.
I've come to the conclusion that the performance of my vehicle detection neural network is being severely limited by the dataset of car images I used to initially train it. Those car images were almost always taken from the side, front, or back of the cars. So whenever the neural network looks at a car or truck from a diagonal angle, it struggles to classify it.
I got that batch of training images off the internet. I pieced together a couple different pre-made datasets to total about 6,500 images. If I want better performance, I will need A LOT more data. I need to collect it myself.
I wrote a program to detect movement in a videofeed (from youtube, for example). If the movement meets certain criteria, then the camera saves a picture of the localized movement area and re-sizes it to 64 pixels by 64 pixels (the size I am using for the neural network input). Using a video feed from a traffic camera, I can easily collect 1,500 images per hour (or a lot more if I increase the screen-shot frequency). The images will often contain cars, but they also sometimes contain other movement (such as shadows, moving trees, clouds, etc.) That's good, because the neural network will benefit from learning what non-car images look like.
Now I am capable of collecting (comparatively) massive amounts of image data. I can set this thing to run overnight and wake up with tens of thousands of images. The problem is, the images aren’t labeled. The neural network can't learn from them unless it knows which images contain cars and which do not.
So...I wrote a program that can be used to quickly flip through images and manually label them as car or no-car. The program is designed from the ground-up to be quick. It can work with the mouse, but it can also work with just key presses. I am working on getting it to output the labels directly into a sqlite database.
With these new tools, I will be able to expand my training dataset.
© 2017. All rights reserved.