I am building a competitive programming platform: https://toph.co
For me, it started as a way express ideas. I wanted to build a platform where I could implement the ideas I acquired and thought about during my time as a competitive programmer. One could say it was a scratch-your-own-itch project.
I have never set any concrete targets for this project. No growth targets, no revenue targets. And that resulted in simpler motivations for the project.
Experiencing the evolution of the project in itself has been both a motivation and a reward.
When I first created my website (https://hjr265.me) several years ago it was mostly a placeholder for the domain that matched my preferred handle/username.
Ever since I started the 100DaysToOffload challenge, I have been writing a bit more frequently on my personal blog: https://hjr265.me/blog/.
Apart from it being a writing excersie, I have been forced to look at my own work more critically before presenting them on the Internet.
I now find it more important to understand new concepts in-depth, as I learn them, so that I can explain them better.
I think about learning things that are beyond what I need for my regular work.
And, yes, I admit that I have used my blog at least once to vent about something.
I have been building Toph (https://toph.co), a competitive programming platform. I have been working on this for the past 7 years.
The stack includes Go, MongoDB, Redis, RabbitMQ, etc.
Not only have I been gaining software engineering skills, I am also learning aspects of business and growing a community.
I am doing this, of course, beside my client work and open source projects. And, fortunately, my client work tends to be interesting enough and provide opportunities for learning new stuff almost all the time.
I don't know if it is true for everyone or if I am phrasing this right, but keeping myself busy actually building something/anything helps the most (instead of just chasing whatever is new out there).
I have been using Linode for a little less than 15 years.
Linode's development has slowed to a crawl since this acquisition unless you start considering "Network updates to connect existing core sites to the Akamai backbone" and the likes as development.
I doubt Nest and the Tesla battery will take off all over the world, maybe in a decade or so, but not soon. However, I think smart sockets could be useful if you want to save power without investing thousands of $$$
The gist was that, if the interface and the structs that are supposed to satisfy that interface belong to the same package, and then you want to prevent any outsider from implementing that interface, you can actually include an unexported method:
type HtmlStringer interface {
ToString() string
isHtmlStringer()
}
Since it is unexported, no outsider struct can actually satisfy this interface anymore.
For me, it started as a way express ideas. I wanted to build a platform where I could implement the ideas I acquired and thought about during my time as a competitive programmer. One could say it was a scratch-your-own-itch project.
I have never set any concrete targets for this project. No growth targets, no revenue targets. And that resulted in simpler motivations for the project.
Experiencing the evolution of the project in itself has been both a motivation and a reward.