Five Minutes of Fame

From Noisebridge
Jump to: navigation, search


5MoF


8:00pm Third Thursdays of every month!


October 15th MMXX
https://jitsi.noisebridge.io/5mof

Next: July 16th 2020

Prev: June 18th 2020

5 MoF Template


¿noisebridge is MOVING!  Meetings & Events are online. 2169 MISSION IS CLOSED INDEFINITELY.

Noisebridge | About | Manual | Guilds | Events | Five Minutes of Fame | Donate | Edit

Five Minutes of Fame | Past 5mofs | 5MoF Meetup Page | 5MOF Template | Edit

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.

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

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


2019

January 17th -- 5MoF 2019

February 21st --

March 21st --

April 18th --

May 16th --

June 20th --

July 18th --

August 15th --

September 19th --

October 17th --

November 21st --

December 19th --

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

2018


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)));
  }
}