User:BrandonDHaskell: Difference between revisions
No edit summary |
No edit summary |
||
| Line 3: | Line 3: | ||
=='''Projects'''== | == '''Projects''' == | ||
==Noisebridge - Be Excellent== | == Noisebridge - Be Excellent == | ||
'''Collaborate and Create''' - Noisebridge is a space for sharing, creation, collaboration, research, development, mentoring, and learning. Let's build together! | '''Collaborate and Create''' - Noisebridge is a space for sharing, creation, collaboration, research, development, mentoring, and learning. Let's build together! | ||
| Line 19: | Line 19: | ||
[QR code here] | [QR code here] | ||
=='''Conflict Resolution Wiki Updates'''== | == '''Conflict Resolution Wiki Updates''' == | ||
==Getting Along With Others== | == Getting Along With Others == | ||
Noisebridge is an amazing and diverse community. It's what makes us excellent! But at times, it may also be a challenge to find compromise with so many thoughts, ideas, opinions, cultures, and backgrounds. If you find yourself in conflict there options available to you. | Noisebridge is an amazing and diverse community. It's what makes us excellent! But at times, it may also be a challenge to find compromise with so many thoughts, ideas, opinions, cultures, and backgrounds. If you find yourself in conflict there options available to you. | ||
===Safe Space=== | === Safe Space === | ||
Noisebridge is meant to be a safe place. If you feel you are unsafe, or are being threatened report it here: https://safespace.noisebridge.net/ | Noisebridge is meant to be a safe place. If you feel you are unsafe, or are being threatened report it here: https://safespace.noisebridge.net/ | ||
| Line 32: | Line 32: | ||
===Best Practices and Goals In High Conflict Situations=== | === Best Practices and Goals In High Conflict Situations === | ||
# Encourage each other to be [[Excellence|excellent]] as you work through. | # Encourage each other to be [[Excellence|excellent]] as you work through. | ||
# Use [[Restorative_Communication|Restorative Communication]]. | # Use [[Restorative_Communication|Restorative Communication]]. | ||
| Line 39: | Line 39: | ||
===When That Doesn't Work, [[Mediation|Try Mediation]]=== | === When That Doesn't Work, [[Mediation|Try Mediation]] === | ||
* Kelsey | * Kelsey | ||
* Cloud | * Cloud | ||
| Line 52: | Line 52: | ||
* [[User:JD|JD]] | * [[User:JD|JD]] | ||
==Software Project Management Best Practices== | == Software Project Management Best Practices == | ||
===Categorize Your Tasks=== | === Categorize Your Tasks === | ||
Categorizing tasks effectively in a project is crucial for efficient project management. Here is an extensive (but not complete) list: | Categorizing tasks effectively in a project is crucial for efficient project management. Here is an extensive (but not complete) list: | ||
| Line 80: | Line 80: | ||
* Research - ''Investigating or exploring new technologies or solutions. This is typically done before committing to any related work.'' | * Research - ''Investigating or exploring new technologies or solutions. This is typically done before committing to any related work.'' | ||
== Project - MeetUp == | |||
* Side Project Meetup? | * Side Project Meetup? | ||
* Review current Meetup meeting for Sunday afternoon | * Review current Meetup meeting for Sunday afternoon | ||
| Line 93: | Line 92: | ||
== Noisebridge Physical Access Project (SHED 2.0 and 3.0) == | |||
At Noisebridge we want to ensure safety and security | |||
Noisebridge is a long-time running egalitarian hackerspace with a radical open door policy. Noisebridge provides access to all members of the community and for a broad range of activities and relies on members to screen individuals who enter the space. At Noisebridge we want to ensure safety and security to members and our community at large, this project aims to implement systems and processes that restrict access to individuals that are part of Noisebridge, or have been vouched for by a member of Noisebridge. | |||
Previous version of this system have been implemented like [https://github.com/croepha/the-bike-shed the-bike-shed], and [https://github.com/tooPhatJones/NBCardreader NBCardreader] (see [https://www.noisebridge.net/wiki/SHED SHED] for more details). [https://github.com/croepha/the-bike-shed the-bike-shed] has been largely abandoned after one of the major hardware components "went missing" and has opened a security risk that prevents the system from being re-instated. [https://www.noisebridge.net/wiki/Olympus Olympus] has mostly replaced the [https://github.com/croepha/the-bike-shed the-bike-shed] with some functionality still work in progress (see [https://www.noisebridge.net/wiki/Olympus#Wants_&_Future_Directions Olympus#Wants_&_Future_Directions] for more details). | |||
The primary intent of this project is to update the software and hardware interfacing for the main entrance to Noisebridge at its current location, 272 Capp Street, San Francisco, CA, and make the code, interfacing, and setup easy to maintain and hack on (not hack in). | |||
The overall goal of the project is to implement an access system that utilizes access through mobile devices that have NFC chip readers. Primarily, these would be iOS and Android devices. | The overall goal of the project is to implement an access system that utilizes access through mobile devices that have NFC chip readers. Primarily, these would be iOS and Android devices. | ||
====Phase I Goals==== | |||
=== Overview === | |||
==== Phase I Goals ==== | |||
* Refactor the existing code and make extensible to additional hardware implementations | * Refactor the existing code and make extensible to additional hardware implementations | ||
* Build an interface in the main function for integrating with multiple hardware components | * Build an interface in the main function for integrating with multiple hardware components | ||
| Line 105: | Line 114: | ||
* Develop a process for implementing new interfaces (e.g., LED light controllers, music controllers, motions sensors, etc.) | * Develop a process for implementing new interfaces (e.g., LED light controllers, music controllers, motions sensors, etc.) | ||
====Phase II Goals (SHED 2.0)==== | ==== Phase II Goals (SHED 2.0) ==== | ||
* Implement multiple access points in Noisebridge (Sewing room, 3D printing room, Electronics room, etc.) | * Implement multiple access points in Noisebridge (Sewing room, 3D printing room, Electronics room, etc.) | ||
* Update database to include individual room access | * Update database to include individual room access | ||
| Line 111: | Line 120: | ||
* Centralize access updating to a single station within Noisebridge (aka detach from main entrance) | * Centralize access updating to a single station within Noisebridge (aka detach from main entrance) | ||
====Phase III Goals (SHED 3.0)==== | ==== Phase III Goals (SHED 3.0) ==== | ||
* Implement a cloud access service that generates access codes and syncs Noisebridge DB with Mobile devices | * Implement a cloud access service that generates access codes and syncs Noisebridge DB with Mobile devices | ||
* Implement building access through mobile devices (iOS, Android) | * Implement building access through mobile devices (iOS, Android) | ||
| Line 118: | Line 127: | ||
'''Possible Project Names:''' | '''Possible Project Names:''' | ||
* '''ADA''': '''A'''dvanced '''D'''oorway '''A'''ccess | * '''ADA''': '''A'''dvanced '''D'''oorway '''A'''ccess | ||
* '''ADA''': '''A'''daptable '''D'''device '''A'''utomation | |||
* '''NAPSEC''': '''N'''oisebridge '''A'''ccess and '''P'''hysical '''S'''ecurity '''E'''ntry '''C'''ontrol | * '''NAPSEC''': '''N'''oisebridge '''A'''ccess and '''P'''hysical '''S'''ecurity '''E'''ntry '''C'''ontrol | ||
* '''PHYSACON''': '''P'''hysical '''H'''ybrid '''S'''ystem for '''A'''ccess '''C'''ontrol and '''N'''oisebridge | * '''PHYSACON''': '''P'''hysical '''H'''ybrid '''S'''ystem for '''A'''ccess '''C'''ontrol and '''N'''oisebridge | ||
<code style="background: #f4f4f4; border: 1px solid #ddd; border-left: 3px solid #f36d33; color: #666; page-break-inside: avoid; font-family: monospace; font: Lucida; font-size: 15px; line-height: 1.6; margin-bottom: 1.6em; max-width: 100%; overflow: auto; padding: 1em 1.5em; display: block; word-wrap: break-word; -moz-tab-size: 4; -o-tab-size: 4; tab-size: 4;"> | |||
ADA_Project/<br /> | |||
│<br /> | |||
├── src/<br /> | |||
│ ├── __init__.py<br /> | |||
│ ├── ada.py # Main application file<br /> | |||
│ ├── config.py # Configuration settings, e.g., logging<br /> | |||
│ ├── hardware_interface.py # Base hardware interface<br /> | |||
│ ├── hardware/ # Folder for hardware implementations<br /> | |||
│ │ ├── __init__.py<br /> | |||
│ │ ├── door_sensor.py # Door sensor implementation<br /> | |||
│ │ ├── rfid_scanner.py # RFID scanner implementation<br /> | |||
│ │ ├── led_screen.py # LED screen implementation<br /> | |||
│ │ ├── [other hardware modules]<br /> | |||
│ │ └── interfaces/ # Specific interfaces for complex hardware<br /> | |||
│ │ ├── __init__.py<br /> | |||
│ │ ├── rfid_scanner_interface.py<br /> | |||
│ │ └── [other specific interfaces]<br /> | |||
│ └── utils/ # Utility modules, e.g., logging<br /> | |||
│ ├── __init__.py<br /> | |||
│ └── logger.py # Logger utility<br /> | |||
│<br /> | |||
├── tests/ # Unit tests for your project<br /> | |||
│ ├── __init__.py<br /> | |||
│ ├── test_ada.py<br /> | |||
│ ├── test_door_sensor.py<br /> | |||
│ ├── test_rfid_scanner.py<br /> | |||
│ ├── test_led_screen.py<br /> | |||
│ └── [other test files]<br /> | |||
│<br /> | |||
├── logs/ # Directory for log files (if logging to files)<br /> | |||
│ └── ada.log<br /> | |||
│<br /> | |||
├── README.md # Project description and instructions<br /> | |||
├── requirements.txt # List of project dependencies<br /> | |||
└── setup.py # Setup script for installing the project<br /> | |||
<code><br /> | |||
Revision as of 11:27, 12 January 2024
| Docent: This user has volunteered to be a docent and help out with greeter tours and assisting new people learn how to use the space and navigate the community. | See Category:Docent for more folks | (edit) |
Projects
Noisebridge - Be Excellent
Collaborate and Create - Noisebridge is a space for sharing, creation, collaboration, research, development, mentoring, and learning. Let's build together!
Respect and Inclusivity - We're a diverse group of amazing individuals. Respect each other's backgrounds, skills, and perspectives.
Communicate with Empathy - Approach each conversation with empathy and understanding, as if speaking with a close friend.
Personal Responsibility - Your actions shape our community. Be mindful and contribute positively.
Feedback Welcomed - Share your ideas to make Noisebridge even better.
[QR code here]
Conflict Resolution Wiki Updates
Getting Along With Others
Noisebridge is an amazing and diverse community. It's what makes us excellent! But at times, it may also be a challenge to find compromise with so many thoughts, ideas, opinions, cultures, and backgrounds. If you find yourself in conflict there options available to you.
Safe Space
Noisebridge is meant to be a safe place. If you feel you are unsafe, or are being threatened report it here: https://safespace.noisebridge.net/
If you wish to report harassment anonymously or privately, you can send a message to secretary@noisebridge.net, or engage with one of our mediators below.
Noisebridge does not tolerate harassment. Please see our harassment policies here
Best Practices and Goals In High Conflict Situations
- Encourage each other to be excellent as you work through.
- Use Restorative Communication.
- Ask to disengage and attempt the conversation at a later time.
- Ask for help from a mentor below
When That Doesn't Work, Try Mediation
Software Project Management Best Practices
Categorize Your Tasks
Categorizing tasks effectively in a project is crucial for efficient project management. Here is an extensive (but not complete) list:
Core Development Tasks
- Feature - Enhancements to the core product or app. These generally directly enhance the user experience.
- Docs (aka Documentation) - Content that contributes to enhancing knowledge around the use or usage of the product. This might also include system documentation, API guides, as well as help pages.
- Test - Writing or fixing tests.
- Bug - Functionality that is not working as expected and needs to be fixed.
Advanced Development Tasks
- Refactor - Code that needs to be optimized or improved for better readability or performance.
- Performance - Optimization tasks such as improving database queries.
- Deployment - Tasks related to deployment pipelines.
- UI/UX - User interface or user experience tasks.
- Enhancement - Minor improvements or non-critical updates such as improving form validation messaging.
QA
- Feedback - Tasks related to User or Stakeholder feedback.
Security or Rapid Response Tasks (these may be better managed in Kanban)
- Hotfix - Urgent fixes such as a security patch.
- Security - Addressing security vulnerabilities or enhancing security features
Maintenance
- Chore (aka Keep The Lights On [KTLO]) - Routine tasks or maintenance such as updating dependencies or updating CC info on recurring charges.
- Research - Investigating or exploring new technologies or solutions. This is typically done before committing to any related work.
Project - MeetUp
- Side Project Meetup?
- Review current Meetup meeting for Sunday afternoon
- Set Meetup time
- Set Meetup room (Electronics?)
- Create Meetup recurring event for Noisebridge
- Create mini projects for same day activities
- Design multi-week projects
- Create mini projects
Noisebridge Physical Access Project (SHED 2.0 and 3.0)
Noisebridge is a long-time running egalitarian hackerspace with a radical open door policy. Noisebridge provides access to all members of the community and for a broad range of activities and relies on members to screen individuals who enter the space. At Noisebridge we want to ensure safety and security to members and our community at large, this project aims to implement systems and processes that restrict access to individuals that are part of Noisebridge, or have been vouched for by a member of Noisebridge.
Previous version of this system have been implemented like the-bike-shed, and NBCardreader (see SHED for more details). the-bike-shed has been largely abandoned after one of the major hardware components "went missing" and has opened a security risk that prevents the system from being re-instated. Olympus has mostly replaced the the-bike-shed with some functionality still work in progress (see Olympus#Wants_&_Future_Directions for more details).
The primary intent of this project is to update the software and hardware interfacing for the main entrance to Noisebridge at its current location, 272 Capp Street, San Francisco, CA, and make the code, interfacing, and setup easy to maintain and hack on (not hack in). The overall goal of the project is to implement an access system that utilizes access through mobile devices that have NFC chip readers. Primarily, these would be iOS and Android devices.
Overview
Phase I Goals
- Refactor the existing code and make extensible to additional hardware implementations
- Build an interface in the main function for integrating with multiple hardware components
- Enforce logging from integrated hardware and software components
- Develop a unit testing process
- Develop a hardware testing process
- Develop a process for implementing new interfaces (e.g., LED light controllers, music controllers, motions sensors, etc.)
Phase II Goals (SHED 2.0)
- Implement multiple access points in Noisebridge (Sewing room, 3D printing room, Electronics room, etc.)
- Update database to include individual room access
- Centralize the access database to a single point on the Noisebridge network
- Centralize access updating to a single station within Noisebridge (aka detach from main entrance)
Phase III Goals (SHED 3.0)
- Implement a cloud access service that generates access codes and syncs Noisebridge DB with Mobile devices
- Implement building access through mobile devices (iOS, Android)
- Implement access management through admin access on mobile app
Possible Project Names:
- ADA: Advanced Doorway Access
- ADA: Adaptable Ddevice Automation
- NAPSEC: Noisebridge Access and Physical Security Entry Control
- PHYSACON: Physical Hybrid System for Access Control and Noisebridge
ADA_Project/
│
├── src/
│ ├── __init__.py
│ ├── ada.py # Main application file
│ ├── config.py # Configuration settings, e.g., logging
│ ├── hardware_interface.py # Base hardware interface
│ ├── hardware/ # Folder for hardware implementations
│ │ ├── __init__.py
│ │ ├── door_sensor.py # Door sensor implementation
│ │ ├── rfid_scanner.py # RFID scanner implementation
│ │ ├── led_screen.py # LED screen implementation
│ │ ├── [other hardware modules]
│ │ └── interfaces/ # Specific interfaces for complex hardware
│ │ ├── __init__.py
│ │ ├── rfid_scanner_interface.py
│ │ └── [other specific interfaces]
│ └── utils/ # Utility modules, e.g., logging
│ ├── __init__.py
│ └── logger.py # Logger utility
│
├── tests/ # Unit tests for your project
│ ├── __init__.py
│ ├── test_ada.py
│ ├── test_door_sensor.py
│ ├── test_rfid_scanner.py
│ ├── test_led_screen.py
│ └── [other test files]
│
├── logs/ # Directory for log files (if logging to files)
│ └── ada.log
│
├── README.md # Project description and instructions
├── requirements.txt # List of project dependencies
└── setup.py # Setup script for installing the project