Skip to content

Instantly share code, notes, and snippets.

View booty's full-sized avatar

John Booty booty

  • Upstart
  • Near Philadelphia, PA
  • 02:23 (UTC -04:00)
View GitHub Profile
@booty
booty / ruby-1brc.rb
Last active January 11, 2024 08:31
Current version of my Ruby "One Billion Row Challenge"
# frozen_string_literal: true
# WIP, obviously! This does not actually merge the histograms yet (however, that should not take more than 1s)
# Execution time on my MBP M1 Max (10 cores, 64GB RAM):
# Ruby 3.3 with YJIT: ~36sec
# Ruby 3.3 without YJIT: ~52sec
require "etc"
if defined?(RubyVM::YJIT.enable)
@booty
booty / john_meatlover.md
Last active October 3, 2023 03:52
Stories about John Meatlover

"write me a police report about a guy who was caught going absolutely wild on a pile of beef at Arby's"

Metropolitan Police Department Incident Report

Date: 10/01/2023

Basic:

brew install sox
play -n synth brown

https://www.cloudacm.com/?p=3145

play -n synth 60:00 whitenoise
play -n synth 60:00 pinknoise

play -n synth 60:00 brownnoise

Mechanical vs. Quartz

Quartz is lighter, cheaper, more durable, vastly more accurate, and more convenient. You can easily change the batteries yourself with a $20 set of case opening tools from Amazon.

Solar powered models are quartz, with tiny rechargable batteries, so "quartz" includes them as well.

Nearly all mechanical watches are automatic; i.e. they are automatically wound by the motion of your wrist so you'll see "mechanical" and "automatic" used interchangably. After you take an automatic watch off, it will keep ticking for about 40 hours. It's almost like a pet you have to take care of occasionally.

Why the fuck would anybody bother with mechanical watches, then?

@booty
booty / ross.md
Last active September 29, 2019 02:50

Intelligence and ability-wise, I have no doubts you can do it! You are smart and writing code is almost never any sort of rocket science.

The only question is if you'll enjoy it enough to do 40+ hours a week, which you'll find out soon enough if you pour time and energy into classes and stuff.

One thing I'd say is that most coders don't code all day. Most coders have to spend a fair amount of time w/ clients figuring out requirements, working w/ testers, etc. So don't feel like it will be just you and a keyboard forever and ever.

@booty
booty / nitro-memory-string-profile.txt
Created February 19, 2018 06:01
Nitro String Duplication / Memory Profile Output
This file has been truncated, but you can view the full file.
Total allocated: 969059729 bytes (9465072 objects)
Total retained: 109427418 bytes (1120052 objects)
allocated memory by gem
-----------------------------------
243317834 bootsnap-1.1.2
224728804 activesupport-5.1.4
162793390 activemodel-5.1.4
82936263 activerecord-5.1.4
52278985 actionpack-5.1.4
What Went Well
==============
- Very satisfying to help users and see stories from Create move into production!
- Eagles won Super Bowl
- Continued to be responsive to uTu
- While waiting on uTu is frustrating, the silver lining is that we tend to "outperform" partners
-
What Still Puzzles Us
@booty
booty / JARVIS Retro Notes February 2nd 2017.txt
Created February 2, 2018 18:52
JARVIS Retro Notes February 2nd 2017
What Went Well This Week?
=========================
- Build notificationss in Nitro are super effective
- Healthy point total from Garett and David!
- Garett enjoyed working on user facing stories! (The stories carried over from Create)
- Great pairing with David, who helped Garett understand Bullet!
What Didn't Go Well This Week?
What Well This Week?
====================
- Robust point total
- Talkbox lessons were learned
- Celery. Man, how good is celery? *Celery.*
- Beginning of a long and beautiful relationship with Docker
- Beginning of a long and beautiful relationship with Juypter notebooks
- We made great strides learning about uTu's workflow (Nitro -> uTu API -> BigTable -> Jupyter)
- Understanding this workflow is part of our mandate when dealing w/ uTu
~/Projects/data_analysis (project_score_analysis!) (2.4.2) ± make build
docker-compose build
Building notebooks
Step 1/9 : FROM jupyter/datascience-notebook
latest: Pulling from jupyter/datascience-notebook
e0a742c2abfd: Pulling fs layer
486cb8339a27: Pulling fs layer
dc6f0d824617: Pull complete
4f7a5649a30e: Pull complete