Managing Meta's millions of machines
Anita Zhang is here to tell us how Meta manages millions of bare metal Linux hosts and containers. We also discuss the Twine white paper and how AI is changing their requirements.
Anita Zhang is here to tell us how Meta manages millions of bare metal Linux hosts and containers. We also discuss the Twine white paper and how AI is changing their requirements.
Chris Beams joins the show to talk about Bisq, the P2P decentralized Bitcoin exchange and open-source desktop application that allows you to buy and sell bitcoins in exchange for national currencies, or alternative crypto currencies. We get some background on the issues faced by crypto exchanges like CoinBase, and the now defunkt Mt. Gox. We discuss whether or not Bitcoin is a censorship resistant payment system and what it means to have anonymous transaction currency options. Bisq also has an interesting white paper about its own DAO (Decentralized Autonomous Organization) to support its contributors and we discuss that in detail at the end of the episode.
No interview this week! Instead, Justin & Autumn sit down to talk about what theyâve been learning recently.
Matched from the episode's transcript đ
Justin Garrison: Itâs been a lot of fun in the last week. Weâre recording this on October 24th, so youâre all going to read this a little later, but⌠Thereâs been an influx of just people and information and stuff going on on Blue Sky recently, that has been fun, as someone - Iâve been there for a little over a year now. And itâs been quiet, but Iâve still been enjoying the architecture of it and how people are integrating the app protocol, that sort of stuff.
I wanted to reshare the white paper from that protocol on Blue Sky, because I did read this a while ago. It got updated in October. I havenât read it yet, but they tripled the number of authors on it. One I have a copy of, and I was like, âOh, it had three authors before. Now thereâs nine. Whatâs going on?â So I havenât reread it, but I think most of the contentâs the same. I want a diff for white papers. That would be great.
The hallway track at All Things Open 2024 â features Carl George, Principal Software Engineer at Red Hat for a discussion on the state of open source enterprise linux and RHEL (Red Hat Enterprise Linux), Max Howell, creator of Homebrew and tea.xyz which offers rewards and recognition to open source maintainers, and Chad Whitacre, Head of Open Source at Sentry about the launch of Open Source Pledge and their plans to helps businesses and orgs to do the right thing and support open source.
Matched from the episode's transcript đ
Adam Stacoviak: I donât know, though. I think with my idea, if it truly is a good idea, I think you could do both. It doesnât have to be just because youâre rejected, plan B is X. I think it could be both based on what I hear. Now, this is 20 minutes of podcasting, which I havenât dug into the white paper, or the details, and stuff like that. But I canât see, based on what Iâve heard so far, why it couldnât be both. Because itâs already doing that. It already can be speculated against. If I have a project and Jerod wants to stake against it, he can. So thatâs all youâre doing. Itâs about perception and mechanics and marketing really a story than it is simply what it can or canât do.
Adam Jacob remains optimistic about the future for infrastructure and is building new ideas to make it better.
Matched from the episode's transcript đ
Justin Garrison: That collaboration piece I think is huge, because the way that Iâve learned, throughout my career, is just like working next to someone. And back at the data center I learned so much about resiliency. It was like âYeah, you connect that cable to the switch over there, because if this one fails, and that power supply goes awayââ And like being able to âOh, that makes senseâ, because we can figure out why and how these things are going to fail.
And infrastructure as code shifted me to an individual player game, where I just did asynchronous reviews and no one actually reviewed or ran my infrastructure as code. Theyâre just like âYeah, it looks good to me. Youâre past the lint, so weâre good.â But the feedback loop for learning how to do it was so much harder, because I had to copy and paste that other Jenkins file, to then go do it over here, because I donât know how to start, I donât want to write groovy. I donât want to write Groovy. This is just a necessary evil.
One of the things that â the last time I was excited about an infrastructure diagramming tool was probably eight years ago. I donât even remember what the product was called, but I remember reading their white paper⌠And they had this notion of being able to see the history of how the infrastructure has evolved, and being able to go backwards in time and say âWhat has changed here, and why did it change, or who made the change?â Do you see that as a view capability inside of System Initiative? Because you have these change sets, and you have this way to diff this stuff already⌠Could I zoom back to six months ago and see what it was like?
Dave Eddy has learned systems programming the traditional way with books and man pages. Now heâs sharing what heâs learned, starting with bash.
Matched from the episode's transcript đ
Justin Garrison: But just remembering how long it took you to learn that, and like putting in the work, and reading the man pages. Same thing for learning systems. I go read the white papers. Because almost every big system came out of some research that they wrote a white paper about. And Iâm like âOh, Iâm gonna go find the white paper. Iâm going to read it.â
And itâs like, yeah, thatâs how Iâm going to spend my time. I can figure out why they wrote the thing. What answer were they trying to solve? The man pages are going to give you that stuff. Like, âOh, these are the built-ins, because we have to have this set. We donât want to execute out to something else, because it may not be there, and we need to build that into the shell.â And thatâs where itâs something like âOh, thatâs the problem youâre solving. Now, why would I want to execute out to a different command for that same functionality?â âOkay, letâs figure it out.â
Abi Noda, co-founder and CEO at DX, joins the show to talk through data shared from the Stack Overflow 2024 Developer Survey, why devs are really unhappy, and what theyâre doing at DX to help orgs and teams to understand the metrics behind their developerâs happiness and productivity.
Matched from the episode's transcript đ
Abi Noda: Yeah. Thatâs the white paper.
uBlue is trying to build the worldâs best Linux experience for developers and gamers. Jorge Castro joins Justin & Autumn to tell us how itâs going.
Matched from the episode's transcript đ
Justin Garrison: I donât remember if it was a white paper, or whatever⌠It was âHow to hear into a room of people using a laser.â
Dinis Cruz drops by to chat about cybersecurity for generative AI and large language models. In addition to discussing The Cyber Boardroom, Dinis also delves into cybersecurity efforts at OWASP and that organizationâs Top 10 for LLMs and Generative AI Apps.
Matched from the episode's transcript đ
Daniel Whitenack: And on that front, Iâm really excited, because Chris, on this show actually a couple of times I referenced the OWASP top 10, Gen AI top 10 sort of risk white paper. It breaks down security and privacy-related risks, into sort of different categories, and helps people think about it. This is a collaborative thing, with multiple organizations involved⌠But today weâve got with us Dinis Cruz, who is the founder at the Cyber Boardroom, but also has been involved in OWASP and in various capacities over the years, and is aware of all this thatâs going on, and contributing to it. So weâre just super-excited to have you with us, Dinis. This is one Iâve been really looking forward to.
DuâAn Lightfoot, dev advocate at AWS, joins Justin & Autumn to discuss networking, a knowledge gap people many people have. You can ignore the things you donât understand or you can invest time to learn it.
Matched from the episode's transcript đ
Justin Garrison: I mean, thatâs 300 gigs on my computer to like go play with this thing and see how it works, and kind of prompt it myself. And a lot of their testing in the paper is like - the 405 billion model obviously is the best one, and itâs competitive to a lot of the closed source models in various tests. But it was fascinating just seeing how they walk through this; again, with references itâs almost a hundred pages of white paper. I donât recommend that everyone read it, but absolutely go put this in ChatGPT and ask some questions.
Flavors of Ship It on The Changelog â if youâre not subscribed to Ship It yet, do so at shipit.show or by searching for âShip itâ wherever you listen to podcasts. Every week Justin Garrison and Autumn Nash explore everything that happens after git push
â and todayâs flavors include running infrastructure in space, managing millions of machines at Meta, and what it takes to control your 3D printer with OctoPrint.
Matched from the episode's transcript đ
Autumn Nash: Thatâs so cool, to read a white paper and then get to talk to you about it.
Michael Gat joins us for a look back on mainframes & why sometimes deploying on a Friday IS the right thing to do.
Matched from the episode's transcript đ
Justin Garrison: Yeah, for sure. And the last place I was gonna point out that I get papers from is acm.org. It has a bunch of journals. They run conferences that I enjoy. SIGGRAPH is a gaming animation sort of conference, and so thereâs a lot of stuff that comes out of that from talks⌠But also, I watch a lot of talks at conferences online, on YouTube. If theyâre recorded on YouTube and I think itâs interesting, I usually will find one thatâs interesting at a conference, I will watch it, and then I will look at that personâs sources. Because a lot of them will be educational, or research-based, and theyâll say âOh, weâve built some of our foundational stuff on top of this paper.â So Iâll go find the paper, and then from that.
Same with books - if Iâm reading a book, and they have a paper listed of like âOh, weâve got this research from hereâ, if Iâm interested enough, and I feel like I have the time, I will go ahead and find that paper. And my flow for like finding papers - I just find the PDF, and I put it in Apple Books, and I read it on my iPad with Apple Pen. And I just add notes to it, and thatâs where I typically consume them.
I used to print them out, and at lunch I would go with a sharpie marker, and I would go sit outside, leave my computer or my phone at my desk, and I would just go out there with a white paper⌠I donât do it to remember them, I donât do it to like search through them again, Iâm not looking at my notes, but just sometimes I want to like jog my memory, of like âOh, what did I like out of here?â And Iâll find some highlights, and Iâm like âOh yeah, that was the key point that I thought was interesting.â
Thank you so much for listening to this episode. If you have people you would like to have on the show, or topics youâd like to have us talk about, please email us at shipit@Changelog.com. We do have a bit of a Plus Plus thing. Autumn and I go on a tangent here, talking about not just research papers, but just in general engineering blogs, and kind of how that relates to Dev Rel, and engineering, and some thoughts we have there. So stick around for the Plus Plus content, and we will talk to you all again next week.
Benn Stancilâs weekly Substack on data and technology provides a fascinating perspective on the modern data stack & the industry building it. On this episode, Benn joins Jerod to dissect a few of his essays, discuss opportunities he sees during this slowdown & explain why he thinks maybe we should disband the analytics team.
Matched from the episode's transcript đ
Benn Stancil: Sure. So like you mentioned, I started a data company; it was a BI tool, basically, that was called Mode, about 10 years ago. When we first started it, there were three of us. One of the persons was the CEO, who was a good face to the company, and out talking to investors and customers and things like that, and was the sort of person that we could probably stroll out as the external face of what we were building.
There was a person who was the technical co-founder, really, who was chained to his desk, building the product, and then there was me, who was neither of those things, who neither was an engineer, nor was sort of fit for external consumption, I would say⌠And so I didnât have anything to do. Why I was a founder there - who knows? Thatâs a question you have to ask them. But my job â basically, my background was in data, and as an analyst and things like that, and really what I was doing was kind of representing the customer in a lot of ways, where the product we were building was for people who were like me⌠And so I was to some degree PM-ing things, or helping the person who was the engineer do the âHereâs what we think we should buildâ, and testing stuff out. But that leaves you with a lot of time, in the early days when youâre basically moving as fast as one or two engineers can build it⌠And so I had a lot of time to spend on stuff, and so I started basically writing a blog, that - we didnât really have a grand plan behind it, but what it ended up being was kind of like FiveThirtyEight-style analyses of pop culture.
[08:15] We wanted to do something that would get notes and visibility⌠I kind of just started doing this because I needed something to do, and it was kind of entertaining to me. And so the very first blog posts we ever wrote were things about like Miley Cyrus, and the VMAs, the Video Music Awards, and various things that were just like interesting things to me going on in the world, from a data-driven perspective. So it was sort of like âHere, letâs take a data-driven look at x thingâ, or whatever.
People seemed to like it. I think it worked because this was a time when content marketing and sort of having company blogs was becoming pretty normal⌠But most of those blogs would be sort of transparently thought leadership with the intent of somebody clicking on the button saying âDownload our white paperâ or âCheck out our productâ, or whatever. Itâd be like âHereâs five tips to build your engineering teamâ, and then the fifth tip would be like âUse our productâ, or whatever. And so this was not that. There was no real call to action for anything related to Mode, it was just âHereâs a bunch of charts about the baseball playoffsâ, or whatever.
And so people seemed to like it, I enjoyed it, I thought it was kind of fun to do, and the writing part of it was something Iâd never really done⌠But it was like âThis is kind of interesting.â Eventually, within, I donât know, six to nine months of starting doing that, Mode grew, my job expanded, I started doing a lot of [unintelligible 00:09:25.09] started having customers⌠I basically didnât do it for that long, because there became a point where writing a blog about Miley Cyrus is not the most important thing that you can be doing to grow startup.
Git was designed to be distributed but there is a lot of gravity around GitHub. What does the model look like for a business that encourages you to run your own git server and what does the backend for gitea.com look like?
Matched from the episode's transcript đ
Justin Garrison: Yeah, Iâm gonna link to the white paper. Iâll put it in the show notes. Actually, Iâm just gonna put the Wikipedia page, because the white paper is linked in the references there, and thatâs how Iâve found it. And it was fascinating as an evening of how long can you go without eating.
Autumn, I donât need to see the book. Oh, she took [unintelligible 00:11:04.05] I believe it would exist. I donât need to see it.
Bailey Hayes & Taylor Thomas from Cosmonic join the show for a look at WebAssembly Standard Interfaces (WASI) and trade-offs for portable interfaces.
Matched from the episode's transcript đ
Justin Garrison: And youâve just reminded me that I read a white paper, which was probably one of my favorite white papers, which is one of the early Software Defined Networking white papers. And I for the life of me cannot remember what the title of it was. If any of our listeners know the foundational, software-defined networking⌠I remember where I was when I read it. I used to print them out and go mark them up. I would read them at lunch, Iâd bring a Sharpie with me, Iâd write notes⌠And then Iâd basically recycle them.
All of the health anxiety of early internet adopters traced back to WebMDâs self diagnosis. Some sysadminâs on-call nightmares came from a different part of the site.
Matched from the episode's transcript đ
Justin Garrison: Looking back on when I first saw blockchain â like, I read the white paper from Satoshi. A long, long time ago â I was doing Bitcoin from 2009, or something like that. I had Bitcoin. I was like âThis is fascinating.â Then I saw the shift of like everyone jumped in for the money side of it⌠Iâm like âNo, no, I wanted the tech side. How did that [unintelligible 01:02:18.19]
First there was Mamba⌠now there is Jamba from AI21. This is a model that combines the best non-transformer goodness of Mamba with good âol attention layers. This results in a highly performant and efficient model that AI21 has open sourced! We hear all about it (along with a variety of other LLM things) from AI21âs co-founder Yoav.
Matched from the episode's transcript đ
Yoav Shoham: So first, Iâll say that I donât think that everybody needs to be building foundation models. But as I said to somebody, organizations are technical, and want to remain relevant; even if theyâre not building foundation models, they should understand how theyâre built. And if they really put their mind to it and the resources, they could build one⌠Because it really gives you a visceral, deep sense of whatâs going on.
Now, regarding the Jamba, we actually try to be very transparent. So this is our first open source model, and the reason we did it was that it is very novel, and thereâs lots of more experimentation to be done here, optimization, serving the â you know, training use models canât be done on every type of infrastructure. Serving them similarly. And when you do serve them right now, weâve had several years to optimize the serving of transformers. We want to enable the community to innovate here. And so we were quite explicit in our white paper, perhaps unusually so relative to the industry. So to the listeners who want to kind of get the nitty-gritty, I really encourage them to look at the technical whitepaper.
But I can tell you thereâs been a ton of experimentation [unintelligible 00:30:41.15] that our guys did, trading off lots of â people use the term hyperparameters; a lot of things are very different from one another. But how many layers do you want? And how many Mamba layers, how many attention layers, batch sizes? âŚall kinds of stuff that â you know, what actually makes the difference⌠Itâs hard to sometimes understand what makes the difference. And again, we tried to share the â for example, I said that Mambaâs performance doesnât compete with the performance of comparably-sized transformer models. But when you look at the details, itâs actually quite competitive on many of the benchmarks. But then there are a few that itâs really bad at. And that gives you a clue of why thatâs the case. It can latch on to surface formulations and syntax that the transformers managed to just abstract away from. And so we describe how you make this observation, and you correct for it. So thereâs a lot of details that go into making these decisions.
And then thereâs also pragmatic decisions. For example, we wanted a model that will fit on a single 80-gigabyte GPU. That was a design decision. And from that emanated a few things. We did put a bigger model, and certain context windows will fit there, others wonât⌠Still, 256k is humongous, compared to the alternative⌠But we can also do a million and larger, but not on a single GPU. And so those are some of the design decisions and the rationale. Honestly, it is a process â although condensed, a process that involved hundreds of decisions that it led to what we put out.
Paul Frazee joins the show to tell us all about how Bluesky builds, tests, and deploys mobile and web applications from the same code base.
Matched from the episode's transcript đ
Justin Garrison: I miss the conference side of Twitter, which was a big piece of it for me⌠But thinking about it, too â because I closed my Instagram a decade ago, and I never looked back. And Iâm like âIâm missing a lot of conversations there, and I just donât have the bandwidth, I donât know the time.â And itâs fine. And I know that for me Twitter will be the same thing, where itâs just like âI didnât want to support Facebook either, and I donât want to support Musk, so Iâm off. And itâs cool. I have other places that I can be.â And I will miss those conversations, but again, I am very appreciative of having DMs from people, and just like having real conversations. Iâm like, Iâll jump on a phone call with someone.
And Twitter Spaces were fantastic. I loved doing that. I was doing like white paper reads, and all that stuff⌠And I ran a community; I actually ran like three communities on Twitter when communities were a thing. I was having a lot of fun doing that stuff, and then a lot of that â
Justin Garrison joins us to talk about Amazonâs silent sacking, from his perspective. He should know. He works there. Well, as of yesterday he quit. We discuss how the cloud and Kubernetes have transformed the way software is developed and deployed, the impact silent layoffs have on employees and their careers, speaking out about workplace issues (the right way), how changes in organizational structure can lead to gaps in expertise and responsibility which can lead to potential outages and slower response times.
By the way, we officially let the cat off out of the bag in this episode. Justin has joined the ranks here at Changelog and is taking over as the host of Ship It! Expect new episodes soon.
Matched from the episode's transcript đ
Justin Garrison: Yeah, I mean, like I said, I loved what Gerhard was doing with the show. I loved the topics that he was already covering, and some of the guests he had on. And I want to continue that as well. I want to focus on that topic space. Everything after git push. What do we do? CI/CD pipeline, security scanning, system scaling, whatever it is, all the way from observability, SRE - all of that stuffâs involved in the not-writing-code side of things. Like, how do I debug a Linux server? Those are things that not a lot of places focus on, and I want to keep that focus of the topic of just shipping the code.
[01:11:55.20] Getting some great guests on, focus on areas that are running code; if you run production code in any sort of environment, I want to hear from people, because itâs not just a web service. And in my time at Disney and Disney Animation, we had almost no web services. Even the Disney Animation website wasnât run by us, it was run by another â we just did rendering. We would render stuff, and we had some internal services. How does that look? Why is that different? People still wrote code, and we still did stuff. And I want to know what those different environments look like for people, because some running software is not the same thing. Itâs not always just an NGINX with a backend app. A lot of places look really different, and thereâs so many variables in that, that I want to talk to a lot more people, and give people more exposure to what it actually looks like. If youâre in a hospital, how is that different than a streaming service? Those things are very different environments, and have different concerns, and different needs for what theyâre doing with their software and infrastructure.
So thatâs the first thing - I want to keep some of those people coming in. I also wanted to have some things that â I love listening to podcasts in general, and the things that I want to hear⌠I donât want just a news show, but I want a couple news topics. I want to know some things that are relative, or something that the hosts, whenever Iâm listening to the show, I want to learn what they learned this week. Some of my favorite shows that Iâve listened to in the past always have something that is personal, thatâs like âHey, I did this thing, I solved this problem, and now I ââ, whatever. Itâs like a small thing. Itâs not like âOh, everythingâs groundbreaking every week.â No. I learned how to make a dashboard on my Raspberry Pi. Hereâs the thing I used, hereâs an open source tool, whatever it is. And so I have some recurring segments that I have ideas for to make that fun.
Iâm bringing on an awesome host [unintelligible 01:13:33.12] with me, because she has such a great, different perspective, and different experience than what I have, from running services in a different sort of environment, and with different constraints. So Iâm really excited about that. And then just having those guests come on and learn from them about what products exist, whether theyâre open source, or SaaS products, or just different ways of thinking about scaling things.
I used to also run a Twitter Space for reading white papers on infrastructure. I called it Paper Club, and it was a monthly âLetâs read a white paper, and then just talk about it.â It was like a book club for technical white papers. And that sort of deep dive into technology, and where technology comes from, has always been fascinating to me, because I can learn a lot about how or when I should use something based on what problem it solves when someone created it. Do you want to use Raft Consensus? Maybe, maybe not. What problem did they solve when they created Raft, that something else didnât solve? And then you can maybe make a better decision about which tool is the right one for you.
So those sorts of deep technical topics are something I also would love to bring to the show, and have people come on and talk about them. I had on one of my Spaces Eric Brewer, writer of the CAP theorem, and we were literally reviewing one of his papers. Not about CAP theorem, but about scaling like AOL services. And he joined the Space, and I was blown away that I can just have access to someone like Eric Brewer on a Twitter Space. Like, are you kidding me that? That amount of shrinking of what the internet is is fascinating to me, where itâs just like âOh, that was what was great about Twitter in the heyday of everyone was just there a lot of times.â And he showed up, and people were discussing it. And I learned a lot. I read the paper, we were talking about it⌠I said âHey, why did you do it this way?â Heâs like âOh, because of this other constraint.â We didnât even talk about the paper. âHere, let me tell you.â âOh, thatâs great to know.â I love those conversations.
Iâm looking forward to having more conversation on Ship It around those things, about âHey, this is what we said in the blog post about the outage⌠But hereâs the thing that we didnât say, or the constraint that we didnât know about at the timeâ, whatever it might be. Those are all areas that I would love to talk about.
This week weâre talking about Swift with Ben Cohen, the Swift Team Manager at Apple. We caught up with Ben while at KubeCon last week. Ben takes us into the world of Swift, from Apple Native apps on iOS and macOS, to the Swift Server Workgroup for developing and deploying server side applications, to the Swift extension for VS Code, Swift as a safe C/C++ successor language, Swift on Linux and Windows, and of course what The Browser Companyâs Arc browser is doing to bring Arc to Windows.
Matched from the episode's transcript đ
Ben Cohen: And more recently, we adopted Windows as an officially-supported platform. So that was actually a community effort. So it was driven by a member of the core team who actually now works for the Browser Company, who are themselves using Swift to bring their Mac and iOS browser to Windows. And they actually recently published an article where theyâre using Swift to wrap the Windows APIs. Theyâve actually got a really interesting implementation of COM, which is the way that Windows interoperates with its API, that integrates really natively with Swift.
I think one of the links I sent you, that maybe people can find online, is about how they believe - and we agree - that interoperability is one of Swiftâs superpowers. So one of the things that Swift can do is interoperate directly with C-based languages. So this was actually how we bootstrapped the original ecosystem for Apple devices. So on day one, you launch a language - it was there at WWDC; you could download it that day. But when you launch a language from scratch, it doesnât have an ecosystem, except Swift did from day one, because we have this ability to interoperate directly with C, and in Appleâs SDKâs case Objective-C. So when you import an Objective-C header file into Swift, it comes in and looks and feels like a Swift library. You can create the objects, you can call methods on them as if they were Swift-native methods.
[16:20] One of the things thatâs nice about the Objective-C ecosystem is that they had these really well-adopted naming conventions for their methods and their types. And that was really nice, because we were able to â Swift has also some great guidelines around how to name methods, but they werenât the same as Objective-C. But because the Objective-C ecosystem was so consistent, we were able to do some tricks where we basically renamed the methods, so that they actually come into Swift looking what people will refer to as Swifty. They feel natural. So that was actually the way that we bootstrapped the original ecosystem.
Now, sitting on top of Objective-C meant we also had to have C interop as well. And thatâs actually a really interesting opportunity on the server side, because obviously, we have folks who have written code that they felt had to be written in C. Like I was talking about right at the beginning, people who actually really, really need that low latency, high performance, they would usually pick C or C++. And I think in this day and age, unfortunately, thatâs something thatâs a real problem, because of the lack of safety in those languages. And the NSA, I think, about a year ago, put out a white paper urging people to start moving off of unsafe languages. And Swift was one of the safe languages that they suggested, as well as C#, Java, Rust⌠But we feel that Swift has two advantages in this area. One is if youâre going from C or C++, maybe you can afford to go to a managed language like Java, but maybe you canât. And so Swift, alongside Rust, has the ability to compile natively. But Swift has the advantage, one, that we think that the high-level feel of the language pays dividends in terms of productivity when you make the shift from C++ to Swift.
We actually have been slowly rewriting the compiler ourselves in Swift; when it first came out, it was all written in C++, obviously, because you canât self-host if you havenât got a language yet⌠But weâve been doing that migration and I was doing some work on our parser recently, and we have to do it twice at the moment, because we have the old parser and the new parser, before we swap the new one in⌠And itâs so much nicer to be writing in a higher-level language, that feels a lot more productive. So thereâs that advantage.
The other advantage is that Swift, actually as of last release, now has C++ interoperability, as well as C. And so similar to Objective-C, C++ types come in and look like native Swift types. You can call methods on them with Dart, and things like that⌠And we donât have â you often hear this term FFI, Foreign Function Interface, that a lot of other languages use to interoperate with C. So if you use Go or something like that, you have to create bindings, and then go through this FFI layer. Swift doesnât have that. We basically use the C compiler, Clang, thatâs also part of the LLVM project. It essentially is a library to bring in C API directly. And that means that we skip the FFI layer. That has an efficiency benefit, but it also means that we can really integrate those things nicely, and you donât have to generate bindings.
Now, why is that important? The key thing there is that means that just like with apps transitioning from Objective-C to Swift, if youâve got a big C++ server installation or library, you can do the migration essentially function by function, file by file. So itâs not a big bang rewrite⌠Which is normally where these kinds of initiatives go to die, right? Youâre like âOh, God, okay, weâve got this existing installation thatâs all written in C++âŚâ What are your choices? You can either break it up into microservices, which has consequences in terms of performance, and all sorts of things like that⌠Youâre gonna have to monitor multiple things⌠Or you can try and like smoosh your new language in this existing service together, and that ends up being pretty painful. With Swift, we think that itâs a much easier migration, because you can just directly interoperate with your C++ code as if it was native Swift code.
According to Solana Larsen: âToo often, it feels like we have lost control of the internet to the interests of Big Tech, Big Data â and now Big AI.â In the latest season of Mozillaâs IRL podcast (edited by Solana), a number of stories are featured to highlight the trailblazers who are reclaiming power over AI to put people first. We discuss some of those stories along with the issues that they surface.
Matched from the episode's transcript đ
Solana Larsen: Yeah, I think front of mind, a lot of people are curious now in a way that they werenât before. I mean, you must experience this on your podcast as well, that people now have this hunger to know about AI, where a couple of years ago they were like âOh, whatâs that? How does that concern me?â Now, everybodyâs like âThis really concerns me, what should happen.â And I think there are a bunch of areas where nobody is entirely sure what to do.
The first topic that we took on in episode one is around open source in large language models, this whole question where you have on the one side folks who are saying âItâs got to be open. We canât audit the models. We donât know whatâs happening with the data.â And then on the other, youâve got people saying that itâll be the doom of all of us, and everythingâs got to be shut down and closed for security purposes. And so you have these â I think a lot of discussion these days, itâs really polarized sometimes⌠And so itâs trying to figure out how do you make a nuanced argument that kind of explains not just different sides of the story, but just explaining how thereâs a spectrum. And thereâs a lot of AI topics that get sandwiched together just under this umbrella thatâs called AI, and itâs just so many different contexts, and so many different business purposes⌠It almost less and less makes sense to talk about it all as one thing. But weâre right on the cusp, where weâre still talking about it as one thing and weâre still trying to grapple with how we should regulate, how we should build, how we should design, what we should think about personally⌠And so itâs a really exciting moment to try and figure out those things.
[10:07] And the challenge as a podcast creator is that each of our episodes is like 20 minutes long. So we pack in three, four different voices, thereâs some really deep analysis⌠We work with our host, Bridgette Todd, whoâs great⌠A whole bunch of people work together on this thing, and itâs like this very highly-polished/produced, lovely kind of white paper in audio almost of a big issue, a big topic. So Iâm really proud of it. And last season, which was a little bit ahead of the curve in terms of talking about some of these AI issues, we actually won the Webby for Best Tech Podcast.
Model sizes are crazy these days with billions and billions of parameters. As Mark Kurtz explains in this episode, this makes inference slow and expensive despite the fact that up to 90%+ of the parameters donât influence the outputs at all.
Mark helps us understand all of the practicalities and progress that is being made in model optimization and CPU inference, including the increasing opportunities to run LLMs and other Generative AI models on commodity hardware.
Matched from the episode's transcript đ
Mark Kurtz: The part that Iâm most excited about is that generative AI space, specifically in being able to augment humans. Obviously, there are a lot of privacy concerns, and data concerns, and bias issues, and things like that in this, which I donât want to see LLMs deployed everywhere becoming a default response for like Google search, or something like that. But it is really exciting to see, even in my day to day, starting to use these actively to augment what Iâm doing around content generation, and framing, and things like that.
So thatâs one piece that Iâm really excited for. And with the work that weâre doing at Neural Magic, weâre especially looking at these, because one, we want to see that continue to grow in open source, and I think thatâs been the other push thatâs been really big, and really exciting to see, is that whenever GPT4 came out, it was completely privatized; theyâve put out a little white paper on it that had no details about it at all. A lot of data concerns and things like that within that. But the open source community has already released - and I can name probably ten models so far that have been released since then, that are ChatGPT-like, or GPT4-like. So itâs really exciting to see that.
I think the next stage from those open source models is going to be making them runnable anywhere, right? So you donât need this big GPU cluster farm to get something that is usable. And thatâs where weâre really looking at going. Weâre actively working on the LLM deployment issue right now, and hope to have something out in the next few weeks, next few months that people can start actively using, download it, they can run it anywhere they want, on any CPU, and itâll be just as fast as GPUs.
This week Peer Richelsen, Co-Founder and Co-CEO of Cal.com, joins the show to talk about building the âStripe for Timeâ â with a grand mission to connect a billion people by 2031 through calendar scheduling. Cal has grown from an open-source side project to one of the fastest-growing commercial open source companies. We get into all the details â what it means to be an open source Calendly alternative, how they quantify connecting a Billion people by 2031, where thereâs room for innovation in the scheduling space, and why being community first is part of their secret sauce.
Matched from the episode's transcript đ
Peer Richelsen: Yeah. I mean, we had a community before we had a product. When I started, back in the day, it was called Calenzo.com. I made pretty much like a visual white paper website where you could sign up for a waitlist, and that waitlist would also take you to Slack. So pretty much like, âHereâs what I want to build - an open source, developer-first Calendly alternative. If you think this is great, join our community.â And from that day on, weâve been nurturing our community with updates, we sometimes do Twitch streams where we live code new features, which obviously also only works for open source, and celebrate Product Hunt launches. Weâve been Product of the Day twice now with two different launches, Product of the Week, of the month, just because we have this super-powerful community. We have investors from our community who put in as little as $2,000 in our seed round.
I think itâs really hard to build a developer-first company without a community⌠Borderline impossible, in my opinion. And thatâs also why I donât think Calendly would be able to open source and then compete in the open source space, because open source is not just like leaked code. The Twitch codebase was leaked. That doesnât make it an open source company. Itâs the entire values and visions and theses and community engagement. So itâs a real mode itâs a real strong feedback loop for us. Itâs something we will always foster and prioritize. And also, obviously, it also helps us to do the right thing, because I think once you lose touch with your customer base, you may end up doing business decisions, like charging the wrong feature, or removing the wrong feature. And weâre always kept accountable by literally 2,000 people. Itâs like having a board of 2,000 customers that constantly tell you, âHey, we like this more than this.â Sometimes you need to go against it, for - well, good reasons, or some other reasons⌠But in general, itâs a really good guiding system to make the best decision.
Matan Peled from Technion University joins Natalie & Mat to discuss his PhD research on meta programming and static analyzers. How does Goâs measure up? What would Matanâs look like if he built one? All that and more!
Matched from the episode's transcript đ
Matan Peled: But on the other hand, code is very structured, itâs very hierarchical, it has properties⌠In order to compile, it has to be very strict in various ways. So giving up all that information, all that context is silly. You do wanna use it, and the (letâs call it) non-machine learning approach to static analysis, to dealing with code is called formal methods, which is basically taking ideas from logic and those sort of areas of math, and applying them to code. And thatâs where all the things like type checking and that come from, all the theory behind it.
I donât understand 100% how Copilot works. Iâve read their white paper, itâs very interesting⌠I donât think that the â on the one hand, one of the points of machine learning is that they donât do anything specific, they donât say âOh look, thereâs a type.â They want the machine learning to somehow learn that themselvesâŚ
This week weâre bringing JS Party to The Changelog â Mitch and Andrew from the 1Password team talk with Amal and Nick about the companyâs transition to Electron and web technologies, and how the company utilized its existing web stack to shape the future of its desktop experience.
Matched from the episode's transcript đ
Mitchell Cohen: I donât think any of it is fully replicated across anywhere else Iâve seen. We do document it, itâs in our white paper, so people are free to take a look at our whole architecture⌠But weâre really pioneering in so many areas here, especially over the past years, with our sharing features. And honestly, where weâll be a year from now - and weâre gonna get to that later - is even more exciting than what weâre able to talk about now.
This week weâre talking with Evan Weaver about Fauna â the database for a new generation of applications. Fauna is a transactional database delivered as a secure and scalable cloud API with native GraphQL. Itâs the first implementation of its kind based on the Calvin paper as opposed to Spanner. We cover Evanâs history leading up to Fauna, deep details on the Calvin algorithm, the CAP theorem for databases, what it means for Fauna to be temporal native, applications well suited for Fauna, and whatâs to come in the near future.
Matched from the episode's transcript đ
Adam Stacoviak: Cool. Evan, thanks for the deep-dive into all things Fauna. We really appreciate these technical deep-dives. Going back to the white paper, Dr. Abadi that youâve mentioned as a board member for you⌠Weâll link up the blog post that weâve kind of referenced to some degree in this call here, in our show notes. The Trust page, of course, and any other links we can think of that make sense⌠But Evan, thank you for your time. Itâs been awesome.
This week weâre bringing JS Party to The Changelog â Nick Nisi and Christopher Hiller had an awesome conversation with Luis Villa, co-founder and General Counsel at Tidelift. They discuss GitHub Copilot and the implications of an AI pair programmer and fair use from a legal perspective.
Matched from the episode's transcript đ
Luis Villa: [laughs] Yeah, you can still be a jerk. And I certainly think â GitHub talked in that white paper that I mentioned earlier that they are implementing⌠I donât know where this is out; I donât know if itâs rolled out or anything, but they mention that theyâre gonna try to implement some kind of âBy the way, it looks like this probably is not original. It probably came from this.â Putting aside whether or not thatâs legally necessary, you know, in terms of not being a jerk - like, hurray. GitHub should not be jerks. Theyâre an 800-pound gorilla, and I think maybe in their roll-out of this maybe one of the things here is they didnât reckon with the emotional â you know, the haft that they carry.
Theyâve been really good⌠Iâm not a Microsoft apologist. I literally got into open source in part because I was convinced that Microsoft was evil. Iâm still personally irritated at the Bill Gates image rehabilitation campaign⌠The guy has all this money to give to charity because he operated an abusive monopoly. Thatâs why he has so much money. So itâs nice that he gives it away, but letâs not forget that first part.
[48:05] So Iâm not a Microsoft apologist, but I think GitHub and Microsoft in the past few years have mostly done really well by open source⌠So I think maybe they got a little laurel resting, a little too comfortable here, and didnât fully think through how much this would really emotionally piss people off, even if the lawyers gave a full thumbs up.
Luis Villa of Tidelift joins the show to discuss GitHub Copilot and the implications of an AI pair programmer from a legal perspective.
Matched from the episode's transcript đ
Luis Villa: [laughs] Yeah, my little guyâs in camp, so⌠Yeah, you can still be a jerk, right? And I certainly think â GitHub talked, in that white paper that I mentioned earlier, that they are implementing⌠I donât know where this is at; I donât know if itâs rolled out, or anything⌠But they mentioned that theyâre gonna try to implement some kind of âBy the way, it looks like this probably is not original. It probably came from this.â Putting aside whether or not thatâs legally necessary - you know, in terms of like not being a jerk⌠Like, âHurray! GitHub should not be jerks, right?â Theyâre an 800-pound gorilla, and I think maybe in their rollout of this, I think maybe one of the things here is they didnât reckon with the emotional â
Dave Lacey takes Daniel and Chris on a journey that connects the user interfaces that we already know - TensorFlow and PyTorch - with the layers that connect to the underlying hardware. Along the way, we learn about Poplar Graph Framework Software. If you are the type of practitioner who values âunder the hoodâ knowledge, then this is the episode for you.
Matched from the episode's transcript đ
Daniel Whitenack: Yeah, awesome. Well, Dave, we really appreciate you joining us. This is super-fascinating. Iâm really excited by what Graphcore is doing. Weâll make sure and link a bunch of links in our show notes for listeners. Definitely check out what Graphcore is doing, read their white paper and all the information about the Poplar software framework; itâs really cool. And of course, the hardware.
I was just really enthused by the conversation, and I have a lot going on in my mind that I wanna think about more, so I appreciate that⌠Thank you for joining us, Dave.
Everyone is talking about it. OpenAI trained a pair of neural nets that enable a robot hand to solve a Rubikâs cube. That is super dope! The results have also generated a lot of commentary and controversy, mainly related to the way in which the results were represented on OpenAIâs blog. We dig into all of this in on todayâs Fully Connected episode, and we point you to a few places where you can learn more about reinforcement learning.
Matched from the episode's transcript đ
Chris Benson: Yeah, they created this approach which they called automatic domain randomization, where they systematically created that randomization as part of their training process⌠And it was done in simulation, as weâve been discussing. And it was interesting in that it was a technique that could increase the ability for the control policy to be able to generalize to the environment that itâs in. If they had not done that, for instance, and the articulated robotic hand had been maneuvering the Rubikâs cube around and any kind of interference was introduced - going back to your stuffed giraffe comment a little while ago, that could completely throw it off.
But if as part of the training process you are constantly introducing different types of interference in all sorts of different ways, and as part of its reinforcement learning process for its control policy it has to learn to cope with each of those forms of interference, then it is better able to generalize once youâve completed learning down the road. I was fascinated reading through their white paper on how they approach that. I think itâs a great next step.