2025-03-17 08:00:00
There are no shortcuts. You cannot build a successful company in five weeks.
But for optimists (and lunatics), five weeks is plenty to start a company.
You probably have a dayjob. Exceed your employer's expectations. Don't accept paychecks you don't deserve. Work on your startup mornings (not evenings) and weekends. Save your PTO until the third week, and then start taking off Mondays/Tuesdays (not Thursdays/Fridays) if needed. If you can no longer maintain stellar quality at work, it's time to move on.
Founders must adopt an investor mindset. If you want to create value, learn how to assess opportunity, how to leverage assets, and how to hedge risk.
It's okay to fundraise and it's okay to bootstrap. Either way, don't let ego rule you. Capital can be a tool like any other.
Investors don't choose startups, they choose founders. They want to multiply their money, and they want you to do it. But you can't just "pivot" a lousy personality. Nobody wants to bet on a billion-dollar idea that's chained to a fool.
If you are worth investment, then invest in yourself.
Good businesses create non-zero-sum wealth. If you sell that wealth for dollars, you can create more wealth to sell.
Outside of theft and burglary, the only way to make money is to convince other people to give you their money.
The main thing is to keep the main thing the main thing.
Create wealth and sell it to customers. You will not succeed if you cannot (1) create wealth, (2) find customers, and (3) sell that wealth.
Don't lose focus. Share your wealth.
Put everything together. Construct an engine that predictably transforms money into wealth, and then wealth into more money.
This is just the beginning. The rules are simple, but the game is grueling:
If you succeed, share that abundance with others. Remember where you're going, remember where you came from, and choose who you're becoming.
2025-03-16 08:00:00
Many folks find me abrasive. I pry, probe, steamroll conversations, miss social cues, argue, trounce boundaries, send mixed/unintentional signals, deeply offend, and so on.
I'm as charismatic as a root canal.
But I'm determined to grow. Books like HTWFAIP and How to Have Impossible Conversations and How To Talk So Kids Will Listen contain countless gems to evoke the best from people.
Unfortunately, I can't use that wisdom. When it comes time to put my mouth where my mouth is, I drown in the speed of normal conversation.
People somehow learn this stuff. There's literally school for it. How do they learn to talk and listen?
There are no shortcuts. In licensed therapy programs, professionals evangelize conflicting frameworks and nobody knows what's going on. I'm here to share one such framework.
Motivational Interviewing was developed for substance abuse rehabilitation, but it's grown popular with clinical psychologists, therapists, counselors, etc.
I'm no professional -- just some random internet person -- but MI has dramatically improved my listening skills.
My amateur summary of MI is that (1) people feel ambivalence, (2) change comes from within, and (3) "OARS" conversations hasten that change.
I suddenly spotted that ambivalence everywhere. People frequently feel anxiety/grief about work, family, health, etc. These enormous feelings leak into conversations as venting, gossip, smalltalk, and current events.
Street Epistomology offers guides on how to encourage productive dialogue. Consider using those techniques to help others explore beliefs and feelings.
Watching somebody's brain "click" is a rare delight of life. All of a sudden, that face lights up -- loss to enlightenment.
These moments rarely happen during dialogue, because you can't change the brain through the ears.
Think about your own experience. Most "a-ha" moments don't occur in the classroom -- they happen while doing the homework. There is no substitute for first-person learning.
You cannot lecture somebody into changing beliefs/feelings/motivations, but you can totally watch friends do their homework.
Don't assume too much -- part of the magic is learning what homework they've assigned themselves.
When people share confused/conflicting feelings, you can use OARS:
Yeah, I hate social-science acronyms too. I've internalized it as an algorithm:
Practice your conversational skills with this LLM prompt: "Help me practice OARS via role-playing. You are a friend I haven't seen in a few weeks."
I'm thinking about trying that new restaurant downtown, but I saw some mixed reviews online. Some people loved it and others said the service was terrible.
Everyone's talking about that new show, but I watched three episodes and just couldn't get into it. I feel like I'm missing something.
Did you hear about that big tech company layoff? They cut 5000 jobs after reporting record profits last quarter. It seems so unfair.
I hate my job. My boss micromanages everything I do, and I feel like I'm wasting my talents. But I can't afford to quit.
I know I should exercise more and eat better. Every Monday I start a new routine but by Wednesday I'm back to my old habits. I just don't have the willpower.
I've been offered two jobs. One pays better but requires long hours. The other is more aligned with my interests but the salary is lower. I've been going back and forth for days and can't decide.
My partner and I keep having the same argument. They say I'm not communicative enough, but when I try to talk, they interrupt or criticize what I'm saying. It's easier to just stay quiet.
2025-03-15 08:00:00
0 | individual person |
1 | nuclear family, small friend group, car pool, small team |
2 | extended family reunion, classroom, apartment building, small company |
3 | elementary school, village, large wedding, medium company office |
4 | large high school, small town, popular concert, large corporation office |
5 | major sports stadium, medium-sized city, large university, industry convention |
6 | large metropolitan area, small country, global company workforce |
7 | large urban area population, mid-sized country, global social media platform users |
8 | Japan's population, global corporation's customer base, global sport viewership |
9 | India or China's population, Facebook users, global television audience |
10 | world population + historical population, estimated global internet users by 2030 |
11 | estimated human historical total, ants on Earth, trees on Earth |
12 | estimated stars in the Milky Way, global annual digital information in bytes |
-10 | practically impossible, every atom in your body quantum tunneling simultaneously one foot to the left |
-9 | astronomically unlikely, shuffling a deck and getting cards in perfect sequential order, specific molecular-level event |
-8 | nearly inconceivable, winning national lottery jackpot twice in a row with single tickets, specific quantum tunneling event |
-7 | virtually impossible, same person being struck by lightning twice in a lifetime, specific major asteroid impact in a given year |
-6 | exceptionally uncommon, random person winning a specific state lottery, fatal reaction to a well-tested vaccine |
-5 | extremely rare, winning $100+ in a specific scratch-off lottery ticket, specific major earthquake occurring on a given day |
-4 | highly improbable, winning a specific 4-digit lottery number, being struck by lightning in your lifetime |
-3 | 0.1%, rare event, being dealt a royal flush in poker, dying in a car accident in a given year (US) |
-2 | 1%, very unlikely, winning a specific raffle with 100 tickets, professional athlete having career-ending injury in a given game |
-1 | 10%, moderate chance, rolling a 1 on a 10-sided die, rain in Seattle on a random day, minor side effect from medication |
0 | 100%, absolute certainty, guaranteed outcome, mathematical proof, sunrise tomorrow, death eventually occurring |
-9 | fastest computer operations |
-8 | light traveling 3 meters, fastest electronic switching |
-7 | high-performance CPU clock cycle |
-6 | RAM memory access time, radar echo |
-5 | modern computer instruction cycle, sound traveling 3.4 meters |
-4 | fastest human reflex, high-speed camera frame, computer memory access |
-3 | computer CPU cycle, camera flash duration, neuron firing |
-2 | fast eye movement, nerve impulse transmission, hummingbird wingbeat |
-1 | camera shutter click, finger snap, lightning flash |
0 | heartbeat, eye blink, saying a short word |
1 | taking a quick breath, typing a sentence, drinking a glass of water |
2 | 1.7 min, microwaving a meal, brushing teeth thoroughly, waiting in a short line |
3 | 16.7 min, cooking a meal, commuting to work, watching a sitcom episode |
4 | 2.8 hr, watching a movie trilogy, cross-town drive, professional sports game |
5 | 1.2 days, weekend getaway, binge-watching a TV season, transatlantic flight |
6 | 11.6 days, two-week vacation, waiting for a passport, healing from minor surgery |
7 | 3.8 months, college semester, pregnancy trimester, training for a marathon |
8 | 3.2 years, undergraduate degree, Olympic cycle, presidential term |
9 | 31.7 years, mortgage payoff, career span, generational shift |
10 | 317 years, rise and fall of empires, scientific revolutions, industrial age |
11 | 3,170 years, development of world religions, rise and fall of ancient civilizations |
12 | 31,700 years, ice ages, evolution of human language, cave painting to quantum computing |
-1 | earth rotation cycle, tide changes, circadian rhythm |
0 | human heartbeat, breathing cycle, clock second |
1 | slow typing speed, resting brain alpha waves, hummingbird wings |
2 | lowest musical note perception, fast typing, camera shutter |
3 | telephone voice band, musical middle C (261.6 Hz), bee's wings |
4 | highest musical notes, upper limit of human hearing (young adults) |
5 | bat echolocation, ultrasonic cleaning, medical imaging |
6 | AM radio transmissions, medical ultrasound imaging (1 MHz) |
7 | shortwave radio, MRI scanners, RFID systems |
8 | FM radio broadcast, aerospace communications |
9 | microwave ovens, mobile phones, GPS signals (1 GHz) |
10 | satellite communications, wireless networks, microwave links |
11 | millimeter-wave scanners, automotive radar, 5G communications |
12 | infrared radiation, thermal imaging, fiber optic communications (1 THz) |
-2 | penny, small paper clip, individual grain of rice, single cotton ball, one sheet of paper, 1g of soil, single drop of fresh water |
-1 | text message, small candy, plastic pen, rubber band pack, paper napkin, 1kg of sand, 1L of fresh water, handful of topsoil |
0 | candy bar, song download, dollar store item, public transit ride, service tip, 1 cubic meter of air, small bundle of firewood |
1 | fast food meal, movie ticket, paperback book, basic streaming subscription, cocktail, 1 ton of raw limestone, small garden plot (1 sq meter) |
2 | decent pair of shoes, week of groceries, nice dinner for two, monthly utility bill, entry-level headphones, 1 barrel of crude oil, 1 ton of coal, small pine tree |
3 | one month's rent (some areas), budget laptop, domestic flights, basic furniture set, low-end bicycle, 1 acre of rural land, 1 ton of iron ore, small residential solar array |
4 | used car, year of in-state tuition, high-end appliances, budget wedding, luxurious vacation, 1 acre of arable farmland, small woodlot, 1 ton of copper ore |
5 | home down payment, luxury car, four-year degree, small business startup, year's salary for mid-level professional, small local businesses, pre-seed startups, 1 ton of refined copper, small natural gas well, 10 acres of forest land |
6 | house in most cities, retirement fund, small business acquisition, exotic supercars, multiple college educations, seed-stage startups, small local chains, small oil well, 1 ton of silver ore, small quarry operation |
7 | mansion in premium location, medium-sized jet, multi-location business, minor league sports team, significant art collection, early-stage startups, regional businesses, medium mining operation, small wind farm, 1 ton of gold ore |
8 | private island development, large business conglomerate, major market sports franchise, significant venture capital fund, feature film production, series B/C startups, medium-sized private companies, coal-fired power plant, small oil field, moderate hydroelectric dam |
9 | major sports teams, large commercial developments, significant philanthropic foundations, major research initiatives, large company ownership stakes, Instacart, Roblox, Reddit, large diamond mine, major forest reserve, all of a small country's lithium reserves |
10 | national high-speed rail line, global tech platform, major airline group, significant portion of a major city, multiple global pharmaceutical companies, Airbnb, Snap, Uber, PayPal, large oil field, major hydroelectric project, 1% of global rare earth elements |
11 | large country's annual budget, global banking group, major tech ecosystem, comprehensive national infrastructure, international space program, Meta, Tesla, Alphabet, 10% of the world's copper reserves, all of Canada's timber, major river system |
12 | GDP of countries like Indonesia or Mexico, entire U.S. defense budget, ~5% of U.S. economy, nation-scale infrastructure overhaul, ~1/32 of U.S. national debt, Apple, Microsoft, Saudi Aramco, NVIDIA, all the world's extracted gold (~200,000 tons), all the world's copper reserves, Amazon rainforest |
-1 | passive income from tiny investment, individual blog ad impression |
0 | small app subscription, basic streaming service, candy machine |
1 | entry-level gig work, small creator tips, coffee shop regular |
2 | minimum wage job, side hustle, small rental income |
3 | successful professional, small business, popular creator income |
4 | successful small business, local restaurant, medical practice |
5 | regional retailer, medium business, successful startup |
6 | major franchise, large corporation division, popular e-commerce site |
7 | Fortune 500 company, major sports team, large hospital system |
8 | tech giant, major bank, global retail chain |
9 | global conglomerate, major stock exchange, oil company |
10 | top global corporations combined, large national tax revenue |
11 | major economy GDP, global payment networks, global industry sector |
12 | largest global economies combined, world financial system |
13 | world economy, planetary scale economic activity |
-4 | seconds | micro-transaction processor fees, penny stock day trading |
-3 | minutes | hourly wage of high-earner, fast food restaurant hourly sales |
-2 | hours | minimum wage day's work, small coffee shop daily revenue |
-1 | days | entry-level weekly salary, independent contractor daily rate |
0 | weeks | average monthly rent payment, typical car payment |
1 | months | budget smartphone lifetime cost, basic appliance over useful life |
2 | years | lifetime utility of basic furniture, depreciation of budget used car |
3 | decades | rural housing in developing regions, subsistence farming annual yield |
4 | centuries | medieval craftsman lifetime earnings, ancient agricultural output |
5 | millennia | early bronze age village production, paleolithic community resources |
-1 | bulk sand, gravel, raw earth, tap water |
0 | coal, industrial salt, raw agricultural products (wheat, rice) |
1 | bulk steel, basic plastics, flour, cement |
2 | basic electronics components, processed foods, common household goods |
3 | consumer electronics, quality clothing, specialty foods |
4 | high-end smartphones, designer clothing, quality tools |
5 | professional equipment, luxury fashion, fine jewelry |
6 | industrial machinery, medical devices, rare materials |
7 | advanced scientific instruments, satellite components, fine art |
8 | rare earth elements, pharmaceutical APIs, specialized aerospace materials |
9 | medical radioisotopes, cutting-edge semiconductor materials, precious gems |
10 | research-grade antimatter, certain advanced pharmaceuticals, rare isotopes |
11 | artificially produced super-heavy elements, experimental materials |
-11 | artificially produced super-heavy elements, experimental materials |
-10 | research-grade antimatter, certain advanced pharmaceuticals, rare isotopes |
-9 | medical radioisotopes, cutting-edge semiconductor materials, precious gems |
-8 | rare earth elements, pharmaceutical APIs, specialized aerospace materials |
-7 | advanced scientific instruments, satellite components, fine art |
-6 | industrial machinery, medical devices, rare materials |
-5 | professional equipment, luxury fashion, fine jewelry |
-4 | high-end smartphones, designer clothing, quality tools |
-3 | consumer electronics, quality clothing, specialty foods |
-2 | basic electronics components, processed foods, common household goods |
-1 | bulk steel, basic plastics, flour, cement |
0 | coal, industrial salt, raw agricultural products (wheat, rice) |
1 | bulk sand, gravel, raw earth, tap water |
-18 | energy of a single DNA bond, quantum computing operation |
-14 | energy to flip a transistor in modern CPU |
-10 | energy to transmit one bit wirelessly, single nerve impulse |
-6 | energy of a mosquito flying for one second, mechanical watch tick |
-3 | energy to lift a paperclip 1 cm, honeybee wing flap |
0 | energy to lift an apple one meter, energy in a French fry, smartphone tap |
1 | energy of a slap, burning a match, smart watch charging for one minute |
2 | energy of a strong punch, AA battery, phone screen energy used per hour |
3 | food calories in a bite of apple, bicycle movement for ten seconds, boiling a cup of water |
4 | food calories in a candy bar, car movement for one second, toaster use for one minute |
5 | energy to heat a gallon of water, laptop energy use per day, microwave heating a meal |
6 | daily food intake for an adult, smartphone battery for a year, car moving at highway speed |
7 | energy in 1 liter of gasoline, household electricity for a day, lightning bolt |
8 | energy to launch a small rocket, household electricity for a week, small meteorite impact |
9 | energy in 30 gallons of gasoline, home energy use for a month, small tornado |
10 | energy released in a barrel of oil, residential electricity for a year, small earthquake |
11 | energy in a lightning storm, fuel for a cross-country flight, medium earthquake |
12 | small nuclear bomb, daily electricity for a small city, large hurricane |
13 | moderate nuclear explosion, monthly energy for a small city, major earthquake |
14 | large nuclear explosion, annual energy consumption of a small town, volcanic eruption |
15 | large meteor impact, daily solar energy reaching small country, hydrogen bomb |
-18 | single enzyme reaction, quantum tunneling event |
-15 | bacterial flagellar motor, molecular computation |
-12 | single neuron at rest, RFID tag in passive mode |
-9 | electronic watch operation, insect brain, ultra-low-power sensor |
-6 | hearing aid, pacemaker, IoT sensor in sleep mode |
-3 | smart watch in standby, Bluetooth headset, calculator |
0 | smartphone in standby, LED indicator, small electronic device |
1 | smartphone in active use, incandescent light bulb, laptop in sleep mode |
2 | laptop in active use, TV, refrigerator, ceiling fan |
3 | microwave oven, hairdryer, small electric heater, average home |
4 | small office building, electric car at highway speed, industrial machinery |
5 | large commercial building, passenger airplane, small factory |
6 | small power plant, large office building, passenger train |
7 | cruise ship, skyscraper, small town's electricity usage |
8 | medium-sized power plant, small city, large steel mill |
9 | large power plant, medium city, large industrial complex |
10 | nuclear power plant, large city, international airport |
12 | all power plants in a major country, civilization-level energy flow |
15 | worldwide human energy consumption, global electrical infrastructure |
17 | total solar energy intercepted by Earth, large asteroid impact |
26 | total energy output of the Sun, major stellar event |
-3 | single LED indicator for an hour, digital watch for a day |
-2 | bluetooth headset standby, hearing aid daily usage |
-1 | smartphone standby mode for a day, fitness tracker weekly use |
0 | laptop use for 5-10 hours, LED bulb for 1-2 days |
1 | average US household daily usage, electric vehicle charge (30-40 miles) |
2 | average US household weekly usage, Tesla Model S battery capacity |
3 | average US household monthly usage, small business monthly consumption |
4 | average US household yearly usage, small factory monthly operation |
5 | medium-sized business yearly usage, small hospital monthly consumption |
6 | large factory monthly usage, small town daily consumption |
7 | small city monthly consumption, large industrial complex annual usage |
8 | medium city monthly usage, average nuclear plant weekly output |
9 | large metropolitan area monthly consumption, nuclear plant monthly output |
10 | small country annual consumption, major hydroelectric dam yearly output |
11 | medium-sized country annual energy consumption |
12 | United States quarterly electricity consumption, global energy industry day |
13 | global annual electricity production, all human energy use for weeks |
-1 | hearing aid, bluetooth earbud, single LED for hours |
0 | smartwatch, wireless mouse, fitness tracker weekly use |
1 | entry-level smartphone, wireless keyboard, medical device |
2 | flagship smartphone, tablet, e-reader, 1-2 days mixed use |
3 | ultrabook laptop, portable speaker, 8-16 hours active use |
4 | gaming laptop, professional camera, 2-6 hours heavy use |
5 | electric scooter, small drone, portable power station |
6 | electric bicycle, professional video equipment, small UPS |
7 | electric motorcycle, home backup battery, 4-12 hours essential load |
8 | compact electric car, home energy storage, 100-250 miles range |
9 | luxury electric car, commercial backup, 250-400 miles range |
10 | electric bus/truck, neighborhood microgrid, 100-300 miles |
11 | grid-scale storage, commercial backup, days of power |
0 | lead-acid, vehicle starter batteries, UPS systems |
1 | Ni-MH, power tools, early hybrid vehicles |
2 | Li-ion common, smartphones, laptops, most EVs |
3 | next-gen solid-state, emerging tech, future EVs |
4 | theoretical lithium-air, research stage, potential future |
-3 | wholesale hydroelectric power, excess grid energy during oversupply |
-2 | large industrial electricity contracts, utility-scale solar in optimal locations |
-1 | typical residential electricity rates, grid-scale battery storage discharge |
0 | peak demand charges, small-scale battery storage, emergency backup power |
1 | remote microgrid electricity, power in disaster areas, portable power stations |
2 | helicopter-delivered emergency power, extreme remote locations, military expeditions |
3 | space station power costs, antarctic research stations during winter |
4 | early satellite power systems, specialized military portable power |
5 | first space missions power costs, experimental fusion research energy |
6 | theoretical cost of antimatter energy, earliest space program power supplies |
-6 | theoretical antimatter energy production, earliest space program power |
-5 | early space mission power systems, experimental fusion research |
-4 | vintage satellite power, specialized military portable power systems |
-3 | space station power, antarctic research station during winter |
-2 | helicopter-delivered emergency power, extreme remote locations |
-1 | remote microgrid electricity, disaster area power, portable power stations |
0 | peak demand electricity, small-scale battery storage, emergency backup generators |
1 | typical residential electricity, standard grid power in developed countries |
2 | large industrial electricity contracts, utility-scale solar in optimal locations |
3 | wholesale hydroelectric power, excess grid energy during oversupply periods |
0 | binary digit, yes/no answer, single state |
1 | two decimal digits, 3-digit binary number, single ASCII character |
2 | short sentence in ASCII, small icon, QR code with URL |
3 | paragraph of text, small black and white image, musical note |
4 | page of text, low-resolution image, short audio clip |
5 | book chapter, medium-quality image, few seconds of MP3 audio |
6 | entire book, high-quality photo, minute of music |
7 | encyclopedia article, RAW photo, song |
8 | small database, short video clip, software application |
9 | entire encyclopedia, hour of standard video, complex software |
10 | library collection, 4K movie, large dataset |
11 | all books in a large library, 8K video collection, enterprise database |
12 | Library of Congress holdings, year of HD video content |
13 | all words ever spoken by humans, DNA of human population sample |
14 | all music ever recorded, high-resolution brain scan database |
15 | all text/images ever published online, large enterprise data |
16 | global daily internet traffic, astronomical observation data |
17 | all digital content produced in a year, particle physics data |
18 | all human knowledge digitized, complete genomic database |
0 | telegraph, Morse code transmission |
1 | slow teletype, early text terminals |
2 | early dialup modems, basic telemetry |
3 | early home internet, text-only experiences |
4 | basic dialup internet, text with simple images |
5 | fast dialup, early mobile data |
6 | early broadband, basic streaming audio |
7 | standard home broadband, SD video streaming |
8 | fast home internet, HD video streaming |
9 | gigabit internet, 4K video streaming |
10 | enterprise connection, multiple 8K streams |
11 | data center interconnect, major backbone links |
12 | major internet backbone, submarine cable systems |
13 | multi-cable submarine systems, satellite constellations |
14 | global internet infrastructure, combined backbone capacity |
0 | single CPU instruction, one line of code execution |
1 | simple database query, basic API call, small function execution |
2 | complex database transaction, rendering a web page, image processing routine |
3 | video frame rendering, machine learning prediction, complex search algorithm |
4 | 3D scene rendering, large language model inference, complex sorting of large data |
5 | image recognition pipeline, real-time video processing, large matrix multiplication |
6 | training small machine learning model, full-text search of large corpus |
7 | 3D animation rendering, large-scale data processing job, genome sequence alignment |
8 | climate simulation timestep, protein folding calculation, large ML model training |
9 | complex physics simulation, global weather model update, large video rendering |
10 | astronomical simulation, national-scale logistics optimization |
12 | global climate model, universe simulation timestep, cryptocurrency blockchain |
0 | mechanical calculator, human mental arithmetic |
1 | desktop calculator, early microcontroller |
2 | vintage personal computer, 1980s gaming console |
3 | 1990s desktop computer, early smartphone |
4 | entry-level modern CPU core, embedded system |
5 | high-end desktop processor, game console GPU |
6 | server-grade CPU, high-end graphics card (FLOPS) |
7 | small cluster of servers, specialized AI hardware |
8 | supercomputer, large data center processing capacity |
9 | top 10 supercomputer, major cloud region processing power |
10 | combined processing power of major cloud provider |
11 | estimated global computing infrastructure |
12 | hypothetical exascale supercomputing network |
15 | theoretical quantum computing milestone |
18 | computational capacity to simulate human brain |
-9 | mechanical computing, early vacuum tube computers |
-6 | early transistor computers, 1960s mainframe |
-3 | personal computers of the 1980s, early laptops |
0 | desktop computers, game consoles, typical server |
3 | mobile phones, low-power embedded systems |
6 | specialized efficiency hardware, advanced mobile processors |
9 | theoretical thermodynamic limits of conventional computing |
12 | quantum computing theoretical efficiency, reversible computing |
17 | Landauer limit (theoretical maximum computing efficiency) |
-3 | mechanical calculators, earliest electronic computers |
0 | 1980s personal computers, vintage game systems |
3 | low-end smartphone, basic cloud computing instance |
6 | high-performance computing, GPU cloud instances |
9 | major cloud provider data centers, enterprise computing |
12 | global computing infrastructure efficiency projection |
15 | theoretical future of computing price-performance |
2025-03-13 08:00:00
In 2022, I was an alcoholic with a newborn baby and a startup, so I decided to ride a bicycle from San Francisco to Los Angeles (877km or 545mi).
AIDS/Lifecycle is a great charity (donate), but it was insanely selfish of me to commit to something like this at the time. I am so grateful for Chelsea, who supports my ambitions and forgives my folly.
This decision defied logic. Dad bod claimed me long before the baby arrived. I knew nothing about cycling. I did not own a bike.
But I had to change something -- no, I had to change myself. To become somebody else, I decided to start living somebody else's life. I don't remember how the bicycle got involved.
I wasn't ready to be sober, nor to be a father, nor to start a company, nor to ride that bike.
Seriously, I rode the first 100 miles with two flat tires because I assumed all tubes needed exactly 12 PSI.
You'll never be ready for such things. Do them anyway.
2025-03-09 08:00:00
I write extremely because I'm a weak writer.
Better writers accurately express ideas. They communicate their beliefs, their feelings, and the magnitude of their convictions. And then they choose word after word after word to share the view from their skull holes.
"Probably" and "maybe" dilute writing, but those words reduce intensity. I tend to err on the side of "too intense", but this is usually not how I feel -- it's just an artifact of weak writing.
I really wanted to use fancy words like "affect" and "valence" here, but I don't think I actually know what those words mean.
I'm still trying to solve this intesity dilemma, but it seems the only way to become a better writer is to write more. Consider this a disclaimer, an advance apology, and a big "student driver" sign for this blog.
To help me grow more quickly, please post feedback. Poke holes in my theories. Give counterexamples to my claims. Share your experience.
My therapist says that effective feedback follows this pattern: "When I see <phenomenon\>, I feel <emotion\>." For example: "When I see dishes in the sink, I feel anxious and overwhelmed." It's difficult (but so important) to remove judgements/assumptions when you're speaking about your experience.
Thank you for all the insightful comments across the link aggregators. Thank you for brightening up my inbox. Thank you for bringing the best parts of the internet to my feeds on X, Bluesky, and Mastodon.
Thanks. With your continued help, I can [probably] become a better writer, and [maybe] a better thinker.
2025-03-01 08:00:00
In my pursuit of a sharable programming language, I need a suitable serialization format that's (1) performant to send/store and (2) easy to understand/implement.
Serialized scrapscript expressions are called "flat scraps".
In a previous essay, I crammed scrapscript into MessagePack.
At the time, I didn't realize that Max Bernstein had already written an entire serializer in ~100 LOC. Mind blown!
After further experiments, I somehow convinced myself that this serialization format also needed to (3) commit to existing standards, (4) work overtime as a pseudo-IR, (5), and run on relatively crappy hardware.
I'm still in the discovery phase here. Max's format remains very attractive after witnessing the weight of popular CBOR and msgpack implementations.
Meanwhile, Peter Saxton (EYG) sent me a friendly email recommending CBOR as a potential alternative to MessagePack.
Uh oh -- competing standards? Marginal design tradeoffs? Open-source woes? Buckle up!
Drama is fun, but not relevant to this essay. This post provides a solid summary of CBOR's history. This comment links to the most contentious public spats.
Obviously MessagePack is what cool kids would use.
Compare the subheadings on each landing page:
One of these formats is wearing a damn necktie.
Everything about CBOR is uncool. It was designed by a committee. It reeks of RFCs. Acronyms are lame. Saying "SEE-BORE" is like licking a nickel. One of the authors is "Carsten Bormann", which makes the name feel masturbatory.
CBOR was inspired by MessagePack. MessagePack was developed and promoted by Sadayuki Furuhashi ("frsyuki").
-- RFC 8949
Loyalty to an "original" brand has merit. Instead of chasing mere incremental improvements, you can support creators who synthesize value from nearly nothing. To favor derivative work can feel like choosing bureaucracy over personal expression.
But many people don't care about "coolness" -- they want compression and speed and performance.
In these benchmarks, the author compared performance between two popular Go libraries. From these tests, it appears that the CBOR library encodes/decodes ~200% faster.
But efficiency isn't everything. I usually choose conceptual simplicity over performance. Like most makers, I resent depending on forces I cannot understand.
To measure complexity, you can often use documentation length as a proxy. MessagePack is just a markdown file. The CBOR spec has its own gravitational field.
However, upon further scrutiny, I've found that the documentation sniff-test misled me. This HN comment shares my latest thoughts:
Yeah, I skipped all the drama, read the spec and implemented an encoder/decoder. CBOR is just how MessagePack-like format should have been done from the beginning: it's technically superior in a sense that it's neat and simple, replacing many specialized rules with one generalization.
At its top-level, MessagePack defines a bunch of types: integers, floats, arrays, extensions, etc. CBOR unifies these types with "tags"; this pattern seems much easier to explain and implement.
This person posits that CBOR's tags are poorly designed. Although I respectfully disagree with his conclusions, I think he makes some great points.
"Serialization" often connotes "communication". Bandwidth is expensive, so formats like MessagePack and CBOR make obvious candidates for computer protocols.
Metcalfe's Law states that the value of a protocol is proportional to its popularity.
The data speak for itself:
3.1K☆ | C | msgpack/msgpack-c |
2.4K☆ | Go | vmihailenco/msgpack |
1.9K☆ | Python | msgpack/msgpack-python |
1.8K☆ | Go | tinylib/msgp |
1.4K☆ | Java | msgpack/msgpack-java |
1.4K☆ | JS | msgpack/msgpack-javascript |
1.2K☆ | Rust# | 3Hren/msgpack-rust |
1.0K☆ | JS | kawanet/msgpack-lite |
837☆ | C# | msgpack/msgpack-cli |
806☆ | Go | fxamacker/cbor |
784☆ | PHP | msgpack/msgpack-php |
764☆ | Ruby | msgpack/msgpack-ruby |
529☆ | JS | kriszyp/msgpackr |
519☆ | C | intel/tinycbor |
364☆ | JS | hildjj/node-cbor |
354☆ | C | PJK/libcbor |
320☆ | JS | paroga/cbor-js |
311☆ | JS | msgpack/msgpack-node |
303☆ | JS | kriszyp/cbor-x |
300☆ | Rust | pyfisch/cbor |
284☆ | Rust | enarx/ciborium |
243☆ | Python | agronholm/cbor2 |
214☆ | C# | peteroupc/CBOR |
210☆ | Erlang | msgpack/msgpack-erlang |
196☆ | Haskell | well-typed/cborg |
142☆ | Swift | valpackett/SwiftCBOR |
138☆ | Haskell | msgpack/msgpack-haskell |
119☆ | Java | c-rack/cbor-java |
For my particular use-case, CBOR totally wins. Scrapscript expressions feel great inside CBOR's extension tags.
I prefer CBOR, but I don't like that I prefer CBOR. It irks me to use technology with political baggage.
Anyway, MessagePack and CBOR are vast improvements over JSON. As long as MessagePack retains its popular advantage, both options seem reasonable.
Protocols are important. Communicate with caution.