Emmanuel Hayford Profile Banner
Emmanuel Hayford Profile
Emmanuel Hayford

@siaw23

2,597
Followers
127
Following
174
Media
1,221
Statuses

Host of The Rails Changelog Podcast @railschangelog . ⚡️ This Week In Rails co-editor. I tweet about Ruby & Rails and share weekly Rails tips @rails . Boxing.

Joined January 2018
Don't wanna be here? Send us removal request.
Pinned Tweet
@siaw23
Emmanuel Hayford
13 days
I've got some capacity to take on a new Rails project. Very comfortable with the backend and can work with the whole stack on a team (or without). Rails dev since 2014. DMs open. RTs appreciated. ❤️
0
20
29
@siaw23
Emmanuel Hayford
1 year
@manuel_frigerio What if they use Gitlab? Or their contributions are not public? Either way, contribution graphs mean nothing.
5
7
2K
@siaw23
Emmanuel Hayford
2 years
Rails 7.1 will combine checks for the development and test environments. 🔥
Tweet media one
10
35
407
@siaw23
Emmanuel Hayford
2 years
Rails 7.1 will give you a lot of possibilities: Active Record added an API for general async queries. Soon, you’ll be able to run aggregates and `find_by_sql` asynchronously. So you can do stuff like:
Tweet media one
8
84
345
@siaw23
Emmanuel Hayford
10 months
Now that Rails 7.1 Beta 1 is out, I want to let you know that you can now write your SQL SELECT fields as hashes. The following do the same thing.
Tweet media one
6
33
286
@siaw23
Emmanuel Hayford
1 year
For a dead framework, I think we're doing terrific!
Tweet media one
10
32
264
@siaw23
Emmanuel Hayford
1 year
If you use Sidekiq directly in your Rails app, you have a `push_bulk` method to push gazillions of jobs to Redis to cut down on the Redis round-trip latency. Rails 7.1 brings this feature to Active Job through a new `perform_all_later` method.
Tweet media one
4
23
211
@siaw23
Emmanuel Hayford
2 years
Rails logs files are unchecked: they can grow to whatever size imaginable. Not anymore, there's a new config option in Rails to keep log files from taking over disk space!
Tweet media one
13
26
204
@siaw23
Emmanuel Hayford
9 months
You know those moments when you create a new app, only to realise you wanted to start with PostgreSQL but Rails by default gave you SQLite? Here's a command to switch your database without having to touch a single file. Pass --force to skip prompts.
Tweet media one
4
23
192
@siaw23
Emmanuel Hayford
8 months
I'm available for work as a Ruby on Rails developer. I know Rails pretty well. CV upon request. Let me know if you or your team needs a hand. RTs appreciated 😀
5
119
151
@siaw23
Emmanuel Hayford
1 year
The best year to take Ruby on Rails seriously was 2004, the second best year is 2023!
10
21
153
@siaw23
Emmanuel Hayford
10 months
With more developers opting for SQLite on production servers, Rails is making incremental improvements to the SQLite3 Adapter. Find out more in this edition of This Week In Rails. 📰
4
12
153
@siaw23
Emmanuel Hayford
2 years
Refinements in Ruby are powerful. Here's an example illustrating Ruby's dynamism. You can conditionally break out of a "refinement" with the `super` keyword. This means more control over when and how you want to manipulate core classes.
Tweet media one
6
9
150
@siaw23
Emmanuel Hayford
2 years
Did you know that in Ruby you can explicitly instruct a method not to take keyword arguments? Otherwise the method sucks up the keywords in the rest argument.
Tweet media one
2
27
150
@siaw23
Emmanuel Hayford
1 year
For the RDBMSes that support them, Rails now allows you to pass options to `EXPLAIN`. ❤️
Tweet media one
1
10
145
@siaw23
Emmanuel Hayford
7 months
I'm working with the Rails Foundation to share Ruby on Rails tips with you officially. In a few days, you'll start getting weekly Rails tips on the Foundation's official X and LinkedIn accounts. Follow Rails @rails here on X and also on LinkedIn.
5
9
131
@siaw23
Emmanuel Hayford
1 year
Hi. My name is Emmanuel. I’m a Rails developer. 👋🏾
Tweet media one
4
1
127
@siaw23
Emmanuel Hayford
1 year
Started a new Ruby and Rails podcast @railschangelog . I intend to publish weekly or biweekly. Subs, RTs, and shares are appreciated! ❤️ I'm new to this, if you have ideas, suggestions or want to guest host, hit me up. First episode coming next week.
5
43
122
@siaw23
Emmanuel Hayford
2 years
Ruby 3.2 in three days.
0
4
126
@siaw23
Emmanuel Hayford
2 years
Say you have a humongous app that could have several routes, some of which are unused but you have no quick way of checking which routes are unused--well, Rails has your back. You can now find and delete dead code around these unused routes and speed up boot time too. 🚀
Tweet media one
4
18
122
@siaw23
Emmanuel Hayford
10 months
Rails 7.1.0.beta1 is imminent. For a brief description of some notable features, I wrote 3 blog posts to give you an idea of the treats we'll be getting: An Overview Of Ruby on Rails 7.1 Features. Part I An Overview Of Ruby on Rails 7.1 Features. Part II An Overview Of Ruby on
5
16
115
@siaw23
Emmanuel Hayford
10 months
Some API access tokens are ephemeral, this means we need to keep track of when these tokens expire to invalidate a cache. Rails 7.1 makes this process a breeze. Here's how you can invalidate a cache and fetch a new token at the same time.
Tweet media one
5
15
113
@siaw23
Emmanuel Hayford
2 years
TIL that in Rails 7, when you define a to_s in your model you can pass a single argument to link_to. Thanks to @olivierlacan . 🎉
Tweet media one
1
12
108
@siaw23
Emmanuel Hayford
2 years
rvm install 3.2.0
7
7
104
@siaw23
Emmanuel Hayford
2 years
A new (>= Rails 6) convenient addition to Rails Rake tasks that loads seeds without rebuilding the database structure.
Tweet media one
4
13
102
@siaw23
Emmanuel Hayford
2 years
1.27 million requests per second! Let that sink in. 🤯 #shopify @ShopifyEng
Tweet media one
7
6
97
@siaw23
Emmanuel Hayford
10 months
The `enum` method in Rails is getting a lot of attention in Rails 7.1. Rails now allows you to validate Enums. Here's how it looks in practice:
Tweet media one
3
14
97
@siaw23
Emmanuel Hayford
9 months
2 decades! Wow! Rails is here to stay! #RailsWorld
Tweet media one
0
8
96
@siaw23
Emmanuel Hayford
9 months
Is it just me, or have there been a resurgence of dormant Ruby/Rails meetups/conferences (like Tropical Ruby, RubyFuza, etc) in the past year or so, accompanied by the emergence of new ones? It's almost as if the Ruby community is experiencing a fresh wave of enthusiasm.
7
2
92
@siaw23
Emmanuel Hayford
2 years
These two are equivalent but I've been doing the longer version only until recently. 🤦🏾‍♂️ BTW you'd think "rails r" would be short for "rails routes" -- it's short for "rails runner". Why?! When was the last time you did "rails runner"?
Tweet media one
13
12
89
@siaw23
Emmanuel Hayford
10 months
It's mind-boggling to think that in 2023 there are full-grown developers who'd rather spend hours bickering over tools. This is software craftsmanship, we pick and drop tools along the way. It's not like you'll see two carpenters quibbling over what brand of nail to use to the
20
10
85
@siaw23
Emmanuel Hayford
9 months
In Rails, you no longer need to call .new on a class with dom_id. Allowing dom_id to accept a Ruby class instead of an instance streamlines its behaviour to match dom_class. This conserves memory as Ruby avoids creating a full object with all its associated callbacks.
Tweet media one
3
7
82
@siaw23
Emmanuel Hayford
2 years
In the last few months, I've seen an uptick in the number of Ruby content creators on Twitter, more people paying more attention to entry-level engineers, and extra efforts in making the Ruby community more open. These genuinely make me happy, and I hope it stays this way.
4
8
82
@siaw23
Emmanuel Hayford
11 months
In this episode of the @railschangelog , @dhh and I got to discuss a lot. Among what we covered are: Kamal Rails 8 Authentication in Rails The Rails Foundation & #RailsWorld On Writing Software Well Delegated Types, and more! Listen
7
17
79
@siaw23
Emmanuel Hayford
5 months
If you're a Rubyist, did you know about the Ruby Association, and do you know there's an official certification for Ruby? Taking these exams sounds fun, for me it's a way to support the association and I feel we should draw awareness to it.
5
8
79
@siaw23
Emmanuel Hayford
6 months
I wrote a This Week In Rails issue with updates about Ruby on Rails on rails. How about that? 😎
4
1
80
@siaw23
Emmanuel Hayford
1 year
Look what I got from @andycroll ❤️
Tweet media one
6
2
78
@siaw23
Emmanuel Hayford
2 years
One of my favourite features of modern Ruby is the `...` syntax for delegation or argument forwarding. It's elegant and saves some keystrokes.
Tweet media one
4
13
75
@siaw23
Emmanuel Hayford
5 months
Is it just me or people are starting to appreciate Rails more? Glad to be witnessing this.
@geekpreneur_
Jeremy @ Caley.io
5 months
I’m falling in love with @rails After 10 years working with @reactjs and the @JavaScript ecosystem it really feels like a breath of fresh air 🚀
28
21
241
6
4
77
@siaw23
Emmanuel Hayford
1 year
The "Rails 7.1 Features" series has come to a close, showcasing numerous improvements and exciting features. A sincere "thank you" to all the contributors that made this possible. The Rails community is incredibly grateful for your efforts. ❤️
0
8
75
@siaw23
Emmanuel Hayford
8 months
When updating, deleting or reloading an Active Record object, Rails now allows you to specify columns you want to use in the generated SQL queries with query_constraints. This augments Rails' support for composite primary keys and tenant-based sharding that requires all queries
Tweet media one
0
11
74
@siaw23
Emmanuel Hayford
9 months
#RailsWorld was intense! Met many amazing people, learned a ton, and expressed gratitude in person to people whose gems or libraries I use. Thank you @rails , thank you @AmandaBPerino . Follow @railschangelog for updates...❤️
3
3
68
@siaw23
Emmanuel Hayford
1 year
Rails Foundation's first-ever conference... Rails World! 🌍❤️
1
12
68
@siaw23
Emmanuel Hayford
10 months
Replaced my broken Intel MBP with this Apple M2. Any essential tools to install to make my transition seamless? How’s Ruby and Rails work with Sonoma?
Tweet media one
32
2
64
@siaw23
Emmanuel Hayford
5 months
This week, Ruby on Rails saw 43 contributors, that's the highest I've seen! That's around 6 people per day having their code merged. Not only are more folks migrating to Rails this year, the framework itself is getting better... more fixes, enhancements, new features, etc. 🍻
0
5
63
@siaw23
Emmanuel Hayford
11 months
Rails is getting a new test helper called `capture_emails`. This test helper is mostly to improve a common pattern we use in Rails with `assert_emails`.
Tweet media one
1
10
63
@siaw23
Emmanuel Hayford
1 year
I'm attempting video Ruby/Rails content creation. This thing is haaaaaard. 3 hours in and I haven't finished a 1-minute-long video. 😵‍💫 ... Hopefully, I can show you something in the next 48 hours. 😆
11
0
64
@siaw23
Emmanuel Hayford
2 years
What really happens when you instantiate a class in Ruby? 3 things essentially. In this snippet we implement our own version of `new` to create a new instance of the `Country` class. All this freedom for free in Ruby.
Tweet media one
2
14
63
@siaw23
Emmanuel Hayford
1 year
Finally found time to install Martian Mono by @evilmartians . Looks good!
Tweet media one
5
2
62
@siaw23
Emmanuel Hayford
10 months
If you're a Rails developer (new or experienced), I highly recommend you check out @DriftingRuby . Drifting Ruby is constantly producing high-quality content around Ruby and Rails that anyone can learn from! 🤌🏾
4
13
61
@siaw23
Emmanuel Hayford
9 months
When you're upgrading your apps to Rails 7.1, you might notice a deprecation warning asking you to replace to_s methods with to_fs. But why? Ruby 3.1 optimised string interpolation for some objects unless to_s is overridden and Rails wants this optimisation for you too.
Tweet media one
1
6
60
@siaw23
Emmanuel Hayford
2 years
You use the `%i[]` syntax all the time to create an array of symbols, but what's the meaning of the 'i'? Where does it come from? The 'i' means "intern".
Tweet media one
0
5
60
@siaw23
Emmanuel Hayford
2 years
Tweet media one
2
8
60
@siaw23
Emmanuel Hayford
7 months
Just published the last episode of @railschangelog for 2023 with Xavier Noria. Embarking on this podcasting venture has been a profoundly enlightening experience in ways I can't describe through text. ❤️ Thanks for being an integral part of this journey: @AmandaBPerino
Tweet media one
4
9
57
@siaw23
Emmanuel Hayford
1 year
Just published a new issue of This Week In Rails focusing on the ongoing work on support for Composite Primary Keys. The Asset Pipeline guides got a rewrite! Reminding you that you can subscribe to get updates like this delivered to your inbox! 📥
3
9
56
@siaw23
Emmanuel Hayford
10 months
Rails 7.1 among all the big shiny features also takes care of little pests like this one.
Tweet media one
1
0
53
@siaw23
Emmanuel Hayford
2 years
Don't get me wrong, Ruby is more than friendly and readable enough but imagine waking up one day to the possibility of writing small things like this.
Tweet media one
5
4
54
@siaw23
Emmanuel Hayford
1 year
I'm a fan of "beginless" (Ruby 2.6) and endless (Ruby 2.7) Ranges. We can now finally use them in Rails's `in?` method. It's the little things 😍
Tweet media one
2
6
53
@siaw23
Emmanuel Hayford
2 years
If you want to Rubocop only changed files, usually before a commit, here's an alias that works. -> List modified files -> Exclude deleted files -> Grep *.rb files -> Pipe to Rubocop for fixing
Tweet media one
5
5
54
@siaw23
Emmanuel Hayford
1 year
Bringing you more #RailsSaaS vibes 😀
Tweet media one
3
2
53
@siaw23
Emmanuel Hayford
9 months
. @eileencodes with the closing keynote at #RailsWorld 🚀
Tweet media one
0
0
52
@siaw23
Emmanuel Hayford
1 year
Working on something and learning more about Hotwire with Rails. I keep thinking... why do people complicate their lives with extra libs? The frontend solutions Rails provides are more than enough! 😳
7
0
50
@siaw23
Emmanuel Hayford
2 years
A lot of the times when you use `source_location`, all you want is to see what a method is doing.. so you get a location, navigate to the file to inspect the method. Well, you can save those trips by using `source.display` to have a peek from your terminal.
Tweet media one
2
12
51
@siaw23
Emmanuel Hayford
2 years
1
4
49
@siaw23
Emmanuel Hayford
9 months
Rails has a sandbox_by_default config option that's false by default. This is there to protect you from accidentally writing to production databases.
Tweet media one
2
6
50
@siaw23
Emmanuel Hayford
8 months
Tweet media one
@tobi
tobi lutke
8 months
Nerd BFCM stats: Shopify’s egress processed 145 billion requests on Friday. App servers handled peak of ~60 million requests per minute. Increase of 38%. Total GMV was $4.1b, up by 22% from last year. But Rails doesn't scale so what are we even doing 🤷‍♂️
111
580
4K
0
7
49
@siaw23
Emmanuel Hayford
9 months
Going back to my hotel and just passed by Beurs van Berlage, took a peak, met a few people in person, a few beers… #RailsWorld
Tweet media one
1
0
49
@siaw23
Emmanuel Hayford
1 year
Tweet media one
6
7
48
@siaw23
Emmanuel Hayford
7 months
Want to take a moment to publicly thank @lucianghinda . For some time now I've been observing Lucian and admire him a lot for: 1. his positive vibe and energy 2. consistent support to any Rubyist 3. encouraging Ruby content creation, etc Thank you Lucian for your work in the
4
2
45
@siaw23
Emmanuel Hayford
10 months
Building a Turbo Native app is new territory for most Rails devs. Strada coming out this year makes mobile hybrid applications even more interesting. For @railschangelog , I'll sit and talk Turbo Native with @joemasilotti at #RailsWorld . Let me know if you've got questions about
Tweet media one
0
7
44
@siaw23
Emmanuel Hayford
2 years
Anytime I mention that I’m chuffed over the upcoming release of Rails 7.1 people ask why. In a 3-part blog series, I’ll show you why. I went through every single item of every single issue in 2022 of This Week In Rails. First blog post coming on Monday.
Tweet media one
0
1
40
@siaw23
Emmanuel Hayford
2 years
Rubocop will fix this for you, but it won't tell you why. Here's why: "Subclassing an anonymous struct creates an extra anonymous class that will never be used." -- Ruby Docs
Tweet media one
2
1
42
@siaw23
Emmanuel Hayford
11 months
I'll be interviewing DHH for the @railschangelog podcast. What would you like me to ask him for you? Maybe you have questions about Strada, Hotwire, #RailsWorld . Let me know! 🔴
12
4
41
@siaw23
Emmanuel Hayford
10 months
I’ll be flying to Rails Foundation’s first ever conference in 72hrs. Stoked! #RailsWorld
3
0
41
@siaw23
Emmanuel Hayford
11 months
Just finished recording with @dhh for the @railschangelog . Stay tuned. 😀
1
2
38
@siaw23
Emmanuel Hayford
2 years
Whatever Ruby Central did, the speaker list for #RailsConf2022 looks very refreshing and diversified. Impressive work, as always.😊
1
1
41
@siaw23
Emmanuel Hayford
1 year
Ruby 2.7 goes EOL tomorrow! It served us well. Thank you, @yukihiro_matz and core. ❤️
0
7
41
@siaw23
Emmanuel Hayford
2 years
Needed to kill time in a train so I wrote a Ruby and Rails book recommendation by some great authors: @nusco @davetron5000 @codefolio @jeremyevans0 @sandimetz
2
7
40
@siaw23
Emmanuel Hayford
1 year
Wrapping up the last in my "Rails 7.1 features series" and remembered Rails devs asking around "When will Rails 7.1 be released?". You don't have to wait, you have Rails 7.1.0.alpha that you can play with now.
Tweet media one
1
5
38
@siaw23
Emmanuel Hayford
1 year
This Week in Rails (the Rails newsletter), run by a small team of volunteers, is looking for a new logo we can print as stickers. We'd be grateful if you can or know any graphic designers who'd be willing to voluntarily create a slick logo for us. RTs appreciated. ❤️
6
21
40
@siaw23
Emmanuel Hayford
9 months
Just got home from #RailsWorld , I probably should write a blog post about my experience, I'll say more on @railschangelog for sure. But now I want to thank @buzzsprout for getting me there, and once again, thank you @AmandaBPerino , for everything! ❤️
4
1
40
@siaw23
Emmanuel Hayford
1 year
I just submitted a CFP to #RailsWorld 🫣
5
0
38
@siaw23
Emmanuel Hayford
2 years
In Ruby, there's `super`, quite common... but there's also `super_method`, that returns a `Method` of superclass which would be called when `super` is used or `nil` if there is no method on superclass.
Tweet media one
1
6
39
@siaw23
Emmanuel Hayford
1 year
In Rails, you can now ignore warnings from MySQL and PostgreSQL using error codes. 🙌🏾
Tweet media one
2
2
39
@siaw23
Emmanuel Hayford
10 months
. @railschangelog is getting a significant upgrade.
Tweet media one
1
1
39
@siaw23
Emmanuel Hayford
8 months
Aaron Patterson will be joining @railschangelog . This is huge. Got any questions? :)
1
1
38
@siaw23
Emmanuel Hayford
2 years
Rails 7.1 is coming.
1
6
38
@siaw23
Emmanuel Hayford
9 months
This @excid3 guy was born to cash out giant checks, no doubt! 😀
Tweet media one
Tweet media two
1
1
36
@siaw23
Emmanuel Hayford
8 months
Rails now allows you to tailor YAML serialization per attribute in Rails models. You can specify permitted classes and enable unsafe loads on a per-attribute basis for more flexibility. Here's an example.
Tweet media one
0
6
36
@siaw23
Emmanuel Hayford
2 years
Some of you are not on Ruby 3.1, but when you get there, know that you can do this. I believe this was premised on the fact that often times you want to create a hash with values from variables of the same name as the keys. This syntax is shorter.
Tweet media one
1
3
37
@siaw23
Emmanuel Hayford
2 years
I love Ruby, truly.
1
0
37
@siaw23
Emmanuel Hayford
4 months
In a lot of Ruby/Rails polls I see people list Pry as a debugger, hence... 😀
Tweet media one
15
3
38
@siaw23
Emmanuel Hayford
1 year
Look who got on a podcast for the first time! 😆 ...
@therubyonrails
therubyonrailspodcast
1 year
Episode 457 of The Ruby on Rails Podcast is live! Check out “This Week In Rails with Emmanuel Hayford” at
1
0
7
5
1
37