Fernando

8.5K posts

Fernando banner
Fernando

Fernando

@fromjrtosr

🇲🇽 Mexican 🐶 Founder @UnderdogDevs 💻 Lead iOS dev @37signals (@basecamp, @heyhey) No Mastodon; only email [email protected] I miss Objective-C.

Katılım Mart 2008
228 Takip Edilen2.1K Takipçiler
Sabitlenmiş Tweet
Fernando
Fernando@fromjrtosr·
🎶 You’re gone, gone, gone away I watched you disappear All that’s left is a ghost of you Now we’re torn, torn, torn apart there’s nothing we can do Just let me go and meet again soon Now wait, wait, wait for me Please hang around I’ll see you when I fall asleep 🎵
English
1
0
2
0
Jorge Manrubia
Jorge Manrubia@jorgemanru·
This is very special: Jeffrey Hardy explains the recordables pattern we use in Basecamp. Jeff is one of a kind. He is my reference when it comes to designing software with clarity and taste. I have learned tons from him. And this pattern is ridiculously powerful. I don't think it has ever been properly explained. Until now. dev.37signals.com/the-rails-reco…
English
10
28
272
75.1K
Fernando
Fernando@fromjrtosr·
@agadmator thanks for your content! I just realized I watched it A LOT. Though don’t ask me how many pause the video moments right 😆
Fernando tweet media
English
0
0
0
19
Fernando retweetledi
Michelle Harjani
Michelle Harjani@MichelleHarjani·
Love building products and shipping work? Come join the design team @37signals—we're hiring! I'm so proud of the work I get to do, and to be able to work from anywhere, remote and async, with uninterrupted focus time and only ~2 calls a week. 💁🏻‍♀️
Jason Fried@jasonfried

WE'RE HIRING! We're hiring a Web App Product Designer. We don't hire for this position often, so this is a rare opportunity. Depending on your skills and experience, you'll either come in at the Senior or Lead level. Senior pays $193,858, Lead pays $229,064. Additional perks, benefits, profit sharing, and more are detailed in our employee handbook (linked in the official post below). We're looking for a designer, not a decorator. A product builder, not a picture maker. A shipper, not a prototyper. There's plenty of the latter, but we're after the former. We've built a close-knit team of five wonderful designers, and we'd be thrilled to have you as our sixth. At many companies, product design is split into different roles: UX, UI, front-end development, copywriter, etc. At 37signals, it’s all one role. This means our designers are exceptional generalists. So, along with having great visual taste and sensibilities, you must be able to write your own production-quality front-end HTML, CSS, and English. You'll pair up with a back-end programmer to bring designs, features, and products to life. We're looking forward to hearing from you! Full role description and how to apply here: apply.workable.com/37signals/j/FC…

English
0
1
6
669
Fernando
Fernando@fromjrtosr·
@jtaby Absolutely, but tell others and they’ll justify it in many different ways. It’s honestly mind-boggling to see us (Swift devs) sink deeper and deeper into this complexity hole.
English
0
0
1
128
Majd Taby
Majd Taby@jtaby·
The worst part of Swift is when you get a compiler error on a line that has nothing to do with the actual error in your code. It reaches nuclear levels of frustration when the error is simply “the compiler is unable to type-check this expression in a reasonable time” These ergonomics in the language don’t come for free.
Point-Free@pointfreeco

Modern Swift has a lot of advanced features, and you don’t need to know them all to be effective with the language, but when you can, the results can be magical.

English
21
7
189
28.4K
Fernando
Fernando@fromjrtosr·
@pointfreeco It was clear from the screenshot 😄 Perhaps I’m just old school but I don’t usually go for code this complex regardless of how simple the call site will be.
English
1
0
0
160
Point-Free
Point-Free@pointfreeco·
It may not be clear from the screenshot, but the function signature is library code that no one (but us) needs to understand. The Swift API is only this: SyncUp.insert { ($0.title, $0.date) } values: { ("Morning Sync", Date()) } onConflict: { $0.title += " Copy" } That generates the following SQL: INSERT INTO syncUps (title, date) VALUES ('Morning Sync', '2001-01-01 00:00:00') ON CONFLICT DO UPDATE SET title = title || ' Copy' …but also is type-safe so that we do not mix up data types or refer to columns that do not exist. We personally love SQL, and that is why we are writing a query building library that mimics SQL rather than abstracting it away. We think everyone should first and foremost be very familiar with SQL, and only then consider using our library if they want some type-safety and composability from their queries.
English
1
1
6
1.2K
Point-Free
Point-Free@pointfreeco·
Modern Swift has a lot of advanced features, and you don’t need to know them all to be effective with the language, but when you can, the results can be magical.
Point-Free tweet media
English
39
20
280
87.6K
Fernando
Fernando@fromjrtosr·
@pointfreeco No offense, but I would rather write the raw SQL code. This is so much complexity to understand a simple SQL statement.
English
1
0
0
154
Point-Free
Point-Free@pointfreeco·
@fromjrtosr It's 100% serious. 😁 The function signature is only something we, library maintainers, need to worry about. Callers of this function don't need to understand it all. They just get a nice, type-safe API for executing SQL queries, and so that seems like a win to us.
English
1
0
1
266
Fernando retweetledi
IPGM
IPGM@ip__gm·
chat I think we took a wrong turn at some point @basecamp has (imho) the peak of SaaS landing pages easy to digest, clear, friendly, useful, no frills tf happened, why are we emulating wormholes to sell people on a notes app
English
12
4
126
12.6K
Fernando retweetledi
Jason Fried
Jason Fried@jasonfried·
New year, new chance, new price: Zero. Basecamp Free is back. Manage one project with a bunch of people for free — forever. All the core features included. Everything you need. One project free. New for 2025. basecamp.com/signup
English
42
65
699
111.6K
Fernando retweetledi
Ladybird
Ladybird@ladybirdbrowser·
We're stoked to announce that @37signals is sponsoring Ladybird with a generous donation of $10,000! 🙌 37signals is an OG web maverick, and we couldn't be happier to have them as a sponsor. Big thanks to @dhh and team for supporting our mission! ❤️
English
8
31
624
44.6K
Fernando
Fernando@fromjrtosr·
@connorjewiss It’s both the product and company culture which disincentivize a constant stream of notifications. I may have to check in on 4-5 projects during the day but no one is expecting me to answer immediately, not even if pinged (DMs).
English
1
0
6
829
Connor Jewiss
Connor Jewiss@connorjewiss·
@fromjrtosr sounds like heaven. what's their secret sauce for maintaining calm?
English
1
0
2
892
Fernando
Fernando@fromjrtosr·
I’ve been working as a software developer for 14 years. When I joined 37signals it was _eerie_ how calm things were. It’s the single biggest level up to my productivity (and mental health!) ever. Going from Slack to this is like going from a noisy intersection to a quiet room.
Jason Fried@jasonfried

Behind the Scenes: A shot from our actual Basecamp account. The "Mobile: HEY Email" project in our Basecamp account holds it all. It's a great example of how much you can do with a single project in Basecamp. Github notifications are piped into Campfire (along with real-time chat when necessary). Android and iOS Suggestion Card Tables to track requests and potentials that pop up. Android and iOS Bugs Card Tables to track issues that come up. To-do lists for each platform to use when necessary. On iOS we track the Apple App Store submission process + status. A message board for announcements everyone needs to know about (new releases, pitches, what's shipping soon, etc). Docs & Files hold shared assets like logos, key notes and reference docs, etc. And two Doors, one out to the Github Rep for Android and another to the Github Repo for iOS. One product, everything we need, every discussion, every decision, everything visually organized in its own place, the whole team with access (including anyone else from the company who needs access). Plus the entire project history below timestamped to the minute from day one. All in one Basecamp project. Tidy, predictable, organized, and clear.

English
3
7
128
40.8K
Fernando retweetledi
Everton Carneiro
Everton Carneiro@everton_dev·
It’s interesting to me when I bring anything bad about SwiftUI some people immediately assume the problem is: - you don’t understand how SwiftUI works - you haven’t tried this or that approach - you are doing it wrong Confirmation bias at its peak
Everton Carneiro@everton_dev

Couldn’t agree more

English
9
3
62
12K
Fernando
Fernando@fromjrtosr·
Wow. I’d been following and thinking “well, Wordpress is sort of in a gray area.” This crossed a very well defined line. Unbelievable hypocrisy.
WordPress@WordPress

@wp_acf This has happened several times before, and in line with the guidelines you agreed to by being in the directory: github.com/wordpress/wpor… Best of luck with your version. We're looking forward to making ours amazing for our users, using the best GPL code available.

English
0
0
1
377
Fernando
Fernando@fromjrtosr·
You’re an iOS dev building an app for an existing website? Hotwire Native. That screen in HTML requires custom animation or gestures so you wish you could move some parts to native? Hotwire Native. Need to completely replace that HTML with beautiful SwiftUI? Hotwire Native.
DHH@dhh

The new Hotwire Native site is so good. Getting started with, say, a native Android application with the web at the center has never been easier. If you have to add a native app, this is a great way to radically lower the price of development. native.hotwired.dev/android/gettin…

English
0
1
2
430
Fernando
Fernando@fromjrtosr·
@console_dot @RussTheMagic We’re working on it! If you find something lacking, I’d be happy to add it to the repo as time permits.
English
1
0
2
15
Moses-Marie
Moses-Marie@console_dot·
@RussTheMagic Well.... There are limited materials/documentations on rails mobile.
English
2
0
0
354
Just Build It
Just Build It@just_build_itt·
This is the best tech stack to build with in 2024: Backend: Rails Frontend: Rails Auth: Rails Mobile: Rails Caching: Rails Hosting: Rails
English
19
17
293
10.7K
Fernando
Fernando@fromjrtosr·
@GothamChess Anything that is worth having is difficult to achieve. It was bound to happen that you'd stumble. Keep going at it, you got this 💪🏻
English
0
0
1
134
GothamChess
GothamChess@GothamChess·
After 7 rounds of my tournament, I finally managed to win a game! This has been the worst tournament of my life. (so far!) The good news is that there is a lot to improve, and I will work hard to do so. I’ll be resting and training until my match in late October.
English
84
26
3.7K
135.3K
Fernando
Fernando@fromjrtosr·
@jasonzimdars Ugh, we start in 2 weeks... school starts at 7:45am, so we have to be up 6:30am. Not looking forward to it 😵‍💫
English
0
0
1
23
Jason Zimdars
Jason Zimdars@jasonzimdars·
Peak summer: the day the kids sleep in the latest. Typically occurs two days before school starts when you have to start getting them up at 6am again.
English
2
1
8
662