http://wiki.freegeek.org/api.php?action=feedcontributions&user=Ryan52&feedformat=atomFreekiWiki - User contributions [en]2024-03-28T13:58:25ZUser contributionsMediaWiki 1.35.1http://wiki.freegeek.org/index.php?title=Removing_components_from_systems_en_Espa%C3%B1ol&diff=70704Removing components from systems en Español2014-07-07T07:02:28Z<p>Ryan52: </p>
<hr />
<div>__NOTOC__<br />
== ORANGE CHART ==<br />
<div style="border: 10px solid ORANGE; padding: .5em 1em; color: #000; margin: 3px 3px 0;"><br />
<br />
<graphviz><br />
digraph D {<br />
node [fontname="Helvetica", fontsize="11"]<br />
edge [fontname="Helvetica"]<br />
<br />
start [label="START HERE",<br />
label="INICIAR AQUI", <br />
shape="box", style="bold", color="orange"]<br />
<br />
what_class [label="What class is it?\n(Red Light,\nYellow Light,\nor Green Light?)",<br />
label="¿Qué clase es esto?\n(Red Light,\nYellow Light,\nor Green Light?)"]<br />
<br />
check_also_pull [label="Check the\nWHITE BOARD\nfor ALSO PULL instructions",<br />
label="Revise en el\nPIZARRON BLANCO\npor si hay instrucciones\n especiales de DESMONTAJE",<br />
shape="box"]<br />
<br />
remove_known_goods [label="If you put any RAM,\n cards or a power supply\n in the system, return it",<br />
label="Si ponga cualquier RAM,\n tarjetas, o una fuente de poder\n en el sistema, devuelvelo",<br />
shape="box"]<br />
<br />
wantcase [label="Do we want the\nCASE?\nSee the BLACK CHART", <br />
label="¿Queremos nosotros el\nGABINETE?\nVer en el DIAGRAMA NEGRO", <br />
color="black", shape="square", style="bold", URL="/index.php/Case_Triage"]<br />
<br />
process_hds [label="Remove ALL\nHARD DRIVES\nand put them in\nthe PLASTIC GREEN TRAY", <br />
label="Remueva TODOS\nLOS DISCOS DUROS\ny ponerlos en\nla CAJA VERDE DE PLASTICO",<br />
shape="box", style="bold", fontsize= "12"]<br />
<br />
process_case1 [label="Remove the power supply", <br />
label="Remueva la fuente de poder.",<br />
shape="box"]<br />
process_case2 [label="Remove the motherboard\nand I/O shield from the case", <br />
label="Remueva la tarjeta madre\ny el protector I/O del gabinete",<br />
shape="box"]<br />
process_case3 [label="Remove all optical drives\n(CD and DVD drives)", <br />
label="Remueva todas las unidades de disco\n(unidades de CD y DVD )",<br />
shape="box"]<br />
process_case4 [label="Do not remove anything else", <br />
label="Usted no necesita remover nada más",<br />
shape="box"]<br />
process_case5 [label="Replace all case screws", <br />
label="Reemplaze todos los tornillos del gabinete",<br />
shape="box"]<br />
process_case6 [label="Take the case to the Thrift Store", <br />
label="Tome el gabinete y llévelo a la TIENDA DE FREE GEEK",<br />
shape="box"]<br />
<br />
process_mobo1 [label="Remove any cards", <br />
label="Remueva todas las tarjetas",<br />
shape="box"]<br />
process_mobo2 [label="Remove the motherboard from the case", <br />
label="Remueva la tarjeta madre del gabinete",<br />
shape="box"]<br />
process_mobo3 [label="Remove the I/O shield\nand twist-tie it to the motherboard", <br />
label="Remueva el protector I/O \ny amarrelo a la tarjeta madre",<br />
shape="box"]<br />
process_mobo4 [label="Take the motherboard to\nAdvanced Testing", <br />
label="Tome la tarjeta madre y llévela a\nAdvanced Testing.",<br />
shape="box"]<br />
<br />
good_mobo [label="Does the motherboard\nhave SATA ports?",<br />
label="¿Tiene la tarjeta madre\nSATA ports?"]<br />
<br />
put_on_label [label="Put the label on the front of the system\nif there isn't already one there.", <br />
label="Ponga una etiqueta en frente del sistema\nsi ya tiene una no ponga otra.",<br />
shape="box"]<br />
<br />
check_hd [label="Check again for hard drives", <br />
label="Chequea otra vez por discos duros",<br />
shape="box"]<br />
<br />
safe_system [label="Make sure system is put back together safely", <br />
label="Vuelva a juntar el sistema seguramente",<br />
shape="box"]<br />
<br />
put_on_cart [label="Put the system on the cart\nwith label facing out", <br />
label="Ponga el sistema en el carro\ncon su etiqueta hacia el frente",<br />
shape="box", style="bold"]<br />
<br />
process_yellow1 [label="Follow\nYELLOW LIGHT INSTRUCTIONS", <br />
label="Seguir las\nYELLOW LIGHT INSTRUCTIONS ",<br />
shape="box", color="yellow", style="bold", URL="/index.php/Yellow_Light_Instructions"]<br />
<br />
process_green1 [label="Remove all\nRAM\n(memory)", <br />
label="Remover toda la\nmemoria\n(RAM)",<br />
shape="box"]<br />
process_green2 [label="Remove all\nCARDS\n(except half height cards)", <br />
label="Remover todas las\nTARJETAS\n(excepto las tarjetas\nde medio tamaño)",<br />
shape="box"]<br />
<br />
start -> process_hds<br />
<br />
process_hds -> what_class<br />
<br />
good_mobo -> process_mobo1 [label="YES", label="SÍ"]<br />
good_mobo -> process_yellow1 [taillabel="NO"]<br />
<br />
what_class -> check_also_pull [label="RED\nLIGHT", color="red", style="bold"]<br />
check_also_pull -> remove_known_goods [color="red", style="bold"]<br />
<br />
remove_known_goods -> check_hd [color="red", style="bold"]<br />
<br />
what_class -> process_green1 [label="GREEN\nLIGHT", color="green", style="bold"]<br />
process_green1 -> process_green2 -> check_hd [color="green", style="bold"]<br />
<br />
what_class -> wantcase [label="YELLOW\nLIGHT"]<br />
<br />
wantcase -> process_case1 [label="YES", label="SÍ"]<br />
process_case1 -> process_case2 -> process_case3 -> process_case4 -> process_case5 -> process_case6 -> good_mobo<br />
<br />
wantcase -> good_mobo [taillabel="NO"]<br />
<br />
process_mobo1 -> process_mobo2 -> process_mobo3 -> process_mobo4 -> process_yellow1<br />
<br />
process_yellow1 -> check_hd<br />
<br />
check_hd -> put_on_label<br />
<br />
put_on_label -> safe_system<br />
<br />
safe_system -> put_on_cart<br />
<br />
}<br />
<br />
</graphviz><br />
<br />
</div><br />
<br />
== Notas ==<br />
'''No remueva nada al menos que el instructor (o el pizarrón blanco) así lo indique. Esto incluye los cables ribbon.'''<br />
<br />
* Cuando remueva tarjetas de sonido, deje los cables de sonido juntos con las tarjetas (Nota: No los de las unidades de CD o TARJETA MADRE). <br />
* No remueva los risers. (Estos están diseñados para venir con la tarjeta madre y no son genéricos.)<br />
*Cuando remueva cualquier tipo de unidad, los rieles y broches deben de permanecer con el sistema.<br />
<br />
; Tamaño de tarjeta half-height (Revise el ejemplo en el mural)<br />
: Algunas tarjetas PCI o AGP podrían venir con una placa que es solo la mitad del alto de las tarjetas normales. Estas son tarjetas "half height" y necesitan permanecer en el sistema.<br />
: Esto se refiere al tamaño del "stem" de la tarjeta, no a la tarjeta en si misma.<br />
<br />
* '''Cuando remueva las tarjetas, deje los cables de la tarjeta con ella'''<br />
* ''No remueva risers. (Estos están diseñados para hacer juego con el gabinete y no son genéricos.)''<br />
* ''No remueva una "tarjeta" que no esté en un slot estándar (Por ejemplo: AGP, PCI, PCI-E). (No consideramos esas como tarjetas, y es mejor que permanezcan con una tarjeta madre.)''<br />
<br />
English Version: [[Removing_components_from_systems]]<br />
<br />
Vercion Español: [[Removing_components_from_systems_en_Español]]<br />
<br />
[[Category:System Evaluation]]</div>Ryan52http://wiki.freegeek.org/index.php?title=File:Blue_Chart_digraph_D.png&diff=70703File:Blue Chart digraph D.png2014-07-07T06:57:03Z<p>Ryan52: generated by the GraphViz extension from the Blue Chart page</p>
<hr />
<div>= ImageMap =<br />
When including this image in a wiki page, use the following mark-up to enable links:<br />
<nowiki><br />
<imagemap><br />
File:Blue_Chart_digraph_D.png<br />
rect 353 1419 492 1469 [/index.php?title=Diagrama Principal Regrese al\ndiagrama principal]</imagemap><br />
</nowiki><br />
See [https://www.mediawiki.org/wiki/Extension:ImageMap ImageMap] for more information.</div>Ryan52http://wiki.freegeek.org/index.php?title=File:Removing_components_from_systems_digraph_D.png&diff=70702File:Removing components from systems digraph D.png2014-07-07T06:55:06Z<p>Ryan52: generated by the GraphViz extension from the Removing components from systems page</p>
<hr />
<div>= ImageMap =<br />
When including this image in a wiki page, use the following mark-up to enable links:<br />
<nowiki><br />
<imagemap><br />
File:Removing_components_from_systems_digraph_D.png<br />
rect 236 477 417 659 [/index.php/Case_Triage Do we want the\nCASE?\nSee the BLACK CHART]<br />
rect 209 2040 455 2091 [/index.php/Yellow_Light_Instructions Follow\nYELLOW LIGHT INSTRUCTIONS]</imagemap><br />
</nowiki><br />
See [https://www.mediawiki.org/wiki/Extension:ImageMap ImageMap] for more information.</div>Ryan52http://wiki.freegeek.org/index.php?title=Removing_components_from_systems&diff=70701Removing components from systems2014-07-07T06:55:04Z<p>Ryan52: testing change?</p>
<hr />
<div>{{migrated}}<br />
[https://docs.google.com/document/d/14OJLl1EM_oa0NU00VVakWfHMfoU3mU8UgarhNr7WdE0/edit?usp=sharing link]<br />
<br />
<br />
__NOTOC__<br />
== ORANGE CHART ==<br />
<div style="border: 10px solid ORANGE; padding: .5em 1em; color: #000; margin: 3px 3px 0;"><br />
<graphviz><br />
digraph D {<br />
node [fontname="Helvetica", fontsize="11"]<br />
edge [fontname="Helvetica"]<br />
<br />
start [label="START HERE",<br />
label_es="INICIAR AQUI", <br />
shape="box", style="bold", color="orange"]<br />
<br />
what_class [label="What class is it?\n(Red Light,\nYellow Light,\nor Green Light?)",<br />
label_es="¿Qué clase es esto?\n(Red Light,\nYellow Light,\nor Green Light?)"]<br />
<br />
check_also_pull [label="Check the\nWHITE BOARD\nfor ALSO PULL instructions",<br />
label_es="Revise en el\nPIZARRON BLANCO\npor si hay instrucciones\n especiales de DESMONTAJE",<br />
shape="box"]<br />
<br />
remove_known_goods [label="If you put any RAM,\n cards or a power supply\n in the system, return it",<br />
label_es="Si ponga cualquier RAM,\n tarjetas, o una fuente de poder\n en el sistema, devuelvelo",<br />
shape="box"]<br />
<br />
wantcase [label="Do we want the\nCASE?\nSee the BLACK CHART", <br />
label_es="¿Queremos nosotros el\nGABINETE?\nVer en el DIAGRAMA NEGRO", <br />
color="black", shape="square", style="bold", URL="/index.php/Case_Triage"]<br />
<br />
process_hds [label="Remove ALL\nHARD DRIVES\nand put them in\nthe PLASTIC GREEN TRAY", <br />
label_es="Remueva TODOS\nLOS DISCOS DUROS\ny ponerlos en\nla CAJA VERDE DE PLASTICO",<br />
shape="box", style="bold", fontsize= "12"]<br />
<br />
process_case1 [label="Remove the power supply", <br />
label_es="Remueva la fuente de poder.",<br />
shape="box"]<br />
process_case2 [label="Remove the motherboard\nand I/O shield from the case", <br />
label_es="Remueva la tarjeta madre\ny el protector I/O del gabinete",<br />
shape="box"]<br />
process_case3 [label="Remove all optical drives\n(CD and DVD drives)", <br />
label_es="Remueva todas las unidades de disco\n(unidades de CD y DVD )",<br />
shape="box"]<br />
process_case4 [label="Do not remove anything else", <br />
label_es="Usted no necesita remover nada más",<br />
shape="box"]<br />
process_case5 [label="Replace all case screws", <br />
label_es="Reemplaze todos los tornillos del gabinete",<br />
shape="box"]<br />
process_case6 [label="Take the case to the Thrift Store", <br />
label_es="Tome el gabinete y llévelo a la TIENDA DE FREE GEEK",<br />
shape="box"]<br />
<br />
process_mobo1 [label="Remove any cards", <br />
label_es="Remueva todas las tarjetas",<br />
shape="box"]<br />
process_mobo2 [label="Remove the motherboard from the case", <br />
label_es="Remueva la tarjeta madre del gabinete",<br />
shape="box"]<br />
process_mobo3 [label="Remove the I/O shield\nand twist-tie it to the motherboard", <br />
label_es="Remueva el protector I/O \ny amarrelo a la tarjeta madre",<br />
shape="box"]<br />
process_mobo4 [label="Take the motherboard to\nAdvanced Testing", <br />
label_es="Tome la tarjeta madre y llévela a\nAdvanced Testing.",<br />
shape="box"]<br />
<br />
good_mobo [label="Does the motherboard\nhave SATA ports?",<br />
label_es="¿Tiene la tarjeta madre\nSATA ports?"]<br />
<br />
put_on_label [label="Put the label on the front of the system\nif there isn't already one there.", <br />
label_es="Ponga una etiqueta en frente del sistema\nsi ya tiene una no ponga otra.",<br />
shape="box"]<br />
<br />
check_hd [label="Check again for hard drives", <br />
label_es="Chequea otra vez por discos duros",<br />
shape="box"]<br />
<br />
safe_system [label="Make sure system is put back together safely", <br />
label_es="Vuelva a juntar el sistema seguramente",<br />
shape="box"]<br />
check_with_instructor [label="Check with an instructor",<br />
label_es="Consulte con un instructor",<br />
shape="box"]<br />
put_on_cart [label="Put the system on the cart\nwith label facing out", <br />
label_es="Ponga el sistema en el carro\ncon su etiqueta hacia el frente",<br />
shape="box", style="bold"]<br />
<br />
process_yellow1 [label="Follow\nYELLOW LIGHT INSTRUCTIONS", <br />
label_es="Seguir las\nYELLOW LIGHT INSTRUCTIONS ",<br />
shape="box", color="yellow", style="bold", URL="/index.php/Yellow_Light_Instructions"]<br />
<br />
process_green1 [label="Remove all\nRAM\n(memory)", <br />
label_es="Remover toda la\nmemoria\n(RAM)",<br />
shape="box"]<br />
process_green2 [label="Remove all\nCARDS\n(except half height cards)", <br />
label_es="Remover todas las\nTARJETAS\n(excepto las tarjetas\nde medio tamaño)",<br />
shape="box"]<br />
process_green3 [label="Leave all rails, brackets,\nand drive sleds in the case"<br />
shape="box"]<br />
<br />
<br />
start -> process_hds<br />
<br />
process_hds -> what_class<br />
<br />
good_mobo -> process_mobo1 [label="YES", label_es="SÍ"]<br />
good_mobo -> process_yellow1 [taillabel="NO"]<br />
<br />
what_class -> check_also_pull [label="RED\nLIGHT", color="red", style="bold"]<br />
check_also_pull -> remove_known_goods [color="red", style="bold"]<br />
<br />
remove_known_goods -> check_hd [color="red", style="bold"]<br />
<br />
what_class -> process_green1 [label="GREEN\nLIGHT", color="green", style="bold"]<br />
process_green1 -> process_green2 -> process_green3 -> check_hd [color="green", style="bold"]<br />
<br />
what_class -> wantcase [label="YELLOW\nLIGHT"]<br />
<br />
wantcase -> process_case1 [label="YES", label_es="SÍ"]<br />
process_case1 -> process_case2 -> process_case3 -> process_case4 -> process_case5 -> process_case6 -> good_mobo<br />
<br />
wantcase -> good_mobo [taillabel="NO"]<br />
<br />
process_mobo1 -> process_mobo2 -> process_mobo3 -> process_mobo4 -> process_yellow1<br />
<br />
process_yellow1 -> check_hd<br />
<br />
check_hd -> put_on_label<br />
<br />
put_on_label -> safe_system<br />
<br />
safe_system -> check_with_instructor<br />
<br />
check_with_instructor -> put_on_cart<br />
<br />
}<br />
<br />
</graphviz><br />
<br />
</div><br />
<br />
== Notes ==<br />
'''Do not pull anything unless these instructions (or the whiteboard) say to pull it. This includes ribbon cables.'''<br />
<br />
* When pulling sound cards, leave sound cables attached to card (not CD Drive or motherboard)<br />
* Do not pull risers. (They are designed to go with the motherboard they came with and are not generic.)<br />
* When pulling any kind of drive, rails and brackets should stay with the system.<br />
<br />
; Half-height sized cards<br />
: A few PCI or AGP cards will have a back plate that is only half as tall as normal cards. These are "half height" cards and need to be left in green light systems.<br />
: This refers to the size of the "stem" of the card, not the card itself.<br />
<br />
* '''When pulling cards, leave cables attached to card'''<br />
* ''Do not pull risers. (They are designed to go with the case they came with and are not generic.)''<br />
* ''Do not pull a "card" that does not go into an industry standard slot. (We do not consider these to be cards, and they need to stay with their motherboards.)''<br />
<br />
English Version: [[Removing_components_from_systems]]<br />
<br />
Vercion Español: [[Removing_components_from_systems_en_Español]]<br />
[[Category:System Evaluation]]</div>Ryan52http://wiki.freegeek.org/index.php?title=File:Removing_components_from_systems_en_Espa_ol_digraph_D.png&diff=70700File:Removing components from systems en Espa ol digraph D.png2014-07-07T06:53:49Z<p>Ryan52: generated by the GraphViz extension from the Removing components from systems en Español page</p>
<hr />
<div>= ImageMap =<br />
When including this image in a wiki page, use the following mark-up to enable links:<br />
<nowiki><br />
<imagemap><br />
File:Removing_components_from_systems_en_Espa__ol_digraph_D.png<br />
rect 337 477 559 699 [/index.php/Case_Triage ¿Queremos nosotros el\nGABINETE?\nVer en el DIAGRAMA NEGRO]<br />
rect 307 2120 557 2171 [/index.php/Yellow_Light_Instructions Seguir las\nYELLOW LIGHT INSTRUCTIONS ]</imagemap><br />
</nowiki><br />
See [https://www.mediawiki.org/wiki/Extension:ImageMap ImageMap] for more information.</div>Ryan52http://wiki.freegeek.org/index.php?title=File:RAM_Sorting_digraph_D.png&diff=70699File:RAM Sorting digraph D.png2014-07-07T06:47:26Z<p>Ryan52: generated by the GraphViz extension from the RAM Sorting page</p>
<hr />
<div></div>Ryan52http://wiki.freegeek.org/index.php?title=File:Power_Supply_Triage_digraph_POWERSUPPLYTRIAGE.png&diff=70698File:Power Supply Triage digraph POWERSUPPLYTRIAGE.png2014-07-07T06:45:56Z<p>Ryan52: generated by the GraphViz extension from the Power Supply Triage page</p>
<hr />
<div></div>Ryan52http://wiki.freegeek.org/index.php?title=Power_Supply_Triage&diff=70697Power Supply Triage2014-07-07T06:45:11Z<p>Ryan52: testing graphviz</p>
<hr />
<div>{{migrate}}<br />
__NOTOC__<br />
Power supply sorting is done in [[System Evaluation]].<br />
<br />
== Triage Chart ==<br />
<br />
<graphviz><br />
<br />
digraph POWERSUPPLYTRIAGE {<br />
node [fontname="Helvetica", fontsize="11"]<br />
edge [fontname="Helvetica"] <br />
<br />
start [label="START HERE", shape="box", style="bold"]<br />
type [label="What type is it?\nATX,\nHot Swappable,\nor Other?"]<br />
twentyfourpin [label="Is it 24 PIN capable?\n(test all 24 pin-see note below)"]<br />
sata [label="Does it have a\nSATA power connector?"]<br />
shape [label="Is it the same shape and size\n as the power supply marked 'EXAMPLE'?\nLittle metal rails don't count as different;\nexternal fans do."]<br />
highpower [label="Does it say '350W' or greater on its label?"]<br />
dell [label="Does it say 'DELL' on its label?"]<br />
gooddell [label="Does it have\na GREEN WIRE?"]<br />
broken [label="Is it broken?\nDoes it have clipped cords or an open case?\nDid somebody write 'BAD' on it?\nAre there scorched connectors?"]<br />
test [label="TEST IT\nDoes it work?"]<br />
keep [label="KEEP" shape="box", style="bold"]<br />
recycle [label="RECYCLE" shape="box", style="bold"] <br />
servers [label="Take to\nSERVER LAND" shape="box", style="bold"] <br />
ask [label="ASK\nwhere it goes" shape="box", style="bold"] <br />
<br />
start -> type<br />
type -> twentyfourpin [label="ATX"]<br />
type -> servers [label="Hot\nSwappable"]<br />
type -> ask [label="Others"]<br />
<br />
twentyfourpin -> sata [taillabel="NO"]<br />
twentyfourpin -> test [label="YES"]<br />
<br />
sata -> highpower [taillabel="NO"]<br />
sata -> test [label="YES"]<br />
<br />
highpower -> recycle [taillabel="NO"]<br />
highpower -> shape [label="YES"]<br />
<br />
shape -> broken [label="YES"]<br />
shape -> recycle [taillabel="NO"]<br />
<br />
broken -> recycle [taillabel="YES"]<br />
broken -> dell [label="NO"]<br />
<br />
dell -> test [label="NO"]<br />
dell -> gooddell [label="YES"]<br />
<br />
gooddell -> test [label="YES"]<br />
gooddell -> recycle [label="NO"]<br />
<br />
test -> recycle [label="NO"]<br />
test -> keep [label="YES"]<br />
}<br />
</graphviz><br />
<br />
== Testing Power Supplies ==<br />
Use a standard ATX power supply tester for a 20 pin ATX power supply. <br />
<br />
For each power supply that needs to be tested, do these things:<br />
<br />
# Plug each power supply into outlet<br />
# If there is a rear power supply switch, make sure it is turned on.<br />
# Connect the tester to the 20 pin ATX connector<br />
#* Check lights (all lights on is good, but it is also OK if the -5V light is off)<br />
# Connect the tester to the 4 pin ATX connector<br />
#* Check to see if the +12V light is on<br />
<br />
== What to do when done, where to put them ==<br />
<br />
; Keepers<br />
: Mark them '''OK''' in a corner on the side where the wires come out with a sharpie. <br />
:* Use small letters. These are likely going to be sold and customers don't want them all marked up.<br />
: Put them on the POWER SUPPLIES TO KEEP shelf<br />
; Recycle<br />
: Mark them '''LARGE frowny face''' somewhere with a sharpie. Go ahead and be creative if you want.<br />
: Take them to the warehouse and put them in the POWER SUPPLIES TO RECYCLE location<br />
<br />
[[Category: System Evaluation]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Git_for_dummies&diff=69356Git for dummies2013-12-16T18:59:26Z<p>Ryan52: /* Making changes */</p>
<hr />
<div>==The basics: What you need to know==<br />
<br />
===Setup===<br />
<br />
Set up your system:<br />
sudo apt-get install git-core<br />
git config --global user.email somebody@somewhere.tld<br />
git config --global user.name "John Doe"<br />
<br />
Note that if you are using debian etch, you will need to get a backport of git from backports.org.<br />
<br />
===Getting the repo===<br />
<br />
Get a copy of the ''fgdb.rb'' project:<br />
git clone https://github.com/freegeek-pdx/fgdb.rb<br />
cd fgdb.rb<br />
<br />
Sort of like svn update, to receive new changes to the repository:<br />
git pull<br />
<br />
(Master is like trunk is in svn.)<br />
<br />
===Making changes===<br />
<br />
Now edit a file<br />
vi TODO<br />
(See it's just like svn!!)<br />
<br />
To see the status of all files, whether they are changed, staged, or not tracked:<br />
git status<br />
<br />
Now schedule this modification to be committed locally:<br />
git add TODO<br />
<br />
Want to see changes that you haven't yet git added?<br />
git diff<br />
<br />
Want to see what you are about to commit?<br />
git diff --cached<br />
<br />
Now commit it locally:<br />
git commit<br />
<br />
Now, if you want to commit all of the changes you've made, but don't want to "git add" a million files, you can shorten it to this:<br />
git commit -a<br />
<br />
The -a tells git to commit "all" - NOTE: this only applies to files already tracked by git.<br />
<br />
If you screw up changes to a file, and just want to put it back:<br />
git checkout myfile<br />
<br />
think of checkout (when used like this) as the git equivalent of "svn revert".<br />
<br />
Now send your locally committed changes to the main repository:<br />
git push<br />
<br />
==Cool toys: What you want to know==<br />
<br />
also known as "candy for the coders".<br />
<br />
===cool settings===<br />
<br />
TODO<br />
<br />
===git-rebase===<br />
<br />
TODO<br />
<br />
====keeping a fork====<br />
<br />
TODO<br />
<br />
====reverting a commit====<br />
<br />
yes, you can rebase out a commit. But '''never''' make changes to commits that have already been pushed. The correct way to "undo" a pushed commit is to do this:<br />
git revert SHA1_HASH_GOES_HERE<br />
<br />
===git-add -i===<br />
<br />
TODO<br />
<br />
===repository maintenance: taking out the trash===<br />
<br />
TODO<br />
<br />
==Complicated stuff: What you really don't want to know==<br />
<br />
===Referencing a commit===<br />
<br />
TODO<br />
<br />
===Wtf is a refspec===<br />
<br />
TODO<br />
<br />
===Branches===<br />
<br />
TODO<br />
<br />
====Creating a new remote branch====<br />
<br />
To push your local branch, A, to a new (not yet created) remote branch, B, do this:<br />
git push origin A:B<br />
<br />
Most of the time, you'll just want to do this:<br />
git push origin master:master<br />
<br />
After you push a local branch to a new remote branch, if you want your local branch to automatically know to pull from it, run this:<br />
git config branch.$(git branch | awk '/^* /{print $2}').remote origin; git config branch.$(git branch | awk '/^* /{print $2}').merge $(git branch | awk '/^* /{print $2}')<br />
<br />
That looks complicated, but it isn't. I just added a bunch of awks so that it automatically works on the current branch.<br />
The way that you would normally do it is like this:<br />
git config branch.A.remote origin; git config branch.A.merge B<br />
<br />
where B is the remote branch, A is the local branch, and origin in the remote (origin is the default created when you clone from somewhere).<br />
<br />
====Deleting remote branch====<br />
<br />
from [https://37s.backpackit.com/pub/1465067 here]:<br />
git branch -d {your_branch_here}<br />
git push {repository} :heads/{your_branch_here}<br />
<br />
====Merging====<br />
<br />
TODO: explain how to merge<br />
<br />
If you are going to merge something, for now make the changes '''in the branch''', then merge it into trunk. This way it is tracked correctly. While cherry-pick can be used to get one commit from trunk into the branch, it does not track it as a merge.<br />
<br />
===Tags and all the associated evil===<br />
<br />
TODO<br />
<br />
The evil: once you push a tag, it's final. you can push a new version of the tag, but anybody who has already fetched the tag will not even know about the change. When you screw up a tag, you have to either send out an email instructing people to delete the tag and refetch it or use a different tag name. Not a good thing to do. There is reasoning behind this, though. Git is targeted towards security, and works by the concept that if you know the 40 character SHA1 hash of the most recent commit, you can trust the entire tree of commits.<br />
<br />
===The index===<br />
<br />
So, with git you have multiple places where changes are "kept":<br />
* remote repository<br />
* local repository<br />
* the index<br />
* your working copy<br />
<br />
The index is where you "stage" changes you are about to commit. git-add takes changes from your working copy and updates the index to match (this was called git-update-index in previous versions of git).<br />
<br />
After you edit the file (in your working copy), there are a few steps to get it to the remote repository.<br />
<br />
From working copy to index:<br />
<br />
git add file<br />
<br />
From index to local repository:<br />
<br />
git commit<br />
<br />
From local repository to remote repository:<br />
<br />
git push<br />
<br />
==ticgit for dummies==<br />
===setup (for users)===<br />
In your home dir run:<br />
sudo apt-get install ruby libgit-ruby<br />
git clone git://github.com/schacon/ticgit.git<br />
git clone dev.freegeek.org:/git/fgdb.rb<br />
cd fgdb.rb<br />
git branch ticgit origin/ticgit<br />
<br />
Add this to /usr/bin/ti:<br />
#!/bin/sh<br />
RUBYLIB=/home/$USER/ticgit/lib /home/$USER/ticgit/bin/ti "$@"<br />
<br />
and run 'chmod +x /usr/bin/ti'.<br />
<br />
===setup (for repositories)===<br />
<br />
Run something like this:<br />
git symbolic-ref HEAD refs/heads/ticgit; rm .git/index; echo hold > .hold; git add .hold; git commit -m "create ticgit branch"; git checkout master<br />
<br />
then push the ticgit branch, &c.<br />
<br />
===example commands===<br />
<br />
While in ~/fgdb.rb you can run ti commands.<br />
<br />
See this for how to work it: [http://github.com/schacon/ticgit/wikis]<br />
<br />
Here's some examples:<br />
ti list<br />
ti recent<br />
ti show ######<br />
ti state ###### resolved<br />
ti comment ######<br />
ti tag ###### sprint-21<br />
ti new<br />
<br />
NOTE: changes will be made in your name. it gets your name from your git config. so make sure you set it up correctly (see above).<br />
<br />
===The git part===<br />
<br />
updating:<br />
git pull origin ticgit:ticgit<br />
<br />
pushing your changes:<br />
git push origin ticgit:ticgit<br />
<br />
be sure to update before you change stuff, and push after, unless you want to have some merging fun ;)<br />
<br />
If you screw it up and just want to put it back to what the server has, run this:<br />
<br />
git branch -f ticgit origin/ticgit<br />
<br />
==Other resources==<br />
* [http://git.or.cz/course/svn.html Git - SVN Crash Course] - A good beginners tutorial<br />
* [http://en.wikipedia.org/wiki/Git_(software) Git (software) - Wikipedia, the free encyclopedia] - Explains a lot about how git works<br />
<br />
[[Category: Coders]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Git_for_dummies&diff=69355Git for dummies2013-12-16T18:58:40Z<p>Ryan52: /* Making changes */</p>
<hr />
<div>==The basics: What you need to know==<br />
<br />
===Setup===<br />
<br />
Set up your system:<br />
sudo apt-get install git-core<br />
git config --global user.email somebody@somewhere.tld<br />
git config --global user.name "John Doe"<br />
<br />
Note that if you are using debian etch, you will need to get a backport of git from backports.org.<br />
<br />
===Getting the repo===<br />
<br />
Get a copy of the ''fgdb.rb'' project:<br />
git clone https://github.com/freegeek-pdx/fgdb.rb<br />
cd fgdb.rb<br />
<br />
Sort of like svn update, to receive new changes to the repository:<br />
git pull<br />
<br />
(Master is like trunk is in svn.)<br />
<br />
===Making changes===<br />
<br />
Now edit a file<br />
vi TODO<br />
(See it's just like svn!!)<br />
<br />
Now schedule this modification to be committed locally:<br />
git add TODO<br />
<br />
Want to see changes that you haven't yet git added?<br />
git diff<br />
<br />
Want to see what you are about to commit?<br />
git diff --cached<br />
<br />
Now commit it locally:<br />
git commit<br />
<br />
Now, if you want to commit all of the changes you've made, but don't want to "git add" a million files, you can shorten it to this:<br />
git commit -a<br />
<br />
The -a tells git to commit "all" - NOTE: this only applies to files already tracked by git.<br />
<br />
If you screw up changes to a file, and just want to put it back:<br />
git checkout myfile<br />
<br />
think of checkout (when used like this) as the git equivalent of "svn revert".<br />
<br />
Now send your locally committed changes to the main repository:<br />
git push<br />
<br />
==Cool toys: What you want to know==<br />
<br />
also known as "candy for the coders".<br />
<br />
===cool settings===<br />
<br />
TODO<br />
<br />
===git-rebase===<br />
<br />
TODO<br />
<br />
====keeping a fork====<br />
<br />
TODO<br />
<br />
====reverting a commit====<br />
<br />
yes, you can rebase out a commit. But '''never''' make changes to commits that have already been pushed. The correct way to "undo" a pushed commit is to do this:<br />
git revert SHA1_HASH_GOES_HERE<br />
<br />
===git-add -i===<br />
<br />
TODO<br />
<br />
===repository maintenance: taking out the trash===<br />
<br />
TODO<br />
<br />
==Complicated stuff: What you really don't want to know==<br />
<br />
===Referencing a commit===<br />
<br />
TODO<br />
<br />
===Wtf is a refspec===<br />
<br />
TODO<br />
<br />
===Branches===<br />
<br />
TODO<br />
<br />
====Creating a new remote branch====<br />
<br />
To push your local branch, A, to a new (not yet created) remote branch, B, do this:<br />
git push origin A:B<br />
<br />
Most of the time, you'll just want to do this:<br />
git push origin master:master<br />
<br />
After you push a local branch to a new remote branch, if you want your local branch to automatically know to pull from it, run this:<br />
git config branch.$(git branch | awk '/^* /{print $2}').remote origin; git config branch.$(git branch | awk '/^* /{print $2}').merge $(git branch | awk '/^* /{print $2}')<br />
<br />
That looks complicated, but it isn't. I just added a bunch of awks so that it automatically works on the current branch.<br />
The way that you would normally do it is like this:<br />
git config branch.A.remote origin; git config branch.A.merge B<br />
<br />
where B is the remote branch, A is the local branch, and origin in the remote (origin is the default created when you clone from somewhere).<br />
<br />
====Deleting remote branch====<br />
<br />
from [https://37s.backpackit.com/pub/1465067 here]:<br />
git branch -d {your_branch_here}<br />
git push {repository} :heads/{your_branch_here}<br />
<br />
====Merging====<br />
<br />
TODO: explain how to merge<br />
<br />
If you are going to merge something, for now make the changes '''in the branch''', then merge it into trunk. This way it is tracked correctly. While cherry-pick can be used to get one commit from trunk into the branch, it does not track it as a merge.<br />
<br />
===Tags and all the associated evil===<br />
<br />
TODO<br />
<br />
The evil: once you push a tag, it's final. you can push a new version of the tag, but anybody who has already fetched the tag will not even know about the change. When you screw up a tag, you have to either send out an email instructing people to delete the tag and refetch it or use a different tag name. Not a good thing to do. There is reasoning behind this, though. Git is targeted towards security, and works by the concept that if you know the 40 character SHA1 hash of the most recent commit, you can trust the entire tree of commits.<br />
<br />
===The index===<br />
<br />
So, with git you have multiple places where changes are "kept":<br />
* remote repository<br />
* local repository<br />
* the index<br />
* your working copy<br />
<br />
The index is where you "stage" changes you are about to commit. git-add takes changes from your working copy and updates the index to match (this was called git-update-index in previous versions of git).<br />
<br />
After you edit the file (in your working copy), there are a few steps to get it to the remote repository.<br />
<br />
From working copy to index:<br />
<br />
git add file<br />
<br />
From index to local repository:<br />
<br />
git commit<br />
<br />
From local repository to remote repository:<br />
<br />
git push<br />
<br />
==ticgit for dummies==<br />
===setup (for users)===<br />
In your home dir run:<br />
sudo apt-get install ruby libgit-ruby<br />
git clone git://github.com/schacon/ticgit.git<br />
git clone dev.freegeek.org:/git/fgdb.rb<br />
cd fgdb.rb<br />
git branch ticgit origin/ticgit<br />
<br />
Add this to /usr/bin/ti:<br />
#!/bin/sh<br />
RUBYLIB=/home/$USER/ticgit/lib /home/$USER/ticgit/bin/ti "$@"<br />
<br />
and run 'chmod +x /usr/bin/ti'.<br />
<br />
===setup (for repositories)===<br />
<br />
Run something like this:<br />
git symbolic-ref HEAD refs/heads/ticgit; rm .git/index; echo hold > .hold; git add .hold; git commit -m "create ticgit branch"; git checkout master<br />
<br />
then push the ticgit branch, &c.<br />
<br />
===example commands===<br />
<br />
While in ~/fgdb.rb you can run ti commands.<br />
<br />
See this for how to work it: [http://github.com/schacon/ticgit/wikis]<br />
<br />
Here's some examples:<br />
ti list<br />
ti recent<br />
ti show ######<br />
ti state ###### resolved<br />
ti comment ######<br />
ti tag ###### sprint-21<br />
ti new<br />
<br />
NOTE: changes will be made in your name. it gets your name from your git config. so make sure you set it up correctly (see above).<br />
<br />
===The git part===<br />
<br />
updating:<br />
git pull origin ticgit:ticgit<br />
<br />
pushing your changes:<br />
git push origin ticgit:ticgit<br />
<br />
be sure to update before you change stuff, and push after, unless you want to have some merging fun ;)<br />
<br />
If you screw it up and just want to put it back to what the server has, run this:<br />
<br />
git branch -f ticgit origin/ticgit<br />
<br />
==Other resources==<br />
* [http://git.or.cz/course/svn.html Git - SVN Crash Course] - A good beginners tutorial<br />
* [http://en.wikipedia.org/wiki/Git_(software) Git (software) - Wikipedia, the free encyclopedia] - Explains a lot about how git works<br />
<br />
[[Category: Coders]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Git_for_dummies&diff=69354Git for dummies2013-12-16T18:58:01Z<p>Ryan52: /* Getting the repo */</p>
<hr />
<div>==The basics: What you need to know==<br />
<br />
===Setup===<br />
<br />
Set up your system:<br />
sudo apt-get install git-core<br />
git config --global user.email somebody@somewhere.tld<br />
git config --global user.name "John Doe"<br />
<br />
Note that if you are using debian etch, you will need to get a backport of git from backports.org.<br />
<br />
===Getting the repo===<br />
<br />
Get a copy of the ''fgdb.rb'' project:<br />
git clone https://github.com/freegeek-pdx/fgdb.rb<br />
cd fgdb.rb<br />
<br />
Sort of like svn update, to receive new changes to the repository:<br />
git pull<br />
<br />
(Master is like trunk is in svn.)<br />
<br />
===Making changes===<br />
<br />
Now edit a file<br />
vi TODO<br />
(See it's just like svn!!)<br />
<br />
Now schedule this modification to be committed locally:<br />
git add TODO<br />
<br />
Want to see changes that you haven't yet git added?<br />
git diff<br />
<br />
Want to see what you are about to commit?<br />
git diff --cached<br />
<br />
Now commit it locally:<br />
git commit<br />
<br />
Now, if you want to commit all of the changes you've made, but don't want to "git add" a million files, you can shorted it to this:<br />
git commit -a<br />
<br />
The -a tells git to commit "all" - NOTE: this only applies to files already tracked by git.<br />
<br />
If you screw up changes to a file, and just want to put it back:<br />
git checkout myfile<br />
<br />
think of checkout (when used like this) as the git equivalent of "svn revert".<br />
<br />
Now send your locally committed changes to the main repository:<br />
git push<br />
<br />
==Cool toys: What you want to know==<br />
<br />
also known as "candy for the coders".<br />
<br />
===cool settings===<br />
<br />
TODO<br />
<br />
===git-rebase===<br />
<br />
TODO<br />
<br />
====keeping a fork====<br />
<br />
TODO<br />
<br />
====reverting a commit====<br />
<br />
yes, you can rebase out a commit. But '''never''' make changes to commits that have already been pushed. The correct way to "undo" a pushed commit is to do this:<br />
git revert SHA1_HASH_GOES_HERE<br />
<br />
===git-add -i===<br />
<br />
TODO<br />
<br />
===repository maintenance: taking out the trash===<br />
<br />
TODO<br />
<br />
==Complicated stuff: What you really don't want to know==<br />
<br />
===Referencing a commit===<br />
<br />
TODO<br />
<br />
===Wtf is a refspec===<br />
<br />
TODO<br />
<br />
===Branches===<br />
<br />
TODO<br />
<br />
====Creating a new remote branch====<br />
<br />
To push your local branch, A, to a new (not yet created) remote branch, B, do this:<br />
git push origin A:B<br />
<br />
Most of the time, you'll just want to do this:<br />
git push origin master:master<br />
<br />
After you push a local branch to a new remote branch, if you want your local branch to automatically know to pull from it, run this:<br />
git config branch.$(git branch | awk '/^* /{print $2}').remote origin; git config branch.$(git branch | awk '/^* /{print $2}').merge $(git branch | awk '/^* /{print $2}')<br />
<br />
That looks complicated, but it isn't. I just added a bunch of awks so that it automatically works on the current branch.<br />
The way that you would normally do it is like this:<br />
git config branch.A.remote origin; git config branch.A.merge B<br />
<br />
where B is the remote branch, A is the local branch, and origin in the remote (origin is the default created when you clone from somewhere).<br />
<br />
====Deleting remote branch====<br />
<br />
from [https://37s.backpackit.com/pub/1465067 here]:<br />
git branch -d {your_branch_here}<br />
git push {repository} :heads/{your_branch_here}<br />
<br />
====Merging====<br />
<br />
TODO: explain how to merge<br />
<br />
If you are going to merge something, for now make the changes '''in the branch''', then merge it into trunk. This way it is tracked correctly. While cherry-pick can be used to get one commit from trunk into the branch, it does not track it as a merge.<br />
<br />
===Tags and all the associated evil===<br />
<br />
TODO<br />
<br />
The evil: once you push a tag, it's final. you can push a new version of the tag, but anybody who has already fetched the tag will not even know about the change. When you screw up a tag, you have to either send out an email instructing people to delete the tag and refetch it or use a different tag name. Not a good thing to do. There is reasoning behind this, though. Git is targeted towards security, and works by the concept that if you know the 40 character SHA1 hash of the most recent commit, you can trust the entire tree of commits.<br />
<br />
===The index===<br />
<br />
So, with git you have multiple places where changes are "kept":<br />
* remote repository<br />
* local repository<br />
* the index<br />
* your working copy<br />
<br />
The index is where you "stage" changes you are about to commit. git-add takes changes from your working copy and updates the index to match (this was called git-update-index in previous versions of git).<br />
<br />
After you edit the file (in your working copy), there are a few steps to get it to the remote repository.<br />
<br />
From working copy to index:<br />
<br />
git add file<br />
<br />
From index to local repository:<br />
<br />
git commit<br />
<br />
From local repository to remote repository:<br />
<br />
git push<br />
<br />
==ticgit for dummies==<br />
===setup (for users)===<br />
In your home dir run:<br />
sudo apt-get install ruby libgit-ruby<br />
git clone git://github.com/schacon/ticgit.git<br />
git clone dev.freegeek.org:/git/fgdb.rb<br />
cd fgdb.rb<br />
git branch ticgit origin/ticgit<br />
<br />
Add this to /usr/bin/ti:<br />
#!/bin/sh<br />
RUBYLIB=/home/$USER/ticgit/lib /home/$USER/ticgit/bin/ti "$@"<br />
<br />
and run 'chmod +x /usr/bin/ti'.<br />
<br />
===setup (for repositories)===<br />
<br />
Run something like this:<br />
git symbolic-ref HEAD refs/heads/ticgit; rm .git/index; echo hold > .hold; git add .hold; git commit -m "create ticgit branch"; git checkout master<br />
<br />
then push the ticgit branch, &c.<br />
<br />
===example commands===<br />
<br />
While in ~/fgdb.rb you can run ti commands.<br />
<br />
See this for how to work it: [http://github.com/schacon/ticgit/wikis]<br />
<br />
Here's some examples:<br />
ti list<br />
ti recent<br />
ti show ######<br />
ti state ###### resolved<br />
ti comment ######<br />
ti tag ###### sprint-21<br />
ti new<br />
<br />
NOTE: changes will be made in your name. it gets your name from your git config. so make sure you set it up correctly (see above).<br />
<br />
===The git part===<br />
<br />
updating:<br />
git pull origin ticgit:ticgit<br />
<br />
pushing your changes:<br />
git push origin ticgit:ticgit<br />
<br />
be sure to update before you change stuff, and push after, unless you want to have some merging fun ;)<br />
<br />
If you screw it up and just want to put it back to what the server has, run this:<br />
<br />
git branch -f ticgit origin/ticgit<br />
<br />
==Other resources==<br />
* [http://git.or.cz/course/svn.html Git - SVN Crash Course] - A good beginners tutorial<br />
* [http://en.wikipedia.org/wiki/Git_(software) Git (software) - Wikipedia, the free encyclopedia] - Explains a lot about how git works<br />
<br />
[[Category: Coders]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Git_for_dummies&diff=69353Git for dummies2013-12-16T18:56:59Z<p>Ryan52: /* Making changes */</p>
<hr />
<div>==The basics: What you need to know==<br />
<br />
===Setup===<br />
<br />
Set up your system:<br />
sudo apt-get install git-core<br />
git config --global user.email somebody@somewhere.tld<br />
git config --global user.name "John Doe"<br />
<br />
Note that if you are using debian etch, you will need to get a backport of git from backports.org.<br />
<br />
===Getting the repo===<br />
<br />
Get a copy of the ''fgdb.rb'' project:<br />
git clone https://github.com/freegeek-pdx/fgdb.rb<br />
cd fgdb.rb<br />
<br />
Sort of like svn update:<br />
git pull<br />
<br />
(Master is like trunk is in svn.)<br />
<br />
===Making changes===<br />
<br />
Now edit a file<br />
vi TODO<br />
(See it's just like svn!!)<br />
<br />
Now schedule this modification to be committed locally:<br />
git add TODO<br />
<br />
Want to see changes that you haven't yet git added?<br />
git diff<br />
<br />
Want to see what you are about to commit?<br />
git diff --cached<br />
<br />
Now commit it locally:<br />
git commit<br />
<br />
Now, if you want to commit all of the changes you've made, but don't want to "git add" a million files, you can shorted it to this:<br />
git commit -a<br />
<br />
The -a tells git to commit "all" - NOTE: this only applies to files already tracked by git.<br />
<br />
If you screw up changes to a file, and just want to put it back:<br />
git checkout myfile<br />
<br />
think of checkout (when used like this) as the git equivalent of "svn revert".<br />
<br />
Now send your locally committed changes to the main repository:<br />
git push<br />
<br />
==Cool toys: What you want to know==<br />
<br />
also known as "candy for the coders".<br />
<br />
===cool settings===<br />
<br />
TODO<br />
<br />
===git-rebase===<br />
<br />
TODO<br />
<br />
====keeping a fork====<br />
<br />
TODO<br />
<br />
====reverting a commit====<br />
<br />
yes, you can rebase out a commit. But '''never''' make changes to commits that have already been pushed. The correct way to "undo" a pushed commit is to do this:<br />
git revert SHA1_HASH_GOES_HERE<br />
<br />
===git-add -i===<br />
<br />
TODO<br />
<br />
===repository maintenance: taking out the trash===<br />
<br />
TODO<br />
<br />
==Complicated stuff: What you really don't want to know==<br />
<br />
===Referencing a commit===<br />
<br />
TODO<br />
<br />
===Wtf is a refspec===<br />
<br />
TODO<br />
<br />
===Branches===<br />
<br />
TODO<br />
<br />
====Creating a new remote branch====<br />
<br />
To push your local branch, A, to a new (not yet created) remote branch, B, do this:<br />
git push origin A:B<br />
<br />
Most of the time, you'll just want to do this:<br />
git push origin master:master<br />
<br />
After you push a local branch to a new remote branch, if you want your local branch to automatically know to pull from it, run this:<br />
git config branch.$(git branch | awk '/^* /{print $2}').remote origin; git config branch.$(git branch | awk '/^* /{print $2}').merge $(git branch | awk '/^* /{print $2}')<br />
<br />
That looks complicated, but it isn't. I just added a bunch of awks so that it automatically works on the current branch.<br />
The way that you would normally do it is like this:<br />
git config branch.A.remote origin; git config branch.A.merge B<br />
<br />
where B is the remote branch, A is the local branch, and origin in the remote (origin is the default created when you clone from somewhere).<br />
<br />
====Deleting remote branch====<br />
<br />
from [https://37s.backpackit.com/pub/1465067 here]:<br />
git branch -d {your_branch_here}<br />
git push {repository} :heads/{your_branch_here}<br />
<br />
====Merging====<br />
<br />
TODO: explain how to merge<br />
<br />
If you are going to merge something, for now make the changes '''in the branch''', then merge it into trunk. This way it is tracked correctly. While cherry-pick can be used to get one commit from trunk into the branch, it does not track it as a merge.<br />
<br />
===Tags and all the associated evil===<br />
<br />
TODO<br />
<br />
The evil: once you push a tag, it's final. you can push a new version of the tag, but anybody who has already fetched the tag will not even know about the change. When you screw up a tag, you have to either send out an email instructing people to delete the tag and refetch it or use a different tag name. Not a good thing to do. There is reasoning behind this, though. Git is targeted towards security, and works by the concept that if you know the 40 character SHA1 hash of the most recent commit, you can trust the entire tree of commits.<br />
<br />
===The index===<br />
<br />
So, with git you have multiple places where changes are "kept":<br />
* remote repository<br />
* local repository<br />
* the index<br />
* your working copy<br />
<br />
The index is where you "stage" changes you are about to commit. git-add takes changes from your working copy and updates the index to match (this was called git-update-index in previous versions of git).<br />
<br />
After you edit the file (in your working copy), there are a few steps to get it to the remote repository.<br />
<br />
From working copy to index:<br />
<br />
git add file<br />
<br />
From index to local repository:<br />
<br />
git commit<br />
<br />
From local repository to remote repository:<br />
<br />
git push<br />
<br />
==ticgit for dummies==<br />
===setup (for users)===<br />
In your home dir run:<br />
sudo apt-get install ruby libgit-ruby<br />
git clone git://github.com/schacon/ticgit.git<br />
git clone dev.freegeek.org:/git/fgdb.rb<br />
cd fgdb.rb<br />
git branch ticgit origin/ticgit<br />
<br />
Add this to /usr/bin/ti:<br />
#!/bin/sh<br />
RUBYLIB=/home/$USER/ticgit/lib /home/$USER/ticgit/bin/ti "$@"<br />
<br />
and run 'chmod +x /usr/bin/ti'.<br />
<br />
===setup (for repositories)===<br />
<br />
Run something like this:<br />
git symbolic-ref HEAD refs/heads/ticgit; rm .git/index; echo hold > .hold; git add .hold; git commit -m "create ticgit branch"; git checkout master<br />
<br />
then push the ticgit branch, &c.<br />
<br />
===example commands===<br />
<br />
While in ~/fgdb.rb you can run ti commands.<br />
<br />
See this for how to work it: [http://github.com/schacon/ticgit/wikis]<br />
<br />
Here's some examples:<br />
ti list<br />
ti recent<br />
ti show ######<br />
ti state ###### resolved<br />
ti comment ######<br />
ti tag ###### sprint-21<br />
ti new<br />
<br />
NOTE: changes will be made in your name. it gets your name from your git config. so make sure you set it up correctly (see above).<br />
<br />
===The git part===<br />
<br />
updating:<br />
git pull origin ticgit:ticgit<br />
<br />
pushing your changes:<br />
git push origin ticgit:ticgit<br />
<br />
be sure to update before you change stuff, and push after, unless you want to have some merging fun ;)<br />
<br />
If you screw it up and just want to put it back to what the server has, run this:<br />
<br />
git branch -f ticgit origin/ticgit<br />
<br />
==Other resources==<br />
* [http://git.or.cz/course/svn.html Git - SVN Crash Course] - A good beginners tutorial<br />
* [http://en.wikipedia.org/wiki/Git_(software) Git (software) - Wikipedia, the free encyclopedia] - Explains a lot about how git works<br />
<br />
[[Category: Coders]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Git_for_dummies&diff=69352Git for dummies2013-12-16T18:56:22Z<p>Ryan52: /* Making changes */</p>
<hr />
<div>==The basics: What you need to know==<br />
<br />
===Setup===<br />
<br />
Set up your system:<br />
sudo apt-get install git-core<br />
git config --global user.email somebody@somewhere.tld<br />
git config --global user.name "John Doe"<br />
<br />
Note that if you are using debian etch, you will need to get a backport of git from backports.org.<br />
<br />
===Getting the repo===<br />
<br />
Get a copy of the ''fgdb.rb'' project:<br />
git clone https://github.com/freegeek-pdx/fgdb.rb<br />
cd fgdb.rb<br />
<br />
Sort of like svn update:<br />
git pull<br />
<br />
(Master is like trunk is in svn.)<br />
<br />
===Making changes===<br />
<br />
Now edit a file<br />
vi TODO<br />
(See it's just like svn!!)<br />
<br />
Now schedule this modification to be committed locally:<br />
git add TODO<br />
<br />
Want to see changes that you haven't yet git added?<br />
git diff<br />
<br />
Want to see what you are about to commit?<br />
git diff --cached<br />
<br />
Now commit it locally:<br />
git commit<br />
<br />
Now, if you want to commit all of the changes you've made, but don't want to "git add" a million files, you can shorted it to this:<br />
git commit -a<br />
<br />
The -a tells git to commit "all"<br />
<br />
If you screw up changes to a file, and just want to put it back:<br />
git checkout myfile<br />
<br />
think of checkout (when used like this) as the git equivalent of "svn revert".<br />
<br />
Now send your locally committed changes to the main repository:<br />
git push<br />
<br />
==Cool toys: What you want to know==<br />
<br />
also known as "candy for the coders".<br />
<br />
===cool settings===<br />
<br />
TODO<br />
<br />
===git-rebase===<br />
<br />
TODO<br />
<br />
====keeping a fork====<br />
<br />
TODO<br />
<br />
====reverting a commit====<br />
<br />
yes, you can rebase out a commit. But '''never''' make changes to commits that have already been pushed. The correct way to "undo" a pushed commit is to do this:<br />
git revert SHA1_HASH_GOES_HERE<br />
<br />
===git-add -i===<br />
<br />
TODO<br />
<br />
===repository maintenance: taking out the trash===<br />
<br />
TODO<br />
<br />
==Complicated stuff: What you really don't want to know==<br />
<br />
===Referencing a commit===<br />
<br />
TODO<br />
<br />
===Wtf is a refspec===<br />
<br />
TODO<br />
<br />
===Branches===<br />
<br />
TODO<br />
<br />
====Creating a new remote branch====<br />
<br />
To push your local branch, A, to a new (not yet created) remote branch, B, do this:<br />
git push origin A:B<br />
<br />
Most of the time, you'll just want to do this:<br />
git push origin master:master<br />
<br />
After you push a local branch to a new remote branch, if you want your local branch to automatically know to pull from it, run this:<br />
git config branch.$(git branch | awk '/^* /{print $2}').remote origin; git config branch.$(git branch | awk '/^* /{print $2}').merge $(git branch | awk '/^* /{print $2}')<br />
<br />
That looks complicated, but it isn't. I just added a bunch of awks so that it automatically works on the current branch.<br />
The way that you would normally do it is like this:<br />
git config branch.A.remote origin; git config branch.A.merge B<br />
<br />
where B is the remote branch, A is the local branch, and origin in the remote (origin is the default created when you clone from somewhere).<br />
<br />
====Deleting remote branch====<br />
<br />
from [https://37s.backpackit.com/pub/1465067 here]:<br />
git branch -d {your_branch_here}<br />
git push {repository} :heads/{your_branch_here}<br />
<br />
====Merging====<br />
<br />
TODO: explain how to merge<br />
<br />
If you are going to merge something, for now make the changes '''in the branch''', then merge it into trunk. This way it is tracked correctly. While cherry-pick can be used to get one commit from trunk into the branch, it does not track it as a merge.<br />
<br />
===Tags and all the associated evil===<br />
<br />
TODO<br />
<br />
The evil: once you push a tag, it's final. you can push a new version of the tag, but anybody who has already fetched the tag will not even know about the change. When you screw up a tag, you have to either send out an email instructing people to delete the tag and refetch it or use a different tag name. Not a good thing to do. There is reasoning behind this, though. Git is targeted towards security, and works by the concept that if you know the 40 character SHA1 hash of the most recent commit, you can trust the entire tree of commits.<br />
<br />
===The index===<br />
<br />
So, with git you have multiple places where changes are "kept":<br />
* remote repository<br />
* local repository<br />
* the index<br />
* your working copy<br />
<br />
The index is where you "stage" changes you are about to commit. git-add takes changes from your working copy and updates the index to match (this was called git-update-index in previous versions of git).<br />
<br />
After you edit the file (in your working copy), there are a few steps to get it to the remote repository.<br />
<br />
From working copy to index:<br />
<br />
git add file<br />
<br />
From index to local repository:<br />
<br />
git commit<br />
<br />
From local repository to remote repository:<br />
<br />
git push<br />
<br />
==ticgit for dummies==<br />
===setup (for users)===<br />
In your home dir run:<br />
sudo apt-get install ruby libgit-ruby<br />
git clone git://github.com/schacon/ticgit.git<br />
git clone dev.freegeek.org:/git/fgdb.rb<br />
cd fgdb.rb<br />
git branch ticgit origin/ticgit<br />
<br />
Add this to /usr/bin/ti:<br />
#!/bin/sh<br />
RUBYLIB=/home/$USER/ticgit/lib /home/$USER/ticgit/bin/ti "$@"<br />
<br />
and run 'chmod +x /usr/bin/ti'.<br />
<br />
===setup (for repositories)===<br />
<br />
Run something like this:<br />
git symbolic-ref HEAD refs/heads/ticgit; rm .git/index; echo hold > .hold; git add .hold; git commit -m "create ticgit branch"; git checkout master<br />
<br />
then push the ticgit branch, &c.<br />
<br />
===example commands===<br />
<br />
While in ~/fgdb.rb you can run ti commands.<br />
<br />
See this for how to work it: [http://github.com/schacon/ticgit/wikis]<br />
<br />
Here's some examples:<br />
ti list<br />
ti recent<br />
ti show ######<br />
ti state ###### resolved<br />
ti comment ######<br />
ti tag ###### sprint-21<br />
ti new<br />
<br />
NOTE: changes will be made in your name. it gets your name from your git config. so make sure you set it up correctly (see above).<br />
<br />
===The git part===<br />
<br />
updating:<br />
git pull origin ticgit:ticgit<br />
<br />
pushing your changes:<br />
git push origin ticgit:ticgit<br />
<br />
be sure to update before you change stuff, and push after, unless you want to have some merging fun ;)<br />
<br />
If you screw it up and just want to put it back to what the server has, run this:<br />
<br />
git branch -f ticgit origin/ticgit<br />
<br />
==Other resources==<br />
* [http://git.or.cz/course/svn.html Git - SVN Crash Course] - A good beginners tutorial<br />
* [http://en.wikipedia.org/wiki/Git_(software) Git (software) - Wikipedia, the free encyclopedia] - Explains a lot about how git works<br />
<br />
[[Category: Coders]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Git_for_dummies&diff=69351Git for dummies2013-12-16T18:54:37Z<p>Ryan52: /* Getting the repo */ update for github</p>
<hr />
<div>==The basics: What you need to know==<br />
<br />
===Setup===<br />
<br />
Set up your system:<br />
sudo apt-get install git-core<br />
git config --global user.email somebody@somewhere.tld<br />
git config --global user.name "John Doe"<br />
<br />
Note that if you are using debian etch, you will need to get a backport of git from backports.org.<br />
<br />
===Getting the repo===<br />
<br />
Get a copy of the ''fgdb.rb'' project:<br />
git clone https://github.com/freegeek-pdx/fgdb.rb<br />
cd fgdb.rb<br />
<br />
Sort of like svn update:<br />
git pull<br />
<br />
(Master is like trunk is in svn.)<br />
<br />
===Making changes===<br />
<br />
Now edit a file<br />
vi TODO<br />
(See it's just like svn!!)<br />
<br />
Now schedule this modification to be committed locally:<br />
git add TODO<br />
<br />
Want to see changes that you hain't yet git added?<br />
git diff<br />
<br />
Want to see what you are about to commit?<br />
git diff --cached<br />
<br />
Now commit it locally:<br />
git commit<br />
<br />
Now, if you want to commit all of the changes you've made, but don't want to "git add" a million files, you can shorted it to this:<br />
git commit -a<br />
<br />
The -a tells git to commit "all"<br />
<br />
If you screw up changes to a file, and just want to put it back:<br />
git checkout myfile<br />
<br />
think of checkout (when used like this) as the git equivalent of "svn revert".<br />
<br />
Now send your locally committed changes to the main repository:<br />
git push<br />
<br />
==Cool toys: What you want to know==<br />
<br />
also known as "candy for the coders".<br />
<br />
===cool settings===<br />
<br />
TODO<br />
<br />
===git-rebase===<br />
<br />
TODO<br />
<br />
====keeping a fork====<br />
<br />
TODO<br />
<br />
====reverting a commit====<br />
<br />
yes, you can rebase out a commit. But '''never''' make changes to commits that have already been pushed. The correct way to "undo" a pushed commit is to do this:<br />
git revert SHA1_HASH_GOES_HERE<br />
<br />
===git-add -i===<br />
<br />
TODO<br />
<br />
===repository maintenance: taking out the trash===<br />
<br />
TODO<br />
<br />
==Complicated stuff: What you really don't want to know==<br />
<br />
===Referencing a commit===<br />
<br />
TODO<br />
<br />
===Wtf is a refspec===<br />
<br />
TODO<br />
<br />
===Branches===<br />
<br />
TODO<br />
<br />
====Creating a new remote branch====<br />
<br />
To push your local branch, A, to a new (not yet created) remote branch, B, do this:<br />
git push origin A:B<br />
<br />
Most of the time, you'll just want to do this:<br />
git push origin master:master<br />
<br />
After you push a local branch to a new remote branch, if you want your local branch to automatically know to pull from it, run this:<br />
git config branch.$(git branch | awk '/^* /{print $2}').remote origin; git config branch.$(git branch | awk '/^* /{print $2}').merge $(git branch | awk '/^* /{print $2}')<br />
<br />
That looks complicated, but it isn't. I just added a bunch of awks so that it automatically works on the current branch.<br />
The way that you would normally do it is like this:<br />
git config branch.A.remote origin; git config branch.A.merge B<br />
<br />
where B is the remote branch, A is the local branch, and origin in the remote (origin is the default created when you clone from somewhere).<br />
<br />
====Deleting remote branch====<br />
<br />
from [https://37s.backpackit.com/pub/1465067 here]:<br />
git branch -d {your_branch_here}<br />
git push {repository} :heads/{your_branch_here}<br />
<br />
====Merging====<br />
<br />
TODO: explain how to merge<br />
<br />
If you are going to merge something, for now make the changes '''in the branch''', then merge it into trunk. This way it is tracked correctly. While cherry-pick can be used to get one commit from trunk into the branch, it does not track it as a merge.<br />
<br />
===Tags and all the associated evil===<br />
<br />
TODO<br />
<br />
The evil: once you push a tag, it's final. you can push a new version of the tag, but anybody who has already fetched the tag will not even know about the change. When you screw up a tag, you have to either send out an email instructing people to delete the tag and refetch it or use a different tag name. Not a good thing to do. There is reasoning behind this, though. Git is targeted towards security, and works by the concept that if you know the 40 character SHA1 hash of the most recent commit, you can trust the entire tree of commits.<br />
<br />
===The index===<br />
<br />
So, with git you have multiple places where changes are "kept":<br />
* remote repository<br />
* local repository<br />
* the index<br />
* your working copy<br />
<br />
The index is where you "stage" changes you are about to commit. git-add takes changes from your working copy and updates the index to match (this was called git-update-index in previous versions of git).<br />
<br />
After you edit the file (in your working copy), there are a few steps to get it to the remote repository.<br />
<br />
From working copy to index:<br />
<br />
git add file<br />
<br />
From index to local repository:<br />
<br />
git commit<br />
<br />
From local repository to remote repository:<br />
<br />
git push<br />
<br />
==ticgit for dummies==<br />
===setup (for users)===<br />
In your home dir run:<br />
sudo apt-get install ruby libgit-ruby<br />
git clone git://github.com/schacon/ticgit.git<br />
git clone dev.freegeek.org:/git/fgdb.rb<br />
cd fgdb.rb<br />
git branch ticgit origin/ticgit<br />
<br />
Add this to /usr/bin/ti:<br />
#!/bin/sh<br />
RUBYLIB=/home/$USER/ticgit/lib /home/$USER/ticgit/bin/ti "$@"<br />
<br />
and run 'chmod +x /usr/bin/ti'.<br />
<br />
===setup (for repositories)===<br />
<br />
Run something like this:<br />
git symbolic-ref HEAD refs/heads/ticgit; rm .git/index; echo hold > .hold; git add .hold; git commit -m "create ticgit branch"; git checkout master<br />
<br />
then push the ticgit branch, &c.<br />
<br />
===example commands===<br />
<br />
While in ~/fgdb.rb you can run ti commands.<br />
<br />
See this for how to work it: [http://github.com/schacon/ticgit/wikis]<br />
<br />
Here's some examples:<br />
ti list<br />
ti recent<br />
ti show ######<br />
ti state ###### resolved<br />
ti comment ######<br />
ti tag ###### sprint-21<br />
ti new<br />
<br />
NOTE: changes will be made in your name. it gets your name from your git config. so make sure you set it up correctly (see above).<br />
<br />
===The git part===<br />
<br />
updating:<br />
git pull origin ticgit:ticgit<br />
<br />
pushing your changes:<br />
git push origin ticgit:ticgit<br />
<br />
be sure to update before you change stuff, and push after, unless you want to have some merging fun ;)<br />
<br />
If you screw it up and just want to put it back to what the server has, run this:<br />
<br />
git branch -f ticgit origin/ticgit<br />
<br />
==Other resources==<br />
* [http://git.or.cz/course/svn.html Git - SVN Crash Course] - A good beginners tutorial<br />
* [http://en.wikipedia.org/wiki/Git_(software) Git (software) - Wikipedia, the free encyclopedia] - Explains a lot about how git works<br />
<br />
[[Category: Coders]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Hard_Drive_Testing/Disktest&diff=68965Hard Drive Testing/Disktest2013-10-25T17:53:09Z<p>Ryan52: /* TESTING PROCESS */ clarify DB part of disktest proceedure</p>
<hr />
<div>Disktest is used to test, wipe and track data destruction on IDE and SATA drives.<br />
<br />
It is automatically configured using settings in lts.conf, deployed via LTSP.<br />
<br />
== TESTING PROCESS ==<br />
<br />
It test each drive in parallel as follows:<br />
* Creates a record for each drive in this run in the database<br />
* Starts a timer<br />
** This is done using the specified DISKTEST_TIME_LIMIT_PER_GB, in seconds, multiplied by the drive size<br />
** It is ignored if the model name matches DISKTEST_TIME_LIMIT_IGNORED_MODELS<br />
** If the drive is very tiny, it may fall back to DISKTEST_TIME_LIMIT_MINIMUM<br />
** If testing this drive does not finish within the timeout, it is ABORTED<br />
* It initiates a short SMART test<br />
** with flags: '-q', 'silent', '-t', 'short',<br />
* Checks SMART status<br />
** with flags: '-q', 'silent', '--all'<br />
*** IF the bus is not SCSI (meaning SATA/IDE), it also passes also '-d', 'ata'<br />
** If smart returns 2, it stops with RETRY state (which is like a failure)<br />
** If smart returns >2, it stops with FAILED state<br />
* Runs badblocks for testing<br />
** /sbin/badblocks -e 1 -c 1024 -swt 0xffffffff DEV<br />
** if it exists nonzero, we FAIL the drive<br />
* Checks SMART status<br />
** As described above<br />
* Does its own wipe<br />
** writes 1's<br />
** writes 1024 bytes of urandom repeatedly<br />
** checks that the number of bytes successfully written (from the system call perspective) is twice the drive length<br />
* Checks SMART status<br />
** As described above<br />
* Concludes the drive has been successfully wiped with PASSED state, if we made it here<br />
* All data is logged into the database at this point<br />
<br />
== EXPLANATION OF DISKTEST STATES ==<br />
<br />
{| class="wikitable"<br />
|-<br />
! State !! Description<br />
|-<br />
| UNTESTED || used while the drive is being tested, or if it failed for unknown reason<br />
|-<br />
| PASSED || if the testing process went without error<br />
|-<br />
| ABORTED || used when the timeout is reached as a fail state<br />
|-<br />
| RETRY || used if smart returns DISKTEST_LOGTO_FGDB2, which indiciates RAID controller issues or odd drive problems are preventing any form of successful SMART testing<br />
|-<br />
| STOPPED || used if the user stops the testing program, using Ctrl-C interrupt<br />
|-<br />
| FAILED || if the system determines part of the test actually failed<br />
|}<br />
<br />
== DATABASE LOGGING ==<br />
<br />
When configured with a DISKTEST_LOGTO_FGDB server to log to, the beginning of the process through the end (if it finishes in any of the above states, not power failure) is logged within the database, including finishing state.<br />
<br />
The saved data can be queried from the data sec sidebar link, or here:<br />
http://data/disktest_runs<br />
<br />
Also, if batch containing a serial number is created on this page:<br />
http://data/disktest_batches (whichs shows batches not yet finalized)<br />
<br />
Then as testing completes (or if it already has), the following status report will be updated, based on data from the above:<br />
http://data/disktest_batches/show/4<br />
(where 4 is the id of the relevant disktest_batch that was created)<br />
<br />
The batch details can also be managed here, such as drives that<br />
have been destroyed, when the batch is finalized (providing report<br />
to user), etc, by using the edit link.</div>Ryan52http://wiki.freegeek.org/index.php?title=Hard_Drive_Testing/Disktest&diff=68964Hard Drive Testing/Disktest2013-10-25T17:52:15Z<p>Ryan52: /* EXPLANATION OF DISKTEST STATES */ format as table</p>
<hr />
<div>Disktest is used to test, wipe and track data destruction on IDE and SATA drives.<br />
<br />
It is automatically configured using settings in lts.conf, deployed via LTSP.<br />
<br />
== TESTING PROCESS ==<br />
<br />
It test each drive in parallel as follows:<br />
* Starts a timer<br />
** This is done using the specified DISKTEST_TIME_LIMIT_PER_GB, in seconds, multiplied by the drive size<br />
** It is ignored if the model name matches DISKTEST_TIME_LIMIT_IGNORED_MODELS<br />
** If the drive is very tiny, it may fall back to DISKTEST_TIME_LIMIT_MINIMUM<br />
** If testing this drive does not finish within the timeout, it is ABORTED<br />
* It initiates a short SMART test<br />
** with flags: '-q', 'silent', '-t', 'short',<br />
* Checks SMART status<br />
** with flags: '-q', 'silent', '--all'<br />
*** IF the bus is not SCSI (meaning SATA/IDE), it also passes also '-d', 'ata'<br />
** If smart returns 2, it stops with RETRY state (which is like a failure)<br />
** If smart returns >2, it stops with FAILED state<br />
* Runs badblocks for testing<br />
** /sbin/badblocks -e 1 -c 1024 -swt 0xffffffff DEV<br />
** if it exists nonzero, we FAIL the drive<br />
* Checks SMART status<br />
** As described above<br />
* Does its own wipe<br />
** writes 1's<br />
** writes 1024 bytes of urandom repeatedly<br />
** checks that the number of bytes successfully written (from the system call perspective) is twice the drive length<br />
* Checks SMART status<br />
** As described above<br />
* Concludes the drive has been successfully wiped with PASSED state<br />
<br />
== EXPLANATION OF DISKTEST STATES ==<br />
<br />
{| class="wikitable"<br />
|-<br />
! State !! Description<br />
|-<br />
| UNTESTED || used while the drive is being tested, or if it failed for unknown reason<br />
|-<br />
| PASSED || if the testing process went without error<br />
|-<br />
| ABORTED || used when the timeout is reached as a fail state<br />
|-<br />
| RETRY || used if smart returns DISKTEST_LOGTO_FGDB2, which indiciates RAID controller issues or odd drive problems are preventing any form of successful SMART testing<br />
|-<br />
| STOPPED || used if the user stops the testing program, using Ctrl-C interrupt<br />
|-<br />
| FAILED || if the system determines part of the test actually failed<br />
|}<br />
<br />
== DATABASE LOGGING ==<br />
<br />
When configured with a DISKTEST_LOGTO_FGDB server to log to, the beginning of the process through the end (if it finishes in any of the above states, not power failure) is logged within the database, including finishing state.<br />
<br />
The saved data can be queried from the data sec sidebar link, or here:<br />
http://data/disktest_runs<br />
<br />
Also, if batch containing a serial number is created on this page:<br />
http://data/disktest_batches (whichs shows batches not yet finalized)<br />
<br />
Then as testing completes (or if it already has), the following status report will be updated, based on data from the above:<br />
http://data/disktest_batches/show/4<br />
(where 4 is the id of the relevant disktest_batch that was created)<br />
<br />
The batch details can also be managed here, such as drives that<br />
have been destroyed, when the batch is finalized (providing report<br />
to user), etc, by using the edit link.</div>Ryan52http://wiki.freegeek.org/index.php?title=Hard_Drive_Testing/Disktest&diff=68963Hard Drive Testing/Disktest2013-10-25T17:50:55Z<p>Ryan52: /* DATABASE LOGGING */ add note about editing</p>
<hr />
<div>Disktest is used to test, wipe and track data destruction on IDE and SATA drives.<br />
<br />
It is automatically configured using settings in lts.conf, deployed via LTSP.<br />
<br />
== TESTING PROCESS ==<br />
<br />
It test each drive in parallel as follows:<br />
* Starts a timer<br />
** This is done using the specified DISKTEST_TIME_LIMIT_PER_GB, in seconds, multiplied by the drive size<br />
** It is ignored if the model name matches DISKTEST_TIME_LIMIT_IGNORED_MODELS<br />
** If the drive is very tiny, it may fall back to DISKTEST_TIME_LIMIT_MINIMUM<br />
** If testing this drive does not finish within the timeout, it is ABORTED<br />
* It initiates a short SMART test<br />
** with flags: '-q', 'silent', '-t', 'short',<br />
* Checks SMART status<br />
** with flags: '-q', 'silent', '--all'<br />
*** IF the bus is not SCSI (meaning SATA/IDE), it also passes also '-d', 'ata'<br />
** If smart returns 2, it stops with RETRY state (which is like a failure)<br />
** If smart returns >2, it stops with FAILED state<br />
* Runs badblocks for testing<br />
** /sbin/badblocks -e 1 -c 1024 -swt 0xffffffff DEV<br />
** if it exists nonzero, we FAIL the drive<br />
* Checks SMART status<br />
** As described above<br />
* Does its own wipe<br />
** writes 1's<br />
** writes 1024 bytes of urandom repeatedly<br />
** checks that the number of bytes successfully written (from the system call perspective) is twice the drive length<br />
* Checks SMART status<br />
** As described above<br />
* Concludes the drive has been successfully wiped with PASSED state<br />
<br />
== EXPLANATION OF DISKTEST STATES ==<br />
<br />
UNTESTED - used while the drive is being tested, or if it failed for unknown reason<br />
PASSED - if the testing process went without error<br />
ABORTED - used when the timeout is reached as a fail state<br />
RETRY - used if smart returns DISKTEST_LOGTO_FGDB2, which indiciates RAID controller issues or odd drive problems are preventing any form of successful SMART testing<br />
STOPPED - used if the user stops the testing program, using Ctrl-C interrupt<br />
FAILED - if the system determines part of the test actually failed<br />
<br />
== DATABASE LOGGING ==<br />
<br />
When configured with a DISKTEST_LOGTO_FGDB server to log to, the beginning of the process through the end (if it finishes in any of the above states, not power failure) is logged within the database, including finishing state.<br />
<br />
The saved data can be queried from the data sec sidebar link, or here:<br />
http://data/disktest_runs<br />
<br />
Also, if batch containing a serial number is created on this page:<br />
http://data/disktest_batches (whichs shows batches not yet finalized)<br />
<br />
Then as testing completes (or if it already has), the following status report will be updated, based on data from the above:<br />
http://data/disktest_batches/show/4<br />
(where 4 is the id of the relevant disktest_batch that was created)<br />
<br />
The batch details can also be managed here, such as drives that<br />
have been destroyed, when the batch is finalized (providing report<br />
to user), etc, by using the edit link.</div>Ryan52http://wiki.freegeek.org/index.php?title=Hard_Drive_Testing/Disktest&diff=68962Hard Drive Testing/Disktest2013-10-25T17:49:42Z<p>Ryan52: Add technical details of disktest and fgdb.rb tracking</p>
<hr />
<div>Disktest is used to test, wipe and track data destruction on IDE and SATA drives.<br />
<br />
It is automatically configured using settings in lts.conf, deployed via LTSP.<br />
<br />
== TESTING PROCESS ==<br />
<br />
It test each drive in parallel as follows:<br />
* Starts a timer<br />
** This is done using the specified DISKTEST_TIME_LIMIT_PER_GB, in seconds, multiplied by the drive size<br />
** It is ignored if the model name matches DISKTEST_TIME_LIMIT_IGNORED_MODELS<br />
** If the drive is very tiny, it may fall back to DISKTEST_TIME_LIMIT_MINIMUM<br />
** If testing this drive does not finish within the timeout, it is ABORTED<br />
* It initiates a short SMART test<br />
** with flags: '-q', 'silent', '-t', 'short',<br />
* Checks SMART status<br />
** with flags: '-q', 'silent', '--all'<br />
*** IF the bus is not SCSI (meaning SATA/IDE), it also passes also '-d', 'ata'<br />
** If smart returns 2, it stops with RETRY state (which is like a failure)<br />
** If smart returns >2, it stops with FAILED state<br />
* Runs badblocks for testing<br />
** /sbin/badblocks -e 1 -c 1024 -swt 0xffffffff DEV<br />
** if it exists nonzero, we FAIL the drive<br />
* Checks SMART status<br />
** As described above<br />
* Does its own wipe<br />
** writes 1's<br />
** writes 1024 bytes of urandom repeatedly<br />
** checks that the number of bytes successfully written (from the system call perspective) is twice the drive length<br />
* Checks SMART status<br />
** As described above<br />
* Concludes the drive has been successfully wiped with PASSED state<br />
<br />
== EXPLANATION OF DISKTEST STATES ==<br />
<br />
UNTESTED - used while the drive is being tested, or if it failed for unknown reason<br />
PASSED - if the testing process went without error<br />
ABORTED - used when the timeout is reached as a fail state<br />
RETRY - used if smart returns DISKTEST_LOGTO_FGDB2, which indiciates RAID controller issues or odd drive problems are preventing any form of successful SMART testing<br />
STOPPED - used if the user stops the testing program, using Ctrl-C interrupt<br />
FAILED - if the system determines part of the test actually failed<br />
<br />
== DATABASE LOGGING ==<br />
<br />
When configured with a DISKTEST_LOGTO_FGDB server to log to, the beginning of the process through the end (if it finishes in any of the above states, not power failure) is logged within the database, including finishing state.<br />
<br />
The saved data can be queried from the data sec sidebar link, or here:<br />
http://data/disktest_runs<br />
<br />
Also, if batch containing a serial number is created on this page:<br />
http://data/disktest_batches (whichs shows batches not yet finalized)<br />
<br />
Then as testing completes (or if it already has), the following status report will be updated, based on data from the above:<br />
http://data/disktest_batches/show/4<br />
(where 4 is the id of the relevant disktest_batch that was created)</div>Ryan52http://wiki.freegeek.org/index.php?title=Hard_Drive_Testing&diff=68961Hard Drive Testing2013-10-25T17:49:12Z<p>Ryan52: as a link formatted</p>
<hr />
<div>''This document is written from the perspective of use in Hardware Testing, but the sections on [[Hard Drive Testing#Starting Disktest|Starting Disktest]], [[Hard Drive Testing#During Testing|During Testing]], and [[Hard Drive Testing#Finishing a Batch|Finishing a Batch]] should be relevant to use in other areas.''<br />
<br />
The technical details of the software used can be found on the [[Hard Drive Testing/Disktest]] page.<br />
<br />
The process of hard drive testing incorporates verification of a drive's SMART status, verification of the drive's ability to write and read all available surface area of the drive, and repeated overwriting of any previous data on the drive to ensure donors' data security.<br />
<br />
The actual work to be done on hard drive testing ideally needs to happen only twice a day; once for a batch of smaller drives (&le;100GB) in the morning and once for a batch of larger drives (>100GB) to run through the afternoon and overnight if necessary.<br />
<br />
'''Important note on Solid State Drives (SSD)''': The testing methodology we employ is intended for magnetic disc media and use on SSDs may not completely remove user data and/or may shorten the useful life of the device. As the number of donated SSDs is beginning to increase we are currently developing an approach for testing and wiping these devices properly; currently any SSDs received are to be securely stored and should ''NOT'' be reused until we can verify secure data destruction.<br />
<br />
==Setting Up==<br />
<br />
If there are finished hard drives already on the racks then proceed to [[Hard Drive Testing#Finishing a Batch|Finishing a Batch]].<br />
<br />
# The drives in the box should be fairly well organized by size and interface. If this is the first batch of the day you'll want to grab smaller drives. If it's the second batch you can go for the larger ones. Load up the tray with an equal number of IDE- and SATA-connected hard drives. Don't forget about the 2.5" (laptop-sized) drives on the smaller top shelf! If they are present and you have the time you should grab a few SCSI drives as well. Be sure to lock up the big brown box again when you're done.<br />
# Take the tray of drives over to one of the wiping racks and start connecting them to the boards. Most boards have 4 connections with various mixtures of IDE and SATA cables.<br />
## Try to keep all the drives connected to a single board around the same size so we don't have 3 smaller drives finished and waiting around sucking electricity while the 1 larger drive is still finishing.<br />
## Look the drives over for identifying information while you're connecting them; be sure you can clearly identify the model and serial number of the drive. You may need this information for sorting the failed drives from the passed drives later on. If you can't find the serial number on a drive then make sure you're attaching it to a board with other drives you can positively identify so you can use process of elimination when identifying the finished drives.<br />
## Check the jumpers on IDE drives and make sure they're set to ''Master''. For most drives this is set by a single jumper positioned vertically between the two pins closest to the IDE pins; check the labels on the drives as they will generally indicate if they require a different arrangement (or default to ''Master'' with no jumpers at all).<br />
## SCSI drives can be tested in the bays attached to board 8 on wiper 0 and 2.<br />
# As soon as you've connected all the drives to a single board, turn it on. You can move on to hooking up another board while the first one boots up and does the initial check of the drives.<br />
# Once a board has finished booting and Disktest has started (you will see a list of the detected hard drives and a prompt asking about drive details) proceed to [[Hard Drive Testing#Starting Disktest|Starting Disktest]].<br />
<br />
==Starting Disktest==<br />
<br />
Disktest is our nifty little in-house hard drive testing and wiping program.<br />
<br />
When Disktest first starts you will be presented with a list of drives that should look something like this:<br />
PASSED sda: -?- IDE 80.0GB <<Seagate SD380830A (5GQ1DB70)>><br />
FAILED sdb: 2.5" IDE 80.0GB <<Samsung SV400AH (173G27Q37282S)>><br />
PASSED sdc: -?- SATA 80.0GB <<Seagate SD380830A (5GQ1HG92)>><br />
PASSED sdd: 3.5" SATA 80.0GB <<Western Digital WD800JBB (WMAMF92810)>><br />
<br />
The information on these lines indicates the following:<br />
* PASSED/FAILED: The SMART status of the drive after the initial test.<br />
* sda/sdb/sdc/sdd: The identifier the system has assigned to the drive.<br />
* -?-/2.5"/3.5": The form factor of the hard drive.<br />
* IDE/SATA: The drive's connection type.<br />
* 80.0GB: The capacity of the attached drive.<br />
* << ... >> : The drive manufacturer, model number, and the device serial number in parenthesis.<br />
<br />
===Form Factor Logging===<br />
If any of the detected drives have an unknown form factor (indicated with -?-) you will receive the following prompt:<br />
<nowiki>Correcting drive details:<br />
1: Correct Serial Numbers<br />
2: Correct Form Factors<br />
3: Finished Making Corrections<br />
What would you like to do?:</nowiki><br />
<br />
Select option 2 and use the following menus to specify the correct form factor for the attached drives. Laptop-sized drives are 2.5", desktop-sized drives are 3.5", and anything else can be recorded as Other. While making changes to form factors be sure to also check that serial numbers are accurate and correct them as necessary; these are required for proper tracking of secure data destruction batches.<br />
<br />
'''Note on form factor logging:''' Hard drives have no way of reporting their form factor, so we are using a system that looks up the form factor associated with the last-tested hard drive of the same model. If you misidentify a drive's form factor it will be misidentified for all subsequently tested drives with the same model number until it is corrected for future devices.<br />
<br />
===Verifying Drive Details===<br />
If you did not need to specify any form factors then the first prompt you will receive is:<br />
Are the hard drive serial numbers and form factors displayed correctly above? [yes]:<br />
If any corrections are necessary then an answer of 'no' will take you to the same data correction submenus you would have been presented with for [[Hard Drive Testing#Form Factor Logging|Form Factor Logging]] above.<br />
<br />
Once all drive details have been confirmed the next prompt will be:<br />
Begin testing the listed drives? [yes]:<br />
<br />
Before starting the test, go through the following checks:<br />
# Are any drives marked as FAILED? If so you will want to abort the test and power off the board then replace the failed drive(s) and start the board again.<br />
# Are all the attached drives on the list? Double check that the power and IDE/SATA cables are firmly connected and try to determine if the disc is actually spinning. If any connections were loose you will need to abort the test and restart the board to redetect the devices. If the connections seem solid and the disc is spinning you may need to try the drive on another board or with another combination of drives; incompatibilities happen.<br />
# Are the drives indicating the capacity they're labeled with? Some variation is normal; a drive labeled 80GB reporting as 83.0GB is common, a drive labeled 200GB indicating 3.4MB is a fail.<br />
# Is the manufacturer and model information accurate? Drives from some manufacturers will report some information as "Unknown" and this is fine, but a string of total gibberish is a good indicator of failure.<br />
# Are the listed form factors and serial numbers correct? At this point there is no further option to make corrections without aborting entirely and starting over, but you ''should'' do so if necessary.<br />
<br />
If you notice any of the above problems then answer 'no' at the prompt. The test will be aborted and you will be given a final status screen that will indicate the drives did not complete testing or were recorded as failed due to a SMART failure.<br />
<br />
If it looks like everything is in order then just strike Enter to give a positive response and the test will begin!<br />
<br />
==During Testing==<br />
<br />
While disktest is running it will output status updates on the drives every few seconds.<br />
<br />
sda: 3.5" IDE 80.0GB <<Seagate SD380830A (5GQ1DB70)>>: 13% of wipe complete - 2:58:02<br />
sdb: 2.5" IDE 80.0GB <<Samsung SV400AH (173G27Q37282S)>>: 80% of badblocks read (part 1) complete - 2:58:02<br />
sdc: 3.5" SATA 80.0GB <<Seagate SD380830A (5GQ1HG92)>>: all tests passed:<br />
---<br />
-smart test passed<br />
-initiating smart self-test<br />
-badblocks test started<br />
-100% of badblocks read (part two) complete<br />
-smart test passed<br />
-disk wipe started<br />
-100% of wipe complete<br />
-disk wipe finished<br />
-smart test passed<br />
-2:08:32<br />
sdd: 3.5" SATA 80.0GB <<Western Digital WD800JBB (WMAMF92810)>> 22% of badblocks write (part 2) complete - 2:58:02<br />
<br />
Any variation on the outputs above is normal. Drive sdc in the example above has successfully finished testing and wiping and is giving it's final status summary. If you notice drives' progress percentages or running time failing to advance this may indicate the system has frozen and needs to be restarted. If you suspect a freeze then make a note of which board it is and what the percentages/times indicated are; check it again in 10 minutes and abort testing if there has been no progress.<br />
<br />
The video output from the board will automatically switch off after a while; if you do not see any output from a running board you can press any key to "wake" the display. However, ''avoid the Enter key as this may accidentally power down a finished test before you can view the results''.<br />
<br />
Testing can be aborted at any time using the keyboard command Ctrl-C. A final status screen will be presented and any drives that have already finished testing will be indicated as such and can be considered passed.<br />
<br />
==Finishing a Batch==<br />
<br />
Once disktest has finished you will be presented with a results screen like this:<br />
sda: 3.5" IDE 80.0GB <<Seagate SD380830A (5GQ1DB70)>><br />
sda passed! Label and store it.<br />
sdb: 2.5" IDE 80.0GB <<Samsung SV400AH (173G27Q37282S)>><br />
sdb failed! Recycle it!<br />
sdc: 3.5" SATA 80.0GB <<Seagate SD380830A (5GQ1HG92)>><br />
sdc passed! Label and store it.<br />
sdd: 3.5" SATA 80.0GB <<Western Digital WD800JBB (WMAMF92810)>><br />
sdd passed! Label and store it.<br />
Hit enter to shut down.<br />
<br />
# Fill out a [[Media:Hard_drive_labels.glabels|hard drive label (Avery 5167)]] for each hard drive that has passed, then physically identify the passed drives.<br />
# Attach the labels to the passed drives. You can either do this while they are still on the rack, or press enter to power down the board and disconnect the drives before labeling them.<br />
## Be certain you have positively identified all drives before powering down the system as there is no easy way to recall these results once the board is off.<br />
## Do not place labels over model numbers, serial numbers, or other identifying information that may be necessary for future tests.<br />
# Place the passed and labeled drives in the green tray to await Hard Drive storage in build room. 80GB-160GB stored in labled crates, 200GB & larger get locked in box 107 in build room.<br />
# [[Hard Drive Testing#Destroying Failed Hard Drives|Destroy failed drives promptly]].<br />
# [[Hard Drive Testing#Setting Up|Start a new batch!]]<br />
<br />
==Related Tasks==<br />
===Destroying Failed Hard Drives===<br />
* 3.5" drives (desktop sized) should be destroyed in the Wheel of Death (hand-cranked drill). Position the drive so that the drill will penetrate the magnetic platters; avoid drilling straight through the spindle as this damages the drive enclosure more than the data-bearing platters and makes them difficult to disassemble in recycling.<br />
* 2.5" drives (laptop sized) can be placed on the floor and struck (not too hard!) with a hammer so that the enclosure is bent in and crushing the platters.<br />
<br />
===Sorting Incoming Hard Drives===<br />
Incoming hard drives will be removed from systems in the SDA by SDA staff only; hard drives will be sorted by size & capacity until wiped; Currently they are grouped by size (&le;100GB, >100GB to <300GB, >300GB/all SCSI) and interface (IDE/SATA).<br />
<br />
===Storing Passed Hard Drives===<br />
* Passed 3.5" (desktop) drives should be stored in the build room. There are crates in the build room labled with the capacity and either SATA, or IDE. There are also special purpose bins for size/interface combinations needed for special systems and projects.<br />
* Passed 2.5" (laptop) drives are stored in the laptop area; the bins are organized by size and interface.<br />
<br />
=== Future: Certificate of Destruction Tracking ===<br />
'''Work In Progress Notes'''<br />
* When we get a box of drives which we will need to generate a report or certificate for, all of the serial numbers will be added to a new "disktest batch" in the database.<br />
** If the donor requires us to track removing them from systems, the optional system serial numbers need to be entered too.<br />
* The "disktest batch" report will then collect information as matching drives are tested until it has a "PASSED" or "destroyed" status for all drives, which will allow the report to be finalized.<br />
** While testing on machines designated for testing "certificate of destruction" drives, undetected or incorrect hard drive serial numbers will need to be entered twice to confirm they are correct. The tester should check they are reported correctly when asked "Are the hard drive serial numbers displayed correctly above?".<br />
** If a drive is not detected in disktest, it can just be marked destroyed.<br />
* Drives that complete testing without a "PASSED" status (FAIL, STOPPED, ABORTED, etc) will need to be marked as "destroyed" in the "disktest batch" record to confirm physical destruction before they can be considered resolved.<br />
** Note: They should be marked as they're being destroyed, or a printed version of the list should be used to track as this happens.<br />
* After all hard drives have either "PASSED" or been marked as "destroyed", the report can be marked as finalized and used.<br />
<br />
[[Category:Hardware Testing]][[Category:howto]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Hard_Drive_Testing&diff=68960Hard Drive Testing2013-10-25T17:48:51Z<p>Ryan52: add link to disktest page</p>
<hr />
<div>''This document is written from the perspective of use in Hardware Testing, but the sections on [[Hard Drive Testing#Starting Disktest|Starting Disktest]], [[Hard Drive Testing#During Testing|During Testing]], and [[Hard Drive Testing#Finishing a Batch|Finishing a Batch]] should be relevant to use in other areas.''<br />
<br />
The technical details of the software used can be found on the [Hard Drive Testing/Disktest] page.<br />
<br />
The process of hard drive testing incorporates verification of a drive's SMART status, verification of the drive's ability to write and read all available surface area of the drive, and repeated overwriting of any previous data on the drive to ensure donors' data security.<br />
<br />
The actual work to be done on hard drive testing ideally needs to happen only twice a day; once for a batch of smaller drives (&le;100GB) in the morning and once for a batch of larger drives (>100GB) to run through the afternoon and overnight if necessary.<br />
<br />
'''Important note on Solid State Drives (SSD)''': The testing methodology we employ is intended for magnetic disc media and use on SSDs may not completely remove user data and/or may shorten the useful life of the device. As the number of donated SSDs is beginning to increase we are currently developing an approach for testing and wiping these devices properly; currently any SSDs received are to be securely stored and should ''NOT'' be reused until we can verify secure data destruction.<br />
<br />
==Setting Up==<br />
<br />
If there are finished hard drives already on the racks then proceed to [[Hard Drive Testing#Finishing a Batch|Finishing a Batch]].<br />
<br />
# The drives in the box should be fairly well organized by size and interface. If this is the first batch of the day you'll want to grab smaller drives. If it's the second batch you can go for the larger ones. Load up the tray with an equal number of IDE- and SATA-connected hard drives. Don't forget about the 2.5" (laptop-sized) drives on the smaller top shelf! If they are present and you have the time you should grab a few SCSI drives as well. Be sure to lock up the big brown box again when you're done.<br />
# Take the tray of drives over to one of the wiping racks and start connecting them to the boards. Most boards have 4 connections with various mixtures of IDE and SATA cables.<br />
## Try to keep all the drives connected to a single board around the same size so we don't have 3 smaller drives finished and waiting around sucking electricity while the 1 larger drive is still finishing.<br />
## Look the drives over for identifying information while you're connecting them; be sure you can clearly identify the model and serial number of the drive. You may need this information for sorting the failed drives from the passed drives later on. If you can't find the serial number on a drive then make sure you're attaching it to a board with other drives you can positively identify so you can use process of elimination when identifying the finished drives.<br />
## Check the jumpers on IDE drives and make sure they're set to ''Master''. For most drives this is set by a single jumper positioned vertically between the two pins closest to the IDE pins; check the labels on the drives as they will generally indicate if they require a different arrangement (or default to ''Master'' with no jumpers at all).<br />
## SCSI drives can be tested in the bays attached to board 8 on wiper 0 and 2.<br />
# As soon as you've connected all the drives to a single board, turn it on. You can move on to hooking up another board while the first one boots up and does the initial check of the drives.<br />
# Once a board has finished booting and Disktest has started (you will see a list of the detected hard drives and a prompt asking about drive details) proceed to [[Hard Drive Testing#Starting Disktest|Starting Disktest]].<br />
<br />
==Starting Disktest==<br />
<br />
Disktest is our nifty little in-house hard drive testing and wiping program.<br />
<br />
When Disktest first starts you will be presented with a list of drives that should look something like this:<br />
PASSED sda: -?- IDE 80.0GB <<Seagate SD380830A (5GQ1DB70)>><br />
FAILED sdb: 2.5" IDE 80.0GB <<Samsung SV400AH (173G27Q37282S)>><br />
PASSED sdc: -?- SATA 80.0GB <<Seagate SD380830A (5GQ1HG92)>><br />
PASSED sdd: 3.5" SATA 80.0GB <<Western Digital WD800JBB (WMAMF92810)>><br />
<br />
The information on these lines indicates the following:<br />
* PASSED/FAILED: The SMART status of the drive after the initial test.<br />
* sda/sdb/sdc/sdd: The identifier the system has assigned to the drive.<br />
* -?-/2.5"/3.5": The form factor of the hard drive.<br />
* IDE/SATA: The drive's connection type.<br />
* 80.0GB: The capacity of the attached drive.<br />
* << ... >> : The drive manufacturer, model number, and the device serial number in parenthesis.<br />
<br />
===Form Factor Logging===<br />
If any of the detected drives have an unknown form factor (indicated with -?-) you will receive the following prompt:<br />
<nowiki>Correcting drive details:<br />
1: Correct Serial Numbers<br />
2: Correct Form Factors<br />
3: Finished Making Corrections<br />
What would you like to do?:</nowiki><br />
<br />
Select option 2 and use the following menus to specify the correct form factor for the attached drives. Laptop-sized drives are 2.5", desktop-sized drives are 3.5", and anything else can be recorded as Other. While making changes to form factors be sure to also check that serial numbers are accurate and correct them as necessary; these are required for proper tracking of secure data destruction batches.<br />
<br />
'''Note on form factor logging:''' Hard drives have no way of reporting their form factor, so we are using a system that looks up the form factor associated with the last-tested hard drive of the same model. If you misidentify a drive's form factor it will be misidentified for all subsequently tested drives with the same model number until it is corrected for future devices.<br />
<br />
===Verifying Drive Details===<br />
If you did not need to specify any form factors then the first prompt you will receive is:<br />
Are the hard drive serial numbers and form factors displayed correctly above? [yes]:<br />
If any corrections are necessary then an answer of 'no' will take you to the same data correction submenus you would have been presented with for [[Hard Drive Testing#Form Factor Logging|Form Factor Logging]] above.<br />
<br />
Once all drive details have been confirmed the next prompt will be:<br />
Begin testing the listed drives? [yes]:<br />
<br />
Before starting the test, go through the following checks:<br />
# Are any drives marked as FAILED? If so you will want to abort the test and power off the board then replace the failed drive(s) and start the board again.<br />
# Are all the attached drives on the list? Double check that the power and IDE/SATA cables are firmly connected and try to determine if the disc is actually spinning. If any connections were loose you will need to abort the test and restart the board to redetect the devices. If the connections seem solid and the disc is spinning you may need to try the drive on another board or with another combination of drives; incompatibilities happen.<br />
# Are the drives indicating the capacity they're labeled with? Some variation is normal; a drive labeled 80GB reporting as 83.0GB is common, a drive labeled 200GB indicating 3.4MB is a fail.<br />
# Is the manufacturer and model information accurate? Drives from some manufacturers will report some information as "Unknown" and this is fine, but a string of total gibberish is a good indicator of failure.<br />
# Are the listed form factors and serial numbers correct? At this point there is no further option to make corrections without aborting entirely and starting over, but you ''should'' do so if necessary.<br />
<br />
If you notice any of the above problems then answer 'no' at the prompt. The test will be aborted and you will be given a final status screen that will indicate the drives did not complete testing or were recorded as failed due to a SMART failure.<br />
<br />
If it looks like everything is in order then just strike Enter to give a positive response and the test will begin!<br />
<br />
==During Testing==<br />
<br />
While disktest is running it will output status updates on the drives every few seconds.<br />
<br />
sda: 3.5" IDE 80.0GB <<Seagate SD380830A (5GQ1DB70)>>: 13% of wipe complete - 2:58:02<br />
sdb: 2.5" IDE 80.0GB <<Samsung SV400AH (173G27Q37282S)>>: 80% of badblocks read (part 1) complete - 2:58:02<br />
sdc: 3.5" SATA 80.0GB <<Seagate SD380830A (5GQ1HG92)>>: all tests passed:<br />
---<br />
-smart test passed<br />
-initiating smart self-test<br />
-badblocks test started<br />
-100% of badblocks read (part two) complete<br />
-smart test passed<br />
-disk wipe started<br />
-100% of wipe complete<br />
-disk wipe finished<br />
-smart test passed<br />
-2:08:32<br />
sdd: 3.5" SATA 80.0GB <<Western Digital WD800JBB (WMAMF92810)>> 22% of badblocks write (part 2) complete - 2:58:02<br />
<br />
Any variation on the outputs above is normal. Drive sdc in the example above has successfully finished testing and wiping and is giving it's final status summary. If you notice drives' progress percentages or running time failing to advance this may indicate the system has frozen and needs to be restarted. If you suspect a freeze then make a note of which board it is and what the percentages/times indicated are; check it again in 10 minutes and abort testing if there has been no progress.<br />
<br />
The video output from the board will automatically switch off after a while; if you do not see any output from a running board you can press any key to "wake" the display. However, ''avoid the Enter key as this may accidentally power down a finished test before you can view the results''.<br />
<br />
Testing can be aborted at any time using the keyboard command Ctrl-C. A final status screen will be presented and any drives that have already finished testing will be indicated as such and can be considered passed.<br />
<br />
==Finishing a Batch==<br />
<br />
Once disktest has finished you will be presented with a results screen like this:<br />
sda: 3.5" IDE 80.0GB <<Seagate SD380830A (5GQ1DB70)>><br />
sda passed! Label and store it.<br />
sdb: 2.5" IDE 80.0GB <<Samsung SV400AH (173G27Q37282S)>><br />
sdb failed! Recycle it!<br />
sdc: 3.5" SATA 80.0GB <<Seagate SD380830A (5GQ1HG92)>><br />
sdc passed! Label and store it.<br />
sdd: 3.5" SATA 80.0GB <<Western Digital WD800JBB (WMAMF92810)>><br />
sdd passed! Label and store it.<br />
Hit enter to shut down.<br />
<br />
# Fill out a [[Media:Hard_drive_labels.glabels|hard drive label (Avery 5167)]] for each hard drive that has passed, then physically identify the passed drives.<br />
# Attach the labels to the passed drives. You can either do this while they are still on the rack, or press enter to power down the board and disconnect the drives before labeling them.<br />
## Be certain you have positively identified all drives before powering down the system as there is no easy way to recall these results once the board is off.<br />
## Do not place labels over model numbers, serial numbers, or other identifying information that may be necessary for future tests.<br />
# Place the passed and labeled drives in the green tray to await Hard Drive storage in build room. 80GB-160GB stored in labled crates, 200GB & larger get locked in box 107 in build room.<br />
# [[Hard Drive Testing#Destroying Failed Hard Drives|Destroy failed drives promptly]].<br />
# [[Hard Drive Testing#Setting Up|Start a new batch!]]<br />
<br />
==Related Tasks==<br />
===Destroying Failed Hard Drives===<br />
* 3.5" drives (desktop sized) should be destroyed in the Wheel of Death (hand-cranked drill). Position the drive so that the drill will penetrate the magnetic platters; avoid drilling straight through the spindle as this damages the drive enclosure more than the data-bearing platters and makes them difficult to disassemble in recycling.<br />
* 2.5" drives (laptop sized) can be placed on the floor and struck (not too hard!) with a hammer so that the enclosure is bent in and crushing the platters.<br />
<br />
===Sorting Incoming Hard Drives===<br />
Incoming hard drives will be removed from systems in the SDA by SDA staff only; hard drives will be sorted by size & capacity until wiped; Currently they are grouped by size (&le;100GB, >100GB to <300GB, >300GB/all SCSI) and interface (IDE/SATA).<br />
<br />
===Storing Passed Hard Drives===<br />
* Passed 3.5" (desktop) drives should be stored in the build room. There are crates in the build room labled with the capacity and either SATA, or IDE. There are also special purpose bins for size/interface combinations needed for special systems and projects.<br />
* Passed 2.5" (laptop) drives are stored in the laptop area; the bins are organized by size and interface.<br />
<br />
=== Future: Certificate of Destruction Tracking ===<br />
'''Work In Progress Notes'''<br />
* When we get a box of drives which we will need to generate a report or certificate for, all of the serial numbers will be added to a new "disktest batch" in the database.<br />
** If the donor requires us to track removing them from systems, the optional system serial numbers need to be entered too.<br />
* The "disktest batch" report will then collect information as matching drives are tested until it has a "PASSED" or "destroyed" status for all drives, which will allow the report to be finalized.<br />
** While testing on machines designated for testing "certificate of destruction" drives, undetected or incorrect hard drive serial numbers will need to be entered twice to confirm they are correct. The tester should check they are reported correctly when asked "Are the hard drive serial numbers displayed correctly above?".<br />
** If a drive is not detected in disktest, it can just be marked destroyed.<br />
* Drives that complete testing without a "PASSED" status (FAIL, STOPPED, ABORTED, etc) will need to be marked as "destroyed" in the "disktest batch" record to confirm physical destruction before they can be considered resolved.<br />
** Note: They should be marked as they're being destroyed, or a printed version of the list should be used to track as this happens.<br />
* After all hard drives have either "PASSED" or been marked as "destroyed", the report can be marked as finalized and used.<br />
<br />
[[Category:Hardware Testing]][[Category:howto]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Tech_Support_Intake_Blurb&diff=68781Tech Support Intake Blurb2013-10-05T22:46:29Z<p>Ryan52: /* Data Transfers and Backup */</p>
<hr />
<div>=Tech Support Important Information=<br />
We provide free technical support on systems during the stipulated warranty period, provided that the original operating system (Xubuntu 12.04 or Ubuntu 10.04*) is still installed; and no major changes to the hardware have been made, Store bought systems are warrantied for 6 months (this does not apply to servers, non-Intel Macs, XBMC and Gaming Rigs - all of which are not covered by Tech Support).<br />
<br />
After the original warranty period has elapsed, items will be supported on a pay-as-you-go basis for $10 an issue for 1 year - replacement hardware costs are extra. We can only help solve your tech support issues if the original operating system that came with your machine is still installed. Any systems which fall outside of the times listed above beyond this will be dealt with only at our discretion. <br />
==Tech Support Dropoff==<br />
By bringing an item to us you are agreeing to the policies laid out below.<br />
*We take no responsibility for any item left outside our scheduled hours, or when the door is closed. <br />
*We do not guarantee that we will be able to fix your computer. <br />
*We do not replace machines out of warranty, or "on demand" in warranty. <br />
*We take the following items only:<br />
**Computer/Desktop Towers<br />
**Laptops + Power supplies (if needed for troubleshooting)<br />
**Components purchased in the Free Geek thrift store that you want us to install. <br />
*We will not take responsibility for anything else that we have not explicitly requested from you. This includes, but is not limited to: laptop bags, power cords, monitors, printers, keyboards, mice, CD's and DVD's and USB devices we are not installing. YOU LEAVE THESE ITEMS AT YOU OWN RISK AND WE RESERVE THE RIGHT TO DISPOSE OF THESE ITEMS AT ANY TIME UNLESS WE HAVE ASKED YOU TO LEAVE THEM. <br />
*Free Geek reserves the right to deny support to customers who abuse the tech support privileges. Whenever possible, customers will be warned that further abuse will result in denial of support. <br />
*These policies do not constitute any form of guarantee or indemnity. All items are left at your own risk. <br />
*We reserve the right to refuse to work on a system, change the pricing structure, and/or change these policies at any time. <br />
==Tech Support Collection==<br />
Hours for collection are: Tuesday through Saturday, in between the hours of 12:00 - 5:45.<br />
<br />
We require the yellow ticket that was issued to you when you dropped off your items, or a valid photo id, in order to collect items that were registered in our repair system.<br />
<br />
Please make sure to collect all your personal items before leaving Free Geek.<br />
== Data Transfers and Backup == <br />
Tech Support can transfer data from your previous computer to a new computer purchased or adopted from Free Geek free of charge.<br />
Data backups to DVD or external hard drive is also available for a fee. Please see current service pricing and conditions posted at the Tech Support intake desk.</div>Ryan52http://wiki.freegeek.org/index.php?title=Tech_Support_Intake_Blurb&diff=68780Tech Support Intake Blurb2013-10-05T22:45:43Z<p>Ryan52: remove empty lines?</p>
<hr />
<div>=Tech Support Important Information=<br />
We provide free technical support on systems during the stipulated warranty period, provided that the original operating system (Xubuntu 12.04 or Ubuntu 10.04*) is still installed; and no major changes to the hardware have been made, Store bought systems are warrantied for 6 months (this does not apply to servers, non-Intel Macs, XBMC and Gaming Rigs - all of which are not covered by Tech Support).<br />
<br />
After the original warranty period has elapsed, items will be supported on a pay-as-you-go basis for $10 an issue for 1 year - replacement hardware costs are extra. We can only help solve your tech support issues if the original operating system that came with your machine is still installed. Any systems which fall outside of the times listed above beyond this will be dealt with only at our discretion. <br />
==Tech Support Dropoff==<br />
By bringing an item to us you are agreeing to the policies laid out below.<br />
*We take no responsibility for any item left outside our scheduled hours, or when the door is closed. <br />
*We do not guarantee that we will be able to fix your computer. <br />
*We do not replace machines out of warranty, or "on demand" in warranty. <br />
*We take the following items only:<br />
**Computer/Desktop Towers<br />
**Laptops + Power supplies (if needed for troubleshooting)<br />
**Components purchased in the Free Geek thrift store that you want us to install. <br />
*We will not take responsibility for anything else that we have not explicitly requested from you. This includes, but is not limited to: laptop bags, power cords, monitors, printers, keyboards, mice, CD's and DVD's and USB devices we are not installing. YOU LEAVE THESE ITEMS AT YOU OWN RISK AND WE RESERVE THE RIGHT TO DISPOSE OF THESE ITEMS AT ANY TIME UNLESS WE HAVE ASKED YOU TO LEAVE THEM. <br />
*Free Geek reserves the right to deny support to customers who abuse the tech support privileges. Whenever possible, customers will be warned that further abuse will result in denial of support. <br />
*These policies do not constitute any form of guarantee or indemnity. All items are left at your own risk. <br />
*We reserve the right to refuse to work on a system, change the pricing structure, and/or change these policies at any time. <br />
==Tech Support Collection==<br />
Hours for collection are: Tuesday through Saturday, in between the hours of 12:00 - 5:45.<br />
<br />
We require the yellow ticket that was issued to you when you dropped off your items, or a valid photo id, in order to collect items that were registered in our repair system.<br />
<br />
Please make sure to collect all your personal items before leaving Free Geek.<br />
== Data Transfers and Backup == <br />
Tech Support can transfer data from your previous computer to a new computer purchased or adopted from Free Geek free of charge.<br />
<br />
Data backups to DVD or external hard drive is also available for a fee. Please see current service pricing and conditions posted at the Tech Support intake desk.</div>Ryan52http://wiki.freegeek.org/index.php?title=Tech_Support_Intake_Blurb&diff=68779Tech Support Intake Blurb2013-10-05T22:44:57Z<p>Ryan52: shorten data transfer thanks to suggestions by Patrick</p>
<hr />
<div>=Tech Support Important Information=<br />
We provide free technical support on systems during the stipulated warranty period, provided that the original operating system (Xubuntu 12.04 or Ubuntu 10.04*) is still installed; and no major changes to the hardware have been made, Store bought systems are warrantied for 6 months (this does not apply to servers, non-Intel Macs, XBMC and Gaming Rigs - all of which are not covered by Tech Support).<br />
<br />
After the original warranty period has elapsed, items will be supported on a pay-as-you-go basis for $10 an issue for 1 year - replacement hardware costs are extra. We can only help solve your tech support issues if the original operating system that came with your machine is still installed. Any systems which fall outside of the times listed above beyond this will be dealt with only at our discretion. <br />
==Tech Support Dropoff==<br />
By bringing an item to us you are agreeing to the policies laid out below.<br />
*We take no responsibility for any item left outside our scheduled hours, or when the door is closed. <br />
*We do not guarantee that we will be able to fix your computer. <br />
*We do not replace machines out of warranty, or "on demand" in warranty. <br />
*We take the following items only:<br />
**Computer/Desktop Towers<br />
**Laptops + Power supplies (if needed for troubleshooting)<br />
**Components purchased in the Free Geek thrift store that you want us to install. <br />
*We will not take responsibility for anything else that we have not explicitly requested from you. This includes, but is not limited to: laptop bags, power cords, monitors, printers, keyboards, mice, CD's and DVD's and USB devices we are not installing. YOU LEAVE THESE ITEMS AT YOU OWN RISK AND WE RESERVE THE RIGHT TO DISPOSE OF THESE ITEMS AT ANY TIME UNLESS WE HAVE ASKED YOU TO LEAVE THEM. <br />
*Free Geek reserves the right to deny support to customers who abuse the tech support privileges. Whenever possible, customers will be warned that further abuse will result in denial of support. <br />
*These policies do not constitute any form of guarantee or indemnity. All items are left at your own risk. <br />
*We reserve the right to refuse to work on a system, change the pricing structure, and/or change these policies at any time. <br />
==Tech Support Collection==<br />
Hours for collection are: Tuesday through Saturday, in between the hours of 12:00 - 5:45.<br />
<br />
We require the yellow ticket that was issued to you when you dropped off your items, or a valid photo id, in order to collect items that were registered in our repair system.<br />
<br />
Please make sure to collect all your personal items before leaving Free Geek.<br />
<br />
== Data Transfers and Backup == <br />
Tech Support can transfer data from your previous computer to a new computer purchased or adopted from Free Geek free of charge.<br />
<br />
Data backups to DVD or external hard drive is also available for a fee. Please see current service pricing and conditions posted at the Tech Support intake desk.</div>Ryan52http://wiki.freegeek.org/index.php?title=Free_Geek_Email&diff=67788Free Geek Email2013-06-27T20:16:10Z<p>Ryan52: /* IMAP */ s/squirrelmail/roundcube/</p>
<hr />
<div>There are three different interfaces that can be used to access your Free Geek email: POP3, IMAP, and Roundcube (web mail). Each of them has its advantages and disadvantages.<br />
<br />
== Roundcube web mail client ==<br />
<br />
'''Roundcube''' is probably the easiest way to access your email, since it involves only a web browser and can be used from any location.<br />
<br />
Go to https://mail.freegeek.org and enter your username (whoyouis) '''or''' email address (whoyouis@freegeek.org) in the Name field and your email password in the Password field.<br />
<br />
== Client based email ==<br />
Use the following settings to connect from an email client such as Evolution or Thunderbird. The server port is included below for clarity, but is usually automatically set when you choose the encryption type.<br />
<br />
===Receiving email===<br />
==== IMAP ====<br />
<br />
IMAP allows you to access your email from anywhere and leave the email on a server, but requires a separate email program. Most email programs (even windows ones) can handle IMAP. The main disadvantage of IMAP (and webmail) <del>is</del> was that the messages are inaccessible when you are offline. Any decent modern mail client has an option to sync mail locally so this is no longer a real problem. (Fun Fact:Roundcube uses IMAP behind the scenes).<br />
<br />
*Protocol - IMAP<br />
*Server - mail.freegeek.org<br />
*username - the first part of your email before the @ symbol.<br />
*server port - 993<br />
*Encryption - SSL<br />
*Authentication - Plain Text<br />
<br />
==== POP3 ====<br />
The "old traditional" email system. POP downloads the email to your machine, making it inaccessible from other locations unless you choose to leave a copy of the email on the server (which does not always work well with all clients). There is no reason to use it and you should not do so. "I've always used it" is not a reason, never mind a good one. Use IMAP instead, and sync your mail locally.<br />
<br />
*Protocol - POP3<br />
*Server - mail.freegeek.org<br />
*username - the first part of your email before the @ symbol.<br />
*server port - 995<br />
*Encryption - SSL<br />
*Authentication - Plain Text<br />
<br />
=== Sending mail ===<br />
==== Inside the Free Geek network (plugged into the wired network) ====<br />
'''NOTE:''' Wireless access, even when you're physically at Free Geek, is actually "outside" the network. So for wireless access, see the next section instead.<br />
<br />
*Protocol - SMTP<br />
*Server - mail.freegeek.org<br />
*Server port - 25<br />
*Encryption - none<br />
*Authentication - none<br />
<br />
==== Outside the Free Geek network (or on FG wireless) ====<br />
Our SMTP server (mail.freegeek.org) is an authenticating SMTP server, this means you can send email from anywhere as log as you log in first. This works inside the network as well. You don't need to do anything special to login as your email program will take care of it as long as you give the correct username and password. N.B. this differs form the one you use to read your email. It needs the @freegeek.org part as well.<br />
<br />
*Protocol - SMTP<br />
*Server - mail.freegeek.org<br />
*username - username@freegeek.org<br />
*Server port - 465<br />
*Encryption - SSL<br />
*Authentication - Plain Text<br />
<br />
'''NOTES:''' <br />
<br />
You may receive a "greylisting" error message when sending to a freegeek address, even with your smtp server set to mail.freegeek.org. If this happens, just resend the message after 5 minutes have passed.<br />
<br />
If you go to a location that blocks outgoing SMTP, you may not be able to send email from a mail client, though using authenticated SMTP over SSL generally still works. In these cases, you man use the web interface described above to send mail.<br />
<br />
== Misc. ==<br />
<br />
'''To change your password''', use the web interface:<br />
<br />
[https://mail.freegeek.org/password Email Password Change Web Interface]<br />
<br />
Or if that doesn't work, contact [[Technocrats]].<br />
<br />
'''your address plus''' - mail addressed to "whoyouis+stuff@freegeek.org" will get delivered just the same as mail to "whoyouis@freegeek.org". You might use this feature to give different addresses to different sign-up services. Note: You must use a "+" sign. More information on this can be found at the Wikipedia article [[wikipedia:E-mail address#Plus (or Minus) addressing]].<br />
<br />
<br />
[[Category:Tech support]]<br />
[[Category:howto]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Employee_Orientation_Resources&diff=67787Employee Orientation Resources2013-06-27T20:15:38Z<p>Ryan52: /* Avenues of Communication */ Update email instructions for Roundcube (and more details)</p>
<hr />
<div>{{draft}}<br />
<br />
This page is designed to provide new staff members with the resources they need to succeed at Free Geek. There is a large amount of information on this page (and in all of the pages linked to on this page), and it is not intended to be digested all at once. Rather, use this page as a hub for navigating relevant wiki pages and finding the information you need to do your job during your first weeks and months at Free Geek. If you have any questions about what you find here, speak with your supervisor or designated trainer (or ask any staff member who has been around for a while). <br />
<br />
==Overview of the Organization==<br />
===Organizational Structure===<br />
; [[Media:FreeGeekOrgChart032813.pdf | Who's who by department]]<br />
<br />
; [[Media:ProposedDeptOrgChartFeb2013.pdf | Functional org chart]] (last updated in February)<br />
<br />
; Non-profit Status<br />
: Free Geek is a 501(c)3 nonprofit organization according to the IRS. What does this mean? Learn more at: [[Free Geek's status as a nonprofit]]. Additionally, all nonprofits are overseen by a board of directors--find out more about what they do and who they are at our [[Board of Directors]] page.<br />
<br />
===Decision-making===<br />
; Statement on [[Media:FG_decision_making_2_13_2013_FINAL.pdf | decision-making at Free Geek]] approved at the Board's February 6 meeting, amended at the Board's February 13 meeting.<br />
: This document describes the general principles for how decisions are made at Free Geek and outlines the basic relationships between the Board of Directors, staff, and all other stakeholders. <br />
<br />
; Consensus process<br />
: Many decisions at Free Geek are first approached using the consensus process. Consensus is a group process in which the input of each group member is considered carefully and the ultimate decision reflects general agreement (not to be confused with majority rule or unanimity rule). It is a good idea to learn about how consensus works as you begin attending meetings. [[Consensus]] is a good page to look at as you start learning about this process.<br />
<br />
===Mission Statement===<br />
Free Geek's [[Mission Statement]] is: ''to recycle technology and provide access to computers, the Internet, education and job skills in exchange for community service.'' This statement serves as a basis for all Free Geek programming and decision-making. As a 501(c)3 nonprofit, we are legally obligated to work in ways that are in line with this mission statement. <br />
<br />
===Principles===<br />
Free Geek and its affiliates ([[Free Geek Startups]] around North America) are guided by [[Free Geek Principles]]. These include our basic values and serve as guidelines for how we do business. In addition to following our mission statement, our principles state that we will:<br />
*Dispose of equipment in an ethical and environmentally responsible manner. <br />
*Use Free/Open Source Software wherever possible and must promote the Free Software philosophy in other ways, such as transparent collaboration with others (see [http://en.wikipedia.org/wiki/Free_and_open-source_software FOSS wikipedia entry] for more info)<br />
*Provide low- and no-cost computer technology and training to their community. <br />
*Be democratically run in a non-hierarchical way that is open and transparent to all participants in its programs. <br />
*Be a non-profit business (as legally defined in their location) and must follow honest business practices and have the stated goal of advancing the common good.<br />
<br />
==Personnel Policies==<br />
===HR Policies===<br />
The following is a list of official policies (and less official guidelines) related to Human Resources. Please note that some policies apply to all employees, whereas others apply to only to managers or to bargaining unit employees. See your supervisor/designated trainer or the Human Resources Partner (Mark) if you have any questions. <br />
<br />
; [[Collective Bargaining Agreement#Article Eleven - Wages|Wages]] (applies to non-collective only)<br />
; [[Collective Bargaining Agreement#Article Twelve - Benefits|Benefits]] (See also [[Employee Rights and Benefits]])<br />
; [[Holiday Policy]]<br />
; [[Collective Bargaining Agreement#Article Ten - Paid Time Off (PTO)|Paid Time Off]]<br />
; [[Call-In Policy]]<br />
; [[Collective Bargaining Agreement#Article Five - Shifts and Vacancies|Breaks and Scheduling]] (See also [http://www.oregon.gov/BOLI/TA/T_FAQ_Meal_and_Rest_Period_Rules.shtml Oregon Meal and Rest Period Rules])<br />
; [[Logging hours and overtime policy]]<br />
; [[Collective Bargaining Agreement#Article Twenty-Five - Calculation of Hours|Standard Weekly Hours]]<br />
; [[Maternity-Paternity Leave]]<br />
; [[Determining Seniority Policy]]<br />
; [[Employee Class Attendance Policy]]<br />
; [[Staff Hardware Disbursement Guideline]]<br />
; [[Reimbursement Policy]]<br />
; [[Discrimination Compliance Policy]]<br />
; [[Sexual Harassment Policy]]<br />
; [[Collective Member Review Policy]]<br />
; [[Bargaining Unit Review Process]]<br />
; [[Formal Complaint Procedure]]<br />
; [[Staff Discipline Policy]]<br />
; [[Expectations for All Paid Workers]]<br />
<br />
===Collective Bargaining Agreement===<br />
The [[Collective Bargaining Agreement]] (CBA) is a contract between the Bargaining Unit (all non-collective staff members) and the Management (the Collective), signed July of 2011 and effective until July of 2013. The Bargaining Unit is represented by the Communication Workers of America (CWA), Local 7901, which is generally referred to as the [[Union]]. All Bargaining Unit staff hired after the signing of the CBA are required to be dues-paying members of the Union, but can decide how actively they would like to participate in Union activities. All Bargaining Unit staff members, regardless of start date, are protected by the agreements made in the contract. If you have any questions about the Union or the CBA, see a Union shop steward (currently Vagrant, Eli, and Liliana) or the Human Resources Partner (Mark).<br />
<br />
==Tools of the Trade==<br />
===Avenues of Communication===<br />
Free Geek uses several different systems to communicate and document information. Knowing which system to use and how to use it can be somewhat of an art, but this overview should give you a good sense for what's what. One of Free Geek's founding principles is transparency, so if you're ever in doubt as to whether to communicate or document something, you should probably do it. As usual, if you have any questions, see your supervisor/designated trainer or any staff member who has been around for a while. <br />
<br />
; Email<br />
All Free Geek staff members (and some interns) have a Free Geek email address ending with ATfreegeekDOTorg. We rely on email heavily to communicate a wide range of information, and it is best to check your email at least once or twice a day. <br />
<br />
You can email individual staff members (see [[Handles]] for staff emails) or, as is more common, you can email a list. Email lists (see [http://lists.freegeek.org/list.html the list of lists] here) have been set up for various committees, floor areas, and other groups to facilitate easy sharing of relevant information between the appropriate parties. During your first days here, you should be subscribed to the lists that are relevant to your job description, which will include your floor areas and committees, along with the lists that all staff members are on (such as paidworkers, regulars, minutes, etc.). <br />
<br />
Please review [[Netiquette at Free Geek]], which outlines our guidelines for appropriate email use. <br />
<br />
You can check your email from any web browser using [https://mail.freegeek.org/ Roundcube], but it is recommended that you install an email client on your laptop such as Mozilla Thunderbird (see [[Thunderbird webmail]] and [[Free Geek Email]] for more details). <br />
<br />
; Wiki<br />
The Wiki (aka Freekiwiki) is a tool for collaborative documentation and sharing information among the Free Geek community. Most of the wiki is open to the public for viewing, but you must have a wiki account to edit pages. The Secure Staff Wiki is viewable and editable only by managers, as it mostly includes personnel issues and other confidential topics.<br />
<br />
All Free Geek staff members are expected to use the wiki to seek information pertinent to their role and will at least occasionally need to edit/update wiki pages. The wiki is a huge and valuable repository of information--there are currently over 2,000 pages--but finding the information that you need and sifting through outdated pages can be a somewhat daunting task. <br />
<br />
Some helpful tips:<br />
*Check out [[Help:Contents]] for a list of useful help pages. <br />
*Review [[Freekiwiki best practices]] for guidelines on how we should be using the wiki. <br />
*Look over [[Wiki Tutorial]] (including the source code--just hit "edit") to learn some basic formatting<br />
*If you need to find information and you don't know exactly where it is, use the ''google search''--> "search our wiki" on the side bar; the main search box (also on the side bar) works best if you know the exact wording of a page title. <br />
*Browse [[Special:Categories]] to find groupings of pages all related to a particular category.<br />
<br />
You should have a training session scheduled with your supervisor/designated trainer in order to learn more about navigating and editing the wiki, but a great way to learn is to dive in and start practicing in the [[Sandbox]]. <br />
<br />
; RT<br />
<br />
[[RT]], or ''Request Tracker'' is a system for collaboratively keeping track of tasks. We use RT in a variety of contexts at Free Geek, and all staff members should have at least a basic understanding of its functions. Certain areas, like Tech Support and Hardware Grants, use RT frequently to document the work that has been completed for particular tasks. Other reasons for using RT include requesting supplies, requesting technical changes or features from the [[Technocrats]], requesting schedule changes, etc. Learning which queue (ie, which list of tasks) to use will ensure that your requests and documentation are viewed by the appropriate people. <br />
<br />
You should have a training session scheduled with your supervisor/designated trainer that includes an RT tutorial, but in the meantime, check out [[Learning RT]]. <br />
<br />
; Talon<br />
Talon is our current Application Server. Every staff member has a Talon username and password set up so that you can log in to your "virtual desktop" from any computer on the network. This is a great way to store data on a central server that you can access from anywhere in the building; there are also shared folders on Talon so that working groups can access and edit collaborative documents/projects. <br />
<br />
On a diskless terminal (a computer with no hard drive--it boots from the network), you can sign into Talon on the initial sign-in screen. From any other computer (such as your laptop), you can connect to Talon by doing the following: <br />
# Go to '''Places >>> Connect to Server...'''<br />
# Change "Service Type" to "SSH". <br />
# For Server, type in "talon"<br />
# For User Name, type in your username<br />
# Click Connect<br />
# You will be prompted for your password, and then you should have a Talon file browser pop up, which includes your home folder and all shared folders.<br />
<br />
; Database<br />
<br />
The Free Geek Database ([[FGdb]]) is the in-house software that helps us keep track of a wide variety of data, including volunteer and donor info, gizmo flow, income, staff hours, and more. You can access the database while on the Free Geek network (not wireless) by typing "data" into the address line (where you'd usually put a full URL). Some of the database is visible to anyone, but most features can only be accessed by having a username and password. <br />
<br />
Some things that all staff members should be able to do on the database include logging staff hours and checking the volunteer schedule. Depending on your job, you may use the database for many other tasks, like logging volunteer hours, viewing reports on the gizmos and money flowing through our organization, etc. <br />
<br />
You should have a training session scheduled with your supervisor/designated trainer that includes a wiki tutorial, but in the meantime, log in and start looking around.<br />
<br />
; Phones<br />
<br />
Free Geek has a multi-line phone system in place throughout the building, and it is very likely that you will use at least one of these phones. Some phones are for specific people at their desk (staff who are likely to be called directly), and some phones are in shared areas (like the front desk and meeting room). Learn about how to use the phones at [[Phone System Howto]], or ask a staff member (or front desk intern) who is familiar with their functions. Also, check out the [[Phone Extension List]] for a list of staff/areas with phones and their extension. <br />
<br />
; Meetings<br />
<br />
As a Free Geek staff member, you will most likely participate in at least one regularly scheduled meeting. Many of the decisions made and actions taken at Free Geek are result of the work of groups that meet on a regular basis. We also have bi-monthly [[All Staff Meetings]] to make sure that everyone on staff is up on the big happenings in the organization. <br />
<br />
Meetings are frequently run by a facilitator and documented by a scribe, and these roles generally rotate in a predictable manner through the attendees of that meeting. Check out [[Meeting Tips]] to learn more about the responsibilities of the facilitator and scribe (and [[Scribe]] for even more tips). Your supervisor/designated trainer should do a [[Facilitator/Scribe Training]] with you before you are expected to take these roles on.<br />
<br />
===Budget and Spending===<br />
Since 2010, Free Geek's annual budget has been approximately $1.2 million. Budgeting and financial updates are emailed out to the board and staff on a monthly basis by the Administrative Services Department. Our biggest expense is staffing, with rent/occupancy coming in a distant second. Our biggest sources of income are 1) the thrift store, 2) recycling, and 3) monetary donations. Learn more about the budget at [[Budgets Spending and Administration]]. <br />
<br />
Free Geek will reimburse staff, volunteers, and board members for reasonable expenses incurred that are directly related to Free Geek's operation and mission. If you are unsure as to whether Free Geek will foot the bill for a particular expense, check with your supervisor or Department Point Person. Expenses that are under $100 require no approval--you can go for it and document the transaction using the [[Media:Iou-reimbursement.odt|IOU/Reimbursement Form]] at the Donations Desk. Anything over $100 will require some amount of approval; see [[Staff Spending Guidelines]] for more details. Free Geek also reimburses for mileage costs when driving a personal vehicle on Free Geek business; see [[Reimbursement for mileage]].<br />
<br />
==Who we are & What we do==<br />
===Overview of Programs===<br />
As a staff member, it is important for you to have a basic understanding of Free Geek's programs so that you can answer questions and let volunteers know what opportunities exist. Below is a list of our main programs (and their sub-programs)<br />
<br />
* '''[[Adoption Program]]''': Work 24 hours in either Receiving or Recycling, and earn a [[FreekBox]] computer. <br />
* '''[[Build Program]]''': A step-by-step program in which you learn the process for evaluating and refurbishing computers. If you build 5 for us, you can build the 6th for yourself (within [[FreekBox]] specs) to take home. <br />
** '''[[Laptop|Laptop Build]]''': An Advanced Build (or post-Build) program in which volunteers evaluate and build laptops for Hardware Grants and the Thrift Store. Only volunteers who have completed the regular Build program can request to work in Laptops. <br />
** '''[[MacBuild]]''' (or MacLand): An Advanced Build (or post-Build) program in which volunteers evaluate and build Macintosh/Apple computers, mostly for the Thrift Store or Online Sales. Only volunteers who have completed the regular Build program can request to work in MacLand.<br />
* '''Volunteer Internships''': Regularly scheduled volunteer positions (usually once or twice a week) in which the intern takes on some heightened level of responsibility as compared to a "normal" volunteer, generally designed to help people develop job skills. We have internships in many areas, including Tech Support, the Front Desk, Hardware Testing, Recycling, Hardware Grants, etc. See program description and currently available internships on the [http://www.freegeek.org/volunteer/internships/ website].<br />
* '''[[Hardware Grants]]''': Our program for giving out computers and other hardware to qualifying organizations (generally community service/social change organizations). Learn more about the process and who qualifies on the [http://www.freegeek.org/about/grants/ website]. <br />
* '''Education Program''': Computer classes taught by Free Geek volunteers that are free and open to the general public (as long as they sign up at the front desk. See the [http://www.freegeek.org/about/education/ website] for more info and a current class listing. <br />
* '''Sales''': The overarching department for selling gizmos that have been donated. This is what keeps our organization afloat!<br />
** '''[[Thrift Store]]''': The retail center in Free Geek where people can purchase used gizmos. The store is the largest component of sales by a good bit.<br />
** '''[[Online Sales]]''': Some of the gizmos that come through are sold on Ebay. <br />
** '''Bulk Sales''': Some other gizmos that come through are sold to "bulk buyers"--representatives from businesses who shop from the warehouse and buy things like printers and wall warts that we have too much of.<br />
<br />
===Oregon E-Cycles===<br />
Free Geek is an official collection site for Oregon E-Cycles, a program established by Oregon's Electronics Recycling Law in 2009 that makes it easy and affordable to recycle electronics. Any individual, household, or small business (fewer than 10 employees) can recycle computers, monitors, or televisions for free at any E-cycles collection site. Businesses with more than 10 employees may be charged a fee if they bring more than seven of the mentioned electronic devices for recycling. <br />
<br />
As a collection site for Oregon E-Cycles, we are audited each year to ensure that we are following proper procedures and maintaining environmentally responsible recycling practices. It is important for Free Geek staff members to understand the program so that we can inform our donors about how it works and uphold proper procedures. To learn more, see [[Ewaste Training]] or visit the [http://www.deq.state.or.us/lq/ecycle/index.htm Oregon DEQ website].<br />
<br />
===Free Geek Elevator Speech===<br />
===Free Geek History and Culture===<br />
==Health & Safety==<br />
Free Geek is a light industrial work place, and it's very important for staff and volunteers to follow safety protocols. During your first weeks, you should have a safety orientation with Darryl or a representative of the [[Safety Committee]]. In the meantime, please read our [[Safety|Safety Policy]] and learn how to give a [[Safety Spiel]] to volunteers. <br />
<br />
All employees should also be familiar with our [[First Aid Kits]]--where they are, what's in them, and how to use them. If you ever take action to assist an injured person on Free Geek premises, please follow our [[Injury Logging Procedure]]. Finally, you should be familiar with the [[Evacuation Plan]] in case of emergency that requires vacating the building.<br />
<br />
==Appendices==<br />
===Free Geek Glossary===<br />
<br />
[[Category:HR]] [[Category:Orientation]] [[Category:Howto]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Free_Geek_Email&diff=67786Free Geek Email2013-06-27T20:12:32Z<p>Ryan52: s/Squirrelmail/Roundcube (web mail)/</p>
<hr />
<div>There are three different interfaces that can be used to access your Free Geek email: POP3, IMAP, and Roundcube (web mail). Each of them has its advantages and disadvantages.<br />
<br />
== Roundcube web mail client ==<br />
<br />
'''Roundcube''' is probably the easiest way to access your email, since it involves only a web browser and can be used from any location.<br />
<br />
Go to https://mail.freegeek.org and enter your username (whoyouis) '''or''' email address (whoyouis@freegeek.org) in the Name field and your email password in the Password field.<br />
<br />
== Client based email ==<br />
Use the following settings to connect from an email client such as Evolution or Thunderbird. The server port is included below for clarity, but is usually automatically set when you choose the encryption type.<br />
<br />
===Receiving email===<br />
==== IMAP ====<br />
<br />
IMAP allows you to access your email from anywhere and leave the email on a server, but requires a separate email program. Most email programs (even windows ones) can handle IMAP. The main disadvantage of IMAP (and webmail) <del>is</del> was that the messages are inaccessible when you are offline. Any decent modern mail client has an option to sync mail locally so this is no longer a real problem. (Fun Fact:Squirrel Mail users IMAP behind the scenes).<br />
<br />
*Protocol - IMAP<br />
*Server - mail.freegeek.org<br />
*username - the first part of your email before the @ symbol.<br />
*server port - 993<br />
*Encryption - SSL<br />
*Authentication - Plain Text<br />
<br />
==== POP3 ====<br />
The "old traditional" email system. POP downloads the email to your machine, making it inaccessible from other locations unless you choose to leave a copy of the email on the server (which does not always work well with all clients). There is no reason to use it and you should not do so. "I've always used it" is not a reason, never mind a good one. Use IMAP instead, and sync your mail locally.<br />
<br />
*Protocol - POP3<br />
*Server - mail.freegeek.org<br />
*username - the first part of your email before the @ symbol.<br />
*server port - 995<br />
*Encryption - SSL<br />
*Authentication - Plain Text<br />
<br />
=== Sending mail ===<br />
==== Inside the Free Geek network (plugged into the wired network) ====<br />
'''NOTE:''' Wireless access, even when you're physically at Free Geek, is actually "outside" the network. So for wireless access, see the next section instead.<br />
<br />
*Protocol - SMTP<br />
*Server - mail.freegeek.org<br />
*Server port - 25<br />
*Encryption - none<br />
*Authentication - none<br />
<br />
==== Outside the Free Geek network (or on FG wireless) ====<br />
Our SMTP server (mail.freegeek.org) is an authenticating SMTP server, this means you can send email from anywhere as log as you log in first. This works inside the network as well. You don't need to do anything special to login as your email program will take care of it as long as you give the correct username and password. N.B. this differs form the one you use to read your email. It needs the @freegeek.org part as well.<br />
<br />
*Protocol - SMTP<br />
*Server - mail.freegeek.org<br />
*username - username@freegeek.org<br />
*Server port - 465<br />
*Encryption - SSL<br />
*Authentication - Plain Text<br />
<br />
'''NOTES:''' <br />
<br />
You may receive a "greylisting" error message when sending to a freegeek address, even with your smtp server set to mail.freegeek.org. If this happens, just resend the message after 5 minutes have passed.<br />
<br />
If you go to a location that blocks outgoing SMTP, you may not be able to send email from a mail client, though using authenticated SMTP over SSL generally still works. In these cases, you man use the web interface described above to send mail.<br />
<br />
== Misc. ==<br />
<br />
'''To change your password''', use the web interface:<br />
<br />
[https://mail.freegeek.org/password Email Password Change Web Interface]<br />
<br />
Or if that doesn't work, contact [[Technocrats]].<br />
<br />
'''your address plus''' - mail addressed to "whoyouis+stuff@freegeek.org" will get delivered just the same as mail to "whoyouis@freegeek.org". You might use this feature to give different addresses to different sign-up services. Note: You must use a "+" sign. More information on this can be found at the Wikipedia article [[wikipedia:E-mail address#Plus (or Minus) addressing]].<br />
<br />
<br />
[[Category:Tech support]]<br />
[[Category:howto]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Free_Geek_Email&diff=67785Free Geek Email2013-06-27T20:11:38Z<p>Ryan52: /* Squirrelmail -> Roundcube web mail client */ Update webmail client name</p>
<hr />
<div>There are three different interfaces that can be used to access your Free Geek email: POP3, IMAP, and Squirrelmail. Each of them has its advantages and disadvantages.<br />
<br />
== Roundcube web mail client ==<br />
<br />
'''Roundcube''' is probably the easiest way to access your email, since it involves only a web browser and can be used from any location.<br />
<br />
Go to https://mail.freegeek.org and enter your username (whoyouis) '''or''' email address (whoyouis@freegeek.org) in the Name field and your email password in the Password field.<br />
<br />
== Client based email ==<br />
Use the following settings to connect from an email client such as Evolution or Thunderbird. The server port is included below for clarity, but is usually automatically set when you choose the encryption type.<br />
<br />
===Receiving email===<br />
==== IMAP ====<br />
<br />
IMAP allows you to access your email from anywhere and leave the email on a server, but requires a separate email program. Most email programs (even windows ones) can handle IMAP. The main disadvantage of IMAP (and webmail) <del>is</del> was that the messages are inaccessible when you are offline. Any decent modern mail client has an option to sync mail locally so this is no longer a real problem. (Fun Fact:Squirrel Mail users IMAP behind the scenes).<br />
<br />
*Protocol - IMAP<br />
*Server - mail.freegeek.org<br />
*username - the first part of your email before the @ symbol.<br />
*server port - 993<br />
*Encryption - SSL<br />
*Authentication - Plain Text<br />
<br />
==== POP3 ====<br />
The "old traditional" email system. POP downloads the email to your machine, making it inaccessible from other locations unless you choose to leave a copy of the email on the server (which does not always work well with all clients). There is no reason to use it and you should not do so. "I've always used it" is not a reason, never mind a good one. Use IMAP instead, and sync your mail locally.<br />
<br />
*Protocol - POP3<br />
*Server - mail.freegeek.org<br />
*username - the first part of your email before the @ symbol.<br />
*server port - 995<br />
*Encryption - SSL<br />
*Authentication - Plain Text<br />
<br />
=== Sending mail ===<br />
==== Inside the Free Geek network (plugged into the wired network) ====<br />
'''NOTE:''' Wireless access, even when you're physically at Free Geek, is actually "outside" the network. So for wireless access, see the next section instead.<br />
<br />
*Protocol - SMTP<br />
*Server - mail.freegeek.org<br />
*Server port - 25<br />
*Encryption - none<br />
*Authentication - none<br />
<br />
==== Outside the Free Geek network (or on FG wireless) ====<br />
Our SMTP server (mail.freegeek.org) is an authenticating SMTP server, this means you can send email from anywhere as log as you log in first. This works inside the network as well. You don't need to do anything special to login as your email program will take care of it as long as you give the correct username and password. N.B. this differs form the one you use to read your email. It needs the @freegeek.org part as well.<br />
<br />
*Protocol - SMTP<br />
*Server - mail.freegeek.org<br />
*username - username@freegeek.org<br />
*Server port - 465<br />
*Encryption - SSL<br />
*Authentication - Plain Text<br />
<br />
'''NOTES:''' <br />
<br />
You may receive a "greylisting" error message when sending to a freegeek address, even with your smtp server set to mail.freegeek.org. If this happens, just resend the message after 5 minutes have passed.<br />
<br />
If you go to a location that blocks outgoing SMTP, you may not be able to send email from a mail client, though using authenticated SMTP over SSL generally still works. In these cases, you man use the web interface described above to send mail.<br />
<br />
== Misc. ==<br />
<br />
'''To change your password''', use the web interface:<br />
<br />
[https://mail.freegeek.org/password Email Password Change Web Interface]<br />
<br />
Or if that doesn't work, contact [[Technocrats]].<br />
<br />
'''your address plus''' - mail addressed to "whoyouis+stuff@freegeek.org" will get delivered just the same as mail to "whoyouis@freegeek.org". You might use this feature to give different addresses to different sign-up services. Note: You must use a "+" sign. More information on this can be found at the Wikipedia article [[wikipedia:E-mail address#Plus (or Minus) addressing]].<br />
<br />
<br />
[[Category:Tech support]]<br />
[[Category:howto]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Website_Changeover&diff=67784Website Changeover2013-06-27T20:09:49Z<p>Ryan52: /* Technocrats */ add Roundcube</p>
<hr />
<div>This page is for organizing our thinking for the website changeover. Also refer to [[Webadmin]] for the basics of how we run our website.<br />
<br />
==General Goals of our site (again, and expanded)==<br />
* Get info about FG to people who want to know<br />
** anglophons, hispanophone, frankophone,<br />
** Interested parties:<br />
***Potential volunteers<br />
***Individual and corp. donors<br />
***Major donors and those into collectives<br />
***Store customers<br />
***Environmentalists<br />
***Geeks<br />
***Free Geek-like org.s, new FGs<br />
* Accessible site - no flash, limit javascript, easy to view over dial-up connection<br />
* Give volunteers an opportunity to learn web skills<br />
<br />
==Tech wants==<br />
* easy/quick for staff and volunteers to maintain<br />
* Looks clean/nice<br />
* Admin: pretty easy to learn to admin, easy to add users and priileges, easy to make new pages, easy to change layout of old pages<br />
* Quick load-up for dial-up users<br />
* Volunteer opportunities: learn webby stuff: html and web dev/management<br />
* RSS feed<br />
* limit javascript<br />
* make empty website for new FGs <br />
<br />
==Structure Wants==<br />
This was a brainstorm, so not limited.<br />
* submenus<br />
* rss feed<br />
* (simple calendar)<br />
* photo area<br />
* diggs for news items<br />
* open links in new tabs (confusing for new computer users?) <br />
* every page: hours/location/contact link, search<br />
* no blog-looking posty stuff except on community news page<br />
* truncated latest news post on front page. full articles on community news page.<br />
* Creative commons link at bottom of all pages like current site<br />
<br />
==Layout/Preferences==<br />
This was a brainstorm, so not limited.<br />
* press area<br />
* corporate hardware donor thanks page<br />
* friends links<br />
* family links<br />
* page on harmful stuff in computers<br />
* photo area<br />
* map images with links - google, trimet, bycycle<br />
* more prominent hours, location, phone number on front page<br />
* no scroll on front page: simple! <br />
* more information in other languages, primarily Spanish (Rob's willing to help!)<br />
<br />
==Branding==<br />
Values, morals, who are we? (from MK, Matteo, Shawn, Laurel B.)<br />
* reuse/recycling<br />
* community<br />
* environmentalism<br />
* chaotic<br />
* casual<br />
* empowered<br />
* open source<br />
* global<br />
* creative<br />
* comfortable with change<br />
* sustainable/green<br />
* community resource<br />
* fun<br />
Not all of these values need to be portrayed to outside audiences. For example, showing too much of our fun and chaotic side might scare away corporate donors.<br />
===Current Website===<br />
What does the current website portray?<br />
* simple<br />
* busy<br />
* dated<br />
* constrained<br />
* red=wrong<br />
* intelligent and fun (writing style)<br />
===Wants===<br />
* Simple front page (don't scroll down much, if at all)<br />
* tux clarification/use less (it's not the FG logo!)<br />
* Muted colors<br />
* new scheme (green?)<br />
* fading colors/gradients<br />
* Maybe change logo? If not, we could incorporate it into the belly of a robot.<br />
* Robot + people + recycle symbol + logo<br />
<br />
==Website Structure==<br />
'''Front page''': last news page/blog post, truncated, visible '''digg, etc. links'''; link box with 4 main choices: donate, volunteer, thrift store, earn computer, '''RSS''', sign-for email newsletter, a few sponsor logos<br />
<br />
'''All pages''': contact box on side with hours, location, contact info; creative commons license note on bottom; link back to home page on bottom; link to home page on top; ability to post multiple photos and have a range of choice of where the pics go on the page<br />
<br />
* VOLUNTEER<br />
** Index. Include ''Anyone who wants to volunteer time at FREE GEEK and can make it to our facility is welcome. No computer experience is required. Our facility is mostly handicapped-accessible, and we are sensitive to and can work with people with different abilities.'' and tour note. Also point to submenu options so they know where to go next. '''Plain'''<br />
** Build Program/tours '''Plain'''<br />
** Adoption Program: classes, tours '''Plain with submenu item'''<br />
*** Our software: why linux? what's it like? '''Plain'''<br />
** Info for current volunteers: extra volunteering opportunities, including post-Build and -Adoption options, Tech Support (link to wiki, or FAQ) '''Plain'''<br />
*** Tech support '''plain'''<br />
*** classes '''calendar'''<br />
** Como voluntario '''Plain'''<br />
** internships ('''plain''')-> descriptions ('''plain''') -> webform ('''webform connected to RT''') or intern question form ('''webform connected to RT''') -> "thanks for submitting data" ('''plain''')<br />
<br />
* DONATE<br />
** What we take: list, suggested donations/fees, wishlist '''plain'''<br />
** Hard Drives: security '''plain'''<br />
** How we recycle: where does stuff go, how is it recycled? environmental impact of e-waste '''plain'''<br />
** I need a pickup: business, interested in organizing recycling event, contact info '''plain'''<br />
** Donate money: checks, online '''plain'''<br />
<br />
* HARDWARE GRANTS<br />
** Index: info about what you can and can't get, eligibility, education for recipients '''plain'''-> web form '''web form''' -> "thanks for submitting data" '''plain'''<br />
** Past recipients '''plain'''<br />
<br />
* MEDIA<br />
** Press Releases: Latest press release and archive of old press releases, contact '''plain'''<br />
** Mission/background/boilerplate, contact '''plain''' -> Environmental impact of e-waste '''plain'''<br />
** Fact Sheet: FOSS, education, business model, stats, contact '''plain'''<br />
** Media mentions/testimonials/awards '''category search''' -> archive '''(auto-archived by categorization)'''-> pre-2008 archive '''static page, categorized as well?'''<br />
** Multimedia: photos, video, audio '''medium/large photo thumbnails, links to video and audio - many formats, all downloadable'''<br />
** Printme: printable packet of latest press release, boilerplate, fact sheet, media mentions '''plain with link to .pdf or .ps packet'''<br />
<br />
* ABOUT US<br />
** 1st page: Community News Blog '''blog. full stories visible. archives accessible (auto-archived through categories). digg, etc. links for each story. comments turned off.''' -> archives -> pre-2008 '''static page, categorized also'''<br />
** Mission/background, "get involved!" link '''plain'''<br />
** Structure: collective/Consensus '''plain'''<br />
*** Council '''plain'''<br />
*** Board '''plain'''<br />
*** Staff '''plain, photo next to each listing'''<br />
** FOSS '''plain'''<br />
** FAQ '''plain'''<br />
** Jobs '''plain'''<br />
** Site map '''can wordpress automatically create a site map?'''<br />
** Making Contact: include links to maps for bike, transit, car, mention press@, link to tech support page '''plain'''-> a small flurry of 3 webforms: '''webforms email info@, volunteer@, special tabling form goes to info@''' also -> directions page with maps and links to trimet '''mini-google map of location'''<br />
<br />
* SALES<br />
** Thrift Store: stuff we don't have, stuff we usually have, sample pricing, polite way of saying we won't go searching through our building for that proprietary rail you NEED '''plain'''<br />
** Bulk '''plain'''<br />
** Online '''plain, possibly be able to suck in stuff from ebay store in the future?'''<br />
<br />
* INTERGALACTIC<br />
** Family '''plain'''-> franchise application webform '''webform emails RT''' -> thanks for submitting data<br />
<br />
*LINKS<br />
** Folks like us '''plain'''<br />
** Links to places we like/resources for those in need '''plain'''<br />
<br />
== Committee Input ==<br />
===Outreach===<br />
====Inreach====<br />
* Current volunteers page - special volunteer opportunities, information on events, volunteer internships, changes in <br />
policy as they come about, layout of our building as it changes, volunteer success stories, link to volunteer manual<br />
* Classes, <br />
* Resources page advertising linux clinic & tech support info ''(should this be the tech support page? [[User:Shawn|Shawn]])''<br />
* add a blurb to the spanish how-to-volunteer page about needing a translator.<br />
<br />
===C7===<br />
* Board - bio page<br />
* Staff - bio page<br />
* Council - "light" tutorial about Council so they're informed before they come in (using consensus, this is the format of the meeting, active volunteers are encouraged to help create FG's future)<br />
* also, how to educate people about where to bring their issues/needs (for current volunteers) (?)<br />
* Structure - explains FG's structure (make explicit Staff Collective), available from "About Us" Overview<br />
* mission/background in "about us" section (http://www.freegeek.org/mission.php )<br />
** questions about grammar (run-on sentences), numbers, PAWC<br />
* Fact Sheet for most current year<br />
** computers granted, given to volunteers, revenue, etc.<br />
<br />
===Propagation===<br />
* GAP: <br />
** remove all of them except redwing, just explain program.<br />
** keep terms<br />
* INTERGALACTIC: ? instead of franchise, will meet next week.<br />
** Rochdale principles: may want to remove this mention, define relationship with these principles next week<br />
* GRANTS: put link to application low on page, link back to info page from application page, fix text under application<br />
<br />
===Technocrats===<br />
Current page: http://freegeek.org/linuxlink.php<br />
* Change page name to something like "foss"<br />
* remove window manager mention<br />
* add technologies and links:<br />
** Debian on almost all servers<br />
** LTSP on terminals<br />
** mediawiki<br />
** mailman<br />
** RT<br />
** squirrelmail (roundcube now)<br />
** wordpress<br />
* Make better or remove jargon file: link to random jargon item? http://www.panix.com/~ilaine/jargon/jargon.cgi<br />
* servers are on donated hardware, which sometimes needs creative solutions: once we ran out database off a staff member's laptop for a day while we fixed the main server<br />
* link to tecchie internships<br />
<br />
===Action===<br />
===Reuse===<br />
===HR===<br />
===Knowledge Bees===<br />
Pages:<br />
* Adoption<br />
** lookin' pretty good<br />
** pictures of wide range of adopters<br />
* Build<br />
** new: curriculum (keep it short): describe in terms of what they'll learn and how, you don't have to be a geek - if you can follow a recipe, you'll most likely do well in the build program. self-paced program, peer to peer learning/teaching.<br />
** keep: tours, basic explanation of program.<br />
* Classes<br />
** Laurel will write it<br />
** pictures of wide range adopters<br />
* Tech support<br />
** hours, policy, contact (including email)<br />
* linux: why? what is it?<br />
** Michael will write it<br />
<br />
Audiences:<br />
* potential volunteers: understanding and excitement<br />
* existing volunteers: updates, expanded info, classes<br />
* donors<br />
* hippies/enviros<br />
<br />
<br />
[[Category:Webadmin]]<br />
[[Category:Website]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Foss&diff=67783Foss2013-06-27T20:09:33Z<p>Ryan52: /* Wanted */ add roundcube</p>
<hr />
<div>http://freegeek.org/opensource.php and<br />
http://freegeek.org/linuxlink.php<br />
<br />
==OPEN SOURCE SOFTWARE==<br />
<br />
The term "Open Source Software" refers to a licensing model where the software must provide the source code along with the executable program. There are various types of open source licenses, the most common of which is the GPL (GNU Public License).<br />
<br />
Everyone is free to use and modify software licensed under the GPL. When GPL software is modified, the source code changes must be made publicly available under the GPL. This promotes community involvement and the improvement of GPL software.<br />
<br />
This development process is very different from the proprietary model, where the developer tries to keep his source code secret. The secrecy of the proprietary model means that any bugs or security holes can only be fixed by the developer - and if that developer is not available to fix the problem for any reason, the user must suffer. Worse, because the source code for the program is secret, that means that the format that the data is stored in is also probably secret, preventing the user from migrating to a different software package without great difficulty.<br />
<br />
The Open Source development process, however, is more like the traditional scientific model where new work builds on existing work, allowing for much more rapid development. Because anyone interested in a particular software project can access and improve the code, that also means that bugs and security flaws are fixed more quickly. And with the source code available, the data format is known, which means that the user can easily migrate their data to a new program, if desired.<br />
<br />
[ Linux and Open Source Links ] (link to linuxlink.php)<br />
<br />
==FREE SOFTWARE LINKS==<br />
<br />
The Internet is pretty much home base for the Free/Open Source software movement, so it would be silly for us to try to be exhaustive. Here are just a few links:<br />
GENERAL<br />
<br />
The Linux kernel is the core of the GNU/Linux operating system, but the GNU family of software makes Linux usable. The Free Software Foundation provides the philosophy behind the movement. This is a good read, and we're convinced it'll inspire you!<br />
THE FREEKBOX<br />
<br />
The FreekBox runs the Ubuntu operating system (a variant, or distribution, of GNU/Linux), with the Gnome desktop environment. (Although the FreekBox doesn't come with it, many of our staff and core volunteers proudly use Ion, a lightweight tiling window manager, instead of Gnome.)<br />
<br />
The FreekBoxen also come with OpenOffice.org, a full-featured suite of office software including a word processor, spreadsheet, and other programs. Here are answers to some frequently asked questions about OpenOffice.org.<br />
GEEK CULCHA<br />
<br />
The jargon file is a wonderful lexicon of hackish slang. ("Why do you call them FreekBoxen?") And, well, we wouldn't be geeks if we didn't link to Slashdot ("News for nerds. Stuff that matters.") <br />
<br />
==Wanted==<br />
(from shawn to xen, 5/21<br />
a combination of two old pages: one on open source software in general, and one on what software we use and some links to cultural stuff. We'd like the page to talk about open source and what it is and and GPL and stuff and also talk about the specific software we use. There are notes on this at the bottom of the wiki page. The audience for the page is people who know a little bit about FOSS and want to know its place at Free Geek. <br />
<br />
Feedback from Technocrats based on http://freegeek.org/linuxlink.php<br />
* Change page name to something like "foss"<br />
* remove window manager mention<br />
* add technologies and links:<br />
**Debian on almost all servers<br />
**LTSP on terminals<br />
** mediawiki<br />
** mailman<br />
**RT<br />
** squirrelmail (roundcube now)<br />
** wordpress <br />
* Make better or remove jargon file: link to random jargon item? http://www.panix.com/~ilaine/jargon/jargon.cgi<br />
* servers are on donated hardware, which sometimes needs creative solutions: once we ran out database off a staff member's laptop for a day while we fixed the main server<br />
* link to tecchie internships <br />
<br />
[[Category:Website]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Services_we_could_provide_startups&diff=67782Services we could provide startups2013-06-27T20:09:00Z<p>Ryan52: /* E-mail */ s/Squirrelmail/Roundcube/</p>
<hr />
<div>{{Delete}}<br />
There's a lot of open source software available for helping a place like Free Geek run. Here is some software we use and could conceivably offer to a new Free Geek startup to help them get off the ground.<br />
<br />
==Off the shelf software choices==<br />
<br />
===Wiki===<br />
A wiki is used to develop documents collaboratively. We've chosen [MediaWiki:MediaWiki|] as our official wiki. For the startup they could go to something like <nowiki>http://wiki.startupname.freegeekintergalactic.org</nowiki>.<br />
<br />
===Issue Tracker===<br />
An issue tracker helps you keep track of items that need to be followed up on, like a big community todo list. We use [http://bestpractical.com/rt RT] for this. It helps us run tech support, keep track of grants, and even assists us in planning some of our meetings agendas. For the startup they could go to something like <nowiki>http://todo.startupname.freegeekintergalactic.org</nowiki>.<br />
<br />
===Email List software===<br />
This allows us to set up discussion lists for various purposes. In general, each committee or working group has at least one email list. We use [http://mailman.org Mailman]. For the startup they could go to something like <nowiki>http://lists.startupname.freegeekintergalactic.org</nowiki>.<br />
<br />
===E-mail===<br />
We give people email accounts or aliases and let them use Roundcube to access them. An IMAP allows us to offer this server. We use Courier Our SMTP server is [http://postfix.org Postfix]. For the startup they could get email addresses like <nowiki>yourname@startupname.freegeekintergalactic.org</nowiki>.<br />
<br />
===Web server===<br />
To serve up our web pages, we use [http://apache.org Apache HTTP server]. For the startup they could go to something like <nowiki>http://startupname.freegeekintergalactic.org</nowiki>.<br />
<br />
[[Category:Starting a Free Geek]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Software_Overview&diff=67781Software Overview2013-06-27T20:08:26Z<p>Ryan52: /* E-mail */ Update webmail client</p>
<hr />
<div>There's a lot of open source software available for helping a place like Free Geek run. Here are the choices we made:<br />
<br />
=Off the shelf software choices=<br />
<br />
==Base Distribution==<br />
Our choice of linux distribution is Debian for internal use. For distribution, we've gone with Ubuntu.<br />
<br />
==Wiki==<br />
A wiki is used to develop documents collaboratively. We've chosen [MediaWiki:MediaWiki|] as our official wiki.<br />
<br />
==Issue Tracker==<br />
An issue tracker helps you keep track of items that need to be followed up on, like a big community todo list. We use [http://bestpractical.com/rt RT] for this. It helps us run tech support, keep track of grants, and even assists us in planning some of our meetings agendas.<br />
<br />
==Email List software==<br />
This allows us to set up discussion lists for various purposes. In general, each committee or working group has at least one email list. We use [http://mailman.org Mailman].<br />
<br />
==E-mail==<br />
We give people email accounts and let them use Roundcube (previously Squirrelmail) to access them.<br />
An IMAP allows us to offer this server. We use Courier<br />
Our SMTP server is [http://postfix.org Postfix].<br />
<br />
==Web server==<br />
To serve up our web pages, we use [http://apache.org Apache HTTP server].<br />
<br />
==Database server==<br />
To manage most of our database needs we use [http://postgresql.org PostgreSQL]. Some other applications (like Mediawiki) use [http://mysql.org MySQL], so that's installed as well.<br />
<br />
=Custom software=<br />
<br />
==General Database==<br />
[[FGdb]] -- The database we use for maintaining gizmo inventory, contact information, volunteer work, and sales and donation receipts. Written in [http://www.rubyonrails.org/ ruby on rails] against a PostgreSQL database backend.<br />
<br />
==Hardware Testing==<br />
'''???'''<br />
<br />
==End User Distro==<br />
[[FreekBox]] -- The distro of choice for giving away (or selling) is [http://www.ubuntu.com/ Ubuntu / Hardy Heron].)<br />
<br />
== See Also ==<br />
* [[Services we could provide startups]]<br />
<br />
[[Category: AboutFG]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Free_Geek_Email&diff=67780Free Geek Email2013-06-27T20:07:38Z<p>Ryan52: /* Outside the Free Geek network (or on FG wireless) */ generalize web interface reference</p>
<hr />
<div>There are three different interfaces that can be used to access your Free Geek email: POP3, IMAP, and Squirrelmail. Each of them has its advantages and disadvantages.<br />
<br />
== Squirrelmail ==<br />
<br />
'''Squirrelmail''' is probably the easiest way to access your email, since it involves only a web browser and can be used from any location.<br />
<br />
Go to https://mail.freegeek.org and enter your username (whoyouis) '''or''' email address (whoyouis@freegeek.org) in the Name field and your email password in the Password field.<br />
<br />
== Client based email ==<br />
Use the following settings to connect from an email client such as Evolution or Thunderbird. The server port is included below for clarity, but is usually automatically set when you choose the encryption type.<br />
<br />
===Receiving email===<br />
==== IMAP ====<br />
<br />
IMAP allows you to access your email from anywhere and leave the email on a server, but requires a separate email program. Most email programs (even windows ones) can handle IMAP. The main disadvantage of IMAP (and webmail) <del>is</del> was that the messages are inaccessible when you are offline. Any decent modern mail client has an option to sync mail locally so this is no longer a real problem. (Fun Fact:Squirrel Mail users IMAP behind the scenes).<br />
<br />
*Protocol - IMAP<br />
*Server - mail.freegeek.org<br />
*username - the first part of your email before the @ symbol.<br />
*server port - 993<br />
*Encryption - SSL<br />
*Authentication - Plain Text<br />
<br />
==== POP3 ====<br />
The "old traditional" email system. POP downloads the email to your machine, making it inaccessible from other locations unless you choose to leave a copy of the email on the server (which does not always work well with all clients). There is no reason to use it and you should not do so. "I've always used it" is not a reason, never mind a good one. Use IMAP instead, and sync your mail locally.<br />
<br />
*Protocol - POP3<br />
*Server - mail.freegeek.org<br />
*username - the first part of your email before the @ symbol.<br />
*server port - 995<br />
*Encryption - SSL<br />
*Authentication - Plain Text<br />
<br />
=== Sending mail ===<br />
==== Inside the Free Geek network (plugged into the wired network) ====<br />
'''NOTE:''' Wireless access, even when you're physically at Free Geek, is actually "outside" the network. So for wireless access, see the next section instead.<br />
<br />
*Protocol - SMTP<br />
*Server - mail.freegeek.org<br />
*Server port - 25<br />
*Encryption - none<br />
*Authentication - none<br />
<br />
==== Outside the Free Geek network (or on FG wireless) ====<br />
Our SMTP server (mail.freegeek.org) is an authenticating SMTP server, this means you can send email from anywhere as log as you log in first. This works inside the network as well. You don't need to do anything special to login as your email program will take care of it as long as you give the correct username and password. N.B. this differs form the one you use to read your email. It needs the @freegeek.org part as well.<br />
<br />
*Protocol - SMTP<br />
*Server - mail.freegeek.org<br />
*username - username@freegeek.org<br />
*Server port - 465<br />
*Encryption - SSL<br />
*Authentication - Plain Text<br />
<br />
'''NOTES:''' <br />
<br />
You may receive a "greylisting" error message when sending to a freegeek address, even with your smtp server set to mail.freegeek.org. If this happens, just resend the message after 5 minutes have passed.<br />
<br />
If you go to a location that blocks outgoing SMTP, you may not be able to send email from a mail client, though using authenticated SMTP over SSL generally still works. In these cases, you man use the web interface described above to send mail.<br />
<br />
== Misc. ==<br />
<br />
'''To change your password''', use the web interface:<br />
<br />
[https://mail.freegeek.org/password Email Password Change Web Interface]<br />
<br />
Or if that doesn't work, contact [[Technocrats]].<br />
<br />
'''your address plus''' - mail addressed to "whoyouis+stuff@freegeek.org" will get delivered just the same as mail to "whoyouis@freegeek.org". You might use this feature to give different addresses to different sign-up services. Note: You must use a "+" sign. More information on this can be found at the Wikipedia article [[wikipedia:E-mail address#Plus (or Minus) addressing]].<br />
<br />
<br />
[[Category:Tech support]]<br />
[[Category:howto]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Setting_up_an_RT_queue_and_a_Mailman_list_to_work_together&diff=67779Setting up an RT queue and a Mailman list to work together2013-06-27T20:02:39Z<p>Ryan52: /* On art (RT server) as root */ Fix /etc/aliases to be a file, not a directory</p>
<hr />
<div>How to set up a queue and email list for ''FOOBAR'':<br />
<br />
== On wasp (mailman server) ==<br />
* Set up the mailman list ''FOOBAR''@lists.freegeek.org<br />
* Goto <nowiki>"http://lists.freegeek.org/admin/FOOBAR/privacy/sender"</nowiki> and add the following to the "List of non-member addresses whose postings should be automatically accepted." field:<br />
** ''FOOBAR''@todo.freegeek.org<br />
** ''FOOBAR''-comment@todo.freegeek.org<br />
* Privacy->Sender page should be set to allow implicit addresses<br />
<br />
== On george (mail server) as root ==<br />
* Add an alias to to the LDAP database like this:<br />
./ldap-addalias.sh ''FOOBAR'' ''FOOBAR''@todo.freegeek.org<br />
<br />
== On art (RT server) as root ==<br />
* Add email aliases to /etc/aliases like this:<br />
''FOOBAR'': "|/usr/bin/procmail -m /etc/request-tracker4/checkspam ''FOOBAR'' correspond"<br />
''FOOBAR''-comment: "|/usr/bin/procmail -m /etc/request-tracker4/checkspam ''FOOBAR'' comment"<br />
* Run this command:<br />
newaliases<br />
<br />
== In RT as an administrator ==<br />
* Create a user:<br />
** Username = ''FOOBAR''-user<br />
** Email address = ''FOOBAR''@lists.freegeek.org<br />
** Real name = Fake ''FOOBAR'' user<br />
** Allow the user to be granted rights<br />
* Set up a queue called ''FOOBAR'' and:<br />
** Set the Reply Address to ''FOOBAR''@todo.freegeek.org<br />
** Set the Comment Address to ''FOOBAR''-comment@todo.freegeek.org<br />
** Give the appropriate group (probably fgcore) the regular [[RT Permissions]]<br />
** Add ''FOOBAR''-user as an admin-cc watcher to the ''FOOBAR'' queue<br />
** Give ''FOOBAR''-user the right to create and reply to tickets<br />
<br />
== Test it ==<br />
* Send a message to ''FOOBAR''@freegeek.org<br />
* Wait a while and check the ''FOOBAR'' RT queue<br />
* Check the mailman archives for ''FOOBAR''<br />
<br />
[[Category: Howto]]<br />
[[Category:Technocrats]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Setting_up_an_RT_queue_and_a_Mailman_list_to_work_together&diff=67778Setting up an RT queue and a Mailman list to work together2013-06-27T20:01:56Z<p>Ryan52: /* In RT as an administrator */ Setting the Reply and Comment address for each queue</p>
<hr />
<div>How to set up a queue and email list for ''FOOBAR'':<br />
<br />
== On wasp (mailman server) ==<br />
* Set up the mailman list ''FOOBAR''@lists.freegeek.org<br />
* Goto <nowiki>"http://lists.freegeek.org/admin/FOOBAR/privacy/sender"</nowiki> and add the following to the "List of non-member addresses whose postings should be automatically accepted." field:<br />
** ''FOOBAR''@todo.freegeek.org<br />
** ''FOOBAR''-comment@todo.freegeek.org<br />
* Privacy->Sender page should be set to allow implicit addresses<br />
<br />
== On george (mail server) as root ==<br />
* Add an alias to to the LDAP database like this:<br />
./ldap-addalias.sh ''FOOBAR'' ''FOOBAR''@todo.freegeek.org<br />
<br />
== On art (RT server) as root ==<br />
* Add email aliases to /etc/aliases/ like this:<br />
''FOOBAR'': "|/usr/bin/procmail -m /etc/request-tracker4/checkspam ''FOOBAR'' correspond"<br />
''FOOBAR''-comment: "|/usr/bin/procmail -m /etc/request-tracker4/checkspam ''FOOBAR'' comment"<br />
* Run this command:<br />
newaliases<br />
<br />
== In RT as an administrator ==<br />
* Create a user:<br />
** Username = ''FOOBAR''-user<br />
** Email address = ''FOOBAR''@lists.freegeek.org<br />
** Real name = Fake ''FOOBAR'' user<br />
** Allow the user to be granted rights<br />
* Set up a queue called ''FOOBAR'' and:<br />
** Set the Reply Address to ''FOOBAR''@todo.freegeek.org<br />
** Set the Comment Address to ''FOOBAR''-comment@todo.freegeek.org<br />
** Give the appropriate group (probably fgcore) the regular [[RT Permissions]]<br />
** Add ''FOOBAR''-user as an admin-cc watcher to the ''FOOBAR'' queue<br />
** Give ''FOOBAR''-user the right to create and reply to tickets<br />
<br />
== Test it ==<br />
* Send a message to ''FOOBAR''@freegeek.org<br />
* Wait a while and check the ''FOOBAR'' RT queue<br />
* Check the mailman archives for ''FOOBAR''<br />
<br />
[[Category: Howto]]<br />
[[Category:Technocrats]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Setting_up_an_RT_queue_and_a_Mailman_list_to_work_together&diff=67777Setting up an RT queue and a Mailman list to work together2013-06-27T20:00:33Z<p>Ryan52: /* On art (RT server) as root */ Update aliases instructions for checkspam script and RT4</p>
<hr />
<div>How to set up a queue and email list for ''FOOBAR'':<br />
<br />
== On wasp (mailman server) ==<br />
* Set up the mailman list ''FOOBAR''@lists.freegeek.org<br />
* Goto <nowiki>"http://lists.freegeek.org/admin/FOOBAR/privacy/sender"</nowiki> and add the following to the "List of non-member addresses whose postings should be automatically accepted." field:<br />
** ''FOOBAR''@todo.freegeek.org<br />
** ''FOOBAR''-comment@todo.freegeek.org<br />
* Privacy->Sender page should be set to allow implicit addresses<br />
<br />
== On george (mail server) as root ==<br />
* Add an alias to to the LDAP database like this:<br />
./ldap-addalias.sh ''FOOBAR'' ''FOOBAR''@todo.freegeek.org<br />
<br />
== On art (RT server) as root ==<br />
* Add email aliases to /etc/aliases/ like this:<br />
''FOOBAR'': "|/usr/bin/procmail -m /etc/request-tracker4/checkspam ''FOOBAR'' correspond"<br />
''FOOBAR''-comment: "|/usr/bin/procmail -m /etc/request-tracker4/checkspam ''FOOBAR'' comment"<br />
* Run this command:<br />
newaliases<br />
<br />
== In RT as an administrator ==<br />
* Create a user:<br />
** Username = ''FOOBAR''-user<br />
** Email address = ''FOOBAR''@lists.freegeek.org<br />
** Real name = Fake ''FOOBAR'' user<br />
** Allow the user to be granted rights<br />
* Set up a queue called ''FOOBAR'' and:<br />
** Give the appropriate group (probably fgcore) the regular [[RT Permissions]]<br />
** Add ''FOOBAR''-user as an admin-cc watcher to the ''FOOBAR'' queue<br />
** Give ''FOOBAR''-user the right to create and reply to tickets<br />
<br />
== Test it ==<br />
* Send a message to ''FOOBAR''@freegeek.org<br />
* Wait a while and check the ''FOOBAR'' RT queue<br />
* Check the mailman archives for ''FOOBAR''<br />
<br />
[[Category: Howto]]<br />
[[Category:Technocrats]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Setting_up_an_RT_queue_and_a_Mailman_list_to_work_together&diff=67776Setting up an RT queue and a Mailman list to work together2013-06-27T19:59:18Z<p>Ryan52: /* On wasp (mailman server) */ use RT queue specific in mailman whitelist</p>
<hr />
<div>How to set up a queue and email list for ''FOOBAR'':<br />
<br />
== On wasp (mailman server) ==<br />
* Set up the mailman list ''FOOBAR''@lists.freegeek.org<br />
* Goto <nowiki>"http://lists.freegeek.org/admin/FOOBAR/privacy/sender"</nowiki> and add the following to the "List of non-member addresses whose postings should be automatically accepted." field:<br />
** ''FOOBAR''@todo.freegeek.org<br />
** ''FOOBAR''-comment@todo.freegeek.org<br />
* Privacy->Sender page should be set to allow implicit addresses<br />
<br />
== On george (mail server) as root ==<br />
* Add an alias to to the LDAP database like this:<br />
./ldap-addalias.sh ''FOOBAR'' ''FOOBAR''@todo.freegeek.org<br />
<br />
== On art (RT server) as root ==<br />
* Add email aliases to /etc/aliases/ like this:<br />
''FOOBAR'': "|/usr/bin/rt-mailgate --queue ''FOOBAR'' --action correspond --url <nowiki>http://localhost/rt/"</nowiki><br />
''FOOBAR''-comment: "|/usr/bin/rt-mailgate --queue ''FOOBAR'' --action comment --url <nowiki>http://localhost/rt/"</nowiki><br />
* Run this command:<br />
newaliases<br />
<br />
== In RT as an administrator ==<br />
* Create a user:<br />
** Username = ''FOOBAR''-user<br />
** Email address = ''FOOBAR''@lists.freegeek.org<br />
** Real name = Fake ''FOOBAR'' user<br />
** Allow the user to be granted rights<br />
* Set up a queue called ''FOOBAR'' and:<br />
** Give the appropriate group (probably fgcore) the regular [[RT Permissions]]<br />
** Add ''FOOBAR''-user as an admin-cc watcher to the ''FOOBAR'' queue<br />
** Give ''FOOBAR''-user the right to create and reply to tickets<br />
<br />
== Test it ==<br />
* Send a message to ''FOOBAR''@freegeek.org<br />
* Wait a while and check the ''FOOBAR'' RT queue<br />
* Check the mailman archives for ''FOOBAR''<br />
<br />
[[Category: Howto]]<br />
[[Category:Technocrats]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Openvpn&diff=67324Openvpn2013-05-07T22:11:36Z<p>Ryan52: /* Automate */</p>
<hr />
<div>==Introduction==<br />
<br />
OpenVPN is an open source Virtual Private Network (VPN), which allows one to establish a tunnel for any IP subnetwork or virtual ethernet adapter e.i. TUN/TAP kernel device over any UDP/TCP port. At freegeek, we have one between our wireless and wired networks.<br />
<br />
==Key Generation==<br />
<br />
To use the VPN, you will need the files ca.crt, foo.crt, and foo.key, and later on ta.key.<br />
<br />
To generate them, you will need to follow these horrible, horrible steps:<br />
<br />
Ask a sysadmin to run the following commands on our vpn server: (if this will be internet accessible, use vars.internet)<br />
cd /etc/openvpn/easy-rsa<br />
. ./vars<br />
./build-key ''clientname''<br />
<br />
These files will land in either ../keys or ../keys.internet, depending. <br />
<br />
Securely copy the three files named after ''clientname'', plus ca.crt and ta.key, to your computer and put them in an unreadable directory, '''/etc/openvpn/keys/''' (system-wide) or '''~/.openvpn/''' (per-user; be sure to '''chmod -R go-rwx ~/.openvpn/'''). Don't leave any spare copies of those files lying around!<br />
<br />
==Installation==<br />
You can set up the VPN to be system-wide or to be per user. Using network-manager is probably easier.<br />
<br />
===Network Manager===<br />
<br />
On Debian or Ubuntu:<br />
sudo aptitude install network-manager-openvpn-gnome<br />
or<br />
sudo aptitude install network-manager-openvpn-kde<br />
<br />
In the network manager menu (click on the icon for your connection), go to "VPN Connections > Configure VPN...". Create a new VPN by clicking Add, selecting OpenVPN for the type, and click Create. Ask your system administrator for the IP address to put in the gateway box, and if your system administrator is forgetful, remind them to look at /etc/openvpn/server{,.internet}.conf on the firewall.<br />
<br />
Name the connection name appropriately, then set the properties on the VPN tab:<br />
<br />
Type: Certificates (TLS)<br />
User Certificate: ~/.openvpn/foo.crt<br />
CA Certificate: ~/.openvpn/ca.crt<br />
Private Key: ~/.openvpn/foo.key<br />
<br />
In the Advanced Settings, set the custom gateway port to 1193 if this is an internet connection (as opposed to using the default on the Free Geek wireless); turn on Use LZO Data Compression; on the security tab, set the cipher to BF-CBC and HMAC Authentication to SHA-1; and on the TLS Authentication tab, enable using additional TLS authentication, set the key file to ~/.openvpn/ta.key , and set the key direction to 1.<br />
<br />
Finally, you may need to restart network-manager before you can connect:<br />
sudo service network-manager restart<br />
<br />
===System-Wide Setup===<br />
<br />
*on debian <br />
<br />
apt-get install openvpn openssl resolvconf<br />
<br />
*gentoo <br />
<br />
echo "ssl examples" >> /etc/portage/package.use<br />
emerge -av openvpn resolvconf-gentoo<br />
<br />
*Other <br />
<br />
can be found here: http://openvpn.net/install.html<br />
<br />
====Setup====<br />
<br />
Once installed you will need to set some things up.<br />
<br />
Here is a sample config (though you will need to edit a few lines). Copy and save this as '''/etc/openvpn/client.conf''' .<br />
<br />
# both '#' and ';' act as comments<br />
client<br />
dev tun<br />
proto udp<br />
# change this to your server's address<br />
remote ASK_A_SYSADMIN 1194<br />
resolv-retry infinite<br />
nobind<br />
persist-key<br />
persist-tun<br />
tls-client<br />
ca /etc/openvpn/keys/ca.crt<br />
cert /etc/openvpn/keys/MY_VERY_OWN_PERSONAL.crt<br />
key /etc/openvpn/keys/MY_VERY_OWN_PERSONAL.key<br />
ns-cert-type server<br />
tls-auth /etc/openvpn/keys/ta.key 1<br />
cipher BF-CBC<br />
comp-lzo<br />
# enable execution of up/down scripts:<br />
script-security 2<br />
# shipped with debian lenny and later:<br />
up /etc/openvpn/update-resolv-conf<br />
down /etc/openvpn/update-resolv-conf<br />
# alternate examples that do similar things:<br />
#up /etc/openvpn/freegeek-up<br />
#down /etc/openvpn/freegeek-down<br />
# force all traffic through VPN:<br />
#redirect-gateway<br />
<br />
For the ASK_A_SYSADMIN, use the firewall's wireless ip or its external ip, depending on whether this will be accessible from the internet.<br />
For internet accessible, use 1193 instead of 1194.<br />
<br />
The commented out up/down lines refer to alternate scripts, which you could copy from here:<br />
<br />
#!/bin/bash<br />
# freegeek-up<br />
TEMPFILE=`mktemp /tmp/resolv.conf.XXXXXX`<br />
echo search fglan >> $TEMPFILE<br />
for DHCPOPTVAR in ${!foreign_option*} ; do<br />
DHCPOPT="${!DHCPOPTVAR}"<br />
if echo $DHCPOPT | grep -qe '^dhcp-option.DNS' ; then<br />
echo $DHCPOPT | sed -re 's/dhcp-option.DNS.([0-9.]+)$/nameserver \1/' >> $TEMPFILE<br />
fi<br />
done<br />
cat $TEMPFILE | resolvconf -a $dev<br />
rm $TEMPFILE<br />
<br />
and:<br />
<br />
#!/bin/bash<br />
# freegeek-down<br />
rm /etc/resolvconf/run/interface/tun0<br />
resolvconf -u<br />
<br />
====Automate====<br />
<br />
'''NOTE: You must change the hashbang to "#!/bin/bash" as these scripts will now contain bashisms.'''<br />
<br />
* edit /etc/network/if-up.d/openvpn to include the following at the end of the file:<br />
if grep -q 'ESSID:"freegeek"' <(iwconfig $IFACE); then<br />
openvpn --daemon --config /etc/openvpn/client.conf --script-security 2<br />
fi<br />
* edit /etc/network/if-down.d/openvpn to include the following at the end of the file:<br />
if grep -q 'ESSID:"freegeek"' <(iwconfig $IFACE); then<br />
exec killall -q openvpn<br />
fi<br />
<br />
==Printing==<br />
To allow access to the printserver, add "BrowseAddress ''your-tun0-ip''" to cupsd.conf on scribble and then restart cups. You should get a consistent ip address, so this should be stable unless we need to change the keys.<br />
<br />
Alternatively, you can add scribble as a server to browse for printers on your localhost by doing the follow:<br />
* Go to '''System -> Administration -> Printing'''<br />
* Go to '''Server -> Settings'''<br />
* Select the radio button next to 'Show printers shared by other systems'<br />
* Expand the '''Advanced Server Settings''' menu<br />
* Under '''Browse servers''', click the '''Add''' button and enter: <code>scribble</code><br />
** If the '''Add''' button is greyed out, try applying the settings (click '''OK''') and bring up the Server Settings menu again.<br />
* If the printers don't immediately show up, confirm you're connected to the VPN and then try restarting your local CUPS instance:<br />
sudo service cups restart<br />
<br />
[[Category: Technocrats]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Tech_Support_Intake_Blurb&diff=66968Tech Support Intake Blurb2013-04-13T18:40:11Z<p>Ryan52: /* Data Backup */ formatting</p>
<hr />
<div>=Tech Support Important Information=<br />
We provide free technical support on systems during the stipulated warranty period, provided that the original operating system (Xubuntu 12.04 or Ubuntu 10.04*) is still installed; and no major changes to the hardware have been made, Store bought systems are warrantied for 6 months (this does not apply to servers, non-Intel Macs, XBMC and Gaming Rigs - all of which are not covered by Tech Support).<br />
<br />
After the original warranty period has elapsed, items will be supported on a pay-as-you-go basis for $10 an issue for 1 year - replacement hardware costs are extra. We can only help solve your tech support issues if the original operating system that came with your machine is still installed. Any systems which fall outside of the times listed above beyond this will be dealt with only at our discretion. <br />
==Tech Support Dropoff==<br />
By bringing an item to us you are agreeing to the policies laid out below.<br />
*We take no responsibility for any item left outside our scheduled hours, or when the door is closed. <br />
*We do not guarantee that we will be able to fix your computer. <br />
*We do not replace machines out of warranty, or "on demand" in warranty. <br />
*We take the following items only:<br />
**Computer/Desktop Towers<br />
**Laptops + Power supplies (if needed for troubleshooting)<br />
**Components purchased in the Free Geek thrift store that you want us to install. <br />
*We will not take responsibility for anything else that we have not explicitly requested from you. This includes, but is not limited to: laptop bags, power cords, monitors, printers, keyboards, mice, CD's and DVD's and USB devices we are not installing. YOU LEAVE THESE ITEMS AT YOU OWN RISK AND WE RESERVE THE RIGHT TO DISPOSE OF THESE ITEMS AT ANY TIME UNLESS WE HAVE ASKED YOU TO LEAVE THEM. <br />
*Free Geek reserves the right to deny support to customers who abuse the tech support privileges. Whenever possible, customers will be warned that further abuse will result in denial of support. <br />
*These policies do not constitute any form of guarantee or indemnity. All items are left at your own risk. <br />
*We reserve the right to refuse to work on a system, change the pricing structure, and/or change these policies at any time. <br />
==Tech Support Collection==<br />
Hours for collection are: Tuesday through Saturday, in between the hours of 12:00 - 5:45.<br />
<br />
We require the yellow ticket that was issued to you when you dropped off your items, or a valid photo id, in order to collect items that were registered in our repair system.<br />
<br />
Please make sure to collect all your personal items before leaving Free Geek.<br />
==Data Backup==<br />
Free Geek does offer a fee based data backup service.<br />
Current pricing is:<br />
$10 Fixed Fee +<br />
$3 for the first DVD<br />
$2 per DVD for DVD's 2-5<br />
$1 per DVD thereafter<br />
If you are buying/adopting a new computer from Free Geek, data transfer to the new machine is free.</div>Ryan52http://wiki.freegeek.org/index.php?title=Tech_Support_Intake_Blurb&diff=66967Tech Support Intake Blurb2013-04-13T18:27:29Z<p>Ryan52: slight formatting change</p>
<hr />
<div>=Tech Support Important Information=<br />
We provide free technical support on systems during the stipulated warranty period, provided that the original operating system (Xubuntu 12.04 or Ubuntu 10.04*) is still installed; and no major changes to the hardware have been made, Store bought systems are warrantied for 6 months (this does not apply to servers, non-Intel Macs, XBMC and Gaming Rigs - all of which are not covered by Tech Support).<br />
<br />
After the original warranty period has elapsed, items will be supported on a pay-as-you-go basis for $10 an issue for 1 year - replacement hardware costs are extra. We can only help solve your tech support issues if the original operating system that came with your machine is still installed. Any systems which fall outside of the times listed above beyond this will be dealt with only at our discretion. <br />
==Tech Support Dropoff==<br />
By bringing an item to us you are agreeing to the policies laid out below.<br />
*We take no responsibility for any item left outside our scheduled hours, or when the door is closed. <br />
*We do not guarantee that we will be able to fix your computer. <br />
*We do not replace machines out of warranty, or "on demand" in warranty. <br />
*We take the following items only:<br />
**Computer/Desktop Towers<br />
**Laptops + Power supplies (if needed for troubleshooting)<br />
**Components purchased in the Free Geek thrift store that you want us to install. <br />
*We will not take responsibility for anything else that we have not explicitly requested from you. This includes, but is not limited to: laptop bags, power cords, monitors, printers, keyboards, mice, CD's and DVD's and USB devices we are not installing. YOU LEAVE THESE ITEMS AT YOU OWN RISK AND WE RESERVE THE RIGHT TO DISPOSE OF THESE ITEMS AT ANY TIME UNLESS WE HAVE ASKED YOU TO LEAVE THEM. <br />
*Free Geek reserves the right to deny support to customers who abuse the tech support privileges. Whenever possible, customers will be warned that further abuse will result in denial of support. <br />
*These policies do not constitute any form of guarantee or indemnity. All items are left at your own risk. <br />
*We reserve the right to refuse to work on a system, change the pricing structure, and/or change these policies at any time. <br />
==Tech Support Collection==<br />
Hours for collection are: Tuesday through Saturday, in between the hours of 12:00 - 5:45.<br />
<br />
We require the yellow ticket that was issued to you when you dropped off your items, or a valid photo id, in order to collect items that were registered in our repair system.<br />
<br />
Please make sure to collect all your personal items before leaving Free Geek.<br />
==Data Backup==<br />
Free Geek does offer a fee based data backup service.<br />
Current pricing is :<br />
$10 Fixed Fee +<br />
$3 for the first DVD<br />
$2 per DVD for DVD's 2-5<br />
$1 per DVD thereafter<br />
If you are buying/adopting a new computer from Free Geek, data transfer to the new machine is free.</div>Ryan52http://wiki.freegeek.org/index.php?title=Technocrats&diff=66891Technocrats2013-04-09T18:46:16Z<p>Ryan52: /* Technocrat Priorities */</p>
<hr />
<div>{{:Standing Technocrats Committee}}<br />
----<br />
<br />
==Current Members==<br />
*[[User:Vagrant|Vagrant]]<br />
*[[User:Ryan52|Ryan]]<br />
*[[User:Owenja|Jason]]<br />
*[[User:Scellef|Sean]]<br />
*[[User:Paulm|Paul]]<br />
<br />
==Ongoing Areas of Concern==<br />
[[Server Room]] (no longer new, still does not have a page of its own)<br />
[[Phone Infrastructure]] (this is just as important as the rest of our infrastructure, if not more!)<br />
<br />
== Budgeted Expenses==<br />
''(Your actual expense budget goes here, along with explanatory notes, for example notes indicating which months expenses are expected to happen in,.)''<br />
* $575 every February for new UPS batteries<br />
<br />
UPS batteries get used up faster than expected.<br />
<br />
===Nonrecurring expenses===<br />
''(This is where one time expenses would go. Yearly or more often go above.)''<br />
<br />
===Cabling expenses===<br />
We regularly need supplies to fuel our ongoing cabling parties.<br />
<br />
* We've had good luck with the [http://sewelldirect.com/Cat5e-Bulk-Cable.asp Sewell 1000-ft boxes of cat5e], and they're available in all the colors of the rainbow.<br />
* [http://www.buy.com/prod/belkin-cat-5e-keystone-jack-network-connector-rj-45-110-punchdown/204451646.html Keystone jacks] are necessary for in-wall (or on-wall).<br />
* D-rings keep our cables from falling on the ground. Historically, we've just bought locally, but when we get low we should buy online.<br />
<br />
===Related Items===<br />
''(This is for notes that indicate expenses that affect your committee but are actually classified under a different committee.)''<br />
<br />
Are these still needed?<br />
* line identifier (better than our current one, which doesn't work): $50(?)<br />
* special punch-down head for phone blocks: $5-8 * YES, LOOK ABOE * -Jared<br />
<br />
==Meetings==<br />
We meet weekly at 2:00 pm on Friday in the Meeting Room.<br />
Meetings are open, but participation is generally limited to members of the Technocrats. <br />
If you're interested in joining, the best way would be to listen in on the meetings and join either server build or tech support.<br />
<br />
==Technocrat Priorities==<br />
Here is a list of what Technocrats should prioritize when making decisions<br />
<br />
*'''Communicate''' effectively with your users. Communicate with other Technocrats about what you're doing.<br />
*Maintain effective '''security'''; stop people from doing things that they shouldn't be doing.<br />
*Maintain '''data''' integrity for our users and our systems.<br />
*Do not violate or let be violated the '''privacy''' of your users.<br />
*Keep all your services in '''working''' order (e.g. research a new version before upgrading to it)<br />
*Minimize and mitigate any '''downtime''' that happens or is necessary to have.<br />
*Be '''efficient''', paying attention to requests of more importance before minor issues.<br />
*Uphold our local organizational '''policies''' as well as the accepted laws related to your work.<br />
*Do not '''abuse''' Free Geek's resources, and help to prevent others from doing the same (excessive network traffic, excessive printing). <br />
*Try not to be '''annoying'''; people will complain much sooner and louder if something bothers them than if something is just broken.<br />
*Do what it takes to '''understand''' the implications of your actions before taking them, so that you can knowingly apply these priorities.<br />
*Always '''document''' your work. At the very least update tickets in a timely and informative fashion. If you think this will need to be repeated consider the best way to document it elsewhere. (added by [[User:Paulm|paulm]] 01:24, 29 January 2012 (UTC))<br />
<br />
[[Category:Structure]]<br />
[[Category:Technocrats]]<br />
[[Category: Standing Committees]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Technocrats&diff=66890Technocrats2013-04-09T18:46:00Z<p>Ryan52: /* Meetings */</p>
<hr />
<div>{{:Standing Technocrats Committee}}<br />
----<br />
<br />
==Current Members==<br />
*[[User:Vagrant|Vagrant]]<br />
*[[User:Ryan52|Ryan]]<br />
*[[User:Owenja|Jason]]<br />
*[[User:Scellef|Sean]]<br />
*[[User:Paulm|Paul]]<br />
<br />
==Ongoing Areas of Concern==<br />
[[Server Room]] (no longer new, still does not have a page of its own)<br />
[[Phone Infrastructure]] (this is just as important as the rest of our infrastructure, if not more!)<br />
<br />
== Budgeted Expenses==<br />
''(Your actual expense budget goes here, along with explanatory notes, for example notes indicating which months expenses are expected to happen in,.)''<br />
* $575 every February for new UPS batteries<br />
<br />
UPS batteries get used up faster than expected.<br />
<br />
===Nonrecurring expenses===<br />
''(This is where one time expenses would go. Yearly or more often go above.)''<br />
<br />
===Cabling expenses===<br />
We regularly need supplies to fuel our ongoing cabling parties.<br />
<br />
* We've had good luck with the [http://sewelldirect.com/Cat5e-Bulk-Cable.asp Sewell 1000-ft boxes of cat5e], and they're available in all the colors of the rainbow.<br />
* [http://www.buy.com/prod/belkin-cat-5e-keystone-jack-network-connector-rj-45-110-punchdown/204451646.html Keystone jacks] are necessary for in-wall (or on-wall).<br />
* D-rings keep our cables from falling on the ground. Historically, we've just bought locally, but when we get low we should buy online.<br />
<br />
===Related Items===<br />
''(This is for notes that indicate expenses that affect your committee but are actually classified under a different committee.)''<br />
<br />
Are these still needed?<br />
* line identifier (better than our current one, which doesn't work): $50(?)<br />
* special punch-down head for phone blocks: $5-8 * YES, LOOK ABOE * -Jared<br />
<br />
==Meetings==<br />
We meet weekly at 2:00 pm on Friday in the Meeting Room.<br />
Meetings are open, but participation is generally limited to members of the Technocrats. <br />
If you're interested in joining, the best way would be to listen in on the meetings and join either server build or tech support.<br />
<br />
==Technocrat Priorities==<br />
Here is a list of what Technocrats should prioritize when making decisions<br />
<br />
(taken from the old ASS page s/ASS/technocrat/)<br />
<br />
*'''Communicate''' effectively with your users. Communicate with other Technocrats about what you're doing.<br />
*Maintain effective '''security'''; stop people from doing things that they shouldn't be doing.<br />
*Maintain '''data''' integrity for our users and our systems.<br />
*Do not violate or let be violated the '''privacy''' of your users.<br />
*Keep all your services in '''working''' order (e.g. research a new version before upgrading to it)<br />
*Minimize and mitigate any '''downtime''' that happens or is necessary to have.<br />
*Be '''efficient''', paying attention to requests of more importance before minor issues.<br />
*Uphold our local organizational '''policies''' as well as the accepted laws related to your work.<br />
*Do not '''abuse''' Free Geek's resources, and help to prevent others from doing the same (excessive network traffic, excessive printing). <br />
*Try not to be '''annoying'''; people will complain much sooner and louder if something bothers them than if something is just broken.<br />
*Do what it takes to '''understand''' the implications of your actions before taking them, so that you can knowingly apply these priorities.<br />
*Always '''document''' your work. At the very least update tickets in a timely and informative fashion. If you think this will need to be repeated consider the best way to document it elsewhere. (added by [[User:Paulm|paulm]] 01:24, 29 January 2012 (UTC))<br />
<br />
[[Category:Structure]]<br />
[[Category:Technocrats]]<br />
[[Category: Standing Committees]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Network_Manager_Doesn%27t_Display_Available_Networks&diff=66799Network Manager Doesn't Display Available Networks2013-03-30T18:24:11Z<p>Ryan52: Document new solution to the issue</p>
<hr />
<div>== New Solution ==<br />
<br />
Install the freegeek-ppa-keyring package, then check for and install updates.<br />
<br />
== Old Solution ==<br />
<br />
The current version of the network manager applet will sometimes fail to display available networks (wireless or wired), instead only showing:<br />
Enable Networking<br />
Enable Wireless<br />
Connection Information<br />
Edit Connections...<br />
<br />
This problem can be corrected by modifying /etc/xdg/autostart/nm-applet.desktop<br />
sudo nano /etc/xdg/autostart/nm-applet.desktop<br />
Change the line that reads<br />
Exec=nm-applet<br />
so that it reads<br />
Exec=sh -c "sleep 10; nm-applet" &<br />
<br />
Save the changes (Ctrl-O, Ctrl-X in nano) and reboot the system.<br />
<br />
This modification introduces a delay to the startup of the network manager applet that alleviates a race condition, and as a result this will cause a delay in the appearance of the network manager applet in the panel.<br />
<br />
If the issue is not resolved then repeat the process, incrementing the value following "sleep" from 15 to 20. If this still does not solve the problem try incrementing it again. Unless it is an exceptionally slow or abused system it should not be necessary to increase the value above 30, and there may be another issue present if the problem persists even with a higher sleep time.<br />
<br />
We should also try to identify and document other work-arounds for this as it may be difficult to advise Tech Support callers on performing these modifications.<br />
<br />
The one other currently known work-around is to connect/disconnect an ethernet cable and then disconnect/reconnect it again, forcing an update to the list of available networks. This fix only lasts until the next time the system is rebooted.<br />
<br />
<br />
This is a known and to-be-patched bug: [http://bugs.launchpad.net/ubuntu/+source/network-manager-applet/+bug/965895 Launchpad Bug 965895]<br />
<br />
[[Category:Wireless and Networking 12.04]]<br />
[[Category:Tech Support Procedures 12.04]]<br />
[[Category:Tech support]]<br />
[[Category:Laptops]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Openvpn&diff=66618Openvpn2013-03-16T22:52:42Z<p>Ryan52: /* Network Manager */ Add missing configuration option for HMAC Authentication</p>
<hr />
<div>==Introduction==<br />
<br />
OpenVPN is an open source Virtual Private Network (VPN), which allows one to establish a tunnel for any IP subnetwork or virtual ethernet adapter e.i. TUN/TAP kernel device over any UDP/TCP port. At freegeek, we have one between our wireless and wired networks.<br />
<br />
==Key Generation==<br />
<br />
To use the VPN, you will need the files ca.crt, foo.crt, and foo.key, and later on ta.key.<br />
<br />
To generate them, you will need to follow these horrible, horrible steps:<br />
<br />
Ask a sysadmin to run the following commands on our vpn server: (if this will be internet accessible, use vars.internet)<br />
cd /etc/openvpn/easy-rsa<br />
. ./vars<br />
./build-key ''clientname''<br />
<br />
These files will land in either ../keys or ../keys.internet, depending. <br />
<br />
Securely copy the three files named after ''clientname'', plus ca.crt and ta.key, to your computer and put them in an unreadable directory, '''/etc/openvpn/keys/''' (system-wide) or '''~/.openvpn/''' (per-user; be sure to '''chmod -R go-rwx ~/.openvpn/'''). Don't leave any spare copies of those files lying around!<br />
<br />
==Installation==<br />
You can set up the VPN to be system-wide or to be per user. Using network-manager is probably easier.<br />
<br />
===Network Manager===<br />
<br />
On Debian or Ubuntu:<br />
sudo aptitude install network-manager-openvpn-gnome<br />
or<br />
sudo aptitude install network-manager-openvpn-kde<br />
<br />
In the network manager menu (click on the icon for your connection), go to "VPN Connections > Configure VPN...". Create a new VPN by clicking Add, selecting OpenVPN for the type, and click Create. Ask your system administrator for the IP address to put in the gateway box, and if your system administrator is forgetful, remind them to look at /etc/openvpn/server{,.internet}.conf on the firewall.<br />
<br />
Name the connection name appropriately, then set the properties on the VPN tab:<br />
<br />
Type: Certificates (TLS)<br />
User Certificate: ~/.openvpn/foo.crt<br />
CA Certificate: ~/.openvpn/ca.crt<br />
Private Key: ~/.openvpn/foo.key<br />
<br />
In the Advanced Settings, set the custom gateway port to 1193 if this is an internet connection (as opposed to using the default on the Free Geek wireless); turn on Use LZO Data Compression; on the security tab, set the cipher to BF-CBC and HMAC Authentication to SHA-1; and on the TLS Authentication tab, enable using additional TLS authentication, set the key file to ~/.openvpn/ta.key , and set the key direction to 1.<br />
<br />
Finally, you may need to restart network-manager before you can connect:<br />
sudo service network-manager restart<br />
<br />
===System-Wide Setup===<br />
<br />
*on debian <br />
<br />
apt-get install openvpn openssl resolvconf<br />
<br />
*gentoo <br />
<br />
echo "ssl examples" >> /etc/portage/package.use<br />
emerge -av openvpn resolvconf-gentoo<br />
<br />
*Other <br />
<br />
can be found here: http://openvpn.net/install.html<br />
<br />
====Setup====<br />
<br />
Once installed you will need to set some things up.<br />
<br />
Here is a sample config (though you will need to edit a few lines). Copy and save this as '''/etc/openvpn/client.conf''' .<br />
<br />
# both '#' and ';' act as comments<br />
client<br />
dev tun<br />
proto udp<br />
# change this to your server's address<br />
remote ASK_A_SYSADMIN 1194<br />
resolv-retry infinite<br />
nobind<br />
persist-key<br />
persist-tun<br />
tls-client<br />
ca /etc/openvpn/keys/ca.crt<br />
cert /etc/openvpn/keys/MY_VERY_OWN_PERSONAL.crt<br />
key /etc/openvpn/keys/MY_VERY_OWN_PERSONAL.key<br />
ns-cert-type server<br />
tls-auth /etc/openvpn/keys/ta.key 1<br />
cipher BF-CBC<br />
comp-lzo<br />
# enable execution of up/down scripts:<br />
script-security 2<br />
# shipped with debian lenny and later:<br />
up /etc/openvpn/update-resolv-conf<br />
down /etc/openvpn/update-resolv-conf<br />
# alternate examples that do similar things:<br />
#up /etc/openvpn/freegeek-up<br />
#down /etc/openvpn/freegeek-down<br />
# force all traffic through VPN:<br />
#redirect-gateway<br />
<br />
For the ASK_A_SYSADMIN, use the firewall's wireless ip or its external ip, depending on whether this will be accessible from the internet.<br />
For internet accessible, use 1193 instead of 1194.<br />
<br />
The commented out up/down lines refer to alternate scripts, which you could copy from here:<br />
<br />
#!/bin/bash<br />
# freegeek-up<br />
TEMPFILE=`mktemp /tmp/resolv.conf.XXXXXX`<br />
echo search fglan >> $TEMPFILE<br />
for DHCPOPTVAR in ${!foreign_option*} ; do<br />
DHCPOPT="${!DHCPOPTVAR}"<br />
if echo $DHCPOPT | grep -qe '^dhcp-option.DNS' ; then<br />
echo $DHCPOPT | sed -re 's/dhcp-option.DNS.([0-9.]+)$/nameserver \1/' >> $TEMPFILE<br />
fi<br />
done<br />
cat $TEMPFILE | resolvconf -a $dev<br />
rm $TEMPFILE<br />
<br />
and:<br />
<br />
#!/bin/bash<br />
# freegeek-down<br />
rm /etc/resolvconf/run/interface/tun0<br />
resolvconf -u<br />
<br />
====Automate====<br />
<br />
* edit /etc/network/if-up.d/openvpn to include the following at the end of the file:<br />
if grep -q 'ESSID:"freegeek"' <(iwconfig $IFACE); then<br />
openvpn --daemon --config /etc/openvpn/client.conf --script-security 2<br />
fi<br />
* edit /etc/network/if-down.d/openvpn to include the following at the end of the file:<br />
if grep -q 'ESSID:"freegeek"' <(iwconfig $IFACE); then<br />
exec killall -q openvpn<br />
fi<br />
<br />
==Printing==<br />
To allow access to the printserver, add "BrowseAddress ''your-tun0-ip''" to cupsd.conf on scribble and then restart cups. You should get a consistent ip address, so this should be stable unless we need to change the keys.<br />
<br />
Alternatively, you can add scribble as a server to browse for printers on your localhost by doing the follow:<br />
* Go to '''System -> Administration -> Printing'''<br />
* Go to '''Server -> Settings'''<br />
* Select the radio button next to 'Show printers shared by other systems'<br />
* Expand the '''Advanced Server Settings''' menu<br />
* Under '''Browse servers''', click the '''Add''' button and enter: <code>scribble</code><br />
** If the '''Add''' button is greyed out, try applying the settings (click '''OK''') and bring up the Server Settings menu again.<br />
* If the printers don't immediately show up, confirm you're connected to the VPN and then try restarting your local CUPS instance:<br />
sudo service cups restart<br />
<br />
[[Category: Technocrats]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Email_List_Setup&diff=65495Email List Setup2012-12-09T10:10:13Z<p>Ryan52: Point to Technocrats documentation</p>
<hr />
<div>See howtos/newmailmanlists in the Technocrats SVN repository.<br />
<br />
[[Category:Howto]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Printme&diff=65090Printme2012-11-17T22:07:44Z<p>Ryan52: /* Mac Printme */</p>
<hr />
<div>'''Printme''' is a utility that is used in the build program and in tech support to record various hardware features of the system, and the people who have worked on it, as well as the problems found.<br />
<br />
==Generating Printme report without a script==<br />
There are times when you need to generate a printme report, and do not have freegeek-extras installed e.g.:<br />
*systems built in MacBuild<br />
*system with an unreadable hard drive, but bootable from a live cd<br />
<br />
<br />
You can still run the report by opening a terminal and entering the following:<br />
lshw -xml >> printme.xml<br />
<br />
This will run the ''lshw'' command, which will generate its output in XML format and use it to create a file called ''printme.xml'' in your current directory. <br />
<br />
Once the XML file is created, use a web browser to connect to [http://data/spec_sheets/new Free Geek's printme database] (NOTE: the database is only accessible from Free Geek's internal network), fill out the relevant information, and upload the XML file. This should provide you with a printme report that can be printed.<br />
<br />
Using this system, you can also create a printme.xml on an offsite box and then use a copy of that file to create a printme when you get back to FG.<br />
<br />
==Finding printme info on a broken machine==<br />
<br />
Provided the files still exist and you can boot from a liveCD, printme info is located in /var/lib/freegeek-extras/printme/<br />
<br />
<br />
[[Category:Build]]<br />
[[Category:Tech support]]<br />
<br />
==Mac Printme==<br />
<br />
From time to time a new version of printme gets created, but the OS that Macland is using to test the Macs can not update in the same way as normal Build. These steps below will allow you to replace the old printme with a new version, allowing printme to run.<br />
<br />
Start by opening up the latest version of [http://llama.freegeek.org/~ryan52/mac/printme printme] in a new tab.<br />
Save the page in your Downloads folder. (You can also right-click to save the link.)<br />
<br />
In Terminal make a backup of the old printme by renaming it, copy the downloaded printme file and set the permissions:<br />
$sudo mv /usr/bin/printme /usr/bin/printme.old<br />
$sudo cp ~/Downloads/printme /usr/bin/printme<br />
$sudo chmod +x /usr/bin/printme<br />
<br />
Now you are ready to run printme again!<br />
<br />
=== Mac Netboot Printme ===<br />
<br />
If the netbooted version of printme is not up to date, one of the [[Technocrats]] will need to run update-printmes.sh on gerald.<br />
<br />
[[Category:Build]]<br />
[[Category:Tech support]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Printme&diff=65089Printme2012-11-17T22:01:25Z<p>Ryan52: /* Mac Printme */ Update Mac printme instructions</p>
<hr />
<div>'''Printme''' is a utility that is used in the build program and in tech support to record various hardware features of the system, and the people who have worked on it, as well as the problems found.<br />
<br />
==Generating Printme report without a script==<br />
There are times when you need to generate a printme report, and do not have freegeek-extras installed e.g.:<br />
*systems built in MacBuild<br />
*system with an unreadable hard drive, but bootable from a live cd<br />
<br />
<br />
You can still run the report by opening a terminal and entering the following:<br />
lshw -xml >> printme.xml<br />
<br />
This will run the ''lshw'' command, which will generate its output in XML format and use it to create a file called ''printme.xml'' in your current directory. <br />
<br />
Once the XML file is created, use a web browser to connect to [http://data/spec_sheets/new Free Geek's printme database] (NOTE: the database is only accessible from Free Geek's internal network), fill out the relevant information, and upload the XML file. This should provide you with a printme report that can be printed.<br />
<br />
Using this system, you can also create a printme.xml on an offsite box and then use a copy of that file to create a printme when you get back to FG.<br />
<br />
==Finding printme info on a broken machine==<br />
<br />
Provided the files still exist and you can boot from a liveCD, printme info is located in /var/lib/freegeek-extras/printme/<br />
<br />
<br />
[[Category:Build]]<br />
[[Category:Tech support]]<br />
<br />
==Mac Printme==<br />
<br />
From time to time a new version of printme gets created, but the OS that Macland is using to test the Macs can not update in the same way as normal Build. These steps below will allow you to replace the old printme with a new version, allowing printme to run.<br />
<br />
Start by opening up the latest version of [http://llama.freegeek.org/~ryan52/mac/printme printme] in a new tab.<br />
Save the page in your Downloads folder. (You can also right-click to save the link.)<br />
<br />
In Terminal make a backup of the old printme by renaming it, copy the downloaded printme file and set the permissions:<br />
$sudo mv /usr/bin/printme /usr/bin/printme.old<br />
$sudo cp ~/Downloads/printme /usr/bin/printme<br />
$sudo chmod +x /usr/bin/printme<br />
<br />
Now you are ready to run printme again!<br />
<br />
=== Mac Netboot Printme ===<br />
<br />
If the netbooted version of printme is not up to date, a [[Technocrat]] will need to run update-printmes.sh on gerald.<br />
<br />
[[Category:Build]]<br />
[[Category:Tech support]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Talk:Printme&diff=65088Talk:Printme2012-11-17T21:59:39Z<p>Ryan52: Created page with "Moved to discussion: * '''What happened to the update-printme script which was written by one of the volunteers? Is it gone or would it still be useful? (I probably should have g…"</p>
<hr />
<div>Moved to discussion:<br />
* '''What happened to the update-printme script which was written by one of the volunteers? Is it gone or would it still be useful? (I probably should have gotten my hands on a copy of it at the time..) '''<br />
** Anyways, I have replaced the database's response with instructions to see the Printme wiki page now (it mentioned update-printme before), but let me know if you would like it to change again. I have complete control of the text printme outputs in this situation from the database, so we can trivially change the output to be more helpful when we know our processes change.<br />
** [[User:Ryan52|Ryan52]] 21:36, 3 May 2012 (UTC)</div>Ryan52http://wiki.freegeek.org/index.php?title=WxKeyboardTester&diff=64928WxKeyboardTester2012-11-04T00:12:53Z<p>Ryan52: </p>
<hr />
<div>== install ==<br />
* install the wx-keyboard-tester package<br />
<br />
== using ==<br />
* Log out and back in using the "wxKeyboardTester" Session (instead of a desktop manager)<br />
* There are settings and ability to switch to the mouse testing software from here<br />
<br />
[[Category: Coders]]</div>Ryan52http://wiki.freegeek.org/index.php?title=2012_Website_Redesign&diff=648262012 Website Redesign2012-10-27T22:25:59Z<p>Ryan52: </p>
<hr />
<div>This page was created to start collecting information for a website redesign, as proposed by the PR Committee. <br />
<br />
== New and Improved Features/Structure ==<br />
* "Free Geek in the Media" page with links to media features, flexible archival settings<br />
* Option whether or not to post new page content in that page's category page feed (e.g. option not to include Media posts in main News feed)<br />
* "Large Donors/Partners" page listing individual donations over a certain amount, institutional and in-kind donors, corporate logos?<br />
* Newsletter sign-up button<br />
* Streaming Twitter/Facebook feed<br />
* Seperate pages for institutional and individual donors<br />
* Bold donate button on front page<br />
* Address and hours on front page (and footer of every page).<br />
* Links to wiki, possibly other outward facing services<br />
* "Digital Tour": Area highlights w/ photos, more expository descriptions<br />
* Integrate Inreach programs (e.g., Star Volunteers, Events, etc)<br />
* Must be mobile-friendly!<br />
* Presence for current certifications<br />
* Incorporate Spanish pages (or...whole separate Spanish website).<br />
* Submenus<br />
* RSS feed<br />
* Photo area (Flickr account link?)<br />
* Header on every page: Logo, Hours/Location/Phone, Link to directions, Social Media Buttons <br />
* Footer on every page: Text Navigation and Search bar<br />
* No Blog looking content, except on community news page<br />
* Full articles on community news page.<br />
* Currents news on Home page with fully flexible posting options<br />
<br />
== Technical/Maintenance ==<br />
* Easy/quick for staff and volunteers to maintain<br />
* Admin: pretty easy to learn to administer, easy to add users and privileges, easy to make new pages, easy to change layout of old pages<br />
* Accessible in Debian (for server hosting)<br />
* Analytics to view click-throughs to individual posts, and internal navigation between individual pages and posts<br />
* Quick loading for dial-up users<br />
* Limit JavaScript<br />
* More cohesive method/procedure to maintain site<br />
* Ability to integrate with RT<br />
* Ideal: site that can produce static pages without having to send them to a database for backup<br />
<br />
== Layout/Design ==<br />
* Press area expanded to include links to FG in the news, articles, FG YouTube page, link to reddit?<br />
* Corporate hardware donor and Financial donor thanks page<br />
* Friends/Partners links<br />
* Links to other Free Geeks and similar organizations<br />
* Harmful stuff in computers page<br />
* Photo area<br />
* Map images with links - Google, Trimet, Bicycle<br />
* More prominent hours, location, phone number on front page<br />
* Little to no scroll on front page<br />
* Keep current Logo (Remove pictures and just use the Free Geek logo), Choose colors/fonts that flow nicely from the logo.<br />
* Muted colors, New Scheme (Green ?), Fading colors/gradients<br />
* Front page has link to Spanish Program Info page listing hours, Spanish tour times, basic descriptions of Build and Adoption in Spanish<br />
<br />
== Branding ==<br />
* Reuse/Recycling<br />
* Community<br />
* Environmentalism<br />
* Casual<br />
* Empowered<br />
* Open Source<br />
* Global, diverse, accessible<br />
* Creative<br />
* Comfortable with change<br />
* Sustainable/Green<br />
* Community Resource<br />
* Fun<br />
* Cooperative Learning<br />
<br />
== Current Website Issues ==<br />
* Busy (Make new site Clean)<br />
* Dated (Make new site Modern)<br />
* Constrained (Make new site Flexible)<br />
* Intelligent and fun (writing style)<br />
* Some elements are easy to use (Build on this)<br />
<br />
[[Category:2012 Website Redesign Project]] [[Category:WebAdmin]]</div>Ryan52http://wiki.freegeek.org/index.php?title=Port_Forwarding&diff=63668Port Forwarding2012-08-08T17:46:19Z<p>Ryan52: </p>
<hr />
<div>=Preliminaries=<br />
In order to access our database from outside the LAN, you need to have an account on our outward facing server. Speak with an [[ASS]] or the [[Technocrats]] to see about getting one.<br />
<br />
You will also need to have an SSH or VPN client installed on your computer. By default, Ubuntu comes with OpenSSH, and NetworkManager supports VPN connections.<br />
<br />
'''A word of warning''': Routing your web traffic through a proxy means that the sites you visit, and the unencrypted information you send will generally be logged on the proxy server. Additionally, things you send from the proxy server can be traced back to the proxy server. This means, in particular, that you should absolutely '''''not''''' do anything illegal while routing through our network, including torrenting copyrighted materials among other things.<br />
<br />
''Note'': Segments of code will look like this:<br />
$> su -<br />
#> echo FOO<br />
FOO<br />
#><br />
<br />
Where the '$>' indicates a standard user prompt, '#>' indicates a super user prompt, and lines without a prompt indicate messages to the standard output.<br />
<br />
=SSH=<br />
==Connecting to the Server==<br />
Open a terminal and enter the following:<br />
$> ssh -vND 5678 USER@foyer.freegeek.org<br />
Where 'USER' is your Free Geek account name. You should be prompted for your password. After successfully authenticating, you should see a lot of output that looks something like this:<br />
debug1: Local connections to LOCALHOST:5678 forwarded to remote address socks:0<br />
debug1: Local forwarding listening on ::1 port 5678.<br />
debug1: channel 0: new [port listener]<br />
debug1: Local forwarding listening on 127.0.0.1 port 5678.<br />
debug1: channel 1: new [port listener]<br />
debug1: Requesting no-more-sessions@openssh.com<br />
debug1: Entering interactive session.<br />
This window will print information regarding your SSH connection. Make sure to leave this terminal open while moving on to the next section!<br />
<br />
==Configuring your Browser==<br />
Now we need to configure our web browser to route its traffic through the SSH connection. The location of the configuration option to do this depends on your browser, but the concept remains the same.<br />
===Firefox===<br />
# Select '''Edit >> Preferences''' from the menu bar.<br />
# In the preferences windows, select the '''Advanced''' tab, then the '''Network''' tab underneath that, and finally the '''Settings''' button.<br />
# Now choose '''Manual Proxy Configuration''', and enter the following:<br />
'''SOCKS Host''': localhost '''Port''': 5678<br />
# Make sure '''SOCKS v5''' is selected underneath that. Now click '''OK''', and close the preferences window. You should now be able to access the FGDB. Try putting 'data' into your address bar.<br />
===Chromium (Google Chrome)===<br />
# Click the '''Wrench''' icon and select '''Preferences'''.<br />
# Select '''Under the Hood''', and then '''Change Proxy Settings'''.<br />
# Now choose '''Manual Proxy Configuration''', and enter the following:<br />
'''SOCKS Host''': localhost '''Port''': 5678<br />
# Now click '''Close''' and close the preferences tab. You should now be able to access the FGDB. Try putting 'data' into your address bar.<br />
===Closing the Tunnel===<br />
* When you're ready to close the tunnel, return to the Proxy Configuration window, and select '''No proxy''' or '''Direct Internet Connection''', depending on your browser.<br />
* Pull up the terminal window with the SSH connection, and either close the terminal, or enter '''Ctrl+C''' to close the connection.<br />
==Making Shortcuts==<br />
You can do this in either an elegant, enlightened way (command-line) or a brutish, uncultured way (GUI).<br />
===CLI===<br />
Enter the following into a terminal:<br />
$> cat >> ~/.bash_aliases<br />
alias fg-tunnel='ssh -vND 5678 $USER@foyer.freegeek.org'<br />
alias fg-browser='chromium-browser --proxy-server="socks://localhost:5678"'<br />
^d<br />
Where ^d means '''Ctrl+D'''. If you're exceptionally lazy, you could also do this:<br />
$> cat >> ~/.bash_aliases<br />
alias fg-lazy='fg-tunnel && fg-browser'<br />
^d<br />
Firefox doesn't directly allow proxy configurations from the command-line (booo). Instead, you can create different profiles for each proxy setting, and use the following command to switch between profiles when running Firefox (per [http://stackoverflow.com/questions/843340/firefox-proxy-settings-via-command-line StackOverflow]):<br />
firefox -no-remote -P <profilename><br />
===GUI===<br />
# Right-click your desktop, and select '''Create Launcher...'''<br />
#* Under '''Type''', choose ''Application in Terminal''.<br />
#* Under '''Name''', enter something like ''FG-SSH'' or ''FG-TUNNEL''.<br />
#* Under '''Command''', enter ''ssh -vND 5678 $USER@foyer.freegeek.org''<br />
# Click '''OK''', and create another launcher.<br />
#* Under '''Type''', choose ''Application''.<br />
#* Under '''Name''', enter something like ''FG-chromium'' or ''Proxy'',<br />
#* Under '''Command''', enter ''chromium-browser --proxy-server="socks://localhost:5678"''<br />
Now you can indulge in your barbaric clicky-ness to your heart's content.<br />
=VPN=<br />
To be written...<br />
<br />
[[Category: Technocrats]]</div>Ryan52