Presenter: Ignite RailsConf
(@jamesgary's notes: Got here a little late, my notes are in bullets)
Five minutes, 20 slides. What would you say? Sixteen artists, technologists, thinkers, and personalities take the stage to answer this challenge. What is Ignite? Fast-paced, fun, thought-provoking, social, local, global - Ignite is all of these and more. It's a high-energy evening of 5-minute talks by people who have an idea - and the guts to get onstage and share it with the rest of the Rails community.
Five minutes, 20 slides. What would you say? Sixteen artists, technologists, thinkers, and personalities take the stage to answer this challenge. What is Ignite? Fast-paced, fun, thought-provoking, social, local, global - Ignite is all of these and more. It's a high-energy evening of 5-minute talks by people who have an idea - and the guts to get onstage and share it with the rest of the Rails community. We're looking for a wide range of talks and are currently accepting speaking proposals - submit your speaking proposal now! Not all of the talks will be Rails-specific but all will be of interest to Rails developers. You do not have to be a RailsConf attendee to attend or speak at the event. Proposals were due by 5 pm CT on Friday, 4/13/2012.
Steve Klabnik - Anti-Oppression 101
Everyone acknowledges that the software field has an issue with gender balance, but there's lots of arguments about what do do about it. The social justice community uses the term 'anti-oppression' to describe techniques for being more inclusive to people of a wide variety of backgrounds, ethnicities, sexualities, and genders. Software developers generally lack exposure to these terms and techniques. This'll be a quick intro to the topic and terminology.
- A DSL is a computer language targeted towards a specific problem
- 1984: Women dropped sharply out of CS
- Social Justice: DSL for dicussing equality
- This is about humans treating others as humans
- The privileged and unprivileged live on the same planet, but in two different worlds
- Priviledge is hard to notice
- Lots of Axes of identity
- Intersectionality: How various categories interact on multiple levels
- Racism/Sexism is discrimination + power
- Impostor syndrome: The feeling you're faking expertise when talking
- If you see a man and women together at conf, don't assume she's just a gf/wife who's only here because he brought her
- This stuff is hard. Apologize honestly when you get it wrong. ("I' sorry you're offended" is BS)
- Don't be a typical sexist brogrammer. Put forth some effort to understand how what you say or how you act might be offensive.
Ron Evans - KidsCodeCamp: Hacking Minds By Hacking Code
It's good to be part of the technological elite, right? Not so fast! The future requires a lot more new developers than we are currently producing. Our current course is not sustainable. And it is not just about creating the next generation of hackers. The new digital divide creates new risks, as well as new inequities, in society. Enter KidsCodeCamp: a one day free camp for kids, with the small goal of helping seed the minds of the next generation of digital citizens, using programming as the medium. As it runs out, the very first "alpha" of KidsCodeCamp will be the day of Ignite RailsConf. I'll give a follow-up of some of the lessons we learn earlier that day, both good and bad, in near realtime. We need to create the future we want to live in, and that future has already begun.
- Lean social activism
- Kids come in all different shapes/sizes
- Scratch is easy to teach young
- KidsRuby doens't really scale
- Open source tools, curriculum, source code
- First one was today
- 1st rule of KCC: Everyone talks about KCC
- 2nd rule of KCC: Kids actually code (not just talking about it)
- 3rd rule of KCC: Think globally, act locally
- 4th rule of KCC: Kids eat free. Should not think of this as profit-centered (!!!)
- 5th rule of KCC: Coding should be funny
- Divide: Those who can create digital info, those who just consume
- Sounds really cool and revolutionary. Making great progress, applying intelligent principles to make this a success (lean, open source, free).
Jesse Wolgamott - Velveeta and Active Record
Both velveeta and ActiveRecord take a lot of heat for not being "perfectly designed" or "actual cheese". But you know what? They have mass appeal, and are perfect to use in the right circumstances. I present: A refound love affair with migrations, active record, and velveeta.
- We need a ruleset for both VV and AR
- When you consume them, you shouldn't realize you're consuming them
- Rule: Velveeta shall not be raw
- Rule: Shouldn't be touching AR methods outside the AR class
- No Lifecycle Callbacks after_create, this means you
- (after\validation might be okay)
- Use Service Objects for Workflow
- Alternatives Exist. Rules still apply.
- Using NoSql can hurt... fancy is not always better, may have to change DB
- Both VV and AR are delicious, just don't tell your whole app you're using it
- Reminiscent of Corey Haines' Rails is Not Your Application. Extract app from framework. Don't be so 'close to the metal' or you'll end up with a lot of work if you want to change tools
Adam Keys - Yes, and
I've been taking improv classes, and two of the major principles are "Happy, healthy, sexy" and "Yes, and..." . The more performers are in a positive stance, the better the performance goes. Likewise, we as developers can get more done when we're in a positive state of mind. Happy, healthy teammates work better together. Finding a way to respond to questions and requests with "yes, and" keeps teams on positive ground. So, this is a five-minute tour through the elements of improv comedy and how to use them to work better with other developers
- (Arrived here late, incomplete notes)
- Respond in the positive
- Delight everyone (not just in OOS, but with family, friend, strangers)
Richard Schneeman - Wicked Problems
A Wicked problem is one that is difficult or impossible to solve. Homelessness, obesity, genocide, and more plague our world; many consider them just facts of life. Those of us lucky enough to attend ignite have the toolset and brainpower to make real lasting change, yet we're increasingly obsessed with first world problems. In this talk I'll introduce wicked problems, and talk about how we can start to impact the communities we live in. Are the problems you're solving today, worth solving?
- What makes them hard?
- Imcomplete knowledge
- Too many people
- Not (just) a matter of cash
- Programmers like solving problems
- We can create awesome useful things
- Don't make braindead apps
- Double Bottom Line (responsible for cash and homelessness)
- Ushahidi: App to report violence in Kenya
- Rails Hotline (developers can talk with other devs and make impact)
- OSS: Code for America, Kid's Ruby
- If you're solving a problem, ask yourself: Is it worth solving?
- We'll all pretty smart and wield a lot of power. Don't spend your time building stupid shit. Build positive world-changing stuff
Prakash Murthy - You should run a marathon
Am training to run my third marathon this fall, and can't stop talking about the benefits of training for and completing a 26.2 mile run! Hoping to get more ruby/rails developers on to the running bandwagon with this spark.
- Running : Natural anti-depressant
- Every jogger can't dream of being an Olympic champion, but can dream of finishing a marathon
- Fun challenging, preparating gives a framework for life
- dailymile.com: miles run per week - a very useful metric
- It becomes easier after around 2 miles!
- "Sports at Google: Jeff Galloway: 'Run Injury Free'"
- Find an inspiration (80 year olds can run marathons)
- Running: It's easier than you think, and has lots of benefits. I'll see you at the 5k!
Bryan Liles - A developer who lost his spark
I want to share a story about developer who lost his spark. Where did the spark come from? Why did he lose it? What now? The only way you'll find out is by coming to igniterailsconf 2012.
- Used to love coding
- Moved to corporate America
- OPR: Making others rich and happy
- Someone stole his spark
- The man stole his spark
- But Bryan's to blame, he has a family
- 1. Don't listen to TwitterBook (bryanl likes to troll)
- 2. If you like OSS, do it. If not, do something else.
- 3. Never forget #1
- 4. It isn't that serious (except paychecks)
- 5. Forge your own path
- 6. Quit when it isn't fun (or rather...)
- 7. ...Make it fun!
- Ruby is a tool, use it to solve problems, but it won't solve problems itself
- If you wanna drink, drink, if not, don't
- Do what you wanna do, as long as you get paid.
Noel Rappin - Manage Your Development Environment and Never Burn another Hamburger
The key to being an expert developer is being able to focus your attention and memory on the most important parts of the problem. The hard part of being an expert developer is there are so many different things clamoring for your attention and memory. The problem can be drowned out by the remembering which window has the file you want to look at, what the right git command is, how to start the server, dealing with email... You get the idea. Expert chefs and short order cooks set up their environment in advance so that repetitive items that can be done in advance are done and easily available, and so that their environment tells them important information without the chef having to spend precious time and attention remembering the state of every item in the world. You want to be more like a master chef. You want your environment to be smart enough to tell you important information at a glance. You want to get some practical advice on how to set up your development environment and tools so that more your time and attention can be spent on interesting problems.
Raimonds Simanovskis - Analyze and Visualize Git Log for Fun and Profit
We use a lot of code analysis tools to find out what's bad in the current version of our code. But in addition Git commit logs contain a lot of analytical information about how our code has changed over time. Sometimes it can give us new valuable information but sometimes it is just fun to analyze also meaningless statistics. Therefore I created Git log import for eazyBI data analysis application (https://eazybi.com/help/git) which allows you to create reports and charts from your Git log in fast and easy way. In this short presentation I will use Ruby on Rails commit log as a case study and will reveal new funny both meaningful and meaningless statistics about it.
- We have a lot of metrics, but most only analyze snapshots
- eazyBI: Multidimensional Analysis
- Measuring by Dimensions, measures, Time
- Kinda silly, fun look at how RoR commiters commit. Might be entertaining to check out
Chris Holland - Synth Geek
These days synthesizers are often though of as the soulless noise makers of repetitive dance music. But only recently has this notion become the norm. Originally synths make their mark on popular culture as the futuristic outer space noise of Sci-fi and the haunting tones of a new kind of classical music. The massive machines that were developed years ago (well before the ump-chick-ump chick of techno) were created by engineers out of transistors, resistors, capacitors and wires. Truly a geeks instrument if there ever was one.
- Programming synthesizers: Fun way to waste time
Andy Maleh - Software Craftsmanship vs Software Engineering
The recent emergence of the Software Craftsmanship movement in the last decade has been accompanied with quite a bit of confusion on what the movement is exactly about and whether it adds any value beyond previous software development movements, such as Agile and Software Engineering. In this short talk, Andy Maleh will define Software Craftsmanship, compare and contrast to Software Engineering, and provide examples on how both disciplines are playing out at the Groupon software development environment.
- Software Engineering: Technical
- Software Craftsmanship: More art, science, linguistics
- Both meet customer needs, high quality software, timely release, minimizing risk
- Engineers believe they can have control / predictability
- Also think they need to learn best practices first
- Some apply best practices in EVERY situation
- Craftsmen, however, believe an art emerges, and rely more on gut feeling and inutioon to suceed
- "You cannot control what you cannot measure"
- Engineering is about macro goal, but craftsmanship is about mastering the micro process
Kenichi Murahashi - Offline mobile app has great potential
Mobile has poor network and less powerful spec. Offline mobile app will solve this! But I feel asset pipeline conflict with rack-offline. aggregate all path's files to manifest file and detect its change. Do you have alternative way? I need re-implementation asset pipelines parse //= jquery and aggregate several paths, don't I? I don't have implement yet, but Let's hack together!
Mando Escamilla - Choose this day
Scientists have recently learned that we made about 10 BILLION choices EVERY DAY. Ok, that's not true. But we do make important, life-defining choices each day, and those choices echo throughout eternity. Ok, that's from Gladiator. Let's talk a bit about the choices I've made (good and bad) and how they've changed my life (for good and bad) and how a bit of mindfulness can make all the difference.