SF Scala: Dave Briccetti Interview
Recording: SF Scala: Dave Briccetti Interview
Hello, everybody. I'm Alexey Karabar, the organizer of SF Scala. Here we are at our meetup at Iterable, and we have with us Dave Brichetti, who was one of the reasons I got into Scala in the first place. I was hoping you would tell this story. This is great. That was many years ago when I was doing my PhD and processing the streaming data from the Twitter streaming API, which I was the first academic consumer of. I looked around and I basically was trying to find who has some kind of sample code, some APIs to process Scala data. Dave had the token Puffin, That's right
which was the client he wrote in Scala, and that basically brought me into the whole thing. So, thank you, Dave. Sure. Because of that, we're doing this meetup, I would say. So, tell us a little bit how you got into Scala, what caused you to write that, and how was your Scala journey since then? Sure. Well, it started not long before Talking Puffin. I remember driving down Highway 680 and listening to the Java Posse podcast. Mm-hm
And this was in the end of 2008, and Dick Wall and Carl Quinn were talking about Scala and how much they liked it. And I thought, well, I'm going to try this out. And so, as an exercise, I thought, well, I'll write a little program that goes to Twitter and gets the tweets and allows them to be displayed various ways. Mm-hm. And so, I made a 100-line Scala program, and I called it Simple Twitter Client. Mm-hm. And that led to Talking Puffin and a better user interface and lots of other nice features. Now, sadly, to say it's defunct, but I think it would be fun to bring it back
And then that led to an interesting project over five years on a contract at VMware Mm-hm. Around vSphere APIs and related APIs. And our team there that includes people you know, like Helena Edelson and Paul Snively and others were one of the first teams to do Scala at VMware. So, we really pushed hard and made that happen. Interesting. So, when you wrote Talking Puffin, did you know that Twitter itself uses Scala or? I think I did, yeah. And I remember, I don't remember all the time frame, but I remember being very excited about being at a Bay Area Scotland enthusiast meeting at Twitter. And then sending a tweet from within Twitter
Right. That was a big deal. And later, we had another one at Foursquare. And so, I checked into Foursquare at Foursquare. That's right. That's another early Scala company. Yes. Right, right, right
So, I was aware of that, I think. You know, every time we do meetups at SF Scala, I think that things never, you know, people never get tired of tweeting from Twitter. Yes. And saying they're by Twitter from Twitter. So, that's, yeah, that always holds. Yeah. It works also at scale by the Bay Conference, which we do at Twitter. Right
Mm-hm. So, VMware is interesting because it's a big company, right? With a lot of call base. So, from a hobbyist project, you went to basically a giant legacy call base. There was one project in between, which I do for a school. I volunteered in the music department of the middle school in Lafayette, where I live. And I've written something called DB School's Music Gradebook, which is an open source, a Scala program, web-based, multi-user database that's for a music department that has several adults that help to test the kids on their instruments. Mm-hm. And then it has a big screen in the main band room, where it shows who's going to be called for testing, and a picture of the kid, and the piece they're going to be tested on
So, it manages that whole process. So, that was something in between there. Yeah. I think you have seen the, you gave a talk about it. Ah. Yes, I remember. So, that project has been used? That's still used to this day. That's, it started out in Java with Swing long ago
And I think we're in our, maybe our 15th or 16th year of using that program through its various evolution. So, you maintain that and keep it current? Uh-huh. Interesting. So, how did, so, but that was basically your baby, right? Like that's your project, right? And then you come to this big company, and so you're one of the early, the first color team at VMware. How did that go? Like what, what, what was interesting about that experience? Like many of these contracts that we do, it started out as a three-month project. So, we want you to come in and do something for three months. Mm-hm. And it was Python and Django
Mm-hm. And so, after that was done, then they were happy with me, and we looked around for some other things to do. And we did some Java things, and I remember I kept one, every opportunity I could. I said, you know, this would be so much nicer if this were in Scala. Mm-hm. And I pushed and pushed, and then some other folks joined the team, and they helped me push. We got a new boss. Actually, before he came, the decision was made by the old boss
I won't mention names of people, but then some people made brave decisions, and we did some good work there. So, is it, do you know, like, is it used, like, is Scala now a part of the software engineering at VMware? I don't know that it grew as much as I had hoped it would, but there were a few projects using it, and then the project that I worked on still exists to this day. Mm-hm. And I think that's a lot of people who have been doing this, and I think that's a lot of people who have been doing this, and I think that's a lot of people who have been doing this. I don't know, about 15% of my income, I suppose. I teach programming to kids, grades 3 through 12. And I like them to use languages where they can get started pretty quickly. And I don't know whether you remember Lalit Pont, who gave a talk at Bay Area Scala Enthusiast about Kojo
If you remember, Kojo is a graphical tool that uses Scala as a language. Yes, yes. And its most simple form, it's like a logo, but it has much more than that. So I did that for a while and used that to teach kids. And I think that when kids can see the instant reward of some beautiful, like rotating cube with colors, and some of the things that I showed at the last month, it's just a way to get instant feedback that's very pleasing. Mm-hm. And then it's kind of grown from there, 2D, 3D. It also has helped me develop some of my math skills
I was one of these kids who said, you know, when am I going to use sine and cosine? Mm-hm. And then it's like, I'm going to use it to move things around in a circle. That's right. Finally, you know. So do you, so do kids program in Scala? Some of my students do. I had one kid who's in high school now who did that pretty regularly. He's gotten involved with playing bass, a string bass, electric bass, and singing, and some other things. So I hope he'll come back and we'll continue
Most of my students now are doing Python and JavaScript. Mm-hm. Yes. You know, this is interesting you mentioned Kojo, and because Seth, it's you, who is one of the speakers today. He maintained that logo for 14 years. So that's, you know, we have this interesting logo connection going on here, and educational focus. We were just talking about that. Right
About how we may have made contact for a brief period some time ago. Well, that's right. So, this is great. Yeah. So do you think, I mean, I, when I've seen what you're showing this, like I think it's really great teaching tool. So do you think that graphics programming in Scala is something, you know, which can be used to teach high schoolers or middle schoolers? Do you think it's a viable kind of teaching lab? I think so because it can, if you know you want to make, let's say you start with a cube, then you want to have a row of cubes, and then rows and columns of cubes, and then that thing in 3D. You need to know how to make a loop, and then a loop within a loop, and a loop within a loop. Did I say a loop within a loop within a loop? That's what I meant to say
I think so, yes. Yeah. So there you're motivated to learn about looping. And in Scala, you know, you can make a range and store that in a variable, and then reuse that range in a 4 with, what are they called, with 3 generators, one for X, Y, and Z. That's right. Then you can go about your business of making this complex structure. Yeah, no, this is cool. You know, what really is exciting to me about this, that, you know, we go very deep, you know, in our kind of, you know, type for programming and enterprise
But really, right, like when you go to teaching, you get right down back to basics, and, you know, like you see, this is the 4 comprehension with this other generators, right? Like this is, graphics is very natural for this. So I'm super excited. Well, you know, you are giving this talk because there is a lot of folks here who are new to Scala. So if you guys are watching, there is a lot of good ways to get into Scala, right? Like it's, we definitely cover a lot of complex issues, but we all also like to go back to basics and figure out what's the best way to teach programming. Scala is a great way to learn programming. So, you know, see Dave's talk and hopefully pick up some Scala. Sounds good. Thank you
Looking forward to it. Thanks. All right. Thank you, Dave. Thanks.