Earlier this week, an awesome group of women that I’m a part of started Lambda Ladies, a group for women interested in functional programming. I’m really excited about it, especially the email list which already has far more FP women than I would’ve even thought existed! The response so far has been pretty overwhelmingly positive, but I also saw some skepticism on Twitter about the need for such a group and I wanted to give a little background about why I think it’s a good idea.
Resources for Getting Started With Functional Programming and Scala
This is the “secret slide” from my recent talk Learning Functional Programming without Growing a Neckbeard, with links to the sources I used to put the talk together and some suggestions for ways to get started writing Scala code.
Learning Functional Programming Without Growing a Neckbeard
I gave a beginning functional programming talk called Learning Functional Programming without Growing a Neckbeard for the SF Scala meetup on December 13th. The slides are below and you can watch a video of the talk on Marakana’s website.
You can also view the JS version, including my notes. The notes are in the super-secret presenter view which you enter by clicking within the slides and hitting the “s” key on your keyboard.
If this presentation piqued your interest in Scala and functional programming, you may find this post of resources for getting started with Scala useful.
Box Cheat Sheet for Lift
When you’re learning Scala, one of the first concepts that clicks is pattern matching. Once you get the “hammer” of pattern matching in your Scala toolbox, everything is a nail; you want to use it everywhere for everything. Pattern matching is very powerful and easy to use, but it turns out for many, many simple cases using a higher-order function is more concise and performant. I have Tony Morris’s Option Cheet Sheet bookmarked and use it almost every day.
In Lift, though, we generally use Box instead of Option. Box adds a third Failure state and a host of additional methods. I got tired of translating the Option methods to Box ones in my head so I wrote up this translation of Box methods to match statements.
Resources for Teaching Web Development to Kids
I’m helping put together a web development workshop & longer class targeted at girls ages 7 to 16 for Black Girls Code this summer. If you’re in the Bay Area, we need volunteers for our June 30th workshop. There’ll be a training before the workshop so no worries if your coding skills are rusty/non-existent–if you’re willing, we want your help!
Here’s some resources I’ve found for teaching web development to kids:
Checking a Service’s Status in the Background in Lift Using Lazy-load
At work we recently built an HTML5 & JavaScript hosting service that pulls files from GitHub. Of course, we managed to release this feature smack in the middle of GitHub’s recent DDOS woes.
Because GitHub’s outages were intermittent and other parts of our functionality worked, we wanted some way of letting our users know if we couldn’t reach GitHub. The outages sometimes manifested themselves as a timeout rather than a returned error, so I didn’t want to block the entire UI from loading while I waited to see if a request to GitHub would terminate or not. I was starting to look at Lift’s powerful Comet support when the lovely and helpful dpp (who we are lucky enough to share an office with!) suggested that I look at lazy_load.