on master help sign in
upgrade events metadata
commite9d1e8a55a5cd09b7f12a9322b7b10df4cd503df authorGavin Atkinson <gvnatknsn@protonmail.com> dateFri 13 Aug 2021, 15:22 (5 years ago) parent71ea396
47 files changed+392−308
components/EventPreview.js+12−9 content/events/2017-08-11-after-hours-bootstrapping-urbit-from-the-ethereum-blockchain.md+7−7 content/events/2017-09-22-after-hours-fun-with-arvo-the-urbit-os.md+10−8 content/events/2017-10-26-after-hours-designing-robust-human-systems.md+7−7 content/events/2017-11-16-after-hours-visiting-contributors.md+5−5 content/events/2018-01-26-urbit-irl-20181.md+6−6 content/events/2018-02-23-urbit-irl-20182.md+7−7 content/events/2018-03-11-20183-hoon-school.md+7−7 content/events/2018-03-23-urbit-irl-20183.md+6−6 content/events/2018-04-08-20184-hoon-school.md+6−6 content/events/2018-05-25-urbit-irl-20185.md+6−6 content/events/2018-08-03-after-hours-decentralized-web-summit.md+6−6 content/events/2018-08-17-urbit-irl-20188.md+6−6 content/events/2018-09-21-urbit-irl-20189.md+6−6 content/events/2018-10-10-urbit-zcash-blockchain-week.md+6−6 content/events/2018-12-20-after-hours-its-just-a-party-man.md+6−6 content/events/2019-03-01-after-hours-ask-galen-anything.md+6−6 content/events/2019-03-08-urbit-irl-austin-tx.md+6−6 content/events/2019-04-19-urbit-irl-20194.md+6−6 content/events/2019-05-17-urbit-irl-20195.md+6−6 content/events/2019-06-21-urbit-irl-20196.md+6−6 content/events/2019-07-19-urbit-irl-20197.md+6−6 content/events/2019-08-29-urbit-austin-20198.md+6−6 content/events/2019-10-04-urbit-irl-201910.md+6−6 content/events/2019-11-15-urbit-irl-201911.md+6−6 content/events/2019-12-13-urbit-irl-201912.md+6−6 content/events/2020-01-24-urbit-irl-20201.md+6−6 content/events/2020-02-28-urbit-irl-20202.md+6−6 content/events/2020-04-03-urbit-os1-launch-party.md+6−6 content/events/2020-10-09-urbit-hosting-launch-event.md+6−6 content/events/2020-11-05-developer-call-graph-store.md+9−7 content/events/2020-11-19-developer-call-bittorrent-tracking-on-urbit.md+9−7 content/events/2020-12-10-developer-call-injecting-external-services-into-urbit.md+9−7 content/events/2021-02-04-developer-call-architectural-idea-maze.md+9−7 content/events/2021-03-04-developer-call-scaling-azimuth.md+6−6 content/events/2021-03-18-developer-call-pressure-and-protolith.md+10−8 content/events/2021-04-01-developer-call-javascript-apps-on-urbit.md+12−9 content/events/2021-04-15-developer-call-software-distribution.md+15−10 content/events/2021-04-27-bitcoin-launch.md+8−8 content/events/2021-04-29-developer-call-real-time-communications-on-urbit.md+10−8 content/events/2021-05-13-developer-call-versioned-networking.md+10−8 content/events/2021-05-27-town-hall.md+14−9 content/events/2021-07-01-developer-call-runtime-future.md+13−13 content/events/2021-07-15-developer-call-yakshaving.md+13−13 package-lock.json+6 package.json+1 scripts/event_date_upgrade.js+45
components/EventPreview.js+12−9
@@ -1,17 +1,17 @@
11import Link from "next/link";
22
3−export default function EventPreview({ event, className, title, rsvp }) {
3+export default function EventPreview({ event, className, rsvp }) {
44 // Event tiles have a 'dark mode' used when their background images are dark and white text is needed for legibility.
55 const grayText = event.extra?.dark ? "text-midWhite" : "text-gray";
66 const blackText = event.extra?.dark ? "text-white" : "text-black";
77
88 return (
99 <div className={`cursor-pointer ${className}`}>
10− {title ? <h3 className="mb-2">{title}</h3> : null}
10+ {event.title ? <h3 className="mb-2">{event.title}</h3> : null}
1111 <div
1212 key={event.slug}
1313 className={`bg-wall rounded-xl h-96 bg-cover bg-center bg-no-repeat`}
14− style={{ backgroundImage: `url(${event.extra?.image})` || "" }}
14+ style={{ backgroundImage: `url(${event?.image})` || "" }}
1515 >
1616 <Link href={`/events/${event.slug}`}>
1717 <div className="flex flex-col p-4 justify-between items-between h-full relative">
@@ -20,16 +20,19 @@ export default function EventPreview({ event, className, title, rsvp }) {
2020 <p className={grayText}>{event?.type}</p>
2121 </div>
2222 <div className="absolute p-4 left-0 bottom-0 w-full">
23− <p className={`${grayText} type-ui-small`}>{event.extra.host}</p>
24− <p className={`${grayText} type-ui-small`}>
25− {event.extra.guests}
26− </p>
23+ {event.hosts?.map((host) => (
24+ <p className={`${grayText} type-ui-small`}>{host}</p>
25+ ))}
26+
27+ {event.guests?.map((guest) => (
28+ <p className={`${grayText} type-ui-small`}>{guest}</p>
29+ ))}
2730 </div>
28− {rsvp && event.extra.registration_url && event.extra.pinned ? (
31+ {rsvp && event.registration_url ? (
2932 <div className="absolute right-0 bottom-0 p-4">
3033 <a
3134 className="button-sm bg-green text-white"
32− href={event.extra.registration_url}
35+ href={event.registration_url}
3336 >
3437 RSVP
3538 </a>
content/events/2017-08-11-after-hours-bootstrapping-urbit-from-the-ethereum-blockchain.md+7−7
@@ -1,16 +1,16 @@
11+++
22title = "After hours: Bootstrapping Urbit from the Ethereum blockchain"
3−starts=1502492400
4−ends=1502503200
3+starts = "2017-08-11T16:00:00.000-07:00"
4+ends = "2017-08-11T19:00:00.000-07:00"
55pinned = false
6−hosts = [
7− { name = "Urbit" }
8−]
9−contributors =""
6+contributors = ""
107location = "Urbit Office"
11−image=""
8+image = ""
129registration_url = "https://www.meetup.com/urbit-sf/events/242295411/"
1310description = "This time we'll be opening up the office, opening up a few cold ones, and talking about Urbit + Ethereum."
11+
12+[[hosts]]
13+name = "Urbit"
1414+++
1515
1616One thing that's been keeping us busy over the past month is designing the relationship between Urbit and the Ethereum blockchain.  We'll present our current design for this (from ~8:30 - 9) for people to comment on and ask questions about.
content/events/2017-09-22-after-hours-fun-with-arvo-the-urbit-os.md+10−8
@@ -1,16 +1,18 @@
11+++
22title = "After hours: Fun with %arvo (the Urbit OS)"
3−starts=1506121200
4−ends=1506132000
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2017-09-22T16:00:00.000-07:00"
4+ends = "2017-09-22T19:00:00.000-07:00"
5+contributors = ""
96location = "Urbit Office"
10−image=""
7+image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/243213975/"
129description = "Same as usual: cold drinks in the backyard with the hoons.  Come meet other people crazy enough to want to replace the internet."
13−+++ 
10+
11+[[hosts]]
12+name = "Urbit"
13++++
14+
15+
1416
1517Ted, the newest addition to our team, has been working on making changes to %arvo all over the place.  He'll give a short talk about some of his adventures in the Urbit OS and how they're going to make Urbit faster and easier to use.
1618
content/events/2017-10-26-after-hours-designing-robust-human-systems.md+7−7
@@ -1,15 +1,15 @@
11+++
22title = "After hours: Designing robust human systems"
3−starts=1509058800
4−ends=1509069600
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2017-10-26T16:00:00.000-07:00"
4+ends = "2017-10-26T19:00:00.000-07:00"
5+contributors = ""
96location = "Urbit Office"
10−image =""
7+image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/244316080/"
129description = "The office will be open and the beer will be cold.  Come hang out and talk about all things Urbit and Urbit related.  Cryptoeconomics, protocols, architecture, Japanese poetry, ancient aqueducts.  You get the idea."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515Galen is going to give a short (~20m) talk on designing robust human systems.  No code, no math, no time in the terminal.  This is a completely non-technical talk about design principles.  It was originally given at the IDEO Blueprint event a few weeks ago.
content/events/2017-11-16-after-hours-visiting-contributors.md+5−5
@@ -1,14 +1,14 @@
11+++
22title = "After hours: Visiting contributors"
3−starts=1510876800
4−ends=1510887600
5−hosts = [
6− { name = "Urbit" }
7−]
3+starts = "2017-11-16T16:00:00.000-08:00"
4+ends = "2017-11-16T19:00:00.000-08:00"
85location = "Urbit Office"
96image = ""
107registration_url = "https://www.meetup.com/urbit-sf/events/245090392/"
118description = "We've moved! Come check out our new digs, have a beer and hear about what people have been working on."
9+
10+[[hosts]]
11+name = "Urbit"
1212+++
1313
1414This week we have ~mastyr-morzod, ~littel-ponnys and ~mastyr-harlud visiting the office. They've all been contributing great stuff from afar, so we figured out how to get them all in the same room to hack on Urbit for the week. On Thursday evening they'll talk about what they've been coming up with.
content/events/2018-01-26-urbit-irl-20181.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit IRL ~2018.1"
3−starts=1517011200
4−ends=1517018400
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2018-01-26T16:00:00.000-08:00"
4+ends = "2018-01-26T18:00:00.000-08:00"
5+contributors = ""
96location = "Urbit office"
107image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/246972285/"
129description = "Happy New Year!"
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515Turns out that just getting Urbit fans in one room is pretty fun — so come join. No demos or talks this time. Just some time to hang, listen to music and meet up IRL. The room is full of desks and the internet is pretty fast. So impromptu demos and tutorials are the norm. Bring your laptop and we'll install Urbit for you.
content/events/2018-02-23-urbit-irl-20182.md+7−7
@@ -1,15 +1,15 @@
11+++
22title = "Urbit IRL ~2018.2"
3−starts=1519430400
4−ends=1519441200
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2018-02-23T16:00:00.000-08:00"
4+ends = "2018-02-23T19:00:00.000-08:00"
5+contributors = ""
96location = "Urbit office"
10−image= ""
7+image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/247797527/"
129description = "Turns out that just getting Urbit fans in one room is pretty fun — so come hang out and have something to drink."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515No demos or talks. Just some time to hang, listen to music and meet up IRL. The room is full of desks and the internet is pretty fast. So impromptu demos and tutorials are the norm. Bring your laptop and we'll install Urbit for you. Or just relax and talk to people.
content/events/2018-03-11-20183-hoon-school.md+7−7
@@ -1,15 +1,15 @@
11+++
22title = "~2018.3 Hoon School"
3−starts=1520809200
4−ends=1520820000
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2018-03-11T16:00:00.000-07:00"
4+ends = "2018-03-11T19:00:00.000-07:00"
5+contributors = ""
96location = "Urbit office"
10−image= ""
7+image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/248416276/"
129description = "Come, bring your laptop, and we'll get you started building things in Urbit's language — Hoon."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515There's no lesson per-se, think of it more like an 'independent projects' class. A few of us will be around to help you get started working on whatever you're interested in. It's completely fine if you're new to the language. We're going to start with only 10 spots so we can help everyone individually.
content/events/2018-03-23-urbit-irl-20183.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit IRL ~2018.3"
3−starts=1521846000
4−ends=1521856800
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2018-03-23T16:00:00.000-07:00"
4+ends = "2018-03-23T19:00:00.000-07:00"
5+contributors = ""
96location = "Urbit office"
107image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/248852261/"
129description = "Turns out that just getting Urbit fans in one room is pretty fun — so come hang out and have a beer."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515No demos or talks. Just some time to hang, listen to music and meet up IRL. The room is full of desks and the internet is pretty fast. So impromptu demos and tutorials are the norm. Bring your laptop and we'll install Urbit for you. Or just relax and talk to the weird array of people who also want to replace the internet.
content/events/2018-04-08-20184-hoon-school.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "~2018.4 Hoon School"
3−starts=1523203200
4−ends=1523214000
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2018-04-08T09:00:00.000-07:00"
4+ends = "2018-04-08T12:00:00.000-07:00"
5+contributors = ""
96location = "Urbit office"
107image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/249019207/"
129description = "Come, bring your laptop, and we'll get you started building things in Urbit's language — Hoon."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515There's no lesson per-se, think of it more like an 'independent projects' class. A few of us will be around to help you get started working on whatever you're interested in. It's completely fine if you're new to the language. We're going to start with 20 spots so we can help everyone individually.
content/events/2018-05-25-urbit-irl-20185.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit IRL ~2018.5"
3−starts=1527289200
4−ends=1527300000
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors=""
3+starts = "2018-05-25T16:00:00.000-07:00"
4+ends = "2018-05-25T19:00:00.000-07:00"
5+contributors = ""
96location = "Urbit office"
107image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/250889557/"
129description = "Turns out that just getting Urbit fans in one room is pretty fun — so come hang out and have a beer (or wine)."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515Ted will give a quick update on Urbit's new build system, ford. Then it's time to hang, listen to music (our friend Grayson will be playing records) and meet up IRL. The room is full of desks and the internet is pretty fast. Impromptu demos and tutorials are the norm. Bring your laptop and we'll install Urbit for you. Or just relax and talk to the weird array of people who also want to replace the internet.
content/events/2018-08-03-after-hours-decentralized-web-summit.md+6−6
@@ -1,13 +1,13 @@
11+++
22title = "After hours 'decentralized web summit'"
3−starts=1533326400
4−ends=1533333600
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors=""
3+starts = "2018-08-03T13:00:00.000-07:00"
4+ends = "2018-08-03T15:00:00.000-07:00"
5+contributors = ""
96location = "Orbit Room"
107image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/253423219/"
129description = "We’re hosting a last minute happy hour for our friends in town for the Decentralized Web Summit. All are welcome to join us tomorrow, Friday, August 3 at the Orbit Room from 5-7PM."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
content/events/2018-08-17-urbit-irl-20188.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit IRL ~2018.8"
3−starts=1534546800
4−ends=1534554000
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2018-08-17T16:00:00.000-07:00"
4+ends = "2018-08-17T18:00:00.000-07:00"
5+contributors = ""
96location = "Urbit Office"
107image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/253292678/"
129description = "UPDATE: Hey Everyone! Due to a conflict, we are rescheduling our gathering to the following Friday, August 17."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515Turns out that just getting Urbit fans in one room is pretty fun — so come hang out and have a beer.
content/events/2018-09-21-urbit-irl-20189.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit IRL ~2018.9"
3−starts=1537570800
4−ends=1537581600
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2018-09-21T16:00:00.000-07:00"
4+ends = "2018-09-21T19:00:00.000-07:00"
5+contributors = ""
96location = "Urbit Office"
107image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/254602025/"
129description = "Turns out that just getting Urbit fans in one room is pretty fun — so come hang out and have a beer (or wine)."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515Gavin will give an update on Urbit design at 8:30. Then it's time to hang, listen to music and meet up IRL. The room has tables and the internet is pretty fast. Impromptu demos and tutorials are the norm. Bring your laptop and we'll install Urbit for you. Or just relax and talk to the weird array of people who also want to replace the internet.
content/events/2018-10-10-urbit-zcash-blockchain-week.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit + Zcash: 'Blockchain Week'"
3−starts=1539208800
4−ends=1539219600
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors=""
3+starts = "2018-10-10T15:00:00.000-07:00"
4+ends = "2018-10-10T18:00:00.000-07:00"
5+contributors = ""
96location = "Urbit Office"
107image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/255001807/"
129description = "We're all full and looking forward to seeing you tonight. After you check-in at the front door please come up to floor 2, room 222."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515~Schedule
content/events/2018-12-20-after-hours-its-just-a-party-man.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "After hours: It's just a party, man"
3−starts=1545346800
4−ends=1545357600
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2018-12-20T15:00:00.000-08:00"
4+ends = "2018-12-20T18:00:00.000-08:00"
5+contributors = ""
96location = "Urbit Office"
107image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/256732938/"
129description = "We had a busy and productive 2018. This time around, we're just going to play music and relax."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515Come have a beer, connect with Urbit developers, fans and friends IRL, and ask questions about the address space going on-chain (if you have them).
content/events/2019-03-01-after-hours-ask-galen-anything.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "After hours: Ask Galen Anything"
3−starts=1551483000
4−ends=1551493800
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2019-03-01T15:30:00.000-08:00"
4+ends = "2019-03-01T18:30:00.000-08:00"
5+contributors = ""
96location = "Urbit Office"
107image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/259144802/"
129description = "We thought we'd try something new this month. Come hang out and ask Galen questions about Azimuth, Arvo, or any part of Urbit."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
15158:00-9:00pm: AMA
content/events/2019-03-08-urbit-irl-austin-tx.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit IRL: Austin, TX"
3−starts=1552078800
4−ends=1552086000
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2019-03-08T13:00:00.000-08:00"
4+ends = "2019-03-08T15:00:00.000-08:00"
5+contributors = ""
96location = "Garage"
107image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/259307805/"
129description = "We're coming to Austin, TX! It turns out that just getting Urbit fans in one room is pretty fun — so come hang out and have a drink on us. Feel free to bring friends and come early for Urbit shirts."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515Thank you to our friends over at Garage for hosting us. We'll be there from 5-7 PM.
content/events/2019-04-19-urbit-irl-20194.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit IRL ~2019.4"
3−starts=1555711200
4−ends=1555722000
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2019-04-19T15:00:00.000-07:00"
4+ends = "2019-04-19T18:00:00.000-07:00"
5+contributors = ""
96location = "Urbit Office"
107image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/260326318/"
129description = "Turns out that just getting Urbit fans in one room is pretty fun — so come hang out and have a beer (or wine)."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515By popular demand: we'll try to keep this one QUIET so everybody can talk.
content/events/2019-05-17-urbit-irl-20195.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit IRL ~2019.5"
3−starts=1558130400
4−ends=1558141200
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2019-05-17T15:00:00.000-07:00"
4+ends = "2019-05-17T18:00:00.000-07:00"
5+contributors = ""
96location = "Urbit Office"
107image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/261110620/"
129description = "Turns out that just getting Urbit fans in one room is pretty fun — so come hang out and have a beer, or wine."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515This time we'll give a brief update on what we've been up to around 8pm. Turning the music down worked well, so we'll do that again. And if you want help installing Urbit, bring a laptop.
content/events/2019-06-21-urbit-irl-20196.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit IRL ~2019.6"
3−starts=1561154400
4−ends=1561165200
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2019-06-21T15:00:00.000-07:00"
4+ends = "2019-06-21T18:00:00.000-07:00"
5+contributors = ""
96location = "Urbit Office"
107image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/262079477/"
129description = "Turns out that just getting Urbit fans in one room is pretty fun — so come hang out and have some beer and pizza."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515This time we'll give a brief update on what we've been up to around 8pm. Turning the music down worked well, so we'll do that again. And if you want help installing Urbit, bring a laptop.
content/events/2019-07-19-urbit-irl-20197.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit IRL ~2019.7"
3−starts=1563573600
4−ends=1563584400
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2019-07-19T15:00:00.000-07:00"
4+ends = "2019-07-19T18:00:00.000-07:00"
5+contributors = ""
96location = "Urbit Office"
107image = "https://secure.meetupstatic.com/photos/event/e/0/5/b/600_482817435.jpeg"
118registration_url = "https://www.meetup.com/urbit-sf/events/262858100/"
129description = "Turns out that just getting Urbit fans in one room is pretty fun — so come hang out and chat with old and new friends over a beer."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515Turning the music down has worked well, so we'll continue doing that. And if you want help installing Urbit, bring a laptop.
content/events/2019-08-29-urbit-austin-20198.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit Austin ~2019.8"
3−starts=1567112400
4−ends=1567119600
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2019-08-29T14:00:00.000-07:00"
4+ends = "2019-08-29T16:00:00.000-07:00"
5+contributors = ""
96location = "Garage"
107image = "https://secure.meetupstatic.com/photos/event/a/8/d/4/600_483643220.jpeg"
118registration_url = "https://www.meetup.com/urbit-sf/events/263655974/"
129description = "Thanks to our friends over at Garage for offering to host another meetup in Austin, Texas."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515Come have a drink on us, and bring friends! We'll be there 6–8pm.
content/events/2019-10-04-urbit-irl-201910.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit IRL ~2019.10"
3−starts=1570226400
4−ends=1570237200
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2019-10-04T15:00:00.000-07:00"
4+ends = "2019-10-04T18:00:00.000-07:00"
5+contributors = ""
96location = "Urbit Office"
107image = "https://secure.meetupstatic.com/photos/event/e/1/c/5/600_485217797.jpeg"
118registration_url = "https://www.meetup.com/urbit-sf/events/265165676/"
129description = "Lately, Urbit has been having dangerous amounts of fun online. So we got thinking, 'Wouldn't it be smart to try having fun offline as well?' Thus, we invented something totally new: an offline chatroom."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515We're calling it Urbit IRL. You can use it to see your friends face-to-face, converse about Urbit, even to share a beer. And we're trying it out Friday, October 4.
content/events/2019-11-15-urbit-irl-201911.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit IRL ~2019.11"
3−starts=1573858800
4−ends=1573869600
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2019-11-15T15:00:00.000-08:00"
4+ends = "2019-11-15T18:00:00.000-08:00"
5+contributors = ""
96location = "Urbit Office"
107image = "https://secure.meetupstatic.com/photos/event/4/c/e/6/600_486379686.jpeg"
118registration_url = "https://www.meetup.com/urbit-sf/events/266146513/"
129description = "Lately, Urbit has been having dangerous amounts of fun online. So we got thinking, 'Wouldn't it be smart to try having fun offline as well?' Thus, we invented something totally new: an offline chatroom."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515We're calling it Urbit IRL. You can use it to see your friends face-to-face, converse about Urbit, even to share a beer. And we're trying it out Friday, November 15.
content/events/2019-12-13-urbit-irl-201912.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit IRL ~2019.12"
3−starts=1576278000
4−ends=1576285200
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2019-12-13T15:00:00.000-08:00"
4+ends = "2019-12-13T17:00:00.000-08:00"
5+contributors = ""
96location = "Urbit Office"
107image = "https://secure.meetupstatic.com/photos/event/6/a/8/8/600_487107272.jpeg"
118registration_url = "https://www.meetup.com/urbit-sf/events/266904108/"
129description = "Come celebrate, friends! Urbit has had quite the decade, transforming from an intercepted interstellar transmission to a functional operating system, which also functions."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515We're getting together to savor the moment and get hype about what the next decade holds (the whole replacing the internet thing).
content/events/2020-01-24-urbit-irl-20201.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit IRL ~2020.1"
3−starts=1579906800
4−ends=1579917600
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2020-01-24T15:00:00.000-08:00"
4+ends = "2020-01-24T18:00:00.000-08:00"
5+contributors = ""
96location = "Urbit Office"
107image = "https://secure.meetupstatic.com/photos/event/2/1/7/6/600_487988566.jpeg"
118registration_url = "https://www.meetup.com/urbit-sf/events/267753862/"
129description = "Neo-Urbit arrives from the future."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515It's 2020 and Urbit is accelerating. We've got a lot going live this year.
content/events/2020-02-28-urbit-irl-20202.md+6−6
@@ -1,15 +1,15 @@
11+++
22title = "Urbit IRL ~2020.2"
3−starts=1582930800
4−ends=1582941600
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2020-02-28T15:00:00.000-08:00"
4+ends = "2020-02-28T18:00:00.000-08:00"
5+contributors = ""
96location = "Urbit Office"
107image = "https://secure.meetupstatic.com/photos/event/8/5/e/b/600_488794283.jpeg"
118registration_url = "https://www.meetup.com/urbit-sf/events/268519069/"
129description = "Urbit is a wilderness right now. A vast continent of possibility. We're gonna head out there and hack around. Join us."
10+
11+[[hosts]]
12+name = "Urbit"
1313+++
1414
1515Before we go headlong into that unknown region, we're gonna have a party at basecamp (aka the office). Come hang out and have a drink with your fellow Urbit explorers.
content/events/2020-04-03-urbit-os1-launch-party.md+6−6
@@ -1,16 +1,16 @@
11+++
22title = "Urbit OS1 Launch Party"
3−starts=1585951200
4−ends=1585962000
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2020-04-03T15:00:00.000-07:00"
4+ends = "2020-04-03T18:00:00.000-07:00"
5+contributors = ""
96location = "Online event"
107image = "https://secure.meetupstatic.com/photos/event/1/f/8/b/600_489548075.jpeg"
118registration_url = "https://www.meetup.com/urbit-sf/events/268519156/"
129youtube = "71ViyftPkGk"
1310description = "Join us as we launch Urbit OS1!"
11+
12+[[hosts]]
13+name = "Urbit"
1414+++
1515
1616The presentation will begin at 7pm Pacific.
content/events/2020-10-09-urbit-hosting-launch-event.md+6−6
@@ -1,16 +1,16 @@
11+++
22title = "Urbit Hosting Launch Event"
3−starts=1602273600
4−ends=1602280800
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2020-10-09T13:00:00.000-07:00"
4+ends = "2020-10-09T15:00:00.000-07:00"
5+contributors = ""
96location = "Online event"
107image = "https://secure.meetupstatic.com/photos/event/8/600_492480008.jpeg"
118registration_url = "https://www.meetup.com/urbit-sf/events/273439025/"
129youtube = "w3qKe_WZr50"
1310description = ""
11+
12+[[hosts]]
13+name = "Urbit"
1414+++
1515
1616We've been busy building, testing and refining — and now it's time to show off what we've been up to.
content/events/2020-11-05-developer-call-graph-store.md+9−7
@@ -1,17 +1,19 @@
11+++
22title = "Developer Call: Graph Store"
3−starts=1604581200
4−ends=1604586600
5−hosts = [
6− { name = "Lane R." },
7− { name = "Urbit" }
8−]
9−contributors =""
3+starts = "2020-11-05T05:00:00.000-08:00"
4+ends = "2020-11-05T06:30:00.000-08:00"
5+contributors = ""
106location = "Online event"
117image = ""
128registration_url = "https://www.meetup.com/urbit-sf/events/274279522/"
139youtube = "E4DFuAZQ32Y"
1410description = ""
11+
12+[[hosts]]
13+name = "Lane R."
14+
15+[[hosts]]
16+name = "Urbit"
1517+++
1618
1719Developer calls are focused on the technologies that underpin Urbit, from the top of the stack to the very bottom. They’re an opportunity for the people developing and contributing to Urbit to share their knowledge and expertise, including things that typically don’t make it into the docs, such as how and why Urbit works the way it does.
content/events/2020-11-19-developer-call-bittorrent-tracking-on-urbit.md+9−7
@@ -1,17 +1,19 @@
11+++
22title = "Developer Call: BitTorrent tracking on Urbit"
3−starts=1605790800
4−ends=1605796200
5−hosts = [
6− { name = "Lane R." },
7− { name = "Urbit" }
8−]
9−contributors =""
3+starts = "2020-11-19T05:00:00.000-08:00"
4+ends = "2020-11-19T06:30:00.000-08:00"
5+contributors = ""
106location = "Online event"
117image = ""
128registration_url = "https://www.meetup.com/urbit-sf/events/274650693/"
139youtube = "cvx2UV6TJ5I"
1410description = "Developer calls are focused on the technologies that underpin Urbit, from the top of the stack to the very bottom. They’re an opportunity for the people developing and contributing to Urbit to share their knowledge and expertise, including things that typically don’t make it into the docs, such as how and why Urbit works the way it does."
11+
12+[[hosts]]
13+name = "Lane R."
14+
15+[[hosts]]
16+name = "Urbit"
1517+++
1618
1719This call will feature a discussion by Tlon engineer Mark Staarink, also known as ~palfun-foslup, about writing an HTTP BitTorrent tracker and command line app in 1500 lines of code.
content/events/2020-12-10-developer-call-injecting-external-services-into-urbit.md+9−7
@@ -1,17 +1,19 @@
11+++
22title = "Developer Call: Injecting External Services into Urbit"
3−starts=1607605200
4−ends=1607610600
5−hosts = [
6− { name = "Lane R." },
7− { name = "Urbit" }
8−]
9−contributors =""
3+starts = "2020-12-10T05:00:00.000-08:00"
4+ends = "2020-12-10T06:30:00.000-08:00"
5+contributors = ""
106location = "Online event"
117image = ""
128registration_url = "https://www.meetup.com/urbit-sf/events/275051926/"
139youtube = "LaWNHMmxQag"
1410description = ""
11+
12+[[hosts]]
13+name = "Lane R."
14+
15+[[hosts]]
16+name = "Urbit"
1517+++
1618
1719This call will feature a discussion by well-known developer in the Urbit community, ~timluc-miptev. ~timluc will be discussing the work he's been doing to provide access to a Bitcoin full node, which will enable Urbit ships to make Bitcoin payments to other ships. More generally, he'll be discussing the patterns that he's using to manage an Urbit ship's connection to externally-running infrastructure, and how access to that infrastructure can be provided to other Urbit nodes.
content/events/2021-02-04-developer-call-architectural-idea-maze.md+9−7
@@ -1,16 +1,18 @@
11+++
22title = "Developer Call: Architectural Idea Maze"
3−starts=1612443600
4−ends=1612449000
5−hosts = [
6− { name = "Lane R." },
7− { name = "Urbit" }
8−]
9−contributors =""
3+starts = "2021-02-04T05:00:00.000-08:00"
4+ends = "2021-02-04T06:30:00.000-08:00"
5+contributors = ""
106location = "Online event"
117image = ""
128registration_url = "https://www.meetup.com/urbit-sf/events/275992798/"
139description = ""
10+
11+[[hosts]]
12+name = "Lane R."
13+
14+[[hosts]]
15+name = "Urbit"
1416+++
1517
1618Tlon Engineer Philip Monk is interviewed by Poprox in an "Architectural Idea Maze" discussion, where Phil will discuss the choices made, and possibly more importantly, the choices _not_ made in the design of a component of Urbit. In this discussion, Phil will be focusing on subscriptions in all their forms throughout Urbit.
content/events/2021-03-04-developer-call-scaling-azimuth.md+6−6
@@ -1,16 +1,16 @@
11+++
22title = "Developer Call: Scaling Azimuth"
3−starts=1614862800
4−ends=1614868200
5−hosts = [
6− { name = "Urbit" }
7−]
8−contributors =""
3+starts = "2021-03-04T05:00:00.000-08:00"
4+ends = "2021-03-04T06:30:00.000-08:00"
5+contributors = ""
96location = "Online event"
107image = ""
118registration_url = "https://www.meetup.com/urbit-sf/events/276692816/"
129youtube = "CKuHXrdkIw0"
1310description = ""
11+
12+[[hosts]]
13+name = "Urbit"
1414+++
1515
1616Urbit engineer Philip Monk will be discussing the solution space to scaling Azimuth, the infrastructure for Urbit ID that's built on Ethereum.
content/events/2021-03-18-developer-call-pressure-and-protolith.md+10−8
@@ -1,18 +1,20 @@
11+++
22title = "Developer Call: Pressure and Protolith"
3−starts=1616068800
4−ends=1614868200
5−hosts = [
6− { name = "Josh Lehman", patp = "~wolref-podlex)" },
7−]
8−contributors = [
9− { name = "Matilde Park", patp = "~haddef-sigwen" }
10−]
3+starts = "2021-03-18T05:00:00.000-07:00"
4+ends = "2021-03-04T06:30:00.000-08:00"
115location = "Online event"
126image = ""
137registration_url = "https://www.meetup.com/urbit-sf/events/276898246/"
148description = "Matilde Park, Landscape team lead, talks about the distinctions between the Landscape product and basic Urbit development, and the significance of building Landscape for Tlon."
159youtube = "XjIDZQUZZtE"
10+
11+[[hosts]]
12+name = "Josh Lehman"
13+patp = "~wolref-podlex)"
14+
15+[[contributors]]
16+name = "Matilde Park"
17+patp = "~haddef-sigwen"
1618+++
1719
1820Landscape was an experiment. Now it’s Tlon's flagship client for the Urbit project: a product, a full-stack application, spread across a variety of Gall agents and libraries, lighting the way forward against the dwindling unknowns in the reality of Urbit userspace development and distribution.
content/events/2021-04-01-developer-call-javascript-apps-on-urbit.md+12−9
@@ -1,21 +1,24 @@
11+++
22title = "Developer Call: JavaScript Apps on Urbit"
3−starts=1617278400
4−ends=1617283800
5−hosts = [
6− { name = "Mike Osborne", patp = "~taller-ravnut" }
7−]
8−contributors = [
9− { name = "Tyler Brown Cifu Shuster", patp = "~radbur-sivmus" }
10−]
3+starts = "2021-04-01T05:00:00.000-07:00"
4+ends = "2021-04-01T06:30:00.000-07:00"
115location = "Online Event"
126image = ""
137registration_url = "https://www.meetup.com/urbit-sf/events/277261928/"
148description = "In this talk, Tyler Brown Cifu Shuster (~radbur-sivmus) explains how to use Javascript tools to develop a client for Urbit."
159youtube = "avLSSdb2VLM"
10+
11+[[hosts]]
12+name = "Mike Osborne"
13+patp = "~taller-ravnut"
14+
15+[[contributors]]
16+name = "Tyler Brown Cifu Shuster"
17+patp = "~radbur-sivmus"
1618+++
19+
1720Urbit provides a powerful and extensible platform for all kinds of app development. It can serve as a general-purpose datastore, decentralized network, and identity solution for a variety of front-end applications. The client that ships with Urbit, Landscape, provides one example of the kind of applications that can be built on the platform. However, other developers can use the same tools used to create Landscape to power their own interfaces and clients for Urbit.
1821
1922Tyler Brown Cifu Shuster (~radbur-sivmus) has worked with the Landscape team over the past few months to extract these tools into reusable Javascript packages. In this talk, he will explain how to use them to develop a client for Urbit independent of Landscape. He will cover the basic lifecycle of a client and explain how Javascript interface and state frameworks pair with Urbit's data model.
2023
21−This talk should enable anyone familiar with modern Javascript development and HTTP grammar to build an application on top of Urbit without writing any back-end code
24+This talk should enable anyone familiar with modern Javascript development and HTTP grammar to build an application on top of Urbit without writing any back-end code
content/events/2021-04-15-developer-call-software-distribution.md+15−10
@@ -1,19 +1,24 @@
11+++
22title = "Developer Call: 3rd Party Software Distribution"
3−starts=1618488000
4−ends=1618491600
5−hosts = [
6− { name = "Josh Lehman", patp = "~wolref-podlex" }
7−]
8−contributors = [
9− { name = "Raghu", patp = "~sovmep-ripsum" },
10− { name = " Philip Monk", patp = "~wicdev-wisryt" }
11−]
3+starts = "2021-04-15T05:00:00.000-07:00"
4+ends = "2021-04-15T06:00:00.000-07:00"
125location = "Online Event"
13−image=""
6+image = ""
147registration_url = "https://www.meetup.com/urbit-sf/events/277474491/"
158description = "Some exciting work has been going on behind the scenes to provide the foundation for 3rd party software distribution."
169youtube = "XwICC6Its1E"
10+
11+[[hosts]]
12+name = "Josh Lehman"
13+patp = "~wolref-podlex"
14+
15+[[contributors]]
16+name = "Raghu"
17+patp = "~sovmep-ripsum"
18+
19+[[contributors]]
20+name = " Philip Monk"
21+patp = "~wicdev-wisryt"
1722+++
1823
1924Some exciting work has been going on behind the scenes to provide the foundation for 3rd party software distribution. In this talk Phil (~wicdev-wisryt) and Raghu (~sovmep-ripsum) will discuss the work they've been doing to clay to provide "virtual desks"—an integral part of the infrastructure needed to have safe, generic software distribution.
content/events/2021-04-27-bitcoin-launch.md+8−8
@@ -1,18 +1,18 @@
11+++
22title = "Bitcoin Launch"
3−starts=1619535600
4−ends=1619541000
5−hosts = [
6− { name = "Urbit Foundation" }
7−]
8−contributors = [
9− { name = "Marty Bent" }
10−]
3+starts = "2021-04-27T08:00:00.000-07:00"
4+ends = "2021-04-27T09:30:00.000-07:00"
115location = "Online Event"
126image = "https://media.urbit.org/site/events/bitcoin-launch-event.png"
137registration_url = "https://www.meetup.com/urbit-sf/events/276741426/"
148youtube = "_aRnfacZPto"
159description = "Bitcoin is coming to Urbit! With the upcoming release of the Bitcoin Wallet, you will be able to pay Urbit ships directly with BTC."
10+
11+[[hosts]]
12+name = "Urbit Foundation"
13+
14+[[contributors]]
15+name = "Marty Bent"
1616+++
1717
1818Bitcoin is coming to Urbit! With the upcoming release of the Bitcoin Wallet, you will be able to pay Urbit ships directly with BTC.
content/events/2021-04-29-developer-call-real-time-communications-on-urbit.md+10−8
@@ -1,18 +1,20 @@
11+++
22title = "Developer Call: Real-Time Communication on Urbit"
3−starts=1619697600
4−ends=1619701200
5−hosts = [
6− { name = "Josh Lehman", patp = "~wolref-podlex" }
7−]
8−contributors = [
9− { name = "Edward Amsden", patp = "~ritpub-sipsyl" }
10−]
3+starts = "2021-04-29T05:00:00.000-07:00"
4+ends = "2021-04-29T06:00:00.000-07:00"
115location = "Online Event"
126image = ""
137registration_url = "https://www.meetup.com/urbit-sf/events/277674273/"
148description = "Video chat on Urbit? It's nearly here with WebRTC."
159youtube = "XFct6JZHPC0"
10+
11+[[hosts]]
12+name = "Josh Lehman"
13+patp = "~wolref-podlex"
14+
15+[[contributors]]
16+name = "Edward Amsden"
17+patp = "~ritpub-sipsyl"
1618+++
1719
1820Video chat on Urbit? It's nearly here using the WebRTC protocol. Edward Amsden (`~ritpub-sipsyl`) will be giving us a look at the WebRTC Airlock library that he has developed that handles all the hard parts of WebRTC. This will allow developers to simply call or answer calls by ship or app name. Edward will also be giving us a live text-based demo of WebRTC on urbit. Please join us for an exciting presentation.
content/events/2021-05-13-developer-call-versioned-networking.md+10−8
@@ -1,18 +1,20 @@
11+++
22title = "Developer Call: P2P Versioned Networking"
3−starts=1620932400
4−ends=1620936000
5−hosts = [
6− { name = "Josh Lehman", patp = "~wolref-podlex" }
7−]
8−contributors = [
9− { name = "Liam Fitzgerald", patp = "~hastuc-dibtux" }
10−]
3+starts = "2021-05-13T12:00:00.000-07:00"
4+ends = "2021-05-13T13:00:00.000-07:00"
115location = "Online Event"
126image = ""
137registration_url = "https://www.meetup.com/urbit-sf/events/278052029/"
148description = "Versioned Networking for Application Developers"
159youtube = "BhQ1vk4jGsk"
10+
11+[[hosts]]
12+name = "Josh Lehman"
13+patp = "~wolref-podlex"
14+
15+[[contributors]]
16+name = "Liam Fitzgerald"
17+patp = "~hastuc-dibtux"
1618+++
1719
1820Building solid networking infrastructure has been a major focus of the Urbit project since its inception. There's a lot going on under the hood
content/events/2021-05-27-town-hall.md+14−9
@@ -1,19 +1,24 @@
11+++
22title = "Town Hall"
3−starts=1622127600
4−ends=1622140200
5−hosts = [
6− { name = "Josh Lehman", patp = "~wolref-podlex" }
7−]
8−contributors = [
9− { name = "Hunter Miller", patp = "~nocsyx-lassul"},
10− { name = "Justin Murphy", patp = "~hatryx-lastud"}
11−]
3+starts = "2021-05-27T08:00:00.000-07:00"
4+ends = "2021-05-27T11:30:00.000-07:00"
125location = "Online Event"
136image = "https://media.urbit.org/site/events/URBIT-TOWN-HALL.png"
147registration_url = "https://www.meetup.com/urbit-sf/events/278188361/"
158description = "A virtual mini-conference for the Urbit community featuring a special keynote talk from our friend Justin Murphy."
169youtube = "8YSwt0vDPj0"
10+
11+[[hosts]]
12+name = "Josh Lehman"
13+patp = "~wolref-podlex"
14+
15+[[contributors]]
16+name = "Hunter Miller"
17+patp = "~nocsyx-lassul"
18+
19+[[contributors]]
20+name = "Justin Murphy"
21+patp = "~hatryx-lastud"
1722+++
1823
1924The Urbit community has grown at a rapid clip throughout 2021. There are so many exciting things going on that it's hard to convey them all, even with Developer Calls happening every two weeks. This event will function as a virtual "mini-conference" where we'll give a series of important and exciting announcements, including both formal and informal talks from many members of our community.
content/events/2021-07-01-developer-call-runtime-future.md+13−13
@@ -1,20 +1,20 @@
11+++
2−
32title = "Developer Call: The Urbit Runtime and its Future"
4−starts=1625140800
5−ends=1625144400
6−hosts = [
7− { name = "Ted Blackman", patp = "~rovnys-ricfer" }
8−]
9−contributors = [
10− { name = "Joe Bryan", patp = "~master-morzod"}
11−]
12−location = "Online Event"
13−image = ""
14−registration_url = "https://www.meetup.com/urbit-sf/events/279137337/"
15−description = "The current and future thinking about the Urbit runtime"
3+starts = "2021-07-01T05:00:00.000-07:00"
4+ends = "2021-07-01T06:00:00.000-07:00"
5+location = "Online Event"
6+image = ""
7+registration_url = "https://www.meetup.com/urbit-sf/events/279137337/"
8+description = "The current and future thinking about the Urbit runtime"
169youtube = "z0grAh_yhE8"
1710
11+[[hosts]]
12+name = "Ted Blackman"
13+patp = "~rovnys-ricfer"
14+
15+[[contributors]]
16+name = "Joe Bryan"
17+patp = "~master-morzod"
1818+++
1919
2020Please join us for a look behind the curtain at the Urbit Runtime. Host Ted Blackman (~rovnys-ricfer) will be interviewing Joe Bryan (~master-morzod). Topics will include event log truncation, plans for storing more than 2GB, multithreading implementation, and much more.
content/events/2021-07-15-developer-call-yakshaving.md+13−13
@@ -1,20 +1,20 @@
11+++
2−
32title = "Developer Call: Urbit Yakshaving"
4−starts=1626350400
5−ends=1626354000
6−hosts = [
7− { name = "Josh Lehman", patp = "~wolref-podlex" }
8−]
9−contributors = [
10− { name = "Jake Miller", patp = "~littel-wolfur" }
11−]
12−location = "Online Event"
13−image = ""
14−registration_url = "https://www.meetup.com/urbit-sf/events/279349114/"
15−description = "A look at ~littel-wolfer's Hoon development setup"
3+starts = "2021-07-15T05:00:00.000-07:00"
4+ends = "2021-07-15T06:00:00.000-07:00"
5+location = "Online Event"
6+image = ""
7+registration_url = "https://www.meetup.com/urbit-sf/events/279349114/"
8+description = "A look at ~littel-wolfer's Hoon development setup"
169youtube = "AG6IPaXbiiY"
1710
11+[[hosts]]
12+name = "Josh Lehman"
13+patp = "~wolref-podlex"
14+
15+[[contributors]]
16+name = "Jake Miller"
17+patp = "~littel-wolfur"
1818+++
1919
2020This week Jake Miller (~littel-wolfer) will be giving us a look at his development process, walking through his "urbit-emacs" setup and how he uses org-mode and tmux for hoon development. He'll also be giving us a quick demo of his work-in-progress Roam importer.
package-lock.json+6
@@ -3997,6 +3997,12 @@
39973997 }
39983998 }
39993999 },
4000+ "luxon": {
4001+ "version": "2.0.2",
4002+ "resolved": "https://registry.npmjs.org/luxon/-/luxon-2.0.2.tgz",
4003+ "integrity": "sha512-ZRioYLCgRHrtTORaZX1mx+jtxKtKuI5ZDvHNAmqpUzGqSrR+tL4FVLn/CUGMA3h0+AKD1MAxGI5GnCqR5txNqg==",
4004+ "dev": true
4005+ },
40004006 "make-dir": {
40014007 "version": "3.1.0",
40024008 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
package.json+1
@@ -41,6 +41,7 @@
4141 },
4242 "devDependencies": {
4343 "husky": "^6.0.0",
44+ "luxon": "^2.0.2",
4445 "prettier": "^2.3.1",
4546 "pretty-quick": "^3.1.0"
4647 }
scripts/event_date_upgrade.jsnew file+45
@@ -0,0 +1,45 @@
1+const fs = require("fs");
2+const matter = require("gray-matter");
3+const toml = require("@iarna/toml");
4+const path = require("path");
5+const { DateTime } = require("luxon");
6+
7+const dir = path.join(process.cwd(), "../content/events");
8+
9+const options = {
10+ // engines: {
11+ // toml: toml.parse.bind(toml),
12+ // toml: toml.stringify.bind(toml),
13+ // },
14+ engines: {
15+ toml: {
16+ parse: toml.parse.bind(toml),
17+ stringify: toml.stringify.bind(toml),
18+ },
19+ },
20+ language: "toml",
21+ delimiters: "+++",
22+};
23+
24+fs.readdirSync(dir, { withFileTypes: true })
25+ .filter((f) => f.isFile() && f.name !== "_index.md")
26+ .map((f, i) => {
27+ const fileContents = matter(
28+ fs.readFileSync(path.join(dir, f.name)),
29+ options
30+ );
31+ // This uses your default system timezone, so if you are not in 'America/Los_Angeles' the output will be incorrect.
32+ const starts = DateTime.fromSeconds(fileContents.data.starts).toISO();
33+ const ends = DateTime.fromSeconds(fileContents.data.ends).toISO();
34+
35+ fileContents.data.starts = starts;
36+ fileContents.data.ends = ends;
37+
38+ const data = matter.stringify(
39+ fileContents.content,
40+ fileContents.data,
41+ options
42+ );
43+
44+ // fs.writeFileSync(path.join(dir, f.name), data);
45+ });