cho.sh
2,244 notes
Liked on XI made a mistake. When Jack and I decided to organize this $100K Hackathon, my biggest concern was cheating. Unlike a regular hackathon, everyone participates from home. And because the winner is whoever makes the most PROFIT (not revenue), there are so many ways to manipulate the numbers. So I added a $99 entry fee. One thing I’ve learned from building businesses is that people tend to be more committed when they pay for something. I thought it would filter out spam, attract serious builders, and make the competition fairer for everyone. But I completely missed the other side. 3 years ago, I was a living with my apps. Today, I’m financially free. My life changed so much that somewhere along the way, I lost perspective on what $99 means to someone else. For someone in India, someone struggling to pay their bills, or someone trying to make their first dollar online, $99 can be a lot of money. And those are exactly the people I want to help! I’ve spent years sharing what I’ve learned, reviewing random people’s landing pages, and organizing free meetups around the world. Not because there’s money to make, but because I genuinely love seeing people build things and succeed. And somehow, I was so focused on keeping cheaters out that I didn’t realize I was also keeping genuine builders out. That’s my mistake. So I’ve decided to make the $100K Hackathon completely FREE :) Everyone who already paid got a full refund. I’m still worried about cheating. That problem hasn’t disappeared, and Jack and I will have to figure out better ways to verify profits and keep the leaderboard fair. But that’s our problem to solve. Thank you to everyone who shared their thoughts. Sometimes you need people to remind you of things you’ve forgotten. I genuinely hope this hackathon changes someone’s life. ❤️Liked on XIt’s time to bring back Cafe CursorPosted on Xyo @pendev i can't live share edit a .pen file? it's the most needed featurePosted on XI'm coining a word "Agentsplaining" Agents condescendingly assuming the user don't know fuck and repeating the obviousReplied on X@jayhxmo @raycast Hard to explain. It's the small detailsPosted on X@raycast iOS keyboard is insanely good. Might resub Raycast pro just cuz of thisReplied on X@ishuagra02 I saw a theory that F5.2 is a post train of 5.1, but O5.5 is a distillation of F5.5(unreleased new pretrain) and thats why O5.5 > F5.2Liked on X@anaclumos don't know what is actually improved 👀Posted on Xam i the only one underimpressed with 5.2 fableReplied on X@bvvst great minds think alike https://t.co/YRFWhb1mcOLiked on XClaude Fable 5.2 is out and it's the perfect time to run this god-level prompt on your codebase: "I want you to audit our codebase, is anything here unnecessary, overly complicated in our current setup, or based on weak assumptions? Challenge them. - What can be deleted entirely? - What can be simplified now that unnecessary pieces are gone? Then make the changes. Prefer deleting over simplifying, simplifying over optimizing, and optimizing over automating. This product is being used by thousands of customers, do not cut any corners." This prompt is one I run often and leads to the best results.Replied on X@akshayadinesh19 @bot can we please BYOM for botsLiked on XTo be fair, the Chinese models have a much lower refusal rateLiked on XF*CK IT, im creating a library of AI slop indicators. my feed is full of taste larpers. stay tuned https://t.co/5Muv8nQRm3Liked on XJENSEN! THATS NOT WHAT WE MEANT BY CHINESE MODELS!!!!!!!Liked on Xmy parents had to declare bankruptcy when I was a kid, so they had every reason to pressure me towards a more stable career path instead, they were so patient with me, even as i failed startup after startup for years so getting to tell my mom that everything turned out okay was a really special moment :) for those who can't read Korean, her first message roughly translates to: "Really!!! Congratulations my son. So much :') Thank you God!" i know I've been posting about my exit for like a week now, but it really is a big deal for me and my family! i'll share more about how this all happened and some tactical advice later this week, but for now i'm just riding out all the emotions to quote my mom, thank you God!!!!Liked on X@thefarmers_Dog it stands for Egg GzampleLiked on X🦍 Introducing Memorilla: memory as a modality for LLMs Memorilla turns everything a frozen LLM needs to remember into just 16 memory embeddings ⚡ It uses up to 4,212× fewer tokens and is 27× faster than full context inference while more accurate 🎯 Pushes the Pareto frontier over RAG and agentic memory in personalization, long-document and knowledge QA A thread 🧵:Liked on XThere's a huge product opportunity downstream of Tailscale etc too. At @tldraw we've started designing for "high trust networks" and it's been a beautiful thing. 1. Features that would be a nightmare on the internet are okay on my computer and mostly okay on private networks. Websites that execute user-generated scripts, control production systems, allow for users to send desktop notifications, spend tokens, or directly prompt my agent. Crazy stuff that would only make sense if everyone was in a committed polycule. 2. When everyone on the server can be trusted to have _external_ reasons for good behavior (eg keeping their job, or maintaining friends, family, church, mafia org), the software can be designed in a default social way. Most apps default to isolation, low horizontal visibility, highly restricted collaboration. Makes sense if the social contracts are inside of the app, but if you can trust that they live outside of the app then you can get wild. Example being small group chat names as an emergent comedy phenomenon because anyone in the group can change the name. 3. This can work for commercial products, too, not just internal stuff. Security matters more than ever but the way we've seen that manifest is that more companies are more confident in their own solutions than anything we could provide, to the point where owning data and access is a better value proposition than having it managed. Always has been true for big companies but now even small companies can get a good secure network set up pretty easily, and the hooks we need to build are easy enough. tldraw offline got us started down this road (and shout out to @pendev for first introducing me to the idea of desktop + mcp). We've been bringing that product to private networks and it's been exciting to see how much we can get away with. Keep an eye outReplied on X@saradu birds eye viewLiked on XApplications close in 2 days!! If you have a cool bio idea, and $5-10k will go a long way for you, please apply!!! https://t.co/NCvmrNC53cLiked on XWe've been early adopters of Rust since 2018 and a lot of our infra, voice tech, and even some of the current client is already Rust, the holy grail was getting the whole client there. That means Electron goes away, and so does React Native, mobile keeps native UI but shares app code with desktop via Rust. We hope to get it into testing with users soon™. (And it's not Tauri, it's GPUI, so good guess everyone.) Alright, back to staring at the WoW Forever login screen.Reposted on XOh boy. https://t.co/X7SSskGuGvLiked on XRIP .si domain squatters
Microsoft Forces Me to Delete My 230K User Extension

Microsoft Forces Me to Delete My 230K User Extension

Warning

Over a year old. May be outdated

ALT: Bing Chat for All Browsers. Verified at cho.sh. Featured on Chrome Web Store. Productivity. 200,000+ Users.

The new Bing Chat, Microsoft's search AI powered by ChatGPT, only worked in Edge. So I built an extension to make it work on Chrome and . It was a long and winding road. I hit 750K visitors, 500K installs, and 230K weekly active users, then had to kill the project over a trademark complaint from Microsoft. Here's what happened.

Coming on the Market

After ChatGPT launched, many apps have come on the market. They all followed the same arc. Start small, find their footing, pick up hundreds of thousands of users, and grow almost by force. Timing was everything, and apps used by many people evolved naturally. I'd been watching that pattern and looking for an opening when Bing Chat showed up. Most consumers use Chrome anyway, and Edge is a Chromium browser, so it will take a lot of work to distinguish Edge from Chrome. If there's a program that naturally bypasses it, people will use it. I built it and shipped it in a day. I'd also been following the AI boom closely, learned about Bing Chat very early on, and signed up for the waitlist. More on that later.

Making Front Page on Yahoo! JAPAN

I saw no significant user growth in the first few days, likely because Microsoft had Bing Chat waitlisted for lack of GPUs. Then, at the end of February 2023, users spiked. Interestingly, it was all Japanese users.

ALT: "Bing Chat for All Browsers" has appeared, which makes it possible to use the chat Al function of "Bing", which is currently available only in "Microsoft Edge", in browsers other than Edge. Developer Sunghyun Cho has released extensions for Chrome and Firefox.

Made Front Page on Yahoo! JAPAN IT Section. Archive

Turned out Yahoo! JAPAN, Japan's number one portal, had put me on their front page. That brought in many people, and the user numbers grew organically from there.

✅ As a reminder

I am Korean, not Japanese, so this event was very unexpected and random for me. We have different search engines (Naver—Yahoo!), different messenger (Kakao—Line), and different online culture and lives, so to speak. In the end, I was very happy that a lot of users from Japan loved my extension.

230K Users and an Acquisition Offer

I met many people along the way as my user base grew. I hit 1.5k 🌟 on GitHub. People filed 120 GitHub issues, and I handled about 1K cases across email, the Chrome Web Store, and Firefox Add-ons. Roughly ten a day on average, and way more in the second half of the extension's life.

ALT: GitHub 1.5K Stars Screenshot

Several people reached out through various media outlets about acquiring the extension. They were AI companies looking to snowball, or firms that broker ad deals for tech companies. Apps established on one simple feature like this are great acquisition targets. Clear interest (generative AI), few parts, low technical debt (easy to slot your own features in), a big user base, and tons of media and blogs already linking to the install page.

ALT: Acquisition Quotation Request

ALT: Advertisement Quotation Request

ALT: Acquisition Quotation Request

Different Acquisition/Advertisement Offers with varying prices.

For various reasons, I did not sell or get financially involved. However, the negotiation experience will come in handy later. Interestingly, they were looking to buy 230K+ active users rather than the product, but they had very different magnitute of values.

Shield and Spear

Meanwhile Microsoft was updating its browser detection weekly. Dozens of GitHub issues were being registered, and I got tons of bug report emails daily. Most fixes were relatively easy, just a few bureaucratic steps like refreshing or tweaking the browser User-Agent.

Then an event changed my perception in an instant. At 11:00 p.m. dozens of users contacted me at once. Here's the GitHub Issue. The worst part was that everything worked fine for me. I couldn't reproduce it on my machine or on anyone's machine around me. Over two hours, GitHub and my inbox would be saturated anyway.

After a sleepless night and 12 hours of debugging, I found it. Microsoft had rolled out a proprietary header spec. A sophisticated front-end like Bing or Google has hundreds of headers, cookies, and local storage, so it takes work to determine which headers, if any, affect access to the service.

Reverse engineering like this, or a CTF hack, is basically a cold case investigation. You have no idea which clue helps and which is noise, coincidence, specific to one person, a false positive, or still undetected.

ALT: Only Bing Uses UserAgentReductionOptOut

ALT: Less than 0.1% of the web uses UserAgentReductionOptOut.

UserAgentReductionOptOut, only used on bing.com globally.

Honestly, I was impressed by Microsoft's determination. Giving GPT-4 away in Bing and locking it to Edge was their AI play against Google. It must have been a pain in the ass for Microsoft to open all of its features to its biggest competitor, Chrome, and keep 230K users from moving to Edge. That's when I realized this couldn't go on forever. Microsoft will keep developing different tactics, and it's hard to work for free indefinitely, especially overnight like this. I speculated the project will end when Microsoft allows access to third-party browsers, because the product will lose market validity at that point.

Trademark Complaints

The end came sooner than that. Microsoft complained about my use of Bing's logo and name and said they'd ask Google's legal team to shut the extension down if I didn't do it myself within five days. I was torn between confusion and feeling like Microsoft coming after me was a badge of honor. According to the news, they'd known about the extension since March and had been ignoring it until then.

ALT: Letter from Microsoft Legal

tracer.ai is the Brand Protection Software Company that Microsoft hired.

Indie apps put a famous brand in their name all the time, especially extensions like 'Enhancer for Blah Blah.' Extensions are essentially programs that assist the service, and installing one affirms the user will continue to use it. Businesses will encourage more developers to make extensions for their apps and, at the very least, will not stop users from creating their own. If anything, I brought benefits to Microsoft by making Bing Chat more accessible. Did Microsoft really think people weren't switching browsers because of my little extension? I think there's more of a path dependency with browsers. I'm guessing I provided them more customers (people who would have tried Bing Chat a few times in Chrome out of curiosity) than the opposite (people who would have switched to Edge but didn't because of my extension).

💭 Maybe they're just scaring you off?

Could be. Maybe Microsoft is just automatically sending documents. But it's unlikely that they would have sent it to all the Bing AI-related apps that are popping up in the first place. In any case, internally, Microsoft must have officially decided to take action against apps that have a lot of users.

After all, there's precedent in the past...

But This Isn't the First Time: MikeRoweSoft v. Microsoft

Microsoft is famously strict about trademarks and rights. Take the 2004 case where it filed a trademark infringement lawsuit against student Mike Rowe's domain, MikeRoweSoft.com. Mike got a trademark complaint just like me. He declined at first and settled for a small amount after a lengthy court battle. My situation had a lot of similarities.

So I shut it down

When the documents arrived, a lot went through my head. Giving up my first app with 230K users wasn't easy, but I was already mentally saturated. People made feature and enhancement requests on GitHub, bug reports poured in endlessly by email, and the biggest problem was the inability to debug. Even if this incident had passed, Microsoft would have continued to do something, whether a technical tactic or a legal tactic.

And anyway, Microsoft announced they will open it to all browsers soon. They may keep developing the app by adding more features, but that's not in the product's interest because they want to retain users. In many ways, the product didn't have much of a life left. No point going unresponsive and causing problems.

I was happy to take the lesson and call it a day. I have since unpublished the app from the store and archived the repository.

Lessons Learned

Unpaid open source is an emotional labor

That was my biggest takeaway.

In a sense, these GitHub notifications are a constant stream of negativity about your projects. Nobody opens an issue or a pull request when they're satisfied with your work. They only do so when they've found something lacking. Even if you only spend a little bit of time reading through these notifications, it can be mentally and emotionally exhausting. What it feels like to be an open-source maintainer

Same here. My inbox filled up with anonymous complainers. Many times it was just pure name-calling and complaining. You can't please everyone. If I tried to make a fix, three people protested. If I didn't, the people who wanted the feature protested again. I couldn't turn off my daily GitHub notifications. If a small app is like this, how does anyone maintain a medium or large project? With unpaid open source, the honor and the self-enthusiasm burn out fast.

Linus, Genovese, and the Matthew Effect

Open source has a favorite saying.

Linus's law is the assertion that "given enough eyeballs, all bugs are shallow". Linus's law

But we all know a social phenomenon that says the exact opposite.

The bystander effect, or bystander apathy, is a social psychological theory that states that individuals are less likely to offer help in presence of other people. Bystander effect

So which one is right? The conclusion I came to is closer to the latter. Science already has a name for it. The Matthew Effect.

In the sociology of science, "Matthew effect" was a term coined by Robert K. Merton to describe how, among other things, eminent scientists will often get more credit than a comparatively unknown researcher, even if their work is similar; it also means that credit will usually be given to researchers who are already famous. Matthew effect

Only a tiny percentage of contributors actually contribute, and they do it again and again. Even then, they are heavily skewed toward a few popular repositories. Contributors and the repositories they contribute to are both heavily skewed.

The rarest resource is human will

I'm not good at running and developing long-term projects. For a hobbyist, the deciding factor is willpower. Speed is essential—not because of time to market, but because you need a meaningful metric before running out of willpower, which is individuals' most common deficiency. If that doesn't work, you must purchase willpower (i.e., pay salary) to sustain projects in the long run.

If you try to do something in one fell swoop, you'll only get as much done as you can in that one swoop. While you can increase your fitness for short bursts of exercise, a more fundamental solution is to balance your breathing via aerobic rather than anaerobic exercise. I wanted to build lasting services that continue to evolve and create new value even without of my goodwill and passion—products with a life of their own.

Statistics

I'll end with a few numbers I want to remember.

🪦 Monuments

ALT: Weekly users over time

Weekly users over time. I had about 210K Chrome users and 20K Firefox user.

Weekly users by language

Weekly users by OS

Daily users by item version

Rating distribution over time

Page views

Top 3 sources by page views

Page views by sourde

Enabled vs. disabled

✅ Like My Work?

Let's chat! Email me to schedule a call.

Backlinks0

No backlinks found