Recently I’ve been working on functionality in Follow Reset that requires machine learning and natural language processing, so I’ve been experimenting with two well-known NLP APIs: AWS Comprehend and Google Natural Language. While my primary interest in these API’s is for their custom modeling capabilities, I was curious to see what kind of quick results I could get from their basic entity recognition and categorization functionality.
The high-level product goal is simple: use Twitter bios to extract and detect high-level categorical information about people.
My main test case is the profile description of Joe Rogan, a very well-known comedian and…
These are my high-level notes from implementing basic autocomplete functionality with ElasticSearch.
Elasticsearch has several different query types. A quick summary:
match- standard full text query
match_phrase- phrase matching. Like when you put a term in quotes on google.
match_phrase_prefix- poor man’s autocomplete.
common(not covered here) - Takes stopwords (e.g. “the”) into account.
query_string(not covered here) - Expert mode. Can use AND|OR|NOT and multi-field search in a query string.
simple_query_string(not covered here) - Simpler “more robust” for exposing to end-users. (how is simple more robust? seems counter-intuitive. …
Update (August 2020): I wrote this 4 years ago when the React/component community were still in a relatively immature state. The (poorly articulated) higher level theme in this piece was something like “think critically about whether you need tools created by MegaCorps for MegaCorps with unique mega scale problems”, and when I wrote this, CSS in JS felt like a symptom of that more fundamental problem.
However, now we live in a React-centric component world and the CSS in JS tooling has evolved and matured significantly.
So, while I no longer endorse Don’t Use CSS in JS, I do still…
Twitter’s “lists” feature is one my favorite features. Not many people know about lists, or seem to use them very often, but they’re awesome. Let me explain why.
A visual example lays it out pretty clear:
Notice anything? Zero overlap in this view. Of course, there’s overlap overall, but it’s a small enough amount to where I barely notice.
I recently discovered the Internet phenomenon 40 Days of Dating. The website chronicles two friends, Timothy Goodman and Jessica Walsh, who try dating each other for 40 days and chronicle their experience every day with a journal entry. It’s a really fascinating experiment in human interaction and psychology.
One of the rules of the experiment is that the two people dating MUST see each other everyday for 40 days. And they must document it everyday with a questionnaire.
Reading through the series got me thinking, what if I did something for 40 days straight? How would that effect my life…
I’m a coffee lover. I am, really. I love coffee. I just love it, all of it, every part of it.
I love how it’s made, and where it comes from. I love that coffee starts as a seed and grows into a cherry that contains a bean that is harvested by farmers in different countries all over the world. These farmers take great pride in their craft to grow high-quality beans with rich, diverse, exciting flavors.
I love that coffee is completely universal. In nearly every country around the world, people drink coffee. Despite all the artificial boundaries that…
After I published my post a few months ago I got a message from someone asking why I was writing on Medium. Typing out a response revealed some interesting insights on product design, so I thought I’d share here.
The Medium editor does just enough to let you express yourself (bold, italic, quotes, links, H1, H2), and it doesn’t look like the top bar in Microsoft Word 2003. The only other writing tool I’ve seen that nails this balance is Basecamp.
The Medium editor is especially great when you’re getting edits from others on a draft. DraftIn is also doing…
A few months ago, Google killed it’s long-time Reader product, a free RSS reader and aggregator.
The announcement was met with cries across the internet. And rightly so — Reader was a fantastic, innovative service, especially for it’s time. It seems trivial now, but Reader was one of the earliest “social” apps I can remember — it was social before social was social.
But there was something about Reader’s death that seemed off to me. Reader was once arguably the best RSS aggregator around, and there was a time when I loved the product and relied on it to stay…
Collaboration is key to doing meaningful work, especially creative work. Meetings and conference calls are one of the best ways to enable group collaboration and break down geographic barriers, but a poorly run meeting can be be counter-productive, wasteful and draining for everyone involved.
Meetings and conference calls have a way of wandering off track if not run properly. This is especially true at smaller companies where employees are often less experienced at running and participating in meetings, and where process is often under.
On the other hand, a well-run meeting can be a massive boon to productivity, helping everyone…
When working on a side project, design and UX is important. Not just important from a product perspective, but it’s important for you.
Spend your nights and weekends working on something that looks like junk and feels clunky, and your inspiration will die a slow, painful death.
From the start, I wanted Octocall to look great, as well as feel smooth and painless throughout the user experience.
My design skills are decent, and improving, but most things still feel much harder than I know they should be. …