Five Minutes of Fame: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
(Update for this month, correctly this time)
 
(254 intermediate revisions by 62 users not shown)
Line 1: Line 1:
==What is it?==
{{5mof}}
{{about5mof}}
[[Category:Upcoming Events]]


Five Minutes of Fame (5MoF) is an adaptation of CCC's Lightning Talks. Our implementation is ten five minute talks in an hour, with a short intermission so you can get another beer.
[[File:5mofposter.jpg|thumb|300px|right|[[Five Minutes of Fame]]: Spread this poster around!]]


==When and where does it happen?==
'''Next event:''' [[5MoF/2023/12_21]] (Next 5mof will probably still happen even if this link is in the past)


Third Thursday of every month at 8pm, at Noisebridge, 2169 Mission St, San Francisco.
'''Prev event:''' [[5MoF/2023/10_19]]


<!--- [[File:5MoF_flyer_111512.jpg|400px|right]] --->
'''Template for 5MoF:''' [[5MOF_Template|5 MoF Template]]
 
=== Thursday, March 21st, 8 PM, It's on! [http://5mof.net/signup/ Sign up!]===
==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.
As if you needed ANY reminder, Five Minutes of Fame is Noisebridge's ADD
Talks tend to be ad-hoc, poorly-planned, and awe-inspiring.
show-and-tell, squashing octets of human awesomeness into an hour like
 
booleans in a packed byte.
==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 [[Getting_here|at Noisebridge, 272 Capp St, San Francisco]] every 3rd Thursday of the month at 8pm.
 
==Questions, comments, and more info==
 
Interested in [[Past 5mofs]]? Or the [https://www.meetup.com/noisebridge/events/hprdhqyxnbxb/ meetup page]?
 
 
= Past 5MoFs =
 
== 2023 ==
* '''[[5MoF/2023/12_21]]'''
* '''[[5MoF/2023/10_19]]'''
* '''[[5MoF/2023/08_17]]'''
* '''[[5MoF/2023/07_20]]'''
* '''[[Five_Minutes_of_Fame_2023_04_20|5MoF April 20 2023]]'''
* (many other 5mofs happened even if we didn't make a wiki page for them)


<pre>
== 2022 ==
  _  _  _____ __  __  ____  ______
* '''[[Five Minutes of Fame 2022 05 19]]'''
_| || |_| ____|  \/ |/ __ \|  ____| Noisebridge 8PM Thursday 21st March
*'''[[Five Minutes of Fame 2022 04 21]]'''
|_  __  _| |__ | \  / | |  | | |__    Four Years of Childlike Wonder and
*'''[[Five_Minutes_of_Fame_NB14]]'''
_| || |_|___ \| |\/| | | | |  __|  Adult Technological Themes in
*'''[[Five_Minutes_of_Fame_2022_03_17|St. Patricks Day 5moF]]:''' 1. Wolf - Gitdraft. 2. Hawaii Kealakehe First Robotics. 3. Milo Kim - Web Comics ranked by queerness. 4. Sophia - [https://Dwitter.net Dwitter.net] 5. J - First Robotics pneumatics. 7. Ronald - [https://nunisynth.com Nunisynth] 8. Loren - '''til''' console command. 9. Noisebridge [[BBS]] [[User:Hungry bogart|HB]] & [[User:Lxpk|LX]]. 10. [[User:Lxpk|LX]] - [[NB14]] Grand Reopening Weekend April 1-3 preview & RFP.
|_  __  _|___) | |  | | |__| | |      San Francisco's 543rd Finest
*'''[[Five Minutes of Fame 2022 GGJ Edition]]:''' We recorded some Global Game Jam game concept pitches and we'll upload the video soon.
  |_||_| |____/|_|  |_|\____/|_|      Hacker Show and Tell.


== 2021 ==
*[[Five_Minutes_of_Fame_2021_09_16|Sep 16 2021]]
*[[Five_Minutes_of_Fame_2021_08_19|August 19, 2021]]


This week's Five Minutes of Fame will contain:
== 2020 ==
I think there were some talks online. God knows what happened in 2020


* LEE FELSENSTEIN, the man who hew the Osborne 1 from sand! Who ran the
== 2019 ==
  Homebrew Computer Club with a Ruler of Steel! Who soldered free
  speech to the dreams of the digital revolution!


* Straight outa copyright, it's the DATA2.ME people guerilla revamping public documents
*[[Five_Minutes_of_Fame_2019_1_17|January 17th -- 5MoF 2019]]
*[[Five_Minutes_of_Fame_2019_02_21|February 21st -- ]]
*[[Five_Minutes_of_Fame_2019_03_21|March 21st -- ]]
*[[Five_Minutes_of_Fame_2019_04_18|April 18th -- ]]
*[[Five_Minutes_of_Fame_2019_05_16|May 16th --]]
*[[Five_Minutes_of_Fame_2019_06_20|June 20th -- ]]
*[[Five_Minutes_of_Fame_2019_07_18|July 18th -- ]]
*[[Five_Minutes_of_Fame_2019_08_15|August 15th --]]
*[[Five_Minutes_of_Fame_2019_09_19|September 19th -- ]]
*[[Five_Minutes_of_Fame_2019_10_17|October 17th -- ]]
*[[Five_Minutes_of_Fame_2019_11_15|November 21st -- ]]
*[[Five_Minutes_of_Fame_2019_12_13|December 19th -- ]]


* RACHEL CHALMERS, who will powerpoint the clue electric


* Mozilla's LIZ HENRY, Talking Bugs Bugs Bug Bugs Bugs Bugs Bugs Bugs Bugs [1]
{{Special:PrefixIndex/5MoF/2018/|reverse}}


* PLUS The amazing ANNOUNCEMENTS of MILOH (now with saxophone backing)
== 2018 ==


  and FOR ONE DAY ONLY:
*  [[Five_Minutes_of_Fame_2018_01_18|2018-01-18]]
*  [[Five_Minutes_of_Fame_2018_02_15|2018-02-15]]
*  [[Five_Minutes_of_Fame_2018_03_08|2018-03-08]]
*  [[Five_Minutes_of_Fame_2018_03_15|2018-03-15]]
*  [[Five_Minutes_of_Fame_2018_04_19|2018-04-19]]
*  [[Five_Minutes_of_Fame_2018_05_17|2018-05-17]]
*  [[Five_Minutes_of_Fame_2018_06_21|2018-06-21]]
*  [[Five_Minutes_of_Fame_2018_07_19|2018-07-19]]
*  [[Five_Minutes_of_Fame_2018_08_16|2018-08-16]]
*  [[Five_Minutes_of_Fame_2018_10_18|2018-10-18]]
*  [[Five_Minutes_of_Fame_2018_11_15|2018-11-15]]
*  [[Five_Minutes_of_Fame_2018_12_13|2018-12-13]]


* The TRIUMPHANT RETURN of AL SWEIGART, Author of the BEST GODDAMN INTRODUCTION TO PYTHON


All this, plus I hope about fifteen people offering to do their talk
== 2017 ==
because otherwise I'm going to have to do my extended Kellis Milkshake
* [[Five_Minutes_of_Fame_NB10|10 Years of noisebridge]]
routine and frankly I don't think it's quite there yet. Mail me if so.
* [[Five_Minutes_of_Fame_2017_08_17|2017-08-17]]
* [[Five_Minutes_of_Fame_2017_07_20|2017-07-20]]
* [[Five_Minutes_of_Fame_2017_02_02 | 2017-02-02]]
* [[Five_Minutes_of_Fame_2017_01_26 | 2017-01-26]]


So come one, come all, come FIVE MINUTES OF FAME to Noisebridge Hackitorium
== 2016 ==
* [[Five_Minutes_of_Fame_2016_12_08 | 2016-12-08]]
* [[Five_Minutes_of_Fame_2016_12_01 | 2016-12-01]]


8PM Thursday 21st, Noisebridge.
== 2015 ==
* [[Five Minutes of Fame 2015 06 18 | 2015-06-18]]


_____  _____
* [[Five Minutes of Fame 2015 05 21 | 2015-05-21]]
|  __ \ / ____|
== 2014 ==
| |__) | (___
* [[Five_Minutes_of_Fame_2014_09_18 | 2014-09-18]]
| ___/ \___ \
| |    ____) |
|_|    |_____/


_____
* [[Five_Minutes_of_Fame_2014_05_15 | 2014-05-15]]
| __ \
| |  | | ___  ___  ___    __ _ _ __  _  _  ___  _ __  ___
| |  | |/ _ \ / _ \/ __|  / _` | '_ \| | | |/ _ \| '_ \ / _ \
| |__| | (_) |  __/\__ \ | (_| | | | | |_| | (_) | | | |  __/
|_____/ \___/ \___||___/  \__,_|_| |_|\__, |\___/|_| |_|\___|
                                      __/ |
                                      |___/
_                    _                          _
| |                  | |                        | |
| |__  ___ _ __ ___  | | ___ __  _____      __ | |__  _____      __
| '_ \ / _ \ '__/ _ \ | |/ / '_ \ / _ \ \ /\ / / | '_ \ / _ \ \ /\ / /
| | | |  __/ | |  __/ |  <| | | | (_) \ V  V /  | | | | (_) \ V  V /
|_| |_|\___|_|  \___| |_|\_\_| |_|\___/ \_/\_/  |_| |_|\___/ \_/\_/


* [[Five_Minutes_of_Fame_2014_04_16 | 2014-04-16]]


_          _______ _    _ _____  _  _
* [[Five_Minutes_of_Fame_2014_03_20 | 2014-03-20]]
| |        |__  __| |  | |  __ \| \ | |
| |_ ___      | |  | |  | | |__) |  \| |
| __/ _ \    | |  | |  | |  _  /| . ` |
| || (_) |    | |  | |__| | | \ \| |\  |
\__\___/    |_|  \____/|_|  \_\_| \_|


== 2013 ==
* [[Five_Minutes_of_Fame_2013_02_21 | 2013-02-21]]
== 2012 ==
== 2011 ==
* [[Five_Minutes_of_Fame_2011_01_20 | 2011-01-20]]
== 2010 ==
* [[Five_Minutes_of_Fame_2010_12_16 | 2010-12-16]]


______ _____ _____ _      ______ _______    ____  ______ ______
* [[Five_Minutes_of_Fame_2010_11_18 | 2010-11-18]]
|  ____|_  _/ ____| |    |  ____|__  __|  / __ \|  ____|  ____|
| |__    | || |  __| |    | |__    | |    | |  | | |__  | |__
|  __|  | || | |_ | |    |  __|    | |    | |  | |  __| |  __|
| |    _| || |__| | |____| |____  | |    | |__| | |    | |
|_|    |_____\_____|______|______|  |_|    \____/|_|    |_|


* [[Five_Minutes_of_Fame_2010_10_21 | 2010-10-21]]


[1] bugs
* [[Five_Minutes_of_Fame_2010_09_16 | 2010-09-16]]


* [[Five_Minutes_of_Fame_2010_08_19 | 2010-08-19]]


Third Thurs, 8PM, Noisebridge, 2169 Mission St, SF, CA, Earth Prime
* [[Five_Minutes_of_Fame_2010_07_15 | 2010-07-15]]


More info: http://nburl.net/5mof
* [[Five_Minutes_of_Fame_2010_06_17 | 2010-06-17]]
Get here: http://nburl.net/gethere


Submit your talk now! http://5mof.net/signup/
* [[Five_Minutes_of_Fame_2010_05_20 | 2010-05-20]]
</pre>


==Why are we doing this?==
* [[Five_Minutes_of_Fame_2010_04_15 | 2010-04-15]]


There are many reasons:
* [[Five_Minutes_of_Fame_2010_03_18 | 2010-03-18]]
* It's great for people who are interested in what's going on at Noisebridge -- no need to sit through long lectures.
* Some people are working on projects that are not ready for a full 30 minute or hour long talk, but they want to get their ideas out. Maybe they need help, maybe they want to propose an idea to the Noisebridge community.
* Some people are shy to public speaking and want to practice without giving an "official" conference talk, which can be daunting. This is a great way to try it out, in a community of peers.
* San Francisco is the mecca for startups. If you're trying to sell your idea to someone, you need to be able to explain it in five minutes or less.
* [http://en.wikipedia.org/wiki/Discordianism#Law_of_Fives "The Law of Fives"]


==How can I participate?==
* [[Five_Minutes_of_Fame_2010_02_18 | 2010-02-18]]


[[Category:Events]]
* [[Five_Minutes_of_Fame_2010_01_21 | 2010-01-21]]
== 2009 ==


===[http://5mof.net/signup/ Sign up to speak at 5 Minutes of Fame here!] ===
* [[Five_Minutes_of_Fame_2009_12_17 | 2009-12-17]]


Or just mail me at danny@spesh.com and I will put you on my secret spreadsheet. I will also mail you on the Monday before the event!
* [[Five_Minutes_of_Fame_2009_11_19 | 2009-11-19]]


==How can I attend?==
* [[Five_Minutes_of_Fame_2009_10_15 | 2009-10-15]]


Just show up! 2169 Mission St, San Francisco
* [[Five_Minutes_of_Fame_2009-09-17 | 2009-09-17]]


We're located at:<br>'''[[Getting Here|2169 Mission St]], San Francisco'''<br>[http://www.openstreetmap.org/?mlat=37.762352&mlon=-122.419372&zoom=16 OpenStreetMap] - [http://maps.google.com/?q=2169+Mission+Street,+94110 Google Maps]<br>2 blocks South of [[Getting_Here#Getting_Here_by_BART | 16th & Mission BART]]
* [[Five Minutes of Fame 2009-08-20 | 2009-08-20]]
 
* [[Five Minutes of Fame 2009-07-16 | 2009-07-16]]
 
* [[Five Minutes of Fame 2009-06-18 | 2009-06-18]]


* [[Five Minutes of Fame 2009-05-21 | 2009-05-21]]


If for any reason you're unable to attend, you can usually watch it live on our [http://www.ustream.tv/user/noisebridge UStream Channel].
* [[Five Minutes of Fame 2009-04-16 | 2009-04-16]]


==Other Questions==
* [[Five Minutes of Fame 2009-03-19 | 2009-03-19]]


Can anyone attend or speak?
* [[Five Minutes of Fame 2009-02-19 | 2009-02-19]]


:''There are a limited number of slots for speakers, and members or regulars are given priority to speak about the projects they are working on. Although there are substitutes for people don't show, schedule early to be assured your 5MoF!''
= CODE =


What if I show up late?
<pre>
/*
  _  _  _____ __  __  ____  ______
_| || |_| ____|  \/  |/ __ \|  ____| Noisebridge 8PM third Thursdays
|_  __  _| |__ | \  / | |  | | |__    Years & years of Childlike Wonder &
_| || |_|___ \| |\/| | |  | |  __|  Adult Technological Themes in
|_  __  _|___) | |  | | |__| | |      San Francisco's XXXth Finest
  |_||_| |____/|_|  |_|\____/|_|      Hacker Show and Tell.


:''If you are giving a talk, please notify me so we can rearrange the schedule. If you want to see a talk that you're going to miss, find the person who gave it and chat with them for five minutes :)''


==Past 5MoFs==
_    _            _      _  _            _____  _                  _  _
=== 2013 ===
| |  | |          | |    | | | |          |  __ \| |                | | | |
* [[Five_Minutes_of_Fame_2013_02_21 | 2013-02-21]]
| |__| | __ _  ___| | __ | |_| |__  ___  | |__) | | __ _ _ __  ___| |_| |
=== 2012 ===
|  __  |/ _` |/ __| |/ / | __| '_ \ / _ \ |  ___/| |/ _` | '_ \ / _ \ __| |
=== 2011 ===
| |  | | (_| | (__|  <  | |_| | | |  __/ | |    | | (_| | | | |  __/ |_|_|
* [[Five_Minutes_of_Fame_2011_01_20 | 2011-01-20]]
|_|  |_|\__,_|\___|_|\_\  \__|_| |_|\___| |_|    |_|\__,_|_| |_|\___|\__(_)
=== 2010 ===
                                                                         
* [[Five_Minutes_of_Fame_2010_01_21 | 2010-01-21]]


* [[Five_Minutes_of_Fame_2010_02_18 | 2010-02-18]]
Third Thurs, 8PM, Noisebridge, 2169 Mission St, SF, CA, Earth Prime


* [[Five_Minutes_of_Fame_2010_03_18 | 2010-03-18]]
More info: https://noisebridge.net/wiki/5mof
Get here: https://noisebridge.net/wiki/gethere


* [[Five_Minutes_of_Fame_2010_04_15 | 2010-04-15]]
Submit your talk now! http://5mof.net/signup/


* [[Five_Minutes_of_Fame_2010_05_20 | 2010-05-20]]
                                                            1/13/14
                                                              -thex
                                                              #fort
                                                             
        Hardware h4x0r extradonaire, the hilaire.


* [[Five_Minutes_of_Fame_2010_06_17 | 2010-06-17]]
    Send b33r or b!tcoin to noisebridge, c/o #fort


* [[Five_Minutes_of_Fame_2010_07_15 | 2010-07-15]]
*/


* [[Five_Minutes_of_Fame_2010_08_19 | 2010-08-19]]
// Number of segments (Shift Register * 8)
#define numOfRegisterPins 24


* [[Five_Minutes_of_Fame_2010_09_16 | 2010-09-16]]
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


* [[Five_Minutes_of_Fame_2010_10_21 | 2010-10-21]]
// Number of seconds to count from (5 minutes)
int counter = 301;


* [[Five_Minutes_of_Fame_2010_11_18 | 2010-11-18]]
boolean registers[numOfRegisterPins];


* [[Five_Minutes_of_Fame_2010_12_16 | 2010-12-16]]
// Time has expired, count up
=== 2009 ===
boolean timeUp = false;


* [[Five Minutes of Fame 2009-02-19 | 2009-02-19]]
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


* [[Five Minutes of Fame 2009-03-19 | 2009-03-19]]
void setup()
{
  pinMode(SER_Pin, OUTPUT);
  pinMode(RCLK_Pin, OUTPUT);
  pinMode(SRCLK_Pin, OUTPUT);
}             


* [[Five Minutes of Fame 2009-04-16 | 2009-04-16]]
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);


* [[Five Minutes of Fame 2009-05-21 | 2009-05-21]]
  setDigits(minutes * 100 + seconds);


* [[Five Minutes of Fame 2009-06-18 | 2009-06-18]]
  delay(1000);
}


* [[Five Minutes of Fame 2009-07-16 | 2009-07-16]]
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();
}


* [[Five Minutes of Fame 2009-08-20 | 2009-08-20]]
// 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;
  }
}


* [[Five_Minutes_of_Fame_2009-09-17 | 2009-09-17]]
//set all register pins to LOW
void clearRegisters()
{
  for(int i = 0; i < numOfRegisterPins; i++)
    registers[i] = LOW;
}


* [[Five_Minutes_of_Fame_2009_10_15 | 2009-10-15]]


* [[Five_Minutes_of_Fame_2009_11_19 | 2009-11-19]]
//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);
}


* [[Five_Minutes_of_Fame_2009_12_17 | 2009-12-17]]
void n0153()
{
  while(true)
  {
    for (int i = 0; i < numOfRegisterPins; i++)
      registers[i] = random(2) > 0.5 ? HIGH : LOW;
    writeRegisters();
    delay(round(random(314)));
  }
}
</pre>

Latest revision as of 18:21, 20 December 2023

Noisebridge | About | Visit | 272 | Manual | Contact | Guilds | Resources | Events | Projects | 5MoF | Meetings | Donate | (Edit)
Five Minutes of Fame | Past 5mofs | 5MoF Meetup Page | 5MOF Template | Five Minutes of Fame Speaker Invitation | (Edit)
5MoF logo.png

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.
WHERE: http://www.5mof.net happens at Noisebridge, 272 Capp St, San Francisco every 3rd Thursday of the month at 8pm. and streams live at https://noisebridge.net/wiki/jitsi
WHEN: Social 6:00pm-8:00pm, talks 8:00pm-9:00pm Third Thursdays of every month, lightning talks!
WHO: All are welcome and anyone may submit a talk.
HOW: Sign up to speak by following the link above, clicking "edit", and adding yourself to the list. Presenters are welcome and somewhat encouraged to have slides to accompany the presentation.
STREAM LINK: All presentations will be televised, live for your viewing pleasure on Jitsi (https://meet.jit.si/noisebridge) and our YouTube account!
MEETUP PAGE: Sign up for 5moF events on Meetup at https://www.meetup.com/noisebridge/events/hprdhqyzcbwb/.
5MoF YOUTUBE: 5moF YouTube Channel
Edit

Five Minutes of Fame: Spread this poster around!

Next event: 5MoF/2023/12_21 (Next 5mof will probably still happen even if this link is in the past)

Prev event: 5MoF/2023/10_19

Template for 5MoF: 5 MoF Template

What is Five Minutes of Fame?[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.

How do I sign up to give a talk?[edit]

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

When and Where?[edit]

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

Questions, comments, and more info[edit]

Interested in Past 5mofs? Or the meetup page?


Past 5MoFs[edit]

2023[edit]

2022[edit]

2021[edit]

2020[edit]

I think there were some talks online. God knows what happened in 2020

2019[edit]


2018[edit]


2017[edit]

2016[edit]

2015[edit]

2014[edit]

2013[edit]

2012[edit]

2011[edit]

2010[edit]

2009[edit]

CODE[edit]

/*
   _  _   _____ __  __  ____  ______
 _| || |_| ____|  \/  |/ __ \|  ____| 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: https://noisebridge.net/wiki/5mof
Get here: https://noisebridge.net/wiki/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)));
  }
}