Joël Quenneville Profile
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
Don't wanna be here? Send us removal request.
@joelquen
Joël Quenneville
4 years
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
@joelquen
Joël Quenneville
3 months
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
@joelquen
Joël Quenneville
3 months
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
@elmtownpodcast
Elm Town
4 months
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
@joelquen
Joël Quenneville
4 months
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
Tweet card summary image
elm.town
Joël Quenneville conveys his growth process—taking notes, creating connections between ideas, and sharing those artifacts.
0
1
2
@joelquen
Joël Quenneville
4 months
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
@joelquen
Joël Quenneville
5 months
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
Tweet card summary image
gist.github.com
This History of Rails in 10 Blog posts. GitHub Gist: instantly share code, notes, and snippets.
0
0
0
@joelquen
Joël Quenneville
5 months
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
RailsConf
5 months
🚨 #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
@wycats
Yehuda Katz
5 months
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
@joelquen
Joël Quenneville
5 months
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
@joelquen
Joël Quenneville
5 months
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
@joelquen
Joël Quenneville
5 months
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
Tweet card summary image
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
@joelquen
Joël Quenneville
5 months
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
@joelquen
Joël Quenneville
5 months
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
@joelquen
Joël Quenneville
6 months
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!
@joelquen
Joël Quenneville
6 months
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
@joelquen
Joël Quenneville
6 months
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
@joelquen
Joël Quenneville
7 months
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
@joelquen
Joël Quenneville
7 months
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
@joelquen
Joël Quenneville
7 months
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
@joelquen
Joël Quenneville
8 months
Zettelkasten-like note-taking systems seem really well positioned to take advantage of AI. Has anyone done anything interesting here? https://t.co/fQO1zAt2NY
Tweet card summary image
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