- [online] Francis Hwang on StrictMoney: Value Objects in Practice
Abstract Value objects are small immutable objects where equality is not based on identity. I recently made use of this pattern with a gem called StrictMoney, which treats financial amounts as values that support specific mathematical operations, while also preventing programmers from accidentally using the wrong currency and creating difficult-to-trace bugs. Using StrictMoney as an example, I'll walk us through a number of topics around object design and Ruby, including: When to define your own value object Value objects' role in enforcing architectural principles The good and bad of object mutability Ruby's power and expressiveness in defining value objects Bio Francis Hwang is the founder of NYC.rb and co-founder of Gotham Ruby Conference. These days he is an independent software consultant specializing in software architecture, organizational process, and observability.
- Escaping The Tar Pit
Please register ahead of time for the Zoom event! here: https://us02web.zoom.us/meeting/register/tZYrf-6tqj8qEtEYF5P2NOVbgLJqCXs3w1Kv After registering, you will receive a confirmation email containing information about joining the meeting. **Agenda** 5:30 PM EST We meet, we say hello to each other, we toast, we move onto the talk! Q&A afterward. This Wednesday we have a talk from Ernesto Tagwerker, founder at @ombulabs and @fastruby, and co-organizer at @phillyrb. Topic: Nobody wants to inherit a project that reeks but here we are: Stuck in the tar pit. How can we get out? Could we have avoided it in the first place? In this talk you will learn how to use a few, great Ruby gems that will guide you out of that sticky tar you are in. On top of that, you will learn a repeatable way to gradually pay off technical debt.
- Building Rubyfmt with Penelope Phippen
Location: Stash 512 7th Ave, 17th Floor, New York, NY 10018 Speaker: Penelope Phippen Title: Building Rubyfmt Description: Come learn about my work-in-progress Ruby autoformatter, called Rubyfmt. I’ll discuss why working with Ruby syntax is complicated, and some of the techniques I’ve used to build the fastest Ruby developer tooling around! Show up at 6:30pm for some food, drinks, and networking. We'll start the talk at 7:00pm.
- Bitsquatting by Drake Talley
"Bitsquatting" refers to a strategy for DNS hijacking that leverages random bit errors that occur when setting or resolving domain names. The exploit is relatively simple to implement, but exploring its underlying motivations and possibility can help shed light on some of the basic components of the DNS system. I hope to describe the mechanics of bitsquatting, its potential mitigation, as well as lessons about the workings of DNS I've gained while hacking on this project in Ruby. I wrote a gem as a small toolkit for learning about bitsquatting, consisting of a utility for generating valid domain names that are precisely 1-bit in difference from a domain given as input and a class that checks the availability of domains for the sake of defensively registering them. Ruby offered decent DNS libraries, and the built-in bit operations can smoothly be leveraged for the aforementioned tasks. The talk will cover an overview of bitsquatting, the mechanics for generating candidate domains and verifying their availability, a description of how DNS queries must be handled in a non-standard fashion to effectively implement the exploit, and lastly my experiences writing my first gem.
- Francis Hwang on Orchestrating complex API updates with SyncMachine
Abstract Applications are often required to keep an external API up-to-date with changes to application data, but getting the timing right can be tricky. How do you track all relevant changes without forcing app developers to remember this syncing logic? Can you observe all model changes without creating unneeded API calls? How do you reduce back pressure when, for example, a maintenance task changes every record in a database table? SyncMachine is a mini-framework that aims to solve these orchestration problems, using Wisper and Sidekiq to observe model changes and kick off an optimized workflow to determine when to update external APIs. Bio Francis Hwang is the founder of NYC.rb and co-founder of Gotham Ruby Conference. These days he is an independent software consultant specializing in software architecture and organizational process. RSVPs will close at 1pm the day of meetup so names can be submitted to building security. If you have issues, please contact meetup organizers.
We have two exciting talks this month! Show up at 6:30pm for some networking, drinks and food and we'll start the talks at 7:00pm. Aldric Giacomoni, Stash (stashinvest.com) You're already doing TDD Abstract: TDD is a pretty great tool. That's all it was ever intended to be. Over the years, it has grown heavy with emotional and even moral baggage. In this talk, we're going to strip all of this from TDD. We'll just take a look at what it is, what benefits it yields and, most crucially, why you already know everything you need to start playing with the tool... If you so choose. -- Braulio Martinez & Gonzalo Rodriguez, Cedarcode (cedarcode.com) WebAuthn in Ruby Abstract: WebAuthn is the new web standard published by the W3C that will allow our systems to take their level of security, for the registration and authentication processes, to the next level. By using WebAuthn, we can either have the best existing 2FA method or event better go fully passwordless!
- Ruby on Beers 🍻🛤
STASH is hosting our first NYC.rb Meetup! We're excited to have you come see our space and to get more involved in the NYC Ruby community. Unfortunately, our speaker had a last-minute conflict so this will be a networking event where we hang out in the STASH clubhouse and chat with each other about Ruby (and other technologies). Bring you laptop and your appetite because we'll have food, drink, and you never know when a code-pairing session will break out. We hope to see you there!