45 episodes

《捕蛇者说》是一档以编程为主题的聊天节目。我们会聊聊编程、程序员和 Python。

捕蛇者‪说‬ pythonhunter

    • Technology
    • 4.4 • 26 Ratings

《捕蛇者说》是一档以编程为主题的聊天节目。我们会聊聊编程、程序员和 Python。

    Ep 40. Rust 和 PyO3:让 Python 再次伟大 🦀 ❤️ 🐍

    Ep 40. Rust 和 PyO3:让 Python 再次伟大 🦀 ❤️ 🐍

    嘉宾
    Messense

    主播

    laixintao
    小白
    Adam Wen
    laike9m

    链接

    PyO3


    PyO3 有哪些应用?


    polars: Fast multi-threaded DataFrame library in Rust | Python | Node.js.
    pydantic-core: Core validation logic for pydantic written in Rust.
    cryptography: Python cryptography library with some functionality in Rust.
    orjson: Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy


    PyO3 前身:rust-cpython


    Maturin: Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages


    What Are Python Wheels and Why Should You Care?


    PEP 517 – A build-system independent format for source trees


    Ruff: An extremely fast Python linter, written in Rust.


    typos: Source code spell checker


    ChatGPT 写的 Rust 调用 Python C-API 的例子

    use std::os::raw::{c_char, c_int};

    use std::ffi::CString;

    use libc::{c_double, c_void};



    #[link(name = "python3.8")]

    extern "C" {

    fn Py_Initialize();

    fn Py_Finalize();

    fn Py_BuildValue(format: *const c_char, ...) -> *mut c_void;

    }



    fn main() {

    unsafe {

    // 初始化 Python 解释器

    Py_Initialize();



    // 构建一个 Python 元组对象,并打印它

    let x = 1.23 as c_double;

    let y = 4.56 as c_double;

    let format = CString::new("dd").unwrap().as_ptr();

    let result = Py_BuildValue(format, x, y);

    let s = CString::from_raw(result as *mut c_char).into_string().unwrap();

    println!("{}", s);



    // 关闭 Python 解释器

    Py_Finalize();

    }

    }






    pyo3-ffi: Python-API bindings for the PyO3 ecosystem


    在 PyO3 里通过 allow_threads 关掉 Python GIL


    pybind11 — Seamless operability between C++11 and Python


    Cython


    CFFI: C Foreign Function Interface for Python. Interact with almost any C code from Python, based on C-like declarations that you can often copy-paste from header files or documentation.


    zig cc: a Powerful Drop-In Replacement for GCC/Clang


    wechatpy: 微信公众平台第三方 Python SDK


    OrbStack: Fast, light, simple Docker & Linux on macOS


    FancyWM - a dynamic tiling window manager for Windows 10/11


    CSAPP: Computer Systems: A Programmer's Perspective


    APUE: Advanced Programming in the UNIX® Environment


    提到的读书撕书的灵感来自于:李敖先生


    吴恩达 prompt engineering 课程:

    ChatGPT Prompt Engineering for Developers


    Kiwi 浏览器

    • 1 hr 17 min
    Ep 39. 和 Alex 聊聊向量数据库与职业规划

    Ep 39. 和 Alex 聊聊向量数据库与职业规划

    如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter

    嘉宾

    Alex

    主播

    小白
    laike9m

    时间轴

    00:00:30 开场
    00:00:59 嘉宾自我介绍
    00:02:55 [第一部分]向量数据库 milvus 简介
    00:07:35 向量数据库的「向量」代表什么以及其应用场景
    00:14:16 原始数据到向量数据的转化
    00:15:42 不同方式产生的向量数据格式是否相同、能否混用
    00:19:04 milvus 存储向量数据的方式以及应用场景描述
    00:25:59 怎样利用 milvus 进行向量数据查找
    00:27:46 向量数据库存在的必要性
    00:33:56 milvus 商业化道路讨论
    00:41:57 [第二部分]嘉宾加入当前公司的契机是什么
    00:52:54 在三类不同阶段的公司工作分别的工作体验是怎样的
    00:53:41 小白:未融资的初创公司
    00:57:39 Alex:已经融资进入正轨的创业公司
    01:04:02 laike9m:Google
    01:08:30 Alex:one more thing
    01:12:13 好物分享
    01:17:04 结语

    相关链接

    00:00:47 zilliz
    00:00:53 milvus
    00:04:26 milvus start history in github
    00:06:04 Facebook(Meta) faiss
    00:06:21 Elasticsearch
    00:06:24 Lucene
    00:06:47 Google scann
    00:06:50 Microsoft DiskANN
    00:09:11 Embedding 维基百科 | 国内网络中没有找到权威解释这里引用一篇博文 embedding 的原理及实践
    00:10:03 以图搜图 | 百度搜图 | Google 的话在 goole.com 的搜索栏旁边有一个相机的图标点击就能使用
    00:14:50 Hugging Face
    00:14:58 towhee
    00:36:22 Databricks
    00:45:47 B站:李自然说
    01:04:23 A career ending mistake
    01:12:37 AnimeGANv2
    01:14:48 nintendo switch sports
    01:16:35 古明地觉-博客园 | 里面有公众号的图片 | 古明地觉-知乎

    • 1 hr 18 min
    Ep 38. 和 Frost Ming 聊聊 PDM

    Ep 38. 和 Frost Ming 聊聊 PDM

    PDM(Python Development Manager)是由 Frost Ming 开发的一款 Python 包管理工具。

    本期由于一些技术原因,声音效果可能欠佳,还请各位听众见谅。

    嘉宾
    Frost Ming

    主播

    laike9m
    laixintao

    章节

    00:00:19 PDM 介绍
    00:03:13 Python 包管理的历史, pyproject.toml, lockfile
    00:11:48 Wheel 格式, Python 打包和安装的过程
    00:20:00 为什么用户应该选择 PDM?
    00:36:15 为什么 PDM 2.0 不再默认开启 PEP 582
    00:41:17 Python 虚拟环境有哪些缺陷
    00:50:15 PDM 2.0 里的改进和新功能
    1:04:38 开发 PDM 过程中值得一说的事
    1:18:30 作为开源库维护者的经验

    链接

    PDM
    Ep 15. 和 PyPA 的成员聊聊 Python 开发工作流
    Python打包指南2021
    What Are Python Wheels and Why Should You Care?
    为什么选择 PDM
    PDM 2.0 有什么新特性?
    rich: a Python library for rich text and beautiful formatting in the terminal.
    unearth: A utility to fetch and download python packages
    用 PDM 解决数独问题
    https://github.com/frostming/sodoku-solver

    • 1 hr 31 min
    Ep 37. 和 Gray 聊聊工程化学习(上)

    Ep 37. 和 Gray 聊聊工程化学习(上)

    本期是与 Gray 访谈的上期,我们聊了聊他的「工程化」学习

    嘉宾
    GrayCode

    主播

    Manjusaka
    Adam Wen
    laike9m

    时间线

    00:18 嘉宾介绍
    02:15 Gray 在非洲做土木的经历
    06:14 Gray 在转行时遇到的困难与挑战
    09:49 怎么算工程能力
    23:32 工程能力的一些表现是什么
    33:40 我们如何选取一个合适的抽象度

    • 1 hr 11 min
    Ep 36. 和 lepture 聊聊在日本的工作与生活

    Ep 36. 和 lepture 聊聊在日本的工作与生活

    本期是 lepture 访谈的下期,于 2020 年末录制。我们聊了聊他的工作流,以及在日本工作与生活的体验。

    嘉宾
    lepture

    主播

    Adam Wen
    laike9m

    • 53 min
    Ep 35. 和 Gray 聊聊那些年遇到的神奇 Bug

    Ep 35. 和 Gray 聊聊那些年遇到的神奇 Bug

    如果喜欢我们的节目,欢迎通过爱发电打赏支持:https://afdian.net/@pythonhunter

    最近我们和 Gray 聊了聊 Debug,会分成上下两期,这一期我们主要聊了一些遇到的神奇 bug,以及解决的思路,下一期,我们会聊 debug 的一些工具。

    嘉宾
    Gray

    主播

    Manjusaka
    laike9m
    laixintao

    时间线

    03:02 Gray 遇到的 HTTP 下载文件的 bug
    10:59 Xintao 遇到的 HTTP 跳转 HTTPS 问题
    15:37 Manjusaka 遇到的 Python Asyncio 的问题
    24:08 Laike9m: 不要浪费太多时间在一个 bug 上,即时寻求帮助
    25:20 Xintao 语雀编辑器的一个神奇的 bug
    33:40 监控的 P99 毛刺现象
    35:30 uwsgi 中 hping3 信号丢失的一个bug
    42:30 推荐 git 的 bisect 工具
    44:52 laike9m 遇到的 latency 问题
    52:43 有关 Python 的 malloc 的一个问题
    57:24 Golang 1.12 内存泄漏?
    60:00 Python 中 re.complie cache 的行为问题

    链接

    git bisect
    Debug 一个在 uWSGI 下使用 subprocess 卡住的问题 | 卡瓦邦噶!

    • 1 hr 4 min

Customer Reviews

4.4 out of 5
26 Ratings

26 Ratings

L2021☄️ ,

通往成为python 开发者的语音指引

干货很多,不同于一般的知识传播,有着更多更全面的内容,聊生活聊职场也都有涉及,还有更多好玩的东西也可以期待。

FrostbiteCanyon ,

技术嘉宾的表达能力实在是需要好好提升一下

说几个很明显的问题。
首先是口齿不清,这是表达中的最基本的要求,说话发音要说的清晰,现在的情况是经常话说的含混不清,咬字吞音的情况很严重。
其次,如果一定要夹杂英文的话,要把读音搞清楚读对,要不然根本不知道在说什么。
第三,尽量把逻辑理清楚,尤其是说技术问题的时候,把前因后果和结论说清楚。
最后,做podcast至少把录音这个事情搞好,环境杂音和说话吐气到麦克风上的砰砰的声音都是可以避免的

jonaslgn ,

支持

听了3期受益匪浅,虽然我用python少,但也能有很多收获,希望节目越办越好

Top Podcasts In Technology

Jason Calacanis
Lex Fridman
The New York Times
MIT Technology Review
NPR
Ben Gilbert and David Rosenthal

You Might Also Like

DAO
少数派
JJ Ying & Leon Gao
硅谷101
ETW Studio
声动活泼