Neil Young gave Spotify an ultimatum, either they get rid of Joe Rogan for spreading misinformation, or he would remove his own songs from the Spotify platform as a protest. Spotify sided with Rogan.
Platforms that start to take on the role of content creators put themselves in a strange position.
On one hand, Spotify shouldn’t “cancel” one creator because another creator doesn’t like what the first creator said.
But on the other hand, Joe Rogan – isn’t just a creator. He is an extension of Spotify itself. Spotify can’t claim the high-ground because they stoped being a platform and become a creator when they signed Rogan to a multi-year, 100M contract.
If Spotify was a pure platform they would create their policies and perhaps things would be simpler but as soon as they start hiring/buying creators, the creators become part of the platform.
This happens a lot to platforms. Microsoft Windows started out as a platform but soon Microsoft was shipping its own product (Internet Explorer) within the platform. Netflix started out as a platform but soon they started releasing their own movies and shows. Apple, Google, Facebook, and other platforms have all taken a similar approach.
Act one. Release a platform for other creators, developers, artists.
Act two. Release a few house brands, apps, products.
Act three. Slowly push your own content displacing more and more of the creators who initially helped grow the platform.
Artists and listeners can take their music to other platforms but it’ll be the exact same problem. Platforms have an incentive to create their own house brands in act 2 and displace creators in act 3.
I don’t think much will change until the platform and the content is bifurcated. A few web3 startups are exploring this idea. If we can truly split the ideas of content creation and monetization the incentives change. This isn’t just a problem with music, this problem exists with every content platform.
The solution isn’t ready for prime-time yet but in the future we will buy and stream our music directly from the musicians and artists who create them. We’ll be able to support artists directly, and artists won’t be tied to the platform, they will be bound to their fans. NFT’s are just the beginning, get ready for the new act 1.
Going into next year I’m starting to think a lot more about Web3. This started with Bitcoin and NFT’s but I think I’m going to dive deeper into Smart contracts, De-Fi and more.
I invested in 27 startups this year. 12 of these startups were via Techstars. Three companies had a write-up in valuation, zero companies went out of business and zero companies got acquired. Startups are hard to value but companies that get significant follow-on funding get external valuations from Series A, B or later stage financing. On paper shows I have a 252% return but in reality it’s still zero until the first actual exit event. So let’s wait and see.
Many others I can’t talk about yet. Follow TechstarsBoston for updates on graduating startups.
Stock equity growth of 170% from same time last year, driven largely by Tesla and other consumer oriented tech companies. This was totally ridiculous. This happens to capture a trough to peak, actual sustained results are closer to 40% return (still not too shabby). I talked about what I look for last year in a video called TAGMA. Tesla was the best performer by far but other companies I’m tracking closely include Cloudflare, Shopify, Apple, Microsoft, Square, Nio and Backblaze.
I did start the year with Zoom and Peleton. These were classic pandemic stocks that I thought could keep innovating but have since backed off these. They are great technologies and I use them both but I have not seen strong continued consumer innovation.
The easiest way to become a millionaire is to start investing. I made a video on this but then I put it to the test by setting up an account for my 13 year old. She invested a bit of her savings, picked two ETF’s without my help and had a 31% return, beating the S&P that had an impressive 27% return.
On the Crypto front I had a 66% annual return. This would have been larger but I added to my position late in the year driving the total % return down. This was driven largely by Bitcoin and Ethereum. I’ve been divesting from Bitcoin because it has underperformed and had less developer/app adoption.
I played with Doge and Shiba for fun this year but this has been a small novelty and not a serious position.
In general I think this is still a big growth sector. The technology is interesting but the user experience and user interface of most products is bordering on unusable. Companies that make crypto usable by norms will be huge winners.
Other projects I’ve started tracking for next year include Solana for its performance and Algorand for its proof of stake approach. I’m also planning on diving deeper into NFT’s next year.
I got to 10,000 subscribers! This has been rather amazing given that I only do this as a side hobby. A few videos have done particularly well and this has driven a lot of adoption. Hoping to get to 100,000 next year.
Revenue is around $200/month in passive income.
Around 18,000 views per month. This is more exciting for me than revenue.
I’ve been angel investing for the last few years and I love working with founders, and entrepreneurs but some of that changed when I recently accepted a role to run the Techstars Boston Accelerator program.
So why? Why join a company when I could just angel invest and work with entrepreneurs on my own? Two key reasons, and these are reasons appropriate for founders too.
You can do more with a team. Yes, you can go it alone and there are plenty of successful solo-founders but I’ve found that you can accomplish a lot more as a team than you can on your own. For me the Techstars team will allow me to accelerate and invest in significantly more founders and companies than I could on my own.
You can do more with a community. As an individual I’ve established many amazing relationships in the Boston community but the Techstars brand and reputation is so much larger than any one person. I’m inheriting the power of amazing mentors, unicorn companies, past and present founders and partners who are cheering for us. It’s exciting and humbling. A community is so much stronger than anything that I could do on my own.
Ok, ok… Team and Community. Sounds nice… but WHY?
I asked myself this question, why do I like entrepreneurship, founders and investing? The answer for me was that I wanted to leave the world better than how I found it. Entrepreneurs and startups are best positioned to create meaningful change. If I can accelerate companies that do one of the following, I think I’ll be helping to make a long-term difference.
Save Lives – Companies that are doing the difficult work of developing technologies, medicines and other innovations that directly save lives or reduce suffering.
Save the Planet – We all share this marble called earth and there are many things about it that we know need fixing. This covers sustainability and clean-tech across a number of technology sectors.
Companies that profoundly change the way we live and work. This is the future of disruptive technologies, both the ones that are already in progress like crypto, robotics, remote-work and AI and future technologies that will change humanity for the better.
GPT3 allows a simple and accessible API for accessing and using AI in an application. The application I wanted to create was a command line utility to quickly lookup commands and associated command line switches.
The language processing of GPT3 is well suited to process natural language questions and provide results across a wide multitude of obscure commands that would otherwise be difficult to memorize.
The development process starts in the playground of the OpenAI website. The examples section provides a number of examples, my command line bot was a modified version of a translation example.
You provide a number of examples and can then modify the options within GPT3 to increase or reduce randomness and provide alternatives for start/stop sequences. The beauty of GPT3 is that you don’t need to provide a lot of examples for the software to get really good at knowing the types of responses that you want.
With 5-6 samples the application was reliably producing useful results. The OpenAI playground makes it easy to export the API call as either a CURL command or as a short block of Python code.
The resulting Python code uses a library called openai and is otherwise six lines of code, two of those are actually unused. (yes I reported this bug.)
I had never previously written much Python code and Google Colab tool was a great way to get started. It’s essentially an interactive Python editing and debugging tool, and since it’s interactive and in the cloud there isn’t much setup needed.
I copied the exported code and started playing around. If you have a GPT3 API key you can try my initial version here.
In playing interactively, I was more easily able to figure out how to parse the JSON and I realized that including the platform name (Mac, Windows, Linux) helped the bot determine the appropriate platform specific commands and platform specific options and folders. This really improved the quality of results.
OpenAI API and limitations
The current version of the software doesn’t allow fine-tuning of the GPT3 completion API using your own database. For use-cases such as customer service or email completion, the ability to further train GPT3 on specific large data sets would be particularly useful. I do think this is coming as fine tuning was part of GPT2, but it hasn’t yet made its way into GPT3.
The other thing to note about the API is that it does take some practice and exploration. When providing a set of examples, it was difficult to unit-test the examples against known and desirable results. Very subtle changes in the prompts would yield very different results and the software would occasionally get stuck in a loop, feeding off of its own content.
Building the bot
Once I had the basic code working in Google Colab, I was able to get a version running on my computer. I had never programmed in Python and I ended up actually using GPT3 to help “auto-complete” some of my functions. I would do this by going back and forth with the playground with blocks of code. It wasn’t perfect but it felt much more natural and collaborative than the alternative of jumping back and forth between StackOverflow pages.
The core bot used the basic prompt from the playground example and a SQLite database to keep track of requests/responses and act as a local cache. This is likely overkill at this point but I thought it could be interesting if a general database of questions and answers could be compiled, filtered, enhanced and sorted over time. The database also acts as a speed and cost buffer since the GPT3 API is not free and not always the fastest.
$>cbot "How do I count the number of lines in a file?"
wc -l filename.txt
$>cbot "How do I get the mime type of a file?"
$>cbot "How do I create a file with the text 'hello world'"
echo hello world > hello.txt
$>cbot "How do I open php in interactive mode?"
$>cbot "How do I set my email using git config?"
git config --global user.email "[email protected]"
$>cbot What is the current date
After using the bot for a few weeks I started to add some more advanced functionality.
The -x option allows you execute the command directly. The -c option allows you to copy the answer into the clipboard (a little safer than just executing it.)
$>cbot -x "how do I put my computer to sleep"
The -g option allows you to ask general questions.
$>cbot -g "Who was the 23rd president?"
Lastly, you can use cbot to save command shortcuts. So if you’ve remembered an obscure command you can save it for later.
While this code is open source, the problem is that currently OpenAI isn’t available openly and that API keys are only available to select developers. This makes it currently impossible to publish open-source software that is meant to be used by typical end-users.
I am hopeful that end-user API keys will be made available so that open-source AI software and tools can be made more broadly available.