-
Notifications
You must be signed in to change notification settings - Fork 38
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Co-authored-by: Adrien Poly <[email protected]>
- Loading branch information
1 parent
90277af
commit 2491005
Showing
7 changed files
with
828 additions
and
0 deletions.
There are no files selected for viewing
155 changes: 155 additions & 0 deletions
155
data/ancient-city-ruby/ancient-city-ruby-2013/videos.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,155 @@ | ||
--- | ||
- title: 'Test Driven Development: A Love Story' | ||
raw_title: 'Nell Shamrell - Test Driven Development: A Love Story - Ancient City Ruby 2013' | ||
speakers: | ||
- Nell Shamrell | ||
event_name: Ancient City Ruby 2013 | ||
published_at: '2013-06-24' | ||
description: |- | ||
Practicing Test Driven Development (TDD) is like falling in love. It may first seem like all your development problems will disappear. However, it's not all unicorns and rainbows. You have to work at it, and keep working at it, for the rest of your development life. It is hard, and it's natural to question whether the value is worth the effort. | ||
So why do it? Why would you bother going through all that trouble, dramatically changing the way you code, learn new domain specific languages, and initially slow down the rate at which you produce code when you have no time to lose? | ||
This talk will answer the "why" by sharing my experience of passing through the five stages of grief (denial, anger, bargaining, depression, and acceptance) as I learned TDD, and how acceptance grew to love. | ||
You will walk away from the talk with techniques for maintaining and strengthening your relationship with TDD. Test frameworks and languages may come and go, but the fundamentals and value of TDD remain. | ||
video_id: nBtO1UOK9Hs | ||
|
||
- title: 'Insight, Intuition and Programming' | ||
raw_title: Russ Olsen - Insight, Intuition and Programming - Ancient City Ruby 2013 | ||
speakers: | ||
- Russ Olsen | ||
event_name: Ancient City Ruby 2013 | ||
published_at: '2013-06-24' | ||
description: 'We programmers tend to think of ourselves as concrete, logical thinkers. | ||
We work from step 1 to step 2 through to step N. So we say. But real life is not | ||
like that: One minute you have no idea how the new design will come together and | ||
the next, well, there it is. One minute you haven''t a clue as to why the program | ||
is doing that and the next it is all just obvious. And we have all seen code that | ||
is wonderful or horrible in some indescribable way.' | ||
video_id: rQp1CFJxgs0 | ||
|
||
- title: 'Impressive Ruby Productivity with Vim and Tmux' | ||
raw_title: Chris Hunt - Impressive Ruby Productivity with Vim and Tmux - Ancient City Ruby 2013 | ||
speakers: | ||
- Chris Hunt | ||
event_name: Ancient City Ruby 2013 | ||
published_at: '2013-06-25' | ||
description: Impress your friends, scare your enemies, and boost your productivity | ||
by 800% with this live demonstration of Vim and Tmux. You will learn how to build | ||
custom IDEs for each of your projects, navigate quickly between files, write and | ||
run tests, view and compare git history, create pull requests, publish gists, | ||
format and refactor your code with macros, remote pair program, and more, all | ||
without leaving the terminal. Come prepared to learn and ask questions; this is | ||
serious business. | ||
video_id: 9jzWDr24UHQ | ||
|
||
- title: 'Distributed Patterns in Ruby' | ||
raw_title: Eric Redmond - Distributed Patterns in Ruby - Ancient City Ruby 2013 | ||
speakers: | ||
- Eric Redmond | ||
event_name: Ancient City Ruby 2013 | ||
published_at: '2013-06-25' | ||
description: 'Scalability today is no longer a question of which programming language | ||
you use, or (largely) which web architecture you choose. Instead, scalability | ||
is a matter of how you handle two things: data distribution and message passing. | ||
This talk is over a few ways of solving both: distributed data structures and | ||
messaging patterns.' | ||
video_id: Adu_dbcnUHA | ||
|
||
- title: 'How to Fail at Background Jobs' | ||
raw_title: Jacob Burkhart - How to Fail at Background Jobs - Ancient City Ruby 2013 | ||
speakers: | ||
- Jacob Burkhart | ||
event_name: Ancient City Ruby 2013 | ||
published_at: '2013-06-26' | ||
description: From DRB, XMPP, and AMQP to Resque and Rails 4. Running a background | ||
worker process is a tool I've reached for often, and while the underlying tools | ||
may change, the same problems seem to crop up in every one. A failed request serves | ||
your fancy custom 500 error page, but what about a failed job? Is there such a | ||
thing as a "reliable" queuing system that will never lose OR double process any | ||
jobs? Are we talking about "simple" asynchronous method calls on models or should | ||
we build "pure" workers with only the knowledge of a single task? What does "idempotent" | ||
mean again? Please allow me to enliven the debates. | ||
video_id: dkFwNEFr9cg | ||
|
||
- title: 'Building a mocking library' | ||
raw_title: Andy Lindeman - Building a mocking library - Ancient City Ruby 2013 | ||
speakers: | ||
- Andy Lindeman | ||
event_name: Ancient City Ruby 2013 | ||
published_at: '2013-06-27' | ||
description: |- | ||
This talk is not about testing, nor is it really about mocking. However, analyzing a mock object library is a great way to showcase advanced Ruby topics. Have you ever wondered exactly how a mock object library does what it does? You can understand it! | ||
This talk uses a simplified mock object library as the basis for delving into topics such as metaprogramming and the Ruby object model. The goal is to increase the knowledge of these topics in the Ruby community. With this know--how, you will be better suited to build from and contribute to common Ruby tools that use them. | ||
video_id: 2aYdtS7FZJA | ||
|
||
- title: 'This is Your Brain on Software' | ||
raw_title: Paolo Perrotta - This is Your Brain on Software - Ancient City Ruby 2013 | ||
speakers: | ||
- Paolo Perrotta | ||
event_name: Ancient City Ruby 2013 | ||
published_at: '2013-06-27' | ||
description: |- | ||
Developers are rational thinkers who take objective decisions. Yeah, sure. If that is the case, how can we disagree on so many things? | ||
Examples are all around. Why do Rubyists and Java developers despise each others' designs? Why do people try hard to fit static typing and distributed environments? Why do Windows programmers loathe the command line? Let me try answering these questions, with a few hints from cognitive psychology. | ||
video_id: v9Gkq9-dnlU | ||
|
||
- title: 'Live Coding with Ben' | ||
raw_title: Ben Orenstein - Live Coding with Ben - Ancient City Ruby 2013 | ||
speakers: | ||
- Ben Orenstein | ||
event_name: Ancient City Ruby 2013 | ||
published_at: '2013-07-02' | ||
description: |- | ||
Ben believes that the best way for programmers to learn is to watch each other work. We'll leave slides behind and focus instead on the greater information density achieved through live coding. We'll discuss the strengths and weaknesses of real code, and refactor it right onstage. As we do so, we'll bump into lots of meaty topics: | ||
- Potential downfalls of the 'extract module' refactoring (aka ActiveSupport::Concern). | ||
- The pros and cons of Dependency Injection. | ||
- How two good OO design ideas (like SRP and Tell Don't Ask) can contradict each other, and what to do about it. | ||
- How well--placed functional programming can improve a codebase. | ||
- Whether the Law of Demeter should be followed religiously, and what it means if that's hard to do. | ||
- Why fast tests are usually good tests, and vice versa. | ||
- Audience participation is strongly encouraged, as is stealing the speaker's Vim tricks for your own use. | ||
video_id: C0H-LyZy9Ko | ||
|
||
- title: 'Magic Tricks of Testing' | ||
raw_title: Sandi Metz - Magic Tricks of Testing - Ancient City Ruby 2013 | ||
speakers: | ||
- Sandi Metz | ||
event_name: Ancient City Ruby 2013 | ||
published_at: '2013-07-02' | ||
description: |- | ||
Tests are supposed to save us money. How is it, then, that many times they become millstones around our necks, gradually morphing into fragile, breakable things that raise the cost of change? | ||
We write too many tests and we test the wrong kinds of things. This talk strips away the veil and offers simple, practical guidelines for choosing what to test and how to test it. Finding the right testing balance isn't magic, it's a magic trick; come and learn the secret of writing stable tests that protect your application at the lowest possible cost. | ||
video_id: qPfQM4w4I04 | ||
|
||
- title: 'Pairing is Caring' | ||
raw_title: Avdi Grimm - Pairing is Caring - Ancient City Ruby 2013 | ||
speakers: | ||
- Avdi Grimm | ||
event_name: Ancient City Ruby 2013 | ||
published_at: '2013-07-02' | ||
description: In the second half of 2012 I "quit my job" as a traditional Ruby/Rails | ||
consultant in order to become a consulting pair programmer. After spending hundreds | ||
of hours pairing with dozens of developers from around the world, I'd like to | ||
share some of my observations. We'll talk about the mechanics of ad-hoc remote | ||
pair-programming, but more importantly about why I think widespread pairing is | ||
important to maintaining the health of the Ruby community. Whether you work solo | ||
or you pair regularly, you should leave this talk empowered and excited to broaden | ||
your pair-programming horizons. | ||
video_id: zCzc5W7vHQg | ||
|
||
- title: 'Hacking with Gems' | ||
raw_title: Ben Smith - Hacking with Gems - Ancient City Ruby 2013 | ||
speakers: | ||
- Ben Smith | ||
event_name: Ancient City Ruby 2013 | ||
published_at: '2013-07-02' | ||
description: |- | ||
What's the worst that could happen if your app has a dependency on a malicious gem? How easy would it be to write a gem that could compromise a box? | ||
Much of the Ruby community blindly trusts our gems. This talk will make you second--guess that trust, and show you how to vet gems that you do choose to use. | ||
video_id: UksbZx4ph8E |
170 changes: 170 additions & 0 deletions
170
data/ancient-city-ruby/ancient-city-ruby-2014/videos.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,170 @@ | ||
--- | ||
- title: "Leon's Allegory of the Cave" | ||
raw_title: Leon Gersing - Leon's Allegory of the Cave - Ancient City Ruby 2014 | ||
speakers: | ||
- Leon Gersing | ||
event_name: Ancient City Ruby 2014 | ||
published_at: '2014-05-08' | ||
description: What is the role of the software developer in the modern world? We | ||
are more educated now than during any time in recorded human history. We have | ||
more access to tools and the ability to craft our own in order to better communicate | ||
with one another; to see the world in all of its various forms, beautiful and | ||
strange. All of this information, all of this knowledge and yet the quest for | ||
truth, understanding and wisdom has become increasingly strained. We adopt the | ||
ideologies and rituals of archetypes instead of masters and therein feel the hollowness | ||
of the modern human condition. In this session, I will present to you the teachings | ||
of my masters as I have come to understand them and the wisdom I've gained over | ||
the years in my relentless pursuit for truth in the modern world. Our collective | ||
existential ennui is distorting the very fabric of reality. Seeing the world as | ||
it truly is can free our minds to the infinite possibilities that lie before us. | ||
Can we be more than the context we are born into? Can we rise above the confining | ||
binds of hierarchy, class, status and the distortions of those we choose to associate | ||
ourselves? Let's take some time to remember who we are, where we are going and | ||
discover, perhaps, why we are here. | ||
video_id: _oTEnczCS0s | ||
|
||
- title: 'Breaking Up (With) Your Test Suite' | ||
raw_title: Justin Searls - Breaking Up (With) Your Test Suite - Ancient City Ruby 2014 | ||
speakers: | ||
- Justin Searls | ||
event_name: Ancient City Ruby 2014 | ||
published_at: '2014-05-08' | ||
description: |- | ||
It's about time for the Ruby community to adopt a more mature and nuanced approach to testing. | ||
Gone are the days when "is it tested?" was a boolean question. It no longer makes sense for a single test suite to accomplish numerous objectives, because the design of our tests are so influenced by the benefit we hope to realize from them. What's less clear to most developers is the best approach to breaking a test suite up. | ||
This talk will introduce a testing architecture that's appropriate for the post-monolithic age of Ruby application development. We'll discuss why each test suite can provide at most one type of confidence and one type of feedback. I'll introduce a set of five narrow, focused types of test suites and explore how each of their roles can combine to provide all of the value that test automation can hope to offer. Together, we'll gain the ability to discuss the value of each test with much greater precision and subtlety. | ||
video_id: vkAfGHd7sZY | ||
|
||
- title: 'Overkill' | ||
raw_title: Katrina Owen - Overkill - Ancient City Ruby 2014 | ||
speakers: | ||
- Katrina Owen | ||
event_name: Ancient City Ruby 2014 | ||
published_at: '2014-05-08' | ||
description: |- | ||
When is it okay to build an orbital laser to destroy an ant-hill? | ||
Many cry "overkill" when design principles are applied to trivial problems. And for good reason: in the context of work, excessive embellishment gets us into trouble. Complexity costs us time and money. | ||
This talk explores how stepping outside of the realm of work and applying outrageous engineering practices to toy problems can deepen our understanding of the trade-offs that we make. Comically simple problems provide the perfect ground for developing actionable heuristics which can be applied to those monstrous complexities that we face in the real world. | ||
video_id: GTpZ0ffQrIE | ||
|
||
- title: 'Testing the Untestable' | ||
raw_title: Richard Schneeman - Testing the Untestable - Ancient City Ruby 2014 | ||
speakers: | ||
- Richard Schneeman | ||
event_name: Ancient City Ruby 2014 | ||
published_at: '2014-05-08' | ||
description: 'Good tests are isolated, they''re repeatable, they''re deterministic. | ||
Good tests don''t touch the network and are flexible when it comes to change. | ||
Bad tests are all of the above and more. Bad tests are no tests at all: which | ||
is where I found myself with a 5 year legacy codebase running in production and | ||
touching millions of customers with minimal use-case documentation. We''ll cover | ||
this experience and several like it while digging into how to go from zero to | ||
total test coverage as painlessly as possible. You will learn how to stay sane | ||
in the face of insane testing conditions, and how to use these tests to deconstruct | ||
a monolith app. When life gives you a big ball of mud, write a big ball of tests.' | ||
video_id: MdtfcLJwOf0 | ||
|
||
- title: 'Fast, Testable and SANE APIs' | ||
raw_title: Ben Lovell - Fast, Testable and SANE APIs | ||
speakers: | ||
- Ben Lovell | ||
event_name: Ancient City Ruby 2014 | ||
published_at: '2014-05-08' | ||
description: |- | ||
By now, we've all written JSON APIs in Rails. But how do you write fast, testable and sane APIs? I'll guide you through the trials of designing and building awesome, scalable APIs. We'll cover rails-api, activemodelserializers, and all the associated goodness that our ecosystem has to offer. | ||
I'll speak on the approaches to authentication, how to ensure we remain good REST/HTTP citizens and maybe if I have time I'll share some of my top secret beard grooming tips! | ||
video_id: dUPp4DhFLnY | ||
|
||
- title: 'Ruby & You' | ||
raw_title: Terence Lee - Ruby & You - Ancient City Ruby 2014 | ||
speakers: | ||
- Terence Lee | ||
event_name: Ancient City Ruby 2014 | ||
published_at: '2014-05-09' | ||
description: 'On November 22, 2013, a devastating security exploit was publicized | ||
to the Ruby community: Heap Overflow in Floating Point Parsing (CVE-2013-4164). | ||
There was no fixes provided for Ruby 1.9.2. In fact, Ruby 1.9.2 has never had | ||
a formal end of life announcement and at Heroku we realized this impacted our | ||
ability to provide reliable runtime support. Not wanting to leave our customers | ||
high and dry, Heroku released Ruby 1.8.7 and 1.9.2 security patches on our runtimes | ||
and pushed to get them upstream. This process lead me to receive commit bit to | ||
help maintain security fixes for 1.8.7 and 1.9.2. Over the last few months with | ||
help from zzak, I''ve been figuring out how to work with ruby core as well as | ||
proposing policy changes for more transparency. This talk, goes through the steps | ||
and mistakes that I learned on how to interact with members of ruby core. We''ll | ||
remove the opacity around getting contributions upstreamed and how you can have | ||
meaningful discussions with the implementers about the language we all know and | ||
love. Help us make Ruby better.' | ||
video_id: Vl5ASs3FtRw | ||
|
||
- title: 'Introduction to Elixir for Rubyists' | ||
raw_title: Josh Adams - Introduction to Elixir for Rubyists - Ancient City Ruby 2014 | ||
speakers: | ||
- Josh Adams | ||
event_name: Ancient City Ruby 2014 | ||
published_at: '2015-02-02' | ||
description: Elixir is a concurrency-oriented programming language built atop the | ||
Erlang VM. Its syntax is very Ruby-influenced, and it takes some great features | ||
from the Python world as well. In this talk, I'll provide a quick introduction | ||
to the language. I'll provide just a quick overview of the language syntactically, | ||
as well as cover some areas where it differs wildly from Ruby. | ||
video_id: rS5aeUi1sZs | ||
|
||
- title: "Oh, Oh, Oh, It's Magic!" | ||
raw_title: Aaron Patterson - Oh, Oh, Oh, It's Magic! - Ancient City Ruby 2014 | ||
speakers: | ||
- Aaron Patterson | ||
event_name: Ancient City Ruby 2014 | ||
published_at: '2015-02-02' | ||
description: You know? Let's explore computer vision using Ruby and OpenCV! In this | ||
talk, we will learn techniques for speeding up our code, fetching data from the | ||
network, and doing image recognition, all in Ruby. Let's harness the power of | ||
Sauron's Eye (my webcam) together! | ||
video_id: csN-NYFba0U | ||
|
||
- title: 'Hack Me If You Can' | ||
raw_title: Konstantin Haase - Hack Me If You Can - Ancient City Ruby 2014 | ||
speakers: | ||
- Konstantin Haase | ||
event_name: Ancient City Ruby 2014 | ||
published_at: '2015-02-02' | ||
description: |- | ||
Security is important. Yet, it's where a lot of web developers have little to no experience. We'll look at a whole range of opportunistic attack vectors that can be used against web applications, and how we can protect us against them. | ||
This talk will include one currently undisclosed attack (at the time of writing). | ||
video_id: u_Le8-WsSs8 | ||
|
||
- title: 'Postgres Performance for Humans' | ||
raw_title: Craig Kerstiens - Postgres Performance for Humans - Ancient City Ruby 2014 | ||
speakers: | ||
- Craig Kerstiens | ||
event_name: Ancient City Ruby 2014 | ||
published_at: '2015-02-02' | ||
description: |- | ||
To many developers the database is a black box. You expect to be able to put data into your database, have it to stay there, and get it out when you query it... hopefully in a performant manner. When its not performant enough the two options are usually add some indexes or throw some hardware at it. We'll walk through a bit of a clearer guide of how you can understand how database is doing from a 30,000 foot perspective as well as analyze specific problematic queries and how to tune them. In particular we'll cover: | ||
* Postgres Caching | ||
* Postgres Indexing | ||
* Explain Plans | ||
* Extensions | ||
* More | ||
video_id: occqUdd7t4E | ||
|
||
- title: 'Juggling Children... and Rubies' | ||
raw_title: Evan Machnic - Juggling Children... and Rubies - Ancient City Ruby 2014 | ||
speakers: | ||
- Evan Machnic | ||
event_name: Ancient City Ruby 2014 | ||
published_at: '2015-02-03' | ||
description: |- | ||
"DAD! I'm hungry." | ||
"DAD! Can you tie my shoes?" | ||
"HONEY! The baby needs a diaper change." | ||
How do you balance all the distractions with raising children and still be able to deliver at your job? As Ruby developers, it's something that many of us can relate to but few really talk openly about. I work full-time at Engine Yard, create videos for Code TV, and also maintain RailsInstaller. All of that needs to balance nicely with my family and this talk will explore some of the problems I've faced and how I address them. | ||
video_id: F62cJHu53xc |
Oops, something went wrong.