Aysylu Greenberg

Twitter: @aysylu22

Bio

Aysylu Greenberg works at Google on Drive infrastructure. In her spare time, she ponders the design of systems that deal with inaccuracies, paints and sculpts. Aysylu's first functional language was Clojure, which she used as a getaway from OO programming during weeknights and weekends. She has since found herself applying the functional principles to improve her C++ and Java code in her day job. Now she can pretend she's doing functional programming with Java8, if she squints at it a bit.

Delivery Tips

  • Your main goal as a speaker is to teach the concept/idea to the audience, so that each person walks away with something that they just learned. Focus on what the attendee will get out of the talk. Watch the audience reaction (look out for nodders) and slow down and spend more time explaining if you notice confused faces.
  • Repeat your key ideas by rephrasing your point, even if it feels silly. That's how you ensure attendees learn the new material.
  • Communicate the structure to the audience. This will help them stay oriented and understand how different ideas link together.
  • If you prefer to have bulleted text, have it appear at the same time as you mention the point verbally to prevent the audience from being overwhelmed with a wall of text and start reading it while you speak.
  • Rehearse, rehearse, rehearse. Plan to spend many hours practicing just the flow, even when all the material and slides are ready. The difference between a well-prepared and excellent delivery is a few dry runs.

Structure Tips

  • Make sure to address different types of learning strategies the audience relies on: say it, show it visually, and gesture it.
  • Come up with a clear structure of the talk and stick to it. Make sure to explain why each new idea is relevant to the overall talk.
  • You won't be able to teach everything in 1 talk. Try to stick to a few main points that you'll reiterate at the end. If it's an overview talk touching on many subjects, make sure you have a few takeaway points at the end to help the audience tie it all back together.
  • Ensure your intro and conclusion material are well thought out. "What will I learn from this talk?" should be addressed at the beginning and will guide the rest of the content.
  • If you're using analogies to explain, make sure to add a slide or two to explain the analogy to "catch up" those who aren't familiar with the concept. Think through your analogies carefully to ensure they aren't overstretched which would make the content more confusing.

Mike Gehard

Twitter: @mikegehard

Bio

Mike has been writing software for 15+ years and has recently been bitten by the functional programming bug. He's on his 5th time trying to teach himself Haskell and this time it may just stick. When he's not writing writing code or coaching other developers, you can find him our riding his mountain bike, climbing or hiking around the hills of Boulder. You also might find him enjoying some of the amazing breweries that dot the landscape of Boulder and the surrounding towns.

Delivery Tips

  • Your job is to entertain your audience, they can get the information from the internet.
  • If you have a slide with a lot of information or a quote, don't read it back to your audience. Give them time to digest it and then talk to the points you are trying to make.
  • Allow folks to ask questions during the talk but reserve the right to table questions may derail your talk.
  • The audience will enjoy your talk more than you think they will so there is no need to be nervous.
  • When you are speaking, you are the expert on that specific topic. You've earned that right so act like it.

Structure Tips

  • Don't put too many words on slides. People will read them instead of listening to you speak.
  • Start by telling them what you are going to tell them, then tell them and then tell them what you told them. This will help them ask good questions later if they didn't understand something.
  • A well placed picture/diagram can help explain complex topics better than words. This allows people to form their own mental model of what is going on.
  • Include at least one take away that the audience can apply to their world the very next day.
  • Dark background with light text are easier to read than the other way around.

David Greenberg

Twitter: @dgrnbrg

Bio

David Greenberg loves learning new things. He is an independent consultant who previously worked at Two Sigma, where he led the effort to rebuild their computing infrastructure. His desire to learn has lead him to study Russian and Spanish, and he is an enthusiastic home cook. He's interested in high performance software and distributed systems. He's the author of the O'Reilly book "Building Applications on Mesos".

Delivery Tips

  • Keep the audience engaged through polls/survey questions/
  • Don't use excessive text--full screen images can offset text/
  • Practice at least 6 times, to the point you know what to say w/o looking at your notes/
  • Repeat every important point twice while presenting, and again at the end in summary/
  • Practice until your time is consistent, and leave 5-8 minutes for questions at the end (even if you have to cut content!)/

Structure Tips

  • Make a "Table of Contents" slide that highlights which section we're on, and display the ToC between each section.
  • Every slide should have a diagram or picture--you can usually better present the material with a diagram than reams of bullet points - (depending on the person) Don't spend too little or too much time styling your slides--picking a premade style and judiciously changing it can give you a unique look. Don't spend more time on beauty than content.
  • Present your talk to someone who barely knows about the material, and someone who's an expert, to get feedback on ways people might misunderstand.
  • Don't have too many points: one talk probably has space for 3 main points. As a speaker, you should focus on communicating fewer points well, rather than trying to teach everything.

Kris Nuttycombe

Twitter: @nuttycom

Bio

Kris is a software engineer based in Boulder, Colorado. He is aficionado of strongly typed functional programming languages, mostly because he's not smart enough to write working software using anything else. He likes writing Haskell in Scala, struggles with writing Haskell in Haxe, and sometimes actually writes Haskell in Haskell. His hobbies include blacksmithing, experimenting with software-mediated economies, and climbing on rocks.

Delivery Tips

  • Don't try to cover too much ground - focus on a single concept and why it matters. Nobody ever complains if talk covers its subject well and comes to a logical conclusion early.
  • Plan for a specific audience. You can't possibly cover all the prerequisites for an advanced topic, but you *can* make advanced talks compelling for unprepared users if you can elucidate why the topic matters.
  • If possible, give the talk in full to an audience (of coworkers, or your local meetup group) prior to LambdaConf. Rehearsal doesn't reveal all of the rough spots in the same way that the reaction of even a small audience can.
  • Only address the most vital caveats. There are few subjects in technology where there isn't more detail, or some exception to the rule, that will become important in serious use cases. However, by definition people are coming to your talk to be exposed to new ideas that they can use - if you succeed, they'll find out the gritty details on their own. Certainly cover things that might cause people to fail when getting started, but if they won't run across some issue in their first week, leave it for the supporting materials.
  • On that note, your supporting materials can be one of the most important parts of your talk, and the part that takes the most time. The transcript, accompanying blog post, and source code are things that many people outside the conference will use as resources, even if they don't attend and never watch the video of your talk. You may even wish to plan your talk as support for your "supplementary" material, rather than the other way around. If you truly want to get someone using a technique or a piece of technology, the talk will inspire them, but the supporting materials will enable them to succeed.

Structure Tips

  • A talk is an inherently linear form of information transmission, while knowledge acquisition is much more frequently graph-structured. As an expert, you're likely to want to explore some of that graph - avoid the temptation. It's okay to leave interesting branches out; that's what the supplementary materials are for. If in an outline you find yourself coming back to the root level, consider whether you can prune off that new branch from the root entirely - it may well be that it's not closely associated enough with the primary thing you want to be talking about.
  • Your presentation materials should have 3 parts: the slides, the accompanying blog post, and the source code as an independent compilable/runnable artifact that people can play around with. If you're talk is about something that requires effort to build a working environment for, provide a Dockerfile that someone can use to build that environment. Prefer this over (just) an image; give people source that they can hack on when they need to use your thing for their own purposes.
  • If you need to put more than 3 lines of code on a slide, you should plan nobody in the audience should need to read that code. The cognitive burden of mentally simulating an interpreter for even a few lines of code (and the attendant looking for gaps/issues, which your audience *will* do) takes too much of their attention away from the subject at hand, and any problems that you miss will be jumped on by somebody trying to prove how smart they are. If you *must* put more than 3 lines of code on a slide, one thing you can do is to fade the text of all but 3 lines - this helps the audience focus on the truly critical bits, and nobody is going to call out bugs in the faded parts.
  • At the beginning of the talk, give a link to the slides so that those who are more comfortable looking at their own screen can do so. At the end of the talk, provide the link to the blog post that the talk supports (as mentioned above).
  • Punctuate your slides. In technical talks, it's usually necessary to have code and bullet points to a greater degree than is generally recommended for many other kinds of presentations, but pauses where there's just an image on the screen and your voiceover is the focus are important, otherwise your audience will become fatigued.

Simon Belak

Twitter: @sbelak

Bio

Simon Belak is the Chief Analytics Officer at GoOpti where he is in charge of making the company data-driven; building analytics infrastructure (end goal: provide any answer stemming from data in 2 min or less); and developing a predictive real-time pricing and risk hedging engine. Before GoOpti he worked with over 20 startups and growth companies helping them become data driven and set up (or level up) their analytics departments.

Now an accomplished speaker on the tech circuit, he used to be an avid competitive debater winning multiple international tournaments and ranked top English as a foreign language speaker at Worlds Universities Debating Championship in 2008. He taught debate on primary school, high school and university level, including coaching the Slovenian national team (which went on to win the World Championship).

Delivery Tips

  • for beginner and intermediate speakers knowing the entire talk by heart is more of an impediment than help. However a great trick to smoothly get into the presentation and keep stage fright in check is to have memorized the opening 10-15s and visualise & rehearse transitions from there. Starting is the hardest and at the same time critical to get audience buy in.
  • know slides and transitions by heart. Slide transitions will inevitably draw attention and people will start reading off the new slide. If you account for that you can use it to drive a point home, if not it can lose you attention of the audience and forces you to needlessly spend time ting ends together which further detracts from the main point (the more time you spend on a topic the more it sticks as important).
  • expectations are a powerful tool. Break them once to really make a point, but only once. If you continually break expectations the audience will feel betrayed: they put in the effort, but you are just stringing them along. Once this happens, their engagement and receptiveness will also fall.
  • referring back helps with clarity and structure and gives the sense of cohesiveness. Audience participation via show of hands is another way to set an anchor you can later refer back to.
  • take it as a given that people won't be fully following the entire talk, the more help you can give them to get back in, the better. Use pacing to demarcate the important from the glue. "Structure slides" (eg. repeating the index with the current topic highlighted) are a good -- if rough -- tool as well.

Structure Tips

  • why, why, why, ... why is a good default structure. If you grab the audience's attention, they will go through follow up whys in their head. If you preempt them you won't have to fight for attention with their internal dialogue and it they will get a feeling of familiarity, that what you say meshes well together with how they think.
  • repeat important things trice: state, explain, sum up. A cheap trick is to have an explicit section "take aways" at the end. Even here have a hierarchy: start with the one thing you want your audience to take away, then the second, third ... (journalists call this structure the inverted pyramid).
  • make a persona for your typical/target audience member. Go through what they know, why they are here, what will make them happy/successful, why should they care. Use that to inform your structure, emphasises and level of detail.
  • allow for some mental breathing space. Unlike reading, talking forces the listener to your pace which might be too fast for them. Give them time to catch up, help them be sure they are understanding things right (see also: repetition).
  • despite this being a technical talk, try having a narrative arc. Start with a problem, a challenge you faced, a story or at least some principle you hold dear and use that as the key to the rest of your talk.
About Connect Events Buzz

2017 Schedule

Note all tracks continue through concurrent time slots, unless otherwise noted on the schedule.

Thursday Friday Saturday

Thursday

  • 8:00am
  • Checkin & Breakfast
  • 9:00am
  • KEYNOTE - THE HIDDEN COSTS OF FEAR AND HOW TO GET A BETTER DEAL & Opening Remarks ROOM 101
  • 10:00am
  • unconference
    Room 101
  • CATEGORY THEORY (ALL DAY) Room 204
  • A GUIDED INTRODUCTION TO ELIXIR (ALL DAY) Room 205
  • THEORY AND MODELS OF LAMBDA CALCULUS: UNTYPED AND TYPED (ALL DAY) Room 206
  • INTRODUCTION TO FP IN SCALA: EXPLORING A TOOLBOX FOR SOLVING COMMON PROBLEMS (ALL DAY) Room 207
  • BUILD A BLOGGING SYSTEM WITH HASKELL AND YESOD (ALL DAY) Room 300
  • LET'S LENS (ALL DAY) Room 301
  • MAKE YOUR OWN PROGRAMMING LANGUAGEā€”FROM SCRATCH! (ALL DAY) Room 303
  • FUNCTIONAL ARRAY FUNHOUSE INTENSIVE (ALL DAY) Room 306
  • INTEGRATING PURESCRIPT AND HALOGEN INTO JAVASCRIPT APPLICATIONS (ALL DAY) Room 330
  • 12:00am
  • Lunch
  • 3:00pm
  • Afternoon Break
  • 5:30pm
  • KEYNOTE - WHY JOHNNY CAN'T CODE GOOD ROOM 101
  • 6:30pm
  • End of Day

Friday

  • 8:00am
  • Checkin & Breakfast
  • 9:00am
  • Keynote - YOUR BRAIN, ON PROGRAMMING ROOM 101
  • 10:00am
  • TRANSIENT: UNRESTRICTED ALGEBRAIC AND MONADIC COMPOSABILITY FOR REAL WORLD PROGRAMMING ROOM 101
  • LAMBDA CALCULUS FOR PEOPLE WHO CAN'T BE BOTHERED TO LEARN IT ROOM 204
  • BIG DATA PIPELINES WITH SCALA ROOM 205
  • INTRODUCTION TO COQ ROOM 206
  • JUMP-STARTING YOUR ELM SKILLS ROOM 207
  • Unconference ROOM 301
  • 11:00am
  • REPROGRAMMING BIOLOGY ROOM 101
  • 12:00am
  • Lunch
  • 1:00pm
  • TOWARDS THE NEXT GREAT LANGUAGE ROOM 101
  • HANDS-ON WITH RECURSION SCHEMES ROOM 204
  • A FUNCTIONAL PROGRAMMING APPROACH TO DATA PROCESSING IN PYTHON ROOM 205
  • MERCURY: AN ODD AMALGAM OF HASKELL AND PROLOG ROOM 206
  • FUNCTIONAL INFRASTRUCTURE WITH NIX ROOM 207
  • Unconference ROOM 301
  • 2:00pm
  • NEURAL NETWORKS ARE PROGRAMS, TOO ROOM 101
  • 3:00pm
  • Afternoon Break
  • 3:30pm
  • PLAN TO THROW THE FIRST ONE AWAY ROOM 101
  • GRAPHICS PROGRAMMING WITH LAMBDACUBE 3D ROOM 204
  • A SCIENTIST'S GUIDE TO THE RELATIONAL DATA MODEL, OR ONE READER TO RULE THEM ALL ROOM 205
  • MIGHTY MORPHIN DATA TYPES ROOM 206
  • WEB PROGRAMMING AND STREAMING DATA IN HASKELL ROOM 207
  • Unconference ROOM 301
  • 4:30pm
  • ALGEBRAIC DATABASES ROOM 101
  • A BETTER REST WITH TYPE-LEVEL PROGRAMMING IN SCALA (DN) ROOM 205
  • WHAT ORWELL'S 1984 CAN TEACH US ABOUT PROGRAMMING ROOM 206
  • 5:30pm
  • ON STATE ROOM 101
  • 7:00pm
  • All Conference Dinner @ Wolf Law

Saturday

  • 8:00am
  • Checkin & Breakfast
  • 9:00am
  • Keynote - THE AXES OF ABSTRACTION ROOM 101
  • 10:00am
  • WHEN DOES A PROGRAM TYPECHECK? ROOM 101
  • LAMBDA CORE: HARDCORE ROOM 101
  • CLOJURE.SPEC: A LISP-FLAVORED TYPE SYSTEM ROOM 101
  • PRINCIPLES FOR CLEAN FUNCTIONAL PROGRAMMING ROOM 204
  • GREEK CLASSICS: LAMBDA CALCULUS FOR BEGINNERS ROOM 205
  • FORMALLY SPECIFIED DIGITAL LOGIC FOR PERVASIVELY RECONFIGURABLE COMPUTING ROOM 206
  • CORECURSION, CODATA, AND JUST A LITTLE COMBINATIONAL GAME THEORY ROOM 207
  • Unconference ROOM 301
  • 11:00am
  • WHAT ARE DEPENDENT TYPES? ROOM 101
  • HIGHER-ORDER ABSTRACTIONS ROOM 101
  • SINGLETONS AND YOU IN HASKELL ROOM 101
  • BEAUTIFUL SCALA ROOM 204
  • VARIABLES IN HASKELL ROOM 205
  • ALGEBRAIC DATA TYPES FOR C# ROOM 206
  • ADJUNCTIONS IN EVERYDAY LIFE ROOM 207
  • Unconference ROOM 301
  • 12:00am
  • Lunch
  • 1:00pm
  • HOW TO BUILD A BLOG IN 10 MINUTES WITH HYPER ROOM 101
  • INTRODUCTION TO PROPERTY TESTING IN JAVASCRIPTROOM 101
  • THE ORIGINS OF FREE ROOM 204
  • USING PL THEORY TO MAKE PEOPLE HAPPIER ROOM 206
  • ENHANCING YOUR HASKELL WITH DEPENDENTLY TYPED PROGRAMMING: A CASE STUDY WITH NEURAL NETWORKS ROOM 207
  • Unconference ROOM 301
  • 2:00pm
  • FLEXIBLE TYPED ONTOLOGY APPLICATIONS ROOM 101
  • THE POWER OF OPTICS ROOM 101
  • LESS IS MORE WITH MONADREADER ROOM 101
  • BRINGING FP TO WORK THROUGH GRASS ROOTS EDUCATION ROOM 204
  • REFACTORING RECURSION ROOM 205
  • FROID: FUNCTIONAL PROGRAMMING ON ANDROID ROOM 206
  • SOME1 LIKE YOU: DEPENDENT PAIRS IN HASKELL ROOM 207
  • Unconference ROOM 301
  • 3:00pm
  • Afternoon Break
  • 3:30pm
  • THE NOOBS AND THE PROGRAMMERS: ON TEACHING PROGRAMMING; ONE YEAR IN: ROOM 101
  • A BEGINNER'S TAKE ON THE DIFFICULTIES OF LEARNING HASKELL; ROOM 101
  • HOW TO PROGRAM LIKE A FIVE-YEAR-OLD (IN HASKELL) ROOM 101
  • CONTEXTUAL: ENHANCING SCALA WITH YOUR OWN COMPILE-TIME CHECKS ON EMBEDDED DSLS ROOM 204
  • INTRODUCTION TO STRONG TYPING SEMANTICS WITH A STATICALLY-TYPED INTERPRETER ROOM 205
  • INTUITIONISTIC LOGIC III: SUBSCHEMAS AND TOPOLOGIES ROOM 207
  • Unconference ROOM 301
  • 4:30pm
  • BETTER STORIES, BETTER SOFTWARE ROOM 101
  • SOFTWARE ENGINEERING: THE GENESIS ROOM 101
  • CARPENTERS AND CARTOGRAPHERS ROOM 101
  • CODECS AND FUNNY LOOKING FUNCTORS ROOM 204
  • I COMMAND YOU TO BE FREE! ROOM 205
  • DEFORESTATION AND PROGRAM FUSION: APPLYING EQUATIONAL TRANSFORMS TO AUTOMATICALLY SIMPLIFY PROGRAMS ROOM 207
  • Unconference ROOM 301
  • 5:30pm
  • CLOSING REMARKS ROOM 101
  • 6:30pm
  • End of Day