SQL Indexes — #17

Welcome to Learning at Lambert Labs session #17. This week, Tom discusses indexes in the context of a SQL database, and how they can be used to improve query speed.

In today’s Learning Session:

  • Explanation of indexes, and how an indexed table compares to a non-indexed table
  • Clustered vs non-clustered indexes
  • Discussion of Tree data structures, including Binary Search Trees and B-trees
  • Overview of how B-trees are used as indexes
  • Demonstration of using an index to speed up queries

🔊 Subscribe to our channel for weekly learning sessions! https://www.youtube.com/channel/UCi7G5sY0IWqSNUMnRptuJmw 🔗

Lambert Labs Links 🔗 :

🌎 Website: https://www.lambertlabs.com

📱 Twitter: https://twitter.com/lambertlabs

📝 LinkedIn: https://www.linkedin.com/company/lambertlabs

📂 GitHub: https://github.com/lambertlabs

Introspection and Control Flow in Python — #16

Welcome to Learning at Lambert Labs session #16. This week, Amelia discusses the concept of introspection and how it can be applied in Python, as well as diving into control flow graphs and their use cases.

In Today’s Learning Session:

  • What are introspection and reflection?
  • How to examine Python code at runtime
  • How to disassemble Python code
  • Control flow graphs, and how to construct them in Python
  • Q&A from our developers!

🔊 Subscribe to our channel for weekly learning sessions! https://www.youtube.com/channel/UCi7G5sY0IWqSNUMnRptuJmw 🔗

Lambert Labs Links 🔗 :

🌎 Website: https://lambertlabs.com/​​

📱 Twitter: https://twitter.com/lambertlabs​

📝 LinkedIn: https://www.linkedin.com/company/lambertlabs/

📂 GitHub: https://github.com/lambertlabs​​

Websocket APIs — #15

Welcome to Learning at Lambert Labs session #15. This week, Ramin explains what a Websocket API is, how it compares to the alternatives such as REST and GraphQL, and how to implement one for a real application.

In Today’s Learning Session:

  • What is a Websocket API
  • How these APIs differ from the alternatives e.g. REST, GraphQL
  • Receiving data from a Websocket
  • Implementing a Websocket API in JavaScript, both locally and on AWS API Gateway
  • Q&A from our developers!

🔊 Subscribe to our channel for weekly learning sessions! https://www.youtube.com/channel/UCi7G5sY0IWqSNUMnRptuJmw 🔗

Like and comment on our other videos and posts and if you find want to learn more about the technologies shown in this video, check out our Technologies page!

Lambert Labs Links 🔗 :

🌎 Website: https://lambertlabs.com/​​

📱 Twitter: https://twitter.com/lambertlabs​

📝 LinkedIn: https://www.linkedin.com/company/lambertlabs/

📂 GitHub: https://github.com/lambertlabs​​

What is WSGI? – #14

Welcome to Learning at Lambert Labs session #14. This week, Tom Kobialka, explains how to build the world’s simplest web application and how WSGI protocol helps web servers and Python frameworks communicate.

In Today’s Learning Session:

  • In Today’s Learning Session: –
  • What is WSGI? –
  • http Python standard library package –
  • What is an application? What is a server? What is an interface? –
  • Gunicorn, WSGI web server implementation for UNIX-like OS
  • Pre-fork worker model
  • Concurrent requests
  • Q&A from our developers!

🔊 Subscribe to our channel for weekly learning sessions! https://www.youtube.com/channel/UCi7G5sY0IWqSNUMnRptuJmw

Like and comment on our other videos and posts and if you find want to learn more about Python, check out our Python page!

How to use callbacks to set State in React? – #13

Welcome to Learning at Lambert Labs session #13. This week, Guy King, explains how React updates State asynchronously in a component.

In Today’s Learning Session:

  • What is State in a React component?
  • useState hook in React 16+
  • Callbacks for setting State
  • Why use callbacks?
  • Normal case vs. unexpected case with setTimeout
  • When should you bother with callbacks for asynchronous updates to State
  • Q&A from our developers!

🔊 Subscribe to our channel for weekly learning sessions! https://www.youtube.com/channel/UCi7G5sY0IWqSNUMnRptuJmw

If you’re interested in how Lambert Labs might use React or other web app technologies, check out our Portfolio!

How to use asyncio in Python to achieve concurrency? — #12

Welcome to Learning at Lambert Labs session #12. This week, Rafiq Hilali, takes us asyncio, part of the Python standard library, and how you can use it to achieve concurrency with asynchronous coroutines.

In Today’s Learning Session:

  • Different types of concurrency (threading, multiprocessing, asynchronous coroutines).
  • What are asynchronous coroutines?
  • When should you use asyncio?
  • Demo using app that uses IP address to find local weather
  • aiohttp client framework for asynchronous requests.
  • asynchronous vs. synchronous.

🔊 Subscribe to our channel for weekly learning sessions! https://www.youtube.com/channel/UCi7G5sY0IWqSNUMnRptuJmw

Like and comment on our other videos and posts and if you find want to learn more about Python, check out our Python page!

How to automatically type annotate your Python code? – #11

Welcome to Learning at Lambert Labs session #11. This week, our founder George Lambert, takes us through the runtime typing checking with MonkeyType (made by Instagram) and how you can use it to make your code more readable.

MonkeyType

In Today’s Learning Session:

  • History of dynamic and static typing in Python
  • Argument names, docstrings and the typing modules
  • Problem: old legacy code is hard to type
  • Solution: use MonkeyType to generate typing stubs or even annotate your code.
  • Example usage and demo
  • Q&A from our developers – how does MonkeyType deal with more generic or abstract types?

🔊 Subscribe to our channel for weekly learning sessions! https://www.youtube.com/channel/UCi7G5sY0IWqSNUMnRptuJmw

Like and comment on our other videos and posts and if you find adding Type Annotations in Python interesting, check out our Python page!

How to generate code using Machine Learning? – Learning at Lambert Labs #10

Welcome to Learning at Lambert Labs session #10. This week, Tom Schafer shows us how to train machine learning models on language and actually produce code snippets using trained neural networks.

In Today’s Learning Session:

  • Quick breakdown of neural networks, deep learning and transformers
  • What are language models?
  • Demonstration of language model using Keras library
  • Training and testing the model using Django docs
  • OpenAI GPT3 trained model introduction from OpenAPI
  • GPT3’s own news article
  • Code generation: Python, React, SQL
  • Industry disrupting / ethics of machine learning?
  • Q&A from our developers

🔊 Subscribe to our channel for weekly learning sessions! https://www.youtube.com/channel/UCi7G5sY0IWqSNUMnRptuJmw

Like and comment on our other videos and posts and if you find Machine Learning in Python interesting, check out our Python page!

How to use C from Python? — Learning at Lambert Labs #9

Welcome to Learning at Lambert Labs session #9. This week, Amelia Crowther, explains how to use pre-existing C code from Python modules.

In Today’s Learning Session:

  • Reasons to use C code from Python (old legacy apps, performance, access to the C standard library)
  • Two methods: ctypes and creating a C extension
  • Demo using ctypes
  • ctype function annotations
  • Creating a C extension module
  • Demo using setup.py to create a C extension
  • Q&A from our developers!

If you want to learn more about the software we build using Python, check out our Python page.

🔊 Subscribe to our channel for weekly learning sessions! https://www.youtube.com/channel/UCi7G5sY0IWqSNUMnRptuJmw

How to use Cython? — Learning at Lambert Labs #8

Welcome to Learning at Lambert Labs session #8. This week, Aaron Elijah gives an introduction to using the Cython project to overcome bottlenecks in Python applications.

In Today’s Learning Session:

  • CPython PyObjects.
  • Machine code vs. Bytecode.
  • Python garbage collection and CPU caching.
  • Introduction to Cython programming language.
  • Advantages of Cython vs. Python
  • Demo with Flask and Mandelbrot sets.
  • Profiling Cython and adding static types.

Learn more about how we optimise real-world applications on our Python page.

🔊 Subscribe to our channel for weekly learning sessions! https://www.youtube.com/channel/UCi7G5sY0IWqSNUMnRptuJmw