Max Howell Profile Banner
Max Howell Profile
Max Howell

@mxcl

Followers
33,404
Following
448
Media
202
Statuses
2,905

CEO @pkgxdev . founder & core contributor @teaprotocol . formerly creator .

Apex, NC, USA
Joined April 2007
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
Pinned Tweet
@mxcl
Max Howell
8 months
Web2 was built on Open Source. I created Homebrew, used by almost every web2 company… yet the most compensation I ever received was a (literal) “thank you for Homebrew” blanket from Google one cold winter. PromiseKit, another project I created, was once used by over 100,000
104
217
1K
@mxcl
Max Howell
9 years
Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.
531
7K
18K
@mxcl
Max Howell
4 years
Facebook is another company where you have to do obscure computer science puzzles to get a job there, but once there feel free to write code that crashes 20% of the apps on the App Store. Quality is unimportant provided you can feel smug about how to manipulate data structures.
31
385
2K
@mxcl
Max Howell
6 years
Users don’t care if your app is cross platform, they only care about one platform: *their* platform. Is your app bad on their platform because it’s not good on *any* platform because it’s written in a cross platform toolkit? Good luck then.
37
442
1K
@mxcl
Max Howell
5 years
Apple engineer: how often should we invalidate sessions at ? Tim Cook: Developers grow through pain. They should have to sign in multiple times a day and make sure the login form needlessly separates username and password entry with gratuitous animations.
22
184
1K
@mxcl
Max Howell
7 months
In 2021 I was once again between paid work and wanting to work on Open Source fulltime. I looked at what was there and decided it couldn’t realize my dream. One evening I realized that I could wait forever for some one else to make my dream true—or I could fix it myself. So I
1K
977
945
@mxcl
Max Howell
11 months
@thdxr Homebrew was good at the time, but I agree it's stale nowadays (I pushed it out in like 2009) so I built a new one
31
67
785
@mxcl
Max Howell
6 years
I made a new thing, Swift-scripting with dependencies, no additional files, just your script:
Tweet media one
10
155
609
@mxcl
Max Howell
6 years
Server-side Swift is terrific. Here’s part one of six on the making of Canopy. This week focusing on why Swift was so good for writing server-side code:
12
113
465
@mxcl
Max Howell
4 months
15 years ago, I made the first commit to Homebrew, never imagining it would become one of the most widely used Open Source projects of all time. I dedicated myself full-time, unpaid (and often underappreciated), to brew. I don’t think it would exist if I hadn’t. I lived on
20
65
421
@mxcl
Max Howell
5 years
Happy birthday, Homebrew! 10 years ago today I pushed your first commit. Standing on the shoulders of giants, you were everybody’s ideas, both old and new. You’ve stood the test of time, a staple of toolboxes everywhere. An easy reach. A trusted tool.
13
70
423
@mxcl
Max Howell
6 years
But I’m sure all it’s binary trees are properly inverted.
Tweet media one
7
76
391
@mxcl
Max Howell
4 years
Smart TVs made me appreciate the value of dumb TVs. My Nest has made me appreciate the value of my old, ugly, doesnt-fail dumb thermostat. There’s an uncanny valley between simple mechanisms and genuinely smart electronics that we are foolishly jumping into with both feet.
17
54
366
@mxcl
Max Howell
6 years
Software is hard.
Tweet media one
3
50
352
@mxcl
Max Howell
2 years
Stuff that the original MacOS did in the 80s coming to web frameworks 40 years later 👏
@NotionHQ
Notion
2 years
A li’l quality-of-life update: Before, you had to be really precise with your cursor so menus wouldn’t disappear on you. Should feel much more polished now 🫡
278
285
7K
4
23
316
@mxcl
Max Howell
6 years
Roses are red, Xcode’s (icon) is blue, All of my RAM, Is allocated to you.
6
56
308
@mxcl
Max Howell
5 years
I like how Apple remove 3D Touch when iOS 13 finally makes it good feature.
11
28
304
@mxcl
Max Howell
6 years
Using ` #function ` for the key in a UserDefaults extension.
Tweet media one
10
55
289
@mxcl
Max Howell
6 years
Everyone at Google uses different everything. Everyone at Facebook uses different everything. Everyone at Apple uses Swift/ObjC/Xcode. Everyone at Amazon uses AWS. It makes a difference, when your company builds their own tools and dog-foods them too: it leads to quality.
16
48
282
@mxcl
Max Howell
5 years
Apple: we put AI in our shit! Also Apple: if you retype the same thing three times we will still autocorrect it to a contextually stupid alternative.
5
33
277
@mxcl
Max Howell
5 years
How JS fucked us over today:
Tweet media one
20
43
269
@mxcl
Max Howell
5 years
People who do: let foo = something() return foo Are dead to me.
30
23
223
@mxcl
Max Howell
6 years
People often tell me they don’t open source because they aren’t confident in their code quality. Here’s the truth: nobody reads your code, open _or_ closed source.
12
44
224
@mxcl
Max Howell
5 years
@hisham_hm @HardFactorPat @Delta Three blames here: 1. It’s Pat’s fault, he should have been more careful with his laptop placement 2. It’s the recliner’s fault: they reclined too fast, too carelessly 3. It’s bad seat design in an era when everyone has laptops I’d go 1,3,2 if it was me, but 3,1,2 for others.
6
7
202
@mxcl
Max Howell
4 years
But also, seriously, how do they even write an SDK this bad? This is *twice* now. The first time didn’t someone in some quality control position insist they check the 200 lines of code that is run by the [Foo initialize] method for the small subset of things that crashes ObjC?
10
15
207
@mxcl
Max Howell
4 years
Using a little SwiftUI for the first time. I have done ~2 years of React/TypeScript. SwiftUI is *beautiful*. I want it for all UI now. Screw React.
15
16
206
@mxcl
Max Howell
4 years
I hope the Apple Music team are embarrassed that their native app is completely whipped by Spotify’s Electron app in every performance metric users are interested in.
16
12
201
@mxcl
Max Howell
2 years
My manager at Apple told me single letter variables are never ok. I was using `i` as the index in a two line loop. I handed in my notice the next week. Working there was not the dream I imagined.
@mitchellh
Mitchell Hashimoto
2 years
One of the things I miss about working as a junior eng is experiencing very senior people with totally bonkers opinions. I particularly miss an old boss-of-a-boss who literally told me if I use "git rebase" in ANY situation I'm toast. I asked why it exists then and he got mad.
38
36
952
12
15
200
@mxcl
Max Howell
6 years
I wrote a super tiny library for colorizing terminal output with Swift 5 string interpolation extensions:
Tweet media one
2
17
177
@mxcl
Max Howell
3 years
Rust (and maybe Go) have beat out Swift for mindshare at this point. The reason is because Xcode Swift completion has been beyond shit for 6 years. Time to learn Rust IMO.
21
20
168
@mxcl
Max Howell
10 months
@rafalwilinski I haven’t heard of SST. Google didn’t know when searching “AI SST”. ChatGPT said this lol:
Tweet media one
12
1
167
@mxcl
Max Howell
6 years
More open source from me; a delightful, robust pathing library:
Tweet media one
6
29
159
@mxcl
Max Howell
6 years
The latest hot solution to the Fermi paradox is all advanced civilizations collapse under the weight of their Javascript dependencies.
2
48
153
@mxcl
Max Howell
5 years
If I pay for YouTube Premium will they stop continuously asking me to pay for YouTube Premium? Is that its feature?
9
18
149
@mxcl
Max Howell
5 years
Server-side Swift is where all the really interesting work built on top of Swift is at.
9
18
147
@mxcl
Max Howell
5 years
I’ve done a lot of both Swift and JS lately. With Swift you are shifting the errors in your code up front. With JS you often cannot ever be confident that your code is correct. With Swift, you’re pretty sure.
8
19
143
@mxcl
Max Howell
4 years
@cacaosteve I believe the space complexity is 2 square centimeters and the time complexity is just before lunch.
0
6
137
@mxcl
Max Howell
6 years
This week’s open source is Cake, a tool that makes building highly-modular Swift apps much easier; it also can (if you like) manage your dependencies, and with it you can finally use Swift packages in your iOS apps.
Tweet media one
9
36
135
@mxcl
Max Howell
6 years
Do you or your products benefit from my open source? Please return the favor! Buy the creator of Homebrew a beer! I work full-time on OSS and this is only possible thanks to the generosity of people like yourself. I appreciate anything you can give 🙏
4
60
138
@mxcl
Max Howell
5 years
Bay Area flattens the curve. Who would have thought the geekiest city in the world would embrace social isolation so readily and effectively?
10
19
137
@mxcl
Max Howell
5 years
I don’t get why the industry focuses on 4K/8K screens when we still have banding in simple gradients and poor contrast in dark scenes and thus it’s obvious we need more colors way more than we need more pixels.
13
19
133
@mxcl
Max Howell
7 months
Come on now everyone. You can’t let the founder be #1 . Step up a bit.
Tweet media one
24
17
93
@mxcl
Max Howell
6 years
I worked with @mattt to supplement `swift-sh` with an `eject` command. It converts your script into a proper Swift package, ideal when your script becomes ever more useful and you need to break it out into a real project:
Tweet media one
5
27
128
@mxcl
Max Howell
6 years
This week’s open source: “Seamless, automatic, “dotfile” sync to iCloud.”
Tweet media one
2
29
125
@mxcl
Max Howell
5 years
Tweak `.travis.yml`, push, tweak `.travis.yml`, push, tweak `.travis.yml`, push, google for how to run Travis locally, decide it’s not worth the time, tweak `.travis.yml`, push, tweak `.travis.yml`, push, tweak `.travis.yml`, push…
9
13
122
@mxcl
Max Howell
5 years
If you always use `[weak self]` you are doing it wrong. I barely ever use it; do you really want your async operations to get cancelled when VCs leave the hierarchy? Mostly you do not, and when it would be more efficient, you’re making your code less readable for marginal gains
19
29
123
@mxcl
Max Howell
6 years
I get all fanatical about not having duplicate files, notes, etc. My body has a complete copy of my DNA in every cell. Maybe I should chill out, clearly the universe doesn’t care that much about DRY.
6
27
120
@mxcl
Max Howell
6 years
Me: What does the R stand for? Wife: really good Me: ok, how about the S? Wife: Sooooo good.
4
43
120
@mxcl
Max Howell
6 years
Swift 4.2 provides a CommonCrypto module. I’d say finally, but it feels rude. But, you know, *finally*.
4
45
115
@mxcl
Max Howell
7 months
None of us expected anything when we built Open Source. We were just super excited to work on things we cared about and even more thrilled when other people found value in them. I never expected anything when I built Homebrew. Yet it struck me as wrong that I was chasing
7
22
106
@mxcl
Max Howell
3 months
Microsoft are not entirely devoid of blame here. How come Windows doesn’t unload failing kernel modules after it cycles failed boots a few times? Operating Systems need to be failsafe.
7
8
106
@mxcl
Max Howell
6 years
There are many issues concerning our ability to control super-intelligent AI but I think our biggest concern needs to be that it might be written in Javascript.
7
33
106
@mxcl
Max Howell
5 years
Let’s not forget that it’s more important that you can whiteboard algorithms than demonstrate a decade of experience building robust, secure, privacy‐aware applications.
5
34
103
@mxcl
Max Howell
6 years
Presented without comment.
Tweet media one
6
15
107
@mxcl
Max Howell
1 year
two hours
Tweet media one
8
3
107
@mxcl
Max Howell
4 years
The better your idea, the more people who think they’re smart will declare it preposterous.
Tweet media one
8
23
106
@mxcl
Max Howell
6 years
Path.swift is now 100% documented and is tested on macOS, iOS, tvOS, watchOS and Linux:
5
11
105
@mxcl
Max Howell
6 years
For 10 years I’ve wanted an app that does push notifications for GitHub. For 10 years there has been nothing. So this year, fed up with not being able to respond to important events in realtime, I wrote the app. Free for open source, check it out.
7
26
104
@mxcl
Max Howell
5 years
Our job as software engineers is to build platforms that enable genuine human creativity by building tools that fill in the gaps in human ability.
3
17
101
@mxcl
Max Howell
5 years
Being British in America is a free-pass to make up words and pretend it’s some kind of British slang.
4
4
97
@mxcl
Max Howell
5 years
Homebrew has had more unique contributions than any open source project ever. Thank you to everybody for every contribution, no matter the size. Special thanks to those that stepped up to be maintainers; a thankless task, a task that often came with abuse; they made brew possible
3
18
100
@mxcl
Max Howell
4 years
The web, where fundamental usability features invented by Xerox in the 1970s have to be manually and laboriously added to every web framework that exists.
@eldh
Andreas Eldh
4 years
Fun little detail that just landed in @linear_app : When navigating in the contextual menu it’s now easier to move the mouse to sub-menus, since we paint out a little “safe area” between the cursor and the menu. (The area is highlighted in the clip.)
24
89
921
2
29
94
@mxcl
Max Howell
4 years
Docker: Let’s make a menu bar app Users: Cool, it could show information about running containers and be really useful! Docker: No. It will be useless. Enjoy!
3
11
96
@mxcl
Max Howell
5 years
OMFG I hate Jira. Is there anything good in this space? ANYTHING?
47
7
95
@mxcl
Max Howell
6 years
Hey there everybody! This year I will release a new open source Swift project EVERY WEEK. Help me achieve this goal by supporting my Patreon. All the details here:
7
12
92
@mxcl
Max Howell
5 years
This is quite a holy shit for me.
@tanner0101
Tanner Nelson
5 years
macOS Catalina moves to Z shell by default
8
186
455
6
19
90
@mxcl
Max Howell
5 years
All developers know how HTTP varies significantly in Europe.
Tweet media one
5
4
87
@mxcl
Max Howell
5 years
It’s easy to learn and hard to master. C++ is neither. Not to mention your C++ programs are time bombs.
7
12
87
@mxcl
Max Howell
6 years
Reminder that I already built a Mojave-dark-mode GitX:
Tweet media one
1
12
86
@mxcl
Max Howell
10 months
For every 10 likes this post gets I will get `pkgx` to run itself again.
Tweet media one
4
2
84
@mxcl
Max Howell
4 years
People who comment on their own tickets with “I found a workaround!” but do not describe said workaround.
7
5
83
@mxcl
Max Howell
3 years
Medium CEO: how can we make Medium even less useful and delightful? The paywall has really worked so far but I want more! Medium CPO: how about whenever someone selects text we immediately deselect it so their attempt to ⌘C merely makes a frustrating beep? Medium CEO: genius!
6
2
84
@mxcl
Max Howell
6 years
1 million seconds is 12 days. 1 billion seconds is 32 years. #MagnitudeAppreciation
2
21
83
@mxcl
Max Howell
5 years
There’s three ways to react to anything: 1. For it 2. Against it 3. Roll with it Only the third option enables you to always be in a position for success.
5
16
84
@mxcl
Max Howell
4 years
I caved and remapped ⌘P to ⌘⇧O in Xcode (VSCode binding) and don’t hate it. I mean—seriously—who prints anymore?
13
4
82
@mxcl
Max Howell
7 months
Loved meeting Fabian. What a legend in the space!
@feindura
Fabian Vogelsteller
7 months
Great meeting the creator of @homebrew , now doing @teaprotocol Perfect for @ERC725Account 🆙
Tweet media one
9
20
204
3
7
78
@mxcl
Max Howell
7 months
As OSS devs we love to know how well our work is doing (since until @teaprotocol that was the incentive we had). Within a language ecosystem you tend to have a good idea. But across languages and ecosystems? You’re SooL. tea fixes that via Proof of Contribution…
7
15
58
@mxcl
Max Howell
2 years
tea, the unified package manager, has only been out a month and we’re already up to 50,000 (50K) authenticated developers and 4,000 stars. People are seeing that we’re trying to reshape how developers everywhere approach their work. How will you use tea?
Tweet media one
2
15
72
@mxcl
Max Howell
4 years
AWS doesn’t really have EC2 classes for Swift on Server. We don’t need 16GB of RAM, 1GB would probably be more than enough. But more cores would be great. They seem to be designed for Node, so as you scale cores you get loads of RAM too, which JS needs but Swift really doesn’t.
9
7
81
@mxcl
Max Howell
6 years
Discovered this Swift tip on the evolution forums (via @slava_pestov ), creating a reference to a specific enum’s initializer:
Tweet media one
0
16
79
@mxcl
Max Howell
5 years
Swift on server has energized Swift, producing fabulous high-quality, low-level tooling that if Swift was still only for apps, would not exist, like:
0
18
77
@mxcl
Max Howell
5 years
Vapor has a lovely type safe ORM, and when it is insufficient or inefficient, it has a lovely type safe SQL syntax, and when that is insufficient you can auto decode model types from RAW sql. So I mean: it’s good.
2
3
78
@mxcl
Max Howell
6 years
Everybody at #FrenchKit that just pushed in front of me in the line for coffee: your license to use Homebrew is now revoked.
3
5
77
@mxcl
Max Howell
4 years
1. Use a popular something for a task 2. Figure out why it sucks 3. Make something better Do not start at 3.
1
13
75
@mxcl
Max Howell
4 years
Upping code coverage by rewriting an if statement as a one line ternary.
4
4
77
@mxcl
Max Howell
5 years
Switch statement indentation, my way:
Tweet media one
12
2
76
@mxcl
Max Howell
5 years
I literally have a “Google test” for engineering positions. I give them a bug and have them google to debug it. No code.
@daveverwer
Dave Verwer
5 years
This post from @type__error is 👍👍👍
1
7
34
1
7
75
@mxcl
Max Howell
4 years
Chronically under-used, if I had to guess at why it is not: * Hard to implement * Hard to test * Hard to debug * Hard to QA * API docs unclear I implemented it a couple times and when done correctly is quite a magical UX that made every screen in the app a large QA burden.
@KrauseFx
Felix Krause
4 years
Dear @google , @netflix , @airbnb , @uber and like almost every other big iOS app: Please look into the iOS state restoration feature that got released recently in like 2016 🙃
24
16
335
2
12
75
@mxcl
Max Howell
6 years
Things required to unseat JavaScript: 1. Web Assembly in all browsers (because Clang can already compile *to* Wasm) 2. A language with a cross platform GUI toolkit + build system + IDE 3. A GUI toolkit with a layout/styling engine as good (irony acknowledged) as CSS
6
17
75
@mxcl
Max Howell
7 years
I gave a 200% tip to my Lyft driver because the ride came with a puppy that slept in my lap for the whole journey. No regrets.
1
1
72
@mxcl
Max Howell
1 year
OpenAI can’t scale to all these startups. The era of on device AI is coming.
9
13
72
@mxcl
Max Howell
6 years
GraphQL “really good”
Tweet media one
6
12
70
@mxcl
Max Howell
5 years
I order my imports in length order because someone I distinctly didn’t like once made fun of it as a method. Annnnnd that’s all you need to know about my choices in this life.
7
5
73
@mxcl
Max Howell
2 years
I just enjoyed having my transaction declined due to suspicious activity while trying to buy the new MacBook Pro (an Apple product), at the Apple App Store using my Apple credit card on my Apple MacBook in Apple’s Safari browser 🤦🏻
6
2
72
@mxcl
Max Howell
6 years
“Native code is faster,” he says while waiting 3 seconds for Xcode to open a new tab.
1
9
72
@mxcl
Max Howell
6 years
What’s the German word for when you reach to tap something but the underlying model changes the UI just before you touch the screen so you activate the wrong thing?
12
7
70
@mxcl
Max Howell
2 years
2
0
71