Many years ago, I was speaking at a PHP meetup and got talking to a guy who worked at Microsoft. He told me about Microsoft’s BizSpark program, which lets startups use Microsoft’s software for free. As MongoDB was about a dozen people at the time, I filled out the application and started using PowerPoint forContinue reading “BizSpark”
Author Archives: kchodorow
The next great frontier in ML: dogs in hats
I’ve been messing around with Keras, a ML library that makes it pretty easy to do AI experiments. I decided to try out image recognition, so I found a picture of Domino in a fez: Then I wrote the following Python program which uses the existing ResNet50 image recognition library. import numpy as np fromContinue reading “The next great frontier in ML: dogs in hats”
Keeping your deps tidy
My coworker Carmi just published a blog post on the Bazel blog about how Java tracks dependencies. Bazel has some nice facilities built in to let you know when you need to add dependencies: ERROR: /home/kchodorow/test/a/BUILD:24:1: Building libA.jar (1 source file) failed: Worker process sent response with exit code: 1. A.java:6: error: [strict] Using typeContinue reading “Keeping your deps tidy”
GitHub notification… notifier
Here is what my inbox look like each morning: All those pink-tagged messages are emails from GitHub. Gmail cannot figure out which ones are important and GitHub’s notification stream, in my experience, is useless. It’s noisy and doesn’t clear the way I’d expect. The problem is, people actually do mention me on bugs. And IContinue reading “GitHub notification… notifier”
Life hacks
I was thinking about a couple of little things that have made my life a lot better in the last year and I figured I’d share: Buying cheese powder I love mac & cheese, particularly Annie’s sharp cheddar. However, 1) they always give too many noodles and not enough cheese and 2) Annie’s switched overContinue reading “Life hacks”
How to Skylark – the class
I’ve heard a lot of users say they want a more comprehensive introduction to writing build extensions for Bazel (aka, Skylark). One of my friends has been working on Google Classroom and they just launched, so I created a build extensions crash course. I haven’t written much content yet (and I don’t understand exactly howContinue reading “How to Skylark – the class”
Stamping your builds
By default, Bazel tries not to include anything about the system state in build outputs. However, released binaries and libraries often want to include something like the version they were built at or the branch or tag they came from. To reconcile this, Bazel has an option called the workspace status command. This command isContinue reading “Stamping your builds”
Using secrets with Google AppEngine
For side project #4323194 (implement a chrome extension that looks like this: 👂 and turns red when someone mentions you on GitHub), I needed to implement oauth from AppEngine to GitHub. As I’ve mentioned before, oauth is my nemesis, but for this project there didn’t seem to be a great way around it. It actuallyContinue reading “Using secrets with Google AppEngine”
Low-fat Skylark rules – saving memory with depsets
In my previous post on aspects, I used a Bazel aspect to generate a simple Makefile for a project. In particular, I passed a list of .o files up the tree like so: dotos = [ctx.label.name + “.o”] for dep in ctx.rule.attr.deps: # Create a new array by concatenating this .o with all previous .o’s.Continue reading “Low-fat Skylark rules – saving memory with depsets”
9 years of blogging have totally been worth it
Worth of Web is kind of a neat site: Oh well. It’s been worth it to me.