EP#350: Estimating Effort - podcast episode cover

EP#350: Estimating Effort

Oct 28, 20221 hr 1 minEp. 350
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Python Demo for Extra Life API

  • Stream Date: November 5th, 2022
  • Functionality so far 
    • Check Extralife API for donations 
      • This is done with the requests module
      • This endpoint seems to return old and new donations
      • There isn't a “new donation” end point it seems
    • Get the donation IDs and compare them to a local file 
      • Local file is made with the pickle module
      • Pickle allows you to take any data structure in python and “package it” into a binary file for storage. 
    • If there is a new donation ID that isn’t in the local file 
      • Queue up a random audio clip
      • Record the donation ID to the local file
    • Audio is placed through the playsound module 
      • Weird “bug” that short audio clips get cut off
      • Add a little sleep after the call to get around it
    • Auto parses the audio folder for the files 
      • Looks into audio file
      • Gets all the file names
      • Adding a new audio clip is as simple as dropping it into the folder
    • Preventing truly random files 
      • Made a rotating buffer
      • Used the collections module to implement a bi-directional “stack” 
        • Think like a bitwise shift but with an array of strings
    • Multithreading! 
      • Threading module used to setup the API and Audio player queues 
        • API runs every 20 seconds
        • Audio player runs every 30 seconds
      • If a new donation, global mailbox variable increases one for each new donation.
      • Audio player runs and looks at that global variable. 
      • Threading has a “lock” function to prevent race conditions on that global variable.
  • What is next? 
    • Play graphics in Open Broadcast Software
    • OBS has some python hooks that I am just starting to learn 

Chip Fab Jobs

  • Need practically every engineering discipline
  • Mechanical to design and maintain equipment
  • Chemical for designing the masking / chemical bath processes
  • Electrical for testing and validation 

Estimating project time

  • PCB layout
  • New project revision 
    • About 1600 parts
    • Lots of duplicates
  • Things that impact timing 
    • Components 
      • Parts with pours and complex ground
      • Specific trace routs like differential or snake traces
    • Layers
    • Duplication
    • Rest day
    • Cleanup day
For the best experience, listen in Metacast app for iOS or Android