Re-reading my "Valley of Jira" post
Dodging clippy, drip marketing and webinars
Hyperlinks for logs (update, logpoints are better)
wild exuberance and slop hangovers
My reflections on Dan Wang's book based on my own experiences
a database table editor
Why not compensate them like one?
Thoughts on being Chinese amid increasingly anti-Chinese propaganda
iPod before iPhones
Broken code are broken laws
Tesla's model may be more "realistic"
"Everything happens for a reason." I believed that. I had a trajectory. The child of Chinese immigrants who fought and sacrificed everything to hurl their son h...
Putting down thoughts on fitness, lifestyle, and health
Decentralization, cars
Guest bedrooms have become a luxury, but hosting friends and family remains a social necessity. Run through the math. Homes in SF are $1K per square foot, $2k i...
Capitalism can be just as blind to reality as communism
Observations from visiting China at the end of 2023
A note to keep myself from repeatedly banging my head against the same compromise.
A thoroughly mediocre and nonplussed view on a unnecessarily controversial topic
Me confirming to myself that buying right now is probably a bad idea.
Parallelism with v8go is rarely worth the cost.
I've been building Pipet in the dumbest way possible.
The Next Meteor.js
JSON Patch for simpletons
mdtss, a proposed syntax for subselecting markdown tables
The what and why of my project, Pipet
I recently came acrosshttps://twitter.com/mathemakitten/status/1595603994566545408 the term "Asian diaspora" and it struck a chord with me. It's because my...or...
Using v8go with goroutines
Data warehouses are **not** a new data platform
Speculation on the near-term future of the Bay area housing market
Bad ideas and redemption with sqlc, bigint, and JSON parsing
I keep getting nerd sniped by event sourcing. A warning for my future self.
A few SQL tricks for optional parameters for create and update API endpoints with sqlc
Impressions of Rust from someone who learned Python, JavaScript, Golang in that order.
Direct SQL access for the browser
Notes from the cold emails I've both sent and received. Don'ts 1. "Display images below" 1. links to the position 1. 🚀 or 🦄 emoji in the subject line 1. unsu...
A wedge to introducing data sanity to business operations
Jira is good enough.
Thoughts on the new regulation of gaming hours for minors in China
The Internet is shifting preferences and changing the shape of the housing market.
A perspective on what happened and what I should have done to improve myself and the product during my time there.
If Dropbox was built just for me
I've been struggling to make sense of open source since college. I remember installing Linux for the first time and marveling that I could get an operating syst...
There should be no such thing as free public parking. SF's streets are clogged with street parking. Convenient for low-density areas, street parking is a disast...
Some holiday spirit
SQL shares more in common with bash scripts than most other languages. It's more mortar than brick, used to smooth and adhere chaotic data for human or machine consumption.
Leveraging AST into a better SQL editor
An exceptional idea for a database frontend
In the 🔗 xi editor retrospectivehttps://raphlinus.github.io/xi/2020/06/27/xi-retrospective.html, Raph touches on modularization's costs that I have experienced...
Business intelligence is a tempting market with high ACVs, but the climate's been shifting and the market is becoming a wasteland.
Detailing a thoughtful response to the master branch debate
As more niche software is developed, usage-based billing should become the new default
Enterprise sharing. When Numeracy was acquired by Snowflake, sharing was one of the core features they wanted to integrate. One year later If we're going to tal...
Well-defined projects have both goals and non-goals. If companies have values...should they have non-values?
Rambling on languages and committing
How and why notebooks are different than REPLs
When I first started blogging, I wondered: What am I going to write that hasn't been written already?
Hiccups and fixes along the journey to using tree-sitter.
tl;dr There are reasons, but mostly not.
This does not constitute investment advice.
Proposal for a system for managing divergent database state created by migrations in distributed version control
The hidden cost of storing data as JSON
Why bother learning a new programming language?
Some ideas around readable SQL
Automatically convert screen recordings to gifs and copy them to clipboard with built-in tools.
Jotted down random ideas on a SQL client I'd love to build.
How might open source software have made unions redundant?
Why data is probably a good bet for Valley outsiders and what to focus your time on learning.
I recently calculated trial conversion in Stripe, but found it remarkably hard to find historical trials. In case others have need, here's what I found. Invoic...
This post was prompted by Ben Thompson's discussion on the latest open source angsthttps://stratechery.com/2019/aws-mongodb-and-the-economic-realities-of-open-s...
20/20
Adding React to my side project toolchain.
I created Faker.sqlhttps://github.com/ehfeng/faker.sql, my first Postgres extension for generating mock data. What's the point of it? When generating mock data...
random stats from Numeracy's Product Hunt launch
aka users active X days after signup
Focus. Every idea, whether a full fledged startup or blog post, has its own runway. Whether that runway be outside capital investment or your personal enthusias...
tl;dr just use postgres
exploring the limitations of lambda functions and databases
Uploading your Google Calendar events to BigQuery
Tried out ics.pyhttps://github.com/C4ptainCrunch/ics.py and icalendarhttps://github.com/collective/icalendar to parse Google Calendar calendars with Python with...
How long is a customer waiting for reply? Supposing you had this simplified table for tickets donating when the message was sent and if the sender was an employ...
Were https://sentry.io/for/<PLATFORM> pages valuable?
Thoughts and experience after cold emailing 1,000 developers
tl;dr don't be helpful, be useful
Thoughts on potential improvements to data tooling
User journeys abstraction as a rollup table
No company *has* a culture; every company *is* a culture. - Zero to One
I've been setting up a Sigma-like replica of Stripe. However, unlike the Gmail API, the Stripe email isn't built for data sync, but for...well, billing flows. G...
Pricing decisions are multi-faceted your product has an infinite number of potential pricing scheme and price points and each part of the decision is susceptibl...
tl;dr SELECT * FROM user WHERE subscriptions & (1 << FLAG_POSITION)
Following up on my last post/building-side-projects-on-a-budget and a Twitter exchangehttps://twitter.com/arikfr/status/972712708612206592 and of course, musing...
Things learned along while building FormEndpoint for $10/month.
This year, I'm going to start cold emailing customers. Every VC and growth guru will tell you to do drip campaigns as growth engineer, I've heard the whispers f...
Economics of building versus buying in the case of A/B testing tools
Or things I've learned as a growth engineer at a SaaS company
It's best to define a job by the projects and their results. Projects vary by company, but results are generalizable across businesses especially SaaS. Everyone...
Flask is my favorite server framework, due to its clarity and flexibility. However, getting Flask beyond "Hello, World" always feels iffy, with most popular onl...
A predominantely self-taught application developer learns to deploy with Google Container Engine. Background As a growth engineer, I spend most of my time with...
Infrastructure, commodities, and margins.
Notes on various GitHub API auth methods
A well written piece on pricing by a SaaS founder
If a tree falls in the forest and no one is around to hear it, does it make a sound? Growth requires metrics. Historically, growth had per-project, tactical met...
A bit of admiration for Elon's breathtakingly simple, even naive, approach to The Boring Company.
Disclaimer: I know very little to nothing about how investors value private companies. But I've never read an article that even attempts to do basic arithmetic ...
Musing on the long-term value of non-engineering roles.
Why and what happens when you price yourself as a commodity.
To those hooking into the internals of Jekyll, knowing a bit more about what each variable includes can be helpful. site.pages only returns pages.^1 site.posts ...
You see growth engineering in consumer tech Facebook, Pinterest, Uber, but I've seen less of it for B2B SaaS, so one year in, I wanted to share my understanding...
Things I've learned from working on three major pricing changes.
Taking note on why I live. Personal philosophy I don't have one yet. I've never known how to view myself. Something to think about this year. Interpersonal ph...
Working in a startup, it's easy to forget all the random things I've done. A brief retrospective. Marketing Ad buys: Managed Adwords and Twitter spend. Setup r...
I've found Gmail's API surprisingly confusing, mostly because email was so clearly built in a time before JSON. The message payloadhttps://developers.google.com...
To stand on the nose of a dragon.
For analytics startup folks with prod access
Reading through major S-1s, starting with Atlassian.
We've been using Redashhttps://github.com/getredash/redash at Sentry lately. I'd never heard of it before Mode being the frontrunner in this category, but it's ...
How to set up a keyboard shortcut for taking full page screenshots only using Homebrew and Automator.
The journey from Tokyo to Kyoto might just be a quick nap on the Shinkasen Nozomi, but it could not be a more different side of Japan.
Itinerary: Tokyo and Kyoto My Maphttps://drive.google.com/open?id=1rF449KVep4dt8I5iPsHnql-rks0&usp=sharing Japanese I love Fodor's basic phraseshttp://www.fodo...
Thoughts on nailing down and measuring the "golden path"
Words said by famous, clever, or just talkative people.
Really well put together talks on growth engineers. What it is, but just as importantly, what it isn't.
I want it to rain. Slowly, at first. A soft mist surprising me when I emerge from the BART. The kind nudges you awake. Makes you take off your headphones and fo...
Something I wrote to a friend at the company