defunkt Profile Banner
defunkt Profile
defunkt

@defunkt

72,396
Followers
2,032
Following
36
Media
641
Statuses

publishing indie games @nullgames | board member @computerhistory | @github cofounder and former ceo | building something new @voiddotdev

Joined January 2007
Don't wanna be here? Send us removal request.
Pinned Tweet
@defunkt
defunkt
10 months
In 2007, I wanted a better way to collaborate on software so I cofounded GitHub. We launched in 2008. In 2023, I wanted a better way to build games, soooo... I'm looking forward to sharing something new in 2024.
256
1K
16K
@defunkt
defunkt
1 year
Just heard that Google is selling off Google Domains. And people ask me why we didn't sell GitHub to Google. Seriously? Not one high level person I spoke to during negotiations is still at Google today. Meanwhile, everyone on the Microsoft side still works there...
112
1K
10K
@defunkt
defunkt
5 months
Banned from GitHub without any explanation. Guess I'm moving all my code to BitBucket.
Tweet media one
545
815
8K
@defunkt
defunkt
8 months
16 years ago, on a Friday night in Tom's apartment in the Mission, we created the GitHub Rails app and made the first commit to what would eventually become the `github/github` git repository.
41
427
6K
@defunkt
defunkt
7 months
It's true - I too was asked to be the interim OpenAI CEO, but unfortunately the email ended up in my spam folder. Instead I spent the weekend playing Super Mario RPG.
44
1K
5K
@defunkt
defunkt
8 months
It was a gorgeous Sunday morning. Birds were chirping and squirrels were squirreling. Coffee in hand, I began upgrading GitHub's testing infrastructure. When I was done, I ran a quick test and... deleted the entire production database.
64
394
4K
@defunkt
defunkt
1 year
Early GitHub revenue: First 12 months: $1M (almost) Second 12 months: $3M Third: $9M
40
385
3K
@defunkt
defunkt
7 months
The main reason GitHub shows you the repo's files right away is because I was tired of stumbling upon cool sounding SourceForge or Google Code projects that turned out to be vaporware. Great looking "Project Overview" page, completely empty repo. Show me the code!
29
113
2K
@defunkt
defunkt
7 months
Jeff King of git/GitHub fame once ended an internal talk about his side project with: "Did I save any time by automating this problem? No. But did I have fun writing this code? Yes. Pointless projects aren't pointless if you enjoy them." I still think about this often.
11
225
2K
@defunkt
defunkt
1 year
GitHub's beta launched without Pull Requests, but we did have private messages, since we were a social network. So when we first added Pull Requests, they were just special DMs: "Please pull from my fork at this branch." They sure have come a long way.
13
170
2K
@defunkt
defunkt
10 months
We've been working on this all year. Just felt like it was worth teasing this week, for some reason.
18
14
1K
@defunkt
defunkt
5 months
The robots decided that I was a threat, but now I'm back.
@kdaigle
Kyle Daigle
5 months
@defunkt You're 100% unsuspended now. I'm working with our Trust & Safety team to understand what went wrong with our automations and I'm incredibly sorry for the trouble. GitHub ❤️ @defunkt !
174
63
2K
69
68
1K
@defunkt
defunkt
1 year
Our new repo screen was a total accident! Early on I just threw some repetitive commands in a <pre> to help me quickly create new repos, for testing. After a few weeks we were like... hmm... maybe everyone could use this? Almost 16 years later and it's still the same:
Tweet media one
@rauchg
Guillermo Rauch
1 year
My love language is thoughtfully designed empty states See: @github 's timeless new repo screen with `git` copypasta.
5
12
290
16
60
1K
@defunkt
defunkt
8 months
Ruby on Rails was a huge part of GitHub's early success. It made webdev easy, letting us focus on the hard problems of hosting git repos and figuring out collaborative workflows. I'm looking forward to watching the new Rails documentary, it looks great:
15
108
1K
@defunkt
defunkt
1 year
RIP @AtomEditor . Here's the very first prototype of Atom, originally called Atomicity, in 2008:
23
95
1K
@defunkt
defunkt
7 months
My biggest GitHub regret is never doing an April Fools where we switched every "there", "their", and "they're" in the UI to the wrong usage. Just a silent change, no blog post or anything. It was deemed "chaotic evil" and "how could you?!" and "think of the children!". Still…
10
36
909
@defunkt
defunkt
1 year
While obvious in retrospect, GitHub's original pricing model of unlimited free public repos and paid private repos took weeks to develop. We were so focused on building the product during the beta that we didn't spend a lot of time thinking about how to charge for it.
9
128
885
@defunkt
defunkt
11 months
I created this graph with @Caged . In the 10 years since we launched it, I've hired people with full graphs and people with empty graphs. It doesn't tell you anything about a developer. It's just a fun way to browse activity, and a tool to motivate yourself to hack on OSS.
@bahdcoder
Frantz Kati
11 months
You're job hunting in 2023 with this kind of Github profile ? Most newbies don't even understand how much work it'll take to actually succeed at this tech thin.
Tweet media one
802
179
2K
19
159
854
@defunkt
defunkt
1 year
If your employees aren't working from home, that's your fault - not theirs. Some of GitHub's most impactful features were built by people working from home or remotely.
15
127
840
@defunkt
defunkt
4 months
This is very, very real. What could have been...
@corywilkerson
Cory Wilkerson
4 months
@defunkt I did come across this gem which was being passed around internally a few years ago. Can't tell if real.
Tweet media one
8
7
161
17
33
719
@defunkt
defunkt
1 year
@Jac5Connor VS Code, C#, TypeScript, Copilot, Xbox… all great in my book. Probably a lot more, too. I was a Linux kid in the 90s but have to give them credit.
20
12
747
@defunkt
defunkt
4 months
On leap day in 2008 we incorporated Logical Awesome LLC, the original company behind GitHub. Our plan was to have a suite of products that worked well together, not just a code host. We also were actively working on a bug tracking product in 2008, codenamed "BugHub" (of course).
22
19
664
@defunkt
defunkt
8 months
@rodjek My main takeaways: 1. Don't let anything access production except production. 2. Save server upgrades for a weekday, when your team is working and can help you recover from mistakes. 3. Test deleting and restoring data regularly. 4. It can happen to you.
8
41
594
@defunkt
defunkt
1 year
In summary: 1. Spend frugally. 2. Find smart ways to lower your costs. 3. Build something that people love, and make sure they can use it!
9
44
514
@defunkt
defunkt
11 months
Vim was the first editor I fell in love with and one of the most inspiring open source projects that exists. While it's not my primary editor today, I've never stopped using it and still maintain my `.vimrc`. Thank you and RIP Bram Moolenaar
9
42
443
@defunkt
defunkt
3 months
This was such an exciting time. My webdev friends had just started learning about XMLHttpRequest, then bam - GMail comes out with 1GB storage, amazing search, and the most snappy, interactive UI the web had ever seen. It changed everything.
@paultoo
Paul Buchheit
3 months
20 years. No joke :)
Tweet media one
Tweet media two
46
147
1K
11
17
399
@defunkt
defunkt
10 months
@AntoAngelino Our first bug! Just pushed an update that should fix it, thanks for letting me know.
5
0
390
@defunkt
defunkt
7 months
Never bet against Satya.
6
11
382
@defunkt
defunkt
1 year
On top of that, GitHub was profitable almost every month from launch until we raised money in 2012. The one month we weren't profitable, "Red October", was the month we hired @kneath and @rtomayko . It was a deliberate bet that paid off. Big time.
3
10
376
@defunkt
defunkt
1 month
I once hired a Godaddy domain broker to try and buy a domain that, it turns out, I already owned.
23
7
382
@defunkt
defunkt
8 months
@rodjek Anyway, that's my spooky story. Happy Halloween. 🎃
9
6
368
@defunkt
defunkt
1 year
The first thing we did was pay ourselves, the founders, only a little bit of money. Each month, if GitHub's revenue grew enough, we'd raise that amount. Eventually we were paying ourselves full salaries, but it took over a year. In the meantime, we were living off savings.
1
7
342
@defunkt
defunkt
1 year
The third thing we did was obsessively track our finances. We knew our ARR, MRR, DRR, HRR, down to the second. We tracked cancellations, refunds, signups, everything. Each morning I logged into our bank account and copied the balance into a spreadsheet we all shared.
2
18
331
@defunkt
defunkt
7 months
I thought this tweet was describing a new JavaScript stack until I got to the end.
@devahaz
Deva Hazarika
7 months
Ribeye + crispy rice spicy tuna + yellowtail jalapeño + toro tartare w caviar + miso cod + tempura + lobster + wagyu + uni + toro + tip + tax = $955 on Doordash right now. For pickup. It's crazy.
Tweet media one
Tweet media two
Tweet media three
80
82
4K
2
15
323
@defunkt
defunkt
8 months
An empty GitHub profile doesn’t matter if you have a resume, but open source is an amazing way to break into the industry. When I applied as a jr dev to @GameSpot , I had barely any real world experience, but I did have open source code. Coding on @SourceForge got me in the door.
6
13
319
@defunkt
defunkt
10 months
@AlexKramerBlogs Pfft, we're trying to be innovative here - we charge by line of code. The bigger your game, the more you pay. It's genius!
5
5
307
@defunkt
defunkt
1 year
Hi.
80
5
303
@defunkt
defunkt
1 year
@V1ktor The market cap of both companies would disagree with you.
3
2
299
@defunkt
defunkt
8 months
I started programming at 12, but couldn't decide if I wanted to make movies or novels or games or music or code, so I went to college for English. When I found Ruby, I fell in love. Dropped out of school after 1 year and went full time. Moved to SF shortly after.
@GV1180
Gustavo Valenzuela
8 months
@defunkt @GameSpot @sourceforge This is awesome! Do you have a CS background? Also, @dpaola2 started Agency of Learning, a program to help Jr devs which is a program that provides a “professional” like environment for jrs to work on Open Source.
0
0
8
7
6
289
@defunkt
defunkt
1 year
The second thing was business deals. Early on we partnered with Engine Yard - we put their logo in our footer and provided free GitHub accounts to their customers, and in exchange they provided us with free hosting.
2
2
277
@defunkt
defunkt
5 months
So awesome to see Atom's legacy live on in Zed, which is now open source! Just sent a (minor) pull request... I can't help myself:
@zeddotdev
Zed
5 months
Zed is now open source! Our mission is to revolutionize developer collaboration, building the world's best code editor in the process. After working together in Zed as a small team, it's time to scale up to transform Zed into a collaboration platform.
Tweet media one
135
552
3K
4
8
271
@defunkt
defunkt
8 months
There were a lot of things that went wrong: Our tests should not have had access to production. Our production DB shouldn't have been wipeable. We should have been able to restore the DB faster. We should also have known our `Events` table would be a doozy...
2
3
271
@defunkt
defunkt
10 months
Over 14,000 signups in 24 hours! Wow. Anyone who's worked on a game recently knows there must be a better way. Can't wait to show you what we've been building.
@defunkt
defunkt
10 months
In 2007, I wanted a better way to collaborate on software so I cofounded GitHub. We launched in 2008. In 2023, I wanted a better way to build games, soooo... I'm looking forward to sharing something new in 2024.
256
1K
16K
16
11
258
@defunkt
defunkt
1 year
The founders regularly discussed finances: daily in our chat room, and also at our regular in-person meetings. We only hired people or made purchases when we could afford them. We were very careful to never overspend.
1
2
254
@defunkt
defunkt
8 months
But the main thing that went wrong: our GitHub application assumed it was running in 'production' mode unless told otherwise. When I ran my test, I forgot to set the 'test' environment mode, so a connection was established to the production database, which was promptly deleted.
5
4
257
@defunkt
defunkt
1 year
The fourth thing we did was reinvest in the business. When we made profit, it didn't go into our pockets. We used it to make t-shirts, fly to conferences, create marketing materials, etc. All the extra money we made went right back into growing GitHub.
1
2
252
@defunkt
defunkt
1 year
When we outgrew Engine Yard, we made a similar deal with Rackspace. For years GitHub had "Powered by the Dedicated Servers and Cloud Computy of Rackspace Hosting" in our footer.
2
0
248
@defunkt
defunkt
1 year
The most important thing we did, though, was pour ourselves into the product. There is no better marketing avenue than someone who loves your product and wants to use it with other people. We're all inundated with ads all day, so a recommendation from a friend is golden.
2
11
227
@defunkt
defunkt
1 year
Fun fact: I was the first paying user of GitHub. Never expect software to work, always test it to be sure. As soon as we launched, I signed up for the $7 plan to make sure it did actually work. The entire time I was at GitHub, I paid for my account. It always felt fair to me.
3
9
231
@defunkt
defunkt
10 months
@DrCarlosToscano Anyone with prior programming experience should be able to jump in and get started right away! We'll share specifics in early 2024, but one of our goals is to make it widely accessible to new and seasoned programmers alike.
4
2
227
@defunkt
defunkt
8 months
Originally the repo was `defunkt/github` because our vision for GitHub revolved around people, not companies or organizations. We wanted to help developers participate in git's "everyone has their own repo" workflow without having to setup their own server.
1
7
231
@defunkt
defunkt
2 months
We're getting close to sharing with the world. Can't wait to show everyone what we've been working on! RT unrelated.
@gamedevdotcom
Game Developer
2 months
Former Zynga COO Matthew Bromberg is the new CEO of Unity The new chief exec will net an annual base salary of $850,000, a litany of stock awards, and sign-on bonus worth $2 million
Tweet media one
75
26
145
12
4
229
@defunkt
defunkt
1 year
@kneath How do you keep a bootstrapped startup profitable? It wasn't easy.
1
3
224
@defunkt
defunkt
8 months
Only when I visited a few seconds later did I realize how bad things were. Nothing worked. As explained in the blog post, we always wiped our test DB before running tests. Turns out, people don't want their data wiped on a Sunday morning for no reason.
1
2
225
@defunkt
defunkt
1 year
The fifth thing was to pursue multiple adjacent sources of revenue. Our merch store made money, we sold git training services, we had a job board with paid listings, and we even experimented with tech conferences in CodeConf & PyCodeConf.
2
3
217
@defunkt
defunkt
1 year
So, no ads on GitHub? Maybe a tiny white lie. We had an Engine Yard ad, then a Rackspace ad, for a long time.
1
3
217
@defunkt
defunkt
8 months
Our solution was to make usernames the shared, global namespace, so that project names didn't have to be unique. People were already used to this concept on Twitter, Flickr, etc. It made sense.
1
4
201
@defunkt
defunkt
8 months
I remember exactly where I was sitting, in my apartment next to Dolores Park. The tests ran quickly at that point. So when I started my test and it just hung, I immediately knew something was wrong - but I thought it was a connection issue. "Huh," I thought. "That's weird."
3
3
195
@defunkt
defunkt
8 months
If the shirts said "Fork me", it would have just been an ad. "Fork you" is a lot more fun.
2
3
192
@defunkt
defunkt
8 months
Everyone who was around helped out, but @rodjek really saved the day by quickly restoring the DB and punting on the `Events` table. We also immediately locked down production so it wouldn't happen again.
4
3
191
@defunkt
defunkt
8 months
People sometimes ask, "Why did the original GitHub t-shirts say 'fork you'? Shouldn't they have said 'fork me'?" It's because we wanted to emphasize that "fork" was no longer a dirty word, no longer a bad thing. We wanted to flip a negative phrase on its head.
4
6
186
@defunkt
defunkt
1 year
Conferences, it turns out, are hard and expensive. But fun.
3
2
185
@defunkt
defunkt
8 months
When I gave my 2017 Universe keynote, people thought I was nuts for saying the future of programming was talking to a computer in English and using all the world's code to improve your own code. Six years later and here we are.
4
9
179
@defunkt
defunkt
9 months
For , we're doing internal demos every week. No status reports, standups, or updates - just show everyone what you're working on.
6
10
176
@defunkt
defunkt
7 months
Played with @bunjavascript all weekend and it's awesome. Guess what I'm gonna be talking about all day tomorrow...
7
5
178
@defunkt
defunkt
1 year
The first program I ever wrote was a text-based game in QBasic. I moved to California to do webdev for @GameSpot . Today I launched my developer-friendly indie games publisher, Null:
18
24
177
@defunkt
defunkt
9 months
Was Unity's CEO too busy to write the apology letter?
18
10
173
@defunkt
defunkt
8 months
An early git hosting site, (still up!), had a "fork" button that let you make a copy of any repo. At the time, fork was a dirty word - forking a software project usually meant something was going wrong. But not on .
2
7
175
@defunkt
defunkt
1 year
There are many ways to design a product, but this in particular is a great example of why "being your own target customer" will always be my favorite. If it works for you, chances are it works for others, too.
1
16
172
@defunkt
defunkt
7 months
“Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?” — Brian Kernighan
6
13
170
@defunkt
defunkt
4 months
@mitsuhiko When you thought you hired a Python programmer but it's really just three Ruby devs in a trench coat.
5
5
169
@defunkt
defunkt
1 year
As I said in this 2010 interview about being bootstrapped, profitable, and proud: "Worry about every dollar you spend before (and even after) you’re profitable."
1
7
160
@defunkt
defunkt
1 year
@AtomEditor While Atom is gone, its influence lives on. There's no Electron and no VSCode without Atom. I'm really proud of what that team accomplished with such limited resources.
7
10
163
@defunkt
defunkt
1 year
Being good at SQL and being bad at SQL are not mutually exclusive.
6
23
164
@defunkt
defunkt
10 months
If you split ternary conditionals into multiple lines, we cannot be friends.
17
13
163
@defunkt
defunkt
7 months
And of course, if you want to learn more about a project its README is displayed right under its files. An extremely innovative invention that I 100% ripped off of @lighttp . The first time I saw a README under a directory, I knew we had to have that feature. So convenient.
3
3
154
@defunkt
defunkt
8 months
I really disliked that. Having spent years on SourceForge, bouncing between language communities, I thought it was annoying that multiple software projects couldn't have the same name. Who cares if there's different "fluffy-bunny" projects in both Python and C?
2
3
155
@defunkt
defunkt
1 year
The sixth thing was to try to reach as many customers as possible, and for us this meant catering to different environments to widen the pool. The first version of GitHub Enterprise launched in June 2009, only a year after GitHub launched:
1
3
151
@defunkt
defunkt
8 months
We never really had any problems scaling Rails. I spent way more time optimizing SQL queries and adding caching layers than I did fighting with Rails or Ruby. The scaling problems we had back then would have occurred using any web technology.
3
21
144
@defunkt
defunkt
8 months
Not only did it let different language communities coexist on the same platform, it worked perfectly with git's fork-based workflow. Inspired by , we added a "fork" button to GitHub and the rest is history.
1
4
145
@defunkt
defunkt
11 months
In other words: if a company won't hire you because you have an empty contribution graph, that's a good thing. You don't want to work there.
1
18
140
@defunkt
defunkt
1 year
A lot of the purpose behind GitHub Desktop was to make it so those recommendations could turn into active users a lot faster. We considered them an onramp into git and GitHub, a way to help ease people into this new way of working.
3
0
140
@defunkt
defunkt
1 year
VSCode is wonderful, but it's not "newer" than Atom. It's based on Microsoft's web-based text editor that predates Atom. They had been working on it for years with an experienced team. When Electron came out, they brought it to the desktop in the form of VSCode.
3
2
140
@defunkt
defunkt
9 months
I hear this a lot too. "git wouldn't have won without GitHub." I disagree. I was a VCS nerd who used hg and darcs long before I ever heard of git. git was just better. GitHub didn't make git the winner - we bet on a winner, and we were right.
@6502_ftw
Dave (also @cursed.monster on bsky)
9 months
@defunkt @SaraJChipps @fat @mdo But anyway, agreed, Github is a major reason that didn’t happen. Obviously Linux is another, but I seriously doubt it would have become the mainstream VCS without Github (and to a lesser extent Bitbucket, which was unable to save Mercurial).
2
0
0
6
4
135
@defunkt
defunkt
8 months
The only problem was that 's projects all lived in a shared, global namespace. So your fork of "cool-project" had to be something like "defunkts-cool-project". It also meant that there could only ever be one "cool-project" on the whole site.
1
3
138
@defunkt
defunkt
1 year
I wonder how different the tech landscape would be today if we didn't lose @ezmobius . He introduced me to both nginx and Unicorn, and his work on Merb w/ @wycats was so influential. Merb was also the first real project on GitHub, and his startup EY was our first hosting provider.
18
11
129
@defunkt
defunkt
1 year
@AtomEditor Oh, and @NathanSobo is still at it. He's using lessons he learned building Atom to create a faster, more collaborative editor. Check out Zed:
1
8
130
@defunkt
defunkt
9 months
Do you think making games should be more fun and rewarding? Come help us make it happen. We're hiring Full Stack Engineers, Graphics Engineers, Systems Engineers, and Product Marketing! If you love games, you'll love what we're building.
10
21
124
@defunkt
defunkt
7 months
Doesn't @awesomekling know it's impossible to build a web browser?! Apparently not. Amazing progress this month! The GPU speedups are super impressive, especially on that website at the end with the big CSS animation.
@awesomekling
Andreas Kling
7 months
🔴 Ladybird browser update (November 2023) Some highlights: 🔥 Huge speed-ups on JS benchmarks from JIT optimizations 🔥 Progress on GPU rendering, getting closer to feature parity with CPU ❤️ Small demo by my wife ⁦ @KatalinKult ⁩ …and more! 🤓🐞🌍
3
17
148
2
7
125
@defunkt
defunkt
4 months
Later when we needed to switch our company from an LLC to a C Corp in 2010, we took the opportunity to move from Logical Awesome LLC to GitHub Inc. And while our original LLC may be defunct, its glorious website still lives on to this day:
4
3
121
@defunkt
defunkt
1 year
GitHub for Mac came out in 2011, and GitHub for Windows followed in 2012:
2
0
115
@defunkt
defunkt
7 months
We had a few original ideas, like automatically rendering Markdown READMEs, but so much of early GitHub was inspired by what came before.
2
2
114
@defunkt
defunkt
1 year
I appreciate everyone welcoming me back, but none of you can prove that I'm not ChatGPT.
16
1
103
@defunkt
defunkt
1 year
He was right. From that point on, we didn't touch it. For years you could have unlimited collaborators on private repos on GitHub, despite what the paid plans said. Almost nobody abused the system, and we instead focused on bigger problems. Thanks @tmornini .
2
4
101
@defunkt
defunkt
10 months
Everyone who gave us their email address on will only receive one email from us ever, when we launch. Then we'll delete your address. You'll have to follow me for now to learn about other updates.
@viniciushoyer
Vinícius Hoyer
10 months
@defunkt Will also this be announced in the newsletter? I'm legit interested
0
0
1
7
2
93
@defunkt
defunkt
7 months
@kwok_phil That's the scariest part
1
1
96