Logo
    Search

    Code Documentation with Omer Rosenbaum and Tim Post

    en-usJune 16, 2021

    About this Episode

    What makes for good documentation? In this episode, we dive into one of the most important yet overlooked facets of coding. With us are Omer Rosenbaum and Tim Post of Swimm.io. Swimm is an app that allows you to create docs coupled with your code, which are auto-synced and integrated into your workflow. It makes for much more efficient, elegant, and accessible documentation. 


    Omer is the CTO of Swimm, and Tim is Principal Development Relations and User Advocate. They are the experts who will guide us through good code documentation practices and tools, as well as share some fascinating real-life examples and stories.


    This episode touches on the following key topics and ideas:


    00:01:20 Introducing Omer and Tim

    00:03:28 Omer: learning tech while in the military

    00:06:36 Israel Tech Challenge

    00:08:32 Impostor Syndrome

    00:12:15 Tim: the consulting career route

    00:18:15 Stack Overflow elected moderator

    00:20:59 ZFS and Btrfs 

    00:22:49 What is good code documentation?

    00:34:48 Documentation and remote work

    00:36:99 Good practices

    00:40:37 Code comments

    00:45:20 How to write documentation

    00:46:59 Signs of bad code documentation

    00:48:05 Swimm overview

    00:53:21 PyTorch documentation

    00:54:45 PHP documentation

    00:56:34 Swimm’s CLI tools

    01:01:16 Code documentation horror stories

    01:07:26 Swimm offers for open-source projects and enterprises

    01:13:47 Working at Swimm

    01:19:54 The value of remote work


    Resources mentioned in this episode:


    Tools


    Catch Swimm on:

    Twitter | Facebook | LinkedIn


    If you’ve enjoyed this podcast, you can listen to more programming news and updates like this one on Programming Throwdown’s website: https://www.programmingthrowdown.com/, or send us an email at programmingthrowdown@gmail.com.


    You can also follow Programming Throwdown on 

    Facebook | Apple Podcasts | Spotify | Player.FM 


    You can also help support Programming Throwdown through our Patreon.

    ★ Support this podcast on Patreon ★

    Recent Episodes from Programming Throwdown

    172: Transformers and Large Language Models

    172: Transformers and Large Language Models

    172: Transformers and Large Language Models


    Intro topic: Is WFH actually WFC?

    News/Links:


    Book of the Show


    Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h


    Tool of the Show


    Topic: Transformers and Large Language Models

    • How neural networks store information
      • Latent variables
    • Transformers
      • Encoders & Decoders
    • Attention Layers
      • History
        • RNN
          • Vanishing Gradient Problem
        • LSTM
          • Short term (gradient explodes), Long term (gradient vanishes)
      • Differentiable algebra
      • Key-Query-Value
      • Self Attention
    • Self-Supervised Learning & Forward Models
    • Human Feedback
      • Reinforcement Learning from Human Feedback
      • Direct Policy Optimization (Pairwise Ranking)



    ★ Support this podcast on Patreon ★

    171: Compilers and Interpreters

    171: Compilers and Interpreters

    Intro topic: Monitor setups

    News/Links:


    Book of the Show


    Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h


    Tool of the Show


    Topic: Compilers and Interpreters (Request by Jessica W.)

    • Machine Code
      • Architecture Specific
    • Assembly
      • Single vs Two Pass Compiler
    • High level Languages
      • Intermediate Representation
      • JVM ByteCode vs Machine Code for portability
    • Scripting/Interpreters
    • JIT
    • Profile Guided Optimization
    • Resources
    ★ Support this podcast on Patreon ★

    170: 2023 Holiday Special Live

    170: 2023 Holiday Special Live

    Predictions:
    Jason 

    • VR for Work
    • Lowering AI training cost/ improved efficiency
    • RISC-V takeoff


    Patrick

    • Ai claim of AGI
    • Ai peer reviewer
    • Ai Video Generator
    • More space vehicles reaching orbit

    Early career, finding role at FAANG, liaising vs shipping code. Startup?

    3 part. 1. How and when current hype for AI will end? 2. Shape of the show 3. Upcoming in tech

    What are essential programmer knowledge items?

    CS Student, how to organize life and goals? What purpose life should serve?

    What kind of programmer were you in college?

    Happy Holidays!

    ★ Support this podcast on Patreon ★

    169: HyperLogLog

    169: HyperLogLog

    Intro topic: Testing your car battery

    News/Links:

    Book of the Show

    Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h


    Tool of the Show


    Topic: HyperLogLog

    • Motivation
      • Cardinality Counting
    • LinearCounting
      • Hash + expectation of collision based on how full
      • Bloom Filter
    • LogLog
      • Use first N bits as bucket
      • Use max sequential 0s in each bucket
      • Average
    • HyperLogLog
      • Handle empty buckets
      • Use correction factor like linear counting for low counts (number of empty buckets) and high counts
    • Distributing

      • Transfer bucket counts

    ★ Support this podcast on Patreon ★

    168: Godot

    168: Godot

    Intro topic: What are expectations on developers that have nothing to do with programming

    News/Links:

    Book of the Show

    Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h


    Tool of the Show


    Topic: Godot

    • What is a game engine?
      • Graphics, animation, particle effects
      • Tilemaps
      • Entity component systems
      • Physics
      • Sound
      • I/O
      • Input handling (touchscreen, joystick)
      • GDScript
    • Why use a game engine?
      • Portability
      • Allow for testing individual components of the game
      • Libraries for ads, in-app-purchases
    • Godot
      • Open source
      • Focused on 2-D but now many 3-D features
      • Great development environment
    • AI Hero
      • Started in phaser (development rut)
      • Moved to Godot, rapid prototyping


    ★ Support this podcast on Patreon ★
    Programming Throwdown
    en-usNovember 20, 2023

    167: Desktop User Interfaces

    167: Desktop User Interfaces

    Intro topic: Jogging Metrics

    News/Links:

    Book of the Show

    Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h


    Tool of the Show

    • Patrick: 
      • Factorio (Desktop Game)
    • Jason:
      • AI Hero (iOS and Android)


    Topic: Desktop user interfaces

    • What is a user interface?
    • Web and Mobile UI toolkits
    • Desktop options
      • Qt
        • Cross platform, custom UI elements
        • Qt creator, code generator
      • WxWidgets
        • Cross platform, uses native UI elements 
        • WxFormDesigner, code generation
        • Can look different on different operating systems
      • Electron
        • Local nodejs webserver
        • Html/JavaScript technology
        • Requires interprocess communication to use other languages  
      • Jupyter notebooks
        • Mathematica-like notebook 
        • Not for distribution 
      • Streamlit
        • Python to web compiler
      • Game Engines
        • Unity, Godot, Unreal
    • Tips for building desktop UI
      • UI is slow (startup time, interaction time)
      • Separate the UI from the engine & business logic

    ★ Support this podcast on Patreon ★

    166: Speedy Database Queries with Lukas Fittl

    166: Speedy Database Queries with Lukas Fittl

    - pganalyze: https://pganalyze.com/

    - Weekly series "5mins of Postgres": https://www.youtube.com/channel/UCDV_1Dz2Ixgl1nT_3DUZVFw

    - How Postgres chooses which index to use: https://pganalyze.com/blog/how-postgres-chooses-index

    - CMU databases courses: https://db.cs.cmu.edu/courses/

    - Postgres community: https://www.postgresql.org/community/


    As well as social links:

    - Mastodon: https://hachyderm.io/@lukas

    - Twitter/X: @pganalyze, @LukasFittl

    - GitHub: @pganalyze, @lfittl

    - LinkedIn: https://www.linkedin.com/in/lfittl/ , https://www.linkedin.com/company/pganalyze/

    ★ Support this podcast on Patreon ★

    165: Differential Equations

    165: Differential Equations

    Intro topic: Revisiting the power of Spreadsheets

    News/Links:

    Book of the Show

    Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h


    Tool of the Show

    Topic: Differential Equations

    ★ Support this podcast on Patreon ★

    164: Choosing a Database For Your Project With Kris Zyp

    164: Choosing a Database For Your Project With Kris Zyp

    Things to consider when choosing a database

    • Speed & Latency
    • Consistency, ACID Compliance
    • Scalability
    • Language support & Developer Experience
    • Relational vs. Non-relational (SQL vs. NoSQL)
    • Data types
    • Security
    • Database environment
      • Client vs Server access


    Info on Kris & Harper:

    • Website: harperdb.io
    • Twitter: @harperdbio, @kriszyp
    • Github: @HarperDB, @kriszyp


    ★ Support this podcast on Patreon ★

    163: Recursion

    163: Recursion

    Episode 163 - Recursion


    Intro topic: Electric Cars


    News/Links:


    Book of the Show

    Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h


    Tool of the Show

    Topic: Recursion

    • What is it
      • Divide-And-Conquer
      • Fibonacci numbers
    • How to (not) teach recursion
    • Practical Applications
      • Graph operations
        • Tree retrieval, balancing
        • Graph Search
      • Spatial partitioning
    • Pitfalls
      • Stack size
    • How to solve problems with recursion
      • (1) Consider the base cases
      • (2) Build the recursive step
      • (3) Look for ways the recursion will not terminate and fix
      • (4) (rest are optional) Remove global contexts
      • (5) Add memoization
      • (6) Build solutions incrementally

    ★ Support this podcast on Patreon ★