The Changelog: Software Development, Open Source - OpenAI's new text classifier, teach yourself CS, programming philosophies are about state, you might not need Lodash & overrated scalability (News)

Episode Date: February 6, 2023

OpenAI's working on an AI classifier trained to distinguish between AI-written and human-written text, Oz Nova and Myles Byrne created a guide to teach yourself computer science, Charles Genschwap rec...ently realized that all the various programming philosophies can be boiled down into a simple statement about how to work with state, you probably don't need Lodash or Underscore anymore & Waseem Daher thinks scalability is overrated.

Transcript
Discussion (0)
Starting point is 00:00:00 What up, nerds? I'm Jared, and this is Changelog News for the week of Monday, February 6th, 2023. Thanks to everyone who weighed in on our decision about upgrading this Monday News Brief to its own podcast. We are going to go for it. Somebody stop me. I was kind of overwhelmed by how much feedback we received. I love hearing from y'all. It gives me those warm, fuzzy community vibes. Keep the messages coming, please. Speaking of community, Thomas, AJ, Mary, and a few others in our Slack
Starting point is 00:00:40 had some fun brainstorming a new name for the spinoff. Meme Cached, The Fix, The News Log, and Hyper Log Log were all fun suggestions. We do have a name picked out for it, but we're not ready to share it quite yet. Oh, and if you aren't hanging out in our Slack, let's fix that bug. Join 6,300 of your fellow devs who've already signed up. It's free, the signal-to-noise ratio is excellent, and it's just a the signal-to-noise ratio is excellent, and it's just a really nice place to hang your hat and feel at home on the web. Get in on it at changelog.com slash community. Okay, let's get into the news. OpenAI announced
Starting point is 00:01:17 on Tuesday that it's working on an AI classifier trained to distinguish between AI written and human written text, but it's not very good at it. You're mad at me. I'm not mad. I'm just disappointed. Oh, come on. Everyone knows that's worse. In their evaluations, the classifier correctly identified 26% of AI written text while incorrectly labeling human written text as AIwritten 9% of the time. This looks to me like the beginning of yet another cat-and-mouse game, but this time OpenAI is playing the roles of both Tom and Jerry. Text isn't the only battlefront in this generative AI arms race. We see the same game being played in video, where GANs,
Starting point is 00:02:08 generative adversarial networks, are being used to create deepfakes, and other GANs are being used to detect deepfakes. What I haven't seen yet, and let me know if you have, is any efforts to detect AI-generated code. Sounds like a hard problem to solve. Maybe someday AI will get so good at generating code that you can detect a human having written it merely by the presence of bugs. Oz Nova and Miles Byrne from Bradfield School of Computer Science have published a guide to teach yourself computer science. This is perfect for boot camp grads and self-taught engineers who can get the job done, but would benefit from deeper knowledge of core computing concepts.
Starting point is 00:02:49 Oh, back to school, back to school, to prove to dad that I'm not a fool. I got my lunch packed up, I love this for two reasons. One, we had Oz on the show a few years back, and I'm convinced that he's a legitimately good teacher of this stuff. Two, as it says on their website, there are so many resources out there these days, but some are better than others, and you usually don't want another listicle of them. What you do want is answers to these questions.
Starting point is 00:03:26 Which subjects should I learn and why? And what is the best book or video lecture series for each subject? TeachYourselfCS.com is their attempt to definitively answer these questions. The TLDR of the guide is the following. Quote, study all nine subjects listed below in roughly the presented order using either the suggested textbook or video lecture series, but ideally both. Aim for 100 to 200 hours of study for each topic, then revisit favorites throughout your career. Charles Genschwap recently realized that all the various programming philosophies can be boiled down into a simple statement about how to work with state.
Starting point is 00:04:06 For example, object-oriented programming says modifying a lot of state at once is hard to get correct. Encapsulate subsets of state into separate objects and allow limited manipulation of the encapsulated substate via methods. Meanwhile, functional programming says modifying state is hard to get correct, so keep it at the boundaries and keep logic pure so that it's easier to verify that the logic is correct. Charles goes on to apply this state-oriented thinking to declarative programming, imperative, monoliths, microservices, and service-oriented architecture. It's an interesting thought experiment, if nothing more, and it does show how difficult it is to reason about
Starting point is 00:04:48 and manage the state of things in our programs. This just in, you probably don't need Lodash or Underscore anymore. They are solid JavaScript utility libraries and are widely used by front-end devs, but modern browsers have built in many of the utilities that they provide. Depending on what you're up to, you just might not need them. To help you make that determination, the You Don't Need community has put together a list of JS methods which you can use natively plus an ESLint plugin
Starting point is 00:05:27 that will help you identify places in your code base where they're no longer needed. Now if you're working server-side with Node or Deno, pulling in a utility library is a relatively low-cost endeavor. But remember, any code you ship down the wire to web clients incurs network and CPU costs that should be avoided if at all possible. So if you're using Lodash or Underscore, especially in your front end, check out this list to make sure you really need to be. Wasim Dahar is the CEO of Pilot.com and he still personally emails every new customer and offers to get on a call with each of them. Many startup founders balk at this, especially because he does it entirely manually. Wasim says this about their reactions.
Starting point is 00:06:19 Quote, this reaction is an example of a prevalent founder behavior, a tendency to think that everything needs to be made scalable, and therefore you either need to A, simply not do unscalable things, or B, build processes that let you do them more scalably, end quote. He's talking about scaling a business, but all the same principles apply to software. Because seriously, name a business that isn't built on software these days. Some things should be built to scale. Other things shouldn't. Deciding which is which is often the hard part. We had a great discussion about this with Rachel Potvin, who has scaled engineering teams to huge sizes at both Google and GitHub. I asked her precisely this question
Starting point is 00:07:00 about knowing when to build for scale and when not to, that episode drops on Friday, February 17th. That is the news for now. If you're excited about our upcoming changes to the show or are concerned you'll miss the transition, don't worry about it. We'll make sure everyone is informed as we roll things out. Oh, and hop on the master feed or changelog++ if you're nasty, and you'll automatically get every episode of every podcast we produce. We'll be back in your ear holes on Friday with Nathan Sobo, one of the primary developers of GitHub's now defunct Adam Editor. Adam may be dead, but Zed is not dead.
Starting point is 00:07:39 Who's Zed? Zed's dead, baby. Zed's dead. Have a great week, and we'll talk to you again real soon.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.