├── LICENSE ├── README.md ├── meetings ├── 2021 - december │ └── 19th.md ├── README.md └── new.py ├── presentations └── intro │ ├── .gitignore │ ├── load.css │ ├── main.mdx │ ├── package.json │ └── yarn.lock └── vercel.json /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Hack Club 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Project Moonbeam 2 | 3 | We're a team of 50+ high schoolers around the world using mirrors put up by NASA's 4 | Apollo 11 mission to encode data, send it to the moon as a laser, and decode it back. 5 | 6 | We're just getting started and would love for you to be involved! Get in touch through 7 | [our Slack](https://hackclub.com/slack) or [email](mailto:moonbeam-aaaaeyno5c2ppm6gn2xw3cq3ve@hackclub.slack.com). 8 | 9 | An [open source project](https://github.com/hackclub/moonbeam) by [Hack Clubbers](https://hackclub.com). 10 | 11 | ## See Also 12 | 13 | - [hackclub/moonbeam-site](https://github.com/hackclub/moonbeam-site/) 14 | -------------------------------------------------------------------------------- /meetings/2021 - december/19th.md: -------------------------------------------------------------------------------- 1 | # 19th of December 2 | 3 | Recording of meeting: [https://youtu.be/uc9JY7YIkAg](https://youtu.be/uc9JY7YIkAg) 4 | 5 | ## tl;dr 6 | 7 | - Research over the next 2 weeks. 8 | - Laser or radio is still up to debate. 9 | - Contacting possible advisors and youtubers. 10 | - Meetings can occur over the next two weeks but there won't be any official ones. If a meeting occurs there should be a meeting note for it here. 11 | 12 | ## Hardware 13 | 14 | - Laser or radio? 15 | - Problems with laser: 16 | - Cost of the system. 17 | - Can we even send that much data through the atmosphere using a laser? 18 | - Amount of power needed to charge the laser. 19 | - Problems with radio: 20 | - Would a youtuber still be willing to work with us if we used radio? 21 | - How much of a feat is it just to send some radio waves to the moon? 22 | - What frequency should we use for the laser/radio system. 23 | - Research needs to be done over the next 2 weeks to figure out exactly what hardware we would need for this and if it is even possible. 24 | - What if we used a prebuilt laser at an observatory? In that case, we would just be building the encoding system. This calls into question again if a youtuber would be willing to make a video about something prebuilt. 25 | - Claire might be able to contact someone from her school about using a telescope there. 26 | - If we do go with radio we should turn off the sender when trying to receive back the wave to prevent interference. 27 | - Do we need a laser/radio operating license? 28 | 29 | ## Software 30 | 31 | - How much data are we planning to send? We can send way more with radio than with the laser system. 32 | - Landing page should be done over the next 2 weeks. 33 | - Landing page should be generic enough so we can switch from laser to radio if needed. There shouldn't be too much content on the site. 34 | - No other developments have been made software-wise. The whole team agrees that this should be the easy part of the project. 35 | 36 | ## Communications 37 | 38 | - Communication will be done over slack channels. 39 | - Meetings can occur over the next two weeks but there won't be any official ones. If a meeting occurs there should be a meeting note for it here. 40 | - Emailed a few people over the last week: 41 | - Ishan sent out email to [Mark Rober](https://www.youtube.com/c/MarkRober). 42 | - Maggie is going to send out email to [Xyla Foxlin](https://www.youtube.com/channel/UCEn3fRj2e0mpqYsijxnzayg). 43 | - Emailing some professors or possible advisors over the next two weeks would be ideal. 44 | - We might need to talk to the FCC about using a laser or radio system. 45 | 46 | ## Other 47 | 48 | - Things are going to be kinda slow over the next two weeks as staff is going to be on vacation. 49 | - Lynz is going to be working at HQ on this full-time after the new year. 50 | -------------------------------------------------------------------------------- /meetings/README.md: -------------------------------------------------------------------------------- 1 | # Meeting Notes 2 | 3 | Here are the meeting notes for our meetings stored in markdown. 4 | 5 | ## Adding a new note 6 | 7 | Looking to add a new note? Please run the python script called [new.py](./new.py) using either `python new.py` or `python3 new.py` to create it automatically! 8 | -------------------------------------------------------------------------------- /meetings/new.py: -------------------------------------------------------------------------------- 1 | # This file is meant to create a new meeting note file automatically. 2 | 3 | from datetime import datetime 4 | import os 5 | 6 | now = datetime.now() 7 | ordinal = ( 8 | "th" if 11 <= now.day <= 13 else {1: "st", 2: "nd", 3: "rd"}.get(now.day % 10, "th") 9 | ) 10 | 11 | folder = now.strftime("%Y - %B").lower() 12 | file = os.path.join(folder, f"{str(now.day)}{ordinal}.md") 13 | template = now.strftime( 14 | f"""# %-d{ordinal} of %B 15 | 16 | Recording of meeting: []() 17 | 18 | ## tl;dr 19 | 20 | - 21 | 22 | ## Hardware 23 | 24 | - 25 | 26 | ## Software 27 | 28 | - 29 | 30 | ## Communications 31 | 32 | - 33 | 34 | ## Other 35 | 36 | - 37 | """ 38 | ) 39 | 40 | 41 | if not os.path.isdir(folder): 42 | os.makedirs(folder) 43 | 44 | with open(file, "w") as note_file: 45 | note_file.write(template) 46 | print(f'Created "{file}" open it with your favorite editor') 47 | -------------------------------------------------------------------------------- /presentations/intro/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | public/ 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /presentations/intro/load.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: Phantom Sans; 3 | src: url(https://assets.hackclub.com/fonts/Phantom_Sans_0.7/Regular.woff) 4 | format('woff'), 5 | url(https://assets.hackclub.com/fonts/Phantom_Sans_0.7/Regular.woff2) 6 | format('woff2'); 7 | font-weight: 400; 8 | font-style: normal; 9 | font-display: swap; 10 | } 11 | 12 | @font-face { 13 | font-family: Phantom Sans; 14 | src: url(https://assets.hackclub.com/fonts/Phantom_Sans_0.7/Bold.woff) 15 | format('woff'), 16 | url(https://assets.hackclub.com/fonts/Phantom_Sans_0.7/Bold.woff2) 17 | format('woff2'); 18 | font-weight: 700; 19 | font-style: normal; 20 | font-display: swap; 21 | } 22 | -------------------------------------------------------------------------------- /presentations/intro/main.mdx: -------------------------------------------------------------------------------- 1 | import hackclubTheme from '@hackclub/theme'; 2 | import './load.css'; 3 | import { Heading, Box } from 'theme-ui'; 4 | 5 | export const theme = hackclubTheme; 6 | 7 | 8 | Moonbeam 9 | 13 | 19 | 25 | 26 | 27 | 28 | 44 | Moonbeam Introduction 45 | 46 | December 2021 47 | 48 | 49 | --- 50 | 51 | 59 | Goals of Moonbeam 60 | 72 | 73 | 74 | --- 75 | 76 | 84 | Parts of the Journey 85 |

(In no particular order)

86 | 94 |
95 | 96 | --- 97 | 98 | 106 | Parts of the Project 107 | 122 | 123 | 124 | --- 125 | 126 | 134 | How are we planning to organize? 135 | 145 | 146 | -------------------------------------------------------------------------------- /presentations/intro/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "intro", 3 | "version": "1.0.0", 4 | "description": "Intro presentation for moonbeam", 5 | "main": "index.js", 6 | "scripts": { 7 | "dev": "mdx-deck main.mdx", 8 | "build": "mdx-deck build main.mdx" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/hackclub/moonbeam.git" 13 | }, 14 | "license": "MIT", 15 | "bugs": { 16 | "url": "https://github.com/hackclub/moonbeam/issues" 17 | }, 18 | "homepage": "https://github.com/hackclub/moonbeam#readme", 19 | "devDependencies": { 20 | "mdx-deck": "4.0.0" 21 | }, 22 | "dependencies": { 23 | "@hackclub/theme": "^0.3.3" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- 1 | { 2 | "github": { 3 | "silent": true 4 | } 5 | } 6 | --------------------------------------------------------------------------------