625 karma · joined May 25, 2020
Then for my project ideas, I find writing them out to really be what scatches most of the itch for me. I get to think through the problem, think about how I could implement it, maybe even do a little exploring of tech I could use to solve the problem.
For the vast majority of the ideas I don't circle back. For some ideas I will come back a few times and iterate on the plans and designs, but still never build it. And even fewer I actually build. Its all of the fun, without feeling like I can never finish a project. Instead I feel like I can't start them.
All of my UIs are written in typescript, most using Angular but I am switching to a homegrown framework for smaller "finished" projects. I have been looking into adding a GTK desktop app, but haven't determined the language I want to use.
Web servers are predominantly go, but also have c++, java, and rust servers. Everything is grpc with my own frameworks smeared over that.
I put envoy in-front of all of my web servers, and use custom filters for shared functionality across all servers. Things like request telemetry, transcoding grpc to json, auth, and waf are all in this layer. Having it separated in the proxy layer avoids needing to reimplement these functions across the different servers.
For CLIs, virtually everything is in go, but I also have rust, zig, and bash.
ETL stuff is all go. I've looked into using apache beam, but my homegrown framework does what I need, so I haven't made the switch.
Deployments are all to knative. I have a k8s cluster that I run it in at home, and use the managed version on GCP (cloud run). Deploys are all handled by custom bazel rules.
Infra is all managed with terraform (managed by bazel).
I use a few different types of databases. Postgres (or cloudsql) for application relational db. For most things I can use a graph database, and use Firestore for that. Its much cheaper to run Firestore instead of cloudsql for small amounts of data. I am using biguqery for my data warehouse.
Model training is done in jax/tf, and inference is all done with tfserving.
https://news.microsoft.com/source/features/sustainability/pr...
GCP recently announced Cloud Run can do, more or less, what you are proposing. It scales to zero, and you only pay for the request duration.
https://cloud.google.com/run/docs/configuring/services/gpu-b...
Is it really building an AI company in the hopes that you find something that gets traction? Or would a better plan be building a private military force to take AI from whoever gets it? Would VC want to invest in that as a hedge?
They do have ads in search though. I guess it depends on how much more money they make from people spending more time not leaving google vs showing you display ads on other sites.
Some sites don't get enough traffic from google to sustain their business where they previously did. Wholesale blocking google crawlers doesn't seem like a risky move for them.
It makes me wonder if that is a trend? Will more sites go to 'google zero'?
Having a third site to find a video of the product is even more friction.
Currently when you go the the page and search for something, it nags you about an API key for a service that isn't this one (confusing misdirection). There aren't any obvious links until you get the side bar to open.
When you visit this other product page there are some screenshots that aren't very clear what the product is (IDE?) and the description above the fold just says something about supercharging ai-agents or something (effectively saying nothing).
That is a lot of friction just to see if this is something that solves my problem.
The database is OLAP where Postgres is an OLTP database. Essentially it very fast at complex queries, and is targeted at analytics workloads.
> We have made this tool layer which means if I run `go` or `kubectl` while in our repo, it's built and provided by Bazel itself. This means that all of us are always on the same version of tools, and we never have to maintain local installations.
Currently I have to run `bazel run <tool>`. Your solution sounds way better. How does yours work?
Customer acquisition, like all companies with a free tier. It lets people experiment with their products and see if it meets their needs. Maybe those experiments grow up to be real products and continue running where they are. Maybe that user becomes an advocate for that product to their employer.
constexpr auto f(uint8_t *x) {
return std::bit_cast<char *>(x);
}
https://godbolt.org/z/K3f9b9GGs #include <cstdint>
#include <print>
constexpr uint8_t f(char ch) {
return static_cast<uint8_t>(ch);
}
int main() {
constexpr uint8_t r = f('a');
std::print("{}", r);
}It seems like the firebase repos have had a fair amount of activity.
git merge -> ci -> oci artifact -> cd -> cloud.
Every deployable is packaged as an image, and can be deployed to serverless runtimes available on many clouds, VMs, and k8s (I assume other orchestrators too, but haven't tried).
My goal is to commoditize my cloud provider, while minimizing my costs. Everything is configured through terraform, so standing up an equivalent environment on a new cloud is pretty trivial.
I've tried to be very mindful about what I depend on from the provider (eg using provider specific sdks). I have had mixed results at sticking to this. I would like to improve this to the point where I could automatically fail over to other providers.