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
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.
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.
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.
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
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:
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
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.
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.
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 🫡
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.
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.
@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.
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?
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.
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.
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.
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.
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.
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.
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 🙏
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.
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:
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…
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
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.
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
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.
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.
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.
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.
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
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.
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.)
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!
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:
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!
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.
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…
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?
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.
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.
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.
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 🙃
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
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.
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 🤦🏻
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?