1. EachPod

EP#350: Estimating Effort

Author
MacroFab, Inc.
Published
Fri 28 Oct 2022
Episode Link
https://www.macrofab.com/podcasts/estimating-effort/

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

Share to: