For our November meeting, Kevin Murphy will be giving us a preview of his RubyConf talk "Don't Hang Me Out To DRY", and Braulio Carreno returns for part 2 of his series, "Deep Dive Into Caching".
If you'd like to speak at a future meeting (and we would love it if you did), submit your talk to us at https://www.papercall.io/bostonrb and we'll get you scheduled.
Don't Hang Me Out To DRY
Close your eyes and imagine the perfect codebase to work on. I bet you’ll say it has complete test coverage. It’s fully-optimized, both in terms of performance and architectural design. And, of course, it contains only DRY code. But…do we really want that?
Don’t get me wrong; these qualities are all beneficial. However, if we also think we should value everything in moderation, when should we push back on these ideals? What problems can they introduce? Let’s talk about the exceptions to some of the “rules” we all hold dear.
This talk will not argue against any of the principles of adequate test coverage, optimized code, or DRY code in the broad sense. The intention is not to dissuade the audience from using any of these rules, principles, or guidelines. They’re all incredibly valuable, and we, as craftspeople, are better off for having them overall. This talk will discuss the ways these important ideals can fall short in specific ways and what alternatives are available in those situations.
The talk will initially introduce each of the principles, talking about why it’s important and what benefits it provides. Code examples will be used to illustrate how we can write code or architect software solutions that adhere to these rules. Those examples will then be used to demonstrate some shortcomings of the principle, or situations where following the standard could have negative consequences. Along with identifying some of the downsides, possible solutions and alternatives will be suggested.
Deep Dive Into Caching
Caching is a straightforward way to boost performance that can be applied at multiple levels of the stack. In this presentation will learn how caching works in HTTP, the mechanisms Rails provides to support caching, and how to use a content delivery network.
We’ll present various techniques and apply them to a live application to see them in action.
This is the second of a series of presentations on web performance. Don’t worry if you didn’t attend the previous one, this is going to be a self-contained talk.
WebAuthn in Ruby
Keeping our different accounts secure is always a challenge. Specially due to the need of constantly having to choose a new strong password for each system we need to register or rotate the credential for. Nowadays, even that is not enough, and we’re required to add two factor authentication to actually keep our accounts safe. Even then, for 2FA methods like SMSs or one time passwords (for example Google Authenticator), we are not secure enough. On top of that, UX gets worse and worse on each complexity we add to the registration and authentication process, giving our users a real nightmare in some cases.
Webauthn was born to give us a break on this, and standardize the way we register or authenticate when using web applications, without the usage of passwords or, if we’re not ready to take such a big step, to help us have the most secure second factor of authentication we can think of.
* 6:00pm - Eat, mingle
* 6:15pm - Talks begin
Thanks to ezCater (https://www.ezcater.com/) for sponsoring food and space for this Meetup!
Sean, Colin, Kevin, Peter, Robert, and John