ProgrammingPro #14: OpenAI Turns Off ChatGPT Browsing Feature, 200 Case Studies on ML System Design, and GoReleaser v1.19
Bite-sized actionable content, practical tutorials, and resources for programmers.
Hi,
I hope you’ve been doing well. Welcome to another exciting issue of the ProgrammingPro newsletter where we detail the most relevant industry insights, practical tutorials, and useful resources for developers and software engineers. Let’s jump straight into it!
In this edition, we’ll discuss What the European AI Act Means for You, AI Developer, OpenAI Turns Off ChatGPT Browsing Feature, announcement of GoReleaser v1.19, and Using LLMs to Extract Structured Data.
We’ve packed in a bunch of great programming resources, secret knowledge, and tutorials on 200 Case Studies on ML System Design, How to Flatten a List of Lists in Python, and Zygo - A Lisp Interpreter in 100% Go.
Also, in today’s issue:
TechWave: News and Analysis
Secret Knowledge: Learning Resources
HackerHub: Tools and Launches
Tutorials and Guides
My promise with this newsletter is to act as your personal assistant and help you navigate and keep up-to-date with what's happening in the world of software development. What did you think of today's newsletter? Please consider taking the short survey below to share your thoughts and you will get a free PDF of the “The Python Workshop” eBook upon completion.
Thanks for reading.
Kartikey Pandey
Editor-in-Chief
Tell Us What You Think, Get a Packt eBook Free!
5 Days of Free Access - Coming Soon
Whether you're looking to break into a new field or upskill to access better opportunities, the Packt library can help. With thousands of titles (and dozens more added every month), you can explore whatever tickles your fancy.
Visit our platform, browse, and watch out this space for next announcement to get access to our full catalogue for free.
⚡ TechWave: News and Analysis
OpenAI Turns Off ChatGPT Browsing Feature: OpenAI has temporarily disabled "Browse with Bing" on its ChatGPT service, citing concerns that the AI was inadvertently bypassing paywalls and privacy settings. OpenAI insists this move was made to respect content ownership rights, with a return of the browsing feature planned after necessary adjustments.
Announcing GoReleaser v1.19: The Big Release: GoReleaser, the tool for releasing Go projects announced its latest release. It offers cross-compilation, release to systems like GitHub and GitLab, nightly builds, Docker image creation, packaging, and more. v1.19 improves support for Nix, Winget, Homebrew, Krew, and Scoop, among other things.
10 Lesser-Known Programming Languages Revolutionizing Tech: These ten underappreciated programming languages are silently revolutionizing the tech industry. The next time you think of programming languages, remember the hidden iceberg and the wonders that lie beneath the surface.
Remotion 4.0 Released: Remotion v4 has been released. Remotion is a way to make videos programmatically using React. It introduces Remotion Studio, a way to interactively edit props of your React app and render assets quickly. It also features Rust-powered architecture, PDF and WebP generation support, and more.
What the European AI Act Means for You, AI Developer: This Act is the world's first legislation on artificial intelligence, similar to GDPR but for AI. It introduces definitions for 'foundation models' and 'general-purpose AI systems' and sets out dos and don'ts for AI practices. The Act also focuses on trustworthy AI development and includes obligations for high-risk AI systems. The legislation is currently going through final negotiations.
📚 Secret Knowledge: Learning Resources
4 Tips Developers Can Use in Their Next Job Search: This article offers 4 tips that will help you find your next role that will allow you to thrive as a developer. As a developer, thriving means you’re truly supported, motivated, and able to do your best work–and it significantly predicts how productive you can be at work.
What’s the Deal With CPython, Pypy, MicroPython, Jython…? This comprehensive article introduces you to all the different ways you can Python. CPython isn’t the only choice, learn what else is out there and why you might choose an alternative.
Training your Own LLM using PrivateGPT: The main worry of using public AI services is the risk of exposing confidential company data to an external service provider. This is the main concern causing companies to step backward from adopting AI technologies. In this tutorial , we will learn about privatGPT , a Language Model (LLM) similar to Chat GPT. The main advantage is that it is based on your custom training data, without sacrificing data privacy.
Implementing a Distributed Key-Value Store in Go: This article is all about getting up to speed with the Raft consensus algorithm and goes into serious depth on using it along with Go as the basis for a distributed key-value store.
Google’s Large Sequence Models for Software Development: Google has recorded every change to its code base for decades, including rich descriptions, changes, and fixes. They treat this as a sequence modeling problem and create a set of robust internal tools that can help software engineers be more productive.
Using LLMs to Extract Structured Data: OpenAI Function Calling in Action: Here’s a hands-on article that explores the Function Calling capability OpenAI recently released. The article uses an example to use Large Language Models (LLMs) to extract structured data from unstructured Kaggle competition write-ups. The process involves defining a function for structured output, designing a prompt for extraction, and handling API rate limits.
System Design Course: This useful repository offers a complete deep dive into system design, teaching readers how to design systems at scale and prepare for system design interviews.
🔍 HackerHub: Tools & Launches
Watermill - A Library for Building Event-Driven Apps: A library for working with message streams (over numerous channels like Kafka, RabbitMQ, HTTP or even MySQL binlogs) to build event driven apps.
ChainForge: ChainForge is an open source visual programming environment for battle-testing prompts to LLMs. ChainForge is a data flow prompt engineering environment for analyzing and evaluating LLM responses.
Macaw-LLM: Macaw is a multi-modal language modeling by seamlessly combining image, video, audio, and text data, built upon the foundations of CLIP, Whisp.
griptape: A modular Python framework for LLM workflows, tools, memory, and data. griptape can be used to build sequential LLM pipelines and sprawling DAG workflows, augment LLMs with chain of thought capabilities and external tools, and add memory to AI pipelines.
Tempo: Tempo allows you to easily build & consume low-latency, cross-platform, and fully typesafe APIs.
Graph 0.20 - Generic Library for Creating Graph Data Structures: Graph supports different kinds of graphs such as directed graphs, acyclic graphs, or trees. It’s basically a library for creating generic graph data structures and modifying, analyzing, and visualizing them.
Zygo: A Lisp Interpreter in 100% Go: “Written in Go and plays nicely with Go programs and Go structs,” it could provide you with an interesting way to provide a DSL within Go apps.
✨ Tutorials and Guides
ML System Design: 200 Case Studies: A collection of links to 200 different blog posts / case studies from leaders in the ML space. Learn how companies such as Netflix and Airbnb implement and use ML in their organizations.
Full Stack Developer Guide: If you want to become a Full Stack Developer but find yourself lost among the different resources or don’t know of where to begin, this step-by-step guide can work as your mentor. The newly released roadmap is specifically designed for absolute beginners. It guides you through each concept, starting from the very basics, with resources, examples, and projects at a detailed level.
Large Language Models - A Complete Guide: Here’s a great guide for anyone interested in learning the current state-of-art techniques for using LLMs effectively. It dives into training, optimizing, and unlocking the power of natural language processors. It explains the process of training LLMs, including data preparation, model architecture design, model training, evaluation, deployment, and monitoring in a production environment. It also dives into strategies to improve the accuracy, generalization ability, and performance of LLMs.
Using k-Nearest Neighbors (kNN) in Python: In this video course, you’ll learn all about the k-nearest neighbors (kNN) algorithm in Python, including how to implement kNN from scratch. Once you understand how kNN works, you’ll use scikit-learn to facilitate your coding process.
System Design Course: This useful repository offers a complete deep dive into system design, teaching readers how to design systems at scale and prepare for system design interviews.
How to Flatten a List of Lists in Python: In this tutorial, you’ll learn how to flatten a list of lists in Python. You’ll use different tools and techniques to accomplish this task. First, you’ll use a loop along with the .extend() method of list. Then you’ll explore other tools including reduce(), sum(), itertools.chain(), and more.