First of all, congratulations! This is fantastic work at any age, let alone 17.
One piece of advice - you should do some research on US/Canadian immigration policies and how a college degree affects (or doesn’t affect) your ability to immigrate. This is something that may not be top of mind for you, but if your goal is to move to the US it’s a very important factor to consider.
You’ve saved me tens if not hundreds of hours with ripgrep, and I’ve become a huge evangelist of it at my workplace. When I’m helping someone understand how to debug customer issues, the first thing I tell them is to install ripgrep. Truly a fantastic piece of software.
Any time! Yeah jq is great, but my usecase is covered better by these two together.
Truly the Unix philosophy at it's finest. It's the only way I search JSON these days! (or YAML with "yq | gron | rg" to get results, pop into (n)vim and to my thing :)
Sorry, how does ripgrep save you tens of hours? I get that it is faster than regular grep, but that doesn't really answer the question; I don't find myself stalled waiting for grep. The only reasonable explanation would be something ripgrep does that grep actually doesn't. I could try to guess, but have no confidence I would guess right.
1. Available on Windows without WSL, possibly the biggest time saver for those affected
2. Auto ignores .gitignore files, so does not search node_modules or build/ etc., huge noise reduction there.
3. -t/-T gates on file extension which is a very nice feature, again signal to noise
4. The combo of speed and the above and the recursive-by-default mean that you search much larger corpuses by default, like “all the microservices in the cluster” or “my entire home dir”, because you know it's some .xml file mentioning “jackson” where you saw this config you need before.
5. For some reason I never remember which regex features are grep vs egrep, so I end up just testing on a bunch of strings to see if I have to like backslash the plus operator or whatever. With rg it's like “oh this is going to have the same syntax as JS regex.”
6. Unicode compatibility by default could save you that sort of time maybe on specific workloads?
Totally anecdotal, but I have found ripgrep orders of magnitude faster than grep when searching a large corpus of data (in my case, many multi-hundred megabyte to gigabyte XML files). As in, ripgrep completed the search in seconds, grep took multiple minutes. I'm sure I could have done some research to optimise/parallelise grep, but ripgrep worked doing the "dumb" search.
I disagree about never. There are many challenges associated with it, and the relationship has to be very strong, but lots of world beating companies have been built by family members. Two that come to mind are Stripe with the Collison brothers, and Walmart was founded by two brothers as well.
Quite simply, no wolves aren’t dangerous. There were 12 wolf attacks from 2002-2020 in Europe and North America: [1]
“In Europe and North America we only found evidence for 12 attacks (with 14 victims), of which 2 (both in North America) were fatal, across a period of 18 years. Considering that there are close to 60.000 wolves in North America and 15.000 in Europe, all sharing space with hun- dreds of millions of people it is apparent that the risks associated with a wolf attack are above zero, but far too low to calculate”
Congrats Kash, Tejas, Josh, and your whole team! You guys are killing it.
You’ve made incredible progress over the last year. Your customer list is looking very strong, and it seems like you’ve honed in on a real and pressing problem.
Keep up the great work, but try to take a moment to celebrate how far you’ve come!
Congrats on the launch! This looks awesome. I would love to see this for Ruby and other backend languages, I will definitely check it out at that point. I really like the unique approach, and I frequently struggle with breakpoints in rails because the call stack gets so deep. Being able to set a break point where the error occurs and step back through time would be a huge win.