Five Minutes of Fame

From Noisebridge
(Redirected from 5mof)
Jump to: navigation, search


5MoF
8:00pm Third Thursdays of every month!

3rd Floor 2169 Mission Street, ring the bell to enter the space!

November 15 2018

Next: November 5MoF

Prev: October 5MoF


2018

January 18th -- 5MoF 2018

February 15th -- Parity || Parody

March 8th -- Women's Day!

March 15th -- Day after Pi Day

April 19th -- V

May 17th -- IV

June 21st -- III

July 19th -- II

August 16th -- X

October 18 -- Spooky Time!

November 15 -- Satansgiving

December 13th -- Snow Season

What is Five Minutes of Fame?

Five Minutes of Fame (5MoF) is ten five minute talks in an hour, with a short intermission so you can get another beer. Talks tend to be ad-hoc, poorly-planned, and awe-inspiring.

How do I sign up to give a talk?

Sign up to speak by following the link above, clicking "edit", and adding yourself to the list.

When and Where?

5MoF happens at Noisebridge, 2169 Mission St, San Francisco every 3rd Thursday of the month at 8pm.

Questions, comments, and more info

Interested in Past 5mofs? Or the meetup page?

Past 5MoFs

2017

2016

2015

2014

2013

2012

2011

2010

2009



CODE

/*
   _  _   _____ __  __  ____  ______
 _| || |_| ____|  \/  |/ __ \|  ____| Noisebridge 8PM third Thursdays
|_  __  _| |__ | \  / | |  | | |__    Years & years of Childlike Wonder &
 _| || |_|___ \| |\/| | |  | |  __|   Adult Technological Themes in
|_  __  _|___) | |  | | |__| | |      San Francisco's XXXth Finest
  |_||_| |____/|_|  |_|\____/|_|      Hacker Show and Tell.


 _    _            _      _   _            _____  _                  _   _ 
| |  | |          | |    | | | |          |  __ \| |                | | | |
| |__| | __ _  ___| | __ | |_| |__   ___  | |__) | | __ _ _ __   ___| |_| |
|  __  |/ _` |/ __| |/ / | __| '_ \ / _ \ |  ___/| |/ _` | '_ \ / _ \ __| |
| |  | | (_| | (__|   <  | |_| | | |  __/ | |    | | (_| | | | |  __/ |_|_|
|_|  |_|\__,_|\___|_|\_\  \__|_| |_|\___| |_|    |_|\__,_|_| |_|\___|\__(_)
                                                                           

Third Thurs, 8PM, Noisebridge, 2169 Mission St, SF, CA, Earth Prime

More info: http://nburl.net/5mof
Get here: http://nburl.net/gethere

Submit your talk now! http://5mof.net/signup/

                                                            1/13/14
                                                              -thex
                                                              #fort
                                                              
        Hardware h4x0r extradonaire, the hilaire.

     Send b33r or b!tcoin to noisebridge, c/o #fort

*/

// Number of segments (Shift Register * 8)
#define numOfRegisterPins 24

int SER_Pin = 8;   //pin 14 on the 75HC595
int RCLK_Pin = 9;  //pin 12 on the 75HC595
int SRCLK_Pin = 10; //pin 11 on the 75HC595

// Number of seconds to count from (5 minutes)
int counter = 301;

boolean registers[numOfRegisterPins];

// Time has expired, count up
boolean timeUp = false;

int segments[] = {1, 2, 4, 5, 6, 7, 0, // 0
                  2, 4, 0, 0, 0, 0 ,0, // 1
                  1, 2, 3, 6, 7, 0, 0, // 2
                  1, 2, 3, 4 ,7, 0, 0, // 3
                  2, 3, 4, 5, 0, 0, 0, // 4
                  1, 3, 4, 5, 7, 0, 0, // 5
                  3, 4, 5, 6, 7, 0, 0, // 6
                  1, 2, 4, 0, 0, 0, 0, // 7
                  1, 2, 3, 4, 5, 6, 7, // 8 
                  1, 2, 3, 4, 5, 7, 0  // 9
                                       // A
                                       // B
                                       // C
                                       // D
                                       // E
                                     };// F

void setup()
{
  pinMode(SER_Pin, OUTPUT);
  pinMode(RCLK_Pin, OUTPUT);
  pinMode(SRCLK_Pin, OUTPUT);
}               

void loop()
{
  int minutes, seconds;
  
  if (!timeUp)
  {  
    if(--counter < 0)
    {
      counter = 1;
      timeUp = true;
    }
  } else {
   
    if (++counter > 599)
    {
       n0153();
    }
  }
   
  minutes = floor(counter / 60);
 
  seconds = counter - (minutes * 60);

  setDigits(minutes * 100 + seconds);

  delay(1000);
}

void setDigits(int num)
{
  int digit0, digit1, digit2;
  
  clearRegisters();
  writeRegisters();
  
  digit0 = num;
  while(digit0 >= 10)
    digit0 -= 10;
  
  digit1 = (num - digit0) / 10;
  while(digit1 >= 10)
    digit1 -= 10;
    
  digit2 = (num - digit0 - digit1 * 10) / 100;
 
  setDigit(0, digit0);
  setDigit(1, digit1);
  setDigit(2, digit2);
  
  writeRegisters();
}

// Update individual digit with number
void setDigit(int digit, int num)
{
  // Determine register offset
  int offset = digit * 8;
  
  // Determine num offset
  int numOff = num * 7;
  
  // Set on segments HIGH
  for (int i = 0; i < 7; i++)
  {
    if (segments[i + numOff] > 0)
      registers[segments[i + numOff] + offset] = HIGH;
  }
}

//set all register pins to LOW
void clearRegisters()
{
  for(int i = 0; i < numOfRegisterPins; i++)
    registers[i] = LOW;
} 


//Set and display registers
//Only call AFTER all values are set how you would like (slow otherwise)
void writeRegisters()
{
  digitalWrite(RCLK_Pin, LOW);
  
  for(int i = 0; i < numOfRegisterPins; i++)
  {
    digitalWrite(SRCLK_Pin, LOW);
    
    digitalWrite(SER_Pin, registers[i]);
    
    digitalWrite(SRCLK_Pin, HIGH);
  }
 
  digitalWrite(RCLK_Pin, HIGH);
}

void n0153()
{
  while(true)
  {
    for (int i = 0; i < numOfRegisterPins; i++)
      registers[i] = random(2) > 0.5 ? HIGH : LOW;
    writeRegisters();
    delay(round(random(314)));
  }
}