Hacker Dojo Python Group
About
Hacker Dojo is a collaborative hackerspace in Silicon Valley where tech enthusiasts gather to build, experiment and improve. The Hacker Dojo Python Group is a group of people interested in learning more about developing in the Python programming language.
We meet every Tuesday night at 6:30 at the Hacker Dojo in Mountain View, CA. Our discussions usually start with a specific topic such as a programming technique, Python language features, or a new module or library. Some nights are good for beginners just learning Python and some get pretty advanced. The first Tuesday of the month is usually a beginner topic. We usually follow the threads of our conversation off into whatever questions or tangents interest the group that night. The discussions are usually hosted by me, Peter Theobald, or by one of our regular members.
Between meetings, come chat about your Python questions in the Python channel in the Hacker Dojo Discord. We announce our meetings on the Hacker Dojo Meetup page.
The meetings are oriented around in-person conversations gathered together at the Hacker Dojo, but we do usually stream the meetings in the Hacker Dojo Discord ‘Dojo Voicebox’ channel, although remote is not ideal because it can be hard to catch everyone’s comments and it is harder to ask questions.
A formatted and styled version of this webpage lives here.
Ideas for upcoming meeting topics:
- CircuitPython/MicroPython on controllers (Raspberry Pico)
- FastHTML web framework
- Regex deep dive
- revisit core topics (see history below)
- python project organization (folders, pyproject.toml, modules etc)
- git, source control
- testing with GreatExpectations
- PyDantic and AI
- Python multithreading GIL and Gil-less
- Troubleshooting memory leaks
- Multithreaded programming, locks and thread safety
Share more ideas in our Discord channel!
Calendar of meeting topics:
Coming Up:
- 2025-05-20 Web scraping dynamic websites
Past meetings:
- 2025-05-13 Object Oriented Design Patterns
- 2025-05-06 Python classes and Object Oriented programming
- 2025-04-29 Unicode, bytes, bytearray, memoryview
- 2025-04-22 Graphical Interfaces Tk, Gooey, NiceGUI
- 2025-04-15 Namespaces, Scope, Closures and Decorators
- 2025-04-08 The RUFF linter and formatter tool - Chris
- 2025-04-01 Building Text to Speech website www.advisee.ai with AI workflow best practices - Sam Mirazi
- 2025-03-25 Making command line tools for text file processing and automation
- 2025-03-18 AI MCP Model Concept Protocol and Cursor.ai - Micah Alpern
- 2025-03-11 Design Patterns and Object Oriented class design - Slava Zinevich
- 2025-03-04 UV python environment tool
- 2025-02-25 Creating and manipulating PDFs with Python
- 2025-02-18 Simulated Annealing to solve complex optimization problems
- 2025-02-11 Demo of Cursor.ai AI enhanced IDE
- 2025-02-04 First Tuesdays for Beginners: Python data types. We peek under the hood at how Python stores scalars and sequences, immutibles and mutables
- 2025-01-28 Logging
- 2025-01-21 Make a simple videogame from scratch with PyGame
- 2025-01-14 Serialization for data persistence and transmission, CSV, JSON, Pickle, DBM, Protobuf, and more
- 2025-01-07 Python Power Tools, huge results with minimal code: ORTools, Gooey, Seaborn, Streamlit, etc
- 2024-12-31 .. no meeting - holiday
- 2024-12-24 .. no meeting - holiday
- 2024-12-17 Itertools, Functools, Toolz Part 2
- 2024-12-10 Machine Learning - John Hanley
- 2024-12-03 Itertools, Functools, Toolz
- 2024-11-26 GraphQL - Kelvin Shi
- 2024-11-19 REST APIs
- 2024-11-12 Generators as pipelines - John Hanley
- 2024-11-05 Python NamedTuples, Dataclasses and Classes
- 2024-10-29 Cursor (AI IDE) - Sam Mirazi
- 2024-10-22 BAML AI apps - Gintautas Svedas
- 2024-10-15 Modern Python Toolset: uv, pyright, ruff, pytest, pydantic, etc.
- 2024-10-08 Streamlit vs Mesop - Kelvin Shi
- 2024-10-01 Iterators, Generators, Dunder Methods
- 2024-09-24 Talk from PyBay, SSE vs. WebSockets, OR-Tools Constraint Based Solver - John Hanley, Peter Theobald
- 2024-09-17 Python Culture - John Hanley
- 2024-09-10 Interactive Visualization with IPyWidgets - Kelvin Shi
- 2024-09-03 Building a WebSockets/HTMX chat app
- 2024-08-27 SEC API - Juan Flores
- 2024-08-20 Pandas vs Polars - Kelvin Shi (also a demo from Mesibo)
- 2024-08-13 Jinja2 - Fred Cox
- 2024-08-06 HTMX - John Hanley
- 2024-07-30 Python EDA - Kelvin Shi
- 2024-07-23 FastAPI / Pydantic - Fred Cox
- 2024-07-16 Unit Testing - Blaise Pabon
- 2024-07-09 Python Profiling - Kelvin Shi
- 2024-07-02 Geocoding, streamlit and more - John Hanley
- 2024-06-25 speed shootout: CPU bound - memoize, dict>binarytree>list, profiling, cpython/numpy/pypy/numba/cython/codon
- 2024-06-18 using Git with Github, pull requests; Visualization library Seaborn used to graph last week’s speed shootout results. - John Hanley
- 2024-06-11 speed shootout: IO bound - sequential, async, multi-threading, multi-processing
- 2024-06-04 HTMX for websites
- 2024-05-28 Web Scraping Pt.2 - Selenium, XPath
- 2024-05-21 Web Scraping Pt.1 - Requests, Beautiful Soup, Mechanical Soup, HTML, DOM, XPath
- 2024-05-14 command line programs (argument parsing, graphic interfaces, terminal interfaces) argparse, gooey,
- 2024-05-07 git - Kevin V
- 2024-04-30 concurrency 4: Multiprocessing
- 2024-04-23 PyTest
- 2024-04-16 Concurrency 3: Multi-threading
- 2024-04-09 file operations
- 2024-04-02 All about strings
- 2024-03-26 Python development best-practices
- 2024-03-19 bioinformatics, machine learning , numpy, pandas, and scikit-learn - Jessica
- 2024-03-12 setting up a Python environment with Conda, database from IMDB and processed it with Pandas and SQLAlchemy - John Hanley
- 2024-03-08 classes and objects
- 2024-02-27 misc
- 2024-02-20 Python packages
- 2024-02-13 concurrency 2: Starting, controlling, interactive with and stopping sub-processes from Python
- 2024-02-06 “intro to Python data structures - How are they different than Java,Javascript, C++ etc”; Pip, Poetry,
- 2024-01-30 NICEGui instant web sites
- 2024-01-23 SQL Alchemy
- 2024-01-16 SQL databases (SQLite), replit-DB (document db)
- 2024-01-09 Iterables, List Comprehensions, Generators; Python modules, packages; classes with custom operators (dunder add)
- 2024-01-02 Lambdas (anonymous functions), tk GUI
- 2023-12-19 misc
- 2023-12-12 misc
- 2023-12-05 Concurrency 1: Async
- 2023-11-28 LeetCode style problems
- 2023-11-14 functional programming and functools
- 2023-11-07 misc
- 2023-10-24 misc
- 2023-10-17 Recursion. Regex.
- 2023-10-10 Decorators
- 2023-10-03 Sudoku Solver - Javascript frontend
- 2023-09-26 Sudoku Solver pt. 2 - flask REST API backend server
- 2023-09-19 Sudoku solver, solving grid algorithm
- 2023-09-12 Regex
- 2023-09-05 Leetcode problems, setting up Python environment, jupyter Notebooks
- 2023-08-29 Loading CSV, Excel, LeetCode problem
- 2023-08-22 LeetCode problem ‘Max Pair Sum in an Array’, Python type hinting
- 2023-08-15 misc
- 2023-08-08 data classes named tuples classes
- 2023-08-02 requests, using Reddit API, JSON encoding decoding
- 2023-07-26 Data Types: functions vs generators, list comprehensions and generator comprehensions, some other data types such as DefaultDicts, stacks, deques, etc, when to use tuples, dicts, namedTuples, dataclasses or classes
- 2023-07-19 misc
- 2023-07-05 misc
* if no name is listed the speaker is Peter Theobald