exported markdown

This commit is contained in:
Elizabeth Cray 2024-06-12 21:48:44 -04:00
commit c110577820
338 changed files with 30107 additions and 0 deletions

69
2024_policy_proposals.md Executable file
View File

@ -0,0 +1,69 @@
### 2024 Policy Proposals
<em>[Our annual board-member elections are occurring on Tuesday, Mar
12](https://www.meetup.com/hac-dc/events/vhhpbtygcfbqb/)!</em>
**Update** <em>[New date for annual board-member elections is Tuesday
Mar 26](https://www.meetup.com/hac-dc/events/299761507/)</em> - - -
## Noisebridge Inspirations
Suggested by Callie Composed by Gabriel
Noisebridge has a lot of good material on their wiki about community
standards. We have an [Anti-Harassment
Policy](Anti-Harassment_Policy "wikilink"), but we could have a lot more
clarity around expected conduct at the space. Here are some policies I'd
like to highlight for consideration at HacDC,
- ([Conflict
Resolution](https://www.noisebridge.net/wiki/Conflict_Resolution))
1. Start by being
[Excellent](https://www.noisebridge.net/wiki/Excellence) to each
other
2. Try to resolve potential conflicts that arise using [Restorative
Communication](https://www.noisebridge.net/wiki/Restorative_Communication)
3. [Ask To
Disengage](https://www.noisebridge.net/wiki/Ask_To_Disengage) to
separate people in an argument that is escalating.
4. [Ask to leave](https://www.noisebridge.net/wiki/AskToLeave) if
someone refuses to disengage or is doing something that makes people
feel unsafe.
5. [Ask for Mediation](https://www.noisebridge.net/wiki/Mediation) if
you don't seem to be able to resolve issues with someone in the
space directly.
- ([No_sleeping_at_Noisebridge](https://www.noisebridge.net/wiki/No_sleeping_at_Noisebridge))
You can hack at HacDC as late as you want, but you can not sleep here.
## Open Hac Nights
We have a popular open hac night on Mondays. The official hours are from
7-9. I think we need to make it clear that hosts of this meeting are
free to ask visitors to leave at 9 if no other members are going to be
present. IF there are members who want to continue to host guests past 9
then it is their responsibility to supervise and clean up after those
guests.
## Permission Required on Recordings
Proposed/composed by: Callie
No one shall record media, or share media recorded, in our space, such
as includes images of someone else, or original ideas, sayings, or
products of labor made by someone else, unless such are agreed upon:
- scope of use or publication
- branding or labeling conditions, including the original producer's
name
- a simple erasure procedure
\- - -
## Non Aggression
Proposed by: Sven Composed by: Callie
In case anyone using our space engages in, or displays aggression in
body motions, language, or mannerisms, such one shall be compelled from
our space, so as remaining members can reclaim secure premises.

98
3DP_Build_Run_2013.07.md Executable file
View File

@ -0,0 +1,98 @@
This is the documentation vertex for a 3D printer build run started in
July 2013.
Vital links and major log entries can be made here (by anyone, as
always). Detailed logs should be made either in a user's own log (which
should be linked from here). It'd be a good idea to consolidate what was
learned and place it on this page in the end.
## Goal
Get a few people together that want their own 3DP and build 'em.
The primary point is to get working, somewhat reliable machines running
in order to focus on using the printers. This may be a bit different
than many hackerspace builds that might focus on improving the 3DP
designs.
## Plan
1. What model(s) to build?
2. Find mentors. People that can help when we get stuck or review what
we've done and suggest corrections.
3. Create BOM, aka parts list
1. Catalog what parts we already have at HacDC.
2. Find supplier(s) or kits for all other parts.
4. Set some form of gathering schedule or build timeline. (a little
structure is good)
### Which model?
#### Deltas
- Rostock / Max
Kossel seems to be an improvement
- Kossel (original)
obsolete
- Kossel Mini
current Kossel
Looking at linear bearings / towers.. may need to pull something from
the OpenBeam version
Note: 'Mini' is a misnomer, scale it as you like.
- OpenBeam Kossel Pro
in Kickstart phase
David's top pick but Terrance (openbeam guy) understandably hasn't
released a bom yet
#### Cartesian
- i3
current Mendel design
- Mendel Max
larger, beam-styled Mendel
#### Biomechanical
- Simpson
Uses only rotary bearings, like biological entities such as you
Some design concerns; wear at base rotation points, accuracy on reel
drives
### Mentors / Guides
Unbeknowst to them, considering asking Julia and/or mirage.
## Links
- <https://groups.google.com/forum/#!forum/deltabot>
- <http://reprap.org/wiki/Kossel>
## People
David McInnis aka [User:gatohaus](User:gatohaus "wikilink")
-- general geek, minor user-level 3DP skill
-- want my very own 3DP at home
-- goal: reliable printing
## Log
2013.07.07 - Started page for 3DP build run.
[Category:3D Printing](Category:3D_Printing "wikilink")
[Category:Previous Projects](Category:Previous_Projects "wikilink")

37
3DP_Repair_2022.02.md Executable file
View File

@ -0,0 +1,37 @@
This is the documentation vertex for 3D Repair started Feb 26th 2022
Vital links and major log entries can be made here (by anyone, as
always).
## Goal
Repair Ultimaker, TAZ Mini, Monoprice Ultimate 2 and
The primary point is to get working, somewhat reliable machines running
in order to focus on using the printers. This may be a bit different
than many hackerspace builds that might focus on improving the 3DP
designs.
## People
Tayeb Zaidi aka [User:tark](User:tark "wikilink")
Matt Stafford
Kevin Cole
## Log
2022.02.26: Matt, Tayeb, and Kevin at the space initiating
upgrades/repairs
To Purchase for Ultimaker -- Extruder and Bowden tube to replace current
assembly To Purchase for Monoprice -- N/A
General 3D Printer Supplies: Filament, and airtight filament containers
General Supplies: Binder clips, razor blades, drivers for screwdrivers
(3-4 regular, 3-4 miniature), flat side wire cutters, lubricant
[Category:3D Printing](Category:3D_Printing "wikilink")
[Category:Previous Projects](Category:Previous_Projects "wikilink")

21
3DThurdays.md Executable file
View File

@ -0,0 +1,21 @@
# 3D Printer Thurdays
Every Thursday from 6pm - 10pm a group of 3D printer enthusiasts meet to
work on the 3D printers and print stuff. Drop by and check it out.
## Our current efforts include:
- Upgrading the Prusa Mendel to a Mendel 3
- Extruder Improvements for the Rostock Max V2
- Triage/Improvements for the 2 Mendel variants Julia has recently
brought to live here
- Build the recently donated LulzBot ... when it gets here
## Drop by And...
- Pick our brains about 3D printing tips and construction know how
- Help us build printers
- Donate your printer (3D or Otherwise=useful parts)
- 3D print something
[Category:Events](Category:Events "wikilink")

1
3D_Printing.md Executable file
View File

@ -0,0 +1 @@
1. REDIRECT[:Category:3D_Printing](:Category:3D_Printing "wikilink")

27
3D_Printing_Supplies.md Executable file
View File

@ -0,0 +1,27 @@
- [PLA Filament, 1.75mm](http://seemecnc.com/collections/filament/pla)
- [PLA Filament, 1.75mm. Low cost, available at Microcenter, reasonably
well established track record at
HacDC.](http://www.microcenter.com/product/434401/175mm_White_PLA_3D_Printer_Filament_-_1kg_Spool_(22_lbs))
- [PLA Filament, 3mm, used with old Prusa Mendel 3D
Printer](https://ultimachine.com/content/pla-3mm-white-1kg-spool)
- [PLA Polishing
Solvent](http://www.amazon.com/s/?field-keywords=tetrahydrofuran)
<!-- -->
- [Prusa Mendel HotEnd - Choose 0.35mm
nozzle.](http://www.makergear.com/products/operators-pack)
- [Generic stepper motor
drivers.](http://www.ebay.com/itm/Black-Edition-Pololu-Stepper-Driver-for-RepRap-3D-printers-RAMPS-Sanguinololu-/321166002455?pt=LH_DefaultDomain_0&hash=item4ac6fc4917)
<!-- -->
- [PEI print
surface](http://www.amazonsupply.com/polyetherimide-off-white-standard-tolerance-pei0113/dp/B00CPRDDLY/ref=sr_1_2?sr=1-2&qid=1392920847&filterBy.feature_twelve_browse-bin=6523581011)
described at [SeeMeCNC
forums](http://forum.seemecnc.com/viewtopic.php?f=36&t=4336).
[Category:PA_SUPPLIES](Category:PA_SUPPLIES "wikilink")
[Category:PrusaMendel](Category:PrusaMendel "wikilink")
[Category:RostockMax](Category:RostockMax "wikilink")
[Category:3D_Printing](Category:3D_Printing "wikilink")

17
AI_Class.md Executable file
View File

@ -0,0 +1,17 @@
## Artificial Intelligence
### Status: No Longer Taught
WHERE: HacDC 1525 Newton ST NW Washington D.C. 20010
WHEN: The first, third and fourth Tuesday of the month starting at
7:00pm. WHO: Brad Barr
HacDC will be hosting a study group for [Stanford's AI
class](http://ai-class.org). We'll be helping each other understand the
material, talk about the classes lectures, and discussing possible
project ideas. The listserv for the AI class can be found
[here](http://hacdc.org/cgi-bin/mailman/listinfo/ai-class). More
information will appear here when we get it.
[Category:Classes](Category:Classes "wikilink")

0
ATmega_documentation.md Executable file
View File

2
AVR_Class.md Executable file
View File

@ -0,0 +1,2 @@
1. REDIRECT
[AVR_Microcontroller_Class](AVR_Microcontroller_Class "wikilink")

7
AVR_Lesson__Interrupts.md Executable file
View File

@ -0,0 +1,7 @@
A recent and decent looking tutorial posted here for you and whoever
fills out this page!
- [tutorial on
avrfreaks](http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=89843)
[Category:AVR Tutorial](Category:AVR_Tutorial "wikilink")

116
AVR_Lesson__Output_Pins_I.md Executable file
View File

@ -0,0 +1,116 @@
Part of the [AVR Tutorial](AVR_Tutorial "wikilink")
## Goals
In this lesson, you'll program the micro-controller version of "hello
world", letting you fire up your programmer, compiler, chip, LED, and
test them all out. You'll learn how to setup and use pins for output,
and along the way get some exposure to AVR-specific coding practice.
## The Circuit
Possibly the simplest circuit you can imagine: plug an LED into pins PB4
and ground. PB4 is going to go the positive leg of the LED to source
current across the LED and light it up.
If you want, you can include a current-limiting resistor inline with the
LED (around 100 ohms is good). I've done it both ways -- the AVR will
drive the LED at ~50mA, which will burn out the LED over the long run,
but for this demo, it'll be fine.
## The Code
<nowiki>
/* Blinker Demo */
#include <avr/io.h> /* Defines pins, ports, etc */
#define F_CPU 1000000UL /* Sets up the chip speed for delay.h -- 1MHz for Tiny13*/
#include <util/delay.h> /* Functions to waste time */
#define LED PB4 /* Defines pin PB4 for the LED. I
often incorporate a bunch of the circuit
info in the defines, which makes
porting the code to another chip
easier and reminds you of how to
hook it up. */
int main(void){
DDRB = _BV(LED); /* Data Direction Register B:
writing a one to the bit
enables output. More on the
_BV() macro in the next
lesson.*/
while(1){ /* the main loop, from which we never return */
PORTB = _BV(LED); /* Turn on the LED bit/pin in PORTB */
_delay_ms(400); /* wait */
PORTB &= ~_BV(LED); /* Turn off the LED bit/pin in PORTB */
_delay_ms(400); /* wait */
}
return(0); /* never reached */
}
</nowiki>
## Discussion
Even though this is a very short program, it provides a sketch of what
most AVR code looks like.
At the top is a bunch of includes, defines, and etc.
**io.h** defines all of the port and pin macros and is linked to the
individual chip's io header during compilation, which allows the same
code to work for different AVR chips. You pretty much always want to
include io.h.
The delay functions in **delay.h** are fairly generic, but depend on
knowing the chip's CPU clock speed to get the timing right. Also note
that the maximum delay you can request also depends on the chip's clock
speed. Read up in delay.h for details if you're interested. Practically
speaking, if you're asking it to delay for 600ms and it's only delaying
for 200ms, try calling the _delay_ms() function three times, each for
200ms.
After the defines and includes we get down to the **main()** function.
Most AVR main()'s have at least an initialization section and an
infinitely-repeating loop where the bulk of the chip's work gets done.
In this example, the **initialization section** just sets up the LED pin
for output by writing a 1 to the relevant bit in the Data Direction
Register for port B. When the chip is reset or powered on, all of the
input/output ports are initialized as inputs (DDRB = 0). We write a one
to the DDR do set it as output. More on the bitwise math in the next
lesson.
The **main loop** of the function then blinks the LED by alternately
driving the output pin high (the supply voltage, VCC) or low (GND, 0v),
and it does this forever, or until the chip is reset or powered off.
(The return(0) line is just there to stop the compiler from warning
about main() functions that don't return -- a requirement of GCC that
isn't really relevant to the AVR, but it doesn't hurt the code either.)
For a lot more examples of what you can do just by toggling one pin, see
the code over at [AVR Noise Toys](AVR_Noise_Toys "wikilink").
## Trouble?
Programmer woes:
Is the LED in the correct polarity? (Positive to pin PB4, negative to
GND).
Is avrdude complaining? Try unplugging and re-plugging your programmer
if it's a USB one. Sometimes it can get out of sync.
If avrdude's not working, you may also be having permissions problems.
Solutions include running giveio.bat for Windows or calling avrdude (or
the make command) with *sudo* for Linux if you didn't set up user
permissions for USB.
[Category:AVR Tutorial](Category:AVR_Tutorial "wikilink")

123
AVR_Lesson__Setup.md Executable file
View File

@ -0,0 +1,123 @@
The first step is to get set up with all the necessary hardware and
software to start making your controllers do your bidding.
## Programmer
A programmer needn't be super-fancy. In fact, you can get by with five
wires soldered to a parallel port plug if you'd like. [This
Instructable](http://www.instructables.com/id/Ghetto-Programming%3a-Getting-started-with-AVR-micro/)
steps through making a parallel port programmer. I'll probably make up a
cable or two and bring it in to the space if you'd just like to try it
out. Note that if you've got a breadboard, you can skip the step of
making a programming cradle and just plug the wires into the correct
pins on the AVR.
If you're getting a little more serious, spend \$22 and get a [USB-based
programmer from ladyada](http://www.ladyada.net/make/usbtinyisp/) or
make your own [usbtiny SPI
programmer](http://www.xs4all.nl/~dicks/avr/usbtiny/) for maybe
\$10-15ish. If you're making your own, you'll need to flash an AVR with
the supplied firmware, but you can do that with a parallel port
programmer or just ask one of us to hook you up.
This part may seem daunting -- it's not. Dive in or get someone to help
you. The Ladyada kit is a good first/second soldering project.
Indeed, if any of that seems too complicated, just connect some wires
from a parallel port to the right pins on the AVR (perhaps directly onto
your breadboard?) and you're started. There's an adapter for doing just
that floating around the lab somewhere. For more on that style of
programmer, see [AVR Tutorial: Bootstrapping the
AVR](AVR_Tutorial:_Bootstrapping_the_AVR "wikilink")
## Software
The standard toolchain consists of a GCC-based C cross-compiler, the
AVR-libc libraries, and the software to run your programmer: *avrdude.*
Feel free to write the C or assembler code using whatever editor you
like best.
**Windows:** The whole toolchain is put together nicely with
[WinAVR](http://sourceforge.net/projects/winavr). Download and install.
If you're using a parallel port programmer, you'll need to also run the
included *giveio.bat* file to get yourself permissions.
**Linux:** I'm most familiar with Ubuntu these days. As of 2008/04,
"sudo apt-get install avrdude avr-libc binutils-avr gcc-avr" will set
you up. Or fetch tarballs and compile it yourself. (I'll incluce
versions here in a few.)
**MAC:**
Wanted to note something quick about my MAC experience so far (Q): I
haven't really read the link to ada's site about programming AVR for MAC
but 'AVRMacPack' is really cool! In OSX it's a simple .pkg file to
install and drop into /Applications - then as long as you've installed
XCode (that comes with macbook in the 2nd CD 'Developer Tools' section)
they have this great little script in there called 'avr-project'. When
you run this little badass piece of code it creates a DIR for your
project called /FIRMWARE and three things:
`An .xcodeproj file - this is a template (with skeleton code) for writing your program in Xcode`
`Makefile template which ROCKS - all you have to do after is change the DEVICE you're`
`  using along with PROGRAMMER and FUSES. (Will LINK my file here for reference `
` email Q if i forget)`
`main.c file that is just a stupid simple C template to get you started`
In addition to the compiler and programming software, it's nice to have
an [AVR Makefile](AVR_Makefile "wikilink") that automates the
cross-compilation build process. Comment in/out the first few defines to
match your environment.
## Chips
So you're set to program, but you need a couple chips. [This page at
AVRFreaks](http://www.avrfreaks.net/index.php?module=Freaks%20Devices&func=viewDev)
has some of the specs and all the datasheets in one place, but it's a
bit overwhelming.
A shortlist of the coolest chips includes:
**Tiny13** -- Smallest and cheapest. 8 pins, 5 of them useful. 1k
program memory. Goes everywhere. Cheaper and more versatile than a 555
IC. Some hardware SPI/I2C support, but it's a pain to write for.
**Tiny45** -- Another 8-pin, but with a high-speed (64MHz!) PWM clock
and 4k of program memory. ~\$0.75 from Digikey. Can be made to run at
16MHz+ using its internal oscillator, making firmware USB a reality.
Some hardware SPI/I2C support like the Tiny13.
**Tiny2313** -- 20 pins. It's the cheapest/smallest unit with \> 5
usable pins. Hardware USART makes serial communication (e.g. with your
computer) reasonably simple, which can be sweet for debugging or
datalogging.
**Mega 48** -- 28 pins. All of the bells and whistles, with 4k program
memory. 6 ADC channels, buncha timers, SPI/I2C/USART communications.
They'll do what you want.
**Mega 88, 168** and beyond. A lot of power for under \$10. Overkill for
most of my (Elliot's) small projects, but when you need the memory, you
need the memory.
Maybe we could do a few group purchases to get up to Digikey's
price-break minimums. Interested? E-mail Elliot.
And while you're at the AVRFreaks page, download both the long and short
datasheets for whichever chips you end up buying. The short one has a
nice pinout diagram on page two, while the long one explains everything
you'll ever need to know.
## Misc. Extras
You're at least going to need some LED's to go blink. Pushbuttons are
nice for playing around with inputs. Photocells give your creations
sight. Motors and motor drivers give you legs. I'm sure there's more
than enough scrounge around the space to get everyone started.
[This
Instructable](http://www.instructables.com/id/Ghetto-Development-Environment)
details my current setup, and is a good start.
[Category: AVR Tutorial](Category:_AVR_Tutorial "wikilink")

392
AVR_Makefile.md Executable file
View File

@ -0,0 +1,392 @@
<nowiki>
# WinAVR Sample makefile written by Eric B. Weddington, J??rg Wunsch, et al.
# Modified (bringing often-changed options to the top) by Elliot Williams
# make all = Make software and program
# make clean = Clean out built project files.
# make program = Download the hex file to the device, using avrdude. Please
# customize the avrdude settings below first!
# Microcontroller Type
MCU = attiny13
# MCU = attiny2313
# MCU = atmega8
# MCU = attiny45
# Target file name (without extension).
TARGET = LED_Demo
# Programming hardware: type avrdude -c ?
# to get a full listing.
# AVRDUDE_PROGRAMMER = dapa
AVRDUDE_PROGRAMMER = usbtiny
# AVRDUDE_PROGRAMMER = dt006
AVRDUDE_PORT = /dev/usb # not really needed for usb
#AVRDUDE_PORT = /dev/parport0 # linux
# AVRDUDE_PORT = lpt1 # windows
############# Don't need to change below here for most purposes (Elliot)
# Optimization level, can be [0, 1, 2, 3, s]. 0 turns off optimization.
# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
OPT = s
# Output format. (can be srec, ihex, binary)
FORMAT = ihex
# List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c
# If there is more than one source file, append them above, or modify and
# uncomment the following:
#SRC += foo.c bar.c
# You can also wrap lines by appending a backslash to the end of the line:
#SRC += baz.c \
#xyzzy.c
# List Assembler source files here.
# Make them always end in a capital .S. Files ending in a lowercase .s
# will not be considered source files but generated files (assembler
# output from the compiler), and will be deleted upon "make clean"!
# Even though the DOS/Win* filesystem matches both .s and .S the same,
# it will preserve the spelling of the filenames, and gcc itself does
# care about how the name is spelled on its command-line.
ASRC =
# List any extra directories to look for include files here.
# Each directory must be seperated by a space.
EXTRAINCDIRS =
# Optional compiler flags.
# -g: generate debugging information (for GDB, or for COFF conversion)
# -O*: optimization level
# -f...: tuning, see gcc manual and avr-libc documentation
# -Wall...: warning level
# -Wa,...: tell GCC to pass this to the assembler.
# -ahlms: create assembler listing
CFLAGS = -g -O$(OPT) \
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums \
-Wall -Wstrict-prototypes \
-Wa,-adhlns=$(<:.c=.lst) \
$(patsubst %,-I%,$(EXTRAINCDIRS))
# Set a "language standard" compiler flag.
# Unremark just one line below to set the language standard to use.
# gnu99 = C99 + GNU extensions. See GCC manual for more information.
#CFLAGS += -std=c89
#CFLAGS += -std=gnu89
#CFLAGS += -std=c99
CFLAGS += -std=gnu99
# Optional assembler flags.
# -Wa,...: tell GCC to pass this to the assembler.
# -ahlms: create listing
# -gstabs: have the assembler create line number information; note that
# for use in COFF files, additional information about filenames
# and function names needs to be present in the assembler source
# files -- see avr-libc docs [FIXME: not yet described there]
ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs
# Optional linker flags.
# -Wl,...: tell GCC to pass this to linker.
# -Map: create map file
# --cref: add cross reference to map file
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
# Additional libraries
# Minimalistic printf version
#LDFLAGS += -Wl,-u,vfprintf -lprintf_min
# Floating point printf version (requires -lm below)
#LDFLAGS += -Wl,-u,vfprintf -lprintf_flt
# -lm = math library
LDFLAGS += -lm
# Programming support using avrdude. Settings and variables.
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep
AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
# Uncomment the following if you want avrdude's erase cycle counter.
# Note that this counter needs to be initialized first using -Yn,
# see avrdude manual.
#AVRDUDE_ERASE += -y
# Uncomment the following if you do /not/ wish a verification to be
# performed after programming the device.
#AVRDUDE_FLAGS += -V
# Increase verbosity level. Please use this when submitting bug
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
# to submit bug reports.
#AVRDUDE_FLAGS += -v -v
#Run while cable attached or don't
AVRDUDE_FLAGS += -E reset #keep chip disabled while cable attached
#AVRDUDE_FLAGS += -E noreset
#AVRDUDE_WRITE_FLASH = -U lfuse:w:0x04:m #run with 8 Mhz clock
#AVRDUDE_WRITE_FLASH = -U lfuse:w:0x21:m #run with 1 Mhz clock #default clock mode
#AVRDUDE_WRITE_FLASH = -U lfuse:w:0x01:m #run with 1 Mhz clock no start up time
# ---------------------------------------------------------------------------
# Define directories, if needed.
DIRAVR = c:/winavr
DIRAVRBIN = $(DIRAVR)/bin
DIRAVRUTILS = $(DIRAVR)/utils/bin
DIRINC = .
DIRLIB = $(DIRAVR)/avr/lib
# Define programs and commands.
SHELL = sh
CC = avr-gcc
OBJCOPY = avr-objcopy
OBJDUMP = avr-objdump
SIZE = avr-size
# Programming support using avrdude.
AVRDUDE = avrdude
REMOVE = rm -f
COPY = cp
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) -A $(TARGET).elf
# Define Messages
# English
MSG_ERRORS_NONE = Errors: none
MSG_BEGIN = -------- begin --------
MSG_END = -------- end --------
MSG_SIZE_BEFORE = Size before:
MSG_SIZE_AFTER = Size after:
MSG_COFF = Converting to AVR COFF:
MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
MSG_FLASH = Creating load file for Flash:
MSG_EEPROM = Creating load file for EEPROM:
MSG_EXTENDED_LISTING = Creating Extended Listing:
MSG_SYMBOL_TABLE = Creating Symbol Table:
MSG_LINKING = Linking:
MSG_COMPILING = Compiling:
MSG_ASSEMBLING = Assembling:
MSG_CLEANING = Cleaning project:
# Define all object files.
OBJ = $(SRC:.c=.o) $(ASRC:.S=.o)
# Define all listing files.
LST = $(ASRC:.S=.lst) $(SRC:.c=.lst)
# Combine all necessary flags and optional flags.
# Add target processor to flags.
ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS)
ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target: make program!
all: begin gccversion sizebefore $(TARGET).elf $(TARGET).hex $(TARGET).eep \
$(TARGET).lss $(TARGET).sym sizeafter finished end
# $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
# Eye candy.
# AVR Studio 3.x does not check make's exit code but relies on
# the following magic strings to be generated by the compile job.
begin:
@echo
@echo $(MSG_BEGIN)
finished:
@echo $(MSG_ERRORS_NONE)
end:
@echo $(MSG_END)
@echo
# Display size of file.
sizebefore:
@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); echo; fi
sizeafter:
@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi
# Display compiler version information.
gccversion :
@$(CC) --version
# Convert ELF to COFF for use in debugging / simulating in
# AVR Studio or VMLAB.
COFFCONVERT=$(OBJCOPY) --debugging \
--change-section-address .data-0x800000 \
--change-section-address .bss-0x800000 \
--change-section-address .noinit-0x800000 \
--change-section-address .eeprom-0x810000
coff: $(TARGET).elf
@echo
@echo $(MSG_COFF) $(TARGET).cof
$(COFFCONVERT) -O coff-avr $< $(TARGET).cof
extcoff: $(TARGET).elf
@echo
@echo $(MSG_EXTENDED_COFF) $(TARGET).cof
$(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof
# Program the device.
program: $(TARGET).hex $(TARGET).eep
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
# Create final output files (.hex, .eep) from ELF output file.
%.hex: %.elf
@echo
@echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
%.eep: %.elf
@echo
@echo $(MSG_EEPROM) $@
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@
# Create extended listing file from ELF output file.
%.lss: %.elf
@echo
@echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -S $< > $@
# Create a symbol table from ELF output file.
%.sym: %.elf
@echo
@echo $(MSG_SYMBOL_TABLE) $@
avr-nm -n $< > $@
# Link: create ELF output file from object files.
.SECONDARY : $(TARGET).elf
.PRECIOUS : $(OBJ)
%.elf: $(OBJ)
@echo
@echo $(MSG_LINKING) $@
$(CC) $(ALL_CFLAGS) $(OBJ) --output $@ $(LDFLAGS)
# Compile: create object files from C source files.
%.o : %.c
@echo
@echo $(MSG_COMPILING) $<
$(CC) -c $(ALL_CFLAGS) $< -o $@
# Compile: create assembler files from C source files.
%.s : %.c
$(CC) -S $(ALL_CFLAGS) $< -o $@
# Assemble: create object files from assembler source files.
%.o : %.S
@echo
@echo $(MSG_ASSEMBLING) $<
$(CC) -c $(ALL_ASFLAGS) $< -o $@
# Target: clean project.
clean: begin clean_list finished end
clean_list :
@echo
@echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET).obj
$(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map
$(REMOVE) $(TARGET).obj
$(REMOVE) $(TARGET).a90
$(REMOVE) $(TARGET).sym
$(REMOVE) $(TARGET).lnk
$(REMOVE) $(TARGET).lss
$(REMOVE) $(OBJ)
$(REMOVE) $(LST)
$(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d)
$(REMOVE) *~
# Automatically generate C source code dependencies.
# (Code originally taken from the GNU make user manual and modified
# (See README.txt Credits).)
#
# Note that this will work with sh (bash) and sed that is shipped with WinAVR
# (see the SHELL variable defined above).
# This may not work with other shells or other seds.
#
%.d: %.c
set -e; $(CC) -MM $(ALL_CFLAGS) $< \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > $@; \
[ -s $@ ] || rm -f $@
# Remove the '-' if you want to see the dependency files generated.
-include $(SRC:.c=.d)
# Listing of phony targets.
.PHONY : all begin finish end sizebefore sizeafter gccversion coff extcoff \
clean clean_list program
</nowiki>
[Category: AVR Tutorial](Category:_AVR_Tutorial "wikilink")

14
AVR_Microcontroller_Class.md Executable file
View File

@ -0,0 +1,14 @@
We've had two rounds of the AVR Microcontroller class at HacDC so far.
- If you're looking to learn, see the 2011 class. [AVR Microcontroller
Class 2011](AVR_Microcontroller_Class_2011 "wikilink") (happened in
Feb/March 2011)
<!-- -->
- If you're looking for specific old materials, we're keeping that
online too! [AVR Microcontroller Class
2009](AVR_Microcontroller_Class_2009 "wikilink") (the first run of the
class)
[Category:AVR_Class](Category:AVR_Class "wikilink")

180
AVR_Microcontroller_Class_2009.md Executable file
View File

@ -0,0 +1,180 @@
Syllabus, course material, homeworks, photos, etc from a previous
Introduction to Microcontrollers with AVR chips class can be found here.
For the current class, head on over to [AVR Microcontroller Class
2011](AVR_Microcontroller_Class_2011 "wikilink")
Also see (and contribute to) [Useful AVR
Links](Useful_AVR_Links "wikilink")
## Class 0: Introduction and Setup
What the AVRs are, what all the pins do, what they can do for you. Then
the toolchain: soldering together the programmer kits, getting the
software up and running.
Labs: building the kit and running a test LED flasher. (Almost all lab
today, little talk.)
**Resources**:
- Slides from class: [Media:class0.pdf](Media:class0.pdf "wikilink")
- ATmega48P Datasheets (get both): [ATmega48P Summary
Datasheet](http://www.atmel.com/dyn/resources/prod_documents/8025S.pdf)
and [The Long ATmega48P
Datasheet](http://www.atmel.com/dyn/resources/prod_documents/doc8025.pdf)
- Download the software part of the toolchain: For Mac folks: [AVR Mac
Pack](http://www.obdev.at/products/avrmacpack/index.html). For Windows
folks: [WinAVR](http://winavr.sourceforge.net/) and the Atmel IDE [AVR
Studio](http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725).
For Ubuntu linux folks: "sudo apt-get install build-essential avr-libc
binutils-avr gcc-avr avrdude"
- Programmer and mega48 pinouts:
![Image:FFVH7HBF5UO1JMR.MEDIUM.jpg](FFVH7HBF5UO1JMR.MEDIUM.jpg "Image:FFVH7HBF5UO1JMR.MEDIUM.jpg")
<img src="Screenshot-ATmega48-88-168.png"
title="Screenshot-ATmega48-88-168.png" width="320"
alt="Screenshot-ATmega48-88-168.png" />
## Class 1: Programmer Hookup and Hello World LED Blinking
Lecture on how the programmer works -- simple serial interface basics.
Some basics on avrdude / GCC tools. Hook up the programming interface
wire-by-wire to the Mega48 chip and flash it with a simple program. Then
hook up an LED to the output port and watch it blink!
**Resources**
- [helloWorld.zip](http://elliotwilliams.org/avrclass/helloWorld.zip)
<!-- -->
- Class notes: [Media:class1.pdf](Media:class1.pdf "wikilink")
<!-- -->
- Wiring Diagram:
<img src="wiring.png" title="wiring.png" width="520" alt="wiring.png" />
**Homeworks**
- Your kit has 10 resistors and 10 LEDs. If you want, you can solder
them together to make \[AVR: LED Blinkenlights\].
<!-- -->
- If you didn't already, make labels for the signal wires. Think of an
easy way to remember which go where (into the 6-pin or 10-pin header).
And/or make permanent programmer "pigtails" by soldering the signal
wires to a 2x3 header in the correct orientation (headers available in
the HacDC hackersmart for pennies).
<!-- -->
- Play around with the delays in the LED_Demo.c code. Make the blinking
faster or slower. Experiment with on time and off time.
## Class 2: Outputs: Bit Math, Cylon Eyes, and PWM Fading
How to make chips speak to the outside world, pin-by-pin. Enough C
bitwise-math operations to make it work. Pulse-width modulation.
Labs: Visualizing bytes, Cylon eyes, and dimming LED's. Extra credit:
cross-fading cylon eyes!
**Resources**
- [registers.zip](http://elliotwilliams.org/avrclass/registers.zip)
- [cylonEyes.zip](http://elliotwilliams.org/avrclass/cylonEyes.zip)
- [introPWM.zip](http://elliotwilliams.org/avrclass/introPWM.zip)
- Class notes: [Media:class2.pdf](Media:class2.pdf "wikilink")
**Homework**
- So you can make various lights blink and/or dim. Now what?
Cross-fading cylon eyes? Patterns? Something groovy?
<!-- -->
- Note that you've got an 8-bit display if you're willing to read out
numbers in binary. Useful for debugging later on, for sure. What else?
Binary clock? Simple upcounter? Display "random" numbers?
<!-- -->
- If you could swing it around, you'd be on your way to a [POV
toy](http://www.ladyada.net/make/minipov3/index.html).
## Class 3: Inputs: Buttons
Gather data from the world. The lecture ended up being just on digital
input.
Labs: One note organ [Media: class3.pdf](Media:_class3.pdf "wikilink")
## Class 4: Inputs: Debouncing and Analog-to-Digital conversion (ADC)
This class, we'll get to debouncing our button input, and reading in
continuous voltages
For more info on ADC stuff, see [this
note](http://www.avrfreaks.net/index.php?module=Freaks%20Files&func=viewFile&id=383&showinfo=1)
Labs: pushbutton organ, light-dependent theremin.
[Media: class4.pdf](Media:_class4.pdf "wikilink")
[Media:
debouncedMusicbox.zip](Media:_debouncedMusicbox.zip "wikilink")
[Media:
lightDependentTheremin.zip](Media:_lightDependentTheremin.zip "wikilink")
## Class 5: Serial I/O and Interrupts I
Laptop, meet AVR. AVR, laptop. Serial communication (plus serial-to-USB
cable) lets you connect your micro to about anything, including your
computer. Interrupts let the hardware (pins, serial port, timers, etc)
call run functions for you, with the main body of your code picking up
where you left off. Combine the two, and you can get pushbutton control
of an AVR from your laptop keyboard.
[Media: helloSerial.zip](Media:_helloSerial.zip "wikilink")
[Media: helloInterrupts.zip](Media:_helloInterrupts.zip "wikilink")
[Media: class5.pdf](Media:_class5.pdf "wikilink")
And as a bonus, if you run Python,
[serialScope.py](http://www.jerkpile.com/serialScope.py) provides a
helpful debugging tool and an example of how simple USB/Serial code can
be on the laptop side. Coupled with on-chip ADC, it's a (low speed,
sideways) serial oscilloscope. Otherwise, a handy debugging aide.
**Homework:** Take the scale.h from last class, and using input from
your laptop, make a full keyboard out of the AVR plus speaker. Or write
a ROT-13 device that takes your input and returns the encoded version.
## Class 6: Timers/Counters and Interrupts II
Timers/counters let you do precision things with time. Fix up that nasty
audio tone from the LDR theremin. Precise timing allows you to use LED's
as light sensors. It's also good for making quality analog output and
for directing servo motors. Interrupts + timers = deluxe PWM. Or give
your AVR a solid internal timebase. (You know you want to.) In this
class, we'll scratch the surface of what you can do with timers.
[Media: timerPWM.zip](Media:_timerPWM.zip "wikilink")
[Media:
timerPWM_ctc_hardware_toggle.c](Media:_timerPWM_ctc_hardware_toggle.c "wikilink")
## Extra Credit: I2C
Talked a bit about the I2C serial protocol -- a light-weight serial
multi-master bus using two wires (plus ground) and capable of addressing
127 different devices. Great for connecting to all sorts of peripherals.
Demoed an \$20 I2C 3-axis accelerometer using bare-minimum I2C code,
with none of the error-checking that the pro's would do. But it works a
charm. That's why it's called hacking, baby!
[Media: i2c_class.pdf](Media:_i2c_class.pdf "wikilink")
[Media: i2c_accelerometer.zip](Media:_i2c_accelerometer.zip "wikilink")
[Category:AVR_Class](Category:AVR_Class "wikilink")

171
AVR_Microcontroller_Class_2011.md Executable file
View File

@ -0,0 +1,171 @@
Syllabus, course material, homeworks, photos, etc from an Introduction
to Microcontrollers with AVR chips class can be found here.
Also see (and contribute to) [Useful AVR
Links](Useful_AVR_Links "wikilink") For info about the kit:
[Avr2011_kit](Avr2011_kit "wikilink") and [Avr2011 Programming The
Kit](Avr2011_Programming_The_Kit "wikilink") Or check out the old
version of the course [AVR Microcontroller Class
2009](AVR_Microcontroller_Class_2009 "wikilink")
## Class 0: Introduction and Setup
Hello World!
**Covers**: What the AVRs are, what all the pins do, what they can do
for you. A brief tour of the toolchain, and getting your firmware up and
running on the chip. Reading the datasheets. How to make chips speak
digital to the outside world, pin-by-pin. Just enough C programming
fundamentals to make it work.
**Slides:**
[Media:avr2011_class0.pdf](Media:avr2011_class0.pdf "wikilink")
**Lab**: Building the kit and running a test LED flasher.
For assembly instructions and more details on the class kit, see
[Avr2011_kit](Avr2011_kit "wikilink"). How to program the class kit, see
[Avr2011 Programming The Kit](Avr2011_Programming_The_Kit "wikilink").
**Demo Code**: [Media: LED_Demo.tgz](Media:_LED_Demo.tgz "wikilink")
**Homework**: More soldering, and Cylon Eyes. Optional extra credit:
Simple POV toy (hint, make the timing around 2ms between updates and
swing your arms). Super bonus points: Make a neat POV toy.
**OPC (Other People's Code)**:
[Media: Pov demo.tar.gz](Media:_Pov_demo.tar.gz "wikilink") An example
POV toy. This contains 4 different patterns; two diamonds, a trapezoid
and a **smiley face**. Also contains examples of using a character array
to drive the POV toy, as well as use of constants to determine how the
program runs. - Will
**Resources**:
- ATmega48P Datasheets (get both): [ATmega48P Summary
Datasheet](http://www.atmel.com/dyn/resources/prod_documents/8025S.pdf)
and [The Long ATmega48P
Datasheet](http://www.atmel.com/dyn/resources/prod_documents/doc8025.pdf)
- Bootloader appnote
[1](http://www.atmel.com/dyn/resources/prod_documents/doc1644.pdf)
- [Installing AVR Toolchain](Installing_AVR_Toolchain "wikilink")
<figure>
<img src="Screenshot-ATmega48-88-168.png"
title="Screenshot-ATmega48-88-168.png" width="500" />
<figcaption>Screenshot-ATmega48-88-168.png</figcaption>
</figure>
## Class 1: Digital and Serial I/O
Interfacing with the real world is the soul of microcontrolling.
**Covers**: Gathering simple data from the world, and learn how to spit
it back out. A serial link with your computer enables all sorts of
tricks, and enables the microcontroller version of printf debugging.
Some boolean logic comes in handy here. Along the way, we'll learn a
bunch about debouncing switches.
**Slides**:
[Media:avr2011_class1.pdf](Media:avr2011_class1.pdf "wikilink")
**Labs**: More Cylon Eyes, All sorts of button-pressing demos,
ASCII-to-binary keymapper, General-purpose serial LED display
**Demo Code**: [Media:
avr2011_class1_demoCode.tgz](Media:_avr2011_class1_demoCode.tgz "wikilink")
**HW**: Ghetto logic probe and analyzer: read input on PORTC, display
values on the LEDs, write out the value of PINC over serial,
interpret/log/whatever using your laptop
**OPC (Other People's Code)**: [microTweeter](microTweeter "wikilink") a
silly little program to interface twitter with a microcontroller. It is
designed to post quotes from a file when a button is pressed on a
microcontroller. This was done as learning experience with python,
serial communications and social media integration. -Will G.
**Resources**:
- More than you ever wanted to know about debouncing: [A Guide to
Debouncing](http://www.ganssle.com/debouncing.htm)
## Class 2: ADC and PWM: "Analog" I/O
**Covers**: Learn about ways to fake analog data into and out of your
microcontroller. We'll learn how to switch logic states fast to emulate
an analog output, and how to use the built-in analog-to-digital
converters to measure the complex real-world.
**Slides**:
[Media:avr2011_class2.pdf](Media:avr2011_class2.pdf "wikilink")
**Demo Code**: [Media:
avr2011_class2_demoCode.tgz](Media:_avr2011_class2_demoCode.tgz "wikilink")
**Labs**: Dimming LEDs, light-level meter, ghetto oscilloscope
**Homework**: Auto-dimming LED or basic light-level data logger
**Resources**: You'll need to solder up the light sensors: [follow these
directions](http://wiki.hacdc.org/index.php/Avr2011_kit#Adding_the_Light_Sensor_for_Class_2_.28ADC.29)
## Class 3: Interrupts
**Covers**: Interrupts call subroutines when certain conditions are
true. They take a lot of the programming burden off your shoulders,
enable the AVR to syncronize to external devices, and are great for
super-fast response applications.
**Slides**: [Media:
avr2011_class3.pdf](Media:_avr2011_class3.pdf "wikilink")
**Demo Code**: [Media:
avr2011_externalInterrupt.tgz](Media:_avr2011_externalInterrupt.tgz "wikilink"),
[Media:
avr2011_serialInterrupt.tgz](Media:_avr2011_serialInterrupt.tgz "wikilink")
**Labs**: Bunch of pushbutton interrupt routines, light/dark transition
sensor, non-blocking serial I/O
**Homework**: Response-time-tester Game or "improved" interrupt-driven
ghetto oscilloscope
**Resources**:
## Class 4: Timers and Counters
**Covers**: Timers and counters let you time and count events! Up until
now, we've been doing a lot with for loops and delays to count the
passing of time. It's much easier and more precise to let the hardware
do the timing. When you add interrupts and timers together, the world
becomes your oyster!
**Slides**: [Media:
avr2011_class4.pdf](Media:_avr2011_class4.pdf "wikilink")
**Demo Code**: [Media:
avr2011_counterClock.tgz](Media:_avr2011_counterClock.tgz "wikilink")
[Media:
avr2011_counterPWM.tgz](Media:_avr2011_counterPWM.tgz "wikilink")
**Labs**:
**Homework**: Response-time-tester Game or tone generator
## Class 5: Flash, EEPROM, I2C, USB, SD Cards, GPS, and Life After AVR Class
**Covers**: First, we'll cover using the internal flash memory and
EEPROM for data storage. Then I'll demo how to use other people's
code/libraries and tie it in to our packages, interfacing with all sorts
of random devices for fun and profit. The final (optional) trick will be
turning your classboard into a standalone AVR programmer so that you can
program raw chips yourself, and outgrow the bootloader.
**Labs**:
**Homework**:
[Category:Microcontrollers](Category:Microcontrollers "wikilink")
[Category:AVR_Class](Category:AVR_Class "wikilink")

150
AVR_Noise_Toys.md Executable file
View File

@ -0,0 +1,150 @@
## Noise Toys
To turn a blinky LED program into a simple square-wave synthesizer, plug
a speaker into PB4 and ground (where the LED was before), and turn up
the frequency.
The code is largely the same, just toggling a pin on and off, but now
doing it at different speeds (for different tones) and for differing
time periods (notes duration).
## squareOne.c
<nowiki>
/* Makes a quick square wave for noise-making experimentation. */
#include <inttypes.h>
#include <avr/io.h>
#define F_CPU 16000000L /* really? tested with the scope for Tiny45 */
#include <util/delay.h>
void init(void){
DDRB |= _BV(PB4);
}
int main(void){
uint8_t i, j, k;
uint16_t wavelength;
init();
while(1){
for (k = 10; k > 3; k--){ /* pitch multiplier: makes different notes */
wavelength = 20*k;
for (j=0; j < 200/k; j++){
/* number of cycles at each pitch: controls speed of loop */
PORTB |= _BV(PB4);
for (i=0; i < wavelength; i++) /* on for 20*wavelength microsecs */
_delay_us(20); /* loop needed b/c each call to
the delay function can't
delay all that long before
it overflows */
PORTB &= ~_BV(PB4); /* off for 20*wavelength microsecs */
for (i=0; i < wavelength; i++)
_delay_us(20);
}
}
}
}
</nowiki>
## spacePhaser.c
<nowiki>
/* Starts with a very short pulse (high-frequency) and drops rapidly. */
#include <inttypes.h>
#include <avr/io.h>
#define F_CPU 16000000L /* really? tested with the scope */
#include <util/delay.h>
void init(void){
DDRB |= _BV(PB4);
}
int main(void){
uint8_t i, j, k;
uint16_t wavelength;
init();
while(1){
for (k = 3; k < 120; k++){ /* pitch multiplier: makes different notes */
wavelength = k;
for (j=0; j < 200/k; j++){
/* number of cycles at each pitch: controls speed of loop */
PORTB |= _BV(PB4);
for (i=0; i < wavelength; i++) /* on for 20*wavelength microsecs */
_delay_us(20); /* loop needed b/c each call to
the delay function can't
delay all that long before
it overflows */
PORTB &= ~_BV(PB4); /* off for 20*wavelength microsecs */
for (i=0; i < wavelength; i++)
_delay_us(20);
}
}
for (j=0; j < 60; j++){ /* with delay between shots */
for (i=0; i < 250; i++)
_delay_us(200);
}
}
}
</nowiki>
## chaosEngine.c
<nowiki>
/* Now the frequency of the wave is a crazy function. */
#include <inttypes.h>
#include <avr/io.h>
#define F_CPU 16000000L /* really? tested with the scope */
#include <util/delay.h>
void init(void){
DDRB |= _BV(PB4);
}
int main(void){
uint8_t i, j, k;
uint16_t wavelength;
init();
while(1){
wavelength = (13 * wavelength + 1) % 123 + 100;
for (j=0; j < 30; j++){
/* number of cycles at each pitch */
PORTB |= _BV(PB4);
for (i=0; i < wavelength; i++) /* on for 20*wavelength microsecs */
_delay_us(20); /* loop needed b/c each call to
the delay function can't
delay all that long before
it overflows */
PORTB &= ~_BV(PB4); /* off for 20*wavelength microsecs */
for (i=0; i < wavelength; i++)
_delay_us(20);
}
}
for (j=0; j < 60; j++){ /* longer delay between shots */
for (i=0; i < 250; i++)
_delay_us(200);
}
}
</nowiki>
[Category: AVR Tutorial](Category:_AVR_Tutorial "wikilink")

71
AVR_Tutorial.md Executable file
View File

@ -0,0 +1,71 @@
Warning: this page is a nearly-completely incomplete skeleton. For the
class (and supporting materials) that actually came to be, see [AVR
Microcontroller Class](AVR_Microcontroller_Class "wikilink"). This
section needs a lot of development, so if you're in the mood please feel
free.
There's a lot of good information out there about programming
micro-controllers, but I couldn't find a good, stepwise, lesson-based
tutorial. Since a bunch of the HacDC folks are just learning their way
around, I thought it'd be fun to put together a mini-course based on the
Atmel AVR platform and GNU-GCC. The idea is to have each lesson doable
in an hour or so
What follows is a mix of how-to and code snippets and peoples'
experience walking through it all. If you're following along and want to
contribute, feel free.
[Useful AVR Links](Useful_AVR_Links "wikilink")
## The Basics (take these in order):
[AVR Lesson: Setup](AVR_Lesson:_Setup "wikilink"): Get a programmer, a
chip, the software, and some parts
[AVR Lesson: Output Pins I](AVR_Lesson:_Output_Pins_I "wikilink"): Basic
output and LED Blinky example
[AVR Lesson: Output Pins II](AVR_Lesson:_Output_Pins_II "wikilink"):
Binary math and Cylon Eyes
[AVR Lesson: Input Pins](AVR_Lesson:_Input_Pins "wikilink"): Debouncing
and Button-triggered Cylon Eyes
[AVR Lesson: Timers](AVR_Lesson:_Timers "wikilink"): Clocks and how to
use them.
[AVR Lesson: Interrupts](AVR_Lesson:_Interrupts "wikilink"):
[AVR Lesson: Pulse-width
Modulation](AVR_Lesson:_Pulse-width_Modulation "wikilink"): An easy way
to get analog outputs. Dimming LEDs or Crossfading Cylon Eyes
[AVR Lesson: Analog-digital
Conversion](AVR_Lesson:_Analog-digital_Conversion "wikilink"):
Automatical Dimming Night Light
## Advanced Material (mix-n-match):
[AVR Lesson: Watchdog Timers](AVR_Lesson:_Watchdog_Timers "wikilink"):
[AVR Lesson: I2C](AVR_Lesson:_I2C "wikilink")
[AVR Lesson: Using Program
Memory](AVR_Lesson:_Using_Program_Memory "wikilink"):
[AVR Lesson: Motor Driving](AVR_Lesson:_Motor_Driving "wikilink"):
[AVR Lesson: Servo Control](AVR_Lesson:_Servo_Control "wikilink"):
[AVR Lesson: State Machines](AVR_Lesson:_State_Machines "wikilink"):
[AVR Lesson: Sound](AVR_Lesson:_Sound "wikilink"):
[AVR Lesson: Serial I/O](AVR_Lesson:_Serial_I/O "wikilink"):
[AVR Lesson: USB](AVR_Lesson:_USB "wikilink"):
[AVR Lesson: Interfacing with External
Memory](AVR_Lesson:_Interfacing_with_External_Memory "wikilink")
[Category: AVR Tutorial](Category:_AVR_Tutorial "wikilink")

View File

@ -0,0 +1,36 @@
So you want to program an AVR, but you don't have a programmer? Do you
have a parallel port? Then fear not!
The AVR chips are set up to flash their program memory through a serial
connection with the host computer, so programming them is mostly a
matter of getting the right lines to the chip, with the rest taken care
of by the AVRdude software.
The simplest way to get started is with one of the parallel-port
"programmers". The basic procedure is to a) look at the docs for
AVRdude's various parallel port adapters, b) look at the pinouts for the
chip you're using, and c) wire the right pins on the parallel port to
the right pins on your AVR.
For instance, the DAPA (Direct AVR Parallel Access) "programmer" makes
the following connections between the parallel port pins and the AVR:
| Parallel Pin | AVR |
|--------------|-------|
| 1 | SCK |
| 2 | MOSI |
| 11 | MISO |
| 16 | RESET |
| 20 | GND |
| 21 | GND |
Connect the wires and test it out! Type **avrdude -n -v -p tiny13 -c
dapa** and you should see your part recognized and the fuse settings
displayed. (Make sure to substitute your part name for tiny13. Type
**avrdude -p help** to see the list of supported parts.)
For a much more complicated boot strap technique, there is the [secure
bootloader](secure_bootloader "wikilink") that uses AES encrypted
firmware images.
[Category: AVR Tutorial](Category:_AVR_Tutorial "wikilink")

50
AX.25.md Executable file
View File

@ -0,0 +1,50 @@
- OSI layer 2 (data link layer) protocol. Technically, it occupies
layers 1-3.
- Same layer as BATMAN-Advanced.
- Used for packet radio by hams.
- Can transport network layer protocols, including IP.
- Not designed to support switching, though routers can probably be set
up to handle it.
- Support in the Linux kernel.
- v2.6.x: ax25.ko
- Commonly used with three different communication specs:
- Bell 103 tones @ 300bps
- Bell 202 tones @ 1200bps
- G3RUH DFSK @ 9600bps
- These speeds are hard limits.
- KISS encapsulates frames such that they can be send to a TNC for
transmission. Derived from SLIP.
- KISS is a serial protocol. Thus, multiple serial channels are required
for multiple transceivers.
- Other protocols fulfill the same function.
- Either half or full duplex modes.
- Three components
- Kernel module
- Configuration utilities
- Utility software
- Each AX.25 network device ("port") must be configured with a unique
callsign/SSID. Hostnames are probably not a good idea.
- We would be using [soundmodem](Notes_on_Soundmodem "wikilink") on top
of AX.25.
Configuring AX.25 network interface:
` ifconfig sm0 hw ax25 `<callsign>` up`
` Create an entry in /etc/ax25/axports for the network interface:`
`     sm0 `<callsign>` `<speed in bps>` `<maximum packet length>` <AX.25 window parameter (K)> `<description of interface>
Once this is done, you can treat it like any other network interface:
` ifconfig sm0 192.168.1.1 netmask 255.255.255.0`
` route add -net 192.168.1.0 netmask 255.255.255.0 sm0`
` route add default sm0`
[Using /usr/bin/call to test an AX.25
connection.](http://tldp.org/HOWTO/AX25-HOWTO/x1449.html)
[Wikipedia: AX.25](https://secure.wikimedia.org/wikipedia/en/wiki/AX.25)
[About AX.25](http://www.tapr.org/pub_ax25.html) [Linux AX.25
Howto](http://tldp.org/HOWTO/AX25-HOWTO/)
[Category:Byzantium](Category:Byzantium "wikilink")

55
A_HacDC_Christmas.md Executable file
View File

@ -0,0 +1,55 @@
This is a proposal to create a holiday-themed program for kids, aimed at
raising money for and awareness of [the Loaves & Fishes
program](http://www.loavesandfishesdc.org/). Saturday night (weekend in
December) would be the best time.
## Proposal Vitals
**Status**: In Progress, Discussion
- Project Lead: [Q](User:Q "wikilink")'''
- Proposed Budget: \$500.00'''
- Goals:
- To have a high profile charity event to stimulate HacDC's presence
in the community
- To boost our 501(c)(3) application
- To build relationships within the church
## Detailed Proposal
The idea is basically to have the Church transformed into a technology
playground for kids of the area, in a very Christmas type fashion. The
main things we could have is someone (Nick? hehe) dressed up as Santa
sitting on the stage talking with kids, we could have plenty of food for
both kids and maybe the homeless (like [the F&L
program](http://www.loavesandfishesdc.org/) already does)... The
stage/meeting area in the Church could be the kids area and then we
could have a separate area for just [the F&L
program](http://www.loavesandfishesdc.org/) portion... So with foods and
Santa comes the best part and the main reason we would want to be
involved...
We can have little workshops setup throughout the church with little
Christmas-type kits where we can teach the kids about technology and
creating/MAKEing/building and certainly the reality of developing
whatever you dream.
Ideally, I was thinking the workshops would include things like: NYCR's
lazz0r and 3D printing (with some of us helping them design Christmas
type objects to build, we need a project to collaborate with them
anyway), One of MAKE:DC's awesome little kit builds designed with a
Christmas theme for kids (Mark, want to design?), Maybe Elliot can do a
micro controller class where they make some type of LED Christmas tree
...
The reality of it is that we would need a whole lot of support and
participation from our members and friends of HacDC. This doesn't have
to be something amazingly EPIC at first, but if we stay around awhile
(even if we do move) we could do this anually. Not only would this help
our 501c3 but it's also a great thing to do for our community and for
the holidays in general.
Richard has lots of turkeys and may be able to bring in his old chamber
group together for it
[Category:Proposed Projects](Category:Proposed_Projects "wikilink")

12
Accessibility.md Executable file
View File

@ -0,0 +1,12 @@
HacDC strives to be accessible to as many people as possible, but we
know that our physical space has constraints.
We are unfortunately **not** wheelchair accessible ??? there is a flight
of stairs leading up to our space from the red-door entrance to the
building. As a heads-up to folks with sensory processing issues, we are
working to install sound-dampening material in our main gathering room,
but for the time being it can get noisy when there are multiple
conversations going on simultaneously there, as often happens after our
monthly meetings and on (Microcontroller) Monday evenings.
[Category:HacDC_Space](Category:HacDC_Space "wikilink")

7
Advisory_Council.md Executable file
View File

@ -0,0 +1,7 @@
The HacDC Advisory Council is an informal group of people who offer
advice to HacDC. The council presently offers advice via a closed,
invite-only e-mail list.
Members on the Advisory Council are typically those who can offer great
amounts of support to HacDC, through publicity and financial means, but
for time and distance reasons, cannot regularly participate in HacDC.

118
Air_flow_switch_holder.md Executable file
View File

@ -0,0 +1,118 @@
This is the OpenSCAD code to create a wafer air flow sensor (and
backflow preventer) to hold a microswitch to stop the laser from firing
if the exhaust flow stops. Dimensions have been set to match the exhaust
nozzle. The current version of the header doesn't quite match, even
though the nozzle was reverse engineered from it.
This was printed on 5/1 and it has some issues.
1. The arms which hold the switch body interfere with the flap plate.
2. The flap plate axis of rotation could be lowered to improve the
balance.
3. The thickness of the wafer can be increased to reduce the warpage of
the piece.
Model was redesigned on 5/5:
1. Switch holder moved to side from top center
2. Flap axis of rotation lowered
3. Up arrow added
4. Thickness increased from 3 to 5 mm
5. Wire holes relocated 180??
You can find the stl file here
![<File:Airflow-switch.stl>](Airflow-switch.stl "File:Airflow-switch.stl")
<nowiki>
/*
exhaust airflow detector
safety interlock for cheap Chinese laser at Hac DC
This switch is a lug style wafer for insertion between the exhaust collector and the exhaust nozzle on the back of the laser chassis.
When the exhaust fan is running and air is flowing the switch will operate to allow the laser to fire. This switch is upstream of
the exhaust fan so air will leak into the exhaust stream, not exhaust leaking out into room air.
James Sullivan
5-5-17, v2
OpenSCAD version 2015.03-1
--dimensions from mating exhaust nozzle--
nid=60; //nozzle inner diameter
nod=80; //nozzle outer diameter
mod=100; //maximum outer diameter
sh=30; //step height
sw=5; //step width
oah=50; //over-all height
tlw=3; //top ledge width
bcd=46.8*2; //bolt circle diameter
bhd=3.6; //bolt hole diameter
fw=12; //foot width
fh=15; //foot height
fod=108; //foot outside dimension, from outside edge to outside edge
fid=(nid+nod)/2;//foot inside dimension, from inside edge to inside edge
*/
fid=60; //flange inner diameter, same as nid
fod=80; //flange outer diameter, same as nod
bhd=3.6; //bolt hole diameter
bcd=93.6;//bolt circle diameter
thick=5; //thickness of flange - originally 3, but warped when removing from printer bed
flap=3; //thickness of flap - originally 3, but warped when removing from printer bed
hph=bhd*2; //hinge pin height above center line, i.e. butterfly offset. Reduce to make switch more sensitive. Increse to make switch more stable. - originally 10
sfw=fid-thick*2; //switch flap width - originally sqrt(fid*fid-4*hph*hph)
shd=2; //switch hole diameter
shp=10; //switch hole pitch, i.e. center to center spacing of mounting holes on microswitch
srh=12; //switch roller height, i.e. height above switch hole centerline where switching action occurs
sbw=6; //switch body width
nfw=5; //nut face width
nt=1; //nut thickness
$fn=80;
difference(){ //wafer body
union(){
cylinder(d=fod,h=thick);
for(ang=[0,90]){
rotate([0,0,ang]) hull(){ //lugs
translate([bcd/2,0,0]) cylinder(d=3*bhd, h=thick);
translate([-bcd/2,0,0]) cylinder(d=3*bhd, h=thick);
}
}
translate([sfw/2+thick/2,0,thick]) rotate([-90,0,0]) cylinder(d1=shd*1.6,d2=0,h=shd*2);//up direction arrow head
translate([sfw/2+thick/2,0,thick]) rotate([90,0,0]) cylinder(d=shd*0.8,h=shd*2); //up direction arrow shaft
}
translate([0,0,-thick/2]) intersection(){ //bore
cylinder(d=fid, h=2*thick); //circular top and bottom
cube([sfw,fod,thick*4],true); //vertical left and right
}
for (angle=[0:90:270]){ //bolt holes in lugs
rotate([0,0,angle]) translate([bcd/2,0,-thick/2]) cylinder(d=bhd,h=thick*2);
}
for (angle=[235:5:245]){ //wire holes through flange
translate([0,0,thick-flap/2]) rotate([0,90,angle]) cylinder(d=1,h=bcd/2);
}
translate([0,hph,flap/2]) rotate([0,90,0]) cylinder(d=1,h=bcd+4*bhd,center=true); //hinge pin axle hole
} //end of wafer body
translate([-thick/2-sfw/2,0,flap/2+srh]){ //switch holder
difference(){
union(){
cube([thick,shp+3*shd,3*shd],center=true);//mount flange
color("blue") translate([0,0,-srh/2-flap/4+thick/2-3*shd/4]) cube([thick,shp+3*shd,srh+flap/2-thick-3*shd/2],center=true); //support for mount flange
translate([-thick/2,0,-shd*2]) cylinder(d2=shd*1.6,d1=0,h=shd*2.0);//flow direction arrow head
translate([-thick/2,0,-shd/2]) cylinder(d=shd*0.8,h=shd*2.0); //flow direction arrow shaft
}
for (dy=[-shp/2,shp/2]) {
translate([0,dy,0]) rotate([0,90,0]) cylinder(d=shd,h=2*thick,center=true); //bolt holes
for (angle=[0:120:240]){
translate([-thick/2,dy,0]) rotate([angle,0,0]) cube([nt*2,nfw,nfw/sqrt(3)],center=true); //nut sockets
}
}
}
}
translate([0,fid/2+bcd/2+bhd*2,0]) difference(){ //flap disk
intersection(){ //bore
cylinder(d=fid-0.5, h=flap); //circular top and bottom
cube([sfw-0.5,fod,flap*2],true); //vertical left and right
}
translate([0,hph,flap/2]) rotate([0,90,0]) cylinder(d=1,h=bcd+4*bhd,center=true); //hinge pin axis
}
</nowiki>
[Category: CheapChineseLaser](Category:_CheapChineseLaser "wikilink")

217
Albert.md Executable file
View File

@ -0,0 +1,217 @@
# Functions
albert is an infrastructural VM host and nothing else.
# Access
Admin access only. Email support@hacdc.org if you need to report an
issue.
# Admin Notes
## Case
- 3U 19 inch rackmount
### PSU
- ATX PSU with both 4 and 8 pin cpu power connectors
- Wattage:
### Slots
- 7 stock 3.5 inch hot swap slots
- 1 front, floppy slot
- 1 front, 5.25 inch slot
- 2 internal front 3.5 inch slots
- 2 3.5 inch slots on spreader bar
### Addon Cards
- RAID/SATA controller
- ports
- model
- GPU see [Server_Albert#GPU](Server_Albert#GPU "wikilink")
## Mother Board
### RAM
- 4GB DDR2 ECC
### CPU
- dual socket dual core Xeon
- has VM extensions
- no hyper-threading
- /proc/cpuinfo
`   processor   : 0`
`   vendor_id   : GenuineIntel`
`   cpu family  : 6`
`   model       : 15`
`   model name  : Intel(R) Xeon(R) CPU            5140  @ 2.33GHz`
`   stepping    : 6`
`   microcode   : 0x44`
`   cpu MHz     : 2333.448`
`   cache size  : 4096 KB`
`   fpu     : yes`
`   fpu_exception   : yes`
`   cpuid level : 10`
`   wp      : yes`
`   flags       : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl pni est ssse3 cx16 hypervisor lahf_lm dtherm`
`   bogomips    : 4666.89`
`   clflush size    : 64`
`   cache_alignment : 64`
`   address sizes   : 36 bits physical, 48 bits virtual`
`   power management:`
`   `
`   processor   : 1`
`   vendor_id   : GenuineIntel`
`   cpu family  : 6`
`   model       : 15`
`   model name  : Intel(R) Xeon(R) CPU            5140  @ 2.33GHz`
`   stepping    : 6`
`   microcode   : 0x44`
`   cpu MHz     : 2333.448`
`   cache size  : 4096 KB`
`   fpu     : yes`
`   fpu_exception   : yes`
`   cpuid level : 10`
`   wp      : yes`
`   flags       : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl pni est ssse3 cx16 hypervisor lahf_lm dtherm`
`   bogomips    : 4666.89`
`   clflush size    : 64`
`   cache_alignment : 64`
`   address sizes   : 36 bits physical, 48 bits virtual`
`   power management:`
`   `
`   processor   : 2`
`   vendor_id   : GenuineIntel`
`   cpu family  : 6`
`   model       : 15`
`   model name  : Intel(R) Xeon(R) CPU            5140  @ 2.33GHz`
`   stepping    : 6`
`   microcode   : 0x44`
`   cpu MHz     : 2333.448`
`   cache size  : 4096 KB`
`   fpu     : yes`
`   fpu_exception   : yes`
`   cpuid level : 10`
`   wp      : yes`
`   flags       : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl pni est ssse3 cx16 hypervisor lahf_lm dtherm`
`   bogomips    : 4666.89`
`   clflush size    : 64`
`   cache_alignment : 64`
`   address sizes   : 36 bits physical, 48 bits virtual`
`   power management:`
`   `
`   processor   : 3`
`   vendor_id   : GenuineIntel`
`   cpu family  : 6`
`   model       : 15`
`   model name  : Intel(R) Xeon(R) CPU            5140  @ 2.33GHz`
`   stepping    : 6`
`   microcode   : 0x44`
`   cpu MHz     : 2333.448`
`   cache size  : 4096 KB`
`   fpu     : yes`
`   fpu_exception   : yes`
`   cpuid level : 10`
`   wp      : yes`
`   flags       : fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl pni est ssse3 cx16 hypervisor lahf_lm dtherm`
`   bogomips    : 4666.89`
`   clflush size    : 64`
`   cache_alignment : 64`
`   address sizes   : 36 bits physical, 48 bits virtual`
`   power management:`
### GPU
- NVIDIA Corporation NV43 \[GeForce 6600\] (rev a2)
### BIOS/UEFI
- Make - ?
- Version - ?
#### Menu
- ?Setup
- ?View Post
- ?Boot Select
## OS
- Debian
- Version - stable
- Arch - amd64
# OS Config
## DomU
- Shell server - tortoise
- File server - hoard
- Squid Proxy - cthulhu
## Storage
- Partitions \#FIXME
- All drives have stripe for /boot
- 1TB drives
- 500GB drives
- 250GB drives
- Soft RAID \# FIXME
- the /boot stripe is RAID1
- 250GB drives
- 500GB drives
- 1TB drives
### LVM
- Volume Groups
- albert
- home
- /home
- root
- /
- swap
- Contiguous LV.
- nas
- Attached to hoad.
- Shell users' /home/users/\*
- Generic storage.
- proxy
- Attached to cthulhu.
- Contains the cache from the proxies.
- cthulhu-disk - 4GB
- cthulhu-swap - 1GB
- hoard-disk - 4GB
- hoard-swap - 128MB
- tortoise-disk - 4GB
- tortoise-home - 50GB (will be reduced)
- tortoise-swap - 128MB
- tortoise-tmp - 10GB
- tortoise-var - 30GB
- template.debian-testing-minimal - 4GB
- to be removed
- template-swap
- vms
## Software
#### Xen HVM
- domain configs /etc/xen/conf
- configs tracked with git
- use /etc/xen/conf/.commit to commit changes as nonroot user
## VMs
- [cthulhu](cthulhu "wikilink") - proxy server
- [tortoise](tortoise "wikilink") - shell server
- [hoard](hoard "wikilink") - file server
[Category:Infrastructure](Category:Infrastructure "wikilink")
[Category:Servers](Category:Servers "wikilink")

1
Amateur_radio.md Executable file
View File

@ -0,0 +1 @@
1. REDIRECT[:Category:Amateur_Radio](:Category:Amateur_Radio "wikilink")

21
Amateur_radio_station.md Executable file
View File

@ -0,0 +1,21 @@
See [:Category:AmateurRadios](:Category:AmateurRadios "wikilink") .
HacDC's Radio Station
[HamDesk](HamDesk "wikilink")
Icom FT-718
[Manual](http://www.icomamerica.com/en/downloads/Default.aspx?Category=20)
Automatic antenna tuner
[SGC-237](http://www.sgcworld.com/237ProductPage.html)
20m rooftop vertical
[antenna](http://www.hacdc.org/2012/08/new-amateur-radio-antenna/)
[Ham Radio Deluxe](http://www.ham-radio-deluxe.com/)
[WSPR Net - Weak Signal Propagation Reporter
Network](http://wsprnet.org)
[Sound_Card_Interface](Sound_Card_Interface "wikilink")

4
Andaman_honeymoon_package.md Executable file
View File

@ -0,0 +1,4 @@
Andaman Honeymoons Ltd brings an opportunity to spend honeymoon at the
romantic and serene archipelago situated in the Bay of Bengal. They have
different types of [Andaman honeymoon
package](http://andamanhoneymoons.com/)s available at different budgets.

193
Annual_Meeting_2009.md Executable file
View File

@ -0,0 +1,193 @@
HacDC Annual Meeting February 21, 2009
The meeting was called to order at 5:11 PM by standing Coordinator In
Chief Elliot Williams.
Members Present: Nick Farr, Ben Stanfield, Matt Lesko, Derek Cooper, Tim
Collins, Serge Wroclawski, Member 7, Katie Bechtold, Martin Rothfield,
Member 19, Member 44, Elliot Williams, Jonathon Blocksom, Member 48
Others Present: Andrew Gillette, Tommy Johnson, Art Coleman
The C-i-C declared a Quorum was present, and gave a brief overview of
the official items to address at the meeting.
## New Business
### Board of Director Elections
Jason nominated Elliot Williams Member 48 seconded. The nomination was
accepted.
Elliot danced for 2 minutes as ordered by the bylaws.
No other nominations were offered, so Elliot Williams is Coordinator in
Chief.
Minister of Information
Member 7 nominated himself. Tim Collins Seconded.
Katie nominated herself. Nick Farr pointed out that there is no
requirement for seconding.
A vote began, but was halted when Rodney expressed a desire to address
those present about why he wanted to serve.
Candidates were given the opportunity to give their reasons for wanting
to serve.
Member 7 spoke on his wish for a website with more functionality.
Derek and Tim expressed an interest in having members available to step
up and help out regardless of ministerial duties.
A vote was held and the vote was in favor of Katie. Katie Bechtold is
the Minister of Information.
Keeper of the MIBS Ben nominated himself. The nomination was accepted.
No other nominations were offered, so Ben Stanfield is Keeper of the
MIBS.
Tim Collins nominated himself for Minister of Finance.
Tim plans to increase transparency for the finance office.
No other nominations were offered, so Tim Collins is the Minister of
Finance.
#### At Large Board of Directors
Derek Cooper nominated himself.
Serge Wroclawski nominated himself.
Tim Collins nominated Member 7. Member 7 declined the nomination.
Nick Farr was nominated by Ben. Nick declined the nomination.
No other nominations were offered so Serge and Derek are the at-large
board members.
Elliot made a motion to change the registered address to HacDC from the
former apartment of Nick Farr to the HacDC Space's Address.
Derek seconded the motion.
No one was opposed. Motion carried.
### New Member Approval Discussion
Elliot explained the current process, and opened it for discussion.
Nick Farr pointed out that the Minister of Finance can bestow non voting
member privileges before becoming an official voting member.
Derek Cooper suggested that a member should have to go through a review.
Tim suggested membership should require approval by the board at some
point.
Ben Stanfield expressed his desire that when a person paid dues they
immediately became a member.
Nick Farr made a motion to defer any undecided issues from the annual
meeting to the next regular meeting.
Tim Collins seconded.
Derek Cooper moved to admend the motion to end this meeting at 7. No one
seconded and the amendment died.
No one opposed Nick's motion. Motion carried.
Elliot moved to table the discussion of new member approval. Member 7
seconded.
there were no objections.
## HacDC Finances
Elliot asked for the finance report report from the outgoing minister of
finance.
Nick Farr presented the finance report (see attached) and turned over
current financial records to the incoming minister of finance.
Discussion of the finance report centered around the cost of a wireless
credit card machine that Nick Farr had arranged, but had never been
used. Nick agreed to pay back HacDC for the \$1,231.85 in fees and
charges associated with the machine.
Without objections, the finance report was accepted.
Elliot moved to table each further topic after 15 minutes of discussion.
The meeting was suspended for dinner.
At 8:05 the meeting was resumed.
Ben proposed a motion to change the standing rules for meeting
frequency. The motion was to make every second Tuesday of the month the
"formal business meeting" and to make the every other Tuesday meeting an
"informal non-voting meeting" where no business may be conducted.
Elliot seconded.
Debate centered around whether the [bylaws](bylaws "wikilink") allowed
us to hold non voting meetings. Derek believes that the
[bylaws](bylaws "wikilink") do not allow it. Nick Farr and Ben Stanfield
both argued that the Annual meeting is for setting standing rules, and
that it was possible for a rule to declare which meetings could allow
voting on official business.
The motion carried.
Ben moved to adopt Robert's Rules of Order as the framework.
Member 7 moved to amend the motion and select the modified or new
revisions.
Ben seconded
There were no objections.
Derek motioned to table, arguing he needed more time to study Robert's
Rules of Order. Tim seconded.
Ben pointed out that it had been on the agenda for a month, and that
virtually every single club, group, organization, and membership body in
the world used Robert's Rules.
The motion to table passed.
[Quorum](Quorum "wikilink") changes were discussed, but there didn't
seem to be a consensus on whether we need to change it or not.
There was a proposal to add a quartermaster position to handle space
cleanup and sell our unused inventory on eBay.
Tim suggested having a once a month day to clean the space, mixed with
an event like beer making.
There was discussion of talking about accepting and disposal of hardware
at a future meeting.
The general consensus was that no one wanted to be the quartermaster as
described, so the motion to create the position was tabled.
## 2009 Budget Items
A discussion about possible budget items for 2009 was suggested.
Different items included Basement project, 501c3, Tools, Advertising,
[Conferences](Conferences "wikilink"), food, reserve fund, and more.
Serge nominated himself for PR Coordinator. There was no objection.
A motion was made to approve two new members. There was no objection.
A motion was made to adjourn. There were no objections. Meeting
adjourned at 11:18 PM.
[Category:Meeting_Minutes](Category:Meeting_Minutes "wikilink")

165
Annual_Meeting_2010.md Executable file
View File

@ -0,0 +1,165 @@
**Note:** This page serves as the 2010 Annual Meeting's agenda (before
the meeting) and minutes (after the meeting).
# Purpose
From the HacDC Bylaws, Article III, Section 2:
At the annual meeting, the voting members shall elect the Board of
Directors, review and vote on the standing rules and policies of the
corporation, receive reports on the activities of the corporation,
approve the budget and determine the direction of corporation in the
coming year.
# Time and Location
7:30 p.m., Tuesday, 13 April 2010
Meeting called to order at 7:40:12 by el Presidente outgoing
Members Present: Jason D, Brad B, Todd F, Elliot W, Tim C, Ash, Alberto
G, Daniel B, Martin R, Ben S, Tim B, Daniel P, Brian Redbear, Katie B,
Nikolas C, Dan T, William G,
Others: Allen M, Nick F, Tom C
[Quorum](Quorum "wikilink") established? Yes
# Officer Reports
## President's Report
Been a really good year and a bit for HacDC. We've grown a lot. We've
outgrown our space, we've got a bunch of great people doing great
things. We've helped the church out along the way. The basement is
turning into a workable workshop.
## Vice President's Report
Nothing to report.
## Treasurer's Report
See attached. The financial status of HacDC is strong.
## Secretary's Report
# Member Reports
## Daniel Packer
There's a possibility of using warehouse space (near 1400 N Capitol)
that's being used by MIT's FabLab. There's also possibilities of working
with that group.
Digital capital week: HacDC has been invited to participate. There is
funding available for kit builds, etc. Soft deadline, but proposals are
currently being accepted.
## Nikolas C
Doing more kit builds. AVR Programming class has started and should be
more regular now.
## Brad
Natural Language and AI group is fun.
## Tim Ball
Airplane hanger space is still an option.
## Ash
Would like to repeat the electronics class. Needs several alternate
teachers
## Daniel P
Is helping to organize a HacDC table for Robot Fest.
## Todd F
501c3 App is ready to go now that we have the financial reports
finished. The only other thing we need to do is to write a conflict of
interest policy.
Ben moved to second the boilerplate conflict of interest policy Todd F
posted to the members list. It passed unanimously
## Alberto G
Hackers in Space project is gaining momentum.
## Daniel B
Showing off goodies from Riley's shop.
## Jay K
Requesting approval to get a new callsign for HacDC.
## William G
FPGA class is going well.
# New Business
## Board of Directors Elections
### President
##### Nominations
Daniel P nominated himself, Alberto seconded
There were no other nominations.
### Vice-President
Tim Ball nominated himself, Jay nominated himself, Daniel P nominated
Todd F, Todd Declined someone nominated Nikolas C
Jay declined to give a statement.
Tim B promised to bring in beer if nominated
Nikolas says "blinkie lights are good"
Tim B won the vote.
### Treasurer
Todd F was nominated
There were no further nominations
### Secretary
Tim B nominated Ben S. Daniel P nominated Nikolas C Ben S withdrew his
nomination
There were no further nominations
### At-Large Directors
Will was nominated Jay was nominated Tim C nominated Osman Tim B
nominated Redbeard
Katie was the winner. Second place was a tie between William and Brian.
A coin flip decided the vote in William's favor.
### Induction of New Members
- Alan McCosh
- Tom Cohlmia
- Nick Farr
# Finances
# Adjournment
Meeting adjourned at 9pm'ish
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

252
Annual_Meeting_2011.md Executable file
View File

@ -0,0 +1,252 @@
**Note:** This page serves as the 2011 Annual Meeting's agenda (before
the meeting) and minutes (after the meeting).
# Purpose
From the HacDC Bylaws, Article III, Section 2:
At the annual meeting, the voting members shall elect the Board of
Directors, review and vote on the standing rules and policies of the
corporation, receive reports on the activities of the corporation,
approve the budget and determine the direction of corporation in the
coming year.
# Time and Location
Meeting called to order at 2008 EST by Brian Harrington
Members Present:
Brian Harrington Toast Xaq R. Bradford Barr John Katie B. William Gibb
Todd Fine Peter Edworthy Ben the Pirate Chris K. Phillip Stewart Tim C
Jamie Martin Rueben Elliot Williams
Others:
[Quorum](Quorum "wikilink") Yes
# Officer Reports
## President's Report
IRS 501c3 status has been obtained. Donations made to HacDC can now be
considered tax-exempt. Please contact any Board Member to obtain a
receipt for a donation made to the space.
Membership has changed over the past year; gaining members, losing
members and having old members return to the space.
Fundraising is now a very important part of our organization. This is
traditionally the job of the president in a non profit.
We have been in contact over the past two years with news
organizations - we need to make sure we keep in contact with these
groups, as it will only be beneficial for ourselves.
Keep up the programming! With our do-ocracy approach that may seem
difficult, but it is a crux of how we operate. See examples of Elliots
microcontrollers class, Brad's lockpicking class, Tom's lathe class, et
cetera. This is a core strength and needs to be maintained.
Remember that we're all adults and should be capable of resolving
personel issues amongst ourselves.
Always feel comfortable approaching the Board of Directors with any
issues you feel are large enough to warrant our attention. Email bod \[
at \] hacdc \[ dot \] org or talk to one of us in person. We need to be
aware of large issues.
CHECK OUT Foundation Center <http://foundationcenter.org/> They are
located in Downtown DC and area fantastic resource!
## Vice President's Report
Not Present
## Treasurer's Report
ASSETS
Current Assets
Bank Accounts
BBT Checking 2,726.07
Total Bank Accounts \$2,726.07
Other Current Assets
Paypal 3,733.28
Undeposited Funds 0.00
Total Other Current Assets \$3,733.28
Total Current Assets \$6,459.35
Other Assets
Rent Security Deposits 850.00
Total Other Assets \$850.00
TOTAL ASSETS \$7,309.35
LIABILITIES AND EQUITY
Liabilities
Total Liabilities
Equity
Opening Balance Equity (April 2010, Beginning of Quickbooks) 9,023.84
Retained Earnings -1,304.64
Net Income -409.85
Total Equity \$7,309.35
TOTAL LIABILITIES AND EQUITY \$7,309.35
BUDGET:
2526.00 RENT
\$68.58 ST. FARM INSURANCE
\$37.45 LINODE
\$10.55 QUICKBOOKS
\$2642.58
-~2000
=642.58 STRUCTURAL DEFICIT
We have some serious budget considerations we need to address. We have
an operating budget of about ~2,600 USD/month.
At the present burn rate, we will be able to make it through our current
lease without going bankrupt. After the end of our current lease, we
will need to seriously consider if we can stay in this space.
Q: Have we reconciled the billing discrepency with the church, regarding
the change in our monthly rent? A: The church has started billing us at
the proper rate, as of this month.
## Secretary's Report
No Secretary present.
## At-Large Directors' Reports
### Katie
Hopes to have been a useful board member. Will be leave DC for a year to
move to Kyoto to study the Art of Tea.
### Will
Secured a large electronics test equipment donation from GWU. Happy to
have been a board member the past year :)
# Member Reports
- Martin: Robotfest is coming up. This is a huge gathering of folks
likeminded towards HacDC. We should make a presence there, as it will
provide good visibility to us as an organization. We should take up
spaceblimp, other projects we do. I volunteer to drive up there.
<!-- -->
- Todd Fine: Nick B. and Alex H. helped out quite a bit in building out
the FIRST Robotics robot. This is a good start towards a useful
relationship to promote HacDC.
# New Business
Brian: New benefits that go inhand with out 501c3 Status.
- Signed up for Google Ads for Hacdc, we get 10,000 USD worth of Adwords
each month.
- Eventbrite fees are nearly nothing. Very easy to use to run ticketing
for events that have limited resources. See Brian or ??? to get hooked
up with that.
<!-- -->
- Remote meetings/telemeetings via GoToMeeting via TechSoup. \$95/year
for up to 1000 attendees \[for up to 5 years, normally a 5,000 USD
value\]. Voting allowed, but not secret ballot (if you want it secret,
show up). Would also allow for remote attendees of classes. This
allows for unlimited phone callins to classes, meetings, et cetera.
Also screencasting. This nearly nonexistent in the Hackerspace world.
IRC lurkers, members that are away from the space, other visitors, can
easily callin or connect to our screencasts.
- Redbeard proposed the purchase of GoToMeeting via TechSoup, TC
Seconded.
- Motion Passes
<!-- -->
- Brian Harrington proposes to ratify the standing rules as they stand.
- Elliot Williams seconds the motion.
- Motion Passes
## Board of Directors Elections
### President
Elliot and Redbeard were nominated. Redbeard elected.
### Vice-President
Tim, Elliot, Brad? nominated. Elliot elected.
### Treasurer
Tim C. elected through acclimation.
### Secretary
Ben Mendis elected through acclimation.
### At-Large Directors
Will, Toast, Brad, Xaq, Phil nominated. Will and Brad elected.
### Induction of New Members
JustMike from NYC (knows A1Labs, NYCResistor). Nominated by Redbeard,
seconded by Brad. Memberized.
# Finances
Several ideas
- Artisphere electronics: Alberto has made us aware of Artisphere's
desire to partner with us on an electronics class. There is potential
to do a one off workshop. There a potential to run a longer-term class
(8 weeks) that could be a revenue stream for us.
- Kickstarter: Valid for 501c3 donations, but cannot be used for
operational expenses. Martin would like to see us put together a
Kickstarter program put in place in order to build up facilities.
- JustMike - Lots of potential to get federal funding for wireless
sensor networks, solar power, methane works. Needs to be applied to
green energy, agriculture, energy reduction applications. Kid/youth
education and integration programs are also available.
- Peter Edworthy - We need to make sure anything we do has some way to
enable longterm financial streams.
- Toast: RadioCPR does bar nights, CPR does 1200/USD pre bar night in
practically free money. We should too.
# Adjournment
Meeting adjourned at 2200 EST.
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

181
Annual_Meeting_2012.md Executable file
View File

@ -0,0 +1,181 @@
**Note:** This page serves as the 2011 Annual Meeting's agenda (before
the meeting) and minutes (after the meeting).
# Purpose
From the HacDC Bylaws, Article III, Section 2:
At the annual meeting, the voting members shall elect the Board of
Directors, review and vote on the standing rules and policies of the
corporation, receive reports on the activities of the corporation,
approve the budget and determine the direction of corporation in the
coming year.
This meeting will also serve as the monthly meeting for the month of
February.
# Time and Location
Location: HacDC (software room)
Wednesday, February 15, 2012
Meeting called to order at _7:50_ by: _Brad_
Members Present: Brad, Tim S., Tim C., Alberto, Martin, Phil, Chris,
Reuven, Max, Todd Fine, Elizabeth, Scott, Lee, Jaime, Sean, Timmothy,
Bill, Eric, Alex, Nick
Others Present: Justin
[Quorum](Quorum "wikilink") met? _Yes_
# Officer Reports
## President's Report
Not present.
## Vice President's Report
Has some ideas for events and stuff to be mentioned later.
XLaser mentioned the would send us another package of laser stuff, but
never did. (Sharks with freaking laser beams.)
## Treasurer's Report
Currently have 59 voting members so quorum is still 14 for now.
Here is the financial summary spreadsheet for Jan 2012:
![<file:HacDC_Financials_Jan_2012.pdf>](HacDC_Financials_Jan_2012.pdf "file:HacDC_Financials_Jan_2012.pdf")
We added members Scott Robbins and Stephen Nichols in January. Vince was
voted in but has not paid yet as far as I know - please contact me if
this is incorrect! And we added three other membership subscriptions
(Chalk, Hughes, and Myers) but have not voted on them as members yet as
well - maybe this month? Two non-paying members, one hasn't responded
and may be dropping.
We finished January almost \$500 ahead and membership revenue is now \>=
expenses! If this keeps up, HacDC will have some resources to put into
projects again going forward.
## Secretary's Report
Nothing special to report. Haven't been around for a couple months.
## At-Large Directors' Reports
### Toast
Not present.
### Martin
Nothing to report.
# Member Reports
## Brad
Smithsonian Institute has contacted Brad about 3D vision stuff. It would
be cool to have a hackathon here to help out. Talk on Blabber if you're
interested. Would like to have an event where we take pictures of
objects at the Smithsonian, turn them into 3d models, and print them out
with the printers at the space.
## haxwithaxe
- occupancy sensor getting it's own machine (sheevaplug)
- project server on the fritz (might need replacement,more fiddling
required to know)
- Byzantium gunning for CFP acceptance at HOPE and several other cons
- found HacDC patches with HOPE vulture. i have them in my bag so they
make it to HOPE for those interested in them.
- working on occsensor controlled outlet to prevent things that
shouldn't be on when no one is at the space from being on while no one
is at the space.
## Martin
- noise reduction: status? items/actions/help required? (item added by
haxwithaxe)
- got started, will continue to get worked on as time permits
## Alberto
We're going to get some monies for the class that Brad is teaching.
(Let's earmark it for lasers.)
## Eric
Working on fixing up the Internet in the space/church. Might be a
problem with the AP.
Bill has donated an AP which might help with the Internets.
## Tim S
Sparkfun would like to borrow our space, and will reciprocate by doing
something nice for us.
Lots of recent work on infrastructure:
- Mailing lists move to Google
- Website moved to Dreamhost
- Infrastructure work thanks to Jaime and Chris
# New Business
New America Foundation conference (on impact of Makers on technology)
has invited us to come and show off our toys (3D printers). In favor of
us being there and participating (and moving the Cupcake there, with
Andy Walker's permission)? **Vote passes.**
Alex, non-member, would like to teach a class about Java programming. On
March 28th, at 7 or 8p. Gonna post something to Blabber. Sponsor: Brad
## Board of Directors Elections
### President
- Ben (the pirate) nominated by Jamie, seconded by haxwithaxe
- Brad nominated by Martin, second by Tim C.
Ben withdraws.
Brad wins unopposed.
### Vice-President
- Ben nominated Tim S. second Chris and Reuven
Ben wins unopposed.
### Treasurer
Tim Slagle is running for re-election as Treasurer. Second Ben.
Tim wins unopposed.
### Secretary
Reuven is nominated by Ben, second by Chris. Eric is nominated by Brad,
second by Martin.
Voted by secret ballot: Eric won by a bunch.
### At-Large Directors
haxwithaxe is running, seconded by Reuven. Marin, seconded by Brad Nick,
seconded by Ben
Nick and Martin elected by vote.
### Induction of New Members
# Adjournment
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

314
Annual_Meeting_2013.md Executable file
View File

@ -0,0 +1,314 @@
## Purpose
From the HacDC Bylaws, Article III, Section 2:
At the annual meeting, the voting members shall elect the Board of
Directors, review and vote on the standing rules and policies of the
corporation, receive reports on the activities of the corporation,
approve the budget and determine the direction of corporation in the
coming year.
This meeting will also serve as the monthly meeting for the month of
March.
## Time and Location
March 12, 2013
Meeting called to order at 7:45 p.m. by Ben the Pyrate
Members Present: Ben, Dan, Shawn, Dave, mirage335, Loki, Bryce, Chris,
Reuven, Shahar, Tim D., Phil W, Phil S., Brad, Alberto, Katie, Tim
Slagle, David Whiteis, Martin, Nick B., Justin Myers, Jon H, Jamie Ai,
William Gibb, Andy Ta
Others Present: Logan, Graham
[Quorum](Quorum "wikilink") met? yes
## Approval of Previous Meeting's Minutes
[Regular Member Meeting 2013 02
12](Regular_Member_Meeting_2013_02_12 "wikilink") Approved unanimously.
## Recognition
Eric for being our president. Even if he didn't show up tonight. :P
Tim Slagle for being treasurer. And proposing Project Awesome.
And the entire board.
## Director Reports
### President's Report
Absent.
### Vice President's Report
Nothing to report.
### Treasurer's Report
Here is the financial summary spreadsheet for February 2013:
![<File:HacDC_Financials_2013_02.pdf>](HacDC_Financials_2013_02.pdf "File:HacDC_Financials_2013_02.pdf").
We gained one new member (Philip Westlow). The other two members voted
in last meeting have not paid their dues yet. We lost Stephen Beuttel
~~and dropped Reuven Cohen after 4 months without dues payment~~. We had
55 paying members and 2 non-paying members. Our dues revenue continues
to meet our expenses again, and thanks to those that donate extra we had
a regular (non-earmarked) monthly net of \$563.
Quorum is 14.
#### Project Awesome
We had a surplus so I am able to declare a \$450 Project Awesome
dividend and add \$113 to our reserves. Here is the Project Awesome
spreadsheet for February:
![<File:HacDC_PA_Projects-2013_02.pdf>](HacDC_PA_Projects-2013_02.pdf "File:HacDC_PA_Projects-2013_02.pdf").
Thanks to everyone that voted for projects in February, there are now
nine votes total.
There have been no reports for Project 3DP (3D Printing, contact Andy
Ta) for the last two months so the project is suspended and will get no
additional funding. If there is no report for next month it will be
**cancelled** and any funds returned to the general. Andy, if you are
out there, file a report or have someone else do it! And if you don't
think you'll want to continue as coordinator, please turn it over to
someone else.
### Secretary's Report
Announcements, membership database.
### Director-at-Large Reports
#### Martin
Dan, Hax and Martin attended VWS Winterfest. Brought in \$353 selling
unwanted junk from HacDC. Lots of people were interested in finding out
about HacDC.
#### Andy
Absent.
## [Project Awesome](:Category:Project_Awesome "wikilink") Reports
### Project LASER
A bunch of research was done, resulting in a comparison
\[<https://docs.google.com/spreadsheet/ccc?key=0Ai_FSnJ6DCsUdEpPdDJhM2Y0WUQ5eEw4TzRHMm84SWc&usp=sharing>\|
spreadsheet\] and more [links](LaserCutterLinks "wikilink") to
manufacturers and articles. HacDC's front door is 30.5 inches wide which
limits our choices substantially.
### Project BYZANTIUM
Won a \$10K grant (InformSec)! Can be spent on ham equipment, raspberry
pis, macbook and macbook air. Also on CDs. The money will go through
HacDC.
Haven't heard back about FEMA grant (no applicants have).
### Project KITBUILD
Earmarked balance large enough to pay for some tools and supplies, need
to check out existing bin to see what we already have available.
### Project 3DP
Do we want to keep buying plastic? Andy will pass the baton to mirage335
as coordinator.
## Member Reports
### Shawn Nock
GrindDC (HacDC Biohacking Group) hasn't been active for an entire year
yet... but we've made impressive progress. A functional Biosignal Amp
(http://mirage335.dyndns.org/wiki/Mirage335BiosignalAmp), several
versions of tDCS (https://github.com/nocko/tdcs), Implant Design
(https://github.com/nocko/heledd/tree/master/hardware), a temperature
controlled bath for biomaterials testing. Our Grinder nights at the
space regularly attract 8-12 attendees.
We're also in the process of organizing a SMT soldering class in for
HacDC. Prototype teaching boards and partlists we're made
(https://github.com/nocko/smt-practice) and a beta-quality seminar was
held two months ago to test out our teaching chops.
Challenges moving forward:
- Expanding into DIYBio: Safety (MSDS/right-to-know documentation),
autoclave and lab glassware purchases, reagent purchase and storage.
- Heavy interest in Qualified Self projects specifically with respect to
Smartphone integration (writing apps and developing sensors).
- Electro-physiology and DIY EEG/EMG: Designing analysis software and
novel applications for the Biosignal Amp Mirage designed.
### Dan Barlow
Have been telling you about Jon Singer's moving adventure. Do you know
anyone who wants a transformer (designed to be immersed in oil)? Give
Dan feedback about what HacDC wants/needs.
### Philip
See e-mail. (Looking for hardware for old video games for an electronic
literature showcase.)
### David Whiteis
[F3-robot](F3-robot "wikilink") (used to sequence human genome). Brought
stuff that can be claimed but not left in the space.
### mirage335
Would like laptops for HARC. Offline discussion.
Occupancy sensor is working fine.
### Martin
There are new HARC postcards that will be sent to FCC license-holders in
DC.
## Old Business
None.
## New Business
### Approve new Standing Rules
Because the Standing Rules are not fully completed and we haven't had
much time to discuss them among the members before voting, we can just
vote on the first Article today -
[Voting](Proposed_Standing_Rules#Article_I:_Voting "wikilink"). That
will give us the ability to continue edits and discussions, and vote on
the other parts of the Standing Rules at future monthly member meetings.
Unanimously approved.
### Anti-Harassment Policy and Diversity Statement
[Anti-Harassment Policy](Anti-Harassment_Policy "wikilink") and
[Diversity Statement](Diversity_Statement "wikilink") need to be voted
on.
Ben read the prepared statement \[insert statement here\].
What has transpired?
<!-- -->
Last Friday, 03/08/2013, there was an e-mail exchange discussing the
proposed Anti-Harassment policy to be included in HacDC bylaws. During
this discussion, an individual brought up the topic of rape.
Specifically, statements were made regarding ???false accusations of
rape??? and the ???psychology of victimhood.??? A few members sent
e-mails to the board requesting that the conversation be stopped.
<!-- -->
Why is this a problem?
<!-- -->
This topic directly affects our membership. We, as a community, have
members who have been victims of sexual violence. Statements like this
trivialize and normalize their experiences and create a threatening and
hostile environment at HacDC.
<!-- -->
HacDC is part of the community at St. Stephens, and as part of that
community bears the responsibility to make the space safe for everyone.
Statements which create threatening and hostile environments cannot be
tolerated. These statements do not relate to the specific goals of HacDC
and are damaging to the organization and the community which it is a
part of. They alienate part of our membership and hurt our standing with
hackerspaces, organizations at St. Stephens, and all peer/community
learning institutions.
<!-- -->
What we intend to do about it.
<!-- -->
E-mail exchanges about this topic will not produce any valuable results
and will only alienate more members of our community. This topic will be
discussed at the Annual Meeting on Tuesday, March 12th, 2013.
Alberto thought it was bad to end an ongoing discussion. It was a
philosophical issue at stake, not big enough to stop the conversation.
Loki proposes a working committee be formed from selected members to
form a version of the Anti-Harassment Policy that has broader consensus.
Reuven says limits for the intensity of conversations should be looked
into.
Jon urges people to keep conversation on topic on the members list.
Doc says this problem crops up in other communities. Invoking the
principle of Buddhist Right Speech seems to fix it. He can post some
links to the wiki about how it has been implemented in other
communities.
Loki gave a one-minute summary arguing in favor of Proposal 2. New
member Graham gave a one-minute summary arguing in favor of Proposal 1.
Two people voted to defer. Two people voted for Proposal 2. Everyone
else voted for Proposal 1. Proposal 1 is approved.
Diversity Statement approved unanimously.
## Board of Directors Elections
### President
Ben has been nominated and wins by default.
### Vice-President
Shahar and Chris and Reuven have been nominated. Chris wins.
### Treasurer
Katie has been nominated and wins by default.
### Secretary
David Mc has been nominated and wins by default.
### At-Large Directors (two)
Shawn Nock and Reuven are nominated and win by default.
## New Members
Logan is originally from DC and just moved back here about a year ago.
Physics background. Programming job. Been coming to GrindDC meetups.
Approved.
Graham moved to DC 3.5 years ago. Has a 3D printer. Does electronics
work for fun. Approved.
## Adjournment
Adjourned at 9:23 pm
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

215
Annual_Meeting_2014.md Executable file
View File

@ -0,0 +1,215 @@
## Purpose
From the HacDC Bylaws, Article III, Section 2:
At the annual meeting, the voting members shall elect the Board of
Directors, review and vote on the standing rules and policies of the
corporation, receive reports on the activities of the corporation,
approve the budget and determine the direction of corporation in the
coming year.
This meeting will also serve as the monthly meeting for the month of
March.
## Time and Location
March 11, 2014
Meeting called to order at 1955 by Ben.
Members Present: Ben, Katie, DavidMc.. 12 in person, 3 online.
Others Present: ~5
[Quorum](Quorum "wikilink") met? Yes.
## Approval of Previous Meeting's Minutes
[Regular Member Meeting 2014 02
11](Regular_Member_Meeting_2014_02_11 "wikilink") - approved.
## Recognition
- Thanks to Evan and Zack for their work on the laser cutter.
- Everyone involved in Project SEM .
- David McInnis for adding really cool lighting to the new shelves in
the basement.
- Julia Longtin (aka. juri) for more 3D printer tweaking and getting
ahead on cleaning up the space.
## Director Reports
### President's Report
As reported last month, the BoD has approved accepting the donation of a
Scanning Electron Microscope (SEM). The SEM is now ready to be picked up
and we have about three weeks to collect it. It is currently in Norfolk,
VA and is a large, heavy piece of equipment. We will need to rent/borrow
a truck (ideally one with a lift-gate) to transport it up to HacDC, and
we'll need several strong volunteers to help us load, and unload the
truck (including bringing it up the stairs and into the workshop).
Additionally, we will need some help making space for it in the
workshop. **We are currently shooting for Saturday, March 29th.**
### Vice President's Report
admin team is accepting donations of gigabit network switches. we need
both managed and unmanaged switches. one managed switch with 20+ ports
which is for the church network. we are getting the space wired for
gigabit ethernet so cat5e and cat6 keystone jacks and and wall plates
are welcome.
### Treasurer's Report
Here is the financial summary spreadsheet for February 2014:
![<File:HacDC_Financials_2014_02.pdf>](HacDC_Financials_2014_02.pdf "File:HacDC_Financials_2014_02.pdf").
We gained two members in the last month: Elizabeth Smith and Ariam
Mogos. We lost two members in the last month: Tim Dixon and Nick Mapsy.
We have 46 dues-paying members in good standing, two permanently
dues-waived members, four temporarily dues-waived members, and five
members who are behind on dues.
#### Project Awesome
Here is the Project Awesome spreadsheet for February:
![<File:HacDC_PA_Projects-2014_02.pdf>](HacDC_PA_Projects-2014_02.pdf "File:HacDC_PA_Projects-2014_02.pdf").
Once again we are in the red for the month, so there is no Project
Awesome dividend. :(
### Secretary's Report
NonHacDC calendar is being populated. Need to put it in a more public
place and open it up to members for editing. Otherwise nothing
significant to report.
### Director-at-Large Reports
No report.
## [Project Awesome](:Category:Project_Awesome "wikilink") Reports
### Project LASER
Dan: Optical maintenance; cleaning lenses, tightening things, etc. Found
the aluminum track is wearing and has some play. Will try to flip them
to use the other side, otherwise will purchase new tracks. This is
expected, normal wear. Aiming laser and combining optic is here, but
dust is still a problem. Will add air flushing to all optical
components. Thanks to those who worked on the alignment. The idea of
having jigs underneath is being put off. The cabinet will need to be
reworked first.
### Project BYZANTIUM
Nothing new to report.
### Project KITBUILD
Nothing new to report.
### Project SUPPLIES
Still healthy and stable. A few expenses this month, related to lighting
the new shelves.
### Project EXPANSION
We may be able to afford a small vertical bandsaw for about \$100,
similar to the one we had before. This would help cutting stock
materials for CNC mill, laser cutter, photolithography fab, etc. Any
suggestions or objections? Dan: reminds Mirage that we'd like ink for
the inkjet plotter in the basement.
### Project SPACECAM
Kevin: comments on Rob's donation list, very interested in the
projectors and the scanning/projecting white boards. WebRTC is what will
hopefully replace Hangouts in the future. Please check it out.
## Member Reports
### Justin Myers
Quick reminder that our first
[Laurel](http://larcmd.org/vec/)-accredited ham radio licensing [exam
session](Licensing_Exams "wikilink") starts at noon [March
22](http://www.meetup.com/hac-dc/events/160901402/) (a week from this
coming Saturday). Review/questions are welcome at tomorrow's (March 12)
HARC meeting.
If you're interested in getting licensed, take your exams here for free!
Other exam dates this year: [June
21](http://www.meetup.com/hac-dc/events/160901522/) and [Nov.
8](http://www.meetup.com/hac-dc/events/160901572/).
We also need more examiners who can help out at these sessions; if
you're already licensed (General or above) and want to help, let me
know.
### Mirage
Audio difficulties.
From chat: Basically, I have a nice HF antenna, and continuing work with
Imagnus. The USRP is cooperating now. Would like Dan and I to have
permission to expediently dispose of remaining junk in the basement.
Three months is far too long!
### Dan
New acrylic colors in stock. Non-rastering cutting is working fine
(laser cutter). Discussion: computer for laser cutter could use more
memory, but it's windoz XP. Options presented, will look into it.
## Old Business
Provide Martin a keyholding honorary (nonpaying) membership. - Approved
by member vote.
## New Business
Approve Article IV of the [Proposed Standing
Rules](Proposed_Standing_Rules#Article_IV:_Meetings "wikilink"). This
codifies our existing policies and empowers the BoD to reschedule member
meetings for the following week in the event that an emergency (such as
weather) forces the cancellation of a scheduled meeting. - proposed
rules reviewed in meeting, minor discussion followed - Approved by
member vote.
Permit Dan Barlow and mirage335 to expediently dispose of junk in the
basement for the next few months. - Approved by member vote.
## Board of Directors Elections
Results of the elections are as follows:
### President
Dan
### Vice-President
Chris
### Treasurer
Katie
### Secretary
DaveMc
### At-Large Directors (two)
Zach and Ben
## New Members
Chris - electronics, Ham, Windows expert - Approved by member vote.
## Adjournment
Adjourned at 2110.
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

212
Annual_Meeting_2015.md Executable file
View File

@ -0,0 +1,212 @@
## Purpose
From the HacDC Bylaws, Article III, Section 2:
At the annual meeting, the voting members shall elect the Board of
Directors, review and vote on the standing rules and policies of the
corporation, receive reports on the activities of the corporation,
approve the budget and determine the direction of corporation in the
coming year.
This meeting will also serve as the monthly meeting for the month of
January.
## Time and Location
January 10, 2015
Meeting called to order at __3:13__ by __Ben the Pyrate___.
Members Present: Enrique, Katie, Zack, Kevin, Travis, Shawn, Don, Pat,
Phil Stewart, Hunter, Celeste, Mirage
Others Present: Danish, A-KO
[Quorum](Quorum "wikilink") met? Yes
## Approval of Previous Meeting's Minutes
[Regular Member Meeting 2014 12
09](Regular_Member_Meeting_2014_12_09 "wikilink") Approved
## Recognition
## Director Reports
### President's Report
Not Present
### Vice President's Report
Not Present
### Treasurer's Report
Here is the financial summary spreadsheet for December 2014:
![<File:HacDC_Financials_2014_12.pdf>](HacDC_Financials_2014_12.pdf "File:HacDC_Financials_2014_12.pdf").
We gained Gary Sparkes (Hunter) as a new member, re-gained Ann
Millspaugh as a returning member, and lost Christine Prefontaine and
Phillip Walker. We have 44 dues-paying members in good standing and 6
dues-waived members.
The CFC charity application is proving non-trivial to complete. By
January 23 we must, in addition to the forms completed thus far:
- submit supporting statements and/or documentation of substantial local
presence in the geographical area covered by the local campaign and a
description of the programs, services, benefits, etc. provided by the
organization in calendar year 2014 and how those programs, services,
benefits, etc. affect human health and welfare of the target
population.
- complete and submit a Pro Forma [IRS Form
990](http://www.irs.gov/pub/irs-pdf/f990.pdf). The following sections
must be completed: Page 1, Items A-M; Part I (Summary and Part II,
Signature Block), Lines 1-4 only; Part VII (Compensation section A
only); Part VIII (Statement of Revenues); Part IX (Statement of
Functional Expenses), and; Part XII (Financial Statements and
Reporting).
- prohibit the sale or lease of CFC contributor lists
#### Project Awesome
Here is the Project Awesome spreadsheet for December:
![<File:HacDC_PA_Projects-2014_12.pdf>](HacDC_PA_Projects-2014_12.pdf "File:HacDC_PA_Projects-2014_12.pdf").
We continue to have to dip into savings to pay our rent, so no dividend
this month. :(
### Secretary's Report
No Report.
### Director-at-Large Reports
#### Travis
CNC will be running by end of the month. Prusa is running.
#### Zack
No report.
## [Project Awesome](:Category:Project_Awesome "wikilink") Reports
### Project LASER
No report. Hand-off required?
### Project BYZANTIUM
We're re-factoring the project. Slowly because we all have jobs now.
### Project KITBUILD
Nothing new to report. Still hoping to organize a kit build in concert
with a Learn to Solder event sometime this spring.
### Project SUPPLIES
Ordered replacement extruder for Rostock Max. Also ordered 0.35mm nozzle
for dramatically improved resolution.
When finances become less strained, a Rev.7 PCB heater would be a nice
addition. More even heating across the glass would reduce thermal stress
and greatly improve adhesion.
### Project EXPANSION
Still conservative.
### Project HAMRADIO
Don has installed a 2 element 10m and a 160m dipole antenna. Don fitted
a narrow (CW) filter in the main HF radio to improve narrow signal
performance. We have participated in a number of on-air contests and
contacted more than 100 countries.
Lee N4TCW
## Member Reports
### mirage335
#### Lessons from Kamal Jain of Lowell Makes
Met Kamal Jain from [Lowell Makes](http://lowellmakes.com/),
Massachusetts hackerspace last month. Among other things, we discussed
revenue/sponsor structures. Recently received email detailing these
opportunities. In particular, we should look into
[1](https://doublethedonation.com/blog/2014/08/donation-requests/).
#### Shimmer
HacDC server Shimmer is proving stable. Please contact me by email
(directly or members@hacdc.org) for an account.
#### RFID
NetPLC boards and parts are in, so RFID system will be implemented soon.
## Old Business
## New Business
### Cams
Funding and installation of 'lights-on' cameras, and authorize BoD to
examine other relevant footage (ie. hallway cams) to correlate
incidents. Members' identities would not be recorded in any way not
already documented (ie. hallway cam).
This proposal is not a plan of action (ie. we may not need to buy cams),
just a provision for future improvement.
Approved the installation of camera. Funding and technical details to be
revisited.
### Dues Structure
We may benefit from some sort of multi-level membership structure,
perhaps particularly to ensure fair compensation for renting the office
space.
Needs to be discussed and revisited in a separate meeting.
### Increase Dues by \$10 for one year
Approved.
## Board of Directors Elections
Results of the elections are as follows:
### President
Celeste
### Vice-President
Haxwithaxe
### Treasurer
Travis
### Secretary
Enrique
### At-Large Directors (two)
Phil Don
## New Members
Danish
## Adjournment
Adjourned at ___4:02____.
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

258
Annual_Meeting_2016.md Executable file
View File

@ -0,0 +1,258 @@
## Purpose
From the HacDC Bylaws, Article III, Section 2:
*At the annual meeting, the voting members shall elect the Board of
Directors, review and vote on the standing rules and policies of the
corporation, receive reports on the activities of the corporation,
approve the budget and determine the direction of corporation in the
coming year.*
## Time and Location
February 9th, 2016 (postponed from January 23)
Meeting called to order at 7:45pm by Enrique.
Members Present: Ethan W., Matthew H., Julia L., Michael C., Nick S.,
Phil S., Tom I., Bill B., Don J. Sumter T., Kevin C., Pat B., Shawn W.
Others Present: [Quorum](Quorum "wikilink") met? YES
## Approval of Previous Meeting's Minutes
## Recognition
- HacDC Members and Volunteers: This year we had a whole new board. We
applied, appealed and were accepted as a Combined Federal Campaign
charity, renewed our non-profit status with DC, fixed some years-old
problems with our finances paperwork even after we lost our treasurer
mid-year and had a horrible transition. We gained three sponsors this
year: Lulzbot, Accelebrate and Newark element 14. We put up a
microwave tower on the roof, the radio transceiver online and took a
large-format laser cutter from design to operational project. Plus we
significantly cleaned up the basement, moved much of the workshop down
there, updated our inventory, moved the classroom to another suite and
built custom shelving for it. On top of all those accomplishments,
between 3D Thursdays, Amateur Radio and Microcontroller Mondays, HacDC
has held about 100 free, public workshops in 2015. This doesn't
include all the Radio Contests, Field Days and Licensing Exam
Sessions, Capture The Flag, Web Scraping, SEM Workdays, the Intro
Security Workshop, the Raspberry Jam, CNC Mill Class, Lockpicking,
Virtual Reality Night, Table Top Gaming, our table at the Columbia
Heights Farmers Market many Saturdays, and participation at the
Greenbelt Maker Faire, the Silver Spring Maker Faire and nearly two
full days at the National Maker Faire. So for all the hardships and
frustrations we've had this year, thank you to everyone who makes
HacDC awesome.
## Director Reports
### President's Report
### Vice President's Report
Ok, so I have been too hot under the collar about this lately, so I'll
step back from leading the charge. Please give some thought to improving
basement/shop policy.
Also, obtained copies of
![<File:MakersmithsRules.pdf>](MakersmithsRules.pdf "File:MakersmithsRules.pdf"),
![<File:MakersmithsDisclaimer.pdf>](MakersmithsDisclaimer.pdf "File:MakersmithsDisclaimer.pdf"),
and
![<File:MakersmithsSignIn.pdf>](MakersmithsSignIn.pdf "File:MakersmithsSignIn.pdf")
sheet. Please consider these documents as rough examples.
Members, please consider the impact of negativity towards the successful
OpticalTableRobot, as well as the concerns of hard working volunteers
who have sometimes endured more debate or distraction than support.
BoD candidates, please consider the need to form a cohesive body of
leadership for HacDC.
HacDC has a lot of options right now, both in terms of equipment and
goals.
HacDC has the potential to offer advanced tooling and support quality
research. Or, HacDC can focus on less difficult, perhaps less polarzing
aspects of its mission. In the former case, we need to make
basement/shop areas more insulated from politics and recklessness. In
the latter case, it would make sense to liquidate assets that will not
be used, such as the OpticalTableRobot, extra electronics test
equipment, high-voltage transformers, etc.
### Treasurer's Report
- Dwolla ballance: \$5,030.00
- Paypal ballance: \$5,140.66
- BB&T ballance: \$2,105.47
<!-- -->
- January Income from membership dues: \$1500
- January donations: \$190
### Secretary's Report
(Will update before meeting)
- We have 34 members in good standing. Quorum is 9, majority 18 and
two-thirds is 23.
### Director-at-Large Reports
#### Phil
#### Don
## [Project Awesome](:Category:Project_Awesome "wikilink") Reports
### Project HAMRADIO
Putting up a repeater; will coordinate with HacDC next year when Don
moves to Uganda.
### Project SEM
Nothing much to report, bought a penning gauge.
### Project SUPPLIES
Anticipating minor IT services related expenses, including \$20 for VoIP
services.
### Project EXPANSION
Approved an ~\$215 computer purchase to reinstate classroom web
conferencing and presentation functionality.
Some proposals for funding structures are already served by this fund.
Please consider working within the democratic, yet efficient, Project
Awesome framework.
## Audit Committee Report
The Committee will update the members on progress thus far and discuss
the plan forward.
## Member Reports
- Enrique. Hosted two Introduction to Linux nights. Attendance was very
sparse though; maybe 7 people total. Also Kerbal Space Program. I've
asked Brian about improving signage to direct people to HacDC from the
St. Stephen's main entrance because I found one attendee pacing back
and forth there looking for the address. Let's open the Newark stuff
and take some photos! Also Julia, myself, and Dan and a few volunteers
fixed the TV! I made a video. If people like it maybe it'll be online.
## Old Business
### Membership Dues Waiver for EdTechDMV / Representative
- Old problem, new example: An outside organization wants to use HacDC
facilities during business hours. The organization is EdTechDMV, an
educational non-profit organization, wants to offer IT workshops and
computer training classes in HacDC's classroom. The two examples are
an upcoming workshop the evening of February 17th, and computer
training classes during 9-5 hours they want to offer this summer. Are
these events something HacDC wants to facilitate/host? What are the
pros and cons? If we do, how would we give EdTechDMV access to the
classroom when members are not available?
### Bylaws Amendment
- Proposed Amendment to Bylaws Article II, Section 6: Add "*For
substantial cause, the Board of Directors may indefinitely suspend a
member's access to the space by a 2/3 majority vote of the board. By
voting at an official meeting with quorum, members may reinstate or
suspend, access or membership, for any member whose access has been
suspended by the board. The board may suspend the access of no more
than two members per month via this procedure. Access to the space may
not be re-suspended by the Board of Directors for the same actions or
incidents. Explanation of such suspensions must be submitted
electronically to all members."* (This proposed bylaws amendment must
be signed by 3/4ths of all members before it is adopted)
### Restrict Workshop and Tool Access
- Approve a *non-binding resolution* that access to the workshop in the
basement should be restricted to HacDC members who have undergone a
safety briefing and use of certain tools (CNC Mill, Lathe, PCB Etch
Supplies, OTR) restricted to members authorized by an approved
custodian of each tool (to be determined).
Proposal text was send via email to members was was approved by large
majority: "I propose that we change the access control policy to the
basement, establishing a "basement custodian", who has the authority to
control who has access to the basement, and the responsibility to
restrict access to those who are able to use the equipment and space
without being a disturbance to the use of the machinery and space by
others. Regarding my second proposal, I would like the initial basement
custodian to be selected by the board, with replacements selected by the
standing custodian. The board should be empowered to replace the
custodian only through a membership vote at a membership meeting with
quorum." This proposal was approved by a large majority vote, with the
understanding that the custodian is subject to replacement at the next
meeting if members are not satisfied with the rules and procedures
required to certify members for basement access before then. The
custodian was renamed Dungeon Master. The board voted to appoint Julia
as the first Dungeon Master.
### Reimbursements
- Approve reimbursement of \$95.14 to Enrique for purchase of an 8' step
ladder for basement use. (replaced 8' wooden ladder) - This was
Approved.
- Approve \$2,000 for fully recomissioning the OpticalTableRobot. - This
was Tabled.
- Approve \$500 for an off-the-shelf throw-away eBay laser cutter. -
This was Tabled.
## New Business
- Colloboratively discuss, consider, and adopt policy reforms to protect
volunteer contributions to the basement/shop areas.
- Invited speakers. The Amateur Radio club finds and hosts invited
speakers monthly and I think that's something HacDC could do even more
often. What topics are we interested in hearing about? Off the top of
my head: quantum computing, and something a bit more social like
epistemology online.
- Review our year long experiment of having \$60 dues, and possibly vote
on whether to continue requiring \$60. - This was temporarily approved
for the month.
## Board of Directors Elections
Results of the elections are as follows:
### President
Julia Longtin
### Vice-President
Ethan Waldo
### Treasurer
Enrique Cobas
### Secretary
Tom Iddings
### At-Large Directors (two)
Michael Chelen
Matthew Hines (mirage335)
## New Members
John P.
## Adjournment
Adjourned at 10:20 by Enrique.
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

176
Annual_Meeting_2017.md Executable file
View File

@ -0,0 +1,176 @@
## Purpose
From the HacDC Bylaws, Article III, Section 2:
*At the annual meeting, the voting members shall elect the Board of
Directors, review and vote on the standing rules and policies of the
corporation, receive reports on the activities of the corporation,
approve the budget and determine the direction of corporation in the
coming year.*
## Time and Location
January 28th, 2017 at 4pm
Meeting called to order at
`   1630`
Members Present:
`   Ben Enrique Julia Ankeet Andrew Matt Ken Tom Kevin`
Others Present:
`   Others`
[Quorum](Quorum "wikilink") met?
`   yes`
## Approval of Previous Meeting's Minutes
## Recognition
In 2016 HacDC held nearly 100 free workshops on microcontroller
programming, 3D design and 3D printing. We also started workshops
teaching people about PC hardware and software with several PC Rebuilds
events, a couple of Linux Install nights and about a dozen Introduction
to Linux workshops. The Amateur Radio Club also held dozens of meetings
including many guest speakers, and participated in national and
international contests including field excursions to the White House,
National Parks, Lincoln's Cottage and more. HacDC itself had three long
days of off-site demos at the USA Science and Engineering Festival and
RobotFest. HARC also participated in the Silver Spring Maker Faire,
enabled remote online access to the W3HAC station and set up a repeater.
We also had a few one-off events like the Apple v FBI discussion, a
Kerbal Space Program gathering, a couple of Hackathons run by
hackster.io, and we fixed the LCD TV! Last but not least, we assembled,
launched, tracked and recovered Spaceblimp 6 and got some beautiful
images and video from the stratosphere (104,000ft!).
Through our partnership with High School Tech Services HacDC has hosted
classes on project management, programming fundamentals, object oriented
programming, HTML5 and more.
Besides the workshops, events and projects, we also continued to
reorganize ourselves in our new space after our late 2015 move, we
renewed a \$500 sponsorship from Accelebrate and obtained a new
sponsorship from Newark element 14, we got over \$550 in donations from
federal employees via the CFC process. We restored our reserves to 6
months of expenses, we cleaned up the Standing Rules and some other
parts of the Wiki. Several of our members attended the Nation of Makers
meeting and continue to be involved in the new national organization.
HARC: 132 exams were given in 2016. 116 new licenses or upgrades. We
participated in 16 radio contests and 22 National Park on the Air
events, including the National Monument and Presidents Park(White
House). We purchased and installed a 440mhz repeater.
## Director Reports
### President's Report
`   nice LED lights`
### Vice President's Report
`   not present`
### Treasurer's Report
- See the January meeting minutes for numbers. We have about 7-8 months
of full operating expenses in reserve but we're close to breaking even
month-to-month, especially with the coming 5% rent increase.
- We are too reliant on membership dues (95%+ of our revenue) and the
dues are pretty high already. We should look at getting more donations
or applying for grants.
- To raise more than \$1,500/yr in donations, we need a solicitation
permit, which we should and will apply for shortly.
- Apparently HacDC has never filed tax returns with DC Govt since it was
founded. Once we start (this year), even though we've been tax-exempt,
we may get fined for not filing returns as expected. We should clear
that up before looking at grants.
### Secretary's Report
`   I was Secretary and a member of the BOD this past year.`
### Director-at-Large Reports
#### Matt
Has been a good year. No drama. More volunteers getting involved. Maybe
next year we can grow and do really awesome things.
#### Mike
## [Project Awesome](:Category:Project_Awesome "wikilink") Reports
### Project HAMRADIO
### Project SEM
### Project SUPPLIES
### Project EXPANSION
## Audit Committee Report
Nobody bothered to form a committee so there's no report. All financial
statements including receipts for all purchases are at the space, in the
BOD locker, treasurer's folder. The Dwolla statements include member
names, the rest don't. -Enrique
## Member Reports
## Old Business
`   The bylaws amendment has enough signatures to consider.`
`   The bylaws amendment below passed by unanimous acclamation.`
### Bylaws Amendments
- Proposed Amendment to Bylaws Article II, Section 6: Add "*For
substantial cause, the Board of Directors may indefinitely suspend a
member's access to the space by a 2/3 majority vote of the board. By
voting at an official meeting with quorum, members may reinstate or
suspend, access or membership, for any member whose access has been
suspended by the board. The board may suspend the access of no more
than two members per month via this procedure. Access to the space may
not be re-suspended by the Board of Directors for the same actions or
incidents. Explanation of such suspensions must be submitted
electronically to all members."* (This proposed bylaws amendment must
be signed by 3/4ths of all members before it is adopted)
## New Business
- Group Photo. The group photo we have is ANCIENT. Literally 90% of
those people are gone. New photo is years overdue.
## Board of Directors Elections
Results of the elections are as follows:
`   President: ''Julia stood for election unopposed.`
`   Vice President:  ''Andrew and Tom stand for VP.`
`   ''Tom won with 7 votes to 3`
`    Treasurer: ''Enrique stood for election unopposed.`
`    Secretary: ''Ben stood for election unopposed.`
`   At large seats: ''Andrew, Mirage, and Kevin stand for at large seats.`
`   Mirage and Kevin won the ranked choice vote.`
## New Members
## Adjournment
Adjourned at
`   1700`
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

177
Annual_Meeting_2018.md Executable file
View File

@ -0,0 +1,177 @@
## Purpose
From the HacDC Bylaws, Article III, Section 2:
*At the annual meeting, the voting members shall elect the Board of
Directors, review and vote on the standing rules and policies of the
corporation, receive reports on the activities of the corporation,
approve the budget and determine the direction of corporation in the
coming year.*
## Time and Location
`   Date: 2018.13.10 (March 10, 2018)`
`   Location: HacDC`
Meeting called to order at
`   Time: 15:37`
## Participants
- Members Present:
- Kevin
- Julia
- Matt Zand
- JP
- Karen
- mirage
- Nic
- Tayeb
- Ken
- Tom
- Enrique (virtually)
<!-- -->
- Others Present:
- Aden
[Quorum](Quorum "wikilink") met?
`   Yes`
## Recognition
`   Enrique was Treasurer, thank you. Julia was President. Mirage is also an outgoing 3-year veteran of BoD.`
`   Thanks to all 3 for your service. Tom did good work as VP.`
## Director Reports
### President's Report
`   President is present but incommunicado.`
### Vice President's Report
`   I lost our IT admin contract. Been working on various infrastructure projects like the printer, classroom TV,`
`   basement TV, videoconferencing, etc. Would like to continue my work as VP and help grow and improve our`
`   organization over the next year.`
### Treasurer's Report
`   Did a bunch of legwork and treasurer stuff, helped us be square with the government.`
### Secretary's Report
`   Nic is happy to be a member of HacDC over the past year, has found HacDC to be a valuable community to be a`
`   member of. Has been Secretary for a few months, but has been away on international travel.`
### Director-at-Large Reports
#### Matt
`   Project Awesome fund allocations are still necessary but have been under-utilized the past year. USASEF is a big event,`
`   we kind of dropped the ball this year. The next BoD should bear this in mind for future years; and try to stay in touch`
`   with previous BoD members so institutional knowledge is kept.`
`   Treasurer is an important job, hope the next one takes their responsibility seriously. Don't be too hard on folks, but it's`
`   important the Treasurer does reimburse people promptly.`
`   HacDC's BoD needs to take responsibility for members causing problems, and members need to take responsibility for their guests.`
`   Problems need to be addressed promptly.`
#### Kevin
For the most part, my year has consisted of trying to network HacDC with
other groups and represent HacDC at events. To that end, I:
- offered 3D printing services, along with Julia, at the two-day
Smithsonian Institute's [Earth Optimism
Summit](https://earthoptimism.si.edu/2017/) ["Make for the
Planet"](https://earthoptimism.si.edu/calendar/2017/events/make-planet-pitches/)
hack-a-thon
- represented HacDC for the [Community Makerspace
Day](https://www.eventbrite.com/e/community-makerspace-day-tickets-39168856103#)
event at Mary McLeod Bethune Day Academy PCS
- supported Ken's [Neighborhood Opportunity
Centers](DC_Community_Hackerspaces "wikilink") (NOCs) proposals by:
- participating in two meetings with DC government officials and
Nation of Makers executive director
- arranged a meeting between HacDC and the New America Foundation's
Open Source Institute
- established a wiki page for collecting, coalating and coordinating
potential NOC resources
In lesser news, I've been:
- recreating a passport stamp
- working on a brief [OpenSCAD rotate_extrude tutorial
video](https://drive.google.com/file/d/1CINyLSA3x984h7JMWaxRRfdgh0C0v81g/view)
- futzing around with the teleconferencing system, and continue
attempting to document progress on the wiki (See [La
Fonera](La_Fonera "wikilink") and [OBi110 VoIP
setup](OBi110_VoIP_setup "wikilink").)
- doing this, that and the other thing
- occasionally restocking the fridge
- kept the tunes going a la [Radio
Paradise](https://www.radioparadise.com/)
## [Project Awesome](:Category:Project_Awesome "wikilink") Reports
### Project SPACEBLIMP
We postponed our March 3-4 launch due to winds out in Strasburg, despite
everything being ready to go otherwise. Sad! We're currently deciding on
a new launch date but the weekends of March 24 and March 31 are likely.
We've also entered the Global Space Balloon Challenge under the team
name Hackers SLS (Space Lunch System) and plan to launch another
Spaceblimp for that competition in later April (not to far away).
Enrique
## Audit Committee Report
Nobody bothered to form a committee so there's no report.
## Member Reports
Enrique - This year I hosted events on Lockpicking (TOOOL came),
Software Defined Radio, Cryptocurrencies and the Metasploit Workshop put
on by Beltway Hackers. Also lots of Spaceblimp meetings, especially
lately. Spaceblimp 7 was postponed from the Eclipse date to early 2018
and just postponed again due to weather but we're ready to go very soon.
### Bylaws Amendments
"Bylaws amendment proposal: Change the threshold for future bylaws
amendments from "more than three quarters (3/4ths) of voting members,"
to "more than three quarters (3/4ths) of member votes cast 90 days from
the proposal approval date," and from "Notice of such petition must be
submitted electronically to all members," to "Notice of such a petition
must be submitted to all members electronically and, where electronic
means produce no response, all other available means." (petition
approved April 2017)
<http://wiki.hacdc.org/index.php/Regular_Member_Meeting_2017_04_11>)
## New Business
## Board of Directors Elections
Results of the elections are as follows:
`   President:  ''Karen stood for election for President unopposed.`
`   Vice President:  ''Tom stood for election for VP unopposed.`
`   Treasurer:  ''Tayeb stood for election unopposed.`
`   Secretary:  ''Nic stood for election unopposed.`
`   At large seats:  ''Ken, Kevin, and stood for 2 at large seats.`
## Adjournment
`   Adjourned at 1627`
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

208
Annual_Meeting_2019.md Executable file
View File

@ -0,0 +1,208 @@
## Purpose
From the HacDC Bylaws, Article III, Section 2:
*At the annual meeting, the voting members shall elect the Board of
Directors, review and vote on the standing rules and policies of the
corporation, receive reports on the activities of the corporation,
approve the budget and determine the direction of corporation in the
coming year.*
## Time and Location
`   Date: Tuesday, March 12`
`   Location: HacDC`
Meeting called to order at
`   Time: 7:00pm`
`   By: Karen`
## Participants
- Members Present:
- Karen
- Kevin
- Ken
- Bobby
- John
<!-- -->
- Members remoting:
- Tayeb
- Enrique
- Mirage (Matt)
<!-- -->
- Others Present:
- ITechGeek
[Quorum](Quorum "wikilink") met?
`   Unknown`
## Approval of Previous Meeting's Minutes
## Recognition
## Director Reports
### President's Report
Fundraising Activities - scheduled and proposed
- HacDC is going to have an event at Dupont Underground Tuesday, April
23 - proposal is for demos, public domain films, and musical
entertainment. HacDC will approach Words/Beats/Life to see if they
would be interested in collaborating
- Board met with the owner of Exiles on U Street about the possibilities
for fundraising - they are pretty flexible so there are many options
to discuss
- Sign in sheet - we need to show our service to the community with
something more tangible - there is a sign in sheet - all members and
visitors should sign in.
Testimony at the DC Council DMPED oversight hearing
- Karen Shunk testified
- Was able to meet contacts at DMPED, Focus on the Story, and District
Makers Collective
Next Movie night:
- Friday, March 16
- Gravity (2013) directed by Alfonso Cuaron, starring Sandra Bullock and
George Clooney
### Vice President's Report
### Treasurer's Report
The cash flow spreadsheets should be visible to all present, and there
are a couple of things I would like to point out. We continue to have a
reserve of approximately \$10,000, though this is decreasing because we
are spending more money on rent per month than we are bringing in
through membership dues. The costs for January were unusually high so
look at those numbers with a grain of salt (we were charged for two
months rent during that period due to the timing of check cashing, and
we had additional one-time payments). The more important number for the
future is the \$1579/month rent that will continue to cost us in the
longer term.
We currently have 21 members in good standing. Due to irregular payment
schedules for some members this is not clear from the cash flow
spreadsheet but the majority of our members pay through Paypal. Dwolla
has recently closed down the service we were using for a handful of our
member payments so we are no longer able to collect dues through their
platform. We will need to modify the HacDC website to remove that
offering and possibly look into other alternatives that have lower fees
like Dwolla did (Paypal currently costs us about ~\$40/month in fees).
We have not seen any large effects due to fundraising, though we have
had a few individual donations that have helped us these last few
months. However both donations were from people within HacDC so I don't
think we are reaching a wider audience yet for our fundraising.
This is my last month as treasurer, I am resigning and not running again
for next year since I have not been living in the DC area for a few
months now. To whoever ends up in this board seat, I will reach out to
discuss the best way to hand off the credentials and any other pressing
financial matters for HacDC (e.g. filing with the IRS to maintain our
non-profit status).
### Secretary's Report
### Director-at-Large Reports
#### Ken
#### Kevin
## [Project Awesome](:Category:Project_Awesome "wikilink") Reports
### Project HAMRADIO
### Project SEM
### Project SUPPLIES
### Project EXPANSION
## Audit Committee Report
Nobody bothered to form a committee so there's no report. All financial
statements including receipts for all purchases are at the space, in the
BOD locker, treasurer's folder. The Dwolla statements include member
names, the rest don't. -Enrique
## Member Reports
## Old Business
Rules of the Road - Code of Conduct Review
- Please review the draft code of conduct at
<https://wiki.hacdc.org/index.php?title=Code_of_Conduct#DRAFT:_Code_of_Conduct_for_HacDC>
for discussion at the next member meeting in April
- This has been updated with input from other members and review of
codes of conduct of other hackerspaces
More space cleanup
- Need to finish cleaning out back section of basemen
- Mike Ritonia has agreed to install new lock on basement door
- We can use the dumpsters out front (within reason)
- Ideas for basement - besides storage, could we organize a workshop?
Maybe metal or woodworking?
Proposal for an intermediate membership type:
- We have a discounted "starving hacker/student" and a keyed, full
membership; unlike other spaces, we do not have an intermediate
membership
- Typically, the intermediate membership level gives members limited
storage, access to 'members wifi' (we would have to set that up) and a
few other perks (could work unsupervised in the basement, for example)
- Do we see value in this dues level, and what are the membership
services that come with it?
Discussion: need to develop ROI of membership levels, possibly create
new benefits. Important to know how many members at what level right
now. It would be good to have an effort at the April 23rd event to sign
up members or take donations.
### Bylaws Amendments
## New Business
Business license expires in June, James will renew it.
## Board of Directors Elections
Results of the elections are as follows:
`   President: ''Karen stood for election unopposed.`
`   Vice President:  ''John stood for election unopposed.`
`   Treasurer: ''James stood for election unopposed.`
`   Secretary: ''Dave stood for election unopposed.`
`   At large seats: ''Ken and Kevin stand for at large seats unopposed.`
Karen moved, Kevin seconded a motion to elect the slate of board
candidates in a single vote. Motion to elect the slate passed.
## New Members
## Adjournment
Adjourned at
`   Time: Change me`
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

151
Annual_Meeting_2020.md Executable file
View File

@ -0,0 +1,151 @@
## Purpose
From the HacDC Bylaws, Article III, Section 2:
*At the annual meeting, the voting members shall elect the Board of
Directors, review and vote on the standing rules and policies of the
corporation, receive reports on the activities of the corporation,
approve the budget and determine the direction of corporation in the
coming year.*
## Time and Location
`   Date: Tuesday, March 12`
`   Location: HacDC`
Meeting called to order at
`   Time: 7:10pm`
`   By: Karen`
## Participants
- Members Present:
- Karen
- Kevin
- Ken
- Tayeb
- John
- Brian Madonna
- Don Jones
- Matt
<!-- -->
- Others Present:
- ITechGeek
- Chris
[Quorum](Quorum "wikilink") met?
`   Yes`
## Approval of Previous Meeting's Minutes
Approved
## Recognition
- Louis -- Led a very successful round of All About Circuits sessions
- We have a new member (Chris)
- Bobby -- Has put a lot of effort into the laser cutter and it's paying
off! We're almost there
## Director Reports
### President's Report
Fundraising Activities - scheduled and proposed
-
### Vice President's Report
### Treasurer's Report
10 days into March and we are net +\$677 dollars for this month. There
have been addidional payments from paypal and additional deposits made
directly to the bank of \$330, \$336, and \$1200. We currently have
\$785 dollars in the BB&T account and we are about to deposit an
additional \$1400.
We are doing significantly better this month than before with several
one-time payments accounting for the difference
### Secretary's Report
- Member cleanup will be happening this coming Saturday with Don Jones.
And we have a new spring cleaning part II scheduled for March 21st
### Director-at-Large Reports
#### Ken
#### Kevin
## [Project Awesome](:Category:Project_Awesome "wikilink") Reports
### Project HAMRADIO
### Project SEM
### Project SUPPLIES
### Project EXPANSION
## Audit Committee Report
Nobody bothered to form a committee so there's no report. All financial
statements including receipts for all purchases are at the space, in the
BOD locker, treasurer's folder.
## Member Reports
## Old Business
- We are still figuring out a time and list idea of things to talk about
to Nehemia of NonStop Art (who just got a new job)
- Figuring out what we are going to do at USASEF: Louis' speaker hooked
up to a theremin is one idea, possibly some additional visual elements
to be added. We should email Avi about TOOOL and try to make
lockpicking happen
### Bylaws Amendments
## New Business
- HARC Foxhunt coming up in the future (early April planning, event in
June/July)
- Free Market held at the church every third Saturday, would theyu want
HacDC for electronics repair? Or other table operations? Or could we
bring a 3D printer?
## Board of Directors Elections
Results of the elections are as follows:
`   President: ''Karen stood for election unopposed.`
`   Vice President:  ''John stood for election unopposed.`
`   Treasurer: ''Matt stood for election unopposed`
`   Secretary: ''Tayeb stood for election unopposed.`
`   At large seats: ''Brian and Louis stand for at large seats unopposed.`
Karen moved, Kevin seconded a motion to elect the slate of board
candidates in a single vote. Motion to elect the slate passed.
## New Members
We have a new member! Chris
## Adjournment
Adjourned at
`   Time: Change me`
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

145
Annual_Meeting_2021.md Executable file
View File

@ -0,0 +1,145 @@
## Purpose
From the HacDC Bylaws, Article III, Section 2:
*At the annual meeting, the voting members shall elect the Board of
Directors, review and vote on the standing rules and policies of the
corporation, receive reports on the activities of the corporation,
approve the budget and determine the direction of corporation in the
coming year.*
## Time and Location
`   Date: Tuesday, March 9`
`   Location: HacDC`
Meeting called to order at
`   Time: 7:43pm`
`   By: Karen`
## Participants
- Members Present:
- Karen
- Kevin
- Ken
- Tayeb
- John
- Michelle
- Gabe
- Matt
- Obi
<!-- -->
- Others Present:
- Jared
[Quorum](Quorum "wikilink") met?
`   Yes`
## Approval of Previous Meeting's Minutes
Approved
## Recognition
- Don -- repairing the antennas on the roof
- HacDC Robot Group -- ready to start classes this week
## Director Reports
### President's Report
Fundraising Activities - scheduled and proposed discussed in shared
google docs aggregating ideas from past members meetings. Board to meet
in the future.
### Vice President's Report
### Treasurer's Report
Financial Report: Current Balance -- \$13,766 We currently have 17
paying members, \$930 from dues and an additional \$120 from donations.
Rent is \$732 for September, total expenses are \$793
### Secretary's Report
### Director-at-Large Reports
#### Ken
#### Kevin
## [Project Awesome](:Category:Project_Awesome "wikilink") Reports
### Project HAMRADIO
### Project SEM
### Project SUPPLIES
### Project EXPANSION
## Audit Committee Report
Nobody bothered to form a committee so there's no report. All financial
statements including receipts for all purchases are at the space, in the
BOD locker, treasurer's folder.
## Member Reports
## Old Business
- John: Perhaps codify the idea that the Vice President should be the
person likely to become the President in the Bylaws? Look into a
Bylaws amendment for future monthly meetings
### Bylaws Amendments
- No bylaws amendments
## New Business
- Board to meet the following Tuesday to address plan for Mike Ritonia.
Tayeb to prepare shared document for Board consideration shared with
Board members prior
<!-- -->
- Ken: Discusses Strawman Vision for HacDC Robot Project -- taking the
project beyond just the space to the community
## Board of Directors Elections
Slate of Candidates -- Tayeb: President, John: Vice-President, Michelle:
Secretary, Matt: Treasurer, Brian: At-Large, Gabe Altay: At-Large
Results of the elections are as follows:
`   President: ''Tayeb stood for election unopposed.`
`   Vice President:  ''John stood for election unopposed.`
`   Treasurer: ''Matt stood for election unopposed`
`   Secretary: ''Michelle stood for election unopposed.`
`   At large seats: ''Brian and Gabe stand for at large seats unopposed.`
Karen moved, Kevin seconded a motion to elect the slate of board
candidates in a single vote. Motion to elect the slate passed.
## New Members
We have a new member! Jared
## Adjournment
Adjourned at
`   Time: 9:17pm`
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

231
Annual_Meeting_2022.md Executable file
View File

@ -0,0 +1,231 @@
## Purpose
From the HacDC Bylaws, Article III, Section 2:
*At the annual meeting, the voting members shall elect the Board of
Directors, review and vote on the standing rules and policies of the
corporation, receive reports on the activities of the corporation,
approve the budget and determine the direction of corporation in the
coming year.*
## Time and Location
`   Date: Tuesday, March 8`
`   Location: HacDC`
Meeting called to order at
`   Time: 7:43pm`
`   By: Tayeb`
## Participants
- Members Present:
- Kevin
- Ken
- Tayeb
- John
- Michelle
- Gabe
- Matt
- Obi
- Mario
- Brian
- Don
<!-- -->
- Others Present:
[Quorum](Quorum "wikilink") met?
`   Yes`
## Approval of Previous Meeting's Minutes
Approved
## Recognition
Michelle - initiative taking, leadership All Members - getting out of
the red
## Director Reports
### President's Report
Tayeb: initial goal to reopen to the public, however we have regular
online meetings (Online Project Night, Microfabrication, FreeCAD). In
the future, would like regular meetings of some sort and continue and
move to "hybrid." Next steps: verify (and fix) tools/equipment and
prepare space for use.
### Vice President's Report
### Treasurer's Report
Financial Report: Current Balance -- \$11,572.80 We currently have 18
paying members, \$870 from dues and an additional \$148.16 from
donations. Rent is \$900 for February, total expenses are \$957.57
### Secretary's Report
1. HacDC WorkRoom Safety & Security:
1. Waiver. [Hold harmless
agreement](https://www.google.com/search?q=hold+harmless+agreement+makerspace)
for existing and new members.
2. Safety Instruction. Training class for existing and new members.
Short-term: documentation and videos on website. Long-term: an
online Learning Management System (LMS) like [Video Lessons
Plugin](https://www.videolessonsplugin.com/) or [other LMS
plugins on WordPress](https://wordpress.org/plugins/search/lms/)
3. Room monitoring systems. Possible solutions: room occupancy,
room safety monitoring, timed entrance, air quality monitoring
(ie. return Ken's Air Quality monitors)
2. City of DC Safety & Security:
1. Christine: HacDC ham radio club is active in emergency
communications, assisted on the Women's March and is organizing
an emergency response group. There is also CERT training given
by the city
### Director-at-Large Reports
#### Ken
#### Kevin
## [Project Awesome](:Category:Project_Awesome "wikilink") Reports
### Project HAMRADIO
### Project SEM
### Project SUPPLIES
1. Need to build an (high-level) inventory list that is public-facing.
Should include dates.
### Project EXPANSION
## Audit Committee Report
## Member Reports
## Old Business
1. Wiki-Website Re-Design - the Unified Data Team launched new Wiki and
new Website for purpose of unifying two platforms, minimizing
duplicate information, focusing sites for particular audiences. In
regards to the WordPress Admin, do all 31 users still need access?
No, they do not.
2. [ECE Conference on March
25](https://www.ecedha.org/Meetings/2022-ECEDHA-Annual-Conference) -
annual conference hosted by Electrical and Computer Engineering
Department Head Association (ECEDHA) this year in New Orleans LA
invited Tayeb and Michelle to speak on hackerspace-related panels
(yay! we found panelists). Goals: promote HacDC, find well-resourced
partners, represent HacDC well. New programming:
1. Tayeb's pre-panel discussion Monday veered towards ways to open
up hackerspaces to the public.
2. Katie B - former member may have worth of information
3. [FurnishHopeDC](https://furnishhopedc.org) - Bobby says, "this seems
like it might be a good group for HacDC to get involved with
(providing & fixing computers and possibly building furniture out of
scrap wood"
### Bylaws Amendments
- No bylaws amendments (\<-- carry over to next Old Business...several
board members like this)
## New Business
1. **Workspace Opening Up** - status update. Church common areas still
requires masks. Inside workroom: members welcome to not wear masks
as long as others give consensus - default to most conservative
attendee.
1. Two Saturdays Ago - Matt, Kevin, Tayeb went to get 3D printers
running again. Need 2-3 more "hackdays" before Octaprint server
runs with 3 functional printers.
1. Monoprice printer (Ultamaker style) is working now (yay!).
2. Second printer needs OEM part costs \$400 (value for \$3500
printer).
3. Ninjaflex printer works
1. Kevin: the rubber does get stuck, so there is a process
for cleaning out the tube which needs to happen between
runs in order for it to work again
2. New likely tools:
1. ~\$2000-\$2400 for laser cutter - already scoped by Ethan
and Tayeb
1. Matt: if do this may need to (1) account for safety
and (2) increase our insurance liability
2. Michelle: would like to see a committee formed for
interested parties to devote long-term success for this
project
2. Existing laser cutter - John curious if we need this =\>
Tayeb feels it should hang around because members like to
tinker on it but maybe time to relegate to basement to get
more space.
3. Build-a-Laser-Cutter idea - Mario could produce a DIY one
4. "tool certification" - Kevin says FabLab has this for their
laser cutter use; specifies what kinds of materials you
can/cannot burn; John points out will take some effort to
run properly
2. **Resources for Instructors** - on website, could include: list of
tools available to instructors and process for requesting access
(Zoom, Google Groups). How are Tristan/Ethan doing with Jitsi?
TechSoup Zoom is not free, sadly, so not viable unless demand is
there. See "OBS Studio" which a member could download and record
then post. See "Big Blue Button" (see Kevin) - cons: single-screen
sharing compared to Jitsi's multi-screen sharing. (note: Jitsi does
recording but does so poorly.)
3. **UpCycled** - Mario in touch with Orlando on potential
collaboration related to recycling; see [past
fundraiser](https://www.eventbrite.com/e/waste-to-wonder-happy-hour-tickets-223441719197?aff=ebdsoporgprofile#).
4. **[Farm
Hack](https://marylandorganic.org/2016/02/05/open-source-agricultural-tools-with-farm-hack/)** -
Michelle interest in non-profit of farmers who hack things together
to promote sustainable agriculture, maybe invite leadership to talk
for 5 minutes
5. **Raspberry Pi Rep** - Kevin says that on occasion a rep from
Raspberry Pi will drop in on HacDC
6. **Rockville Sci-Tech Fair on Apr 24th** - Tayeb has requested two
tables at the event; need to verify we will have power & wifi access
(event is outdoor)
7. **Bike Lights** - Tayeb wants to host event to add Persistent
Vision, artistic art, to bikes and promote bike safety
8. **Basement Cleanup** - John would like us to consider making space
use again Spring Cleaning
1. New Committee: John, Brian, Michelle - first step is go down
there and assess what to keep/throw out & assess water damage;
would be nice to get networking going again (see Network Closet
behind security person's desk); there is also a CNC computer
which should still work with the CNC mill
## Board of Directors Elections
Slate of Candidates -- Michelle Savage: President, Obioma Anomnachi:
Vice-President, Tayeb Zaidi: Secretary, Matt Stafford: Treasurer, John
Pancoast: At-Large, Gabriel Altay: At-Large Results of the elections are
as follows:
`   President: ''Michelle Savage ran unopposed`
`   Vice President:  ''Obioma Anomnachi ran unopposed`
`   Treasurer: ''Matt Stafford ran unopposed`
`   Secretary: ''Tayeb Zaidi ran unopposed`
`   At large seats: ''Gabriel Altay and John Pancoast ran unopposed`
## New Members
## Adjournment
Adjourned at
`   Time: 9:17pm`
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

66
Annual_Meeting_2024.md Executable file
View File

@ -0,0 +1,66 @@
## Purpose
From the HacDC Bylaws, Article III, Section 2:
*At the annual meeting, the voting members shall elect the Board of
Directors, review and vote on the standing rules and policies of the
corporation, receive reports on the activities of the corporation,
approve the budget and determine the direction of corporation in the
coming year.*
## Time and Location
`   Date: 03/26/2024`
`   Location: HacDC`
Meeting called to order at
`   Time: 7:35`
## Participants
- Members Present:
- Oby, Matt, Liz, Sven, Gabe, Chris, Kyle, Aure, Michelle
<!-- -->
- Others Present:
- Madeline
[Quorum](Quorum "wikilink") met?
`   Yes`
## New Business
Use of dangerous or breakable equipent. SLA Printer, welding equipment
in the basement. Who has access to these tools and whether that is
limited to members or potentially limited further to member who have
been approved by someone who has acknowledged authority over that
equipment.
## Board of Directors Elections
Results of the elections are as follows:
`   President: Oby stood for election unopposed.`
`   Vice President:  Liz stood for election unopposed.`
`    Treasurer: Gabriel stood for election unopposed.`
`    Secretary: Chris stood for election unopposed.`
`   At large seats: Sven stood for election unopposed.`
`                   Don Jones / John Pancoast`
## New Members
## Adjournment
Adjourned at
`   Time: 8:12`
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

93
Annual_Meeting_Agenda_2009.md Executable file
View File

@ -0,0 +1,93 @@
According to the [Bylaws](Bylaws "wikilink"):
An annual meeting of all members shall take place sometime in January,
February or March. The [Coordinator in
Chief](Coordinator_in_Chief "wikilink") shall select the date, time and
place no later than January 31 of each year. The date, time and place of
the annual meeting must be posted in the registered office and submitted
to members electronically at least two weeks prior to the annual
meeting. A petition signed by more than three quarters (3/4ths) of
voting members and submitted to the Board of Directors before
Valentine's Day may specify a new date, time and place for the annual
meeting. At the annual meeting, the voting members shall elect the Board
of Directors, review and vote on the standing rules and policies of the
corporation, receive reports on the activities of the corporation,
approve the budget and determine the direction of corporation in the
coming year.
The 2009 Annual meeting took place on **Saturday, February 21, 2009,
starting at 5:00 pm**. Here are the [2009 Annual Meeting
Minutes](2009_Annual_Meeting_Minutes "wikilink").
Potential items to consider:
- Dues - at least one member has suggested we review the dues level and
consider lowering dues
- [Quorum](Quorum "wikilink") - at least one member has suggested the
[bylaws](bylaws "wikilink") be amended to prevent the voting-in of new
members at a meeting from increasing the [quorum](quorum "wikilink")
threshold *at that meeting*, possibly thereby breaking
[quorum](quorum "wikilink") and ending the meeting prematurely
- Approval of New Members - Under the current system, prospective
members can pay membership dues for weeks or months before being
officially approved and thus able to enjoy the privileges of
membership. Is this something we'd like to change?
<b>`Section 3: Voting Membership Class Election`</b>` `
~~`Any member may nominate a qualified person to be a voting member.`~~` `
`Any eligible person may be elected as a voting member at any regular meeting upon payment of their first periodic dues and visual approval of all members present.`
- It is proposed to reduce the frequency of business meetings to once
per month, both to reduce the amount of formal business upkeep, and to
free up Tuesday nights for more involving events.
- It is proposed to change the meeting format to Robert's Rules of Order
from the current "MIBS" system.
`  `<b>`Section 7: Conduct of Meetings`</b>` `
` All meetings shall follow Roberts Rules of Order. `~~`the MIBS Simplified Rules of Coordinated Consensus through Chaos as approved at an annual meeting.`~~` `
- It is proposed to change the description of Keeper of the MIBS to
include a role as parliamentarian at the meetings, to assist the
Minister of Information in cases of parliamentary procedure under
whichever meeting format HacDC members choose to adopt.
- It is proposed to add a Quartermaster role to the Board of Directors,
whose role would be to oversee space arrangement, utilization,
sanitation, and resource management. The Quartermaster would also
maintain the HacDC eBay account and would be running auctions of
surplus HacDC items on a regular basis.
- It is proposed that no new expenditures shall be authorized in the
absence of a current, accurate financial statement certified by the
Minister of Finance
- It is proposed that we create a new position of PR Coordinator who
will be in charge of advertisement and popularize our events.
- It is proposed that we add a requirement for ministers to be present
at a certain number or percentage of business meetings
## Elections
A portion of the Annual Meeting is devoted to the election of new Board
of Directors, as set forth in the bylaws. The following people have
expressed an interest in running for a position:
### Coordinator in Chief / President
- Elliot Williams
### Minister of Information / Vice President
### Keeper of the MIBS / Secretary
- [Ben](User:Ben "wikilink")
### Minister of Finance / Treasurer
- Tim C.
### Two At-large Board Members
(Apparently, we need these.
[1](http://wiki.hacdc.org/index.php?title=Bylaws#Section_1:_Role.2C_Size.2C_Term_and_Compensation)
Any volunteers?)
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

105
Annual_Meeting_Tenplate.md Executable file
View File

@ -0,0 +1,105 @@
## Purpose
From the HacDC Bylaws, Article III, Section 2:
*At the annual meeting, the voting members shall elect the Board of
Directors, review and vote on the standing rules and policies of the
corporation, receive reports on the activities of the corporation,
approve the budget and determine the direction of corporation in the
coming year.*
## Time and Location
`   Date: Change me`
`   Location: HacDC`
Meeting called to order at
`   Time: Change me`
## Participants
- Members Present:
- Add me
- Add me
<!-- -->
- Others Present:
- Add me
[Quorum](Quorum "wikilink") met?
`   Unknown`
## Approval of Previous Meeting's Minutes
## Recognition
## Director Reports
### President's Report
### Vice President's Report
### Treasurer's Report
### Secretary's Report
### Director-at-Large Reports
#### Matt
#### Kevin
## [Project Awesome](:Category:Project_Awesome "wikilink") Reports
### Project HAMRADIO
### Project SEM
### Project SUPPLIES
### Project EXPANSION
## Audit Committee Report
Nobody bothered to form a committee so there's no report. All financial
statements including receipts for all purchases are at the space, in the
BOD locker, treasurer's folder. The Dwolla statements include member
names, the rest don't. -Enrique
## Member Reports
## Old Business
### Bylaws Amendments
## New Business
## Board of Directors Elections
Results of the elections are as follows:
`   President: ''??? stood for election unopposed.`
`   Vice President:  ''??? and ??? stand for VP.`
`   ''??? won with ??? votes to ???`
`    Treasurer: ''??? stood for election unopposed.`
`    Secretary: ''??? stood for election unopposed.`
`   At large seats: ''???, ???, and ??? stand for at large seats.`
`   ''??? and ??? won the ranked choice vote.`
## New Members
## Adjournment
Adjourned at
`   Time: Change me`
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

15
Antenna_Construction_Notes.md Executable file
View File

@ -0,0 +1,15 @@
## Links
### Tried
### Untried
- [2m dipole](http://www.hamuniverse.com/2mtrcheap.html) simple - Must
be high above ground, no gain.
<!-- -->
- [2m 1/4-wave monopole](http://www.hamuniverse.com/2metergp.html)
simple - Note: It is ok to use 3 radials instead of 4, and they don't
really need to slope downwards unless truly perfect SWR at 50Ohms is
required. Sloping downwards will also reduce antenna gain.

54
Anti-Harassment_Policy.md Executable file
View File

@ -0,0 +1,54 @@
This policy was approved during the
[Annual_Meeting_2013](Annual_Meeting_2013 "wikilink") by member vote.
*This anti-harassment policy is based on [the example policy from the
Geek Feminism
wiki](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment),
created by the Ada Initiative and other volunteers.*
HacDC is dedicated to being a harassment-free hackerspace for everyone.
We do not tolerate harassment of members or visitors in any form.
Harassment includes but is not limited to offensive verbal comments
related to gender, sexual orientation, disability, physical appearance,
body size, race, or religion; sexual images in public spaces; deliberate
intimidation, stalking, following, harassing photography or recording;
sustained disruption of talks or other events; inappropriate physical
contact; unwelcome sexual attention; or violation of any applicable
laws. Members and visitors asked to stop any harassing behavior are
expected to comply immediately.
If a member or visitor engages in harassing behavior, the board of
directors or event organizer may take any action they deem appropriate,
including warning the offender or expulsion from the space or event with
no refund. Members violating these rules may be subject to termination
of their HacDC membership. If you are being harassed, notice that
someone else is being harassed, or have any other concerns, please
contact a member of the board of directors or the event organizer
immediately.
Members of the board of directors and event organizers will happily help
members and visitors contact building security or local law enforcement,
provide escorts, or otherwise assist those experiencing harassment to
feel safe and prevent harassment for the duration of their visit at
HacDC. We value your attendance.
bod@hacdc.org
- Building security guard hours: Monday - Thursday 6pm - 10pm; Saturday
9am - 2pm
- DC emergency services: 911
- National sexual assault hotline: [1-800-656-HOPE](tel:+18006564673)
(800-656-4673)
- DC Rape Crisis Center: [202-333-RAPE](tel:+12023337273) (202-333-7273)
- DC Yellow Cab: [202-TAXICAB](tel:+12028294222) (202-829-4222)
- [Howard University Hospital](http://huhealthcare.com):
[202-865-6100](tel:+12028656100) / 2041 Georgia Avenue NW
- [GWU Hospital](http://gwhospital.com):
[202-715-4000](tel:+12027154000) / 900 23rd Street NW
We expect members and visitors to follow these rules at all
HacDC-organized events, in the space itself, and in our online spaces
including mailing lists and the official IRC channel.
[Category:HacDC_Docs](Category:HacDC_Docs "wikilink")

100
Archived_Prior_BOD.md Executable file
View File

@ -0,0 +1,100 @@
"Central Services" is the internal reference for all members who serve
in some leadership or official function at HacDC...
## Disorganization Chart
| The Will of the Membership (Directly Elected Positions) |
|---------------------------------------------------------|
| The [Board of Directors](Board_of_Directors "wikilink") |
| [The Ministers](The_Ministers "wikilink") |
| [Coordinator in Chief](Coordinator_in_Chief "wikilink") |
| |
<table>
<thead>
<tr class="header">
<th><p>Central Services (i.e. HacDC Organizational
Administration)</p></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p><a href="Coordinator_in_Chief" title="wikilink">Coordinator in
Chief</a></p></td>
</tr>
<tr class="even">
<td><p>Appointed by the <a href="Coordinator_in_Chief"
title="wikilink">Coordinator in Chief</a>:</p>
<ul>
<li>Shadow Coordinator in Chief</li>
<li>Sergeant-at-Arms (Physical Security)</li>
<li>(Member who handles Public Relations)</li>
</ul></td>
</tr>
<tr class="odd">
<td><p><em>Note: These are presently all proposed positions and are, if
the draft policy below is adopted, subject to discretion of the relevant
minister as well as full-member review. (Review means the membership can
change it if they don't like it, but they don't have to approve it in
advance)</em></p></td>
</tr>
<tr class="even">
<td></td>
</tr>
</tbody>
</table>
## The [Board of Directors](Board_of_Directors "wikilink") (Set by Bylaws)
The [Board of Directors](Board_of_Directors "wikilink"), per our
[Bylaws](Bylaws "wikilink") consists of [the
Ministers](the_Ministers "wikilink") and two At-Large Directors. The
[Board of Directors](Board_of_Directors "wikilink") at HacDC is largely
ceremonial. Members generally directly decide on all issues before
HacDC. Only certain minutiae and other actions required by law are
carried out by the [Board of Directors](Board_of_Directors "wikilink").
Despite direct membership control wherever possible, the [Board of
Directors](Board_of_Directors "wikilink") remains primarily responsible
for the affairs of HacDC under District of Columbia Corporate Law.
### [The Ministers](The_Ministers "wikilink")
Most corporate law refers to "officers". [The
Ministers](The_Ministers "wikilink") are our Corporate Officers and
serve in the following roles:
- [Coordinator in Chief](Coordinator_in_Chief "wikilink") = President
and Chairman of the [Board of
Directors](Board_of_Directors "wikilink")
- [Minister of Information](Minister_of_Information "wikilink") =
Executive Vice President and Vice Chairman of the [Board of
Directors](Board_of_Directors "wikilink") (and Chief Information
Officer)
- [Keeper of the MIBS](Keeper_of_the_MIBS "wikilink") = Secretary
- [Minister of Finance](Minister_of_Finance "wikilink") = Treasurer
### At Large Directors
The At Large Directors are the membership's direct representation on the
[Board of Directors](Board_of_Directors "wikilink"). At Large Directors
should be regular members who are not involved with the day-to-day
running of HacDC. They are there to offer advice and perspective to [the
Ministers](the_Ministers "wikilink") and act as a form of internal
control.
## Current [Board of Directors](Board_of_Directors "wikilink")
Prior board of directors.
| Title | Name |
|---------------------------------------------------|----------------------------------------|
| [President](President "wikilink") | [Bradford Barr](User:Bbarr "wikilink") |
| [Vice President](Vice_President "wikilink") | [Ben Mendis](User:Sitwon "wikilink") |
| [Secretary](Secretary "wikilink") | [Eric Miller](User:Eric "wikilink") |
| [Treasurer](Treasurer "wikilink") | [Tim Slagle](User:Tslagle "wikilink") |
| [At Large Director](At_Large_Director "wikilink") | Martin Rothfield |
| [At Large Director](At_Large_Director "wikilink") | [Nick Stoler](User:NickS "wikilink") |
| | |
[Category:BOD](Category:BOD "wikilink")

141
Area_science_event_info.md Executable file
View File

@ -0,0 +1,141 @@
This is the "instruction manual" for the Area science event list
(wiki.hacdc.org/index.php/Area_science_event_list). This is an
incomplete list of science events (talks and science fairs; generally
excluding book, article, or movie discussions, workshops, and events
focused on finance rather than science) in the Washington area and at
the STScI and BUGSS in Baltimore. Only free events are listed but
registration, a free ticket, or other advance arrangements may be
required (noted when known). Normal times and locations for events are
given below but note that there may be exceptions. In-person events
where the speaker is virtual are included. Warning: All events are
subject to change with no warning. Send additions, corrections,
comments, etc. to: gippgig@gmail.com CI=Carnegie Institute -
carnegiescience.edu/public-events - Capital Science Evenings - 6:30PM
MLK Library (901 G St. NW Washington, D.C. 20001) (registration) NLS -
6:30PM Broad Branch Road Campus (5251 Broad Branch Rd. NW Washington,
D.C. 20015) (registration recommended) DASER=DC Art Science Evening
Rendezvous - www.cpnas.org/events/upcoming-events.html - 6PM
(registration and photo ID required) DCSC=D.C. Science Cafe -
dcswa.org/dc-science-cafe/ - 6:30PM Busboys and Poets (1025 5th St. NW
(5th & K St.) Washington, D.C. 20001 (202)789-BBAP HacDC - www.hacdc.org
(202)556-4225 - 7:30PM St. Stephen & the Incarnation Episcopal Church
2nd floor (1525 Newton St. NW Washington, D.C. 20010) LDPL=The Labs at
DC Public Library - www.dclibrary.org/labsatdcpl LFV=Little Falls
Village -
www.littlefallsvillage.org/content.aspx?page_id=4001&club_id=560791
(301) 320-3267 - 1:30PM Little Falls Library MCPL=Montgomery County
Public Libraries - www.montgomerycountymd.gov/library/ NAS=National
Academy of Sciences - www.nationalacademies.org/events NCAS=National
Capital Area Skeptics - www.ncas.org (240)670-NCAS - 1:30PM
PSW=Philosophical Society of Washington - www.philsoc.org/ - 8PM John
Wesley Powell Auditorium (left of Cosmos Club 2170 Florida Ave. NW
Washington, D.C. 20008) RSC=Rockville Science Center -
www.rockvillesciencecenter.org, (240)FUN-8111 (RSC=Rockville Science
Cafe - 3rd Tue. 7PM ST=Science Tuesdays \*YASC=Young Adult Science Cafe
Rockville Science Day - April noon Montgomery College (51 Mannakee St.
Rockville, Md. 20850)) TBC=The Bowen Center for the Study of the
Family - thebowencenter.org - 4400 MacArthur Boulevard, NW Suite 103,
Washington, DC 20007-2521 Biology BUGSS=Baltimore Under Ground Science
Space - www.bugssonline.org/ - (410)732-0947 (101 N. Haven St. Suite 105
Baltimore, Md. 21224) CASSS - www.casss.org/meetings-and-events
(biotech) HHMI=Howard Hughes Medical Institute -
www.janelia.org/you-janelia/dialogues-discovery - Janelia Research
Campus (19700 Helix Dr. Ashburn, Va. 20147 (571)209-4000) (ticket
required) IBBR=Institute for Bioscience & Biotechnology Research
(UMd.) - www.ibbr.umd.edu/events/upcoming-events SCBI=Smithsonian
Conservation Biology Institute (National Zoo) -
nationalzoo.si.edu/conservation/scbi-rock-creek-park-seminars
UMdBpS=Univ. of Md. Biophysics Seminars -
marylandbiophysics.umd.edu/seminars/ (301)405-9307 - Mon. 4PM IPST 1116
UMdBS=Univ. of Md. biology seminars (also see IBBR) -
www.bisi.umd.edu/events-3/ (301)405-6905 (ANSC=Animal & Avian Science
Seminar BBS=BISI-BEES Seminar BCBMS=BISI-CBBG and BISI-MOCB Seminar
BCS=BISI-CBBG Seminar BEES=Behaviour, Ecology, Evolution and Systematics
CBBG=Computational Biology, Bioinformatics, and Genomics CBCB=Center for
Bioinformatics and Computational Biology CBG=Computational Biology and
Genomics CBMG=Cell Biology and Molecular Genetics CSC=Cognitive Science
Colloquium EC=Entomology Colloquium EG=Evo-Gen Seminar ENTM=Entomology
Seminar MOCB=Molecular and Cellular Biology PSL=Plant Science Lecture
RIP=Research in Progress VM=VetMed Seminar) Chemistry UMdCS=Univ. of Md.
chemistry seminar - www.chem.umd.edu/whats-new/calendar (301)405-1788
(SS=Student Seminar) CSW=Chemical Society of Washington -
capitalchemist.org/category/csw-events/ Engineering UMdEgS=University of
Md. engineering seminar (FDR=Fluid Dynamics Reviews -
enme.umd.edu/events/fluid-dynamics-seminar-series MES=Mechanical
Engineering - enme.umd.edu/events/seminars MNC=Maryland NanoCenter -
www.nanocenter.umd.edu/events CBmE=Chemical and Biomolecular
Engineering - chbe.umd.edu/seminar-series Be=Bioengineering -
bioe.umd.edu/events/seminars) WBMSDG=Washington-Baltimore Mass
Spectrometry Discussion Group - wbmsdg.org/ Environment-Geology
GLMSMC=Gem, Lapidary, and Mineral Society of Montgomery County, MD.,
Inc. - www.glmsmc.com/ - 7:30PM 2nd Monday Rockville Senior Center (1150
Carnation Dr. Rockville, Md.) GSW=The Geological Society of Washington -
www.gswweb.org UMdES=Univ. of Md. environment seminar -
aosc.umd.edu/seminars (301)405-5391 (ACBBT=Atmospheric Chemistry Brown
Bag Talk - Friday CSS 3400, DS=AOSC Departmental Seminar - Thursday
3:30PM CSS 2400, ESSIC=Earth System Science Interdisciplinary Center
Seminar - Monday noon M-Square 4102, SS=AOSC Student Seminar - Tuesday
3:30PM CSS 3400) UMdGcS=Univ. of Md. Geochemistry Seminars -
www.geol.umd.edu/department/geochemseminar.php - Wed. 11AM CHEM 0215
UMdGS=Univ. of Md. Geology Seminars -
www.geol.umd.edu/department/seminar.php (301)405-4082 geology@umd.edu -
Fri. 3PM PLS 1140 GMUES=George Mason University environment seminar -
science.gmu.edu/academics/departments-units/atmospheric-oceanic-earth-sciences/aoes-seminars
PtSW=Paleontological Society of Washington -
nmnh.typepad.com/paleontological_society/ - 3rd Wed. 7PM National Museum
of Natural History room E-304 Math DCAPS=DC-Area Anonymity, Privacy, and
Security Seminar - dcaps.info/ MAA=Mathematical Society of America -
www.maa.org/meetings/calendar-events - Carriage House (1781 Church St.
NW Washington, D.C. 20036 (202)319-8476) (registration) UMdCSS= Univ. of
Md. computer science - www.cs.umd.edu/events & talks.cs.umd.edu/
(301)405-2662 (CAT=Capital Area Theory Seminar CLIP=Computational
Linguistics and Information Processing HCIL=Human-Computer Interaction
Lab QuICS=Joint Center for Quantum Information and Computer Science
Seminar) UMdMS=Univ. of Md. Math Seminars -
www-math.umd.edu/research/seminars (301)405-4190 (ANT=Algebra-Number
Theory D=Dynamics GT=Geometry-Topology LGRT=Lie Groups and
Representation Theory NA=Numerical Analysis) Misc. TOOOL-DC=The Open
Organization of Lockpickers - toool.us/meetings.html - 1st Wed. The
Board Room (1737 Conn. Ave. NW Washington, D.C.) Physics APS=American
Physical Society - www.aps.org/units/maspg/meetings/ - 3rd Wed. 1PM
American Center for Physics (1 Physics Ellipse College Park, Md. 20740
(301)209-3000) UMdPS=Univ. of Md. physics seminars -
umdphysics.umd.edu/events (301)405-3401 (AD=Applied Dynamics Seminar
CNAM=Center for Nanophysics and Advanced Materials CMTC=Condensed Matter
Theory Center DSTL=Distinguished Scholar-Teacher Lecture
GP=Gravitational Physics Seminar HEP=High Energy Physics ISP=Informal
Statistical Physics JQCS=JQI-QuICS-CMTC Seminar JQI=Joint Quantum
Institute LPS=Laboratory for Physical Sciences MSES=MSE Seminar
NP=Nuclear Physics Seminar NT=Nuclear Theory Seminar
PACP=Phys/ANE/ChemPhys Joint Seminar PP=Plasma Physics Seminar QuICS-see
UMdCSS SP=Space Physics Seminar) Space UMdObs=Univ. of Md. Observatory
open houses - www.astro.umd.edu/openhouse/ - (301)405-6555 - 5th & 20th
8PM (Nov.-April) or 9PM (May-Oct.) (Metzerott Rd.) NCA=National Capital
Astronomers - capitalastronomers.org/ - 2nd Sat. 7:30PM UMd. Observatory
(Metzerott Rd.) NoVAC=Northern Virginia Astronomy Club - www.novac.com -
2nd Sun. 7PM GMU Exploratory Hall Room 3301 GMUObs=George Mason Univ.
Observatory - physics.gmu.edu/~hgeller/observing.html - Research Hall
TPS=The Planetary Society - Jack.Kiraly@planetary.org
ISUSC=International Space University Space Cafe - www.isuspacecafe.org
ASG=Astronomical Society of Greenbelt -
www.greenbeltastro.org/events.shtml - last Thur. 7:30PM HAL=Howard
Astronomical League - www.howardastro.org/meetings.php - 3rd Thur. 7PM
Robinson Nature Center downstairs (6692 Cedar La. Columbia, Md. 21044
(410)313-0400) NASM=National Air & Space Museum -
airandspace.si.edu/visit/events (202)633-1000 (WNIA?=What's New in
Aerospace?) Goddard Space Flight Center Scientific Colloquium -
scicolloq.gsfc.nasa.gov/ (restricted access; not included in list)
STScI=Space Telescope Science Institute -
hubblesite.org/about_us/public_talks/ - 1st Tue. 8PM (3700 San Martin
Dr. Baltimore, Md. 21218 (410)338-4700 UMdSS=UMd. space seminar -
www.astro.umd.edu/ & space.umd.edu/seminars/ (301)405-3001 (AC=Astronomy
Colloquia - Wed. 4:05PM CSS 2400 BANG=Better Astronomy for a New
Generation - Thur. 4PM PSC 1136 CTC=CTC Theory Lunch - Mon. 11AM PSC
1136 LCS=LMA/CARMA Seminar - 3PM PSC 2136 PAL=Planetary Astronomy
Late-afternoon Seminar - Mon. 2PM SCRP=Space and Cosmic Ray Physics
Seminar - Mon. 4:30PM CSS 2400) Weather AMS=American Meteorological
Society - www.ametsoc.org/chapters/washingtondc/Events.html
NOAA=National Oceanic and Atmospheric Administration -
www.nodc.noaa.gov/seminars/ - (1305 East-West Hwy. Silver Spring, Md.
20910 & 5830 University Research Ct. College Park, Md. 20740) (possible
nuisance security; may require advance notice)

5
Area_science_event_list.md Executable file
View File

@ -0,0 +1,5 @@
May 17 8PM PSW - Resurrecting the Unrecoverable Reading the Herculaneum
Papyri using X-ray CT and AI 31 8PM PSW - Fukushima Health Effects June
8 7:30PM NCA - Science Fair Winners 14 8PM PSW - Returning Humans to the
Moon How the United States Can Actually Get There Instead of Watching
China Do It 26 3PM NAS - The State of the Science Address (registration)

180
Articles_of_Incorporation.md Executable file
View File

@ -0,0 +1,180 @@
The following is the text of the HacDC Articles of Incorporation.
## Introduction
ARTICLES OF INCORPORATION OF HACDC
TO: DEPARTMENT OF CONSUMER AND REGULATORY AFFAIRS BUSINESS &
PROFESSIONAL LICENSING ADMINISTRATION CORPORATIONS DIVISION
We, the undersigned natural persons of the age of eighteen years or
more, acting as Incorporators of a corporation under the NON-PROFIT
CORPORATION ACT (D.C. Code, 2001 edition, Title 29, Chapter 3), adopt
the following Articles of Incorporation:
## First Article : Name
FIRST: The name of the corporation is HACDC.
## Second Article : Period of Duration
SECOND: The period of its duration is perpetual.
## Third Article : Purposes
THIRD: Said corporation is organized exclusively for charitable,
educational, and scientific purposes within the meaning of Section
501(c)(3) of the Internal Revenue Code, or the corresponding section of
any future federal tax code. The mission of the corporation is to
improve the world by creatively rethinking technology.
Subject to and within the limits of such purposes, the corporation
shall:
1. Build and maintain spaces suitable for technical and social
collaboration.
2. Collaborate on all forms of technology, culture and craft in new and
interesting ways.
3. Apply the results of its work to specific cultural, charitable and
scientific causes.
4. Freely share its research and discoveries, using what is learned to
teach others.
5. Recruit and develop talented members dedicated to these purposes.
The Corporation shall have in furtherance of the aforesaid purposes all
of the powers conferred upon corporations organized pursuant to the
provisions of the District of Columbia Non-Profit Corporation Act.
## Fourth Article : Provision for Members, Classes, Qualification and Election
FOURTH: The corporation shall have members. The membership shall be
divided into a voting class and a non-voting class. Only the voting
class shall have voting privileges. General requirements for all
memberships and specific requirements for each class shall be specified
in the bylaws.
## Fifth Article : Directors, Qualifications and Election
FIFTH: Directors must be voting members elected based on provision
specified in the bylaws.
## Sixth Article : Management, Affairs and Activities and Provision for Dissolution
SIXTH: The management, affairs, activities, and concerns of the
corporation shall be conducted in accordance with its bylaws. The bylaws
may provide, with respect to the directors, for their qualifications;
for their number; for the place, time, method and manner of their
nomination and election or alternates; for their term of office; for
filling of vacancies; for their meetings; and, generally, for their
rights, powers, duties, privileges, and restrictions.
No part of the net earnings of the corporation shall inure to the
benefit of, or be distributable to its members, trustees, officers, or
other private persons, except that the corporation shall be authorized
and empowered to pay reasonable compensation for services rendered and
to make payments and distributions in furtherance of the purposes set
forth in these articles. No substantial part of the activities of the
corporation shall be the carrying on of propaganda, or otherwise
attempting to influence legislation, and the corporation shall not
participate in, or intervene in (including the publishing or
distribution of statements) any political campaign on behalf of or in
opposition to any candidate for public office.
Notwithstanding any other provision of these articles, the corporation
shall not carry on any other activities not permitted to be carried on
(a) by a corporation exempt from federal income tax under section
501(c)(3) of the Internal Revenue Code, or the corresponding section of
any future federal tax code, or (b) by a corporation, contributions to
which are deductible under section 170(c)(2) of the Internal Revenue
Code, or the corresponding section of any future federal tax code.
Upon the dissolution of the corporation, assets shall be distributed for
one or more exempt purposes within the meaning of section 501(c)(3) of
the Internal Revenue Code, or the corresponding section of any future
federal tax code, or shall be distributed to the federal government, or
to a state or local government, for a public purpose. Any such assets
not so disposed of shall be disposed of by a Court of Competent
Jurisdiction in the District of Columbia, exclusively for such purposes
or to such organization or organizations, as said Court shall determine,
which are organized and operated exclusively for such purposes.
## Seventh Article : Initial Registered Office
SEVENTH: The address of the initial registered office of the corporation
is 2020 F Street N.W. Apartment 109, Washington, D.C. 20006, and the
name of the initial registered agent at such address is Nicholas Farr, a
resident of the District of Columbia.
## Eighth Article : Names and Address of Members of the Initial Board of Directors
EIGHTH: The number of directors constituting the initial board of
directors is six (6), and the names and addresses of the persons who are
to serve as directors until the first annual meeting or until their
successors are elected and shall qualify are:
Ryan Clarke - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC
INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**,
Litchfield Park, Arizona 85340
Nicholas Farr - 2020 F Street N.W. Apartment 109, Washington, D.C. 20006
Adam Koeppel - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC
INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**,
Washington, D.C. 20009
Eric Michaud - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC
INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**,
Downers Grove, Illinois 60515
Andrew Righter - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC
INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**,
Grenloch, New Jersey 08032
Allison Treman - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC
INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**,
Washington, D.C. 20006
## Ninth Article : Name and Address of Incorporators
NINTH: The name and address of each incorporator are:
Nicholas Farr - 2020 F Street N.W. Apartment 109, Washington, D.C. 20006
Adam Koeppel - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC
INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**,
Washington, D.C. 20009
Andrew Righter - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC
INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**, New
Jersey 08032
IN WITNESS WHEREOF, I have signed these Articles and acknowledge the
same to be my act.
__________________________________________
Date:_______________________ Nicholas Farr
__________________________________________
Date:_______________________ Adam Koeppel
__________________________________________
Date:_______________________ Andrew Righter
I, ______________________, A Notary Public, hereby
certify that on the ______ Day of _________, 20__, the
following Incorporators:
Nicholas Farr - 2020 F Street N.W. Apartment 109, Washington, D.C. 20006
Adam Koeppel - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC
INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**,
Washington, D.C. 20009
Andrew Righter - **{REDACTED FOR PRIVACY REASONS, CONSULT [PUBLIC
INSPECTION LOCKER](Public_Inspection_Locker "wikilink") AT HACDC}**,
Grenloch, New Jersey 08032
appeared before me and signed the foregoing document as incorporators,
and have averred that the statements therein contained are true.
[Category:HacDC_Docs](Category:HacDC_Docs "wikilink")

12
Automatic_pad_submission.md Executable file
View File

@ -0,0 +1,12 @@
Automatic [Pad Submitter](http://software.seosniper.net) with Online
Free Software Submission Service for your [software
promotion](http://software.seosniper.net) from seosniper [Pad
Submission](http://software.seosniper.net). Free User can Submit to 25
Software Download Sites. From Pro Member You can Submit to 150 Software
Download sites, and RegNow/ShartIT/Plimus Software Submission, and your
pad submission will submit 100 Articles/100 Wikis/200 Directories/100
SocialBookmarks/500 BlogComments Submission also.From Ulimate Member You
can Submit to 300 Software Download sites, and RegNow/ShartIT/Plimus
Software Submission, and your pad submission will submit 500
Articles/500 Wikis/500 Directories/500 SocialBookmarks/3000 BlogComments
Submission also.

35
Avr2011_LED_Demo.c.md Executable file
View File

@ -0,0 +1,35 @@
Cut and paste the following into a file called LED_Demo.c
/* Blinker Demo */
#include <avr/io.h> /* Defines pins, ports, etc */
#define F_CPU 8000000UL /* Sets up the chip speed for delay.h */
#include <util/delay.h> /* Functions to waste time */
#define LED PB0 /* Defines pin PB0 for the LED. I
often include a bunch of the circuit
info in the code this way, which
makes porting the code to another
chip easier and reminds you of how to
hook it up. */
void main(void){
DDRB = _BV(LED); /* Data Direction Register B:
writing a one to the bit
enables output. More on the
_BV() macro in the next
lesson. */
while(1){ /* the main loop, from which we never return */
PORTB = _BV(LED); /* Turn on the LED bit/pin in PORTB */
_delay_ms(400); /* wait */
PORTB = 0; /* Turn off everything(!) on PORTB */
_delay_ms(400); /* wait */
}
}
[Category:Microcontrollers](Category:Microcontrollers "wikilink")

400
Avr2011_LED_Demo_Makefile.md Executable file
View File

@ -0,0 +1,400 @@
Cut and paste the following into a file called Makefile in the same
directory as the LED_Demo.c
# WinAVR Sample makefile written by Eric B. Weddington, J??rg Wunsch, et al.
# Modified (bringing often-changed options to the top) by Elliot Williams
# make all = Make software and program
# make clean = Clean out built project files.
# make program = Download the hex file to the device, using avrdude. Please
# customize the avrdude settings below first!
# Microcontroller Type
#MCU = attiny13
# MCU = attiny2313
# MCU = atmega8
# MCU = attiny45
# MCU = atmega88
MCU = atmega88
# Target file name (without extension).
TARGET = LED_Demo
# Programming hardware: type avrdude -c ?
# to get a full listing.
# AVRDUDE_PROGRAMMER = dapa
#AVRDUDE_PROGRAMMER = usbtiny # Note: have to use sudo make for USB
# AVRDUDE_PROGRAMMER = dt006
AVRDUDE_PROGRAMMER = avr109
#AVRDUDE_PORT = /dev/usb # dummy, but it's fun :)
#AVRDUDE_PORT = /dev/parport0 # linux
# AVRDUDE_PORT = lpt1 # windows
AVRDUDE_PORT = /dev/ttyUSB0
BAUD_RATE = 9600
############# Don't need to change below here for most purposes (Elliot)
# Optimization level, can be [0, 1, 2, 3, s]. 0 turns off optimization.
# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
OPT = s
# Output format. (can be srec, ihex, binary)
FORMAT = ihex
# List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c
# If there is more than one source file, append them above, or modify and
# uncomment the following:
#SRC += foo.c bar.c
# You can also wrap lines by appending a backslash to the end of the line:
#SRC += baz.c \
#xyzzy.c
# List Assembler source files here.
# Make them always end in a capital .S. Files ending in a lowercase .s
# will not be considered source files but generated files (assembler
# output from the compiler), and will be deleted upon "make clean"!
# Even though the DOS/Win* filesystem matches both .s and .S the same,
# it will preserve the spelling of the filenames, and gcc itself does
# care about how the name is spelled on its command-line.
ASRC =
# List any extra directories to look for include files here.
# Each directory must be seperated by a space.
EXTRAINCDIRS =
# Optional compiler flags.
# -g: generate debugging information (for GDB, or for COFF conversion)
# -O*: optimization level
# -f...: tuning, see gcc manual and avr-libc documentation
# -Wall...: warning level
# -Wa,...: tell GCC to pass this to the assembler.
# -ahlms: create assembler listing
CFLAGS = -g -O$(OPT) \
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums \
-Wall -Wstrict-prototypes \
-Wa,-adhlns=$(<:.c=.lst) \
$(patsubst %,-I%,$(EXTRAINCDIRS))
# Set a "language standard" compiler flag.
# Unremark just one line below to set the language standard to use.
# gnu99 = C99 + GNU extensions. See GCC manual for more information.
#CFLAGS += -std=c89
#CFLAGS += -std=gnu89
#CFLAGS += -std=c99
CFLAGS += -std=gnu99
# Optional assembler flags.
# -Wa,...: tell GCC to pass this to the assembler.
# -ahlms: create listing
# -gstabs: have the assembler create line number information; note that
# for use in COFF files, additional information about filenames
# and function names needs to be present in the assembler source
# files -- see avr-libc docs [FIXME: not yet described there]
ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs
# Optional linker flags.
# -Wl,...: tell GCC to pass this to linker.
# -Map: create map file
# --cref: add cross reference to map file
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
# Additional libraries
# Minimalistic printf version
#LDFLAGS += -Wl,-u,vfprintf -lprintf_min
# Floating point printf version (requires -lm below)
#LDFLAGS += -Wl,-u,vfprintf -lprintf_flt
# -lm = math library
LDFLAGS += -lm
# Programming support using avrdude. Settings and variables.
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep
AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
# Uncomment the following if you want avrdude's erase cycle counter.
# Note that this counter needs to be initialized first using -Yn,
# see avrdude manual.
#AVRDUDE_ERASE += -y
# Uncomment the following if you do /not/ wish a verification to be
# performed after programming the device.
#AVRDUDE_FLAGS += -V
# Increase verbosity level. Please use this when submitting bug
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
# to submit bug reports.
#AVRDUDE_FLAGS += -v -v
#Run while cable attached or don't
AVRDUDE_FLAGS += -F # -E reset #keep chip disabled while cable attached
#AVRDUDE_FLAGS += -E noreset
## For AVR109 Bootload Programmer
AVRDUDE_FLAGS += -b $(BAUD_RATE)
#AVRDUDE_WRITE_FLASH = -U lfuse:w:0x04:m #run with 8 Mhz clock
#AVRDUDE_WRITE_FLASH = -U lfuse:w:0x21:m #run with 1 Mhz clock #default clock mode
#AVRDUDE_WRITE_FLASH = -U lfuse:w:0x01:m #run with 1 Mhz clock no start up time
# ---------------------------------------------------------------------------
# Define directories, if needed.
DIRAVR = c:/winavr
DIRAVRBIN = $(DIRAVR)/bin
DIRAVRUTILS = $(DIRAVR)/utils/bin
DIRINC = .
DIRLIB = $(DIRAVR)/avr/lib
# Define programs and commands.
SHELL = sh
CC = avr-gcc
OBJCOPY = avr-objcopy
OBJDUMP = avr-objdump
SIZE = avr-size
# Programming support using avrdude.
AVRDUDE = avrdude
REMOVE = rm -f
COPY = cp
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) -A $(TARGET).elf
# Define Messages
# English
MSG_ERRORS_NONE = Errors: none
MSG_BEGIN = -------- begin --------
MSG_END = -------- end --------
MSG_SIZE_BEFORE = Size before:
MSG_SIZE_AFTER = Size after:
MSG_COFF = Converting to AVR COFF:
MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
MSG_FLASH = Creating load file for Flash:
MSG_EEPROM = Creating load file for EEPROM:
MSG_EXTENDED_LISTING = Creating Extended Listing:
MSG_SYMBOL_TABLE = Creating Symbol Table:
MSG_LINKING = Linking:
MSG_COMPILING = Compiling:
MSG_ASSEMBLING = Assembling:
MSG_CLEANING = Cleaning project:
# Define all object files.
OBJ = $(SRC:.c=.o) $(ASRC:.S=.o)
# Define all listing files.
LST = $(ASRC:.S=.lst) $(SRC:.c=.lst)
# Combine all necessary flags and optional flags.
# Add target processor to flags.
ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS)
ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
# Default target: make program!
all: begin gccversion sizebefore $(TARGET).elf $(TARGET).hex $(TARGET).eep \
$(TARGET).lss $(TARGET).sym sizeafter finished end
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
# Eye candy.
# AVR Studio 3.x does not check make's exit code but relies on
# the following magic strings to be generated by the compile job.
begin:
@echo
@echo $(MSG_BEGIN)
finished:
@echo $(MSG_ERRORS_NONE)
end:
@echo $(MSG_END)
@echo
# Display size of file.
sizebefore:
@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); echo; fi
sizeafter:
@if [ -f $(TARGET).elf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi
# Display compiler version information.
gccversion :
@$(CC) --version
# Convert ELF to COFF for use in debugging / simulating in
# AVR Studio or VMLAB.
COFFCONVERT=$(OBJCOPY) --debugging \
--change-section-address .data-0x800000 \
--change-section-address .bss-0x800000 \
--change-section-address .noinit-0x800000 \
--change-section-address .eeprom-0x810000
coff: $(TARGET).elf
@echo
@echo $(MSG_COFF) $(TARGET).cof
$(COFFCONVERT) -O coff-avr $< $(TARGET).cof
extcoff: $(TARGET).elf
@echo
@echo $(MSG_EXTENDED_COFF) $(TARGET).cof
$(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof
# Program the device.
program: $(TARGET).hex $(TARGET).eep
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
# Create final output files (.hex, .eep) from ELF output file.
%.hex: %.elf
@echo
@echo $(MSG_FLASH) $@
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
%.eep: %.elf
@echo
@echo $(MSG_EEPROM) $@
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@
# Create extended listing file from ELF output file.
%.lss: %.elf
@echo
@echo $(MSG_EXTENDED_LISTING) $@
$(OBJDUMP) -h -S $< > $@
# Create a symbol table from ELF output file.
%.sym: %.elf
@echo
@echo $(MSG_SYMBOL_TABLE) $@
avr-nm -n $< > $@
# Link: create ELF output file from object files.
.SECONDARY : $(TARGET).elf
.PRECIOUS : $(OBJ)
%.elf: $(OBJ)
@echo
@echo $(MSG_LINKING) $@
$(CC) $(ALL_CFLAGS) $(OBJ) --output $@ $(LDFLAGS)
# Compile: create object files from C source files.
%.o : %.c
@echo
@echo $(MSG_COMPILING) $<
$(CC) -c $(ALL_CFLAGS) $< -o $@
# Compile: create assembler files from C source files.
%.s : %.c
$(CC) -S $(ALL_CFLAGS) $< -o $@
# Assemble: create object files from assembler source files.
%.o : %.S
@echo
@echo $(MSG_ASSEMBLING) $<
$(CC) -c $(ALL_ASFLAGS) $< -o $@
# Target: clean project.
clean: begin clean_list finished end
clean_list :
@echo
@echo $(MSG_CLEANING)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).eep
$(REMOVE) $(TARGET).obj
$(REMOVE) $(TARGET).cof
$(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map
$(REMOVE) $(TARGET).obj
$(REMOVE) $(TARGET).a90
$(REMOVE) $(TARGET).sym
$(REMOVE) $(TARGET).lnk
$(REMOVE) $(TARGET).lss
$(REMOVE) $(OBJ)
$(REMOVE) $(LST)
$(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d)
$(REMOVE) *~
# Automatically generate C source code dependencies.
# (Code originally taken from the GNU make user manual and modified
# (See README.txt Credits).)
#
# Note that this will work with sh (bash) and sed that is shipped with WinAVR
# (see the SHELL variable defined above).
# This may not work with other shells or other seds.
#
%.d: %.c
set -e; $(CC) -MM $(ALL_CFLAGS) $< \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > $@; \
[ -s $@ ] || rm -f $@
# Remove the '-' if you want to see the dependency files generated.
-include $(SRC:.c=.d)
# Listing of phony targets.
.PHONY : all begin finish end sizebefore sizeafter gccversion coff extcoff \
clean clean_list program
[Category:Microcontrollers](Category:Microcontrollers "wikilink")

105
Avr2011_Programming_The_Kit.md Executable file
View File

@ -0,0 +1,105 @@
# Software:
If you haven't already installed the laptop-side software toolchain, see
[Installing AVR Toolchain](Installing_AVR_Toolchain "wikilink") and come
on back.
# Hookup:
- your laptop
- an FTDI cable
- the classboard, populated with chip and FTDI header
The chips we use in class are pre-flashed with a bootloader, which means
that you can program them over the AVR's serial port.
Plug the FTDI cable into the board -- black wire to GND.
<figure>
<img src="_avr2011_cable_hookup.jpg" title="_avr2011_cable_hookup.jpg"
width="500" />
<figcaption>_avr2011_cable_hookup.jpg</figcaption>
</figure>
# Getting the Board Into Bootloader Mode
When the chip starts up, the bootloader program checks if the "B" button
(connected to PD2) is pressed. If the button is pressed, it sits and
waits for programming data to come in over the serial line. If the
button isn't pressed, it starts your program. So, what you want to do is
reset the chip while the "B" button is pressed.
To get the chip into ready-to-program Bootloader Mode:
- Hold down the "B" button
- Tap the "A" button (RESET)
- Now you can release the "B" button
You can tell you're in bootloader mode because your normal code won't be
running. If you had and LED on or blinking, for instance, it won't be
now.
# Programming the Chip
- Get the chip into bootloader mode
- While you're in the directory with your code and the Makefile, type
"make" or "sudo make" into the terminal
- Your code will compile, and it will upload your code to the chip
- The chip will automatically reset and start running your program
If all is well, you will see
avrdude: erasing chip
avrdude: reading input file "LED_Demo.hex"
avrdude: input file LED_Demo.hex auto detected as Intel Hex
avrdude: writing flash (156 bytes):
Writing | ################################################## | 100% 0.21s
avrdude: 156 bytes of flash written
avrdude: verifying flash memory against LED_Demo.hex:
avrdude: load data flash data from input file LED_Demo.hex:
avrdude: input file LED_Demo.hex auto detected as Intel Hex
avrdude: input file LED_Demo.hex contains 156 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.19s
avrdude: verifying ...
avrdude: 156 bytes of flash verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
# If there are errors...
Common problems and their solutions include:
- Permissions to write to USB port. Solution: keep typing "sudo make" or
add yourself to the USB output group:
Ubuntu: sudo usermod -a -G dialout yourNameHere
<!-- -->
- /dev/ttyUSB0 not found. Is the FTDI cable plugged in? Try "lsusb" to
see if it's there. Try "ls /dev/ttyUSB\*" to see if it's registered as
USB1. Edit Makefile accordingly, and remember that you'll probably
have to change it back later.
<!-- -->
- Bugs in your code -\> failure to compile. If you get something like:
`Compiling: LED_Demo.c`
`LED_Demo.c: In function ???main???:`
`LED_Demo.c:22: error: expected ???;??? before ???while???`
`make: *** [LED_Demo.o] Error 1`
you have an error in your code that's preventing compilation. Read the
error output for hints, tweak your code, and try again. (In this case,
I left out a ';' in line 20.)
[Category:AVR_Class](Category:AVR_Class "wikilink")

244
Avr2011_kit.md Executable file
View File

@ -0,0 +1,244 @@
### Kit Contents
You will need:
1\) AVR ATMega microcontroller 2) AVR Classboard printed-circuit-board
3) Eight resistors (~120 ohm) 4) Eight LEDs (I like the small square
ones) 5) 1 uF capacitor 6) 0.1 uF capacitor 7) Two push buttons 8) 6-pin
header to connect the FTDI serial cable 9) A small-signal diode for
backward-power protection (optional, but certainly won't hurt)
<figure>
<img src="_avr2011_kitContents.jpg" title="_avr2011_kitContents.jpg"
width="500" />
<figcaption>_avr2011_kitContents.jpg</figcaption>
</figure>
(D'oh! I left the AVR out of the photo. You should have one.)
### A Brief Tour of the Board
Before you start assembling anything, have a look at the printed circuit
board.
<figure>
<img src="avr2011_pcb.jpg" title="avr2011_pcb.jpg" width="500" />
<figcaption>avr2011_pcb.jpg</figcaption>
</figure>
Big and bold in the center is the location for the AVR chip. Notice the
notch in the silkscreen at one end? That corresponds to a notch on the
top of the AVR chip, and helps you get it in the right orientation when
the time comes.
Just to the outside of the AVR chip itself, you'll see two rows of holes
labelled for the port/pin combinations that appear in the datasheet. For
instance, just below the chip see the two rows labelled PORTD, and PD0
-- PD7. See how there are tiny white lines connecting the two rows of
holes, pairwise? Those indicate that the two holes are electrically
connected to each other. This was a convenience -- you can solder two
things easily to each AVR pin. One side of the chip has PD0-PD7, the
other has PB0-PB7 and PC0-PC6.
Just outside of the AVR connection points, you'll see two more rows of
holes, labelled VCC and GND respectively. GND is connected to the
board's ground plane, and so is at 0V. VCC is connected to the board's
power supply and is whatever voltage you're using to drive the whole
mess -- In class, I'll refer to this as VCC or I usually just call this
5V.
And finally, at the edge of the board is another pair of rows of holes.
These are electrically connected in pairs, and are just there to allow
you to connect things together easily. For the LED array, we'll use
these paired holes to connect the resistor to the positive end of the
LED.
Other stuff:
To the left of the AVR, there are holes for two buttons, a protection
diode, power-supply buffering capacitors, an optional power LED and its
resistor, a 3x2 SPI programming header, and the 6-pin inline FTDI cable.
Below the AVR chip area and to the right, there's more prototyping space
-- just sets of holes electrically connected to each other in ways to
facilitate soldering stuff up.
The power LED and it's associated LED are optional and included for your
creative use/abuse. Everyone should solder the coolest LED they can find
in here, with a 100-1k ohm resistor, depending on how bright you want
it.
And those white areas? They're for writing your initials on. Or notes.
Tiny, little notes.
### Assembling the Kit
0\) If you're new at soldering (or even if you're not) go spend seven
minutes with [the best soldering video
ever](http://www.youtube.com/watch?v=I_NU2ruzyc4).
1\) To get your feet wet soldering, install the two capacitors. They can
go in either capacitor position, and are non-polarized (can go in either
way). When you clip off the leads from the capacitors, save the wire for
the next step.
2\) Now install the two pushbuttons. They're oblong, but there's no top
or bottom.
3\) Solder in the protection diode. Notice that it's polarized, with a
black band on the diode itself corresponding to the little band in the
silkscreen.
4\) Above the buttons, there are two pairs of holes -- these connect the
button to the pin on the AVR when they're jumpered together. (I did this
for flexibility so that you could connect the buttons up to other pins
later as you wish.) Take two of the leads you saved in step 1) and
connect each pair of holes together.
<figure>
<img src="avr2011_jumpers.jpg" title="avr2011_jumpers.jpg"
width="500" />
<figcaption>avr2011_jumpers.jpg</figcaption>
</figure>
5\) Solder in the 6-pin header for the FTDI cable. Rather than doing it
the way I did (which covers the labels on the circuit board) why not
mount the header on the bottom side like Ed did?
<figure>
<img src="avr2011_ftdiInstall.jpg" title="avr2011_ftdiInstall.jpg"
width="500" />
<figcaption>avr2011_ftdiInstall.jpg</figcaption>
</figure>
6\) Now start on the LEDs -- in PORTB pins PB0 through PB7. They _are_
polarized, and you'll notice that one lead is longer than the other. The
short lead gets connected to ground, while the long lead will eventually
connect through a resistor to the AVR output pins. (Resistors soldered
in next step.) Place the LEDs so that their short leads are in the
ground strip (labelled GND), and the long lead is in one of the outside
rows of hookup holes. Orientation matters here. Double-check it before
soldering?
<figure>
<img src="avr1022_rowLEDs.jpg" title="avr1022_rowLEDs.jpg"
width="500" />
<figcaption>avr1022_rowLEDs.jpg</figcaption>
</figure>
For aligning the LEDs, I had success putting them all face-down on the
table, and using the fact that they have rectangular faces. Pro-tip:
solder one pin on each LED, make sure they're in a nice line, and
re-heat any that you need to wiggle into place. Then solder in the
second pin on each LED.
<figure>
<img src="avr2011_aligningLEDs.jpg" title="avr2011_aligningLEDs.jpg"
width="500" />
<figcaption>avr2011_aligningLEDs.jpg</figcaption>
</figure>
7\) Once you've done the LEDs, you can solder in their resistors. These
fit most easily and cleanly on the underside of the board, so you'll
want to trim off the extra leads from the LEDs before installing. You
want to solder each resistor to the outside strip of holes that
connected to the positive (long) pin of the LEDs, and the other end of
the resistor to the pins of the AVR. Notice that you're working on the
back-side of the board! Double-check that you're not connecting the
resistor to the VCC line that is closest to the LED.
<img src="avr2011_LEDresistors.jpg" title="avr2011_LEDresistors.jpg"
width="300" alt="avr2011_LEDresistors.jpg" />
<img src="avr2011_LEDresistors_top.jpg"
title="avr2011_LEDresistors_top.jpg" width="300"
alt="avr2011_LEDresistors_top.jpg" />
<img src="avr2011_LEDresistors_bottom_done.jpg"
title="avr2011_LEDresistors_bottom_done.jpg" width="300"
alt="avr2011_LEDresistors_bottom_done.jpg" />
8\) At this point, you can install the chip. They come from the factory
with the pins splayed out a little bit -- you can lean the chip into a
tabletop to straighten the pins out. Place the chip with the notch on
the top of the chip corresponding to the notch in the silkscreen.
Double-check. Solder.
<img src="_avr2011_chipBending.jpg" title="_avr2011_chipBending.jpg"
width="400" alt="_avr2011_chipBending.jpg" />
<img src="_avr2011_chipAlignment.jpg" title="_avr2011_chipAlignment.jpg"
width="400" alt="_avr2011_chipAlignment.jpg" />
9\) Optional fun stuff: Feel free to solder in an artistic power LED and
its resistor. (Note the polarization. Short pin downwards, or notice
that there's a flat-spot on the LED flange.) Write your name on it. Wire
up the battery (black wire to GND).
<img src="_avr2011_kitDone.jpg" title="_avr2011_kitDone.jpg" width="400"
alt="_avr2011_kitDone.jpg" />
<img src="_avr2011_kitDone2.jpg" title="_avr2011_kitDone2.jpg"
width="400" alt="_avr2011_kitDone2.jpg" />
10\) You should now be ready to flash in your first program. Hooray.
From here on it's (mostly) firmware!
### Adding the Light Sensor for Class 2 (ADC)
For the light sensor, you're creating a voltage divider with the
photoresistor and two legs of the potentiometer used as a variable
resistor. The photoresistor is connected to VCC and the AVR pin PC0, and
the variable resistor from PC0 to ground.
In the following image, the red pins represent the potentiometer, and
the blue are the leads from the photoresistor.
<figure>
<img src="_avr2011_bare_board_annotated_small.jpg" title="500 px" />
<figcaption>500 px</figcaption>
</figure>
Start out by placing and soldering the potentiometer on the underside of
the board. Make sure that the smaller center pin connects to the ground
lines. Do _NOT_ clip the leads short yet.
<figure>
<img src="_avr2011_board_bottom.jpg" title="500 px" />
<figcaption>500 px</figcaption>
</figure>
Bend one lead on the variable resistor up and over the two other holes
on the board, and plug it into PC0. Solder it in on the top side. Now
soldering the photoresistor in place should be easy.
<figure>
<img src="_avr2011_board_topside_soldered.jpg" title="500 px" />
<figcaption>500 px</figcaption>
</figure>
Flash in the light sensor firmware and turn the potentiometer until it
give you a nice range of values on the LED display. I found that turning
it up to _just_ max out in full light works well -- you'll see that
it'll get down to one or two bars when you cover the cell with your
hand. You're done!
### Schematics, etc
If you'd like to make yourself a class-board, the attached Eagle files
should get you started.
Warning: It's a good idea to socket your AVR in the board so that you
can remove/swap chips when you want to.
Also, the LEDs in port B will over-ride the SPI port. For the class, we
used AVRs with a bootloader already flashed into them, so we didn't use
the SPI most of the time. If you'd like to use the SPI instead, you can
**probably** get away with using large-value (1k Ohm?) resistors for the
LEDs. Best is to omit them if you're going to use the SPI a lot, though.
[Media:
mega_classboard_files.zip](Media:_mega_classboard_files.zip "wikilink")
Finally, if you want something with almost all of the functionality (but
none of the style!), Evil Mad Science sells a nice, very cheap, AVR Mega
breakout board.
[Category:Microcontrollers](Category:Microcontrollers "wikilink")
[Category:AVR_Class](Category:AVR_Class "wikilink")

72
BATMAN-Advanced_Setup.md Executable file
View File

@ -0,0 +1,72 @@
## Compile and install BATMAN-Advanced
Download batman-adv and batctl. Standard "make && sudo make install".
If no interface "wlan0" exists, check for a different wireless interface
using 'ifconfig -a'
## Setup ad-Hoc network
1. Disable NetworkManager
1. Right-click on NetworkManager applet, un-check "Enable
networking".
2. Fedora:
# /etc/init.d/NetworkManager stop
3. Ubuntu:
# stop network-manager
2. Disable the firewall
1. # iptables -F
3. # ifconfig wlan0 down
4. # iwconfig wlan0 mode ad-hoc essid hacdc-batman channel 8
5. # ifconfig wlan0 up
## Setup BATMAN-Advanced
In the unpacked 'batman-adv' directory:
1. # insmod batman-adv.ko
In the batctl directory:
1. # ./batctl if add wlan0
2. # ifconfig wlan0 mtu 1527
3. # cat /sys/class/net/wlan0/batman_adv/iface_status
Should read "active".
4. # ifconfig wlan0 0.0.0.0
5. # ifconfig bat0 up
6. give bat0 an IP address
1. ifconfig w.x.y.z netmask a.b.c.d up
2. dhcp
3. dhcp6
4. dhclient
5. Avahi/zeroconf
6. IPv6
## Testing BATMAN-Advanced
Display local table of known peers (by MAC address of node):
1. batctl o
Ping by batX MAC address of nodes:
1. batctl p uu:vv:ww:xx:yy:zz
Monitor traffic of batX interface:
1. tcpdump -i bat0 -s 0 -v -X -n
Test connectivity between nodes:
1. ping6 -p DEADBEEF -I bat0 (IPv4 address of host)
2. ping6 -p DEADBEEF -I bat0 (IPv6 address of host)

150
BATMAN.md Executable file
View File

@ -0,0 +1,150 @@
**BATMAN is depreciated in favor of BATMAN-Adv or Babel**
- Decentralization of routing knowledge.
- No node has all of the routing data possible.
- Propagation of routing information is not done with broadcast.
- Nodes have only information about routes packets were received from.
<!-- -->
- Stable.
- Slow convergance times.
<!-- -->
- Other BATMAN nodes are detected and noted.
- New nodes are noted. Neighbors are informed.
<!-- -->
- Every node broadcasts its existence periodically. \< 200 seconds.
- These periodic updates overwrite contradictory information.
- Neighbors relay this information until every node has heard about it.
- Nodes which are currently considered the best next hop are considered
neighbors.
- A particular node counts the number of messages sent in reply for
every node and determines the route length that way.
- Each node only knows about routes to its neighbors. It lets neighbors
worry about additional hops.
- Good routes, by definition, propagate farther than dodgy ones.
- Timeless FSM: events are used to react to changing network conditions,
not timers.
<!-- -->
- Aims for easy, small, and fast.
- Supports multiple network devices of probably any kind. All are used
to retransmit packets.
- Nodes can inform other nodes that they're gateways to the Net.
- Nodes can announce that they are gateways from the mesh to an attached
LAN providing services.
<http://www.open-mesh.org/>
<http://www.open-mesh.org/wiki/batman-adv-quick-start-guide>
<http://lwn.net/Articles/426947/>
- Branches: major variants of not only the codebase but the protocol
itself.
- batmand operates at layer 3.
- batman-adv users the version III algorithm, but operates at layer 2.
- Implemented as a kernel module for speed.
- batctl is the control utility.
<!-- -->
- v0.3 makes use of the kernel's policy routing capabilities.
<!-- -->
- Four routing tables.
- View routing tables:
- batmand -i \| grep rt_table
- rt_table_networks: entries for announced networks.
- rt_table_hosts: all reachable BATMAN nodes.
- rt_table_unreach:
- rt_table_tunnel: default route if the client uses routing_class
and a gateway is involved.
<!-- -->
- Need to use the ip command (iproute2 package).
- Makes use of advanced IP routing tools.
- batmand -i \| grep rt_prio
- ip rule
- Allows you to separate client nodes from network routers.
- BATMAN related routing tables are easy to flush because they're
separate.
- The normal routing table can be messed with without disturbing
batmand's operation.
<!-- -->
- batmand can announce that a node is a gateway to the Net by announcing
how much downlink bandwidth it has available:
- batmand -g <kbits> <network interface>
- batmand -g 1500kbit eth0
- Opens new tunnel interface gateX, automagically sets route.
- Gateway interface must NAT traffic!
- batmand v0.3.2 and newer will automatically call iptables to configure
NAT.
- Stop announcing a gateway:
- batmand -c -g 0
- Announce a perferred gateway:
- batmand -c -p 1.2.3.4
<!-- -->
- batmand must be configured to watch for announced gateways.
- batmand -r 1 <interface>
- Considers link quality and gateway class before using for downlink.
- Kept open as long as possible for statefulness.
<!-- -->
- - batmand -r 2 <interface>
- Considers link quality toward gateway.
<!-- -->
- - batmand -r 3 <interface>
- Considers link quality, but will drop tunnel for one with a better
link it it sees one.
<!-- -->
- - batmand -r \[3-256\] <interface>
- Considers link quality, but will switch to another as soon as a new
one has an X better transmission quality metric.
To reduce load if there are many clients, the batgat.ko module can do
all of this from kernelspace. batmand automatically looks for a loaded
batgat.ko module, and will use it if one is found. batgat.ko has been in
the kernel since v2.6.33. Can separately compile and install later
versions of the module if upgrading the kernel isnt' an option. v2.6.33
-\> batman-adv v0.2.0 ... v2.6.36 -\> batman-adv v2010.1.0 v2.6.37 -\>
batman-adv v2010.2.0 v2.6.38 -\> batman-adv v2011.0.0 Because it's at
layer 2, it doesn't use UDP for transport: raw 802.11 frames. Implements
a virtual network switch. Thus, doesn't care about anything higher than
it on the stack. You can not use IP if you want. Non-mesh clients are
easier to handle. Client roaming is easier. Easier to optimize traffic
flow.
Static hosts not running batmand must be explicitly announced - called
HNA. These announcements tell every batmand node that a network segment
/foo/ has non-clients available. The non-BATMAN network must have routes
back, possibly NAT. Example: web servers on 192.168.1.0/24:
`   batmand -c -a 192.168.1.0/24`
`   batmand -c -a 192.168.1.0/24 -a 192.168.30.0/24`
Revoking an announcement:
`   batmand -c -A 192.168.1.0/24`
`   batmand -c -A 192.168.1.0/24 -A 192.168.30.0/24`
No inherent security. Designed for community, not for privacy. Do
encryption higher in the stack. SSL, TLS, IPsec... use good Tor
security.
Can be found in the Debian repository. Available for many embedded Linux
platforms. Comes with OpenWRT.

188
Babel.md Executable file
View File

@ -0,0 +1,188 @@
Available in most Linux distributions (including Arch, Debian, OpenWRT).
# Features
Distance vector routing protocol:
- Direction in which a packet should be forwarded.
- Interface to which a protocol should be sent
- Direction == address of next hop and exit interface
- Distance from destination
- Cost of reaching destination is computed using various metrics
<!-- -->
- Designed for both wireless (in ad-hoc mode) and wired network routing.
- Designed with mobile nodes in mind.
- Can route both IPv4 and IPv6 simultaneously and transparently. Doesn't
care which layer 3 protocols are running on top of it.
- Converges rapidly.
- Triggered updates.
- Explicit requests for routing information rather than continual
broadcasting.
<!-- -->
- Uses link quality metrics.
- Metric: packet loss, interference (optional) and RTT (optional).
- History sensitive to avoid route flapping.
<!-- -->
- Does not optimize route tables immediately, more concerned with
stability than slim tables. Premature optimization is the root of all
coders' anguish, and all that.
- This is used to cure route starvation.
- Used to choose feasibility of a particular route.
- Every route carries a sequence number that never decreases and is
propagated unchanged through the network.
- Only the route's source can ever increment that number.
- If the sequence number is more recent that the feasibility distance
maintained by the receiving node, or if it's equally recent but the
metric is smaller, then that particular route will be selected.
- Routes become feasible again after the sequence number is incremented.
- Ideal for embedded systems due to the properties inherent of DVRPs.
<!-- -->
- Most routing loops are avoided, remaining routing loops are transient,
disappear in time proportional to the diameter of the loops.
- Routers take note of loops and ensure that they do not recur.
<!-- -->
- Highly mobile nodes may elect to use shorter time constants, to
reflect their changing environment more accurately.
<!-- -->
- Nodes periodically broadcast HELLO packets. Nodes also respond to
HELLO broadcasts from neighboring nodes with I HEARD YOU packets.
These are used to calculate link costs.
- Periodically, every node B broadcasts a routing update D(B).
Every neighboring node A checks to see if B is its next hop. If so,
`   NH(A) = B`
`   D(A) = C(A, B) + D(B)`
otherwise,
`   if (C(A, B) + D(B)) < D(A)`
`       the received route is a better one`
`       NH(A) = B`
`       D(A) = C(A, B) + D(B)`
For any node A:
`   estimated distance to node S = D(A)`
`   next hop router to node S = NH(A)`
Initially, D(S) == 0, D(A) == infinity, NH(A) == UNDEFINED
If a route has to be retracted for any rason, babeld flags that route as
UNREACHABLE for a few minutes. Even if the route comes back it won't be
used until that timer is up. This is usually the worst case propagation
time for the route to a particular node C.
Every Babel router gets a unique ID, a string of 8 octets.
- Transmitted over UDP.
- Sent with a unicast source address to a multicast address (usually).
- Known neighbors get both multicast and unicast (directed to a
particular node).
# Usage
How to use babeld: Put the NIC into ad-hoc mode:
`   iwconfig wlan0 mode ad-hoc channel X essid "mesh"`
`   ifconfig wlan0 up`
All nodes need to have unique IP addresses. IPv4 at least, IPv6 if you
have it.
`   ifconfig wlan0 192.168.13.37/32`
``    ifconfig wlan0 `generate-ipv6-address -r`/128 ``
Start babeld:
`   babeld wlan0`
If there are multiple network interfaces:
`   babeld wlan0 eth1 eth2 ppp0 ...`
If a specific network gateway router exists, set it:
`   route add default gw 1.2.3.4 dev eth1`
These are often set on a per-node basis. For example, babeld is running
on a laptop with both wireless and wired interfaces.
Then redistribute routes through the mesh:
`   babeld -C 'redistribute metric 128' eth1`
It is possible to redistribute the routes associated only with a
particular network interface:
`   babeld -C 'redistribute if eth2 metric 128' eth1`
Other babeld options:
`   -h `<sec>`: interval in seconds between HELLO broadcasts over wireless.`
`       Default: 4 sec.`
`   -H `<sec>`: as -h, only for wired interfaces.`
babeld is not designed for security. An attacker that is link-local can
inject packets, just like ARP. Local firewalls, if applicable, should be
configured to allow Babel packets. Default: 6697/UDP
# Accessories
## AHCPD
AHCP can also be used to configure routing when using babeld:
`   `[`http://www.pps.jussieu.fr/~jch/software/ahcp/`](http://www.pps.jussieu.fr/~jch/software/ahcp/)
Arch Linux package downloaded, compiled, and ready to install.
Automagically configures IPv6 and IPv4/IPv6 networks when babeld is
used. Implements router discovery. Replaces DHCP. Configures IPv?
addresses, DNS, NTP. Does not configure default routes, that's babeld's
job.
Setting up an authoritative AHCP server:
`   Configure /etc/ahcpd.conf appropriately.`
`   ahcpd -c /etc/ahcpd.conf -D wlan0`
Does not need to run as root, only needs to be able to write a pidfile
and the lease database. If the server can sync its clock using NTP, it
will. If it can't it will only give short leases and be careful with
releasing them. Multiple servers can run on the same mesh so long as
they work different IPv4 netblocks.
Other options:
`   -t `<sec>` - time in second that leases are offered for.`
`   -L /path/to/log - Specify a logfile.  By default, /var/log/ahcpd.log`
kill -USR1 to print server status to logfile. kill -USR2 checks for
interface status changes, then reopens logfile.
Running an AHCP client:
`   ahcpd wlan0`
Designed for mesh networks. Doesn't set default gateway, netmask, or
on-link prefixes for IPv6.
## WebGUI
haxwithaxe doesn't know how this works yet but it looks really cool.
[babelweb](http://babelweb.wifi.pps.univ-paris-diderot.fr:8080)
git clone git://git.wifi.pps.univ-paris-diderot.fr/babelweb.git

34
Babel_Setup.md Executable file
View File

@ -0,0 +1,34 @@
## Compile and install Babel
Download babeld and ahcpd. Standard "make && sudo make install".
On OS X: rt lib is not available in OS X, the ahcpd README is missing
this info
make LDLIBS=''
make install
## Setup ad-Hoc network
1. Disable NetworkManager
1. Right click on NetworkManager applet, un-check "Enable
networking".
2. Fedora:
# /etc/init.d/NetworkManager stop
3. Ubuntu:
# stop network-manager
2. Disable the firewall
1. # iptables -F
3. # ifconfig wlan0 down
4. # iwconfig wlan0 mode ad-hoc essid hacdc-babel channel 9
5. # ifconfig wlan0 up
## Setup Babel
1. # babeld -D wlan0
2. # ahcpd -D wlan0

34
Basement.md Executable file
View File

@ -0,0 +1,34 @@
The basement contains various shelves and our more dangerous/high
powered/shop type equipment.
## Location
The basement is at St. Stephen and the Incarnation Episcopal Church. It
is locked and access is somewhat restricted.
## Organization
It's not really organized according to any principle currently.
## Equipment
Optical Table Robot
CNC Lathe
Tons of stuff...
## Storage
See organization.
## Secure Rack
We have a rack and servers in the basement.
## Outgoing
The outgoing area is in the basement.
[Category:In_the_Space](Category:In_the_Space "wikilink")
[Category:Basement](Category:Basement "wikilink")

1
BasementShelves.md Executable file
View File

@ -0,0 +1 @@
1. REDIRECT [Basement Shelves](Basement_Shelves "wikilink")

View File

@ -0,0 +1,2 @@
1. REDIRECT [Basement Shelves
Documentation](Basement_Shelves_Documentation "wikilink")

2
BasementShelvesUpgrades.md Executable file
View File

@ -0,0 +1,2 @@
1. REDIRECT [Basement Shelves
Upgrades](Basement_Shelves_Upgrades "wikilink")

1
Basement_Shelves.md Executable file
View File

@ -0,0 +1 @@
[BasementShelves](http://wiki.hacdc.org/index.php/Category:BasementShelves)

View File

@ -0,0 +1,34 @@
# Design
Initial design by mirage335 for HacDC Basement. Intended for placement a
few feet away from wall in either or both rooms as necessary, accessible
from both sides, providing a sort of warehouse.
# Specifications
- 8' high, 16' long, 4' deep, 16" elevations
- 64 square feet per shelf
- 6 shelves total
- 384 usable square feet, including floor, excluding top shelf
# Render
<img src="BasementShelves-Render.png" title="BasementShelves-Render.png"
width="800" alt="BasementShelves-Render.png" />
<img src="BasementShelves-Results-Stress.png"
title="BasementShelves-Results-Stress.png" width="800"
alt="BasementShelves-Results-Stress.png" />
# OpenSource
Please see [github](https://github.com/HacDC/BasementShelves) for CAD
model, BOM, and simulation results.
# Credits
Special thanks to Zack for initiative, financing, material sourcing,
timely design advice, the right tools, rigging, and most of the heavy
lifting. Also thanks to Martin, Ben Mendis (aka. sitwon), haxwithaxe,
and others for feedback.
[Category:BasementShelves](Category:BasementShelves "wikilink")

78
Basement_Shelves_Upgrades.md Executable file
View File

@ -0,0 +1,78 @@
![Before and after, same
exposure](Shelf_lights_v0.9.gif "Before and after, same exposure")
## LED Lighting
Feb 2014: LED strips have been added to the underside of each shelf by
[Gatohaus](User:Gatohaus "wikilink")
([talk](User_talk:Gatohaus "wikilink")). These are SMD 5050 strips, 5m
long, 300 LEDs each that draw 1.2A per meter at 12v. Note they have been
trimmed nearly a foot each to fit. Total maximum wattage for the 10
strips currently in place is 10 x 72w = 720w. Output is around 800-900
lumens per meter. (~40k lumens) A good balance between light and heat
(longevity) seems to be in the 3 to 4A per strip range.
The location of the strips was chosen: to be somewhat protected, to
light the shelf adequately, to avoid as much glare as possible, and to
provide significant spillage into the surrounding area.
Feb 2014: **Expect a few of the strips to fall down.** Some are still
partially attached by their adhesive tape which won't really fail until
they're warm for a while. When they do fail, reattach them with a hot
glue gun. That seems (fingers crossed) to be permanent.
### <u>Lessons Learned</u>
#### Strip Choice
SMD 3528's were also tested (the strip remains in use on the shelves).
The 5050's were the same price (~\$12) at about the same efficiency but
allow for a higher maximum brightness (and greater power draw of
course).
#### Adhering the strips
The tape adhesive that comes on the strips works very poorly on OSB
(shelving material used). They'll hold while the lights are off, but
once they warm up the adhesive begins to fail. I tried 3M's "77" spray..
an embarrassing failure. It too loses adhesion when warmed.
Trying mechanical attachments, typically a nail or staple with a plastic
brace, the type used to hold cables in place, proved troublesome. The
OSB is hard enough that significant force is required with a hammer to
drive the nails in. Over a span of 50m of LEDs it seems likely that
misses would occur probably smashing some of the LED components.
In the end a simple hot glue gun seems to have worked.
#### Wiring & Power
In hindsight it would have been better to mount the strips with more of
the connecting leads sticking out at the end. The leads can easily be
replaced if needed, they're just surface mounted.
<s>I used a PC's ATX power supply which has 2 x 12v at 15A.</s> (I
managed to damage this ps somehow.) I don't know how efficient it is but
after spending several hours hunting for options in our collection of
stuff, this seemed the best choice. Perhaps it can be replaced at some
point. I'm giving one of the 15A sources to the lower 3 shelves, and the
other to the top two shelves. This means the upper ones will be
brighter, but the spill over will help illuminate the surrounding area.
Temporarily (which tends to become permanent) there is another ATX ps
plus a couple of in-line wall warts in place of the ATX mentioned above.
This ATX has 12v at 21A and the two wall warts have 5A and 2.5A at 12v.
Not quite the distribution I'd like, but it works.
**Well... almost works...** After being on for half an hour or so the
21A ATX takes a nap. Exhaust air feels cool, but it's probably too much
of a load. So I added *another* computer power supply (~5A) to help out.
Seems to be stable. Need help either repairing the original ATX supply
or finding something else.
### <u>Things to Improve</u>
In general I'm not exactly proud of the wiring. It's solid and safe, but
not quite pretty. If someone wishes to redo this work, please do!
[Category:BasementShelves](Category:BasementShelves "wikilink")

1
Batch_III.md Executable file
View File

@ -0,0 +1 @@
This list was ancient. Delete this.

24
Big_blue_button.md Executable file
View File

@ -0,0 +1,24 @@
## Introduction
Big Blue Button is an open source communication framework that allows
for video-conferencing and more. It would allow this hackerspace to host
video conferences for other hackerspaces/makerspaces and organizations
which would further enhance our ability to communicate and share
resources.
[Watch this video for a full
introduction](https://www.youtube.com/watch?v=6Saztv2WlKI)
## Infrastructure
We will be using a high-cpu Digital Ocean droplet 8GB Ram/50GB SSD/4
CPUs. This was presented as a viable option by a very helpful Fred Dixon
from Blindside Networks.
We will use chill.hakely.org as our domain name until another
more-appropriate domain name is decided upon.
## Software Installation
[Check Server
Specs](http://docs.bigbluebutton.org/install/install.html#check-server-specs)

29
Bike_Maintenance_Class.md Executable file
View File

@ -0,0 +1,29 @@
__notoc__ This is a 6 week series intended for all skill/knowledge
levels. Each class will have a hands on portion so bring your bike in,
stands will be provided. If you can't, don't worry, each class will have
relevant demo bikes and components on hand. Tools will be limited so
bring in your own if you have them.
## Lesson Overviews
- [Week 1, Introduction and Flat
Repair](Bike_Maintenance_Class:_Week_1,_Introduction_and_Flat_Repair "wikilink")
- [Week 2, Basic Fit, Component Materials, and Brake
System](Bike_Maintenance_Class:_Week_2,_Basic_Fit,_Component_Materials,_and_Brake_System "wikilink")
- [Week 3, Drivetrain and
Shifting](Bike_Maintenance_Class:_Week_3 "wikilink")
## Online Resources
[Sheldon Brown](http://www.sheldonbrown.com/) - More than you'll ever
want to know about bikes. [Park Tool Repair
Help](http://www.parktool.com/blog/repair-help) - World class tool
company with great, straight forward how-to's.
[WABA](http://www.waba.org/) - Washington Area Bicycle Association.
Awesome people, awesome resource.
## Offline Resources
Your local bike shop! Go support them!
[Category:Bike_Maintenance_Class](Category:Bike_Maintenance_Class "wikilink")

View File

@ -0,0 +1,79 @@
[Bike Maintenance Class:](Bike_Maintenance_Class "wikilink") Week 1,
Introduction and Flat Repair
## Component Identification and Basic Terminology
### What's What on a Bike
![Image:bikediagram.gif](bikediagram.gif "Image:bikediagram.gif")
### Drive Side and Non-drive Side
The right side of the bike is referred to as the drive side while the
left side is the non-drive side.
### How to talk about gearing
Gears closer to the frame are referred to as *inner* gears while the
ones furthest from the frame are the *outer* gears. High and low in
relation to the gears describes the relative mechanical advantage of the
gearing. An easy mnemonic for this is **H**igher gears are **h**arder
while lower gears are easier. The inner gears on a bike are always going
to be the lower gears and the outer gears are the higher gears.
### Right-hand vs Left-hand Threading
Almost every threaded component on a bike is going to be right-hand
threaded, which means that turning it clockwise will tighten it and
turning it counter-clockwise will loosen it. Pedals and bottom bracket
cups are examples where you would run into left-hand threaded
components. To identify the *handedness* of a component hold it in front
of you as in the picture below. The direction that the threads slant up
too corresponds to the components handedness.
<figure>
<img src="LineDrawingofLeftandRightHandedSquareThreads.png"
title="LineDrawingofLeftandRightHandedSquareThreads.png" width="200" />
<figcaption>LineDrawingofLeftandRightHandedSquareThreads.png</figcaption>
</figure>
Left-handed Right-handed
### Valves: Schrader and Presta
The two types of valves you will see on 99% of bikes in America are
schrader and presta. Schrader valves are the same type of valve that you
see on cars and most other pneumatic tires. Presta valves are
<img src="valvetypes.jpg" title="valvetypes.jpg" width="150"
alt="valvetypes.jpg" />
## Basic Upkeep
### Inflating Tires
<figure>
<img src="valvedeflate.gif" title="Image:valvedeflate.gif" />
<figcaption>Image:valvedeflate.gif</figcaption>
</figure>
### Cleaning and lubing the chain
## Flat Repair
- Understanding brake and wheel quick release mechanisims
- How to remove a tire with tirelevers
- Identifying puncture source (don't forget to keep everything lined
up!)
- Patching
## Hands On
Repairing flat tires on demo wheels.
## **Resources**
More than you really need to know about flats: [Sheldon Brown Tells
All](http://www.sheldonbrown.com/flats.html)
[Category:Bike_Maintenance_Class](Category:Bike_Maintenance_Class "wikilink")

View File

@ -0,0 +1,124 @@
[Bike Maintenance Class:](Bike_Maintenance_Class "wikilink") Week 2,
Basic Fit, Component Materials, and Brake System
## Judging Bike Fit: Stand Over Height
Finding a bike that fits correctly is important, but its also is mostly
about personal preference. So what should you look at?
The most basic component of bike fit is stand over height. On the bike
its the distance from the top of the top tube to the ground. On the
rider this measurement should be at least an inch or two less than the
distance from your crotch to the ground. If you don't have that
clearance you could really hurt yourself when dismounting. Stand over
height differs between bikes that are the same size based on how the
manufacture measures size and the bikes geometry. ![200
px](standoverheight.jpg "200 px")
This will tell you if a bike fits you most of the time. While there are
other components to bike fit, most of them are adjustments, which we
will cover later in this class.
## Frame Materials
Bikes frames are made out of three types of material:
- **Steel** - If your using your bike on a daily basis and have to lock
it up outside sometimes(but never overnight!) steel is what you want.
It can take more abuse than aluminium or carbon and sometimes even be
realigned after a particularly hard impact that would total other
frames. Avoid frames made of high carbon or high-tensile steel (some
times called hi-ten). Instead look for frames made of an alloy such as
chromoly (chromium-molybdenum) as they are lighter, stronger, and
resist rust better. If the frame doesn't have a sticker stating what
its made of, there's a good chance is straight gauge, high-tensile
steel.
- **Aluminium** - Stiffer and lighter than steel, aluminium is ideal for
road bikes where you want to be putting down maximum power, or in a
bike with suspension where you aren't relying on the frame to absorb
shock. The thin tubing in nicer aluminium bikes is prone to dents and
dings so be careful when leaning it up against poles and street sights
to lock it up. Also, if your frame ever gets bent, that it, game over,
time for a new frame.
- **Carbon** - Carbon fiber frame are made by laminating sheets of
carbon fiber together with epoxy in a vacuum mold. This gives
designers a great deal of flexibility in design that can result in
extremely light bikes that are stiff in some area and good at
absorbing vibration in others. The down side is that carbon fiber is
brittle and comparatively more expensive. If your riding a carbon
bike, you shouldn't be locking it up anywhere outside.
**Butted vs Straight Gauge**: Double and triple butted tubing is thinner
in the center of the tube than at the ends, taking pounds of the weight
off a frame and providing a more comfortable ride.
## Saddle and Cockpit Set-Up
### Saddle Height and Position
- **Level**
Your saddle should always be about level or tipped slightly towards the
front of the bike. Level is measured from the highest point on the rear
of the saddle to the hightest point on the front of the saddle (the
nose). You can change this slightly but if the saddle is tilted to far
forward, your going to put extra pressure on your wrists, to far back
and the saddle's nose is going to start putting pressure on bits you
wish it wouldn't.
- **Height**
When in the saddle, with the peddles at 11 and 5 o'clock, place the
heels of you feet on the peddles (you might want to get a friend to hold
the bike steady for you). Adjust your saddle so that the extended leg
bends slightly at the knee. The idea is the more leg extension you can
get, the more efficient the stroke, but you *never* want your leg to
extent fully as this is very bad for you knees. ![200
px](saddleheight.jpg "200 px")
- **Setback**
When in the saddle, with the peddles at 3 and 9 o'clock, the front of
your leading knee should be plumb with the peddles spindle.
### Handlebar/Stem Position
Seeing as you can have anything from drop bars to 5" risers on a bike,
this is mostly personal preference. Just make sure you knees aren't
going to hit the bars when your taking a sharp corner. A more upright
position gives you better visibility while a lower position will make
you more aerodynamic.
### Cockpit Set-up
All of this is personal preference, but here's a starting point.
- **Flat Handlebars**
- **Drop Handlebars**
## Breaks
### System Overview/Styles
#### Pull Ratio
#### Mountain vs Road Cables
#### Calliper, Cantilever, and Linear Pull
##### Quick Release
===Replacing Cable and Housing
#### What's the Difference Between Break Housing and Shift Housing
#### Measuring and Cutting Housing
#### Installing Brake Cable
### Replacing Brake Pads
#### Styles of Pads
## Overview, adjusting, and installing pads
[Category:Bike_Maintenance_Class](Category:Bike_Maintenance_Class "wikilink")

8
Biomaterials.md Executable file
View File

@ -0,0 +1,8 @@
This page has been deprecated due to the creation of an appropriate
Category page and should be deleted.
--[Shawn Nock (OpenPGP: 0x65118FA5)](User:Nock "wikilink") 13:04, 5
November 2012 (PST)
[Category:Candidates for
deletion](Category:Candidates_for_deletion "wikilink")

View File

@ -0,0 +1,52 @@
## System
- Use beacons mounted on stationary objects within a room to allow user
supplied devices to triangulate their rough position inside the room
- The users may share their location via various means.
- XMPP
- complex
- relies on external infrastructure eventually
- robust against network topology traversals (NAT/Firewall)
- Multicast
- simple
- not robust when traversing NATs
- Useful for a conference hall or the like, where an area is large
enough to prevent finding ones way or friends easily.
testing guest captcha
## Hardware
### SOCs
- [Nordic](http://www.mouser.com/ProductDetail/Nordic-Semiconductor/nRF51822-QFAB-R7/?qs=sGAEpiMZZMvQqVCO1QUke9rOCiF3q8UDR59ukwBL9d8%3d)
- [TI](http://www.mouser.com/ProductDetail/Texas-Instruments/CC2540F128RHAR/?qs=sGAEpiMZZMuReUCzg6bfTFMX9eNsg5flb%2fyNLpDtSPE%3d)
### Front End/BT modules
- just as expensive as SOCs
## Software
### Phone App
#### Android
#### iThing
### Firmware
- bit-bang BTLE library
[code](https://dmitry.gr/index.php?r=05.Projects&proj=11.%20Bluetooth%20LE%20fakery)
for reference
#### Beacon
- Similar use cases
- Beacon tagging - tags beacon to allow device to find the tagged item
- [iBeacon](http://en.wikipedia.org/wiki/IBeacon) - proprietary
implementation
- Use [Proximity
Sensing](http://en.wikipedia.org/wiki/Bluetooth_low_energy#Proximity_sensing)
Profile (PXP/FMP) to let user devices know where and roughly how far
they are from the beacons.

138
Board_Meeting_2018_04_10.md Executable file
View File

@ -0,0 +1,138 @@
## Time and Location
Date
Called to order at 2110 pm by Karen
BOD Members present: Karen Tom Tayeb Ken Kevin
Members present: Enrique Bobby
Members remote: None
Others present: Diego
[Quorum](Quorum "wikilink")
Quorum met?
`   yes`
## Director Reports (Governance related stuff)
### President's Report
### Vice President's Report
Update new BOD on last year's history of IT admin relationship with
church and its denouement.
### Treasurer's Report
We used to have a monthly income hovering around \$1300 but for the past
five+ months it's been aroud \$6-700; we may have lost up to \$7000 in
this timeframe... depending on success or failure of back dues payment
collection.
The treasurer???s position has been vacant since October 2017. Those
individuals who were set for entirely automatic payment systems (a
subset of those on Paypal, everyone on Dwolla) continued paying as
normal and are among the few who owe no back dues. Back in 2017, our
average monthly income was hovering around \$1300. We have since dropped
to ~\$700.
Rent went up here starting in the month of February, from \$1043 to
\$1343. We have had some irregular finances due to a mischarge in
December, where we accidentally were charged for two and a half months
in advance. We are now back to paying rent regularly, \$1343 per month.
Additionally we have not been completing PA allocations, and as such the
information has not been updated. This will be rectified soon.
We have three new members!
### Secretary's Report
### Director-at-Large Reports
#### Kevin
#### Ken
## Agenda
### Draft Code of Conduct
#### Karen
There is some question on how to manage guests and people's behavior in
the space who are not members to develop relationships and troubleshoot
problem spots; and to ensure that problems are resolved regularly. To
that end I have looked at some other organizations and developed a draft
"code of conduct" (open to different names) for comment and revisions.
#### Mirage355
Most importantly, lack of barriers to entry, such as strict rules about
equipment usage, borrowing, or supplies consumption, has been a huge
success at HacDC, to be continued. We have not had a problem with
accidents, nor substantial damage from supplies overconsumption, nor
theft. Permanent injuries have not happened, tools have not been damaged
in operation, and minimal supplies budgets have not remotely been
drained. This is an important part of HacDC's unique character to be
continued.
All major problems at HacDC have been the result of total absence of
common sense or deliberate abuse. Most probably deliberate abuse. These
incidents are in an entirely separate category from on-mission
activities, while often using the same resources.
**We need to require disruptive members, and the disruptive guests they
allow, to reach a credible "cease and desist" agreement, or be
immediately barred from the space until they do. We need to do this
without interfering with, or discouraging, our vast majority of
contributing volunteers. Immediate action is not a permanent banhammer,
but it may be followed with such.**
Our bylaw amendment, empowering the board to bar access for "substantial
cause", is also intended to apply to members who bring trouble, as well
as their own behaviour. Members bringing in live ammunition, would be
responsible for doing so safely, as opposed to displaying it in an
obviously threatening manner. Likewise, members are responsible for the
guests they bring in, and can be barred for continuing to allow
disruptive guests.
Explicit rules alone are not the answer. Too many situations will
involve substantial cause that involve resources being used as expected,
to a degree that is not appropriate. Rearranging some things in the
space is normal. Occasionally using a TV set is normal. Sitting in a
chair is normal. Even some personal use may be normal, below the
threshold of what the IRS would consider substantial. Scattering the
components of a tool, burning days of daytime TV on a maintenance
intensive display, or sleeping overnight in a chair, is not appropriate.
**What we need to do, is provide guidance - in addition to rules - to
fairly explain to newcomers, members, and guests - the wonderful things
they are allowed to do, as well as the category of things they are
expected not to do. Realistically, most would never think of doing the
things in the latter category to begin with.**
To that end, a Wiki document was written a while back as *guidance*
summarizing some norms as well as the mechanics of how things could
work. <https://wiki.hacdc.org/index.php/ResponsibilitiesOfMembership>
To provide further guidance of what is in the category of on-mission, as
opposed to inappropriate, use of HacDC resources, another wiki document
has been put up. It may be the first attempt to formally write down the
culture of how HacDC operates, both to encourage newcomers to quickly
become comfortable with the freedom we offer, as well as to provide a
sense of fairness for policy makers.
<https://wiki.hacdc.org/index.php/NormsOfHacDC>
## Adjournment
Adjourned by at xxx by xxx
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

178
Board_Meeting_2021_12_21.md Executable file
View File

@ -0,0 +1,178 @@
## Time and Location
Date: December 21st 2021
Called to order at 6:40pm
BOD Members present: Brian, Tayeb, Matt, John, Michelle
Members present:
Members remote: None
Others present:
[Quorum](Quorum "wikilink")
Quorum met?
`   yes`
## Director Reports (Governance related stuff)
### President's Report
### Vice President's Report
### Treasurer's Report
### Secretary's Report
### Director-at-Large Reports
## Agenda
### Agenda Item \#1: Decision-making: requiring a quorum for all meetings
- General agreement this was the way to continue to schedule meetings
and re-schedule meetings as necessary
- Where a quorum to meet = 1/4th of board members; quorum to pay \$1000
item = 1/3rd of board members
### Agenda Item \#2: Board elections: clarification of roles and setting a date for elections
- must be in Feb or Mar (according to bylaws)
- Kevin open to being At-Large
- Tayeb planning on departing
- Karen can be asked for a position
- John glad to be At-Large
- set to vote on members meeting last meeting Mar 9th
- Matt glad to be Treasurer
- Michelle glad to be President
### Agenda Item \#3: Equipment - donations. Requesting and receiving donations
- Michelle will respond to donors and copy board and know who's nearby
(Gabe, John, Tayeb are close by).
- Include in email "want it to be tax deductible? might take a little
research on our end." to get estimate and receipt.
### Agenda Item \#4: Getting (and keeping) additional helpers
- Supporting instructors & potential new instructors
- Managing volunteers & types of volunteers we need & volunteer projects
- Volunteers can do Remote - given that we meet them, a BOD vouches
for them; can get into the space if supervised
### Agenda Item \#5: Membership. Policy for non-members attending virtual classes/events.
### Agenda Item \#6: Membership. Should institute a virtual membership plan?
### Agenda Item \#7: Communications - committee. ???Unified Data??? Phase 1: Wiki-Website-Meetup-Google
- Michelle: doing the web work
- Michelle: for designs, will send out draft text to BOD for review
- Michelle: will create a distribution email list (something like:
data-unifed@hacdc.org)
- Ken: doing the wiki work and backups
### Agenda Item \#8: Covid - Health. Air quality monitor (to replace Ken???s) via Raspberry Pi HomeBridge OS
- Michelle: we've had Ken's air quality monitors over a year and we need
to make a plan to return them and use our own system. Maybe do a DIY
system and can use Ken's tools to compare/quality control before final
return to him.
- John: has logged air quality monitor; will gradually phase out and use
Ken's to QA our raspberry pi.
- Matt: open to trying a solution for HacDC space
- Matt: uses OpenHat (spelling?) now control home lighting
- Michelle: some (possibly) helpful videos:
- [Arduino system but maybe no logging, no wifi? @
YouTube](https://www.youtube.com/watch?v=esY_OtDLv7g&t=135s%7CSimple)
- [Quality Raspberry Pi Homekit (buuut...Apple?) @
YouTube](https://www.youtube.com/results?search_query=air+quality+raspberry+pi+homekit%7CAir)
- [complete house system hook-up @
YouTube](https://www.youtube.com/user/SuperHouseTV%7CGuy's)
### Agenda Item \#9: Safety - Waiver. Hold harmless agreement for existing and new members
- Tayeb: has anyone know what our insurance policy is?
- John: who would we even put a claim into with?
- Matt: wants quarterly / semi-annually to list everything and keep
informed
- John: would get insurance for the space
- Michelle: should start that process now for new equipment
- Tayeb: should request this
### Agenda Item \#10: Basement improvements. Decluttering and organizing the basement.
### Agenda Item \#11: Government contracts. Apply for a SAM code & DUNS number.
- Michelle: will get this started end of Spring
### Agenda Item \#12: Comms Systems. TechSoup access for free Zoom access (see John).
- John/Matt: needs to reset his password:
<https://www.techsoup.org/ForgotPassword>
### Agenda Item \#13: Newsletter. Regular newsletter.
- John: start with post-election news
- Tayeb: will solicit to membership for help to get this done every
other month. Simultaneous announcement on Twitter, FB, Instagram, etc.
- New elections
- New grant
- New website (ie. unified data)
### Agenda Item \#14: Membership clarifying information and changes.
- Meetup events are entirely open - nonmembers welcome
- Courses (on-site) =\> members only no charge; nonmembers for a charge
- Open Nights - MicroFab; AutoCAD - more social, more club events
- Virtual membership - tabled until we can be in the space
### Agenda Item \#15: The Space.
Someone to man the space -
- Way to track and equipment and fix equipment (must be person easy to
get along with)
- Way to decide when something reached end of useful life =\> announce
available to members (two week wait for anyone to take) =\> two weeks
before for anyone to throw away =\> sell stuff on eBay
Decommission space / Health Check of Equipment
- John: do another annual "Spring Cleaning" clean-out to get rid of
stuff not worth fixing
Basement space
- Matt: noticed there was water in the basement; space floods a lot but
not to the level where its too high
- Tayeb: there is drainage outside the door (John thinks is part of
the problem)
Roof work
- John: (question really for HAM Radio Club)
Spring Cleaning: Feb / Mar -- probably multi-day; when new board takes
over
- basement
- roof
- space decommission
### Agenda Item: Miscellaneous.
- Due to holidays - cancelling all events until non until Jan 1st (even
virtual ones)
## Adjournment
Adjourned by at 8:01p by Tayeb
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

View File

@ -0,0 +1,43 @@
### Time And Location
Virtual meeting using Google+ hangout, 7-9pm on 4 Dec 2012
Present: Andy (until his battery died), Ben, Eric, Katie, Martin, Tim
### Discussion Topics
1. Remote voting:
1. Only during member meeting on the issues raised during the
member meeting.
2. Must have video telepresence of some form.
3. Makes a public vote on the issue.
4. Members present vote on whether or not the identity is valid, or
1. Smaller number of members can vouch for someone if they are
not recognized by Secretary
5. Tim volunteered to write up policy for Standing Rules
2. Workspace cleanup:
1. Post signs around the workspace
2. Rule in the standing rules
3. No consequences listed, left to BoD to come up with reasonable
consequence
3. Tip jar:
1. Need a stronger, more permanent tip jar for the space
2. Metal box, secure lock, permanent fixture
3. Need separate tip jars placed near consumables
4. Need price sheet for consumable posted near their tip jars
5. Ben posted link:
<http://www.amazon.com/Azar-206388-Acrylic-Suggestion-Pocket/dp/B005X9ILHM>
4. Need to regulate bad behavior:
1. Some members behave in a way that is not conducive to the group.
We need to deal with this up front to prevent members from being
driven away.
2. Have an anti-harassment policy - Katie volunteers to draft
3. Should also have an anti-discrimination policy
1. We should be able to find text online
2. Katie volunteered to prepare draft
### Meeting Adjourned
Meeting Adjourned 8:53pm
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

View File

@ -0,0 +1,23 @@
### Time And Location
HacDC @ 7pm 2014-12-02
Present: Zach, Travis, Ben
### Discussion Topics
1. Proposed Rule Changes
1. Grant the BoD limited powers to revoke memberships
2. Set a floor on the dynamic quorum
3. Raise membership dues
1. Raise dues with inflation?
<!-- -->
1. BoD becomes the financial committee and education committee
### Meeting Adjourned
Meeting Adjourned 7:30pm
[Category:Meeting Minutes](Category:Meeting_Minutes "wikilink")

15
Board_of_Directors.md Executable file
View File

@ -0,0 +1,15 @@
Below is a list of members who currently sit on the board of directors
(2023-2024).
| Title | Name | Email = {title}@hacdc.org | Key ID | Fingerprint |
|-----------------------|-------------------------------------------------|---------------------------|--------|-------------|
| **President** | [Obioma Anomnachi](Obioma_Anomnachi "wikilink") | president hacdc.org | | |
| **Vice President** | [Gabriel Altay](User:Galtay "wikilink") | vicepresident hacdc.org | | |
| **Secretary** | [Calliope Youngblood](User:C4lliope "wikilink") | secretary hacdc.org | | |
| **Treasurer** | [Matt Stafford](Matt_Stafford "wikilink") | treasurer hacdc.org | | |
| **At Large Director** | Don and Brian | atlarge1 hacdc.org | | |
| **At Large Director** | [Michelle Savage](Michelle_Savage "wikilink") | atlarge2 hacdc.org | | |
| | | | | |
[Category:People](Category:People "wikilink")
[Category:BOD](Category:BOD "wikilink")

12
Board_of_Directors_2021-2022.md Executable file
View File

@ -0,0 +1,12 @@
| Title | Name | Email | Key ID | Fingerprint |
|-----------------------|-------------------------------------------|-------------------------|----------|---------------------------------------------------|
| **President** | [Tayeb Zaidi](User:Tark "wikilink") | president hacdc.org | | |
| **Vice President** | [John Pancoast](John_Pancoast "wikilink") | vicepresident hacdc.org | C2FB7BDD | 20FF A728 0AA8 BAFD 784E A59A 83B8 738B C2FB 7BDD |
| **Secretary** | Michelle Savage | secretary hacdc.org | | |
| **Treasurer** | [Matt Stafford](Matt_Stafford "wikilink") | treasurer hacdc.org | D3F18AD5 | C471 9C16 0822 D885 7636 2558 EE78 8C89 D3F1 8AD5 |
| **At Large Director** | [Gabriel Altay](User:Galtay "wikilink") | atlarge1 hacdc.org | | |
| **At Large Director** | Brian Madonna | atlarge2 hacdc.org | | |
| | | | | |
[Category:People](Category:People "wikilink")
[Category:BOD](Category:BOD "wikilink")

152
Boston_travel.md Executable file
View File

@ -0,0 +1,152 @@
------------------------------------------------------------------------
baghaii:
I am not sure if you are limited to public transportation or not.
<http://en.wikipedia.org/wiki/MIT_Museum>
<http://www.larzanderson.org/Topics/Topic.cfm?TopicName=Home&CFID=536300&CFTOKEN=51791476>
<http://www.hammondcastle.org/common/index.php?com=HAMM&div=AA&nav=AA&page=A91>
<http://en.wikipedia.org/wiki/Marconi_Wireless_Station_Site>
The BU Photonics Center has some interesting sculptures that involve
light. There is a really cool sculpture on the 7th floor. There is the
thing by the elevator. I forget what it is supposed to do. Understand
commands? I don't remember what it did or if it ever quite worked.
Not relevant but I have always wanted to go.
<http://www.museumofbadart.org/>
------------------------------------------------------------------------
rmadams:
Wow! Too cool! I loved _loved_ living in Boston/Cambridge. There are
lots of great geek things to do and see in Boston. Here are a few of my
favorites:
1\. See the amazing hacks in the "Nightwork" exhibit at the MIT Museum-
geeks at MIT have been performing amazing hacks for _decades_.
Besides, the MIT museum is just plain cool. See it at:
<http://web.mit.edu/museum/> It is cool, and kind of offbeat, and a lot
of fun.
2\. You can also check out the MIT campus, which is right nearby- it is
a lot of fun to walk around there, and see the Media Lab, the AI Lab,
etc. etc. Plus, if your timing is good, you can check out such sights as
the famous "Infinite Corridor," etc. in the buildings. You might even
run into folks like Marvin Minsky hanging around. If you read Levy's
"Hackers"
(http://www.amazon.com/Hackers-Computer-Revolution-Steven-Levy/dp/0141000511)
before you go, you will get some of the history and local color.
3\. While you are there in Cambridge, have lunch/dinner at the amazing
"Miracle of Science" bar/grill. All of their tables are laboratory
soapstone, and the menus is chalked up on a chalkboard in "periodic
table" form. Very amusing. They don't serve their drinks in laboratory
glassware, but the food good and the place is fun. You can overhear some
very interesting tech/science conversations there.
(http://www.miracleofscience.us/)
4\. After lunch/dinner, grab drinks (and maybe catch some music/dancing)
at the Enormous Room, one T stop up in Central Square:
<http://www.enormous.tv/ENORMOUS_2004/main1.html>
5\. Across the River (almost) you can visit the Boston Museum of
Science, which has a lot of really fun stuff, but don't miss the
electricity show, using some of the original "atom smashers" giant Van
de Graaff generators. Very, very cool. And loud. Also check out the
scale model of the solar system. To get to Pluto, you need to take the T
(Green Line) all the way out to the end of the line in Riverside...
(http://www.mos.org/)
6\. Check out Willoughby and Baltic at their new digs in Union Square:
<http://willoughbybaltic.ning.com/>. They might have some fun
hacker-type stuff going on while you are there. Totally cool tech/arts
collective.
Sheesh. I could go on forever. Hope this gives you a start- contact me
if you want more of the same!
Everyone's suggestions are great! I completely forgot about the atrium
at the Broad (pronounced to rhyme with "road" in case you have to ask
around to find it.) I spend so much time that there that I forgot about
the displays in the atrium. It is really neat. If you are down that
road, you can walk through the atrium at Draper Labs, where a bunch of
the hardware they designed for the lunar landings is displayed. It is
actually very cool. <http://www.draper.com/Apollo/apollo_at_draper.html>
If you take the Red Line "T" the rest of the way up to Harvard Square,
you can check out my personal favorite comic book store, "Million Year
Picnic" (http://themillionyearpicnic.com/) My brother ran into Ben
Affleck there- apparently it is his favorite comic book store, too. As
for bookstores, check out the Harvard Coop, right around the corner
there- they have a pretty remarkable selection of stuff academic and
otherwise.
Okay- I promised that I would not go on and on- I am making myself
homesick!
------------------------------------------------------------------------
mml:
These are slightly adjacent to the topic directly at hand (already well
covered)
If you are in to bookstores. (I was so excited when I found out about
Reiter's here in DC). - MIT Press book store is cool - Schoenhof's, the
most amazing foreign language store anywhere, with tons of useful stuff
for learners. <http://www.schoenhofs.com/>
I enjoyed The Computer Museum, but it's gone now. I hear the Museum of
Science is good, though.
Um, if bikes appeal at all, Broadway Bicycle School is cool and has a
nice DIY angle. <http://www.broadwaybicycleschool.com/>
------------------------------------------------------------------------
curiouslee:
Adding to all the great suggestions (I'm at the Media Lab this coming
Tue-Thu)...
Not far from MIT Press are:
- The DNAtrium\*
<http://www.broadinstitute.org/outreach/dnatrium/dnatrium> This is a
lobby museum on genome mapping with huge curved interactive video walls.
- Stata Center\*
<http://en.wikipedia.org/wiki/Stata_Center> Amazing Frank Gehry building
if you're into crazy architecture. There's an elevated central
courtyard. During day hours, you should be able to get inside.
- The Media Lab\*
<http://en.wikipedia.org/wiki/MIT_Media_Lab> Access to the lab spaces is
controlled, but you can walk the upper atrium where there is the List
Visual Arts Center <http://listart.mit.edu/> and the lower atrium where
you can press your nose up against the Lifelong Kindergarten Lab or even
step inside if you are nice to one of the lab staff that might be
inside. The Media Lab is also nearing completion of a new expansion out
back <http://www.media.mit.edu/about/building>
I'd offer up a peek into the offices of One Laptop per Child (and
Nicholas Negroponte's office), but I know they are swamped this weekend
with visiting students.
------------------------------------------------------------------------
dcmk1mr2:
While in Harvard Sq, check out the sign in one of the corner windows for
the law firm DEWEY, CHEETHAM & HOWE. They're the lawyers for NPR's Car
Talk.
------------------------------------------------------------------------
[Category:Hacker Travel](Category:Hacker_Travel "wikilink")

14
BusinessCards.md Executable file
View File

@ -0,0 +1,14 @@
We approved the purchase of business cards for the HacDC board and TimS
bought some LivingSocial/Groupon discounts for VistaPrint to print them.
Here are the Inkscape design files: ![Front](TMScard_SB.svg "Front") and
![Back](TMScard_Back_CC.svg "Back").
The coupons actually do help on the price but not as much as one might
think because larger percentage discounts are available without them.
Net cost was about \$17 for 250 glossy two-sided color cards or 500
matte cards.
The QR code was generated by <http://zxing.appspot.com/generator> which
I found gave a smaller payload than <http://www.qrstuff.com/>.
[Category:Marketing](Category:Marketing "wikilink")

276
Bylaws.md Executable file
View File

@ -0,0 +1,276 @@
By law, this is the core governing document of HacDC.
Amendments are handled as specified in Article VII: Amendments
These Bylaws were approved by the incorporators on May 17, 2008 after
consulting with prospective charter members.
## Article I: Why We Exist
### Section 1: General Purposes
Said corporation is organized exclusively for charitable, educational,
and scientific purposes within the meaning of Section 501(c)(3) of the
Internal Revenue Code, or the corresponding section of any future
federal tax code. The mission of the corporation is to improve the world
by creatively rethinking technology.
### Section 2: Specific Purposes
Subject to and within the limits of Section 1, the corporation shall:
- Build and maintain spaces suitable for technical and social
collaboration.
- Collaborate on all forms of technology, culture and craft in new and
interesting ways.
- Apply the results of its work to specific cultural, educational,
charitable and scientific causes.
- Freely share its research and discoveries, using what is learned to
teach others.
- Recruit and develop talented members dedicated to these purposes.
## Article II: Who We Are
### Section 1: Designation of Membership Class
HacDC has a single membership class with voting rights.
### Section 2: Voting Membership Class Qualifications
Any person who supports the purposes laid out in Article I of these
bylaws is qualified to become a member.
### Section 3: Voting Membership Class Election
The [standing rules](Standing_Rules "wikilink") shall specify procedures
for inducting new members. For purposes of these bylaws, all persons
listed as initial directors on the Articles of Incorporation shall be
considered the initial voting members.
### Section 4: Voting Membership Dues
The amount, payment period, due date and acceptable methods for
collection of dues shall be reviewed each year at the annual meeting,
and shall be specified in the [standing
rules](Standing_Rules "wikilink").
### Section 5: Voting Membership Rights and Responsibilities
Each voting member shall have an equal right to voice their opinion and
vote their preference or abstain from voting in the affairs of the
corporation. Each voting member shall exercise only one vote for each
decision before the corporation. Each voting member shall have
reasonable inspection rights of corporate records. Each voting member
shall be responsible for timely payment of dues, providing their current
address, contact information, and preference for electronic receipt of
communications. Each voting member is responsible for continuing to
support the purposes of the corporation.
### Section 6: Voting Membership Resignation and Termination
*The paragraph in italics below was accepted in [January
2017](Annual_Meeting_2017#Bylaws_Amendments "wikilink").*
Any voting member may resign by filing a resignation with any Minister.
Resignation shall not relieve a voting member of unpaid dues or other
monies owed. Voting membership shall be suspended for non-payment of
dues by the Treasurer after a period of three (3) months. Any suspended
voting member may restore their membership as shall be specified in the
[standing rules](Standing_Rules "wikilink"). Voting membership may also
be terminated for any reason by written petition signed by more than
three quarters (3/4ths) of the voting members.
*For substantial cause, the Board of Directors may indefinitely suspend
a member's access to the space by a 2/3 majority vote of the board. By
voting at an official meeting with quorum, members may reinstate or
suspend, access or membership, for any member whose access has been
suspended by the board. The board may suspend the access of no more than
two members per month via this procedure. Access to the space may not be
re-suspended by the Board of Directors for the same actions or
incidents. Explanation of such suspensions must be submitted
electronically to all members.*
## Article III: How we meet
### Section 1: Regular Meetings
Regular meetings of voting members shall be held as designated in the
[standing rules](Standing_Rules "wikilink").
### Section 2: Annual Meetings
An annual meeting of all members shall take place sometime in January,
February or March. The President shall select the date, time and place
no later than January 31 of each year. The date, time and place of the
annual meeting must be posted in the registered office and submitted to
members electronically at least two weeks prior to the annual meeting. A
petition signed by more than three quarters (3/4ths) of voting members
and submitted to the Board of Directors before Valentine's Day may
specify a new date, time and place for the annual meeting. At the annual
meeting, the voting members shall elect the Board of Directors, review
and vote on the [standing rules](Standing_Rules "wikilink") and policies
of the corporation, receive reports on the activities of the
corporation, approve the budget and determine the direction of the
corporation in the coming year.
### Section 3: Special Meetings
A petition presented to all voting members and approved by one half
(1/2) of voting members may call a special meeting. Such a petition must
include the date, time, place and agenda of the special meeting.
Notification of the result of the petition shall be presented to all
members prior to the meeting.
### Section 4: Quorum
At a duly called meeting, at least 25% (one quarter) of the entire
voting membership shall constitute a quorum.
This value was lowered from 50% by Bylaws Amendment 1: Revise Quorum.
### Section 5: Voting
When a quorum is present, all issues, except when otherwise specified in
these bylaws, shall be decided by affirmative vote of more than 50% (one
half) of the voting members present.
### Section 6: Conduct of Meetings
The conduct of all meetings shall follow the rules of order as specified
in the [standing rules](Standing_Rules "wikilink").
## Article IV: The Officers
### Section 1: Role, Number, Qualification, Term and Compensation
There shall be four officers, a President, a Vice President, a Secretary
and a Treasurer. Each officer must be a voting member and each officer
shall serve from the time of their election until their successor is
elected and qualifies. No officer may serve more than 3 consecutive
terms. No officer shall be compensated for their service as an officer,
though the corporation may provide insurance and indemnity for officers
as allowed by law.
### Section 2: Duties of the President
The President shall preside over all meetings or designate an alternate,
attempt to achieve consensus in all decision-making, ensure the
membership is informed of all relevant issues, and serve other duties of
a President as required by law or custom.
### Section 3: Duties of the Vice President
The Vice President shall be primarily responsible for the information
systems and communication processes of the corporation and serve all
other duties of a Vice President as required by law or custom, including
acting when the President is unable or unwilling to act.
### Section 4: [Duties of the Secretary](Duties_of_the_Secretary "wikilink")
The Secretary shall be responsible for maintaining membership and
corporate records and for serving all other duties of a Secretary as
required by law or custom.
### Section 5: Duties of the Treasurer
The Treasurer shall serve as custodian of corporate funds, collect dues,
present a financial report at each regular and annual meeting, assist in
the preparation of the budget, make financial information available to
members and the public, and serve all other duties of a Treasurer as
required by law or custom.
### Section 6: Duties of the Officers as whole to provide an Annual Report
The Officers must provide an annual report. The report shall chronicle
the activities of the corporation, including specific narratives on the
corporation's work, the corporation's annual financial statements,
relevant legal filings, and relevant copies of the organization's
district and federal tax returns.
### Section 7: Officers are Directors
The Officers shall also serve as bona-fide directors on the Board of
Directors. Election, resignation, removal and vacancies of the Officers
are handled in accordance with procedures laid out in Article V.
## Article V: The Board of Directors
### Section 1: Role, Size, Term and Compensation
The board of directors shall consist of the four Officers as defined in
Article IV and two at-large directors, all of whom are considered
directors for the purposes of this article. All directors must be voting
members of the corporation. Each director shall serve from the time of
their election until their successor is elected and qualifies. No member
may serve more than 3 consecutive terms on the board of directors. No
director may be compensated for their service as a board member, though
the corporation may provide insurance and indemnity for board members as
allowed by law.
### Section 2: Meetings
The Board of Directors shall meet when necessary, provided all voting
members receive notice sent electronically at least five business days
prior to the meeting. All voting members may attend a meeting of the
board of directors. The notice shall give the time, place, reason for
calling the meeting and the agenda for said meeting. Notices shall be
conspicuously posted at the registered office and electronically
distributed to all members at least five business days prior to a
meeting. Minutes shall follow the [standing
rules](Standing_Rules "wikilink") for meetings as approved at an annual
meeting. Minutes of each board meeting shall be conspicuously posted at
the registered office and electronically distributed to members within
48 hours. Minutes shall be considered approved when signed by all board
members in attendance.
### Section 3: Elections
Each member present shall be given an opportunity to be a candidate for
each officer position and each at-large director position on the board.
If there is more than one candidate for an officer position, the
candidate which obtains the highest number votes from voting members
present shall be elected. In the event of a tie, the election is decided
by coin flip. If there are no candidates for an officer position, the
outgoing officeholder may, if eligible, elect to serve another term. If
more than two members are candidates for at-large director, each voting
member present shall rank the candidates. The two candidates obtaining
the highest preferences from voting members present shall be elected.
### Section 4: Quorum
Two-thirds of board members at a duly called board member meeting shall
constitute a quorum.
### Section 5: Voting
All issues, except when otherwise specified in these bylaws, shall be
decided by affirmative vote of more than half of the directors present
at a duly held meeting.
### Section 6: Resignation, Termination and Vacancies
Any officer or director may resign by filing a written or electronic
resignation with the Secretary or two other board members. An officer or
at-large director may be terminated in their role by written petition
signed by more than two-thirds (2/3rds) of the voting membership.
Vacancies on the board shall be filled at the next regular meeting using
the applicable process outlined in Section 3.
## Article VI: Committees
On or before September 30, the members shall nominate and approve an
audit committee consisting of three voting members who are not members
of the board of directors and have not served as a director for 180 days
prior to appointment. The audit committee shall have full inspection
rights to the affairs and documentation of the corporation. No audit
committee shall be convened if the corporation has fewer than nine
voting members.
## Article VII: Amendments
These bylaws may be amended only when an amendment proposal petition is
approved at a membership meeting and signed by more than three quarters
(3/4ths) of voting members. Notice of such petition must be submitted
electronically to all members.
[Category:HacDC_Docs](Category:HacDC_Docs "wikilink")

View File

@ -0,0 +1,79 @@
## Summary
We have failed to achieve [quorum](quorum "wikilink") (50%) at all of
our meetings held since introducing the charter members. As
[quorum](quorum "wikilink") is necessary to pass member resolutions,
authorize budgets, etc. it is vital that we solve this problem so we go
back to having meetings with binding resolutions.
## Potential Solutions
- Amending the Bylaws to lower [quorum](quorum "wikilink") to 25%
- Pros:
- Simple: Lowering [quorum](quorum "wikilink") changes only one
rule, keeps all other scheduling, procedures, customs, etc. in
place.
- Keeps the space active, members know there is one time a week when
people will be at the space.
- Allows business to be handled weekly
- Encourages discussions to happen in an ongoing manner through the
wiki, mailing list, and other means.
- Cons:
- Those who show up to meetings more regularly tend to exercise more
influence over HacDC than those who can't make meetings regularly.
- Could lead to decisions being made by a determined minority of the
membership
<!-- -->
- Amending the Bylaws to allow for monthly, as opposed to weekly
meetings
- Pros:
- Relatively simple (changes another rule in the bylaws)
- Encourages larger gatherings of members
- Cons:
- Business could be postponed for several months if
[quorum](quorum "wikilink") fails to materialize
- Could still fail to get [quorum](quorum "wikilink")
- Leads to date confusion, rescheduling for member convenience, etc.
- Restricts handling business to a monthly schedule
- (Note: These were reasons given by other hacker spaces who changed
to monthly meetings then changed back.)
<!-- -->
- Amending the Bylaws to allow for a virtual meeting solution
- Pros:
- Allows members to participate from anywhere
- Allows business to be handled anytime
- Cons:
- Very high barriers in terms of functionality, usability, resource
drain, etc.
- Uses time/resources compared to other potential solutions
- Encourages "voting" as opposed to informed consensus building
- Discourages gatherings in "real space", one of the points of
HacDC.
## PROPOSAL
The following Amendment Proposal Petition is submitted for approval at
this meeting:
Amend Article III, Section 5 of the Bylaws of HacDC to read:
At a duly called meeting, at least 25% (one quarter) of the entire
voting membership shall constitute a [quorum](quorum "wikilink").
This proposal, in accordance with the bylaws, must be approved at a
membership meeting and signed by more than three quarters (3/4ths) of
voting members.
Once approved, written notice of such petition must be submitted
electronically to all members and delivered to all members of the
corporation physically in person or by registered mail to take effect.
## Status
The above proposal was passed.
[Category:HacDC_Docs](Category:HacDC_Docs "wikilink")

View File

@ -0,0 +1,23 @@
## PROPOSAL
The following Amendment Proposal Petition was submitted for approval at
the March 10, 2009 meeting:
Amend Article III, Section 1 of the Bylaws of HacDC to read:
Regular meetings of voting members shall be held every second Tuesday of
the month at 19:30 local time at the registered office. If the second
Tuesday is the day before, upon, or after a federal holiday the meeting
shall be postponed until the 3rd Tuesday of the month unless
specifically approved at the prior regular meeting or annual meeting.
Meetings shall not take place on the day of a closure declared by the
Office of Personnel Management. A different meeting place may be
designated by written petition signed by more than three quarters
(3/4ths) of voting members.
## Status
The above proposal was passed at the March 10, 2009 meeting and is now
subject to written approval by 3/4 of the membership.
[Category:HacDC_Docs](Category:HacDC_Docs "wikilink")

View File

@ -0,0 +1 @@
[Category:Obsolete](Category:Obsolete "wikilink")

View File

@ -0,0 +1,26 @@
Under Article III, Section 4 of the current [Bylaws](Bylaws "wikilink"):
At a duly called meeting, at least 25% (one quarter) of the entire
voting membership shall constitute a quorum.
This value was lowered from 50% by [Bylaws Amendment 1: Revise
Quorum](Bylaws_Amendment_1:_Revise_Quorum "wikilink").
We hereby propose that this section of the [Bylaws](Bylaws "wikilink")
be amended to read:
At a duly called meeting, at least 20% (one fifth) of the entire voting
membership shall constitute a quorum.
This value was lowered from 25% by [Bylaws Amendment 3: Revise Quorum
Again](Bylaws_Amendment_3:_Revise_Quorum_Again "wikilink").
## Status
The above proposal has not yet been approved at a membership meeting or
signed by more than three quarters (3/4ths) of voting members as needed
to take effect.
[Category:HacDC_Docs](Category:HacDC_Docs "wikilink")

View File

@ -0,0 +1,11 @@
PROPOSED BYLAWS AMENDMENT (not yet approved or adopted)
Change the threshold for future bylaws amendments from "more than three
quarters (3/4ths) of voting members," to "more than three quarters
(3/4ths) of member votes cast 90 days from the proposal approval date,"
and from "Notice of such petition must be submitted electronically to
all members," to "Notice of such a petition must be submitted to all
members electronically and, where electronic means produce no response,
all other available means."
<http://wiki.hacdc.org/index.php/Regular_Member_Meeting_2017_04_11>

9
Bylaws_Amendments.md Executable file
View File

@ -0,0 +1,9 @@
| Amendment | Summary | Vote | Signatures (3/4 of voting members) |
|-------------------------------------------------------------------------------------------|----------------------------------------------------------------|--------------------------------------------------------------------------------|------------------------------------|
| [Bylaws Amendment 1: Revise Quorum](Bylaws_Amendment_1:_Revise_Quorum "wikilink") | lower quorum from 50% to 25% for regular meetings | [approved 15 July 2008](Regular_Member_Meeting_Minutes_2008_07_15 "wikilink") | |
| [Bylaws Amendment 2: Meeting Frequency](Bylaws_Amendment_2:_Meeting_Frequency "wikilink") | make regular meetings the 2nd Tuesday of each month, nominally | [approved 10 March 2009](Regular_Member_Meeting_Minutes_2009_03_10 "wikilink") | |
| **FIXME:Bad link** [omnibus amendment](http://www.jerkpile.com/bylaws/) | | [approved 14 July 2009](http://hacdc.org/wiki/july-meeting-minutes) | |
[Bylaws](Bylaws "wikilink") amendments
[Category:HacDC_Docs](Category:HacDC_Docs "wikilink")

1
Byzantium.md Executable file
View File

@ -0,0 +1 @@
1. REDIRECT[:Category:Byzantium](:Category:Byzantium "wikilink")

10
ByzantiumContact.md Executable file
View File

@ -0,0 +1,10 @@
## HacDC Byzantium Team Contact Info
- IRC
- [IRC on freenode](irc://irc.freenode.net/#byzantium)
- [IRC Web
Chat](http://webchat.freenode.net/?channels=byzantium&uio=d4)
- [Bug Reports](https://github.com/byzantium/byzantium/issues)
- [Email the mailing list](mailto:byzantium@hacdc.org)
- [Subscribe to the Byzantium mailing
list](https://groups.google.com/a/hacdc.org/group/Byzantium/topics)

37
Byzantium_101.md Executable file
View File

@ -0,0 +1,37 @@
- Download a copy of [Porteus Linux](http://porteus.org).
- Install it to a USB key or virtual machine, depending on your
preference. Use the official Porteus instructions to do so.
- Set up an account at [Github](https://github.com) and start watching
[Project Byzantium](https://github.com/Byzantium/Byzantium).
- This will let you not only watch the project's activity from your
Github dashboard, but if you join the project you'll be able to
check code in.
- You'll also be able to open new tickets in the bug tracker, and
comment on existing ones.
- Check out a copy of the source code: **git clone
<git://github.com/Byzantium/Byzantium.git>**
- Now you'll have all of the code we've written.
- To update your local checkout, change to the Byzantium directory and
run the command **git pull**.
- If you just want to try the latest build of Byzantium, download [the
Byzantium
module](http://svn.virtadpt.net/byzantium/000-byzantium.xzm) and
copy it into the directory */porteus/modules/* on your USB key or in
your virtual machine after you've booted it. The module will be
automatically activated the next time it's booted.
- Note that 000-byzantium.xzm isn't updated as often as the source
code repository is, so it may not be up to date.
- Join the [mailing
list](http://groups.google.com/a/hacdc.org/group/Byzantium/?hl=en).
Note that you'll need a Gmail account of some kind.
- Once you're on the list, post an introduction! Tell us how you found
out about Byzantium and a little about what you would like to work
on.
- Pick something to work on!
- Pick a ticket in the [bug
tracker](http://svn.virtadpt.net/byzantium/000-byzantium.xzm) and
fix it. Tell us about it on the mailing list if you don't already
have commit access and post a patch (**git diff**) if not.
- Experiment with Byzantium. If you manage to break it somehow, open a
ticket in the bug tracker and tell us about it. Even better, post a
fix for it.

46
Byzantium_Action_Log.md Executable file
View File

@ -0,0 +1,46 @@
If you contribute to the Byzantium project in anyway (including
intellectually) please add a brief (if it's more than 280 characters
consider linking to a separate page) entry to this page or have someone
with edit access to this page in the following format. If there is an
objection to an entry it can always be removed so don't be afraid to
write something. If you don't want to be identified you can use the name
"Anonamoose" or anything else you want (but Anonymoose is the best
choice :P). Try to keep it in roughly chronological order if you can but
close is good enough ([haxwithaxe](User:haxwithaxe "wikilink") will
probably rewrite the page after running it through sort occasionally).
- YYYY/mm/dd - Name - description and links etc
## Log
### 2011
- 2011/09/30 - group - byzantium planning meeting: discussed use cases,
routing between meshes with nonmesh clients, prepared to finalize the
development (pre-pre-alpha) build of the live distro
- 2011/10/01 - haxwithaxe - made this page for people to record their
contributions
- 2011/10/01 - group - byzantium sprint day: TBD
- 2011/7/9 - drwho - Set up <http://svn.virtadpt.net/byzantium> for
Porteus modules
- Started coding web control panel for Byzantium
- Converted Slackware v13.37 packages into Porteus modules
- Converted Slackware packages from slackbuilds.org into Porteus
modules.
- Packaged web apps into Porteus modules.
- Tested package compilation using the scripts Ben and Chris wrote.
Noted the ones that worked, opened tickets in the [bug
tracker](https://github.com/Byzantium/Byzantium/issues) for the ones
that didn't, tried to include enough information to help figure out
what's going wrong in the package builder.
- 2022/11/13 - drwho - Figured out how to put together a fakeroot
directory structure that could then be used to build
000-byzantium.xzm. This is the core module of Byzantium Linux.
- Put together the 000-byzantium.xzm module for demonstration as an
alpha release.
- Debugged rc.setup_mysql initscript so that it sets up the necessary
application MySQL databases on an instance of Byzantium and locks it
down. It's also extensible enough to build new functionality on
later.
### 2012

50
Byzantium_Distributed_DNS.md Executable file
View File

@ -0,0 +1,50 @@
## Summary
The problem: <http://en.wikipedia.org/wiki/Zooko's_triangle>
## Suggested Reading
[CJDNS](https://github.com/cjdelisle/cjdns) - CJDNS == CJD's Network
Suite. it does not contain a ddns system yet. it currently uses plain
old DNS within the darknet. <s>True DNS (i.e., port 53/UDP) with a DHT.
I've played around with it a little and it seems to do what it says on
the tin.</s>
[Distributed Hash Table
(DHT)](http://en.wikipedia.org/wiki/Distributed_hash_table) - Wikipeda
page on DHTs. Has a decent overview of how they work.
[Bamboo DHT](http://www.bamboo-dht.org/) - A DHT implementation in Java.
[UpRight](http://code.google.com/p/upright/) - A library for building
fault-tolerant distributed systems. Incorporates innovations from modern
solutions to Byzantine fault tolerance.
[Gossip
Protocols](https://secure.wikimedia.org/wikipedia/en/wiki/Gossip_protocol):
Nodes in a network pseudorandomly select peers to exchange information
with. Could be useful for distributing the contents of a DHT-based DNS
implementation within a mesh network.
[Kademlia](https://secure.wikimedia.org/wikipedia/en/wiki/Kademlia) has
an interesting way of handling the entry distribution problem. When
inserting an entry, it iterates through the table to find suitable nodes
in the network to hold that entry and propagates it to them as well as
saving a copy locally.
[CoDoNS
paper](http://conferences.sigcomm.org/sigcomm/2004/papers/p292-ramasubramanian1111.pdf) -
A very good paper from 2004 on a distributed DNS alternative. It still
relies on centralized domain name registration. [CoDoNS main
page](http://www.cs.cornell.edu/people/egs/beehive/codons.php) - It
appears that CoDoNS is operational and running on PlanetLab.
Unfortunately, I don't see any code. I see no reason why we can't simply
hijack their design.
[Tutorial on DNS and
DNSSEC](http://www.surfnet.nl/Documents/DNSSSEC-web.pdf)
[Intentional Naming System](http://nms.lcs.mit.edu/projects/ins/) - "INS
is a new naming system intended for naming and discovering a variety of
resources in future networks of devices and services. It has the
following interesting characteristics about the way it names resources
and the way names are resolved."

49
Byzantium_InterMesh.md Executable file
View File

@ -0,0 +1,49 @@
The InterMesh is the network of meshes that is separate from the
internet either functionally (bandwidth/latency limitations) or fully
(completely disconnected).
## Services Needed
All these services need to be distributed throughout the InterMesh.
I think we should err on the side of "Secure by default". To make it
easy to grow the mesh we can't really set up encryption at OSI layers 1
and 2 (getting people to configure that in a hurry isn't going to work,
though we might have some luck if we did with [QR
codes](http://skattertech.com/2011/01/quick-tip-use-a-qr-code-to-share-wifi-passwords-with-android/)).
I think any services offered on the mesh should offer SSL/TLS by default
(we'll have to go with self-signed certs).
- captive portal
- to let people know about the services we are providing
- Webmail
- Something that works like
[privacybox.de](https://privacybox.de/index.en.html) would be ideal
in that it's got a short learning curve and a UI that's easy to use
from a smartphone or PDA.
- Twitter equivalent
- [status.net](http://status.net/)
- Common chat networks
- AIM compatible eqiv.
- Gtalk compatible equiv.
- Facebook chat compatible equiv.
- In short, IM-over-HTTPS.
- IRC
- [Mibbit](http://www.mibbit.com/) or something that works like it.
- [CryptoCat](https://crypto.cat/) I think we should get in touch
with the person running this project.
- Collaborative notes
- Mediawiki
- Etherpad
- File uploads
- Image dump ala [Plixi](http://plixi.com/).
- Streaming audio (low priority)
- Yes, I'd plug my police scanner into my computer and stream what I
pick up.
- Voice over IP
- Asterisk
- Configure a conference bridge that people with softphones can talk
on.
- We'll have to test what kind of latency we get with such a setup.
- Voicemail
- Microblog-to-speech using Festival?

304
Byzantium_Live_Distro.md Executable file
View File

@ -0,0 +1,304 @@
## Description
We are building a portable live Linux distribution based on [Porteus
Linux](http://porteus.org/). Porteus itself is a fork of Slax that has
been brought up to date with Slackware 13.37 and uses a 2.6.38.8 kernel.
Porteus can use binary packages from Slackware 13.37 after conversion to
Porteus' native format.
## Code Repositories
[Github page](https://github.com/Byzantium/Byzantium)
[Subversion repo for Porteus
packages](http://svn.virtadpt.net/byzantium/)
## Goals
- Make it possible for people in emergency situations to communicate and
collaborate.
- Make it possible for people in areas where the communications
infrastructure is compromised to communicate and collaborate.
- Provide services to support communication and collaboration.
- Will be secure out of the box.
- Best practices for isolating running services will be followed.
- Best practices for configuration web applications will be followed.
- Least privilege will be followed wherever possible.
- Will be extensively documented.
- A Creative Commons-licensed book will be made available with the
Byzantium distribution as well as separately
- Will explain the finer points of setting up a mesh, as well as
accompanying projects (such as dialup gateways and long-haul
transports).
- Will be translated into as many languages as possible.
- Widely compatible.
- Users need to be able to boot their desktop/laptop/netbook from
Byzantium media and set up a node.
- As little fiddling with network drivers as possible.
- Rapidly deployable.
- Users need to be able to configure their Byzantium node rapidly and
with little assistance.
- Emergency situations.
- Control panel aims to be as self-documenting as possible.
- Aims to protect confidentiality of traffic.
- Opportunistic IPsec?
- All services default to SSLv3/TLSv1.
- Aims to protect integrity of traffic.
- SSLv3/TLSv1.
- Meshes should grow without the direction of a central authority.
- Anyone can set up a mesh node.
- Anyone can set up services on the mesh.
- Services packaged by default can be managed (activated and
deactivated) from the control panel
- Services packaged by default will come preconfigured with secure
defaults and a mobile-friendly theme where appropriate.
- This is a calculated risk. The threat models of Tor and I2P take
this into account as well.
- Byzantium nodes need to be rapidly clonable.
- One copy of the live distribution needs to become many on demand.
- Nodes need to be clonable without taking the node down.
- Persistent storage has to be an option.
- Built into [Porteus](http://porteus.org).
- save.dat file
- removable media
- media Porteus is installed to
- Dependencies will be automatically managed by the control panel.
## Features
- Can support multiple mesh routing protocols.
- Modular configuration back end.
- Multiple pre-packaged, pre-configured web applications for
communication and collaboration.
- All services can be independently activated and deactivated.
- Aims for security by default.
- Services are not active unless explicitly triggered.
- Services are configured using best practices for security.
- Services support strong cryptography by default.
- Supports gatewaying from the mesh to the Net over a live connection.
- Supports persistent (encrypted) storage on demand (not default).
- Note: When creating a save.dat file under Porteus, if the drive it's
on is formatted FAT-32 or less, the file MUST be \<1024MB, else, the
/linuxrc script that forms the core of the distro will pretend that
it can't locate the file, regardless of where you put it. This drove
me bonkers for two months!
- If possible we should try to make save.dat a second partition on
the thumbdrive (ala casper-rw for ubuntu liveUSBs) there are some
big benefits to this:
- it makes it harder for windows users to see that there is a
second partition in case big brother decides to inspect the
contents of all thumbdrives.
- it means we won't have to worry about file size limits.
### ToDo
- ~~[Node Control Panel](Byzantium_Live_Distro_CP "wikilink")~~ - DONE!
- ~~[Captive Portal](Byzantium_Live_Distro_Captive_Portal "wikilink")~~
-DONE!
- [Provided Services
Announcement](Byzantium_Live_Distro_Service_Announce "wikilink")
- [Wiki](Byzantium_Live_Distro_Wiki "wikilink") - suspended notion
- ~~[Microblog](Byzantium_Live_Distro_Microblog "wikilink")~~ - DONE!
- [File dump/Twitpic
work-alike](Byzantium_Live_Distro_FileDump "wikilink")
- [Voice chat/telephony server](Byzantium_Live_Distro_Tel "wikilink")
- ~~[Clientless web chat](Byzantium_Live_Distro_Chat "wikilink")~~ -
DONE!
- ~~[Blog](Byzantium_Live_Distro_Microblog "wikilink")~~ - see Microblog
- ~~[EtherPad-like thing](Byzantium_Live_Distro_EPad "wikilink")~~ -
DONE!
- [Streaming media
server](Byzantium_Live_Distro_StreamingMediaSrv "wikilink")
- [HTTP caching proxy](Byzantium_Live_Distro_WebProxy "wikilink")
- [Tor](https://www.torproject.org/)
- [IPset](IPset "wikilink")
Pick a web server to host applications:
- Converted the Apache, apr\*, and PHP packages of Slackware v13.37 into
Porteus modules. They Just Worked(tm).
~~We need to figure out how to properly install the control panel app on
a new system. The process should be as pythonic as possible.~~
We need to figure out how to bundle the already configured and populated
MySQL databases for the web apps!
- Packaging them into a module and activating it didn't work.
- ~~Write a script that detects the presence or absence of
/var/lib/db/\*/ and restores them from .sql dumps at boot-time.~~
[The Doctor's to-do list](The_Doctor's_to-do_list "wikilink")
## Packages built for Byzantium
- babeld - For great mesh routing.
- batman-adv - Kernel module which implements mesh routing at OSI
layer 2. We may not use it but it's there if we need it.
- batctl - Utility for configurating and manipulating batman-adv.
- Dependency of batman-adv.
- olsrd - from olsr.org
- ahcpd - For configuring mesh nodes that don't want to use the random
RFC-1918 IP address generator.
- CherryPy - Python module that implements a fast multi-threaded HTTP
(web application) server.
- Without this, there is no control panel.
- pySetupTools - Required for installing some Python modules.
- Mako - Python HTML templating system.
- Dependency of the control panel.
- MarkupSafe - Python library that implements a Unicode string that is
aware of HTML escaping rules and does automatic string escaping.
- Dependency of Mako.
- Git - Converted Slackware v13.37 package.
- Necessary for checking code out and into Github.
- Curl - Converted Slackware v13.37 package.
- Dependency of git.
- Note: To make git work without "error setting certificate verify
locations" errors, you need to run the following command as the root
user: git config --system http.sslcainfo
/usr/share/curl/ca-bundle.crt
- rrdtool - Used by traffic_stats.sh to monitor network traffic and
build graphs.
- sqlitebrowser - Used to develop SQLite database schemas and debug
database access code. Will not be in OS release.
- ~~nginx - Lightweight, fast HTTP(S) server. Much more lightweight than
Apache, at any rate. Custom build for Byzantium.~~
- Enough!
- gd - Dependency of PHP.
- Used for server side image manipulation.
- libmcrypt - Dependency of PHP.
- icu4c - International Components for Unicode. i18n dependency of PHP.
- openldap-client - Dependency of PHP to make it compile. Not pleased by
having to package it, but it won't build without it.
- Can we get away with not having it because I didn't have to compile
it for Apache? Let's try it!
- php - Converted Slackware v13.37 package.
- httpd - Apache v2.2.17. Converted Slackware v13.37 package.
- ..and then stuff started working!
- apr-util - Converted Slackware v13.37 package.
- Utility used for compiling Apache modules.
- apr - Converted Slackware v13.37 package.
- Package used for compiling Apache modules.
- t1lib - Converted Slackware v13.37 package. Used for font
manipulation.
- pcre - Converted Slackware v13.37 package.
- Perl Compatible Regular Expression library.
- Unicode aware for i18n support. status.net requires this for basic
functionality, whcih means that we get i18n for free.
- ~~Firefox v6.0.2~~
- Do not use! i_can_haz_firefox.sh builds a package with bad symlinks.
Haven't bothered to fix it so far.
- node - An event-driven I/O server-side JavaScript environment based on
V8. (from website and wikipedia).
- Required by Etherpad-lite.
- dnsmasq - All-in-one DHCP and caching DNS server.
- Much easier to work with in circumstances like this than ISC BIND or
even djbdns.
- ipcalc - Command-line IP networking calculator. Will be needed by the
control panel shortly.
- Removed the CGI-BIN script from the package when it was built.
- ngircd - Lightweight IRC server.
- Back-end for web chat application.
- Somehow we need to figure out a way to make them automagically hook
together into an IRC network. But that can wait.
- zope.interface - Required by Twisted.
- Twisted - Required by qwebirc.
- Satisfies the clientless web chat requirement.
## Links
Place links relevant to any part of the process of making the live
distro here.
[Porteus Official Website](http://porteus.org/)
[Processes for building Porteus
packages.](Processes_for_building_Porteus_packages. "wikilink")
[Process for manually installing
Byzantium.](Process_for_manually_installing_Byzantium. "wikilink")
[Byzantium 101](Byzantium_101 "wikilink") - How to get yourself set up.
[Hardware compatibility list](Hardware_compatibility_list "wikilink")
[User Feedback on Byzantium
0.1a](User_Feedback_on_Byzantium_0.1a "wikilink")
[Handy generic git notes](Git_Notes "wikilink")
## Timeline
- .....uhh....
- 20 October 2011 - Live demo, presentation, and networking at
[ContactCon](http://contactcon.com/).
- 12 May 2012 @ 1400 EST5EDT: Project Byzantium presentation at
[CarolinaCon](http://carolinacon.org/).
- 13-15 July 2012 @ TBA: Project Byzantium presentation at [HOPE Number
Nine](http://www.hopenumbernine.net/).
## Stuff
~~Need to edit /etc/hosts, add 'byzantium' to 127.0.0.1 so that the web
server will start up.~~
[Mobile devices and IPv6.](Mobile_devices_and_IPv6. "wikilink")
~~[DNSmasq](http://thekelleys.org.uk/dnsmasq/doc.html)~~
- ~~One nice thing about DNSmasq is the -H option, for additional
/etc/hosts-like files. We could use those to cache the IP addresses of
other Byzantium nodes, and then query them for the services they
run.~~
- Hostnames are IPv6 addresses of nodes.
- ifconfig wlan0 \| grep inet6 \| awk '{print \$3}' \| sed 's/:/-/g'
\| sed 's/\\64\$//' \| sed 's/\$/.byzantium.mesh/' ==
fe80--21c-bfff-fe35-84c2.byzantium.mesh
- ~~Put IP addresses and hostnames in /etc/hosts.mesh.~~
- This could also be used for status.net federation and IRC network
construction.
- ~~Move the **server=/byzantium.mesh/...** line into the generated
DNSmasq include file?~~
- ~~Make the '...' the mesh interface's IP address?~~
<!-- -->
- ~~Consulted with an expert about IP addressing. At first scratch, it
might be a good idea to stick wtih pseudo-randomly chosen 10/8's.
Configure the mesh interface for the .1 and give the clients .2-.254.
I'll re-work the control panel to do that.~~
Need to account for [APIPA](http://www.webopedia.com/TERM/A/APIPA.html)
addressing in the initial set of routes.
- ~~Added for the purpose of making networkconfiguration.py [detect
whether or not the proposed IP address for the mesh interface is in
use](http://www.cyberciti.biz/faq/linux-duplicate-address-detection-with-arping/).~~
- Byzantium does this now. It works like a champ.
List of public DNSes that we may wish to fall back upon in the event a
node is made into a gateway:
- [Google Public DNS](https://code.google.com/speed/public-dns/)
- [Public DNS servers](http://www.tech-faq.com/public-dns-servers.html)
- [OpenDNS](https://www.opendns.com/)
[Packaging NPM.](Packaging_NPM. "wikilink")
[Finding neighboring mesh
nodes](Finding_neighboring_mesh_nodes "wikilink")
[Fully distributed services](Fully_distributed_services "wikilink")
## Stuff to consider for later
- Consider adding [Iodine](http://code.kryo.se/iodine/) to Byzantium to
help tunnel gatewayed traffic onto the Net.
- Gateway nodes in hostile areas could use Iodine to tunnel traffic
out.
- Gateway nodes in non-hostile areas could accept Iodine connections
to help less fortunate nodes evade censorship.
- Consider adding (http\|proxy)tunnel with simplified usage of some kind
to allow encapsulating arbitrary data streams in http streams.
- Firewall evasion aids that will work well even in established internet
censorship systems?

17
Byzantium_Live_Distro_CP.md Executable file
View File

@ -0,0 +1,17 @@
## Description
[Browse source
code](https://github.com/Sitwon/Byzantium/tree/master/control_panel).
## Features
## ToDo
- Modify startup code to:
- Read configuration databases
- Test each existing entry against the current hardware configuration
- If they match, start it up using the stored settings
- If they don't, delete that stored setting
- Start up system services that are configured and active.
- Modify the /index.html template to not show a sitrep but the current
configuration from the databases

View File

@ -0,0 +1,17 @@
## Description
Catch the first DNS request from a node or client and redirect them to a
page which will inform them of Byzantium's capabilities or lack thereof.
## Suggestions
- dnsmasq+custom scripts
- Have DNSmasq running, config file generated by control panel.
- Basic DNS hijacking possible (right now, intercepts www.google.com
and encrypted.google.com)
- When the captive portal is working we won't need to do this.
- [WiFiDoc](http://dev.wifidog.org/)
- [NoCatSplash](http://nocat.net/)
- [Captive::Portal](http://search.cpan.org/~gaissmai/Captive-Portal/)
- [Captive::Portal notes](Captive::Portal_notes "wikilink")
- [Dependencies](Dependencies "wikilink")

14
Byzantium_Live_Distro_Chat.md Executable file
View File

@ -0,0 +1,14 @@
## Options
[crypto.cat](https://crypto.cat) - requires a preshared key for
encrypted sessions but is otherwise robust out of the box [akiscode
p2pchat](http://akiscode.com/projects/p2pchat/) - needs work but could
be made into a webchat and is written in python.
## Ideal Chat Client
- has the ability to do asymetric encryption
- has the ability to work without a server (maybe unrealistic but it
would be nice)
- if servers are required they can federate with other servers
- is easy to for end users to use

3
Byzantium_Live_Distro_EPad.md Executable file
View File

@ -0,0 +1,3 @@
## Suggestions
- etherpad-lite

Some files were not shown because too many files have changed in this diff Show More