This talk explores linguistic theory and how it relates to a model of human thought based around spoken language.Inspired in part by recent writing by Douglas Hofstadter, I make the case that the core mechanism of our thinking relates very closely to our ability to make metaphors and categorize experiences. I connect these two concepts to make the case that with a broader vocabulary of metaphors, we can become better problem solvers. Oh, and I dip into category theory a bit as well. :)
The pitch here is really simple. Having a structure where developers feel supported makes them happier, and less likely to leave. Retention and training is much cheaper than hiring and on-boarding and leads to a better work place. We think we have a lightweight structure for supporting developer growth and we think it will be effective for a variety of small developer teams. All it takes is three people, some sharpies, and some sticky notes...
This talk is not an instructional guide on how to ‘handle’ people; nor is it about ‘taking your power’ and reinforcing the notion that “shitty people exist... and don’t let them affect you.” This talk is about the true-to-form psychology of human need (which can both inspire empathy and drives adversity). This talk is practical and will be interactive. To engage both kinesthetic, auditory and visual learners (which is part of the lesson), each section uses a combination of live-action, recorded video presentation, or short/simple written exercise. You’ll be on your feet - literally :)
Up until the 17th century, the world was mostly limited to what we could see with the naked eye. Our understanding of things much smaller and much larger than us was limited. In the past 400 years our worldview has increased enormously, which has led to the advent of technology, space exploration, computers and the internet. However, our brains are ill equipped to handle dealing with numbers at these scales, and attempt to trick us at every turn.
This talk is a survey of alternate and complementary techniques for improving software quality. We'll cover topics such as: Testing and TDD (**start here**), Property-based testing (e.g. Rantly, QuickCheck), Contracts (e.g. Contracts.ruby), Formal specification & model-checking (e.g. TLA+), Types' slogan: "Make Illegal States Unrepresentable", More formal methods: (e.g. proving stuff) Yes, this is a _ton_ of stuff and it's going to be pretty technical. I'm also going to go through things quickly and info-dump. There will be copious breadcrumbs leading you to where you can go to learn more. This is a horizon-expanding "what's out there" sort of talk. Now that I've (convinced you/scared you off), it'll also be lots fun; learning new stuff always is. I'm going to make this stuff approachable from the point of view of someone who's got some testing under their belt. We can always tie things back to "how can I make my code better?" Put on your space helmet and come along!
We often build multiple websites and applications that share the same styles across multiple code bases (style guides/pattern libraries). Maintaining these styles becomes quite a task, and causes increasing frustration overtime. Fortunately it doesn’t have to be this way.
Do you love the blockchain? Everyone loves the blockchain! Just saying it lends tech cred and tells everyone in the room that you are hip with the technologies. Blockchain. Blockchain. Crypto. Blockchain. According to the "internet" I can use blockchains for such things as registering my band's name to publishing digital photos Here's the dirty secret though, despite all of the jargon around it, it's pretty simple to understand. In just 30 minutes and I'll even show you how to write one with Ruby and prove that you've probably been using a blockchain everyday without knowing.
We all have hobbies we like to do when we leave the office, but that doesn't mean we have to shut down our programmer minds at the end of the day. I love to crochet in my spare time and in many cases, the approach to crafting is the same as coding. You wouldn't believe how similar writing a crochet pattern is to writing code. There are hardware requirements, different languages, loops, methods, and modeling diagrams. In this talk, I'll show how reading and writing crochet patterns uses many of the same fundamental principles as coding, complete with Ruby code samples and personal crochet samples. You will walk away thinking about coding principles and their applications beyond your screen. You might even become interested in learning to crochet!
Denial of Service attacks happen almost daily in varying shapes and sizes. The most recent, largest attack in history on github was a whopping 1.3 TERABITS per second. You don't always get the details of how and why these attacks occur along with methods of mitigation. You'll hear the backstory of such an attack from a victim of the "Cyber Monday" attacks which brought down DNS for rubygems and broke everyone's gem install command (still sorry about that). You'll hear details of how it happened, why it happened, and what they are doing to protect themselves the next time it happens so you can too.
We need new metaphors. We need metaphors that better respect the intelligence and creativity of every member of a software team. Theater stands out as a potential model especially the "technical" aspects, like set design. I used to work as a set designer and scenic artist. Like in software, working in theater means constantly juggling major technical, cost, and time tradeoffs to create the best end product possible and like software, working in theater is all about doing one's own part in a way that sets everyone else up for success.
This talk will be broken into 5 sections: 1) What is Color Blindness? Explain common types of color blindness. This is to increase audience understanding and empathy, as well as provide context as to why this is something we need to be conscious of and work to improve our efforts to address it effectively. 2) The Color Wheel and Dangerous Color Combos How to evaluate and avoid tricky color combinations, and how to make better color pairing decisions. 3) Typography, Text, and Legibility How color, contrast, and size can impact a user's ability to read text. 4) UX Patterns Which UI trends lend themselves to accessibility, and strategies for successfully adapting those that do not. 5) Links, Buttons, and Forms Strategies for making these utilitarian elements more usable for everyone. Conclusion Making choices that increase visual accessibility ultimately increase how usable our work and the web is for everyone.
More and more people are entering the tech sector without tech-specific work experience, and/or with non-technical degrees (if they went to college at all). While many tech giants still require or heavily favor candidates with a computer science background for technical roles, other companies are recognizing the value of staff with diverse experiences and educational history. As a journalist-bartender-turned-developer, I'm constantly finding ways that my “useless” liberal arts background and years spent slinging pints of beer have, in fact, prepared me for a successful career in tech. For those in tech with non-tech backgrounds, as well as the folks who do the hiring at tech companies, we'll discuss the myriad - and often hidden - skills that non-CS grads can bring to the table, and how they're broadly applicable to tech-focused jobs.
Currently, our industry has a surplus of bright junior developers, but a lack of open junior positions. Building a developer apprenticeship in your organization is a great way to provide a haven for these talented devs, while simultaneously making your team more productive and easing the pain of hiring. In this talk, you'll learn from the mistakes I've made and wins I've had in creating an apprenticeship. From pitching the idea to growing your apprentices, you'll gain a step-by-step guide to successfully building your own apprenticeship program.
The goal of this talk is to explain what "Thinking in Components" means and to show the tradeoffs between implementing this Pattern using classic Rails technologies (Haml + Sass) and new ones (React + Redux). It will also cover how Webpacker is used in these implementations.
There's a child in each of us that longs for the halcyon days of summer; dipping toes in the water off the pier, skipping stones across the pond, hopscotch in the alley with your friends. A child that yearns to run free from the responsibilities and pressures of modern life; that doesn't report to work at 9am and leave at 4:55pm. Who could blame any of us for waxing sentimental and wanting the simple carefree existence of a kid? I can't and won't. I have chosen to love and support the little child within while becoming the adult my community needs. But How? How does one truly “Adult”? What does it mean to grow up? What does it mean to be an adult in a world stuck in a state of arrested development? Join me for a fun, silly and often candid look at being the biggest kid at the table on a single mission: to grow up.