Joël Quenneville
@joelquen
Followers
2K
Following
3K
Media
301
Statuses
3K
I craft software, mostly on the web. I love best practices, patterns, and functional programming.
Joined September 2012
Working in small chunks is one of the powerful dev skills I have! Among other things it: 👀 Makes it easier to get code review (smaller PRs) 🏃♂️ Keeps forward momentum 🗑️ Prevents code from going stale ↩️ Makes code easier to revert a thread on ways to achieve this 🧵
1
19
51
For example, SWR returns a triple of {data, isLoading, error} rather than a union of loading/error/success states. This means you get less support from TS type-checker to make sure you handled your edge cases and leads to code with a ton of `data && ...` strewn throughout
1
0
2
Discriminated unions are such a powerful feature! I'm surprised at how little I see them used in the React/Typescript ecosystem. Does anyone know why?
1
0
2
Decode thoughts for growth; Connect and share; example— △ Joël's Triangle Elm Town 86 – Wonder: Linking notes for active growth with @joelquen: https://t.co/1iTVCtVWjC
https://t.co/1LGKkU5Zp4
0
1
1
I had a blast talking with @absynce about Elm, decoders, growth, and note-taking on this episode of ElmTown. Thanks for having me on! Non Elm developers just interested in note-taking, jump to about 23min mark. https://t.co/jqgAQdZPhF
elm.town
Joël Quenneville conveys his growth process—taking notes, creating connections between ideas, and sharing those artifacts.
0
1
2
You've heard of essential vs accidental *complexity* (No Silver Bullet) but what about essential vs accidental *uncertainty*? Some nullability issues are self-inflicted
0
0
3
Curious about which articles made it in but don't want to watch the video? I've put all the links in a gist along with a one-line reason it was picked https://t.co/Ku6LMJ4YnS
gist.github.com
This History of Rails in 10 Blog posts. GitHub Gist: instantly share code, notes, and snippets.
0
0
0
Missed my #RailsConf talk in Philadelphia? Recordings are out! "The History of Rails in 10 Blog Posts" https://t.co/uv5CENGhcj
1
2
5
🚨 #RailsConf 2025 speaker videos are now LIVE! 🚨 Whether you want to catch up on talks you missed or rewatch your favorites, check out videos from speakers like @tenderlove, @DHH, Aji Slater, John Dewsnap, & many more! 👇 https://t.co/iTgJBNuCM5
1
9
28
I predict that we're going to see a resurgence in the 2000s-era craft practices: TDD, README-driven development, Domain Driven Design, etc. These are all (good) approaches for separating the design of a system from its implementation, which is becoming really important now.
4
13
85
I was able to upload the map and vaguely describe the area I wanted to see such as "the north side of the central plaza" and it could describe all the buildings around and offer me a few different viewpoints!
0
0
1
My #RailsConf talk was themed as a walking tour through "RailsLand". I had this watercolor style map of the town and wanted to get some street level views to showcase each stop I was curious to see what an AI could do and was surprised at how good the computer vision was!
1
0
5
For those who missed the talk, it was recorded and you'll get a chance to see it once conference videos are out. In the meantime, here are my slides: https://t.co/VoisRbp1Ab
speakerdeck.com
Calling nostalgic veterans and newbies alike! We’re traveling through time on a tour of some of the most influential blog posts to hit the Rails communi…
0
0
0
Thanks to everyone who came out to see the talk! Here is the passport fully stamped. Hope you had fun on this walking tour!
1
0
1
Good morning #RailsConf! Get your chrono-passports ready and come join me for a time-travel tour of Railsland! 3:15PM on the main stage
1
0
4
What are some ways you like to get more value out of a conference like @railsconf? Do you take notes during sessions? How do you connect with strangers? Share your tips in the replies!
Looking for something to listen to while you travel to @railsconf ? On this episode of the Bikeshed, @matheusrich and I muse about how to get the most out of attending a conference https://t.co/n4khE9GSaU
0
0
1
Looking for something to listen to while you travel to @railsconf ? On this episode of the Bikeshed, @matheusrich and I muse about how to get the most out of attending a conference https://t.co/n4khE9GSaU
0
2
6
Some caveats apply to the "re-hydrating" technique shown above: if rows are removed, modified, or added your rehydrated rows might not be quite the same as those that generated the aggregate. I've found this works best when grouping by at least a date parameter (in the past!)
0
0
0
Did you know that you can "hydrate" a row from a GROUP BY query by running a WHERE with specific values for the grouping params? SELECT source, date, COUNT(id) FROM events GROUP BY source, date hydrate with: SELECT * FROM events WHERE source = 'Slack' AND date = 2024-01-01
1
1
1
Did you know ActiveModel supports objects with composite primary keys? I used this to model events grouped by a few properties. Groups were a concept in my UI but not in the database. Just as easy as ActiveRecord! https://t.co/JqEzT17jAw
1
3
11
Zettelkasten-like note-taking systems seem really well positioned to take advantage of AI. Has anyone done anything interesting here? https://t.co/fQO1zAt2NY
thoughtbot.com
I create a lot but never run out of ideas. Part of my secret is the note-taking system I use.
1
1
8