├── .gitattributes ├── .gitignore ├── README.md ├── applications ├── 2021-05-27_planning_announcement_call.md ├── 2021-06-02_the_thinking_on_gifts.md ├── 2021-06-16_freedom_waiver.md ├── 2021-06-23_invites_have_gone_out.md ├── 2021-06-29_unsupervised_time.md ├── 2021-07-04_packing_list_email.md ├── 2021-07-06_waiver_update_email.md ├── README.md ├── attendee_welcome_packet.md ├── attendee_welcome_packet.pdf ├── attendee_welcome_packet_images │ ├── image1.png │ ├── image10.png │ ├── image11.jpg │ ├── image12.png │ ├── image13.png │ ├── image14.jpg │ ├── image15.jpg │ ├── image16.png │ ├── image17.png │ ├── image18.png │ ├── image19.jpg │ ├── image2.jpg │ ├── image20.jpg │ ├── image21.png │ ├── image22.jpg │ ├── image23.png │ ├── image24.jpg │ ├── image25.png │ ├── image26.jpg │ ├── image27.jpg │ ├── image28.png │ ├── image29.jpg │ ├── image3.jpg │ ├── image4.jpg │ ├── image5.png │ ├── image6.png │ ├── image7.jpg │ ├── image8.png │ └── image9.png ├── form.md ├── form_screenshot.png ├── freedom_waiver.pdf ├── invite_call_script.md ├── invite_email_template.md ├── liability_release.pdf ├── memorandum_of_understanding.pdf ├── packing_list.pdf └── parent_guide.pdf ├── assets ├── README.md ├── melody's_amazing_train_explainer │ ├── 1.png │ ├── 2.png │ ├── 3.png │ ├── 4.png │ ├── 5.png │ ├── 6.png │ ├── CleanShot 2021-05-30 at 23.24.56.png │ ├── CleanShot 2021-05-30 at 23.28.06.png │ ├── CleanShot 2021-05-30 at 23.42.37.png │ ├── README.md │ └── transcript.md ├── monument_valley │ ├── blender_screenshot_1.png │ ├── blender_screenshot_2.png │ ├── colors.png │ ├── monument_valley.blend │ ├── render.png │ └── sketch.png ├── poster │ ├── format_1.png │ ├── format_2.png │ ├── format_3.png │ ├── format_4.png │ ├── format_5.png │ ├── format_6.png │ ├── format_7_final.png │ ├── preview.jpg │ └── zephyr-poster.psd ├── qr_codes │ ├── README.md │ ├── photowall-qr.png │ ├── photowall-qr.xcf │ ├── wifi-qr.png │ └── wifi-qr.xcf ├── sketches │ ├── README.md │ ├── fonts.png │ ├── landscapes.png │ └── stamps.png ├── teasers │ └── README.md ├── train_nyc │ ├── preview.jpg │ ├── train_nyc.png │ └── train_nyc.psd ├── train_starry_night │ ├── preview.jpg │ ├── train_starry_night.png │ └── train_starry_night.psd ├── train_valley │ ├── announcement_cards │ │ ├── 1.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ └── full.png │ ├── preview.jpg │ ├── train_valley.png │ └── train_valley.psd ├── zephyr_fonts.key └── zephyr_fonts.pdf ├── logistics ├── cash_stipends.csv ├── covid_safety_plan.md ├── superdome_and_sleeper_cars │ ├── photos_from_steve_1.jpg │ ├── photos_from_steve_10.jpg │ ├── photos_from_steve_2.jpg │ ├── photos_from_steve_3.jpg │ ├── photos_from_steve_4.jpg │ ├── photos_from_steve_5.jpg │ ├── photos_from_steve_6.jpg │ ├── photos_from_steve_7.jpg │ ├── photos_from_steve_8.jpg │ ├── photos_from_steve_9.jpg │ └── train_questions.md ├── timeline.md ├── video_editorial_notes.md └── webinar_notes.md ├── notes ├── 2021-05-05_call_with_amtrak.md ├── 2021-05-25_theme_brainstorm.md ├── 2021-05-27_planning_announcement_call.md ├── 2021-05-27_zephyr_manifesto.md ├── 2021-05-28_pre-zephyr_email.md ├── 2021-06-02_the_thinking_on_gifts.md ├── 2021-06-03_international_travel.md ├── 2021-06-16_freedom_waiver.md ├── 2021-06-23_invites_have_gone_out.md ├── 2021-06-29_call_with_steve.md ├── 2021-06-29_unsupervised_time.md ├── 2021-06-30_hackerland.md ├── 2021-07-02_open_community_call.md └── README.md ├── slack ├── 2021-05-26_slack_meeting_announcement.md ├── 2021-06-02_slack_announcement.md ├── 2021-06-02_slack_announcement_images ├── 2021-06-09_slack_invites_announcement.md ├── 2021-06-30_slack_invitation_list_release.md ├── 2021-08-15_slack_pre-departure.md └── README.md └── zephyrnet ├── README.md ├── deployments.md ├── final_nginx_conf.conf ├── hardware_brainstorm_w_chaleb.md ├── introduction.md ├── nginx_config_dynamic.conf ├── nginx_config_static.conf ├── opensourcing.md ├── readme-template.md ├── software.md ├── systemctl_config.service ├── tp_link_config.md ├── volunteers-to-deletion.md └── zephyrnet.md /.gitattributes: -------------------------------------------------------------------------------- 1 | *.psd filter=lfs diff=lfs merge=lfs -text 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 🚂 The Hacker Zephyr 2 | 3 | [💻 Website](https://zephyr.hackclub.com) | [🎥 Documentary](https://www.youtube.com/watch?v=2BID8_pGuqA&ab_channel=HackClub) | [🗃 Planning Documents](#-planning-documents) | [💵 Finances](#-finances) | [💻 Associated Repos](#-associated-repositories) | [☀️ In Years Past](#%EF%B8%8F-in-years-past) 4 | 5 | Every summer, Hack Clubbers do something special. 6 | 7 | In 2019, 75 Hack Club leaders gathered in San Francisco for [Flagship](https://photos.google.com/share/AF1QipO3hb2mN-Q16icE-M16d-06uHyXLmvd3Rw6b_f_oosfAX9SnOvnouPOyO79P7pR7Q?key=anphZTNFUERPWXV3YnJQV2VzVVVFMFFVcGRDc3hB). 8 | 9 | In 2020, 300 Hack Clubbers received $50,000 for hardware projects. We launched [Scrapbook](https://scrapbook.hackclub.com/) and hosted the [Summer of Making](https://summer.hackclub.com/). 10 | 11 | **In 2021, we chartered a train, [The Hacker Zephyr](https://zephyr.hackclub.com), across America, and hosted the world's longest hackathon on land (3,502 miles).** 12 | 13 | [](https://www.youtube.com/watch?v=2BID8_pGuqA) 14 | _The Hacker Zephyr passing through Rocky Flats, Colorado with 42 Hack Clubbers on board._ 15 | 16 | As a transparent and open-source 501(c)(3) nonprofit, Hack Club decided to make every detail and product of the Zephyr publicly available in this repo. Besides a brief narrative of The Hacker Zephyr journey, from how we first came up with the idea to our last stop in LA at SpaceX, here you can access all of our planning documents, financial records, and most importantly, a read-only copy of the ZephyrNET, our homemade mobile server which houses all of the projects Hack Clubbers completed while cruising across the USA. 17 | 18 | We work so hard to create extraordinary experiences like The Hacker Zephyr because we believe coding together can become a sacred act. It's hard to overestimate how much collaborative, creative energy is unleashed by a single good hackathon. That was certainly the case this July onboard the Zephyr, and we hope that it will serve as an inspiration for equally memorable hackathons in the future. 19 | 20 | This is the story of how we did it. 21 | 22 | ## Securing the Train 23 | 24 | It turns out chartering a train across America is actually quite a difficult thing to do. During the heyday of America's rail network in the 1940s, you could take a train almost anywhere, but today more than half the routes are closed and there's only one company still operating passenger service: Amtrak. 25 | 26 | Image of 1940s rail map in the USA Image of Amtrak rail map 27 | _America's passenger rail network in the 1940's vs. today._ 28 | 29 | We spent the first three weeks of planning purely focused on one question: is it even possible, logistically, to get 42 Hack Clubbers on a train across the country (during a global pandemic, at that)? 30 | 31 | After looking at Amtrak's availability, talking with others who have done similar trips, and spending hours on the phone with train enthusiasts, we were able to narrow down the possibilities to three options: 32 | 33 | 1. Book everyone only in Amtrak cars 34 | 2. Source private cars from around the country and do a private charter 35 | 3. Do some sort of combination of the two 36 | 37 | The clear benefit of choosing Amtrak was the price and ease of booking. However, the downsides were considerable: attendees would have to wear masks, we would be sharing car space with other Amtrak passengers, and there could be many transfers. Additionally, all food would need to be prepackaged and we couldn't serve our own meals. 38 | 39 | Thus the major upside of the full charter was that we'd be controlling our own space, serve meals onboard, not have masks, get a bed for everybody, and other perks that made this option 1000x better. But, of course, private charters are much more expensive & harder to find. In the past 2-3 years, a [recent Amtrak policy change](https://www.bloomberg.com/news/articles/2019-03-25/can-you-buy-your-own-train-here-s-what-it-takes) made it much more difficult and expensive for private charters to operate. Many of the private charter owners we talked to had gone out of business over the past year or so because of that change. 40 | 41 | Ultimately, we decided to go with the best of both worlds, Option 3. We'd take a bus from Hack Club HQ in Burlington, Vermont to New York City, then Amtrak to Chicago, and then we'd board 3 private cars for the longest segment of the trip: from Chicago to Denver then San Francisco (55 hours). Our main private car ended up being a [Super Dome](https://en.wikipedia.org/wiki/Super_Dome_(railcar)), one of the last remaining of an initial 10 in the US. Finally, we'd take Amtrak for the last and shortest leg of the trip, from SF to LA, where we'd end at SpaceX and Venice Beach. 42 | 43 | After 40+ meetings with different groups in the train industry, train enthusiasts, and Amtrak itself (including a failed attempt to meet with Amtrak's CEO), we finally found AAPRCO, the [American Association of Private Railroad Car Owners](https://www.aaprco.com/), and through them a guy named Steve Sandberg. It turns out that over the past 50 years, as railroads went out of business and sold off their assets, private individuals would go to the liquidation office and buy up full railcars from the 40's and 50's at incredibly low prices. Steve is the largest private railcar owner in the country that we know of, with a fleet of 14 cars and 2 locomotives. His cars were apparently also used for [George Bush Sr.'s 1992 presidential campaign train](https://www.youtube.com/watch?v=dcw_mjSiee0). They weren't quite enough to win reelection for him, but they worked perfectly for our needs. 44 | 45 | We met with Steve, who was initially apprehensive because he'd need to source a car from another part of the country to fit all of us. But in the end he agreed—and just like that, The Hacker Zephyr became a reality. 46 | 47 | We settled on a combination of [2 Pullman sleeper cars](http://railswest.com/pullman.html) and the [Superdome](https://en.wikipedia.org/wiki/Super_Dome_(railcar)). These were attached, like a big hacker caboose, to the end of one of Amtrak's cross-country overnight trains. Steve was onboard the whole way with his crew to make sure everything went smoothly. 48 | 49 | While we worked with Steve to bring as many Hack Clubbers along with us as we could, we ran into a [physical constraint at Denver's Union Station](./assets/melody's_amazing_train_explainer/README.md). Even with just 3 extra cars, the train was so long we [blocked](https://cloud-4cijeqoyj-hack-club-bot.vercel.app/0screen_shot_2021-08-05_at_10.44.51.png) [traffic](https://cloud-4cijeqoyj-hack-club-bot.vercel.app/1db526030-0219-483e-b1f4-513583e3c70b_1_105_c.jpeg) at any of the stops we made. Oops. 50 | 51 | ## The Launch & Applications 52 | 53 | Launching The Hacker Zephyr began with this [cryptic video](https://twitter.com/hackclub/status/1396881237113966594) that we tweeted on the 24th of May. We'd follow this tweet up with a collection of more [cryptic tweets](assets/teasers.md). Tom Preston-Werner even created a [few of his own](assets/teasers.md#toms-hints)! 54 | 55 | The goal of all this hint-dropping was to build up excitement for a mysterious community meeting we'd be hosting on the Saturday the 29th of May. We announced this on Wednesday the 26th of May. Accompanying the announcement was a [ticketing system](https://github.com/hackclub/all-aboard-tickets). Hack Clubbers could react to the Slack announcement with the 🎟 emoji and would be sent their very own [digital ticket to the meeting](https://camo.githubusercontent.com/d5802c680357ab439dac7fd86a46089aee8cc007341c1c37ebe79ad8df3b54bc/68747470733a2f2f636c6f75642d3578686f30663736622d6861636b2d636c75622d626f742e76657263656c2e6170702f307469636b65742d31302e706e67). These were a massive hit. They're likely what caused this Slack announcement to get 400+ reactions, which at the time of writing is a Hack Club record! 56 | 57 | Example of a ticket 58 | 59 | Building excitement for the meeting was one thing; but we also needed to _pull off_ a great meeting that would do something with that excitement. We planned to start with some [old videos of trains with "American" music](https://youtu.be/3pdemObt1kA), then transition to a short introductory statement, followed by our [main trailer video](https://www.youtube.com/watch?v=FfGRgc18mh0). Zach and Tom then both talked about the trip and its goals. Once they were finished, we opened the floor for questions from Hack Clubbers. You can watch the full call [here](https://www.youtube.com/watch?v=wQebTjTyF7M). 60 | 61 | Now that the secret was out, we launched our [website](https://zephyr.hackclub.com) ([code](https://github.com/hackclub/all-aboard)) with all the information, a [parent's guide to the Zephyr](applications/parent_guide.pdf) and a [registration of interest form](applications/form.md). Being constrained by the [limited capacity of the train](assets/melody's_amazing_train_explainer/transcript.md), we had to select a smaller participant group out of everyone who registered interest. During that process we would ask ourselves different questions each day, such as: "who are some awesome new club leaders who will get a ton out of this?" and "who are some people who have been deep into Hack Club for a long time and will not only get a lot out of this, but also give a lot to other people on board?". 62 | 63 | Those invited were [called](applications/invite_call_script.md) to receive the news and would then receive an [email](applications/invite_email_template.md) and a more detailed [guide](applications/attendee_welcome_packet.pdf). This made the process feel really personal. They'd have seven days for both them and their parents to sign a [Memorandum of Understanding](applications/memorandum_of_understanding.pdf) to confirm their participation. 64 | 65 | Following this, we'd invite them to a private channel, coordinate with them on travel arrangements, have them or their parents sign a [liability release](applications/liability_release.pdf) and for those under 18 have their parents sign the ["Freedom Waiver"](applications/freedom_waiver.pdf). After all this, and some thoughtful packing, they were ready to enter the [Hackerland](./notes/2021-06-30_hackerland.md) in Vermont. 66 | 67 | ## ZephyrNET & the Hackathon 68 | 69 | Large parts of the train route across the country would be without wifi or cellular access. Amtrak provides WiFi, but their WiFi is generally not connected to the internet except when passing through towns, not to mention having a reputation for being slow and unreliable, kind of like, well...the rest of Amtrak. 70 | 71 | The solution we came up with was lugging a 116 lbs server around with us (60lbs server + 56lbs hand-made wood enclosure) along with networking equipment we could setup on Amtrak coaches as well as on our private cars, called the ZephyrNET. A full write-up on the hardware and software behind this is available in [`zephyrnet/`](./zephyrnet/). 72 | 73 | On the train with the ZephyrNet 74 | 75 | _The architects of ZephyrNET, Max Wofford (left) and Zach Fogg (right), pose with their creation._ 76 | 77 | We looked at our favorite hackathons (each wonderful in [their](https://ldjam.com/) [own](http://www.stupidhackathon.com/) [way](https://www.codeday.org/)) and tried to pull a bit from each when coming up with [the focus of our event](./notes/2021-06-30_hackerland.md). The Zephyr would be an anti-hackathon. It would be goofy and open-ended yet rigorous, like the best hackathons of old. Except this time on a train. 78 | 79 | The hackathon's theme was to build a time capsule. Too many hackathons are forgotten the day after the event ends because their website goes down and their projects don't work (and usually didn't work by the end of it anyways). Everything on the ZephyrNET would be open-sourced, and everyone would contribute to a public scrapbook, forked from our [community scrapbook](https://scrapbook.hackclub.com) to work offline. There would be no prizes or judging. The goal was to reach 500 unique contributions to the time capsule or else it would delete the folders of members that [opted-in](/zephyrnet/volunteers-to-deletion.md). This was a slightly chiller version of the original idea to `rm -rf` the whole server if we didn't finish in time, but kept much of the same pressure. 80 | 81 | Three notable search engine projects: 82 | * [Zoogle](https://zoogle.zephyrnet.hackclub.com/) 83 | * [Roogle](https://roogle.zephyrnet.hackclub.com/) 84 | * [Zing](https://zing.zephyrnet.hackclub.com/) 85 | 86 | ## The Trip 87 | 88 | Coding is one of the most surreal activities a human can do. In a matter of hours you can take something from not existing to existing. Once you do that you can start to understand how the whole internet, even the whole universe, comes to arise. Hack Club believes that coding is fundamentally a creative activity. To do inspired, creative work it helps a lot to have inspired experiences and be in inspiring settings. 89 | 90 | We wanted The Hacker Zephyr to feel like something totally unexpected could happen at any moment. We wanted it to be a place outside of the 'default world', particularly for high schoolers who are stuck with classrooms and college admissions always at the back (or forefront) of their minds. 91 | 92 | So, naturally, we called up every weirdo, artistic, out-of-the-box thinker that we knew. Our first call was to [Woody Keppel](https://woodykeppel.com/), an incredible actor and performer, and professional clown. Woody brought in Jeremy Holm ([IMDB](https://www.imdb.com/name/nm3124435/)), who would later storm down the isles of an Amtrak coach in an ape suit with Woody in hot pursuit, as a zookeeper, among other things. 93 | 94 | An Ape on Amtrak! 95 | 96 | Woody was the mastermind behind making the experience what it was, which could only be described as something akin to a wholesome David Lynch movie. During our first night together, he arranged for a secret marching band to suddenly emerge from the Vermont woods where we were gathered — surprising, to say the least. As we chugged through Colorado, with a view of the sun setting behind the Rockies, Woody transformed the Super Dome into the "Hacker Lounge", with a full non-alcoholic cocktail menu and black tie service. He brought a band onboard, including one member known only as "Saw", who - besides performing with the band on violin - played an ethereal-sounding handsaw solo using his violin bow between songs. On our last night, Woody tended to a bonfire on the beach in Los Angeles and sung the song he composed about The Hacker Zephyr with everyone, called [42 Riders](https://42.zephyrnet.hackclub.com/). 97 | 98 | Over the course of the journey we were also visited by [Jerry](https://en.wikipedia.org/wiki/Jerry_Greenfield) from [Ben & Jerry's](https://www.benjerry.com/about-us); [the Libermans](https://instagram.com/libermans/) (political exiles from Russia and previous Heads of Product at Snapchat); [Tom Preston-Werner](https://tom.preston-werner.com/) (GitHub, SemVer, Toml, RedwoodJS), who joined & hacked with us for nearly the entire Chicago to San Francisco portion of the trip; [Zeb Scoville](https://twitter.com/explorer_flight) ([NASA flight director](https://www.nytimes.com/2021/08/02/science/nasa-space-station-zebulon-scoville.html)); and Cliff Stoll ([mad scientist](https://www.wired.com/story/meet-the-mad-scientist-who-wrote-the-book-on-how-to-hunt-hackers/)). 99 | 100 | All of these colorful characters, interacting with a few dozen excited teenage hackers, made for a uniquely electric atmosphere onboard and a lot of unforgettable memories, not to mention some incredible projects! 101 | 102 | Hack Club at SpaceX 103 | 104 | At the end of the trip, we were graciously hosted by SpaceX HQ in Hawthorne, LA, where we were given a tour of the rocket factory. Afterwards we had our final hackathon project demoes, which ended up taking a lot longer than expected (we're very grateful to SpaceX for letting us take the time to get through all of them). We all took photos outside with the rockets after that, and then we went back to the hotel. There was a bonfire at the end of the night, and flights _very_ early in the morning for everyone. 105 | 106 | 117 | 118 | ## 🗃 Planning Documents 119 | 120 | Our planning docs are organized by topic into the following directories: 121 | 122 | | File | Description | 123 | | ------------------------- | -------------------------------------------------------------------------------------------------------- | 124 | | [./assets](/assets) | Sketches, logos, videos, etc. that we used to market the Zephyr | 125 | | [./logistics](/logistics) | Documentation on planning, scheduling, coordinating, and other details | 126 | | [./notes](/notes) | Assorted notes from staff | 127 | | [./slack](/slack) | Announcements posted in Slack | 128 | | [./zephyrnet](/zephyrnet) | Technical documentation / notes on the hardware & software that went into building the Zephyr's intranet | 129 | 130 | ## 💵 Finances 131 | 132 | The finances for the Hacker Zephyr are open sourced [here](https://bank.hackclub.com/zephyr) through Hack Club Bank's [transparency mode](https://headwayapp.co/bank-changelog/transparent-finances-(optional-feature)-151427). 133 | 134 | ## 💻 Associated Repositories 135 | 136 | - [The Zephyr Chronicles (Offline Scrapbook Port)](https://github.com/hackclub/the-zephyr-chronicles) 137 | - [All Aboard (zephyr.hackclub.com site)](https://github.com/hackclub/all-aboard) 138 | - [Ticket issuing service for announcement](https://github.com/hackclub/all-aboard-tickets) 139 | - [ZephyrNET Deployment Flow](https://github.com/hackclub/zephyr-deploy-service) 140 | - [schedule.zephyr - event schedule](https://github.com/hackclub/zephyr-hub) 141 | - [photowall.zephyr - example dynamic ZephyrNET app](https://github.com/hackclub/photowall.zephyr) 142 | - [garden.zephyr - example static ZephyrNET app](https://github.com/hackclub/garden.zephyr) 143 | - [start.zephyr - instructions for getting started on ZephyrNET](https://github.com/hackclub/start.zephyr/tree/master/start.zephyr) 144 | - [captive portal for ZephyrNET](https://github.com/hackclub/captive.zephyr) (ultimately not used) 145 | 146 | ## ☀️ In Years Past 147 | 148 | We've previously ran other summer projects: 149 | 150 | | Year | Project | Description | 151 | | ---- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 152 | | 2021 | [The Hacker Zephyr](#-the-hacker-zephyr) | _This repo!_ | 153 | | 2020 | [Summer of Making](https://summer.hackclub.com) | $50k in hardware donations to teen hackers around the world + the creation of [Scrapbook](https://scrapbook.hackclub.com) ([code](https://github.com/hackclub/scrapbook)) | 154 | | 2019 | [Flagship Summit](https://flagship.hackclub.com) | IRL meetup of high school hackathon organizers and coding club leaders ([photos](https://photos.google.com/share/AF1QipO3hb2mN-Q16icE-M16d-06uHyXLmvd3Rw6b_f_oosfAX9SnOvnouPOyO79P7pR7Q?key=anphZTNFUERPWXV3YnJQV2VzVVVFMFFVcGRDc3hB)) | 155 | | 2018 | [Hack Club Bank](https://hackclub.com/bank/) | We built and launched the first version of Hack Club Bank (read the [1st](https://medium.com/hackclub/hack-club-bank-a-bank-for-student-hackers-e5d894ea5375) and [2nd](https://medium.com/hackclub/hack-club-bank-is-now-live-for-everyone-including-you-884f7f54836f) announcement) | 156 | | 2016 | [Hack Camp](https://github.com/hackclub/camp/tree/master/2016) | Summer camp / further writing & testing workshops | 157 | | 2015 | [Hack Camp](https://github.com/hackclub/camp/tree/master/2015) | Summer camp / testbed for Hack Club's first [workshops](https://workshops.hackclub.com) ([content](https://github.com/hackclub/hackclub/tree/main/workshops#readme))([code](https://github.com/hackclub/workshops)) | 158 | -------------------------------------------------------------------------------- /applications/2021-05-27_planning_announcement_call.md: -------------------------------------------------------------------------------- 1 | ../notes/2021-05-27_planning_announcement_call.md -------------------------------------------------------------------------------- /applications/2021-06-02_the_thinking_on_gifts.md: -------------------------------------------------------------------------------- 1 | ../notes/2021-06-02_the_thinking_on_gifts.md -------------------------------------------------------------------------------- /applications/2021-06-16_freedom_waiver.md: -------------------------------------------------------------------------------- 1 | ../notes/2021-06-16_freedom_waiver.md -------------------------------------------------------------------------------- /applications/2021-06-23_invites_have_gone_out.md: -------------------------------------------------------------------------------- 1 | ../notes/2021-06-23_invites_have_gone_out.md -------------------------------------------------------------------------------- /applications/2021-06-29_unsupervised_time.md: -------------------------------------------------------------------------------- 1 | ../notes/2021-06-29_unsupervised_time.md -------------------------------------------------------------------------------- /applications/2021-07-04_packing_list_email.md: -------------------------------------------------------------------------------- 1 | > SUBJECT: Packing list & Waiver update 2 | > 3 | > TO: [Hack Clubber address] 4 | > 5 | > FROM: [Staff member address] 6 | 7 | Ahoy there! 8 | 9 | I feel like I can hear the train in the distance– next Thursday is getting oh so close! We’re really excited to get to meet you next week! 10 | 11 | It’d suck to realize you forgot to pack something important right as you’re heading down the runway, so we’ve compiled the ultimate packing list, which you can print out and check off as you pack. 12 | 13 | To be able to participate, you are required to fill out the “Liability Release Waiver” that will be sent to your email in the coming days. We ask that you read this waiver thoroughly and with your parents so that you understand it fully. This waiver will be sent to your email through DocuSign. You will first need to sign it yourself and it will then be subsequently emailed to your parents for their signatures. 14 | 15 | If you have not yet, please submit your roommate requests to Tina (tina@hackclub.com) by tomorrow. If you need a laptop please make that request to Sam (sam@hackclub.com) ASAP. 16 | 17 | Please do reach out to us if you have any questions, we are available on Slack or through the zephyr@hackclub.com email group. We will do our best to assist you ASAP. 18 | 19 | Looking forward to next Thursday! 20 | 21 | Max, Sam, and the whole Zephyr team. -------------------------------------------------------------------------------- /applications/2021-07-06_waiver_update_email.md: -------------------------------------------------------------------------------- 1 | > SUBJECT: Waiver update 2 | > 3 | > TO: [Hack Clubber address] 4 | > 5 | > FROM: [Staff member address] 6 | 7 | Greetings! 8 | 9 | I hope you’re having a great day and you’re excited for the Hacker Zephyr! 10 | 11 | As we mentioned yesterday, to be able to participate, you are required to fill out the “Liability Release Waiver”. The “Liability Release Waiver” has now been sent to your email through DocuSign. You will first need to sign it yourself and it will then be subsequently emailed to your parents for their signatures. 12 | 13 | Please sign this waiver by this Friday. Thank you for helping us get this processed. 14 | 15 | All the best, 16 | 17 | Sam, Max, and the whole Zephyr team. -------------------------------------------------------------------------------- /applications/README.md: -------------------------------------------------------------------------------- 1 | # Applications process 2 | 3 | This houses all the documents we used for the application process to acceptance information. Documents in the [`/notes`](../notes/) folder related to the process have been symlinked to this folder. -------------------------------------------------------------------------------- /applications/attendee_welcome_packet.md: -------------------------------------------------------------------------------- 1 | ![](./attendee_welcome_packet_images/image23.png) 2 | 3 | 4 | 5 | _Greetings to you, the lucky recipient of this invitation!_ 6 | 7 | I shake you warmly by the hand! Tremendous things are in store for you! Many wonderful surprises await you! 8 | 9 | I do invite you to join us on our terrific trans-American trip, which begins at The Hack Foundation headquarters in Burlington (VT), and ends in Los Angeles! You, as one of 42 lucky hackers, will be transported by the latest "loco-motive" technology, provided by The National Railroad Passenger Corporation (Amtrak), through one of the most scenic American train routes. You'll travel 3,502 miles (14% of the globe!) spanning 10 days and 5 major cities all-the-while participating in a "hack-a-thon" from sea to shining sea! 10 | 11 | Our journey has 4 major components – a bus ride to NYC, an Amtrak ride to Chicago, a private train ride to Emeryville/San Francisco, and an Amtrak ride to Los Angeles. We expect there to be little to no internet and cell coverage while on the train and our coding festival will have a collaborative focus. 12 | 13 | This packet will serve as your primer for what to expect on your journey. 14 | 15 | If you have any questions, please don't hesitate to reach out to our team at [zephyr@hackclub.com](mailto:zephyr@hackclub.com). 16 | 17 | Max Speed Wofford (@msw) 18 | 19 | --- 20 | 21 | ## Content 22 | 23 | - [Content](#content) 24 | - [Freqently Asked Questions](#freqently-asked-questions) 25 | - [Itinerary / Map](#itinerary--map) 26 | - [Addresses / Hotels](#addresses--hotels) 27 | - [The Train Team](#the-train-team) 28 | - [What To Bring](#what-to-bring) 29 | - [What Not To Bring](#what-not-to-bring) 30 | - [Emergencies / Safety](#emergencies--safety) 31 | - [The Train Layout](#the-train-layout) 32 | - [Train Tech Specifications](#train-tech-specifications) 33 | - [Expenses & Meals](#expenses--meals) 34 | - [Climate & Weather](#climate--weather) 35 | - [Next Steps](#next-steps) 36 | - [Parent Webinars](#parent-webinars) 37 | 38 | --- 39 | 40 | ## Freqently Asked Questions 41 | 42 | **Q: What is expected of me now that I'm invited?** 43 | 44 | A: Some things for you to keep in mind and expect: 45 | 46 | - Please hold off on sharing your invite beyond your immediate family until we announce all invites have gone out! 47 | - Confirm your acceptance within 7 days (NOTE: Parent consent required if under 18) 48 | - See Parent Webinars section (in table of contents) to help get parent buy-in 49 | - After confirming your acceptance, Tina will reach out to schedule your travel to/from Vermont/California! 50 | 51 | **Q: What if I'm asked about my invitation status by another Hack Clubber?** 52 | 53 | A: We know it's hard to keep such an exciting secret! But please don't share your invite beyond immediate family... for just a few days! We've sent a public post/email for everyone that will clarify that invitees cannot share details. If they ask, feel free to point to our email asking for people not to ask, because it may put your acceptance in jeopardy. 54 | 55 | **Q: What if I'm from outside the United States?** 56 | 57 | A: For now, focus on confirming your invite. We'll work with you to try getting you into the United States after you've confirmed you're available from July 15-25th. While booking travel, please bring up if you don't have visa/ESTA access to the United States, or if you don't have vaccinations. 58 | 59 | **Q: What if I'm not fully vaccinated?** 60 | 61 | A: Your attendance is conditional on vaccination, so you can only come once you're fully vaccinated. If you're in a country where you can get vaccinated now, start booking an appointment. Make sure to confirm your spot ASAP so we can start working on vaccination paperwork with you. 62 | 63 | **Q: What does it cost?** 64 | 65 | A: The trip is free. That includes flights to Burlington, Vermont before our departure, and flights from Los Angeles, California after we arrive. Additionally, spending money will be provided in each city we stop in, so you'll have the same experience if you don't bring any spending money. 66 | 67 | **Q: Should I bring money?** 68 | 69 | A: To ensure everyone has a high baseline experience on their trip, spending money will be provided in each city we stop at. We ask you don't bring extra spending money which could change the experience per attendee based on how much they can bring. 70 | 71 | **Q: How will I get to Vermont (the start of the trip)?** 72 | 73 | A: Most people will take an airplane to Burlington International Airport (BTV). Not every airport has a direct flight to Burlington, so your airline tickets may fly you to a city that does first. If this is the case for you, after waiting a short layover in this connecting airport, your next flight will bring you to us in Burlington. In the event that you're within driving distance of Vermont, we may schedule bus fare for you instead of flight fare. 74 | 75 | Once you accept this invite, we will be in touch with more details. 76 | 77 | **Q: I can't get to an airport... what should I do?** 78 | 79 | A: Please contact us! We want to speak with you personally so that we can work together to figure out a solution. If this is a concern for you, let us know as soon as possible. 80 | 81 | **Q: Who can I contact if I have more questions?** 82 | 83 | A: Feel free to contact the Zephyr staff at zephyr@hackclub.com or dm us on Slack! 84 | 85 | --- 86 | 87 | ## Itinerary / Map 88 | 89 | ![](./attendee_welcome_packet_images/image28.png) 90 | 91 | | July 15, Thu | Burlington, VT | Hackers arrive, airport pick upHotel: Burlington Garden Inn, VT | _\*Hackers will be 2 to a hotel room, separated by gender with assigned chaperones per floor._ | 92 | | ------------ | -------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 93 | | July 16, Fri | Burlington, VT | Lunch at HQ office, afternoon at Kingsland BayDinner campfire at Mt. PhiloHotel: Burlington Garden Inn, VT | 94 | | July 17, Sat | Burlington/NYC | Chartered Bus depart Burlington 7:00 am ET, arrive NYC 1:00 pm ETHotel: Doubletree by Hilton Times Square | _\*Hackers will be 2 to a hotel room, separated by gender with assigned chaperones per floor._ | 95 | | July 18, Sun | NYC/Chicago | Amtrak train 49 Lakeshore direct NYC-Chicago depart Penn Station NYC 3:40 pm ET, arrives Chicago Union Square 9:50 am ET the next day | _\*For this leg of the trip, hackers will be seated in Amtrak coach seats for 18 hours. Please make sure to bring neck pillows or items for comfort._ | 96 | | July 19, Mon | Chicago, IL | Private Cars on the Amtrak train 5 Zephyr departs Chicago at 2:00 pm ET and arrives in Emeryville, CA on July 21 at 4:10 pm PT | _\*During the day, hackers will be in a 2 level dining car, the Superdome. At night, there will be sleeper cars for all the hackers and they will be separated by gender with assigned chaperones per car. There will be a total of 2 showers available in the sleeper cars for the duration of this trip._ | 97 | | July 20, Tue | (en route) | 98 | | | 99 | | July 21, Wed | Emeryville/SF | Hotel: Hyatt Regency San Francisco | _\*Hackers will be 2 to a hotel room, separated by gender with assigned chaperones per floor._ | 100 | | July 22, Thu | SF | Hotel: Hyatt Regency San Francisco | 101 | | July 23, Fri | SF/Emeryville | Amtrak train Coast Starlight departs Emeryville at 8:20 am PST and arrives in LA at 9:00 pm PTHotel: Hotel Erwin, Venice Beach | _\*Hackers will be seated in coach seats for this trip along one of the most scenic coastal routes of America._ | 102 | | July 24, Sat | LA | Space X tour?Hotel: Hotel Erwin, Venice Beach | _\*Hackers will be 2 to a hotel room, separated by gender with assigned chaperones per floor._ | 103 | | July 25, Sun | LA | Hackers depart LAX | 104 | | | 105 | 106 | --- 107 | 108 | ## Addresses / Hotels 109 | 110 | | Burlington/ Shelburne, VT | Burlington Airport | 1200 Airport Dr, South Burlington, VT 05403 | 111 | | ---------------------------- | ----------------------------------------------- | ---------------------------------------------------------------- | 112 | | Hilton Garden Inn Burlington | 101 Main St, Burlington, VT 05401(802) 951-0099 | 113 | | Hack Club Office | 15 Falls Rd, Shelburne VT 05482 | 114 | | New York City, NY | Doubletree Hilton Hotel Times Square, NYC | 350 W 40th St, New York City, NY 10018-1404(855) 605-0318 | 115 | | | 116 | | Penn Station, NYC | 393 7th Ave. New York, NY 10001 | 117 | | Chicago, IL | Union Station | 225 South Canal Street **Chicago** , Illinois 60606 | 118 | | Emeryville, CA | Emeryville Train Station | 5885 Horton St, Emeryville, CA 94608 | 119 | | San Francisco, CA | Hyatt Regency San Francisco | 5 Embarcadero Center, San Francisco, CA 94111-4800(415) 788-1234 | 120 | | Los Angeles, CA | Hotel Erwin, Venice Beach | 1697 Pacific Ave, Venice, CA 90291(310) 452-1111 | 121 | | Los Angeles, CA | LAX airport | 1 World Way, Los Angeles, CA 90045 | 122 | 123 | --- 124 | 125 | ## The Train Team 126 | 127 | | Zach Latta | Founder/Executive Director, Hack Club zach@hackclub.com | 128 | |-------------------|---------------------------------------------------------| 129 | | Christina Asquith | COO, Hack Club christina@hackclub.com | 130 | | Max Wofford | Engineering/Operations Lead max@hackclub.com | 131 | | Matthew Stanciu | Clubs Lead matthew@hackclub.com | 132 | | Leo McElroy | New Clubs Lead leo@hackclub.com | 133 | | Zach Fogg | Community Lead zfogg@hackclub.com | 134 | | Woody Keppel | Hacker Zephyr Tour Conductor | 135 | | Rebecca Shapass | Documentary Filmmaker | 136 | 137 | --- 138 | 139 | ## What To Bring 140 | 141 | Here's what to bring: 142 | 143 | - Yourself, a good attitude, and a smile. 144 | - Your laptop & charger, any other hardware you want for hacking (and don't forget your mobile phone charger too). 145 | - Mask, hand sanitizers and hygiene products like toothbrush, toothpaste, etc. (toilet paper will be provided) 146 | - Any software / media / documents you want to download before the trip (we won't have WiFi for a few parts of the trip) 147 | - Personal health items like prescription medicines, epipens, insulin, inhalers, etc. Make sure that they will last the duration of the 10-day trip. 148 | - Your ID (school ID is acceptable if you don't have a passport/driver's license) 149 | - Light luggage. You'll have to carry it when changing trains & going between hotels, so make sure it's manageable to travel with. 150 | - ~5 outfits / changes of clothes. The train itself will be temperature controlled, but you'll be traveling without a place to wash clothes for up to 4 days, so pack accordingly. Also, bring layered clothing so you can easily adapt to temperature changes. 151 | - Keep a copy of your return flight ticket. 152 | 153 | --- 154 | 155 | ## What Not To Bring 156 | 157 | Here's what NOT to bring: 158 | 159 | - Excess spending money. We'll be providing cash in the cities we stop in. Emergency funds are okay, but shouldn't be used to make regular purchases at our stops. Seethe expenses section for more. 160 | - Illegal items. Duh. 161 | - An attitude that breaks our [Code of Conduct](https://hackclub.com/conduct/). 162 | - Angular.js ;) 163 | 164 | --- 165 | 166 | ## Emergencies / Safety 167 | 168 | The safety of our Hack Clubbers and staff is top priority at Hack Club and we feel that having our Hack Clubbers and staff fully vaccinated prior to the trip is the best way we can ensure safety against Covid. All of our stopover cities in our itinerary - Burlington, New York, Chicago, San Francisco, LA boast of world class facilities and medical care. We will also have a registered nurse staying with us during our longest train leg, the private charter from Chicago - Emeryville. 169 | 170 | Hack Club shall follow CDC/state guidelines on the Amtrak train and city stopovers. Although all participants and staff are fully vaccinated, masks are mandatory for the Amtrak train trips from NYC to Chicago and Emeryville to LA. On our private train ride from Chicago to Emeryville masks will not be required on the train. If a passenger has medical conditions, please inform us immediately and make sure that all medications are packed for the duration of the trip. Kindly ensure that the contact information you provide us is up to date in case we need to contact you. 171 | 172 | > **For life threatening emergencies, please dial 911. In such cases, Amtrak will stop their train for an ambulance to pick up the patient.** 173 | 174 | > **To contact a team member on the train regarding non-life threatening emergencies, please call/text** **Max Wofford** **or** **Zach Fogg****. Keep in mind the train will be out of cell coverage for some sections of the trip.** 175 | 176 | > **To contact a team member at our office, please call**** Tina Soriano ****.** 177 | 178 | **Rules on Amtrak and the Private Train** 179 | 180 | On our private charter from Chicago-Emeryville, we will have more freedom of movement and activities. However, on the public Amtrak charters from NYC - Chicago and Emeryville - Los Angeles, please bear in mind that we are sharing space with others. Be mindful of your noise levels and be careful of your personal belongings. You will also be required to wear a mask on the Amtrak segments of the trip, unless CDC guidelines change by then. One major rule of train travel is **do not wander off during stopovers**. The train will not wait for you. Amtrak conductors pride themselves in leaving on the dot. 181 | 182 | **Travel Safely in Cities** 183 | 184 | Few things to keep in mind, especially when travelling in sprawling cities like New York: 185 | 186 | - Stick to your group in the train station. Do not wander off or leave your belongings unattended. 187 | - Do not get into an unmarked taxicab, do not share transportation with strangers and always be wary of pickpockets. 188 | - Beware of con muggers who dress as police officers and other forms of scams. 189 | - Avoid money changers in public areas and if you need to use an ATM, use one during the day with lots of bystanders. 190 | - Keep your hotel key/card secured. If it is numbered and it ends up lost, thieves are able to rob your hotel room. 191 | - Have a buddy system, check up on your buddy by the end of each day. 192 | - Although we will have a first aid kit with the team, you can pack some items like Ibuprofen and bandAids to anticipate any headaches or blisters. 193 | 194 | --- 195 | 196 | ## The Train Layout 197 | 198 | **1. Amtrak Lakeshore coach seats from NYC - Chicago** 199 | 200 | ![](attendee_welcome_packet_images/image29.jpg) 201 | 202 | ![](attendee_welcome_packet_images/image20.jpg) 203 | 204 | **2. Private SuperDome from Chicago - Emeryville** 205 | 206 | ![](attendee_welcome_packet_images/image19.jpg) 207 | 208 | ![](attendee_welcome_packet_images/image7.jpg) 209 | 210 | ![](attendee_welcome_packet_images/image16.jpg) 211 | 212 | **3. Sleeper Cars from Chicago to Emeryville** 213 | 214 | ![](attendee_welcome_packet_images/image2.jpg) 215 | 216 | ![](attendee_welcome_packet_images/image5.jpg) 217 | 218 | **4. Amtrak Roomettes (For staff on NYC - Chicago and Chicago - Emeryville)** 219 | 220 | ![](attendee_welcome_packet_images/image14.jpg) 221 | 222 | ![](attendee_welcome_packet_images/image24.jpg) 223 | 224 | **5. Amtrak Coast Starlight coach seats from Emeryville - Los Angeles** 225 | 226 | ![](attendee_welcome_packet_images/image22.jpg) 227 | 228 | --- 229 | 230 | ## Train Tech Specifications 231 | 232 | For the duration of the train trip and hackathon, there will be no internet connectivity. On certain parts of the trip there will be no cell towers, this means there will be sections of the trip in which parents are unable to contact or hear from their child. We are encouraging our Hack Clubbers to socialize, collaborate and enjoy the scenic trip on this magical journey. To reiterate those dates and times that we may be off the grid, kindly refer to the table below. As soon as we reach our city stopover, parents and children should be able to make contact. 233 | 234 | | July 18, Sun 3:40 pm ET - July 19, Mon 9:50 am ET | NYC - ChicagoAmtrak train 49 Lakeshore direct NYC-Chicago depart Penn Station NYC 3:40 pm ET, arrives Chicago Union Square 9:50 am ET the next day | 235 | | ---------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | 236 | | July 19, Mon 2:00 pm ET -July 21, Wed 4:10 pm ET | Chicago - EmeryvillePrivate Cars on the Amtrak train 5 Zephyr departs Chicago at 2:00 pm ET and arrives in Emeryville, CA on July 21 at 4:10 pm PT | 237 | | _\*This will be the longest leg of the trip, so kindly make sure you check in with your parents/child before July 19, 1:00 pm ET._ | 238 | | July 23, Fri 8:20 am - 9:00 pm PT | Emeryville - LAAmtrak train Coast Starlight departs Emeryville at 8:20 am PT and arrives in LA at 9:00 pm | 239 | 240 | During the Hacker Zephyr hackathon, Hack Club will ensure that you have power on the trains so that you can hack on your project. Extension cables and power strips will be provided throughout the journey. If you are coming from a different country, please make sure you have a power adapter for the United States. 241 | 242 | --- 243 | 244 | ## Expenses & Meals 245 | 246 | Hackers will be given a stipend for each city we stop in. They're free to spend it however they'd like– we won't be authorizing purchases. The intent is to provide a high base-line experience for all participants. Please don't bring extra spending money for our stops– we'd like to prevent participant experiences being too different. Emergency funds are okay. 247 | 248 | Meals on trains are as follows: 249 | 250 | | July 18, Sun - July 19, Mon | NYC/Chicago | Amtrak train 49 Lakeshore | Hack Club staff will purchase meals for the students, which will be served in their coach seats. | 251 | | --------------------------- | ------------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------ | 252 | | July 19, Mon - July 21, Wed | Chicago, IL | Private Cars on the Amtrak train 5 Zephyr | Breakfast, lunch, dinner and snacks will be provided on the SuperDome. | 253 | | July 23, Fri | SF/Emeryville | Amtrak train Coast Starlight | Hack Club staff will purchase meals for the students, which will be served in their coach seats. | 254 | 255 | Please note that all meals will be the same for all students due to logistic limitations. If you have dietary restrictions, kindly communicate your preferences to us upon confirmation of your invitation and we will do our best to accommodate them. Otherwise, train meals will be set menus. 256 | 257 | --- 258 | 259 | ## Climate & Weather 260 | 261 | We'll be travelling across the United States in the middle of Summer. Make sure to bring clothes for warm weather. We'll generally be inside, but having something waterproof in case of rain in one of our layover cities is nice to have. 262 | 263 | We recommend having a light outfit for general use and a heavier outer covering just in case. 264 | 265 | --- 266 | 267 | ## Next Steps 268 | 269 | Thank you once again for joining us on this magical adventure. Here are the next steps that each invitee and their parents need to take to confirm their spot and travel arrangements. 270 | 271 | 1. You will receive an emailed docusign from us to confirm your invitation. Sign it ASAP to confirm your invitation, or email us to turn down your invitation. After 7 days your invitation will be turned down. 272 | 2. We'll reach out to book your travel to Vermont / from Los Angeles. After receiving your travel preferences, we will email your flight itinerary & tickets to you. 273 | 3. We'll send you a Supervision Waiver which will let you opt-in to spending unsupervised time in each of our stops (Burlington (VT), New York City, San Francisco, & Los Angeles). Hack Clubbers without their waiver will have to spend city time in groups with staff. Further details will be provided when the waiver is sent. 274 | 4. Please remember to check in your flight 24hrs prior to departure and we will arrange for airport pickup in Burlington. We are a small team but Burlington is a manageable airport and we will try to group the flight arrivals as best we can. 275 | 5. Invitation acceptance deadline is seven days down to the hour from the day you received your invite, and you're expected to have a quick response time with us whilst booking your travel. We will need to confirm our passenger and guest lists with the trains and hotels 2 weeks prior to the trip. 276 | 6. Please understand that once you commit to the trip, there are huge costs incurred and any withdrawals must be communicated ASAP so we can give another Hack Clubber this great opportunity. 277 | 7. The trip begins on July 15, Thursday and ends on July 25th, Sunday. For further questions, concerns, requests, please feel free to reach out to Tina, she will be the main point of contact for our parents and hackers. 278 | 279 | Dedicated point of contact in Vermont for parents and Hack Clubbers: 280 | 281 | | Tina Soriano | Assistant tina@hackclub.com | 282 | |---------------|-------------------------------------------| 283 | 284 | Secondary point of contact in Vermont in case of emergencies: 285 | 286 | | Melanie Smith | Bank Operations Lead melanie@hackclub.com | 287 | |---------------|-------------------------------------------| 288 | 289 | --- 290 | 291 | ## Parent Webinars 292 | 293 | We set aside some time to speak with your parents via Zoom. There will be several half-hour sessions where your parents can ask Zach Latta and Christina Asquith (CEO and COO of Hack Club) anything at all. This is not mandatory but it is encouraged, especially if your parents have any reservations about this trip. 294 | 295 | Parent webinars can be joined at the following times/links: 296 | 297 | - 2:30 PM Pacific / 5:30 PM Eastern, Friday, 6/18 [redacted link] 298 | - 7 AM Pacific / 10 AM Eastern, Monday, 6/21 [redacted link] 299 | - 6 PM Pacific / 9 PM Eastern, Wednesday, 6/23 [redacted link] 300 | -------------------------------------------------------------------------------- /applications/attendee_welcome_packet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet.pdf -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image1.png -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image10.png -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image11.jpg -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image12.png -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image13.png -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image14.jpg -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image15.jpg -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image16.png -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image17.png -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image18.png -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image19.jpg -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image2.jpg -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image20.jpg -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image21.png -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image22.jpg -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image23.png -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image24.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image24.jpg -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image25.png -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image26.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image26.jpg -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image27.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image27.jpg -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image28.png -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image29.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image29.jpg -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image3.jpg -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image4.jpg -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image5.png -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image6.png -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image7.jpg -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image8.png -------------------------------------------------------------------------------- /applications/attendee_welcome_packet_images/image9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/attendee_welcome_packet_images/image9.png -------------------------------------------------------------------------------- /applications/form.md: -------------------------------------------------------------------------------- 1 | _This is an export of the Airtable form used for registering interest. Below is a screenshot._ 2 | 3 | ![](./form_screenshot.png) 4 | 5 | # Hacker Zephyr – Register Your Interest 6 | 7 | ALL ABOARD!!!!! For ten days this summer, 42 Hack Clubbers will journey from East to West by train. From 🌲Vermont to ☀️Los Angeles, you'll code, build, write songs and make friends. 8 | 9 | Let us know here if you'd like to join us. 10 | 11 | This form is a pre-registration form; it only indicates strong interest, and is not a commitment to go on the trip. After you fill this out, you'll receive more information in a few days. 12 | 13 | As much as we'd like to include every Hack Clubber on this trip, restrictions from the rail switching station in Denver limits the number of train cars we can chain together. Only 42 Hack Clubbers can fit. 14 | 15 | We want to bring the 42 Hack Clubbers who this trip will personally impact the most. Think of it as a "soul-need based" invitation process. It is likely that some active community members who want to go won't be able to because of this. The invitation process has everything to do with how much this trip will personally impact each attendee. We wish you all could come. 16 | 17 | For any questions, shoot an email to zephyr@hackclub.com. 💖🚃💻💨 18 | 19 | — Orpheus, your conductor 20 | 21 | --- 22 | 23 | ### Your Full Name * 24 | 25 | ### Your Email Address * 26 | 27 | > We'll only use this to send you important communications leading up to the trip. We'll never spam you. 28 | 29 | ### Your Phone Number * 30 | 31 | > We'll only use this during the trip to contact you in case we need to get ahold of you quickly. We will never call or text you before or after the trip. 32 | 33 | ### Parent's Name * 34 | 35 | ### Parent's Email Address * 36 | 37 | > We'll use this to send your parent important information, such as waivers, full schedule, etc. when those are ready. We won't use it for anything else. 38 | 39 | ### Parent's Phone Number * 40 | 41 | > We'll only use this during the trip to contact your parents in case of an emergency. We expect that we'll never have to use this number. 42 | 43 | ### Your Birthday * 44 | 45 | ### What do you hope to get out of The Hacker Zephyr? * 46 | 47 | > Don't be intimidated by this question or feel like you have to pad it up/make yourself "look good"/etc. This question is one of many things we'll use to determine eligibility. Just be yourself & be totally honest. 48 | 49 | ### Are you free for the duration of the trip? * 50 | 51 | > The trip starts on July 15th and ends on July 25th. You'll need to be free for the duration of the trip. 52 | 53 | - Yes 54 | 55 | - No 56 | 57 | - I have a conflict, but will try to move it. 58 | 59 | ### What is the nearest airport to you? * 60 | 61 | > I'm a nerd, so please give it to me as a IATA airport code. Non-nerds: find your airport by filling out the "Search Location Codes" section at the bottom of this page: [https://www.iata.org/en/publications/directories/code-search/](https://www.iata.org/en/publications/directories/code-search/) 62 | 63 | ### Will you be fully vaccinated by July 15th? * 64 | 65 | > You will have to provide proof of vaccination in order to be able to board the Hacker Zephyr. 66 | 67 | - Already fully vaccinated 68 | 69 | - Not yet fully vaccinated, but I will be by July 15th 70 | 71 | - Will not be vaccinated by July 15th 72 | 73 | ### Dietary restrictions 74 | 75 | > Wouldn’t want your dining experience to turn sour. Please be as specific as possible. We'll do our best to accommodate your needs. 76 | 77 | ### What do you see when you look at this image? * 78 | 79 | > [https://hack.af/rorschach](https://hack.af/rorschach) — Don't overthink this. This won't be used to determine your eligibility. What's the first thing(s) that comes to mind? 80 | 81 | ### Application Record ID * 82 | 83 | > Now now, don't touch this. Please I beg you. It performs some sort of dark magic only my boss can understand. 84 | -------------------------------------------------------------------------------- /applications/form_screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/form_screenshot.png -------------------------------------------------------------------------------- /applications/freedom_waiver.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/freedom_waiver.pdf -------------------------------------------------------------------------------- /applications/invite_call_script.md: -------------------------------------------------------------------------------- 1 | # Invite Call Script 2 | 3 | > This script was not intended to be directly followed during a call– this should give you a general sense, however. 4 | 5 | - Congratulations, we'd like to invite you onboard the Hacker Zephyr 6 | 7 | - Dates are July 15-25 8 | 9 | - Please observe the right invitation etiquette: don't share this outside your immediate family until we announce all invites have gone out. The invite can be recalled if you share details 10 | 11 | - I'll email you with an information packet that has all the basic info 12 | 13 | - Your next step is to confirm your invite– you have 7 days to do so. You’ll get a docusign emailed to you (and your parent if under 18) 14 | 15 | - If you're under 18, you'll need parent consent to confirm your invite– more info is in the packet, but we’re only talking with you. Parent webinar info is available 16 | 17 | - We're so happy to have you on this trip 18 | -------------------------------------------------------------------------------- /applications/invite_email_template.md: -------------------------------------------------------------------------------- 1 | > This script was not intended to be directly sent without customizing– this should give you a general sense, however. 2 | 3 | > SUBJECT: 🚞 Welcome Aboard The Hacker Zephyr! 4 | > 5 | > TO: [Hack Clubber address] 6 | > 7 | > BCC: zephyr@hackclub.com 8 | > 9 | > FROM: [Staff member address] 10 | 11 | Thanks for hopping on a call and congratulations! 12 | 13 | We are pleased to extend you an invitation to join us from July 15-25th to ride The Hacker Zephyr! 14 | 15 | For posterity, here’s what we covered on the call: 16 | 17 | - Please observe the right invitation etiquette: don't share this outside your immediate family until we announce all invites have gone out. The invite can be recalled if you share details. 18 | - Your next step is to confirm your invite– you have 7 days to do so. You’ll get a docusign emailed to you (and your parent if under 18) 19 | - If you're under 18, **you'll need parent consent to confirm your invite– more info is in the packet** 20 | - _Other details covered in the call with the participant_ 21 | 22 | **Going forward, please confirm your attendance by signing the document sent by DocuSign.** 23 | 24 | You can find an information packet that includes everything you need to know about the trip attached [[now here](./attendee_welcome_packet.pdf)]. 25 | 26 | If you have any questions regarding the packet or the Zephyr, please feel free to contact us! 27 | 28 | Looking forward to meeting you next month, 29 | 30 | [Staff Member's Name] -------------------------------------------------------------------------------- /applications/liability_release.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/liability_release.pdf -------------------------------------------------------------------------------- /applications/memorandum_of_understanding.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/memorandum_of_understanding.pdf -------------------------------------------------------------------------------- /applications/packing_list.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/packing_list.pdf -------------------------------------------------------------------------------- /applications/parent_guide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/applications/parent_guide.pdf -------------------------------------------------------------------------------- /assets/README.md: -------------------------------------------------------------------------------- 1 | # Assets 🎨 2 | 3 | | | | | 4 | | ------------------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 5 | | ![](./teasers/preview.jpg) | [teasers](./teasers) | a series of teasers put out on Twitter leading up to the reveal of the Zephyr | 6 | | ![](./train_valley/preview.jpg) | [train_valley](./train_valley) | was the main image we used | 7 | | ![](./train_starry_night/preview.jpg) | [train_starry_night](./train_starry_night) | is a scene we used for [our teasers](./teasers/README.md) on [Twitter](https://twitter.com/hackclub/status/1397562064651096066). It was originally made to be a parallaxed scene for our website. | 8 | | ![](./train_nyc/preview.jpg) | [train_nyc](./train_nyc) | half-finished scene made for our website back when we planned to have an illustration for each leg of the trip. The layers of the image are parallaxed for scrolling. | 9 | | ![](./poster/preview.jpg) | [poster](./poster) | the final incarnation of the site. | 10 | | ![](./sketches/stamps.png) | [sketches](./sketches) | misc. sketches used when exploring | -------------------------------------------------------------------------------- /assets/melody's_amazing_train_explainer/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/melody's_amazing_train_explainer/1.png -------------------------------------------------------------------------------- /assets/melody's_amazing_train_explainer/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/melody's_amazing_train_explainer/2.png -------------------------------------------------------------------------------- /assets/melody's_amazing_train_explainer/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/melody's_amazing_train_explainer/3.png -------------------------------------------------------------------------------- /assets/melody's_amazing_train_explainer/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/melody's_amazing_train_explainer/4.png -------------------------------------------------------------------------------- /assets/melody's_amazing_train_explainer/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/melody's_amazing_train_explainer/5.png -------------------------------------------------------------------------------- /assets/melody's_amazing_train_explainer/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/melody's_amazing_train_explainer/6.png -------------------------------------------------------------------------------- /assets/melody's_amazing_train_explainer/CleanShot 2021-05-30 at 23.24.56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/melody's_amazing_train_explainer/CleanShot 2021-05-30 at 23.24.56.png -------------------------------------------------------------------------------- /assets/melody's_amazing_train_explainer/CleanShot 2021-05-30 at 23.28.06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/melody's_amazing_train_explainer/CleanShot 2021-05-30 at 23.28.06.png -------------------------------------------------------------------------------- /assets/melody's_amazing_train_explainer/CleanShot 2021-05-30 at 23.42.37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/melody's_amazing_train_explainer/CleanShot 2021-05-30 at 23.42.37.png -------------------------------------------------------------------------------- /assets/melody's_amazing_train_explainer/README.md: -------------------------------------------------------------------------------- 1 | [Plaintext transcript](transcript.md) 2 | 3 | ![1.png](1.png) 4 | 5 | ![2.png](2.png) 6 | 7 | ![3.png](3.png) 8 | 9 | ![4.png](4.png) 10 | 11 | ![5.png](5.png) -------------------------------------------------------------------------------- /assets/melody's_amazing_train_explainer/transcript.md: -------------------------------------------------------------------------------- 1 | > the train length restriction is actually a lot more compilcated 2 | > 3 | > amtrak doesn’t actually own most of its track, that would be private freight railroads. (since freight railroads own and maintain the track, they get priority which is why long distance trains are delayed) 4 | > 5 | > in this case, the rightful owner of the track around denver is the BNSF railroad 6 | > 7 | > what makes denver complicated is that it’s a terminal station instead of a thru station, which means the track ends at the station and the train needs to back up (kinda like parking a car in front of a wall at a wawa or 7-11 or whatever) 8 | > 9 | > since we are attaching private cars to the end of the train, and the private cars are unsuitable to be at the front of the train when it reaches the main line (aka the where it’s shared w/ freight), that complicates how trains with private cars can back out of denver. 10 | > 11 | > first of all, this is how the westbound zephyr enters denver 12 | 13 | ![](./CleanShot%202021-05-30%20at%2023.24.56.png) 14 | 15 | > this is how the westbound zephyr exits denver’s terminal station, should it want the seats to face forward the rest of the way there. it reverses following the green arrow, then uses a critical turnaround track in red (which may likely be the source of the restriction), then follows the yellow arrow to california 16 | 17 | ![](./CleanShot%202021-05-30%20at%2023.28.06.png) 18 | 19 | > (there are other routes that the zephyr can use to reverse the train past denver, but this is the main one last time i checked a few years ago) 20 | > 21 | > notably, the wye (aka turnaround) is owned by BSNF and more importantly, it goes thru their freight rail yard. in the world of passenger safety, freight trains operating in close proximity is usually a big nono 22 | > 23 | > here’s a closeup, down the the exact track amtrak likely uses to turn around the zephyr. the blue circles show what is likely the 2 critical switches in which amtrak has to fit the train in between, the blue line shows the space physically available for amtrak to turn around. to the south circle is the switch to/from union station, and to the north circle is the switch to BSNF freight yard limits. (remember mixing passenger trains and freight trains is largely a nono). 24 | 25 | ![](./CleanShot%202021-05-30%20at%2023.42.37.png) 26 | 27 | > (convienently, a freight train is are shown to the track to the left, but a standard north american freight car is about 140 feet long. a standard passenger railroad car is about 75-100 feet long.) 28 | > 29 | > freight cars in the satellite image gives us an approximately 1400 feet to turn around the train, let’s say approx 1600 to be generous. (the actual train needs to be shorter than this!) 30 | > 31 | > **so here’s my math around the train length restrictions:** 32 | > the zephyr uses 16 superliner cars, 1-2 locomotives, plus we’re adding on 3 private rail cars here. 85\*16=1360 for the superliners. the GE genesis locomotive is 69 feet (nice), so 1360+69=1429. the superdome is 80 feet, so let’s assume 80*3=160 and 160+1429=1589. which means the train length is around 1589 feet long, and i estimate the turnaround track length to be 1400-1600 feet. so there’s physically no way you can have a longer train unless if you can get the FRA (federal railroad administration) to change safety regulations to allow passenger trains in revenue service to enter active freight yards. 33 | > 34 | > alternatively, there could also be this simpler answer: the longest passenger platform at denver union station is 1200 feet, the longest “emergency access” platform (low level) extends an extra 150 feet, which means the passenger accessible portion of trains are limited to 1350 feet. that said, you should be able to walk between train cars so platform length should be a non-problem. however, the maximum physical length of a train that union station can accommodate (from bumper to the nearest switch) is 1200-1600 feet depending on the platform, even though there won’t be a platform long enough for the back of the train. 35 | > 36 | > of course, there’s nothing stopping you from decoupling (splitting) the train in half so the train can fit into more of the platform at union station. but that likely can’t be done for the turnaround because of the sheer amount of people/crew/approval needed to perform that manuver. :) 37 | > 38 | > what complicates thing is that there isn’t an incentive to improve the turnaround situation, to the east is BNSF, to the west is Union Pacific. since these are competing private freight railroads, there isn’t a good incentive for them to connect with each other, which again is bad for amtrak. 39 | > 40 | > amtrak does have permission (likely a waiver) to use the eastern most track in that specific yard, but it only when directly entering or leaving union station, not for turnaround. that track would not be useful for a turnaround either. 41 | > 42 | > also the california zephyr is delayed by an average of 191 minutes by the time it reaches denver, so plan accordingly! 43 | > 44 | > the preferred long distance route of private railcar owners is the empire builder to the north, and the southwest chief to the south, both of which originate from chicago and does NOT have these train length restructions! for example, here’s an empire builder train with 8 private cars: https://youtu.be/QOc17u75BKM 45 | > (aka more people could had attended had a different route been chosen) 46 | > 47 | > amtrak also updated their private car policies in 2018 which made things worse for private cars, and eliminated one-time trip charters so they are no longer a thing: https://www.bloomberg.com/news/articles/2019-03-25/can-you-buy-your-own-train-here-s-what-it-takes 48 | > 49 | > i’m finding my info might (possibly) be outdated, the zephyr in 2021 now usually (but not always) reverses before entering denver going westbound. 50 | > there is a different switching area within the UP yard to the west that amtrak sometimes use, complete with a road if it needs to decouple trains but get this, it’s coincidentally also about approx 1500-1700 feet. depending on which freight railroad has the availability the zephyr could use either one (it could reverse either before or leaving denver) 51 | > 52 | > (i’ve also identified another switch point on the BNSF yard about 350 feet to the south, making this 1750 feet instead of my original 1400 feet measurement, which gives room for amtrak to attach a second locomotive needed to make this move, plus a more reasonable buffer) -------------------------------------------------------------------------------- /assets/monument_valley/blender_screenshot_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/monument_valley/blender_screenshot_1.png -------------------------------------------------------------------------------- /assets/monument_valley/blender_screenshot_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/monument_valley/blender_screenshot_2.png -------------------------------------------------------------------------------- /assets/monument_valley/colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/monument_valley/colors.png -------------------------------------------------------------------------------- /assets/monument_valley/monument_valley.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/monument_valley/monument_valley.blend -------------------------------------------------------------------------------- /assets/monument_valley/render.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/monument_valley/render.png -------------------------------------------------------------------------------- /assets/monument_valley/sketch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/monument_valley/sketch.png -------------------------------------------------------------------------------- /assets/poster/format_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/poster/format_1.png -------------------------------------------------------------------------------- /assets/poster/format_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/poster/format_2.png -------------------------------------------------------------------------------- /assets/poster/format_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/poster/format_3.png -------------------------------------------------------------------------------- /assets/poster/format_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/poster/format_4.png -------------------------------------------------------------------------------- /assets/poster/format_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/poster/format_5.png -------------------------------------------------------------------------------- /assets/poster/format_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/poster/format_6.png -------------------------------------------------------------------------------- /assets/poster/format_7_final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/poster/format_7_final.png -------------------------------------------------------------------------------- /assets/poster/preview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/poster/preview.jpg -------------------------------------------------------------------------------- /assets/poster/zephyr-poster.psd: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d436b24d14aee228da23b7d9edc648ae6e20539acf36dd346574668f9f2bffc1 3 | size 30575619 4 | -------------------------------------------------------------------------------- /assets/qr_codes/README.md: -------------------------------------------------------------------------------- 1 | These were made to help people get onto the ZephyrNET. The base images are screenshots from the wonderful game [Hyper Light Drifter](https://store.steampowered.com/app/257850/Hyper_Light_Drifter/). -------------------------------------------------------------------------------- /assets/qr_codes/photowall-qr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/qr_codes/photowall-qr.png -------------------------------------------------------------------------------- /assets/qr_codes/photowall-qr.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/qr_codes/photowall-qr.xcf -------------------------------------------------------------------------------- /assets/qr_codes/wifi-qr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/qr_codes/wifi-qr.png -------------------------------------------------------------------------------- /assets/qr_codes/wifi-qr.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/qr_codes/wifi-qr.xcf -------------------------------------------------------------------------------- /assets/sketches/README.md: -------------------------------------------------------------------------------- 1 | This folder is for sketches made while planning out the Hacker Zephyr's branding 2 | 3 | A timelapse of each sketch is available at this youtube playlist: 4 | 5 | https://www.youtube.com/watch?v=cYHUqWfi_bA&list=PLEWtscELvzsToKT2V_Ae32I5Qg_fa4gV3 -------------------------------------------------------------------------------- /assets/sketches/fonts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/sketches/fonts.png -------------------------------------------------------------------------------- /assets/sketches/landscapes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/sketches/landscapes.png -------------------------------------------------------------------------------- /assets/sketches/stamps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/sketches/stamps.png -------------------------------------------------------------------------------- /assets/teasers/README.md: -------------------------------------------------------------------------------- 1 | # Teasers 2 | 3 | To build up excitement for a mysterious community meeting we'd be hosting on the Saturday the 29th of May, we made a ton of cryptic puzzles! 4 | 5 | ## Hints on the [@hackclub Twitter](https://twitter.com/hackclub/status/1396881237113966594) 6 | 7 | | Date | Description | 8 | | --- | --- | 9 | | [May 24](https://twitter.com/hackclub/status/1396881237113966594) | Map which leads to SpaceX's HQ created using [MapSCII](https://github.com/rastapasta/mapscii) & [cool-retro-term](https://github.com/Swordfish90/cool-retro-term) | 10 | | [May 26 morning](https://twitter.com/hackclub/status/1397562064651096066) | Lightly drawn in the stars are the lat & lng of Union Station in Denver | 11 | | [May 26 evening](https://twitter.com/hackclub/status/1397695237502423042) | P2J3+9, a Google Maps code of a park we were planning on going to in NYC. [The music.](https://open.spotify.com/track/3nKZknHg5Y5fPB3gow8ACG?si=00f3e427ffec44ce) | 12 | 13 | Most of these files were too big to upload with Git LFS (on GitHub's free plan). A YouTube playlist of them is available here: 14 | 15 | https://www.youtube.com/watch?v=Jb54okOILUs&list=PLqVc4DLanb7CdYlEEHgvjLfJSxOLXwHc8 16 | 17 | ## Tom's Hints 18 | 19 | Tom even put out [his](https://twitter.com/mojombo/status/1398055532938727427) [own](https://twitter.com/mojombo/status/1398391830761246723) clues. 20 | -------------------------------------------------------------------------------- /assets/train_nyc/preview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/train_nyc/preview.jpg -------------------------------------------------------------------------------- /assets/train_nyc/train_nyc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/train_nyc/train_nyc.png -------------------------------------------------------------------------------- /assets/train_nyc/train_nyc.psd: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e5bcf3595d4ce6391d1ec244c3f976b6fc2da785c6b43b9e450bd24f6e7206fd 3 | size 54817883 4 | -------------------------------------------------------------------------------- /assets/train_starry_night/preview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/train_starry_night/preview.jpg -------------------------------------------------------------------------------- /assets/train_starry_night/train_starry_night.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/train_starry_night/train_starry_night.png -------------------------------------------------------------------------------- /assets/train_starry_night/train_starry_night.psd: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9d18f123aad4b99cf1069c35c02ed618582fc55c20ea1972007e28ad5a513d1f 3 | size 208794689 4 | -------------------------------------------------------------------------------- /assets/train_valley/announcement_cards/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/train_valley/announcement_cards/1.jpg -------------------------------------------------------------------------------- /assets/train_valley/announcement_cards/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/train_valley/announcement_cards/2.jpg -------------------------------------------------------------------------------- /assets/train_valley/announcement_cards/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/train_valley/announcement_cards/3.jpg -------------------------------------------------------------------------------- /assets/train_valley/announcement_cards/full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/train_valley/announcement_cards/full.png -------------------------------------------------------------------------------- /assets/train_valley/preview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/train_valley/preview.jpg -------------------------------------------------------------------------------- /assets/train_valley/train_valley.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/train_valley/train_valley.png -------------------------------------------------------------------------------- /assets/train_valley/train_valley.psd: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:57f33c1e3eaa6f714ef91e240d247edac46e37f4611ac2864ba129d54387ea0c 3 | size 137259218 4 | -------------------------------------------------------------------------------- /assets/zephyr_fonts.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/zephyr_fonts.key -------------------------------------------------------------------------------- /assets/zephyr_fonts.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/assets/zephyr_fonts.pdf -------------------------------------------------------------------------------- /logistics/cash_stipends.csv: -------------------------------------------------------------------------------- 1 | ,,,,,,,, 2 | ,What we had Robert withdraw:,,,,,,, 3 | ,,,,,,$5,$10,$20 4 | ,$15,for arrivals in Vermont before 7pm dinner (est 20 students),,,,1,1, 5 | ,$10,for Friday Vermont / Shelburne country store,,,,2,, 6 | ,$30,for NYC first night,,,,,3, 7 | ,$15,for NYC morning,,,,1,1, 8 | ,$60,for SF,,,,,6, 9 | ,$30,for LA,,,,,3, 10 | ,"$6,720",total to distribute,,,,168,588,0 11 | ,$500,buffer,,,,,50, 12 | ,"$7,220",totals to withdraw,,,totals to withdraw:,168,638,0 13 | ,,,,,,,, 14 | ,,For distribution:,,,,,, 15 | ,,Type of bill,Quantity,,,,, 16 | ,,$5 bills,168,,,,, 17 | ,,$10 bills,638,,,,, 18 | ,,,,,,,, 19 | ,Received bills from Robert (we couldn't get all the bill sizes we hoped for),,,,,,, 20 | ,Type of Bill ,# of Bills,$ Amount,,,,, 21 | ,$5,268,1340,,,,, 22 | ,$10,450,4500,,,,, 23 | ,$20,69,1380,,,,, 24 | ,,,,,,,, 25 | ,Goals for distribution,,,,,,, 26 | 20,$15,for arrivals in Vermont before 7pm dinner (est 20 students),,,,1,1, 27 | 42,$20,for Friday Vermont morning / Shelburne country store,,,,2,1, 28 | 42,$30,for NYC first night,,,,,3, 29 | 42,$15,for NYC morning,,,,1,1, 30 | 42,$60,for SF,,,,,6, 31 | 42,$30,for LA,,,,,3, 32 | 230,,,,,,,, -------------------------------------------------------------------------------- /logistics/covid_safety_plan.md: -------------------------------------------------------------------------------- 1 | # Code RED: Emergency COVID-19 Plan 2 | 3 | ### Students Display Symptoms on Train or in City 4 | 5 | This student will: 6 | 7 | - Enter quarantine onboard in their sleeper quarters / hotel room. Their partner will be moved to sleep in a different room. 8 | 9 | - They will be administered a COVID-19 test, using a test at home kit. 10 | 11 | - They may not exit quarantine until this COVID-19 test comes back as negative. 12 | 13 | - If tested positive, view below plan. 14 | 15 | The student’s partner: 16 | 17 | - Will wear a mask and be instructed to act with caution and perform additional social distancing. 18 | 19 | - They will be administered a COVID-19 test, using a test at home kit. 20 | 21 | - They will not need to quarantine, unless they are not fully vaccinated. In that case, they must quarantine. 22 | 23 | - If tested positive, view below plan. 24 | 25 | All passengers: 26 | 27 | - Must wear a mask. 28 | 29 | - Must act with additional caution and care in regard to social distancing. 30 | 31 | - Be on high alert for symptoms. 32 | 33 | All non-fully vaccinated passengers (including those in the 14 day period): 34 | 35 | - Must quarantine and be administered a COVID-19 test, using a test at home kit. 36 | 37 | - They may not exit quarantine until this COVID-19 test comes back as negative. 38 | 39 | - If tested positive, view below plan. 40 | 41 | ### Student Tests Positive for COVID-19 in a City 42 | 43 | All passengers: 44 | 45 | - COVID-19 is a serious virus, even if we are all fully vaccinated we must act in a way that will not harm the public. 46 | 47 | - All passengers will immediately book to get tested in the nearest testing center. 48 | 49 | - All non-essential activities will be put on pause. Students will not be allowed to leave their hotel rooms without a staff approved reason. 50 | 51 | - All students must wear masks and observe a two meters social distancing rule. 52 | 53 | - Movement (such as going to get tested) will happen in groups of a maximum size of ten, including a staff supervisor. Room partners must be in the same group. 54 | 55 | The COVID-positive student: 56 | 57 | - The student will be in a strict quarantine. They may not leave their room or sleeping quarters. Their partner must vacate the room. 58 | 59 | - No physical interaction is allowed with this student. Food dropped outside their room. 60 | 61 | - Staff members video call the student every two hours to ensure they are abiding by quarantine rules and check in with them personally. 62 | 63 | - Hotel to be alerted and any instructions provided by them to be followed. 64 | 65 | - Student's health to be monitored, if needed an ambulance to be called and they will be moved to hospital care. 66 | 67 | If more students test positive: 68 | 69 | - Above measures in “the COVID-positive student” to be followed for this student. 70 | 71 | Plan going forward: 72 | 73 | - All negative passengers may continue the journey. Unless fifteen passengers test positive, in which case the viability of the trip should be carefully assessed. 74 | 75 | - Positive students will have their hotel room bookings extended. 76 | 77 | - They will be joined by a negative testing staff member that will remain in the city and not continue the journey. If more than five students test positive, then a second negative staff member will have to join the group. If more than ten test positive, three staff negative members will be required to stay. 78 | 79 | ### Student Tests Positive for COVID-19 on the train 80 | 81 | All passengers: 82 | 83 | - COVID-19 is a serious virus, we should treat an outbreak with great caution. 84 | 85 | - All non-essential activities onboard will be put on pause. Students will not be allowed to leave their hotel rooms without a staff approved reason. 86 | 87 | - The train carriage will effectively enter a lockdown. 88 | 89 | - All students must wear masks and observe a two meters social distancing rule. 90 | 91 | - Essential movement onboard will happen in groups of a maximum size of five, including a staff supervisor. Room partners must be in the same group. 92 | 93 | The COVID-positive student: 94 | 95 | - The student will be in a strict quarantine. They may not leave their room or sleeping quarters. Their partner must vacate the room. 96 | 97 | - No physical interaction is allowed with this student. Food dropped outside their room. 98 | 99 | - Staff members video call the student every two hours to check in with them personally. 100 | 101 | - Amtrak to be alerted and any instructions provided by them to be followed. 102 | 103 | - Students' health to be monitored, if needed an ambulance to be called and they will be moved to hospital care at a train stop. 104 | 105 | Plan going forward: 106 | 107 | - The train will remain in this state till arrival in San Francisco. 108 | 109 | - Then the “Student Tests Positive for COVID-19 in a City” plan will be enacted. 110 | 111 | ### International Student Tests Positive for COVID-19 112 | 113 | - Above general guidelines will be followed. 114 | 115 | - The student’s flights will be cancelled. We will attempt to get a refund. 116 | 117 | - It will be rebooked 21 days from now. Specifically on an airline that provides a no questions asked refund. 118 | 119 | - Students will be released from quarantine and allowed to fly after testing negative, they will be tested every seven days. 120 | 121 | - A staff member must remain with them. 122 | 123 | - If on the East Coast, driving back to Vermont will be explored as a possibility. 124 | 125 | - If the student fails to test negative, new flights will be cancelled and the cycle shall continue. 126 | -------------------------------------------------------------------------------- /logistics/superdome_and_sleeper_cars/photos_from_steve_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/logistics/superdome_and_sleeper_cars/photos_from_steve_1.jpg -------------------------------------------------------------------------------- /logistics/superdome_and_sleeper_cars/photos_from_steve_10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/logistics/superdome_and_sleeper_cars/photos_from_steve_10.jpg -------------------------------------------------------------------------------- /logistics/superdome_and_sleeper_cars/photos_from_steve_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/logistics/superdome_and_sleeper_cars/photos_from_steve_2.jpg -------------------------------------------------------------------------------- /logistics/superdome_and_sleeper_cars/photos_from_steve_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/logistics/superdome_and_sleeper_cars/photos_from_steve_3.jpg -------------------------------------------------------------------------------- /logistics/superdome_and_sleeper_cars/photos_from_steve_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/logistics/superdome_and_sleeper_cars/photos_from_steve_4.jpg -------------------------------------------------------------------------------- /logistics/superdome_and_sleeper_cars/photos_from_steve_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/logistics/superdome_and_sleeper_cars/photos_from_steve_5.jpg -------------------------------------------------------------------------------- /logistics/superdome_and_sleeper_cars/photos_from_steve_6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/logistics/superdome_and_sleeper_cars/photos_from_steve_6.jpg -------------------------------------------------------------------------------- /logistics/superdome_and_sleeper_cars/photos_from_steve_7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/logistics/superdome_and_sleeper_cars/photos_from_steve_7.jpg -------------------------------------------------------------------------------- /logistics/superdome_and_sleeper_cars/photos_from_steve_8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/logistics/superdome_and_sleeper_cars/photos_from_steve_8.jpg -------------------------------------------------------------------------------- /logistics/superdome_and_sleeper_cars/photos_from_steve_9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/the-hacker-zephyr/ab4f1251c3c0dc5fac4d8e0206a40c230066f75a/logistics/superdome_and_sleeper_cars/photos_from_steve_9.jpg -------------------------------------------------------------------------------- /logistics/superdome_and_sleeper_cars/train_questions.md: -------------------------------------------------------------------------------- 1 | _These are notes from a call with the owner of our private charter cars_ 2 | 3 | 7/8/21 4 | 5 | 50 seats 6 | 7 | 55/56 bodies crowded 8 | 9 | No non-ticketed folks can crossover to Amtrak 10 | 11 | Arrangement of cars: PACIFIC - SUPERDOME - CIMARRON - AMTRAK 12 | 13 | DAY 1 14 | 15 | 6:00 pm half group dinner 45 min 16 | 17 | 7:30 pm half group dinner 45 min 18 | 19 | (Steve will check with chef and confirm with Christina) 20 | 21 | 8:30 pm fireside chat with Tom Preston-Werner 42 students 22 | 23 | Midnight just students 24 | 25 | DAY 2 26 | 27 | Performers on platform 28 | 29 | Breakfast 30 | 31 | 5:30 pm half group dinner with 32 | 33 | 7:00 pm half group dinner 34 | 35 | 8:00 pm - 12 mn Hack Club Lounge night with 42 students 48 36 | 37 | Midnight murder mystery 38 | 39 | Jain diet - coordinate with student 40 | 41 | Outlets 42 | 43 | Bar drinks - flavored water, soda? Woody will email Steve what we want from Costco (HC will bring cherries, straws, umbrellas) 44 | 45 | Outlets 46 | 47 | Temperature 48 | 49 | Look at the schedule and make sure theres nothing important happening coz folks usually want to get off and stretch 50 | 51 | Sacramento stop 15min 52 | 53 | 6/25/21 54 | 55 | ROOM ASSIGNMENTS 56 | 57 | SLEEPER CAR 80FT X 9FT WIDE, 12FT 6 INCHES TALL EXTERIOR.. INTERIOR 6FT 6 INCHES 58 | 59 | SLEEPER - EACH ROOM HAS 1 OR 2 PLUGS.. WE'LL PUT SPLITTERS 60 | 61 | SUPERDOME 5'10FT HEIGHT, 75 FT X 9FT 62 | 63 | Conserve water! Military shower 64 | 65 | Tickets 66 | 67 | Pillows, sheets 68 | 69 | food 70 | 71 | Private / Amtrak Train Qs 72 | 73 | \*staff Hack Club shirts 74 | 75 | Running total passengers: 43 students (42+ Christina's daughter) + 12 Hack Club Staff + possible performers 76 | 77 | 1. What is the back up plan in case the NYC - Chicago train gets delayed? 78 | 79 | > Our cars will not leave without you.. They can delay by 2-5 hours 80 | > 81 | > If its 12 hours late... Amtrak (hotel stay) catastrophic track incident… change tracks/bus 82 | 83 | 1. Can we visit any similar type cars (Superdome and sleeper cars) that is accessible from Vermont? Max would really love to get a sense of the experience prior to the train trip. And as a backup, any chance we can have updated photos of the train interior with a person as point of reference to the size/space available? 84 | 85 | > Pacific Union Albany NY, Cimarron River St Louis Missouri, Superdome MI (secure) 86 | 87 | 1. Can there be crossovers/accessibility to other cars during the train ride? From Superdome to sleeper cars and roomettes? For the Chicago - Emeryville trip, we have 20 folks booked in 10 roomettes on Amtrak. 88 | 89 | > Superdome to sleeper - free flow 90 | > 91 | > 1 car in their train with steps from lower to upper car… 92 | > 93 | > Roomette to SuperDome 94 | > 95 | > _\*porch outside crossover if it can be at the tail end_ 96 | 97 | 1. Exactly how many beds will be available in the sleeper cars and what would their setup be/what would they look like? Can we have photos? We would like to know if the sleeper cars would have any potential of causing claustrophobia or if their hallways are wide enough to walk through. We know you would like to have your staff in the sleeper cars, will we have enough to cover our 42 students? 98 | 99 | > Name cards on sleeper cars (preassigned) 40 beds, 1 shower on Cim and on Pacific Union 100 | > 101 | > Steve to send layout 4 doubles on Cim, pacific union 6 doubles, all single roomettes (double rooms have private toilet) single rooms shared bathroom 102 | 103 | 1. How many showers will there be? Can we have photos? 104 | 105 | 1. How many folks can comfortably sit or hangout at the superdome top floor? 106 | 107 | > SuperDome 46-50 seats (bar for musicians) 10 outlets.. Strips… usb can we get a confirmation on satellite or network internet access 108 | 109 | 1. What is the power outlet distribution like on the SuperDome and sleeper cars? What is the maxi power load? 110 | 111 | > Power strips… cars have wifi, x load issues 3 devices (power strips)... exactly how many in sleeper, per bed? Plugins x3 112 | 113 | 1. What meals will be covered? Breakfast, lunch and Dinner? What are the sample meals usually provided on these train trips? Can we send early requests for food preferences in case we have students with allergies, etc? 114 | 115 | > Yes 116 | 117 | 1. Max and ZFogg will be the points of contact for emergencies. We will provide their photos/name/numbers prior to the trip. 118 | 119 | 1. Could we have a list of your train staff members, even if it's just titles/roles for now? Are any of them certified for first aid and CPR? Will they have a uniform? 120 | 121 | > Uniform and lanyard (for students) 122 | 123 | 1. What are your emergency protocols on the train? What other rules do we need to communicate to our students/staff prior to the trip? 124 | 125 | > RN will be on train.. First and defibrillator, epi pens Route guide and rules, Amtrak conductor… ambulance/stop 126 | 127 | 1. What other requirements would you need from us prior to our departure (aside from a confirmed passenger list and meal preferences/requests?) 128 | 129 | > (no walking away from the train for stopovers.. Have to be ON TIME) 130 | 131 | 1. What is the temperature going to be like in the cars? Can windows be opened? Is it air-conditioned? 132 | 133 | > X open windows 134 | 135 | 1. Could we have the exact date, time and duration of all stopovers for the Chicago-Emeryville trip? We need to know this for our booked entertainers as well. 136 | 137 | 1. Can we decorate the Superdome (lights and banners) 4 hours prior to departure? (Woody might fly in to Chicago to do this) 138 | 139 | Pls be very careful 140 | 141 | Make sure to watch BIG EASY EXPRESS -------------------------------------------------------------------------------- /logistics/timeline.md: -------------------------------------------------------------------------------- 1 | # The Timeline 2 | 3 | This doc has all the planned activities. 4 | 5 | ## Thursday, July 15 Burlington VT 6 | 7 | Noon-Midnight: Airport Arrivals /Pickups 8 | 9 | Before 7/15: 7 students arriving 10 | 11 | 12:00 nn - 5:00 pm: 17 students arriving (24 students for dinner) 12 | 13 | 9:00 pm: 8 students arriving 14 | 15 | 10:00 pm - 12:00 am: 8 students arriving 16 | 17 | Hilton courtesy shuttle until 10:30 pm. HC private-car pickup after 18 | 19 | 11am- Zach, Christina, Rebecca at HQ 20 | 21 | 22 | 23 | 12 noon - 7pm Woody and Jeremy at hotel creating welcome scene / Swag bags / welcome packet / Master Check-in Clipboard / Daily stipend? / Laniards w name hotel info and contact # / bug spray 24 | 25 | 26 | 27 | 4:00 PM: students opt in to walk to City Market Burlington for dinner 28 | 29 | - shop of picnic dinner of baguettes, cheeses, sliced salami and ham, grapes, watermelon, crackers, nuts, sliced tomatoes, pickles... 30 | 31 | 32 | 33 | 34 | 7:00 PM: Lake Champlain Waterfront Dinner on grass for 16-20 students est. 35 | 36 | - Head to waterfront w picnic blankets (we have 4 big ones) 37 | 38 | - Students make sandwiches for the incoming students (need 15) 39 | 40 | 41 | 42 | 8:00 PM: Wander Church Street 43 | 44 | - Lake Champlain Chocolates ice cream 45 | 46 | 47 | 48 | 49 | 10:30 PM: with 6 new students (total 20-22) curfew 50 | 51 | 52 | 53 | 11:30 PM – 2:00 AM: remaining 10 students arrive; Tina to check in at Hilton cafe. 54 | 55 | 56 | 57 | ## Friday, July 16 Burlington 58 | 59 | 60 | 61 | 9:00 - 12:00 PM: Free time. Feed yourself. Tina on hand in lobby 62 | 63 | 64 | 65 | 12:15 PM: School Bus Pick-up Hilton - Hack Club. Decorate bus. Prayer flags, lIghts. Champagne Toast. 66 | 67 | 68 | 69 | 12:30 - 2:30 PM: Hack Club, Folinos Pizza; eating outside on blankets; live music w tents; need cooler w water / visit to Country Store for Creemies / Announce Hackathon! 70 | 71 | 72 | 73 | 2:30pm Bus leaves HQ Jeremy in Welcome Booth 74 | 75 | 3 pm- 5:30pm: Bus to Shelburne Farms. Park at Coach Barn by the water. We need games. We need 2 coolers w icy water bottles View gardens, trails, beach, explore. Pick up ice Market Friday 11:30 am 76 | 77 | 5:30 Bus from Shelburne Farms to Mt. Philo Inn (upper lot) 78 | 79 | 6pm: Arrive Light Torches after students leave for walk up Philo. 80 | 81 | 6:15pm: Zeb Scoville, NASA Demo-2 (the end-to-end flight test to validate the SpaceX crew transportation system) flight director hanging out 82 | 83 | 6-8:30 Dinner buffet: Grill w Elan! Hotdogs/hamburgers/veggie burgers plus a green salad, a quinoa salad and a fruit salad; with lemonade and ice tea … 84 | 85 | 6-8pm Activities: 1 hour hike mount philo back by 8pm; find a smores stick; 86 | 87 | 8:10 pm: Marching band starts 88 | 89 | 8:30-9: speeches/ Jerry Greenfield gives ice cream; 90 | 91 | 8:34 pm sunset 92 | 93 | 9:00 - 10:00 pm: Ghost stories, fire-pit Smores marshmallows sparklers and glowsticks Need benches. 94 | 95 | 10:00 pm: Bus back to Hilton; Tina at Hilton 96 | 97 | 10:30 pm: Arrive back @ Hilton - sleep. 98 | 99 | ## Saturday, July 17 New York 100 | 101 | 7:00 - 8:00 am: Hilton meeting room 102 | 103 | 7am Staff picks up 50 bagels and fruit that morning on Pine Street from Myers Bagels and 50 paper bags [https://myersbagels.com/](https://myersbagels.com/) 104 | 105 | 8:00 am: Charter Bus to NYC 106 | 107 | 9:45 am: Stop for 30 min break at Silver Bay, Lake George YMCA 108 | 109 | Snack popcorn 110 | 111 | 10:15 am: Resume trip to I-87. Lunch? 112 | 113 | 3:00 pm-4pm: Explore Battery Park, theme announcement then subway 114 | 115 | 4pm-9pm Open Arms time; Freedom Waiver time or supervised time; 116 | 117 | 4pm: Arrive Hilton Double Tree (350 W 40th st ). Downtime 118 | 119 | 9:00 pm-10pm: Bryant Park w blankets and Chinese food/Middle Eastern food / UN picnic /rolling return 120 | 121 | - Demos at dinner (hackathon) 122 | 123 | 10:30pm: Return hotel 124 | 125 | ## Sunday, July 18 NYC-train 126 | 127 | 8:00-1pm: Free time (suggested ideas: get your dinner) Diner as hub. Museum trip Leave Bags at Hotel? 128 | 129 | 1pm: at Hotel and Day’s theme announcement; hacking starts 130 | 131 | 1:45pm: Depart to train 132 | 133 | 2:20 pm: Everyone at station 134 | 135 | 3:40 pm: Train Departs to Chicago Food - Carry-on Train. 136 | 137 | 4pm to bed: Hacking 138 | 139 | ## Monday, July 19 chicago Superdome train 140 | 141 | 9:30am: Getting ready to debark 142 | 143 | 9:50 am: Train arrives in Chicago @ 9:50 am 144 | 145 | 10:00 am-1pm: River Walk / Woody Jeremy decorate train 146 | 147 | 1:30 Boarding 148 | 149 | 2:00 pm: Train departs Chicago @ 2:00 pm 150 | 151 | START PRIVATE CAR 152 | 153 | 2:00 pm-2:30pm: train tour/settling in music playing:Obliquestra: Clarinet/New Orleans music in Super Dome music times TBD (3 people accordion/clarinet/fiddle 154 | 155 | 3:00 PM-6pm: Hacking/ opt-in activities 156 | 157 | 5:25pm: Picking up Github founder Tom Preston-Werner at Iowa stop 158 | 159 | 6:pm: dinner 1 w music (no laptops) 160 | 161 | 7:30pm: dinner 2 w music 162 | 163 | 8:30pm: fireside chat w Tom / celebrate Tom’s bday (42 students; Tom; limited) 164 | 165 | 10pm: coding / hackathon resumes 166 | 167 | Midnight: Celebration / students only 168 | 169 | ## Tuesday, July 20 superdome train 170 | 171 | 7:15 am: Train arrives Denver, Union Station 172 | - Phony PA announcement by Jeremy to wake up the students 173 | - they see of Handsome Little Devils join 174 | - they have monkey wagon w moving parts like a davinci moving contraption;e Michael and Cole Coach tickets for Mike & Cole coach to get on Train 175 | 176 | 8:05 AM: Train departs Union Station, leaves Denver; 177 | 178 | Major day announcement Breakfast is ala carte 179 | 180 | 9:00 AM- 5pm: Hackathon project demos 181 | 182 | 11am-4pm: Opt-in activities plus hacking; card tricks 183 | 184 | 5pm -Midnight: Music available for 4 hours 185 | 186 | 5:30pm-6:30pm and 7pm-8pm: assigned seating dinner / 2 seatings / (Jeremy/Woody are in tuxedos waiting) 187 | 188 | 8pm-midnight: HackerJazz Lounge opens w hacking in Superdome (Jeremy/Woody) cocktail menu 189 | 190 | Midnight surprise: Jeremy closes the bar; murder w michael and cole 191 | 192 | ## Wednesday, July 21 Superdome train to SF 193 | 194 | 7:00am: Passing through Rockies 195 | 196 | 7:00am-3pm: opt-in activities plus hacking 197 | 198 | 4:15 pm: Charter Bus to Hyatt S.F. Embarcadero / Inner Fire District and Handsome Little Devils leaves train 199 | 200 | 6:00 pm: Ferry Building / get your own dinner 201 | 202 | 7:00 pm: Music in Hotel Lobby 203 | 204 | ## SF Thursday, July 22 San Francisco 205 | 206 | 8:00am - 10:00 am: Get your own breakfast / 207 | 208 | 8:00am- 6:30pm: Open arms day until 6pm 209 | 210 | 10:00 am - 1pm / in Oakland: Cliff Stoll 211 | 212 | 3pm-4:30pm: Vercel meetup w Guillermo! swag and AMA live coding 213 | 214 | 7:00 pm: Dinner Dolores Park for picnic; Quinn of Sourcegraph joining Joe Orach 215 | 216 | 9:30 pm: Ice cream and subway journey back to hotel. Grab lunch for Friday! 217 | 218 | ## Friday, July 23 Amtrak train to Los Angeles 219 | 220 | 6:45 am: Charter Bus from Hyatt to Emeryville Train Station /Hotel breakfast grab/go 221 | 222 | 8:20 am: Amtrak Train departs Emeryville station. Pack Food. 223 | 224 | 9:00am-8:00pm: Hacking / Opt in activities in observation car 225 | 226 | 9:00 pm: Arrive L.A. 227 | 228 | 9:05 pm: Charter Bus to Hotel Erwin / Larry’s Loft for late night pizza and dessert 229 | 230 | ## Saturday, July 24 Los Angeles 231 | 232 | 8:00 am - 9:00 am: Breakfast in hotel meeting room continental 233 | 234 | 9:30 am: Charter Bus to SpaceX / closing ceremonies 235 | 236 | 11:00 am - 3:00 pm: SpaceX 237 | 238 | 4:00 pm - Beach / games / trust activities / go around a circle and people say something 239 | 240 | 7:00 pm: Dinner in sunset / 241 | 242 | ## Sunday, July 25 Last day 243 | 244 | 8:00 am: Charter Bus to LAX 245 | -------------------------------------------------------------------------------- /logistics/video_editorial_notes.md: -------------------------------------------------------------------------------- 1 | **7/8/21** 2 | 3 | Drone? 4 | 5 | Talk with Woody separately about the performers 6 | 7 | Inform students and other folks on train/tours that I'll be there to film - have a plan for Rebecca in SpaceX, money shots 8 | 9 | NYC - LA Hackathon going through rural areas/no internet 10 | 11 | We purchased a server, 60lbs, on board we are creating our own internet called the Zephyrnet 12 | 13 | We want this hackathon to be collaborative, they have to make 500 contributions by LA or everything is erased 14 | 15 | **6/29/21 Video editorial meeting notes** 16 | 17 | 1. Morning of 15th casual interview in the morning 18 | 2. 21st/22nd in SFO.. 1 hour or 2 to get interviews or audio 19 | 20 | Time capsule of the experience 21 | 22 | Photo album of the key moments, how it would feel if i were the student coming and experiencing Vermont, the train, landscape.. Capturing magical moments 23 | 24 | Day to day.. Conversations, projects.. The kids voices need to come through.. They need to teel their story… like how HC works… you give them the platform, they drive it... 25 | 26 | Sprinkled moments of surprise.. Work time and play time 27 | 28 | The audience should be the ones who were on board not marketing to parents, colleges) 29 | 30 | Emotional journey + Physical/Technical journey 31 | 32 | Theme - taking risks and taking an adventure, coming of age 33 | 34 | Coding is really important.. But people are becoming people… 35 | 36 | Show collaborative moments 37 | 38 | Show the group story.. 39 | 40 | Rebecca - id like to interview around 7 students who would be interested in talking to camera.. Some can be confident, some can be shy… just to get some key statements 41 | 42 | Shoot 2-3 kids having a conversation 43 | 44 | We are planning this journey in 1 of the best infrastructure built in America (the path we're taking was the first ones joined and could do cross country) 45 | 46 | Our kids are some of the most technical folks on earth! 47 | 48 | There's no internet on board, so we are challenging them to build stuff "Zephyrnet" 49 | 50 | We should spotlight the things that are real. 51 | 52 | Woody will get stock video of train 53 | 54 | 1 more meeting on July 8, 1:00 pm. 55 | 56 | Shotlist draft 57 | 58 | **In Shelburne / Days 1 and 2:** 59 | 60 | 1. interview with ZRL in HQ office 61 | 62 | 2. HQ office exterior, interiors, quick view of town 63 | 64 | 3. Hack Club team group shot 65 | 66 | 4. Some airport arrivals (we can coordinate a time when a group is arriving) 67 | 68 | 5. HQ lunch party 69 | 70 | 6. A shot of Zach, Max, Christina, Matthew, Zfogg with all students in beach 71 | 72 | 7. Campfire dinner at Mt. Philo 73 | 74 | \*The team will have a hackathon/activity meeting on Tuesday, so we will have more details then. 75 | 76 | **New York City:** 77 | 78 | 1. Quintessential NYC shot.. either in Times square (where the hotel is super near) or a place where there is a view of the Statue of liberty maybe? 79 | 80 | 2. Students doing something that shows NYC.. maybe eating hotdogs at a hotdog stand? 81 | 82 | **On the train:** 83 | 84 | 1. Performers on the train platform and on the train 85 | 86 | 2. Tom Preston Werner interview and interacting with kids 87 | 88 | 3. Scenic shots from the train 89 | 90 | 4. Talk/shots of Steve Sandberg (owner of private train) when he talks to students about the train history 91 | 92 | **San Francisco:** 93 | 94 | 1. The Grand Hyatt is right by the Bart and the Ferry. Might be nice to take some shots of students taking the bart, and definitely a group of students/HQ team maybe walking on the Ferry 95 | 96 | 2. This will be the most beautiful hotel we've booked. Interior shots of the lobby/atrium is a must, hopefully with students. If we shoot students in rooms as well, might be nice to take it in SF. 97 | 98 | 3. Not sure if kids want to go to the Exploratorium, might have great shots too 99 | 100 | **Marina del Rey:** 101 | 102 | 1. Hotel is right by the bay, shoot a group of students/HC staff by the beach! 103 | 104 | Shoot departures? -------------------------------------------------------------------------------- /logistics/webinar_notes.md: -------------------------------------------------------------------------------- 1 | # Webinar Notes! 2 | 3 | _These are a bunch of notes from questions that came up during our parent webinars_ 4 | 5 | ## 6/3/21 6 | 7 | ### Vaccinations haven’t started yet in Greece, US doesn’t accept trips from Greece yet 8 | 9 | We haven’t put a hard stop on the trip geographically, however that being said, we are requiring everyone to be fully vaccinated for the safety of the trip. As for visas… just to set expectations, a lot of the consulates are closed now.. Logistics restraint… we’ll be hosting online stuff from the summer. Greece has a visa waiver for the US… 10 | 11 | ### Key components of the trip 12 | 13 | 1. Burlington Hack Club HQ, activities, 14 | 15 | 2. NYC 16 | 17 | 3. Chicago hackathon.. No competition… more like a coding festival (no internet it will force folks to socialize and collaborate) We’ll have guests and performers 18 | 19 | 4. LA 20 | 21 | ### 3 types of travel 22 | 23 | 1. Chartered bus - everyone is vaccinated 24 | 25 | 2. Amtrak - not everyone, masks required 26 | 27 | 3. Private car - everyone vaccinated, no masks required 28 | 29 | ### Can students join at the stopovers? 30 | 31 | Unfortunately no, this is an all or nothing trip for safety and logistics reasons 32 | 33 | ### What can students bring? 34 | 35 | Laptop and they can bring anything they want for projects but we are keeping the theme a secret 36 | 37 | ### How is this totally free? 38 | 39 | Individual philanthropists 40 | 41 | ### 2 Experiences 42 | 43 | 1. With chaperone 44 | 45 | 2. Freedom waiver - student has more autonomy 46 | 47 | ## 6/2/21 48 | 49 | We are focusing on soul, experience and safety <3 50 | 51 | ### What’s your criteria to select who would be on the train? 52 | 53 | Those who will get a lot out of being on this trip - We’re looking at the entire sense of people who are coming and will have incredible conversations together 54 | 55 | ### Will there be additional applications/interviews for students before selection is made? 56 | 57 | Registration of interest form.. Deadline this Friday, announcement next wednesday, June 7 58 | 59 | Once students are selected, they will be filling out more info 60 | 61 | ### Will there be a curriculum for the trip or will it be more unstructured? 62 | 63 | This will be the longest Hackathon ever done, no prizes, no internet 64 | 65 | We want to foster an environment to talk and work together 66 | 67 | ### Is it 42 selectees or 42 including chaperones 68 | 69 | It’s 42 students plus 6:1 ratio staff 70 | 71 | ### Trip is July 15-25 72 | 73 | 3 nights on the train, all are in hotels 2 to a room and gender separated, on the train they will be gender separated as well 74 | 75 | ### Are chaperones vaccinated? 76 | 77 | All chaperones are vaccinated 78 | 79 | ### Should students bring their laptops? 80 | 81 | Yes 82 | 83 | ### Can they bring musical instruments and software? 84 | 85 | We highly encourage musical instruments! Bring software 86 | 87 | ### Tell us about the stops 88 | 89 | NY, Chicago, SF and LA 90 | 91 | ### How many students have applied so far? 92 | 93 | Not released, 94 | 95 | ### What about food fare 96 | 97 | We care a lot about being accommodating to dietary constraints 98 | 99 | ### Who are the political exiles? 100 | 101 | We have a variety of people getting on and off the trip. Or philanthropist is coming on board, Tom Preston Werner and many more secret guests :) 102 | 103 | ### What do you expect the ratio will be between girls and boys? 104 | 105 | We’re expecting them to be about a third 106 | 107 | ### Will you be reviewing students hack club participation in addition to their registration? 108 | 109 | We want to invite students who will get a tremendous amount of benefit from this trip… and if they don't get chosen 110 | 111 | ### Will international students be able to join? 112 | 113 | We are open to it… you have to be vaccinated (you need to have 2 doses and have 2 week quarantine), we will not help with visas (most consulates are closed), and for international flights there might be a cap bec international flights are so expensive. We’re not closed to it, but from a logistics point of view, it just seems more constrained. 114 | 115 | ### Will students wear masks on the train 116 | 117 | NY - Chicago masks required on Amtrak 118 | 119 | Chicago - SF not required on private train because everyone will be vaccinated 120 | 121 | SF - LA masks required on Amtrak 122 | 123 | ### Would you speak about medical care in case of emergency or illness? 124 | 125 | We take medical care very seriously 126 | 127 | Every stop has world class medical facilities/top notch hospitals Burlington, NYC, Chicago, SF, LA 128 | 129 | Amtrak has thought extensively about how to make train travel very safe… how to handle medical emergencies .. staff are certified for emergency situations and we have 5 train staff who are well trained 130 | 131 | Airport pickup and drop off.. We have a very small airport, they will not get lost. 132 | 133 | ## 5/31/21 134 | 135 | ### What would be the set up for lodging? 136 | 137 | Beds will be separated by gender on the train and in hotels 138 | 139 | ### No connectivity, how do we reach out to the kids? 140 | 141 | NYC-Chicago, Chicago-SF, SF-LA. Trains will have infrastructure constraint, hotel stopovers will have internet. Tina will be in Burlington as a dedicated point of contact for parents. 142 | 143 | ### Age range 144 | 145 | 13-17 146 | 147 | ### Will kids be fully vaccinated? 148 | 149 | Yes 150 | 151 | ### Have you organized events like this before? 152 | 153 | 1. In person hackathons every year 154 | 155 | 2. 2 years ago.. Flagship Canada/Mexico.. Flights housing covered, 3 day conference -Dedicated point of contact, pre-event calls 156 | 157 | ### Will we know who the other students will be attending? 158 | 159 | Yes 160 | 161 | ### Will they wear masks? 162 | 163 | On private train no, on Amtrak yes. In cities, we’ll follow city guidelines 164 | 165 | ### Will they be chaperoned, how will they be travelling? 166 | 167 | We’ll be giving a waiver for parents if they want to give their child freedom blocks 168 | 169 | ### How many total students? 170 | 171 | 42 172 | 173 | ### Medical plan? Doctor? 174 | 175 | Best hospitals in the world in all of our city stops. Will there be a doctor on the train? Amtrak has well-trained staff for emergencies 176 | 177 | ### What programs/technology are going to be used?… 178 | 179 | we do not push languages/programs as a nonprofit.. We want to offer the best experience for kids, maybe push them past their comfort levels (ie hardware) 180 | 181 | ### How much is the trip? 182 | 183 | It’s free, we’re lucky to have philanthropists to support Hack Club 184 | 185 | Hacker Zephyr is only going to happen once. Every year we do something new (no annual conference).. Every year is a special milestone.. When we think about choosing the 42.. We want the kids to get the most out of the trip 186 | 187 | We’ll also be having online events 188 | -------------------------------------------------------------------------------- /notes/2021-05-05_call_with_amtrak.md: -------------------------------------------------------------------------------- 1 | _Exported from Max's personal notes_ 2 | 3 | # Call with Amtrak 4 | 5 | _Notes are from a call between msw & Amtrak's booking line_ 6 | 7 | * Connection in Chicago 8 | * Arrive evening of 14th 9 | * 13-17 needs 6-1 chaperone 10 | * $347.40 coach LA Chicago 11 | * Roomette is up to 2 people 12 | * Large room is up to 3 people 13 | * $1507 roomette (includes meal) 14 | * Large room is already booked 15 | * Family room only 1 is free 16 | * Days with 10 roomette s 17 | * 16 july 18 | * 18 july 19 | * 19th july 20 | * 21st july 21 | * 23rd july 22 | * Maximum group number is 10 roomette from June to August 23 | * After august we can take 12 rooms 24 | * Zephyr route? 25 | * Open for 10 rooms on almost every day 26 | * surfliner doesn’t go to emmeryvale 27 | * Whole route coach is $282.60 28 | * Whole route with 10 coach is $1005.04 for each coach 29 | 30 | **Recommended by Amtrak rep:** 31 | 32 | Private cars “Private rail rental” -------------------------------------------------------------------------------- /notes/2021-05-25_theme_brainstorm.md: -------------------------------------------------------------------------------- 1 | _Exported from Max's personal notes_ 2 | 3 | # The train journey 4 | 5 | * You hop off at Vermont airport 6 | * Hang out in Vermont 7 | * Get creamies 8 | * Go on a walk Philo or Philo farms 9 | * Puzzle 10 | * Bring people to HQ & have them send a letter to themselves 11 | * Bus or van to get people to places in VT 12 | * Write a letter to yourself in a sealed envelope that is sent to LA 13 | * BBQ at Mt. Philo 14 | * On train to New York, we announce there will be a hackathon & take hackathon prompts 15 | * Everyone votes on the theme together 16 | * No wifi 17 | * Just like early travelers 18 | * We have a hack clubber file sharing server 19 | * We have a router 20 | * Official memos are sent out in typed paper sheets that get passed out 21 | * Our own sonos for audio 22 | * Everyone gets a disposable camera that we’ll develop afterwards 23 | 24 | - [ ] power/electricity 25 | - [ ] PA system? 26 | - [ ] Access to the trains for setup? 27 | - [ ] access to the trains for tear down? -------------------------------------------------------------------------------- /notes/2021-05-27_planning_announcement_call.md: -------------------------------------------------------------------------------- 1 | _Exported from Max's personal notes_ 2 | 3 | # Talk to Zach about the Saturday (launch) call 4 | 5 | _In attendance: zrl, msw_ 6 | 7 | - Everyone hops into a call 8 | - Recording through OBS 9 | - Camera turns on & we talk about how over the last 1.5 years everyone has been stuck inside 10 | - This summer, Hack Club is getting off Zoom 11 | - In the last 2 weeks of summer, ~30 hack clubbers will travel the transcontinental railroad 12 | - They’ll have the opportunity to turn the avatars and usernames into irl faces and names 13 | - They’ll hack on / ship projects together 14 | - They’ll meet a billionaire, Russian political exiles, an acrobat, and more 15 | - Tom’s 42nd birthday was 2 days ago, and as a present to Hack Club he’ll be helping pay for the trip— no one will have to cover their travel/food etc. 16 | - To apply, head to all-aboard.hackclub.com 17 | - Resources available: 18 | - Parent flyer 19 | - Sam Video 20 | - This is all we can announce at the moment, but we’ll be revealing more about our plans for everyone else in the coming weeks -------------------------------------------------------------------------------- /notes/2021-05-27_zephyr_manifesto.md: -------------------------------------------------------------------------------- 1 | _Exported from Max's personal notes_ 2 | 3 | # Zephyr Manifesto 4 | 5 | _This was originally written to go on the signup page at zephyr.hackclub.com_ 6 | 7 | Every summer Hack Club does something special. 8 | 9 | In 2019 we brought 75 Hack Club leaders to San Francisco for Flagship. Last year, we gave a student $50k to distribute as hardware grants, launched scrapbook, and hosted the summer of making. 10 | 11 | This year, we’re chartering a train across America, and hosting the world’s longest hackathon (in miles). 12 | 13 | We’re starting at Hack Club HQ in Burlington Vermont, heading south to New York City, then crossing the rockies on our way to San Francisco, and end in Los Angeles. 14 | 15 | On the trip you’ll code, make music, build, and write poetry. On the train you’ll meet startup founders, an acrobat, 3 political exiles, and a philosopher. 16 | 17 | This trip is a gift from Hack Club to you and asks nothing in return. We want this to be a special, eclectic, and thought-provoking journey that you’ll remember for the rest of your life. 18 | 19 | If you’re interested in joining us, please register your interest below. We are trying to fit as many Hack Clubbers as we can on The Hacker Zephyr. 20 | 21 | Zach -------------------------------------------------------------------------------- /notes/2021-05-28_pre-zephyr_email.md: -------------------------------------------------------------------------------- 1 | _Exported from Max's personal notes_ 2 | 3 | # Pre-Zephyr Email to Slack members 4 | 5 | Hey everyone, you’re getting this because you’re on the Hack Club Slack. 6 | 7 | Summer is almost upon us. Within the next couple weeks to month, the daily commitment of attending school will end. 8 | 9 | When we started this school year, most people were attending school remotely. Many had only partial school weeks. 10 | 11 | Hack Club itself became remote— we provided zoom accounts to our clubs and workshop bounties for remote contributions. Instead of most activity happening IRL clubs with collaboration over Slack, all activity shifted to Slack. 12 | 13 | [slack activity graph] 14 | 15 | At least in the US we’re starting to feel things shift back to normal — it’s the end of the end of the world. Hopefully it will feel that way internationally soon. 16 | 17 | We’ve been dreaming of this moment for a long time at HQ, and we’re exited to announce our summer plans. 18 | 19 | We’ll get together this Saturday (6 PM Eastern / 3 PM Pacific) to spread the news with you. Anyone in the Slack is free to join the call, but the news will only directly impact those of you **who can be in the US in the last 2 weeks of July**. 20 | 21 | --- 22 | 23 | Hey everyone, you’re getting this because you’re on the Hack Club Slack. 24 | 25 | I’ve got some special news about Hack Club’s summer plans & wanted to invite you to our call, Saturday (6 PM Eastern / 3 PM Pacific) where we’ll announce it. Anyone in the Slack is free to join the call, but the news will only directly impact those of you **who can be in the US in the last 2 weeks of July**. 26 | 27 | I can’t give away anything else until the call, but I want to say we’ve at HQ have been dreaming of this moment for a long time now. At least in the US we’re starting to feel things shift back to normal — it’s the end of the end of the world. -------------------------------------------------------------------------------- /notes/2021-06-02_the_thinking_on_gifts.md: -------------------------------------------------------------------------------- 1 | _Exported from Max's personal notes_ 2 | 3 | # The thinking on gifts 4 | 5 | _This was never put on Slack because we decided it didn't feel right to post in the moment. The doc is an early draft– some sentences aren't complete, spelling errors, etc._ 6 | 7 | When we were figuring out the messaging for the launch post, one thing we were stuck on was how to make it clear people didn’t have to pay. We went through a bunch of options(ex. “Free”, “all expenses paid”) , but none were exactly what we wanted to communicate for different reasons. Ultimately Claire came up with the wording we chose: “the Zephyr is a gift to the community— no participant has to anything for any part of it”. Since then I’ve seen some ambiguity spring up: 8 | 9 | What do we mean by gift? It’s something you don’t hVe to fee indebted for. **This isn’t something you pay to get**, and **it’s not something you get as payment** (Ie. For being active in the slack). 10 | 11 | This trip is not for paying back to the most active community members. We’re going to select based on what we think will make the best train experience, and that will likely correlate with slack activity, but doing things for us or hanging out in slack isn’t a requirement. 12 | 13 | Do I deserve it? 14 | 15 | If you’re reading this, chances are the answer is yes. This Slack is full of wonderful people. Because this is a general message going out and not a DM I can’t be more specific to you, dear reader. Life has enough stress outside of self-doubt. Go ahead and apply— if you don’t get it there’s nothing wrong with you, we just found someone who needed the experience more. 16 | 17 | Who *needs* this trip? 18 | 19 | That’s harder to answer. To be honest we’re still figuring that out. I personally had a blast every-time I traveled 20 | 21 | --- 22 | I heard some hesitation from people around applying b/c of the whole “gift” wording of the trip. Just to clarify: it’s something you don’t have to feel indebted for. **This isn’t something you pay to get**, and **it’s not something you get as payment**. 23 | 24 | This trip is not for paying back to the most active community members. We’re going to select based on what we think will make the best train experience, and that will likely correlate with slack activity, but doing things for us or hanging out in slack isn’t a requirement. 25 | 26 | *Do I deserve it?* If you’re reading this, chances are the answer is yes. This Slack is full of wonderful people. Because this is a general message going out and not a DM I can’t be more specific to you, dear reader. Life has enough stress outside of self-doubt. Go ahead and apply— if you don’t get in, don’t think it’s because you did anything wrong, or didn’t do anything enough. It’s only because of a splash of luck, a bit of fate, and it’s possible someone else may have never been outside of their town before. -------------------------------------------------------------------------------- /notes/2021-06-03_international_travel.md: -------------------------------------------------------------------------------- 1 | _Exported from Max's personal notes_ 2 | 3 | # International travel 4 | 5 | _For posting in Slack once country list is filled out_ 6 | 7 | Hey all! Wanted to make a quick post for anyone international who’s eyes glazed over when they googled for visa options. Here’s what to do sorted by what country you’re in: 8 | 9 | Are you a citizen of one these countries and don’t have a US Visa? 10 | ``` 11 | Andorra 🇦🇩 12 | Australia 🇦🇺 13 | Brunei 🇧🇳 14 | Chile 🇨🇱 15 | Japan 🇯🇵 16 | Monaco 🇲🇨 17 | New Zealand 🇳🇿 18 | San Marino 🇸🇲 19 | Singapore 🇸🇬 20 | South Korea 🇰🇷 21 | Taiwan 🇹🇼 22 | ``` 23 | **You don’t need to do anything for a visa before you’re invited to the Zephyr**. Once you’re accepted we’ll help you file for something called ESTA– if approved, it’ll let you come into the US. There’s no need to apply for it now, and if you apply after you’re invited to the Zephyr we’ll pay the application fees. Oh, and make sure to not go to [one of these countries 2 weeks before the trip](https://gist.github.com/maxwofford/78836bfda410a8240d797affff229466) 24 | 25 | Are you a citizen of these countries and don’t have a US Visa? 26 | ``` 27 | Austria 🇦🇹 28 | Belgium 🇧🇪 29 | Czech Republic 🇨🇿 30 | Denmark 🇩🇰 31 | Estonia 🇪🇪 32 | Finland 🇫🇮 33 | France 🇫🇷 34 | Germany 🇩🇪 35 | Greece 🇬🇷 36 | Hungary 🇭🇺 37 | Iceland 🇮🇸 38 | Ireland 🇮🇪 39 | Italy 🇮🇹 40 | Latvia 🇱🇻 41 | Liechtenstein 🇱🇮 42 | Lithuania 🇱🇹 43 | Luxembourg 🇱🇺 44 | Netherlands 🇳🇱 45 | Norway 🇳🇴 46 | Poland 🇵🇱 47 | Portugal 🇵🇹 48 | Slovakia 🇸🇰 49 | Slovenia 🇸🇮 50 | Spain 🇪🇸 51 | Sweden 🇸🇪 52 | Switzerland 🇨🇭 53 | United Kingdom 🇬🇧 54 | ``` 55 | **You don’t need to do anything for a visa before you’re invited to the Zephyr.** You should still apply, but I want to temper your expectations: there’s a ban on flying directly from these countries. We’ll be in touch about options, but either the ban will have to be lifted, or you’ll have to arrange staying in another country (not on this list) for 2 weeks before the trip. **Please don’t set anything in stone before you receive an invite**. For the time being, just focus on applying & getting your vaccination if available. 56 | 57 | Are you a citizen in another country & don’t have a US Visa? You should still register your interest, but we don’t have a mechanism to get you into the country right now. The regular visa process requires consulates, and those are shut down due to COVID. If you’re invited we’ll do whatever we can to help you get here. 58 | -------------------------------------------------------------------------------- /notes/2021-06-16_freedom_waiver.md: -------------------------------------------------------------------------------- 1 | _Exported from Max's personal notes_ 2 | 3 | # Freedom waiver 4 | 5 | _How do we communicate the freedom/supervision waiver to attendees/parents?_ 6 | 7 | During our stops in various cities, we have blocks of “exploration time” for participants to take in the sights/sounds/smells of a city they’ve never been in. Many members of our own team remember fondly the first times we were let loose to explore in a city, and we’d like to provide a similar experience to participants. 8 | 9 | Participants with their supervision waiver signed, or 18 and above, will have the chance to explore the city unsupervised. We will have geo-limits and curfew, because we have a train to catch. 10 | 11 | Those who are under 18 without the waiver signed will need to stay under staff supervision during our exploration time. Staff members will break into groups of participants and travel in each city together. -------------------------------------------------------------------------------- /notes/2021-06-23_invites_have_gone_out.md: -------------------------------------------------------------------------------- 1 | _Exported from Max's personal notes_ 2 | 3 | # Invites have gone out post 4 | 5 | _This is a draft to be posted once we have confirmation from the last invitees._ 6 | 7 | Hey all! It’s Wednesday, June 23rd. All of the invites for the Hacker Zephyr have gone out. 8 | 9 | For those that haven’t received an invite, please don’t be hard on yourself. This isn’t a measure of value or worth, but an artifact of physical constrains. Each and every staff member at HQ had a group of people they would have loved to see invited but couldn’t. 10 | 11 | The list of invites will be published once all invitees have their documents & travel plans finalized. Please hang tight a little longer before asking people if they were invited. 12 | 13 | Lastly, we’ve had some questions about the invitation packet. We’ll publish it when we have time. -------------------------------------------------------------------------------- /notes/2021-06-29_call_with_steve.md: -------------------------------------------------------------------------------- 1 | _Exported from Max's personal notes_ 2 | 3 | # Call with Steve 4 | 5 | _In attendance: Steve, Zfogg, Max_ 6 | 7 | - Cables we’re allowed to bring 8 | - Ethernet cable is allowed, but ends are sealed, we’ll have to figure out something to do here, but they can accomodate 9 | - Power? Are there outlets in the sleepers? 10 | - Each room has 1-2 plugs, we can give splitters with ubs 11 | - Cars have battery backup, but Steve recommends bringing our own 12 | - Train power is consistent, but may switch power at some stations (off for 15 sec before coming back on) 13 | - Walls in super dome are aluminum and wood 14 | - Router in each sleeper car might work 15 | - Air-conditioning in super dome? 16 | - There’s direct sunlight, but it’s air-conditioned 17 | - Hottest points of the trip are daylight from Denver to salt lake 18 | - No direct access to AC, but we can get Steve & his staff to do it 19 | - Limited water (might need to give guidelines on taking military showers) 20 | - Chicago -> Denver 21 | - Denver -> SF 22 | - Will need to assign rooms to participants (recommendation from Steve) 23 | - Car diminsions 24 | - 80 ft long, 9 ft wide 25 | - 6 ft, 6in high sleepers 26 | - 5 ft, 10in high super dome 27 | - Bottom of super dome is all staff area 28 | - How do buffets work for a group this size? 29 | - They can handle both, but prefer serving food 30 | - We can ceiling mount 31 | - They have some mounting brackets still up 32 | - Video walkthrough (Steve recommends checking out Youtube) 33 | - We can get access to the train up to a day before, but need to give Steve the list -------------------------------------------------------------------------------- /notes/2021-06-29_unsupervised_time.md: -------------------------------------------------------------------------------- 1 | _Exported from Max's personal notes_ 2 | 3 | # Unsupervised time 4 | 5 | Couple cases: 6 | 7 | **What I think it should be in my head:** 8 | 9 | - Roam free, sticking with a group is optional 10 | - Drive to explore comes from self, kick-started by contributing an artifact to the zephyr net 11 | - treasure hunt / list of New York locations to explore (ex. National Geographic map of Disneyland) 12 | - meet back at hotel before dinner & head out to dinner together. Built in padding for stragglers 13 | - 6 are assigned to staff, have a home-base group of staff that checks in with each hacker every 2 hours 14 | 15 | **What I’ve heard from others:** 16 | 17 | - Use buddy system (doesn’t have to be 2, just a group of friends) 18 | - Provide a treasure hunt or recommended list of locations/activities for people who don’t naturally start exploring 19 | 20 | **Experience for those without waivers:** 21 | 22 | - Small groups (7-8 if we don’t have any waivers signed, 2-3 if we have most waivers signed) go out with staff supervision 23 | - Location sharing through phone -------------------------------------------------------------------------------- /notes/2021-06-30_hackerland.md: -------------------------------------------------------------------------------- 1 | # Hackerland 2 | 3 | 4 | Goal onboard the Zephyr: Create Hackerland. A world different then our own where imaginations can be big, projects are started (sometimes finished), ambitious & imaginative. People are learning from each other. Attendees are humble. It’s paradise for hackers. 5 | 6 | Hackerland... 7 | 8 | - Is Kind 9 | 10 | - Makes no assumptions & doesn’t treat people 11 | 12 | - Doesn’t care about status, credentials, degrees 13 | 14 | - Wins are celebrated (no matter how small) 15 | 16 | - Encourages independence 17 | 18 | - Is not reductive & encourages romanticism 19 | 20 | - Already exists… it’s a place all hackers have been to, whether at 3am working on OSS, working at a company with an innovative idea, or a state of mind while working on a project. It’s all around us in the real world, and the goal of the zephyr is to create hackerland for the participants 21 | 22 | Structure / rituals 23 | 24 | - Rituals provide structure to the day 25 | 26 | - Standups with your crew in morning 27 | 28 | - Feed yourself is a ritual 29 | 30 | - Dinner & Demos is a ritual 31 | 32 | - Contributing an artifact to the zephyr/zephyrnet is a ritual 33 | 34 | Standups in morning start in NYC. Your goal for NYC should be a physical contribution to the Zephyrnet. You physically touch the Atlantic ocean to start the event & have all of today to do it. Bring an artifact to dinner. The theme is “biggest apple”. You present your artifact at dinner demos. 35 | 36 | Public & private artifacts allowed (separate public & private contribution bags) 37 | 38 | New theme ideas are generated at dinner & put into conductor hat, to be announced the next day at breakfast. Every day has a new theme & contributes to the zephyrnet. 39 | 40 | Story time at night. Ex: 10 minute monologue from shakespeare in battery park. 41 | 42 | Multi-day projects are fine, but discouraged. 43 | 44 | Theme changes on every logical stop (NYC -> Chicago, Chicago -> SF, etc.) 45 | -------------------------------------------------------------------------------- /notes/2021-07-02_open_community_call.md: -------------------------------------------------------------------------------- 1 | _These are notes from a call on July 2nd, 2021, which was run to address questions/concerns from community members about Zephyr._ 2 | 3 | ### Invitation, sent by @zrl on July 2nd, 2:35pm 4 | [Original Slack Message](https://hackclub.slack.com/archives/CNMU9L92Q/p1625254533458400) 5 | > Hey everyone, I’m going to host a call to talk about the Zephyr at 5 PM ET for anyone who would like to join (1.5 hours from now). I just had a good call with @sarthak and we thought it’d be good to do an open call for the community. 6 | > 7 | > If you’ve had concerns, feel things weren’t fair, or that HQ hasn’t been acting with the best intentions, please consider joining. I am sincere in my desire to make Hack Club as good as possible and would appreciate a chance to hear from you, share more about how we’ve been thinking about things, and hopefully come to amends. Please trust me that joining will not cause any direct or indirect backlash from me or any other staff members. I really, genuinely, want to speak with you. 8 | > 9 | > I’ll post the Zoom link here at 5 PM ET. You can also DM @sarthak if you’d like to get a calendar invite with the Zoom link ahead of time. I wish I could do later tonight, with more notice, but I have some existing Hack Club commitments we have to schedule around. And we can’t do next week because I will need to fully focus on finalizing the Zephyr’s schedule. Hope to see you soon! 10 | 11 | 12 | ### Notes 13 | --- 14 | Benjamin S: Confusion around how people were selected, specifically how 'who needs it the most' was decided 15 | - A lot of personal factors that may be at play aren't things that people generally share publically 16 | - HQ said that the registration of interest wouldn't be a huge factor in decisions so I didn't make a big deal of it - I would've written more if I knew that it would play a bigger part in the decisions 17 | 18 | 19 | Zach: 20 | - 6 people involved with decisions - Sam, Matthew, Claire, zfogg, zrl, Max 21 | - Invitation decisions included different factors for each individual 22 | - People weren't ranked by on Slack activity/tech ability etc. 23 | - We didn't place emphasis on the interest form because we didn't want people to just BS on an application like college apps 24 | - We had daily 1-1.5hr meetings discussing registrations of interest and deciding who to invite 25 | - The end goal is to see who would get and contribute the most to the trip and to Hack Club - because of this, many awesome people didn't get an invite 26 | - "Great communities are built on great leaders" 27 | - Invitations or lack thereof are not judgements of character 28 | --- 29 | Kunal: What constraints led to the 2-week invitation process? 30 | Zach: 31 | - We need to get names locked in ASAP since confirmation that this could even happen was only received for one of the routes 4 days before the announcement, so we're already under a bit of a time crunch 32 | - We also need time to be thoughtful with decisions while dealing with travel restrictions/vaccinations/other external factors 33 | - 200-250 hours was spent between the 6 of us on evaluating individuals 34 | --- 35 | Mukul: One thing that didn't feel great for me was inviting people who didn't register their interest - did this happen? If so I think HQ could have done a better job of communicating that registering wasn't the sole way to get onto the Zephyr 36 | 37 | Zach: 38 | - It was my call to extend invites to 1-2 people who didn't register. They ended up not being able to make it 39 | - We did that because some people may feel like they may not be worthy to join, so they wouldn't even consider filling out the interest form 40 | - The invites were extended at the very end of the invitation process, registrations were the main pool for extending invitations 41 | - We thought there was already some precedence for this with other programs 42 | - Everyone currently on the Zephyr filled out the interest form 43 | 44 | Mukul: It might have been good to be more upfront and do a better job of communicating that to help people understand your rationale 45 | 46 | Zach: I agree we should have been clear on that from the get go, but it was a decision made later in the invitation process which was somewhat overshadowed by other things that needed to be handled 47 | 48 | --- 49 | Jason: I think a lot of people felt that they had a fairly high chance of being able to go on the Zephyr because they were active in the community. I think some of the messaging around zephyr wasn't ideal for what is inevitably a limited experience 50 | 51 | Zach: 52 | - I've seen a few confessions about this, and this is a difficult problem that I've been thinking about as well 53 | - All of our messaging made it clear that only 42 people would be able to come because of physical constraints - if we could bring more people we would 54 | - We aren't revealing the number of people who registered interest because we don't want people trying to calculate a percentage of how likely they are to be invited - that's not how this should work, and we don't want people not to apply just because they thought it wasn't likely that they'd get in 55 | --- 56 | Jonathan: Is there any way that people who didn't make the Zephyr can help take some pressure off HQ? 57 | 58 | Zach: 59 | - I'm not asking for sympathy, but empathy 60 | - There are a lot of ways we can improve and it really helps to hear feedback from people 61 | - It would be great to see more people coming together and running online events - we already have a group of hackers who are already working on launching summer events this week 62 | 63 | Hugo: It would be great to have more staff support for online events this summer 64 | 65 | Zach: 66 | - It's just not feasible in terms of human resources right now since everyone is working on Zephyr 67 | - We've had to bring on a few people to help with Zephyr logistics 68 | - We'd like to hire more people but it's difficult because of costs, and most applicants can get much better compensation/benefits elsewhere so attracting talent is difficult 69 | --- 70 | Jason: I've seen some people say they wanted to see updates from the Zephyr on Slack, other people said they didn't want to see them - how should invitees go about discussing Zephyr or sharing pictures on Slack, if at all 71 | 72 | Zach: 73 | - I think it's a great idea to share the experience with everyone on the Slack, we want this to have an impact on the community as a whole 74 | - Be considerate of others and don't brag or flex 75 | -------------------------------------------------------------------------------- /notes/README.md: -------------------------------------------------------------------------------- 1 | # Notes 2 | 3 | This is a directory of notes / drafts / meeting minutes that we've open-sourced. -------------------------------------------------------------------------------- /slack/2021-05-26_slack_meeting_announcement.md: -------------------------------------------------------------------------------- 1 | [_Posted in Slack here_](https://hackclub.slack.com/archives/C0266FRGT/p1622070025076300) 2 | 3 | Gather ‘round hacker-folk, your attention please! 4 | 5 | Some special news has come our way, and we’d like to share these good-tidings with everyone out there. 6 | 7 | We’ll get together this Saturday (6 PM Eastern :mountain: / 3 PM Pacific :boat:) to spread the news with you. Anyone in the Slack is free to join the call, but the news will only directly impact those of you who can be in the US in the last 2 weeks of July. Keep your eyes trained on :twitter: for clues. 8 | 9 | Please react to this message with a :admission_tickets: to reserve your spot on the call. An attendant will stop with a ticket punch & they’ll give further details in DMs. -------------------------------------------------------------------------------- /slack/2021-06-02_slack_announcement.md: -------------------------------------------------------------------------------- 1 | [_Posted in Slack here_](https://hackclub.slack.com/archives/C0266FRGT/p1622678041412900) 2 | 3 | For those who couldn't make it, **this summer we're chartering a train:** **_The Hacker Zephyr_**. 4 | 5 | After 40+ meetings with groups in America’s train industry, we're sending 42 Hack Clubbers on a 10 day voyage from Hack Club HQ in Burlington, Vermont to Los Angeles, California, where we'll end at SpaceX.Onboard, we're hosting the world's longest hackathon on land: 3,502 miles long. _The Hacker Zephyr_ will take place from July 15th to July 25th and will stop in New York City, San Francisco, and Los Angeles**_._** 6 | 7 | Together, we'll cross the Great Plains, wind through the Rocky Mountains, follow the coast of California, and more. This trip is a gift from Hack Club to you and asks nothing in return. We want this to be a special adventure that you'll remember for the rest of your life. 8 | 9 | [@mischievous-msw 𓁢](https://hackclub.slack.com/team/U0C7B14Q3), [@sampoder](https://hackclub.slack.com/team/USNPNJXNX), and [@server-wranglin' zachary](https://hackclub.slack.com/team/U01DV5F30CF) put together [https://zephyr.hackclub.com](https://zephyr.hackclub.com/) with full details. 10 | 11 | Registrations of interest are open now on the website and close **this Friday, at 11:59 PM Pacific**. 12 | 13 | Even if you're not sure you can make it, please still consider registering interest - doing so is not a commitment.The first invites will start going out next Wednesday (June 9th), and will be sent over a 2 week period. Join us in [#zephyr](https://hackclub.slack.com/archives/C023JP4JQEM), [#zephyr-questions](https://hackclub.slack.com/archives/C0245M24X96), and consider sharing the parent packet with your folks: [https://hack.af/zephyr-parents](https://hack.af/zephyr-parents). When I did this trip for the first time 2 years ago, it was deeply meaningful and something I'll never forget. I hope you can make it. 14 | 15 | ![](2021-06-02_slack_announcement_images/full.png) -------------------------------------------------------------------------------- /slack/2021-06-02_slack_announcement_images: -------------------------------------------------------------------------------- 1 | ../assets/train_valley/announcement_cards/ -------------------------------------------------------------------------------- /slack/2021-06-09_slack_invites_announcement.md: -------------------------------------------------------------------------------- 1 | [_Posted in Slack here_](https://hackclub.slack.com/archives/C0245M24X96/p1623268777014800) 2 | 3 | It's Wednesday the 9th of June. On this day in history, Roman Emperor Nero married. This was also the day he committed suicide. But that doesn’t matter to you, does it? 4 | 5 | 12 days ago, after months of planning, we shared [The Hacker Zephyr](https://zephyr.hackclub.com) with all of you. 6 | 7 | Today, our first invites go out. Before you begin refreshing your inboxes, we want to share a bit about the process. 8 | 9 | 1. **Rolling invites:** Not all invitations go out today! In fact, _very few_ will. Most invitations will trickle out over the next two weeks. We are thoroughly considering every person who registered interest, and that takes time. If you don't get anything today (you probably _won’t_), don't stress about it. It doesn't mean anything! We’ll put the word out once all the spaces are filled and confirmed. Stay tuned ~ 10 | 2. **Invitation etiquette:** Hack Clubbers who are invited are expected to handle their invitations with class and grace. We’re asking invitation recipients to _not_ share they’ve been invited just yet. _Please don’t ask other Hack Clubbers about their status:_ they’re not allowed to share, and you'll be putting them in an uncomfortable spot. We’re doing this to keep things positive and prevent misunderstandings. After every spot is confirmed, we’ll send an “all clear” so participants can disclose their invitation. 11 | 3. **From Hack Club, with love:** We simply can't invite everyone due to hard physical limits. See @melody’s [posts for more on why](https://hackclub.slack.com/archives/C023JP4JQEM/p1622430831266600?thread_ts=1622402251.494600&cid=C023JP4JQEM). We pushed train capacity to its absolute limit and fought for more seats every step of the way. I can’t express how much of our hearts we’ve put into The Hacker Zephyr, as well as late nights, long discussions, and more phone calls than any of us can count. With all of this in mind, if you do receive an invite then please treasure it. And if you don’t, please understand that this isn’t a reflection of your worth. We’d have you if we could. 12 | 13 | I’m happy to answer any questions posted in #zephyr-questions or [zephyr@hackclub.com](mailto:zephyr@hackclub.com) for anything private. Today is going to be crazy chaotic for the whole team, so please be patient if we don’t respond immediately. 14 | 15 | Don't forget to be awesome. With lots of love, Max and the Zephyr team 16 | -------------------------------------------------------------------------------- /slack/2021-06-30_slack_invitation_list_release.md: -------------------------------------------------------------------------------- 1 | [_Posted in Slack here_](https://hackclub.slack.com/archives/C0245M24X96/p1625078855210900) 2 | 3 | :hack_club: hey everyone! :hack_club: 4 | 5 | after a massive logistics operation, which included just colossal efforts to get everyone vaccinated, coordinating with embassies and governments, and - in one case - someone literally traveling across the entire world with 24 hour notice :alarm_clock:... i'm happy to be able to share the final passenger list of everyone who will be on the Zephyr. 6 | 7 | this has been an extremely difficult and emotionally exhausting process. due to physical constraints, we simply weren't able to invite everyone we wished we could. there were many factors at play in who we extended invitations to. people who received invitations are not better than people who didn't. please, please understand the level of sincerity we are bringing to this :black_heart: 8 | 9 | our goal is to open source the Zephyr, including the finances :bank-hackclub:, planning, trip materials, code, and more. as we have more updates on that, i'm going to share more here :eyes:. additionally, there will be opportunities to get involved in the Zephyr without being a passenger on board, including meeting up with us in-person in various cities, contributing code or data to ZephyrNET, and more :sparkles: 10 | 11 | without further ado, please see the thread below for the final boarding list. -------------------------------------------------------------------------------- /slack/2021-08-15_slack_pre-departure.md: -------------------------------------------------------------------------------- 1 | [_Posted in Slack here_](https://hackclub.slack.com/archives/C0266FRGT/p1626361458331600) 2 | 3 | Last night, we had a final get together in Vermont before everyone on The Hacker Zephyr arrives. Right now, as I'm writing this, there are about 40 Hack Clubbers in the air. 4 | 5 | This is actually happening. I can feel the magic already. 6 | 7 | When I first learned about the hacker ethos as a teenager, I felt like I had finally found my people. And later, I dropped out of high school and moved hundreds of miles away from home when I was 16 to be near them. 8 | 9 | I started Hack Club because I so desperately wish I had a place like this. I never had friends my age and the hacker ethos is too powerful an idea to be left to the corners of the internet. When we were struggling to pay rent each month, I always dreamed that someday we would be able run grand initiatives like The Hacker Zephyr to bring Hack Clubbers together. Now it's actually happening. 10 | 11 | I am humbled by all of you. You are what makes Hack Club so special. I'm going to be largely offline for the next 10 days, along with many staff, and I am going to miss you. While we're out, @sampoder is taking over the Slack and has a bunch of events and activities planned. I can think of no better person. 12 | 13 | Sam, godspeed. And please wish us luck. We're going to open source everything about the trip afterwards. All the code, finances, as many planning documents as possible, everything. This is an anti-hackathon, and I hope it will be special. -------------------------------------------------------------------------------- /slack/README.md: -------------------------------------------------------------------------------- 1 | # Slack Announcements -------------------------------------------------------------------------------- /zephyrnet/README.md: -------------------------------------------------------------------------------- 1 | # ZephyrNET - zephyr.network 2 | 3 | ![max and zfogg with zephyrnet](https://cloud-anw1okjxh-hack-club-bot.vercel.app/0img_5771.jpg) 4 | 5 | in this directory, you'll find the planning docs for the ZephyrNET. this includes a physical server, a hypervisor, virtual machines, docker containers, and all the code and config to make them work. the docs are unedited other than privacy redactions. 6 | 7 | the idea of the hackathon was: because we're on a train, we won't have internet. so let's make our own `intranet`! and when we're done, we'll bring it back to HQ and put it online in read-only mode (or something). this will act as a sort of monument to the event. 8 | 9 | There were two large components to the ZephyrNET: the core hardware, and the software platform that all 500 projects could be built and deployed on top of. You can find @zfogg's notes on hardware below, and @rishiosaur's notes on deployments in [zephyrnet.md](zephyrnet.md). 10 | 11 | with love, 12 | \- @zfogg, @rishiosaur, msw 13 | 14 | ## ZephyrNET Hardware 15 | 16 | ### Network 17 | 18 | the network of ZephyrNET was simply a LAN. it was accessed via WiFi. i personally routed five train cars with ethernet and WiFi, along with my friend Dan Eckert who graciously donated his workweek time + networking equipment to Hack Club in order to make it all happen (thanks Dan!). 19 | 20 | here's the gear we used: 21 | * 1 Ubiquiti Unifi Dream Machine router 22 | * 6 Ubiquiti Unifi AP-Lite wireless access points 23 | * 1 Ubiquiti Unifi AP-LR (Long Range) wireless access point 24 | * 400ft~ish of CAT5e / CAT7 ethernet cables (many of which were destroyed by traincar doors :rip:) 25 | 26 | #### NYC -> Chicago 27 | 28 | ![zephyrnet on amtrak](https://cloud-anw1okjxh-hack-club-bot.vercel.app/1img_20210718_163014514.jpg) 29 | 30 | we bought most of the seats in one Amtrak car. other passengers could still walk through. when we boarded, the conductor saw us bringing the zephyrnet server onboard and asked about power consumption. we basically were very friendly and got their permission to run ethernet down the luggage rack for wifi. it ended up going well, but many passengers who got on board were quite audibly confused. this stretch was for one night, and hack clubbers stayed in their seats in coach for the night. 31 | 32 | ![zephyrnet on amtrak again](https://cloud-anw1okjxh-hack-club-bot.vercel.app/2img_20210718_163021214.jpg) 33 | 34 | #### Chicago -> San Francisco 35 | 36 | three private train cars attached to an amtrak route. a "superdome" with a sleeper on either side. the server, router, and master switch on the bottom floor of the superdome with two access points on top. a leaf switch and two access points in each sleeper, with 100ft of ethernet running back to the master switch. the train doors scraped against the ethernet, exposing the shielding a few times (RIP purple cords). 37 | 38 | ![zephyrnet in chicago](https://cloud-anw1okjxh-hack-club-bot.vercel.app/4img_5653.jpg) 39 | 40 | #### San Francisco -> LA 41 | 42 | the coastal starlight is the most beautiful route in the country. it was much like the first leg of the trip, except much prettier and not overnight. it went without a hitch and we had great intranet during this bit. 43 | 44 | ![zephyrnet in venice](https://cloud-nc09p1kqr-hack-club-bot.vercel.app/0ezgif.com-gif-maker.gif) 45 | 46 | ### Compute 47 | 48 | the compute power provided to hackers was 1 `Dell Poweredge R720` server. the server ran `Proxmox Virtual Environment` as its base operating system, which is a "hypervisor" (the OS that runs your VMs) with a nice web interface for remote VM access and control. we made a community Ubuntu VM at `commie.zephyr.network` and every Zephyr passenger given an account with `sudoer as root` access ("it's probably fine.. what could go wrong!?"). anyone who wanted a virtual machine could ask me or use the proxmox webui themselves to spawn a virtual machine of their choice, and then remote-access it with their laptops. however, no one actually wanted to do this and people seemed to be having the most fun being on the same host as their other participants. i think that is really neat and could be a fun thing to do with clubs. 49 | 50 | the server hardware included 192gb of ram, 32cores of cpu, 8 2tb hdds, and four gigabit ethernet ports, two power 750w supplies. our common virtual machine was issued about 128gb of ram and 16 cores, which leaves plenty of spare power for other virtual machines. the drives were put into RAID10 and given to the hypervisor which is running XFS filesytem. 51 | 52 | ![zephyrnet on amtrak again](https://cloud-anw1okjxh-hack-club-bot.vercel.app/3pxl_20210719_062948946.jpg) 53 | 54 | ### Case 55 | 56 | the server case was custom-build out of wood. it was made with hinged doors on either end, latches for the doors, handles in verious spots for easy carrying, and wheels on the bottom. we made sure to get thick enough wheels for the weight of the server and the battery power supply, as well as making sure the wheels could support the weight. in hindsight, the wheels were too small and did not turn very well for the weight and shape of the box. after the trip we suspended the server in its box above our fridge in the HQ office kitchen, where it will host zephyrnet projects on the internet and live on forever. 57 | 58 | ### Afterlife 59 | 60 | After some clean-up on the `commie` virtual machine that we all hosted projects on for the hackathon, we will take take that VM and turn it into a Proxmox "VM Template". Once per day, the VM will be killed and replaced by a new instance of `commie` from the VM Template. This essentially puts `commie` into a 24hour timeloop much like the movie "Groundhog Day". 61 | 62 | The last thing I coded for this project is a few scripts to manage Wireguard VPN peer profiles for the `zephyrnet0` VPN that is setup on `commie` VM. Each participant has their own VPN profile and can use it to access ZephyrNET's custom DNS (*.zephyr domains) and even SSH into `commie` VM again. Remember!! Everything will get reset and all users will be logged out after the VM has been up for 24hours. 63 | 64 | \- @zfogg 65 | -------------------------------------------------------------------------------- /zephyrnet/deployments.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | Below are excerpts from the private ZephyrNET planning repository created to work through deploy flows—initially, we created a captive-portal based authentication flow on an open network, then moved to a private-network based deploy flow. 4 | 5 | 6 | These notes were done by @zrl, @zfogg, @rishiosaur and @msw. 7 | 8 | # Hotspot popup 9 | 10 | 1. I connect to a network named "ZephyrNET" on my MacBook Air 11 | 2. There is a popup, like what I see on airport WiFi networks, that says "Welcome to the ZephyrNET" and has a directory of all the different things on the ZephyrNET (kind of like the Hidden Wiki) 12 | 3. I am able to access everything on the ZephyrNET without having to click "Approve" or "Accept" anywhere on the popup. It doesn't actually block access to the rest of the ZephyrNET, like other captive portals do. 13 | 14 | 15 | # Non-`git` deploy flow for static sites 16 | 17 | 1. I connect to a network named "ZephyrNET" 18 | 2. I SSH into the ZephyrNET using my user account 19 | 3. I notice a directory called `zephyrnet` in my home directory 20 | 4. I `cd` into `zephyrnet/` and see a bunch of folders with names like `deploy.zephyr` and `max-homepage.zephyr` 21 | 5. I create a new folder called `zrl.zephyr` 22 | 6. I create a file called `index.html` in the new `zrl.zephyr` folder with the contents `

Hello!

` 23 | 7. In my web browser, I go to [https://zrl.zephyr](https://zrl.zephyr/) and see "Hello!" in heading text 24 | 8. Over SSH, I run `ls -al` in the `zrl.zephyr` folder and see a folder called `.git`, noticing that a git repo has been initialized 25 | 9. I run `git log` and see a commit was automatically made from my user account with the commit message "Direct edits within /opt/zephyrnet" 26 | 27 | # `git` deploy flow for static sites 28 | 29 | 1. I connect to a network named "ZephyrNET" 30 | 2. On my local machine, I create a git repo and commit a static site with three files: `index.html`, `styles.css`, and `main.js` 31 | 3. I run `git remote add origin zrl@mothership:treasure-hunt.zephyr` inside the git repo, and then run `git push --set-upstream origin master`. My push succeeds. 32 | 4. In my web browser, I go to [https://treasure-hunt.zephyr](https://treasure-hunt.zephyr/) and see my `index.html` served 33 | 5. I SSH into the ZephyrNET using my user account, run `ls zephyrnet/`, and notice a directory called `treasure-hunt.zephyr` has been created 34 | 6. I run `ls zephyrnet/treasure-hunt.zephyr/` and see three files printed: `index.html`, `styles.css`, and `main.js` 35 | -------------------------------------------------------------------------------- /zephyrnet/final_nginx_conf.conf: -------------------------------------------------------------------------------- 1 | # Generated by watcher (see /opt/zephyrnet/watcher) 2 | 3 | server { 4 | 5 | listen 443 ssl; 6 | server_name community.zephyr www.community.zephyr; 7 | 8 | location = /robots.txt { 9 | add_header Content-Type text/plain; 10 | return 200 "User-agent: *\nDisallow: /\n"; 11 | } 12 | 13 | server_name community.zephyrnet.hackclub.com www.community.zephyrnet.hackclub.com; 14 | 15 | ssl_certificate /etc/letsencrypt/live/zephyrnet.hackclub.com/fullchain.pem; # managed by Certbot 16 | ssl_certificate_key /etc/letsencrypt/live/zephyrnet.hackclub.com/privkey.pem; # managed by Certbot 17 | root /opt/zephyrnet/community.zephyr; 18 | index index.html index.htm index.nginx-debian.html; 19 | location / { 20 | sub_filter '.zephyr' '.zephyrnet.hackclub.com'; 21 | sub_filter_once off; 22 | proxy_pass http://127.0.0.1:33951/; 23 | } 24 | } 25 | 26 | server { 27 | if ($host = community.zephyrnet.hackclub.com) { 28 | return 301 https://$host$request_uri; 29 | } # managed by Certbot 30 | 31 | 32 | listen 80; 33 | server_name community.zephyr www.community.zephyr; 34 | server_name community.zephyrnet.hackclub.com www.community.zephyrnet.hackclub.com; 35 | return 404; # managed by Certbot 36 | 37 | 38 | } -------------------------------------------------------------------------------- /zephyrnet/hardware_brainstorm_w_chaleb.md: -------------------------------------------------------------------------------- 1 | ZephyrNET 2 | 3 | # ://zephyr.network hardware ideas 4 | 5 | ## shopping list 6 | 7 | - [https://www.amazon.com/hz/wishlist/dl/invite/bUHQJ5x](https://www.amazon.com/hz/wishlist/dl/invite/bUHQJ5x) 8 | 9 | ## networking 10 | 11 | - 1x router+switch with wifi 12 | - 3x wifi access point 13 | - 2x 8port switch 14 | - 24x ethernet cables (spool + headers + crimp - do a workshop) 15 | 16 | ## machine 17 | 18 | - 64gb ram 19 | - 4tb hdd 20 | - 24 cpu cores 21 | 22 | - Full machines 23 | 24 | - [Save My Server - HP Proliant DL385p AMD Server (8-Port) 8 x 2.5" Gen8 - Custom Build](https://www.savemyserver.com/servers/used-hp-servers/hp-rack-servers/2u/hp-proliant-dl385p-8-port-sff-gen8) 25 | - [Tim Gasser's cheap custom build](https://medium.com/@timgasser/build-a-16-core-128gb-server-for-less-than-intels-new-10-core-cpu-c6de4d10a686) 26 | - [https://www.mrcy.com/products/rugged-servers-and-subsystems/rugged-edge-servers/compact-and-small-servers](https://www.mrcy.com/products/rugged-servers-and-subsystems/rugged-edge-servers/compact-and-small-servers) 27 | - [https://www.newegg.com/p/2NS-000A-04FV5](https://www.newegg.com/p/2NS-000A-04FV5) 28 | - [https://www.newegg.com/dell-poweredge-r820-rack/p/2NS-0008-4P5F4](https://www.newegg.com/dell-poweredge-r820-rack/p/2NS-0008-4P5F4) 29 | - $444 - [**https://www.newegg.com/dell-poweredge-r410-rack/p/2NS-0008-4UC02**](https://www.newegg.com/dell-poweredge-r410-rack/p/2NS-0008-4UC02) 30 | 31 | ## accessories 32 | 33 | - cases 34 | - [https://www.parts-express.com/Talent-RC12U19-ABS-Rack-Case-12U-19-Depth-233-304](https://www.parts-express.com/Talent-RC12U19-ABS-Rack-Case-12U-19-Depth-233-304) 35 | - $170 - [https://www.sweetwater.com/store/detail/GR2S--gator-gr-2s-standard-shallow-rack-case](https://www.sweetwater.com/store/detail/GR2S--gator-gr-2s-standard-shallow-rack-case) 36 | - $230 - [https://www.sweetwater.com/store/detail/GTOUR2U--gator-g-tour-2u-ata-wood-rack-case](https://www.sweetwater.com/store/detail/GTOUR2U--gator-g-tour-2u-ata-wood-rack-case) 37 | - Random mounting / fixing supplies? 38 | - Tape 39 | - Rope 40 | - Zip ties 41 | - Rubber bands 42 | 43 | ## Graphics 44 | 45 | - projector 46 | - projector screen -------------------------------------------------------------------------------- /zephyrnet/introduction.md: -------------------------------------------------------------------------------- 1 | Welcome to the ZephyrNET. We couldn't access the internet on the train, so we built our own. 2 | 3 | **The challenge:** Make 500 contributions to the ZephyrNET before we arrive in Los Angeles. 4 | 5 | Every night, we demo. Every contribution is valid: you can make a game, publish a poem, edit and share some photos, create a CTF over SSH, make a hardware project, or hack something else entirely. If you can somehow capture what you make and put it on the ZephyrNET, it counts. 6 | 7 | The ZephyrNET is a time capsule. When we arrive back in Vermont, it'll be converted into read-only mode and put online at [https://zephyrnet.hackclub.com](https://zephyrnet.hackclub.com/), where it will live as long as Hack Club does (hopefully forever). [https://deploy.zephyr](https://deploy.zephyr/) will turn into [https://deploy.zephyrnet.hackclub.com](https://deploy.zephyrnet.hackclub.com/). 8 | 9 | 10 days is a long time for a hackathon, so we're relying on you to contribute and think of yourself as a co-organizer to help make the Zephyr a special experience for yourself and everyone else around you. We encourage you to make multiple smaller projects, and ship something each day, rather than try and build one massive project. That will also give you an opportunity to work with new people and multiple teams. 10 | 11 | Over the course of the journey, we are largely releasing you and creating an environment - both on and off the train - where you will have a lot of freedom. What will you experience? What will you build? What kind of person will you be on the Zephyr? 12 | 13 | Thank you for being here. We're here to support and are looking forward to seeing what we all make together. 14 | 15 | Sincerely, 16 | 17 | The Zephyr Team 18 | 19 | signatures 20 | 21 | COUNTDOWN -------------------------------------------------------------------------------- /zephyrnet/nginx_config_dynamic.conf: -------------------------------------------------------------------------------- 1 | # Generated by watcher (see /opt/zephyrnet/watcher) 2 | 3 | server { 4 | listen 80; 5 | listen 443 ssl; 6 | 7 | server_name {{site}} www.{{site}}; 8 | 9 | ssl_certificate /etc/ssl/private/zephyr.crt; 10 | ssl_certificate_key /etc/ssl/private/zephyr.key; 11 | 12 | 13 | root /opt/zephyrnet/{{site}}; 14 | 15 | index index.html index.htm index.nginx-debian.html; 16 | 17 | location / { 18 | proxy_pass http://127.0.0.1:{{port}}/; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /zephyrnet/nginx_config_static.conf: -------------------------------------------------------------------------------- 1 | # Generated by watcher (see /opt/zephyrnet/watcher) 2 | 3 | server { 4 | listen 80; 5 | listen 443 ssl; 6 | 7 | server_name {{site}} www.{{site}}; 8 | 9 | ssl_certificate /etc/ssl/private/zephyr.crt; 10 | ssl_certificate_key /etc/ssl/private/zephyr.key; 11 | 12 | root /opt/zephyrnet/{{site}}; 13 | 14 | index index.html index.htm index.nginx-debian.html; 15 | 16 | location / { 17 | try_files $uri $uri/ =404; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /zephyrnet/opensourcing.md: -------------------------------------------------------------------------------- 1 | # Open Sourcing Strategies 2 | 3 | Of course, building the projects was only half the battle. For the ZephyrNET to work as a time capsule, everything built on top of it needed to be publicly accessible. 4 | 5 | ## Stage 1: Systemd 6 | 7 | Obviously, the first step towards open sourcing projects has to do with getting the projects running. The ZephyrNET deploy flow used a thin wrapper on top of `systemd`, which encapsulated the start procedures for all the server-based projects (static projects are always loaded up—NGINX just serves static files), so to start up all the projects, one may loop over all the files in `/Users/git/.config/systemd/user` and run `systemctl start`: 8 | 9 | ```bash 10 | #!/usr/bin/env sh 11 | 12 | set -x 13 | for filename in ~/.config/systemd/user/zephyrnet-*.zephyr-deployment.service; do 14 | systemctl --user enable "$(basename $filename)" 15 | systemctl --user start "$(basename $filename)" 16 | done 17 | set +x 18 | ``` 19 | 20 | This was the temporary solution we built on the train, to quickly restart every project all at once. Of course, any good server needs to be resilient—in the event of server crashes, one cannot rely on humans to fix them. That's why we moved the targets for every systemd configuration to start when the system reaches run level 2 (when a non-graphics shell for multiple users is spun up, using the `multi-user.target` target). With this addition, we didn't have to worry about keeping the services alive manually; whenever resets happened, they would just automatically boot up. 21 | ## Stage 2: DNS, NGINX & SSL 22 | 23 | After getting the services working locally, the next step was making the bridge from private runs to public ones. 24 | 25 | When connected to the ZephyrNET (through VPN or LAN), a `.zephyr` TLD is available, which is the primary form of interaction for the projects build on the train. Of course, `.zephyr` does not exist in real life, so we had to make all the projects work with a `.zephyrnet.hackclub.com` TLD: instead of going to `zoogle.zephyr`, for instance, you might go to `zoogle.zephyrnet.hackclub.com`. 26 | 27 | In order to hook the ZephyrNET up to the rest of the internet, we first had to configure DNS for it. We used a revolving DNS service to point to our local IP for DNS resolution: [hackclub.myftp.biz](https://github.com/hackclub/dns/blob/c949cd2b14846099ab12aea32734edb458cf079e/hackclub.com.yaml#L50) points directly to the moving IP of ZephyrNET running through Comcast's network. We started off by creating wildcard domains in PowerDNS (the DNS management service running onboard the server)—that routed the `*.zephyrnet.hackclub.com` domain to our internal domain before moving on to scripting the creation of individual domains, generated from the contents of `/opt/zephyrnet`. 28 | 29 | After getting DNS working, we had to generate SSL certificates for all the websites—on the public internet, the trust-levels are very different. Onboard the train, we were dealing with a medium-to-high trust environment, and built our systems to be quite open. On the public internet, though, a level of trust needs to be estabished to have a great user experience (on both ends). We began by registering the `.zephyrnet.hackclub.com` ending as a zone on LetsEncrypt (Certbot has great compatibility with NGINX), which allowed us to link to the same certificates from all the NGINX configs: 30 | ``` 31 | 32 | server { 33 | 34 | listen 443 ssl; 35 | server_name community.zephyrnet.hackclub.com www.community.zephyrnet.hackclub.com; 36 | 37 | ssl_certificate /etc/letsencrypt/live/zephyrnet.hackclub.com/fullchain.pem; # managed by Certbot 38 | ssl_certificate_key /etc/letsencrypt/live/zephyrnet.hackclub.com/privkey.pem; # managed by Certbot 39 | root /opt/zephyrnet/community.zephyr; 40 | index index.html index.htm index.nginx-debian.html; 41 | 42 | location / { 43 | sub_filter '.zephyr' '.zephyrnet.hackclub.com'; 44 | sub_filter_once off; 45 | proxy_pass http://127.0.0.1:33951/; 46 | } 47 | 48 | } 49 | 50 | server { 51 | if ($host = community.zephyrnet.hackclub.com) { 52 | return 301 https://$host$request_uri; 53 | } # managed by Certbot 54 | 55 | root /opt/zephyrnet/community.zephyr; 56 | index index.html index.htm index.nginx-debian.html; 57 | 58 | listen 80; 59 | server_name community.zephyr www.community.zephyr; 60 | server_name community.zephyrnet.hackclub.com www.community.zephyrnet.hackclub.com; 61 | location / { 62 | sub_filter '.zephyr' '.zephyrnet.hackclub.com'; 63 | sub_filter_once off; 64 | proxy_pass http://127.0.0.1:33951/; 65 | } 66 | 67 | location = /robots.txt { 68 | add_header Content-Type text/plain; 69 | return 200 "User-agent: * 70 | Disallow: /"; 71 | } 72 | 73 | } 74 | ``` 75 | 76 | We also disabled search engine indexing for every project except chronicles, to prevent inadvertent private data collection. -------------------------------------------------------------------------------- /zephyrnet/readme-template.md: -------------------------------------------------------------------------------- 1 | # Quick setup 2 | 3 | ``` 4 | touch index.html 5 | echo "

Hello from http://{{site}}

" >> index.html 6 | curl http://{{site}}/ 7 | ``` 8 | 9 | While connected to zephyrnet wifi, go to http://{{site}}/ (slash is important!) in your browser. 10 | 11 | ##...or run a server 12 | 13 | ``` 14 | touch server.js 15 | echo "const PORT = process.env.PORT; /* place server code here */" >> server.js 16 | 17 | touch entrypoint.js 18 | echo 'node server.js' >> entrypoint.js 19 | 20 | git add -A 21 | git commit -m "Initial commit" 22 | git push deploy 23 | ``` 24 | 25 | While connected to zephyrnet wifi, go to http://{{site}}/ (slash is important!) in your browser. 26 | 27 | ##...or run a build on each push 28 | 29 | ``` 30 | touch build.sh 31 | echo "yarn install" >> build.sh 32 | git add build.sh 33 | git commit -m "Add build script" 34 | git push deploy 35 | ``` 36 | 37 | ##...or work from your laptop 38 | ``` 39 | git clone zephyrnet.hackclub.com:/opt/zephyrnet/{{site}}/.git 40 | cd {{site}}/ 41 | git remote add deploy git@zephyrnet.hackclub.com:/opt/zephyr/watcher/repos/{{site}} 42 | ``` 43 | 44 | ##...or push an existing repo from the command line 45 | 46 | ``` 47 | # in this folder 48 | rm README.md 49 | # on your laptop 50 | git remote add origin git@zephyrnet.hackclub.com:/opt/zephyrnet/{{site}}/.git 51 | git remote add deploy git@zephyrnet.hackclub.com:/etc/zephyr/watcher/repos/{{site}} 52 | git branch -M main 53 | git push -u origin main # this pushes to this repo 54 | git push deploy # this deploys your dynamic server 55 | ``` -------------------------------------------------------------------------------- /zephyrnet/software.md: -------------------------------------------------------------------------------- 1 | ZephyrNET 2 | 3 | # ://zephyr.net software 4 | 5 | People can edit, please reload 6 | 7 | - An open server? Shared hosting! 8 | 9 | - selective sudo (actually do sudo requests) 10 | - Allow all apt commands instantly, review all others 11 | - Also have a way to add a command to the sudo "whitelist" (like devzat needs sudo) 12 | - Custom screen-fetch 13 | 14 | ## Hard Requirements 15 | 16 | - ~~Compute~~ 17 | - ~~VMs? Maybe a hypervisor?~~ 18 | 19 | - ~~proxmox, zenserver, or another~~ 20 | - ~~Libvirt is another idea too (make your choice of linux distro)~~ 21 | 22 | - ~~Shared hosting?~~ 23 | - ~~Pros: absolute chaos~~ 24 | 25 | - ~~Network~~ 26 | - ~~DNS \*.zephyr \*.z~~ 27 | - Dhcp 28 | - Dnsmasq 29 | - Pfsense 30 | 31 | - Storage 32 | - raid0(?) 4x 1tb hdd 33 | - Fileserver with jellyfin? 34 | 35 | - Telemetry 36 | - ELK - ElasticSearch, Logstash, Kibana 37 | - Prometheus(?) 38 | - Custom dashboard that logs and charts traffic between all our devices 39 | - Auth via slack then use your sshkey to sign a message 40 | 41 | ## Extra Services 42 | 43 | - Mail 44 | - [https://wiki.archlinux.org/title/Sendmail](https://wiki.archlinux.org/title/Sendmail) 45 | - Chat 46 | - Irc? Probably 47 | - Devzat! [quackduck/devzat: The devs are over here at devzat, chat over SSH!](https://github.com/quackduck/devzat) 48 | - Mattermost? Prolly not 49 | - [BeeBEEP - Free Office Messenger - Official Website](https://www.beebeep.net/) 50 | - bertie!! 51 | - xmpp? 52 | - Matrix!! - Definitely matrix because there are mobile phone clients, web clients, TONS of clients, it's realtime, and it's persistent (Ian / Yoda) 53 | - teamspeak? ventrilo? mumble? 54 | - jitsi!! 55 | 56 | - Minecraft server 57 | - 58 | - Software dev services 59 | - [Gitea.io](http://gitea.io/) 60 | - [ExtraHop System User Guide](https://docs.extrahop.com/current/eh-system-user-guide/) 61 | - GHE 62 | - Databases 63 | - Postgres (managed) 64 | - Maria (managed) 65 | - Mongo (on-demand) 66 | - Redis (on-demand) 67 | - Elasticsearch (on-demand) 68 | - Internet Docs and Resources 69 | - Adafruit + Sparkfun Hardware 70 | - [Practical Electronics for Inventors Book](http://instrumentacion.qi.fcen.uba.ar/libro/Scherz.pdf) 71 | - Tensorflow 72 | - Numpy 73 | - Pandas 74 | - ~~Kiwix (project gutenberg…)~~ 75 | - [Kiwix Library](https://docs.google.com/spreadsheets/d/1lWXdwy3OIfZ1Ob2cQR707OMHSva3khTcAXZE9MK9ad8/edit#gid=598202886) 76 | - [~~Kiwix Library~~](https://docs.google.com/spreadsheets/d/1lWXdwy3OIfZ1Ob2cQR707OMHSva3khTcAXZE9MK9ad8/edit#gid=598202886) 77 | - Wiki 78 | - Wikipedia 79 | - Stackexchange (various) 80 | - README 81 | - [Crates.io](https://crates.io/) - Rust packages (anirudh will probably be setting up a mirror, the code for this doesn't exist yet so early access to the server will be helpful for dev) 82 | - ~~Npm registry powered by verdaccio (rishi)~~ 83 | - Harbor for docker images (matt gleich) 84 | - Caprover (matt gleich) 85 | - Minecraft server (very important someone should do this) 86 | - Packages 87 | - Maybe a place to list packages for each language on ZephyrNET? (aiden) 88 | - Possibly write down packages in this doc (categorized by lang) 89 | - Fileserver 90 | - train movies from max 91 | - Normal movies from disney+ netflix hulu and prime video from sarthak -------------------------------------------------------------------------------- /zephyrnet/systemctl_config.service: -------------------------------------------------------------------------------- 1 | # Generated by watcher (see /opt/zephyrnet/watcher) 2 | # vim: ft=systemd: 3 | # hello there—my ame 4 | 5 | [Unit] 6 | Description=ZephyrNET - {{site}} 7 | After=network.target 8 | ConditionPathIsDirectory=/opt/zephyr/watcher/repos/{{site}} 9 | ConditionFileIsExecutable=/opt/zephyr/watcher/repos/{{site}}/entrypoint.sh 10 | 11 | [Service] 12 | WorkingDirectory=/opt/zephyr/watcher/repos/{{site}} 13 | Environment=PORT={{port}} 14 | ExecStart=bash /opt/zephyr/watcher/repos/{{site}}/entrypoint.sh 15 | Restart=on-failure 16 | RestartSec=5 17 | ExecReload=/bin/kill -HUP $MAINPID 18 | KillMode=process 19 | Restart=on-failure 20 | Type=simple 21 | 22 | [Install] 23 | WantedBy=multi-user.target -------------------------------------------------------------------------------- /zephyrnet/tp_link_config.md: -------------------------------------------------------------------------------- 1 | # TP-Link Config 2 | 3 | This is a config file for the tp-link ethernet switches that Dan Eckert let us use. This is actual code to paste via serial terminal. 4 | 5 | Hardware Version - TL-SG3424P 2.0 6 | 7 | Software Version - 1.0.9 Build 20150715 Rel.33297(s) 8 | 9 | Within this event, all switch configs are identical except for names and management IPs 10 | 11 | **Config below is for** **A/DC-SW-013** **for** **Hack Zepher 2021** 12 | 13 | # Start configuration 14 | 15 | enable 16 | 17 | config 18 | 19 | # Basic device identification (DC-SW-###) 20 | 21 | **hostname A/DC-SW-013** 22 | 23 | location Distribution 24 | 25 | contact-info www.drakontasconsulting.com 26 | 27 | # Secure the local console 28 | 29 | enable secret 0 **HackZ2021** 30 | 31 | user name admin privilege admin secret 0 **HackZ2021** 32 | 33 | # Encrypted remote access (SSH) 34 | 35 | ip ssh server 36 | 37 | ip ssh version v2 38 | 39 | no ip ssh version v1 40 | 41 | ip ssh timeout 120 42 | 43 | # Encrypted remote management (HTTPS) 44 | 45 | ip http secure-server 46 | 47 | # Reset all ports to a known starting state (access) 48 | 49 | interface range gigabitEthernet 1/0/1-24 50 | 51 | switchport mode access 52 | 53 | switchport access vlan 1 54 | 55 | exit 56 | 57 | # Create VLANs 58 | 59 | **vlan 101** 60 | 61 | exit 62 | 63 | interface range gigabitEthernet 1/0/1-16 64 | 65 | switchport mode access 66 | 67 | **switchport access vlan 101** 68 | 69 | exit 70 | 71 | interface range gigabitEthernet 1/0/17-18 72 | 73 | switchport mode access 74 | 75 | **switchport access vlan 1** 76 | 77 | exit 78 | 79 | # Uplinks/crosslinks (trunks) 80 | 81 | interface range gigabitEthernet 1/0/19-24 82 | 83 | switchport mode trunk 84 | 85 | switchport trunk allowed vlan 1,101 86 | 87 | exit 88 | 89 | # Device IP address for VLAN1, DHCP for initial config/testing then reset farther below 90 | 91 | interface vlan 1 92 | 93 | ip address-alloc dhcp 94 | 95 | exit 96 | 97 | # System time 98 | 99 | system-time ntp UTC 198.211.106.151 24.245.13.207 1 100 | 101 | system-time dst predefined USA 102 | 103 | exit 104 | 105 | # Quit config 106 | 107 | end 108 | 109 | # Save configuration 110 | 111 | copy running-config startup-config 112 | 113 | # System diagnostics 114 | 115 | show interface status 116 | 117 | show vlan 118 | 119 | show system-info 120 | 121 | show system-time 122 | 123 | show interface vlan 1 124 | 125 | # Set final management IP address for VLAN1 126 | 127 | config 128 | 129 | interface vlan 1 130 | 131 | ip address **172.20.1.11** 255.255.255.0 172.20.1.1 132 | 133 | end 134 | 135 | show interface vlan 1 136 | 137 | # Save configuration 138 | 139 | copy running-config startup-config 140 | 141 | **Config below is for** **B/DC-SW-017** **for** **Hack Zepher 2021** 142 | 143 | # Start configuration 144 | 145 | enable 146 | 147 | config 148 | 149 | # Basic device identification (DC-SW-###) 150 | 151 | **hostname B/DC-SW-017** 152 | 153 | location Distribution 154 | 155 | contact-info www.drakontasconsulting.com 156 | 157 | # Secure the local console 158 | 159 | enable secret 0 **HackZ2021** 160 | 161 | user name admin privilege admin secret 0 **HackZ2021** 162 | 163 | # Encrypted remote access (SSH) 164 | 165 | ip ssh server 166 | 167 | ip ssh version v2 168 | 169 | no ip ssh version v1 170 | 171 | ip ssh timeout 120 172 | 173 | # Encrypted remote management (HTTPS) 174 | 175 | ip http secure-server 176 | 177 | # Reset all ports to a known starting state (access) 178 | 179 | interface range gigabitEthernet 1/0/1-24 180 | 181 | switchport mode access 182 | 183 | switchport access vlan 1 184 | 185 | exit 186 | 187 | # Create VLANs 188 | 189 | **vlan 101** 190 | 191 | exit 192 | 193 | interface range gigabitEthernet 1/0/1-16 194 | 195 | switchport mode access 196 | 197 | **switchport access vlan 101** 198 | 199 | exit 200 | 201 | interface range gigabitEthernet 1/0/17-18 202 | 203 | switchport mode access 204 | 205 | **switchport access vlan 1** 206 | 207 | exit 208 | 209 | # Uplinks/crosslinks (trunks) 210 | 211 | interface range gigabitEthernet 1/0/19-24 212 | 213 | switchport mode trunk 214 | 215 | switchport trunk allowed vlan 1,101 216 | 217 | exit 218 | 219 | # Device IP address for VLAN1, DHCP for initial config/testing then reset farther below 220 | 221 | interface vlan 1 222 | 223 | ip address-alloc dhcp 224 | 225 | exit 226 | 227 | # System time 228 | 229 | system-time ntp UTC 198.211.106.151 24.245.13.207 1 230 | 231 | system-time dst predefined USA 232 | 233 | exit 234 | 235 | # Quit config 236 | 237 | end 238 | 239 | # Save configuration 240 | 241 | copy running-config startup-config 242 | 243 | # System diagnostics 244 | 245 | show interface status 246 | 247 | show vlan 248 | 249 | show system-info 250 | 251 | show system-time 252 | 253 | show interface vlan 1 254 | 255 | # Set final management IP address for VLAN1 256 | 257 | config 258 | 259 | interface vlan 1 260 | 261 | ip address **172.20.1.12** 255.255.255.0 172.20.1.1 262 | 263 | end 264 | 265 | show interface vlan 1 266 | 267 | # Save configuration 268 | 269 | copy running-config startup-config 270 | 271 | **Config below is for** **C/DC-SW-018** **for** **Hack Zepher 2021** 272 | 273 | # Start configuration 274 | 275 | enable 276 | 277 | config 278 | 279 | # Basic device identification (DC-SW-###) 280 | 281 | **hostname C/DC-SW-018** 282 | 283 | location Distribution 284 | 285 | contact-info www.drakontasconsulting.com 286 | 287 | # Secure the local console 288 | 289 | enable secret 0 **HackZ2021** 290 | 291 | user name admin privilege admin secret 0 **HackZ2021** 292 | 293 | # Encrypted remote access (SSH) 294 | 295 | ip ssh server 296 | 297 | ip ssh version v2 298 | 299 | no ip ssh version v1 300 | 301 | ip ssh timeout 120 302 | 303 | # Encrypted remote management (HTTPS) 304 | 305 | ip http secure-server 306 | 307 | # Reset all ports to a known starting state (access) 308 | 309 | interface range gigabitEthernet 1/0/1-24 310 | 311 | switchport mode access 312 | 313 | switchport access vlan 1 314 | 315 | exit 316 | 317 | # Create VLANs 318 | 319 | **vlan 101** 320 | 321 | exit 322 | 323 | interface range gigabitEthernet 1/0/1-16 324 | 325 | switchport mode access 326 | 327 | **switchport access vlan 101** 328 | 329 | exit 330 | 331 | interface range gigabitEthernet 1/0/17-18 332 | 333 | switchport mode access 334 | 335 | **switchport access vlan 1** 336 | 337 | exit 338 | 339 | # Uplinks/crosslinks (trunks) 340 | 341 | interface range gigabitEthernet 1/0/19-24 342 | 343 | switchport mode trunk 344 | 345 | switchport trunk allowed vlan 1,101 346 | 347 | exit 348 | 349 | # Device IP address for VLAN1, DHCP for initial config/testing then reset farther below 350 | 351 | interface vlan 1 352 | 353 | ip address-alloc dhcp 354 | 355 | exit 356 | 357 | # System time 358 | 359 | system-time ntp UTC 198.211.106.151 24.245.13.207 1 360 | 361 | system-time dst predefined USA 362 | 363 | exit 364 | 365 | # Quit config 366 | 367 | end 368 | 369 | # Save configuration 370 | 371 | copy running-config startup-config 372 | 373 | # System diagnostics 374 | 375 | show interface status 376 | 377 | show vlan 378 | 379 | show system-info 380 | 381 | show system-time 382 | 383 | show interface vlan 1 384 | 385 | # Set final management IP address for VLAN1 386 | 387 | config 388 | 389 | interface vlan 1 390 | 391 | ip address **172.20.1.13** 255.255.255.0 172.20.1.1 392 | 393 | end 394 | 395 | show interface vlan 1 396 | 397 | # Save configuration 398 | 399 | copy running-config startup-config 400 | 401 | **Config below is for** **D/DC-SW-020** **for** **Hack Zepher 2021** 402 | 403 | # Start configuration 404 | 405 | enable 406 | 407 | config 408 | 409 | # Basic device identification (DC-SW-###) 410 | 411 | **hostname D/DC-SW-020** 412 | 413 | location Distribution 414 | 415 | contact-info www.drakontasconsulting.com 416 | 417 | # Secure the local console 418 | 419 | enable secret 0 **HackZ2021** 420 | 421 | user name admin privilege admin secret 0 **HackZ2021** 422 | 423 | # Encrypted remote access (SSH) 424 | 425 | ip ssh server 426 | 427 | ip ssh version v2 428 | 429 | no ip ssh version v1 430 | 431 | ip ssh timeout 120 432 | 433 | # Encrypted remote management (HTTPS) 434 | 435 | ip http secure-server 436 | 437 | # Reset all ports to a known starting state (access) 438 | 439 | interface range gigabitEthernet 1/0/1-24 440 | 441 | switchport mode access 442 | 443 | switchport access vlan 1 444 | 445 | exit 446 | 447 | # Create VLANs 448 | 449 | **vlan 101** 450 | 451 | exit 452 | 453 | interface range gigabitEthernet 1/0/1-16 454 | 455 | switchport mode access 456 | 457 | **switchport access vlan 101** 458 | 459 | exit 460 | 461 | interface range gigabitEthernet 1/0/17-18 462 | 463 | switchport mode access 464 | 465 | **switchport access vlan 1** 466 | 467 | exit 468 | 469 | # Uplinks/crosslinks (trunks) 470 | 471 | interface range gigabitEthernet 1/0/19-24 472 | 473 | switchport mode trunk 474 | 475 | switchport trunk allowed vlan 1,101 476 | 477 | exit 478 | 479 | # Device IP address for VLAN1, DHCP for initial config/testing then reset farther below 480 | 481 | interface vlan 1 482 | 483 | ip address-alloc dhcp 484 | 485 | exit 486 | 487 | # System time 488 | 489 | system-time ntp UTC 198.211.106.151 24.245.13.207 1 490 | 491 | system-time dst predefined USA 492 | 493 | exit 494 | 495 | # Quit config 496 | 497 | end 498 | 499 | # Save configuration 500 | 501 | copy running-config startup-config 502 | 503 | # System diagnostics 504 | 505 | show interface status 506 | 507 | show vlan 508 | 509 | show system-info 510 | 511 | show system-time 512 | 513 | show interface vlan 1 514 | 515 | # Set final management IP address for VLAN1 516 | 517 | config 518 | 519 | interface vlan 1 520 | 521 | ip address **172.20.1.14** 255.255.255.0 172.20.1.1 522 | 523 | end 524 | 525 | show interface vlan 1 526 | 527 | # Save configuration 528 | 529 | copy running-config startup-config 530 | -------------------------------------------------------------------------------- /zephyrnet/volunteers-to-deletion.md: -------------------------------------------------------------------------------- 1 | The following accounts opted in to have their accounts / files deleted if there weren't 500 contributions to the chronicles by the end of the trip: 2 | 3 | - zrl 4 | - msw 5 | - belle 6 | - ian 7 | - sarthak -------------------------------------------------------------------------------- /zephyrnet/zephyrnet.md: -------------------------------------------------------------------------------- 1 | # Deployments 2 | 3 | The core idea behind Zephyr was to run a hackathon on a train. Hackathons exist almost purely as a way for like-minded makers to do what they do best: build. However, we quickly ran into an issue with the very notion of building on a train: there isn't any form of internet. Putting Starlink onto the train car itself would've been a non-starter, considering the fact that the clearance between the top of the train and the tunnels we'd be going through is far shorter than the satellite receiver. 4 | 5 | All of this meant that hackers onboard the train would have to build the Internet by themselves—without NPM, PyPi, Vercel, Heroku, DigitalOcean, or anything else that developers usually take for granted. For the organizing team, however, it meant that we needed to provide an efficient way for students to deploy their ideas: building the Internet means actually, well, building it. 6 | 7 | 8 | ## Ideas 9 | 10 | We started off by evaluating what we wanted out of a deployment flow & out of the Internet itself. ZephyrNET's goal was to be as editable as possible—giving everyone sudo access meant that you'd be able to go anywhere on the Ubuntu VM (even other hackers' home directories!), or crash the server itself (special thanks to @willdoescode for doing so in the first 3 hours). 11 | 12 | Every project hosted on the ZephyrNET needed to be editable by everyone else; not just because it enables a greater degree of collaboration, but because it means that high-quality contributions are the *norm*. The deploy flow that we built needed to allow for centralized repositories—everything should be able to be hosted in a single place or symlinked to it. Every deploy needed had a `.zephyr` domain on the train, for easy access 13 | 14 | We settled on a directory-based deployment setup, where creating a folder in `/opt/zephyrnet` was all that you needed to get started programming. You can find the full flows that were sketched out in [deployments.md](deployments.md). In essence, deployments were split up into two different types: static and dynamic deployments. 15 | 16 | Static deployments linked a `.zephyr` domain to static files—create `x.zephyr` in `/opt/zephyrnet`, drop an `index.html` into it, and `x.zephyr` is instantly live, zero configuration needed. 17 | 18 | Dynamic deployments linked some form of server that exposes a port (like an Express server) to a `.zephyr` domain. Create a `.zephyr` folder in the Zephyrnet directory, create an `entrypoint.sh` file (which holds a script for setup; think `npm start` and so forth) and/or `build.sh` (holds a script for building the server; consider `next build`), and run `git add . && git commit -m '' && git push deploy master` to deploy a repository to be instantly live on ZephyrNET. 19 | 20 | ## Implementation 21 | 22 | The deploy flow itself *seemed* fairly sound in theory (we'll get to some of the issues a bit later), and built upon already-proven techniques for deployment. Implementing it was another struggle, though—building great developer tools is an art, and two weeks to build a scalable PaaS (platform-as-a-service) is a time crunch in and of itself. 23 | 24 | We started off by creating a [small script](https://github.com/hackclub/zephyr-deploy-service/blob/master/create.bash) using `inotifywait` to watch for new folder creations in `/opt/zephyrnet` (you can use `-e` to filter through events), which ran [a Node script](https://github.com/hackclub/zephyr-deploy-service/blob/master/deploy.js) to [set up Git](https://github.com/hackclub/zephyr-deploy-service/blob/bcf8349308f7c3eb4f01d4e52e747a1408261152/deploy.js#L31) and added [a simple README](https://github.com/hackclub/zephyr-deploy-service/blob/master/README_template.hbs) to the repository. Every dynamic repository had Git set up in it, for easier deployments from anywhere. 25 | 26 | There were two key files that we were watching for (because we needed to see the first level of the source directories, we had to do a recursive search): `entrypoint.sh` and `index.html`. If an `index.html` file was created, the only thing that had to be done was create [an NGINX configuration file](https://github.com/hackclub/zephyr-deploy-service/blob/master/static_conf_template.hbs) with a simple `try_files` clause in a virtual host for the given domain. 27 | 28 | If an `entrypoint.sh` file was created and pushed to the `deploy` remote (because all Git repositories are stateless and act as their own servers, hackers could push to a separate repository in `/opt/zephyr/watcher/repos`—you can still find the runtime files there!), a port would be allocated through [`ports.js`](https://github.com/hackclub/zephyr-deploy-service/blob/master/ports.js) (which writes a domain to a randomly named file in `/opt/zephyr/watcher/ports`) and [an NGINX configuration](https://github.com/hackclub/zephyr-deploy-service/blob/master/dynamic_conf_template.hbs) with a `proxy_pass` to the port running locally. To run the server, a [`systemd` configuration](https://github.com/hackclub/zephyr-deploy-service/blob/master/systemd-unit-template.service.hbs) is also generated, with a `bash /path/to/entrypoint.sh` located within. Instead of trying to do manual port allocations, we supplied a [PORT variable](https://github.com/hackclub/zephyr-deploy-service/blob/bcf8349308f7c3eb4f01d4e52e747a1408261152/systemd-unit-template.service.hbs#L13) in the environment (for something like Node, this could be accessed using `process.env.PORT`). 29 | 30 | All deployments were done on the `git` user for isolation, and all `systemctl` services needed to be run after `su`ing or `ssh`ing into it. 31 | 32 | The Commie VM (the virtual machine where all operations took place) had an instance of PowerDNS running on port 9191, which is what we used (along with dns_masq) to create custom TLDs. You can see the wrapper we used at [`pdns.js`](https://github.com/hackclub/zephyr-deploy-service/blob/master/pdns.js). 33 | 34 | ## Problems 35 | 36 | - weird assumptions– thought people would SSH, but many didn’t know how 37 | - people started setting up rsync configs & would overwrite their .git folders, breaking our carefully orchestrated deploy flow 38 | - people didn't know to check the auto-generated README, or wouldn't read through the steps 39 | - the provided git steps were broken– the switch from master to main wasn’t consistent for everyone & it broke stuff when people couldn’t push/pull to the primary branch 40 | - inotifywait would clog up when people did big filesystem operations (some people were scripting file creation & it would back up—there was a mutex lock on our ports directory, which slowed everything down and prevented parallelization) 41 | - if someone created an index.html, then created an entrypoint.sh, we didn’t handle that edgecase—instead of updating the config files to use `proxy_pass`, the deploy flow kept the `try_files` clause, leading to 502 errors everywhere. 42 | --------------------------------------------------------------------------------