Compare commits
360 Commits
1301e23824
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f8e8077425 | ||
|
|
522e1ead8d | ||
|
|
e07b9e3935 | ||
|
|
4a2a71594b | ||
|
|
4144377426 | ||
|
|
cf837bf8ff | ||
|
|
bbbf2cbfa0 | ||
|
|
5408608c81 | ||
|
|
1d416e9940 | ||
|
|
3badfa73be | ||
|
|
449ca7c6ae | ||
|
|
52b3a7c0d7 | ||
|
|
5382f53856 | ||
|
|
8fbe126b5b | ||
|
|
5fdbc0489c | ||
|
|
96c03335c2 | ||
|
|
6004baf166 | ||
|
|
a108d1ad7d | ||
|
|
93e36fba2d | ||
|
|
1042880357 | ||
|
|
693aafc7b7 | ||
|
|
509574a540 | ||
|
|
b1ab24491b | ||
|
|
a7e2b2cf18 | ||
|
|
7e012eb3d1 | ||
|
|
b97a319cc1 | ||
|
|
7b6b816597 | ||
|
|
4649a813db | ||
|
|
8326c412aa | ||
|
|
8bc0ad22c8 | ||
|
|
beccd253bf | ||
|
|
843a8c01b9 | ||
|
|
ef0cce57d0 | ||
|
|
10c7b20a45 | ||
|
|
973720b07d | ||
|
|
0b9db9ded6 | ||
|
|
264a79a10d | ||
|
|
dcb3a87896 | ||
|
|
a7a7b01104 | ||
|
|
a98171e07d | ||
|
|
b77d4cff28 | ||
|
|
c435d88f29 | ||
|
|
150c9a66d7 | ||
|
|
57f5d7e4e5 | ||
|
|
7fdbed1121 | ||
|
|
988afedbae | ||
|
|
d81e71b39a | ||
|
|
ef96a2dfa1 | ||
|
|
1571354aa9 | ||
|
|
379d686c82 | ||
|
|
72238d7809 | ||
|
|
b77c38c8aa | ||
|
|
4ec9de81bd | ||
|
|
d9a619d470 | ||
|
|
ea611a5575 | ||
|
|
7fc4914808 | ||
|
|
76bc17dd7f | ||
|
|
bdfdced801 | ||
|
|
bfb56ceaa3 | ||
|
|
ef352dd0d8 | ||
|
|
ff3b6b8166 | ||
|
|
f11814dbdc | ||
|
|
754932a0b7 | ||
|
|
6d5b5af9e4 | ||
|
|
c869ec0d32 | ||
|
|
07694c123c | ||
|
|
227392e386 | ||
|
|
52d4b54bb6 | ||
|
|
dab9f8b452 | ||
|
|
33025fb40c | ||
|
|
205b8bab2f | ||
|
|
e5d705c1d1 | ||
|
|
67ca755a26 | ||
|
|
5417819d85 | ||
|
|
37c70cc8ba | ||
|
|
b17bad5594 | ||
|
|
08506c38bb | ||
|
|
e075c141b6 | ||
|
|
7ba3d9ef27 | ||
|
|
7c3e5209bd | ||
|
|
756010d8d6 | ||
|
|
4e36317fbd | ||
|
|
eca79158e2 | ||
|
|
68328a3a6b | ||
|
|
dda5e31f14 | ||
|
|
4a0195e6d9 | ||
|
|
b2a4636aef | ||
|
|
3512db7179 | ||
|
|
a258469eba | ||
|
|
7d363e84b6 | ||
|
|
ac2ba3a317 | ||
|
|
80745f51d0 | ||
|
|
d6a0f38374 | ||
|
|
aed2384785 | ||
|
|
2b42784981 | ||
|
|
dba00cd816 | ||
|
|
9e53e36a6f | ||
|
|
a53634f560 | ||
|
|
10f744baf5 | ||
|
|
20f12fa3dd | ||
|
|
9da605f6a9 | ||
|
|
f771f7b1df | ||
|
|
71a729df00 | ||
|
|
37056e3e57 | ||
|
|
c50a5cfef3 | ||
|
|
825f27201b | ||
|
|
a8edfedd1c | ||
|
|
20cf29c51b | ||
|
|
5342897e9b | ||
|
|
47b8e4af23 | ||
|
|
45dad4d9eb | ||
|
|
c32d4dcb05 | ||
|
|
701849cc92 | ||
|
|
484164fb51 | ||
|
|
ef797777ea | ||
|
|
764f312682 | ||
|
|
75eedc3ebc | ||
|
|
2a76fbfe9e | ||
|
|
f4fb99db07 | ||
|
|
a1b9bf6368 | ||
|
|
34d13cf639 | ||
|
|
3652b62a76 | ||
|
|
56f940ba15 | ||
|
|
2ef93ed931 | ||
|
|
8a432c74dc | ||
|
|
bcd2847d5e | ||
|
|
077402c119 | ||
|
|
b17f6ca0ca | ||
|
|
c79bed1658 | ||
|
|
4c6486c19c | ||
|
|
585222db6b | ||
|
|
7ecef87010 | ||
|
|
5483d052f1 | ||
|
|
52aaea4d7d | ||
|
|
cb16b0975e | ||
|
|
8e8d755643 | ||
|
|
e0e8defed0 | ||
|
|
a228b25ccf | ||
|
|
3aaf923897 | ||
|
|
b14ed161d3 | ||
|
|
292367c1d6 | ||
|
|
31e0bc3d79 | ||
|
|
e03606f043 | ||
|
|
53a7d5f14d | ||
|
|
854859c725 | ||
|
|
9a172557d3 | ||
|
|
f99d9d83cb | ||
|
|
7fc1def0b5 | ||
|
|
23e8d5f1e2 | ||
|
|
0a75fac1db | ||
|
|
6366b085c1 | ||
|
|
6c2773f57c | ||
|
|
90a098a498 | ||
|
|
ea32690a19 | ||
|
|
6b4b177e9c | ||
|
|
90cf3c634d | ||
|
|
d11980328f | ||
|
|
4aa26db26f | ||
|
|
8c5bb8cb89 | ||
|
|
6a38f81671 | ||
|
|
5e3724cdca | ||
|
|
a4d291d85c | ||
|
|
9181e611e4 | ||
|
|
b496839960 | ||
|
|
f84133312d | ||
|
|
3cc325bcf3 | ||
|
|
f47a322b0b | ||
|
|
eb4d655d6a | ||
|
|
1ea3707f83 | ||
|
|
3206e663a9 | ||
|
|
897cb0955b | ||
|
|
b41c584625 | ||
|
|
c321c3d159 | ||
|
|
568d7997f6 | ||
|
|
194ebfde98 | ||
|
|
60fe6e6b2c | ||
|
|
11aa9e3a2a | ||
|
|
6186729d1b | ||
|
|
121e097b07 | ||
|
|
35055f552c | ||
|
|
0e1ba20d63 | ||
|
|
2a6f13f3ee | ||
|
|
f49ca0576a | ||
|
|
d6f195cc6d | ||
|
|
382c2e1766 | ||
|
|
d993269af5 | ||
|
|
6ff5651b3e | ||
|
|
ee942aba97 | ||
|
|
bddb20b5ef | ||
|
|
ad8e912442 | ||
|
|
9e1d757ffd | ||
|
|
7dc73935a1 | ||
|
|
4861b9e8c2 | ||
|
|
19bbe996eb | ||
|
|
a3f237a572 | ||
|
|
70470d2900 | ||
|
|
ec2f46b39c | ||
|
|
3de0c30f05 | ||
|
|
f061deefc4 | ||
|
|
fc629335bd | ||
|
|
607103cce0 | ||
|
|
6587f71793 | ||
|
|
c7f286f685 | ||
|
|
cf4e9f8f4a | ||
|
|
3f173ef41f | ||
|
|
18f693e0f2 | ||
|
|
d43c2ef748 | ||
|
|
927edc27cc | ||
|
|
8ffe649373 | ||
|
|
795e12b581 | ||
|
|
0b95bbd26d | ||
|
|
8fd3582d2c | ||
|
|
028fc13bfd | ||
|
|
460e3c90d7 | ||
|
|
031f232e18 | ||
|
|
390ff9845f | ||
|
|
c84eadc021 | ||
|
|
3b59a17eb7 | ||
|
|
bdea7aab50 | ||
|
|
4daa7e441a | ||
|
|
c9ee83d27b | ||
|
|
4adb0ad62e | ||
|
|
01c3125932 | ||
|
|
320fae36d3 | ||
|
|
64844455a5 | ||
|
|
9095177214 | ||
|
|
00f76b342a | ||
|
|
b8930c72a9 | ||
|
|
11b335af2c | ||
|
|
821544beb0 | ||
|
|
a5b657b6ce | ||
|
|
524f9b6dbe | ||
|
|
b84ad2899e | ||
|
|
99f84ba318 | ||
|
|
f107257e91 | ||
|
|
028a215338 | ||
|
|
9f474e55a4 | ||
|
|
590d8d74c6 | ||
|
|
cbaaa3df87 | ||
|
|
c1b7c8db03 | ||
|
|
ea899117a3 | ||
|
|
232a5f178b | ||
|
|
114587b25b | ||
|
|
b63736263d | ||
|
|
b7fed2b328 | ||
|
|
9337b4d7aa | ||
|
|
7013c0a204 | ||
|
|
6c29430945 | ||
|
|
c240f5edae | ||
|
|
89c44a5666 | ||
|
|
4a696deb26 | ||
|
|
6139be8dff | ||
|
|
a3628e857b | ||
|
|
431c36b18c | ||
|
|
4bee04eca1 | ||
|
|
1b2aa18adc | ||
|
|
dd5d2c9ef7 | ||
|
|
2a9d1d5386 | ||
|
|
d31cdacf6a | ||
|
|
af88c495a3 | ||
|
|
1a66a9c252 | ||
|
|
d61de23c79 | ||
|
|
7a89327591 | ||
|
|
8b51720358 | ||
|
|
d7fc5c895b | ||
|
|
6d417065dc | ||
|
|
51d1767e44 | ||
|
|
b7c27dd6e7 | ||
|
|
2ecf93552b | ||
|
|
86a75098bf | ||
|
|
82e6f564b9 | ||
|
|
ef4ff89b6c | ||
|
|
fd7e11dc2c | ||
|
|
c513ffd669 | ||
|
|
41685052be | ||
|
|
84d1c0ce12 | ||
|
|
28a0b55d45 | ||
|
|
d19c1ab1e6 | ||
|
|
18ada2593c | ||
|
|
eada7a6c61 | ||
|
|
4d3e5dd564 | ||
|
|
2b2ddac6f6 | ||
|
|
bd73bfea96 | ||
|
|
e75a6b4644 | ||
|
|
05ddd5279d | ||
|
|
094b9ec835 | ||
|
|
52b0c3776f | ||
|
|
532180cab3 | ||
|
|
c2307ca4a7 | ||
|
|
857d565a13 | ||
|
|
9cbc90e0a1 | ||
|
|
8f9b069340 | ||
|
|
02a75b0fd7 | ||
|
|
d8808cfa27 | ||
|
|
79c28e9a10 | ||
|
|
21a6607edc | ||
|
|
83db1968b8 | ||
|
|
5f3bb0f7a2 | ||
|
|
d283c4f2a2 | ||
|
|
59a08c93f2 | ||
|
|
abde92caeb | ||
|
|
5b18606b2b | ||
|
|
d715b5c6a0 | ||
|
|
b2114cd2e4 | ||
|
|
24a49a419a | ||
|
|
734b6842f5 | ||
|
|
a9ff900a00 | ||
|
|
3afc383436 | ||
|
|
a5cb1efa96 | ||
|
|
b00a81551b | ||
|
|
f8129de5a9 | ||
|
|
278088506c | ||
|
|
e2523a1359 | ||
|
|
40e1078fca | ||
|
|
0613b46308 | ||
|
|
32e3cc2fd4 | ||
|
|
ec308f2e01 | ||
|
|
4787059e68 | ||
|
|
f3421ec46d | ||
|
|
5a9139fa08 | ||
|
|
92af05473f | ||
|
|
11a9541acc | ||
|
|
9376d8df82 | ||
|
|
c3361930f1 | ||
|
|
4ed99ad0fe | ||
|
|
e4283629f5 | ||
|
|
ba9c2c4ac9 | ||
|
|
f31dfff059 | ||
|
|
fde1dbd986 | ||
|
|
08329b04a8 | ||
|
|
58bdec0335 | ||
|
|
1612f52ac0 | ||
|
|
b6139e1a50 | ||
|
|
9ba1e3e852 | ||
|
|
8790fa297b | ||
|
|
c18a5c6b77 | ||
|
|
4ce8e994e2 | ||
|
|
5eb0760ed6 | ||
|
|
01c91f963e | ||
|
|
bdc00fc9af | ||
|
|
48c5782268 | ||
|
|
362b963741 | ||
|
|
74bd643abf | ||
|
|
366e5896eb | ||
|
|
c5d408cc98 | ||
|
|
a98bd9b782 | ||
|
|
fb18e43fdd | ||
|
|
dc55bc9d02 | ||
|
|
bff6da0f3c | ||
|
|
f6f6f7906f | ||
|
|
fb2304af38 | ||
|
|
40842002f4 | ||
|
|
ae110070c4 | ||
|
|
4f414be679 | ||
|
|
47fb949f26 | ||
|
|
825fe2627e | ||
|
|
fe510b5a65 | ||
|
|
952f9a6a28 | ||
|
|
9611ac31a4 | ||
|
|
7a44768c08 |
48
assets/images/film.svg
Normal file
@@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg viewBox="0 0 407 299.52" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g fill-rule="evenodd" stroke="#000">
|
||||
<path d="m3.6047 276.11l144.34-0.9047c65.433-330.52 201.75 30.602 243.31-269.6l-75.055 2.7141c-6.6315 207.32-207.85-73.623-312.59 267.79z" stroke-width="1.209"/>
|
||||
<path d="m9.8911 268.85l132.67-0.3774c71.647-323.89 203.28 28.209 243.86-258.04l-66.486 2.1028c-8.9006 202.54-208.26-66.805-310.04 256.32z" fill="#fff" stroke-width="1.167"/>
|
||||
<path d="m15.655 270.37l118.33-1.3317c67.88-328.3 213.83 15.915 248.12-259.63l-57.595 1.0425c-11.554 215.97-203.4-61.615-308.86 259.92z" stroke-width="1.049"/>
|
||||
</g>
|
||||
<path id="b" d="m317.05 23.014l68.414-0.4852" fill="none" stroke="#000" stroke-width="8"/>
|
||||
<use id="a" x="0.05918" y="8.070896" width="400" height="400" xlink:href="#b"/>
|
||||
<use x="-1.39643" y="8.070896" width="400" height="400" xlink:href="#a"/>
|
||||
<use x="1.938454" y="-5.999996" width="400" height="400" xlink:href="#a"/>
|
||||
<use width="400" height="400" xlink:href="#a"/>
|
||||
<g fill-rule="evenodd">
|
||||
<g stroke="#000">
|
||||
<path d="m227.77 94.824l113.54 32.994 5.3372-4.3668-109.66-29.112-9.2189 0.4852z"/>
|
||||
<path d="m254.94 95.31l100.92 21.834 2.9112-6.065-95.585-16.254-8.2485 0.4852z"/>
|
||||
<path d="m277.4 92.782l87.721 8.4209 4.8033-9.163-78.342-3.8013-14.182 4.5434z"/>
|
||||
<path d="m221.95 96.523l104.32 37.846 8.4911-1.6982-107.96-36.876-4.8521 0.7278z"/>
|
||||
<path d="m148.44 97.978l93.644 23.29 8.9763-0.2426-96.07-24.503-6.5503 1.4556z"/>
|
||||
<path d="m176.83 94.582l86.852 28.384 16.012 4.3668-93.644-33.479-9.2189 0.7278z"/>
|
||||
<path d="m201.09 94.582l94.857 35.905 18.438 3.1538-109.17-39.302-4.1242 0.2426z"/>
|
||||
<path d="m229.23 123.94l-89.278-23.775-12.13 3.3964 87.822 24.745 13.586-4.3668z"/>
|
||||
<path d="m208.36 133.64l-88.307-27.171-13.1 6.7929 93.159 25.716 8.2485-5.3373z"/>
|
||||
<path d="m193.32 145.77l-91.704-26.201-8.2485 3.8816 91.704 27.657 8.2485-5.3373z"/>
|
||||
<path d="m182.16 160.33l-100.44-28.142-4.852 6.3076 102.38 27.657 2.9112-5.8224z"/>
|
||||
<path d="m68.14 149.17l103.35 27.657-1.4556 8.2485-109.17-30.083 7.2781-5.8224z"/>
|
||||
<path d="m56.495 163.72l107.72 33.964-3.3964 10.674-109.17-36.39 4.852-8.2485z"/>
|
||||
<path d="m43.88 184.59l110.14 36.39-2.426 10.189-113.05-39.302 5.3372-7.2781z"/>
|
||||
<path d="m32.235 204c38.816 14.071 77.633 35.972 116.45 42.213l-0.9704 7.7633c-47.869-7.82-78.926-26.848-118.39-40.272l2.9112-9.7041z"/>
|
||||
<path d="m23.987 225.34c40.11 13.909 71.691 36.348 120.33 41.728v3.8816l-124.21-35.42 3.8816-10.189z"/>
|
||||
<path d="m15.738 246.21l87.822 20.379 0.4852 3.8816-92.189-14.556 3.8816-9.7041z"/>
|
||||
</g>
|
||||
<g stroke="#fff">
|
||||
<g stroke-opacity=".941">
|
||||
<g fill="none">
|
||||
<path d="m21.561 269.5l109.17-0.9704c2.5562-19.534 6.3695-34.04 10.189-48.52l-99.467-3.3965c-7.5494 13.956-13.571 34.024-19.893 52.887z"/>
|
||||
<path d="m45.336 209.33l97.526 2.9112c4.9067-16.793 11.941-32.522 19.408-48.035l-85.396-7.2781c-17.609 23.677-23.878 37.431-31.538 52.402z"/>
|
||||
</g>
|
||||
<path d="m45.336 209.33l97.526 2.9112c4.9067-16.793 11.941-32.522 19.408-48.035l-85.396-7.2781c-17.609 23.677-23.878 37.431-31.538 52.402z" fill="#520"/>
|
||||
<path d="m79.785 152.08l84.426 7.2781c11.7-21.16 28.438-31.067 40.272-39.787l-62.591-9.7041c-19.065 5.7242-50.564 28.697-62.106 42.213z" fill="#803300"/>
|
||||
<path d="m150.06 107.44l58.224 10.189c21.404-6.1186 20.674-8.2623 51.432-3.8816l-45.609-10.674c-19.065 0.87218-39.405-0.90034-64.047 4.3668z" fill="#a40"/>
|
||||
</g>
|
||||
<path d="m233.65 102.07l51.432 15.526c32.594 5.6544 43.163 5.8662 62.106-10.189l-48.035-15.041c-13.877 9.4869-33.565 14.408-65.502 9.7041z" fill="#803300"/>
|
||||
<path d="m300.55 90.458l48.035 14.556c8.4357-10.053 15.574-24.146 19.893-40.757l-48.52-5.8225c-4.5062 13.599-7.4955 19.569-19.408 32.024z" fill="#520" stroke-opacity=".941"/>
|
||||
<path d="m321.42 53.582l48.52 4.3668c5.0992-17.851 6.9891-31.422 8.2485-44.154l-50.946 0.4852c-0.71652 14.325-2.5197 27.563-5.8224 39.302z" fill="#2b1100"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
BIN
assets/images/people/abner.jpg
Normal file
|
After Width: | Height: | Size: 4.2 MiB |
BIN
assets/images/people/abner_2024.png
Normal file
|
After Width: | Height: | Size: 609 KiB |
BIN
assets/images/people/perkins.png
Normal file
|
After Width: | Height: | Size: 624 KiB |
BIN
assets/images/people/peter.jpg
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
assets/images/people/robbins.jpg
Normal file
|
After Width: | Height: | Size: 672 KiB |
BIN
assets/images/telescope.png
Normal file
|
After Width: | Height: | Size: 180 KiB |
BIN
assets/images/thumbnails/2024HMSDayOne.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
assets/images/thumbnails/2024HMSDayTwo.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
assets/images/thumbnails/HMSThumb.afdesign
Normal file
28
assets/images/thumbnails/HMSThumbnailFrame.svg
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
assets/images/thumbnails/Op2030Binoculars.jpg
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
assets/images/thumbnails/ignition.png
Normal file
|
After Width: | Height: | Size: 570 KiB |
BIN
assets/images/thumbnails/trophy.jpg
Normal file
|
After Width: | Height: | Size: 57 KiB |
@@ -121,3 +121,53 @@ blockquote p:first-of-type {
|
||||
content: "" !important;
|
||||
}
|
||||
}
|
||||
|
||||
// Revolt chat server
|
||||
.revolt-form-section {
|
||||
max-width: 600px;
|
||||
margin: 2rem auto;
|
||||
padding: 0 1rem;
|
||||
}
|
||||
|
||||
.revolt-form .form-group {
|
||||
margin-bottom: 1.25rem;
|
||||
}
|
||||
|
||||
.revolt-form label {
|
||||
display: block;
|
||||
margin-bottom: 0.5rem;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.revolt-form .required {
|
||||
color: #e74c3c;
|
||||
}
|
||||
|
||||
.revolt-form input,
|
||||
.revolt-form textarea {
|
||||
width: 100%;
|
||||
padding: 0.75rem;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.revolt-form input:focus,
|
||||
.revolt-form textarea:focus {
|
||||
outline: none;
|
||||
border-color: #3498db;
|
||||
}
|
||||
|
||||
.revolt-form button {
|
||||
background: #3498db;
|
||||
color: white;
|
||||
padding: 0.75rem 1.5rem;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
font-size: 1rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.revolt-form button:hover {
|
||||
background: #2980b9;
|
||||
}
|
||||
|
||||
@@ -2,81 +2,69 @@
|
||||
|
||||
# main menu
|
||||
[[main]]
|
||||
name = "Conferences"
|
||||
name = "Meetups"
|
||||
url = "/meetups"
|
||||
weight = 1
|
||||
|
||||
[[main]]
|
||||
parent = "Conferences"
|
||||
name = "Seattle"
|
||||
url = "/Seattle"
|
||||
weight = 1
|
||||
|
||||
[[main]]
|
||||
parent = "Conferences"
|
||||
name = "Boston"
|
||||
url = "/boston"
|
||||
weight = 2
|
||||
|
||||
[[main]]
|
||||
name = "News"
|
||||
url = "/news"
|
||||
weight = 2
|
||||
|
||||
[[main]]
|
||||
name = "Media"
|
||||
url = "/media"
|
||||
name = "Guide"
|
||||
url = "/guide"
|
||||
weight = 3
|
||||
|
||||
[[main]]
|
||||
name = "Explore"
|
||||
weight = 4
|
||||
|
||||
[[main]]
|
||||
parent = "Explore"
|
||||
name = "Discord"
|
||||
url = "https://discord.com/invite/txcCe8vyQ6"
|
||||
weight = 3
|
||||
|
||||
[[main]]
|
||||
parent = "Explore"
|
||||
name = "Meetups"
|
||||
url = "/meetups"
|
||||
name = "Chat"
|
||||
url = "/chat"
|
||||
weight = 1
|
||||
|
||||
[[main]]
|
||||
parent = "Explore"
|
||||
name = "Members"
|
||||
url = "https://donorbox.org/handmadecities"
|
||||
name = "Media"
|
||||
url = "/media"
|
||||
weight = 2
|
||||
|
||||
[[main]]
|
||||
parent = "Explore"
|
||||
name = "Cowork"
|
||||
url = "/cowork"
|
||||
weight = 3
|
||||
|
||||
[[main]]
|
||||
name = "About"
|
||||
url = "/about"
|
||||
weight = 5
|
||||
|
||||
weight = 4
|
||||
|
||||
# footer menu
|
||||
[[footer]]
|
||||
name = "Tickets"
|
||||
url = "/tickets"
|
||||
weight = 1
|
||||
name = "Guide"
|
||||
url = "/guide"
|
||||
weight = 4
|
||||
|
||||
[[footer]]
|
||||
name = "Members"
|
||||
url = "https://donorbox.org/handmadecities"
|
||||
name = "About"
|
||||
url = "/about"
|
||||
weight = 5
|
||||
|
||||
[[footer]]
|
||||
name = "Meetups"
|
||||
url = "/meetups"
|
||||
weight = 1
|
||||
|
||||
[[footer]]
|
||||
name = "Chat"
|
||||
url = "/chat"
|
||||
weight = 3
|
||||
|
||||
[[footer]]
|
||||
name = "Seattle"
|
||||
url = "/seattle"
|
||||
name = "News"
|
||||
url = "/news"
|
||||
weight = 2
|
||||
|
||||
[[footer]]
|
||||
name = "Boston"
|
||||
url = "/boston"
|
||||
weight = 4
|
||||
|
||||
@@ -27,7 +27,7 @@ google_adsense = "" # example: ca-pub-xxxxxxxxxxxxxxxx
|
||||
# custom script on header, example: custom_script= "<script>console.log(\"Hello World\")</script>"
|
||||
custom_script = ""
|
||||
# copyright
|
||||
copyright = "© 2025 Handmade Cities LLC"
|
||||
copyright = "© 2026 Handmade Cities LLC"
|
||||
|
||||
# Preloader
|
||||
# preloader module: https://github.com/gethugothemes/hugo-modules/tree/master/components/preloader
|
||||
@@ -38,8 +38,8 @@ preloader = "" # use jpg, png, svg or gif format.
|
||||
# Navigation button
|
||||
[navigation_button]
|
||||
enable = true
|
||||
label = "tickets"
|
||||
link = "tickets"
|
||||
label = "Chat"
|
||||
link = "chat"
|
||||
|
||||
# search
|
||||
# search module: https://github.com/gethugothemes/hugo-modules/tree/master/search
|
||||
@@ -57,13 +57,13 @@ show_categories = true
|
||||
[announcement]
|
||||
enable = false
|
||||
expire_days = 7
|
||||
content = "Handmade Seattle Nov 20th - 22nd, 2024. [Buy Tickets](/tickets) now!"
|
||||
content = "Official February [Memos](/memos)"
|
||||
|
||||
# seo meta data for OpenGraph / Twitter Card
|
||||
# seo module: https://github.com/gethugothemes/hugo-modules/tree/master/seo-tools/basic-seo
|
||||
[metadata]
|
||||
keywords = ["Conference", "Handmade", "Software", "Programming", "Low-Level"]
|
||||
description = "Handmade Cities - Indie Conferences for Low-Level Programmers"
|
||||
description = "In-Person Events for for Low-Level Programmers"
|
||||
image = "images/opengraph.png"
|
||||
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
# Banner
|
||||
banner:
|
||||
title: "<span class='boston-color'>Boston</span> in the Summer.<br>
|
||||
<span class='seattle-color'>Seattle</span> in the fall.<br>
|
||||
<span class='meetups-color'>Meetups</span> all year round."
|
||||
content: "We are the largest indie conferences for low-level programmers. This is your portal to meet with folks into graphics, game engines, kernels, compilers, and more!"
|
||||
title: "<span class='boston-color'>Come</span> for programming,<br>
|
||||
<span class='seattle-color'>stay</span> for the friends.<br>
|
||||
<span class='meetups-color'>Meetups</span> all year round!"
|
||||
content: "We are the largest offline events for systems programmers: 100% indie. This is our portal to meet engineers super into game engines, compilers, terminals, kernels and more:"
|
||||
image: "/images/hmc_spread.png"
|
||||
hide_banner_img: true
|
||||
live_banner:
|
||||
@@ -54,12 +54,12 @@ banner:
|
||||
alt_text_right: "right"
|
||||
button:
|
||||
enable: true
|
||||
label: "Tickets"
|
||||
link: "/tickets"
|
||||
icon: "fa fa-ticket pl-2"
|
||||
label: "Quick Guide"
|
||||
link: "https://guide.handmadecities.com"
|
||||
icon: "fa fa-book pl-2"
|
||||
class: "btn text-white seattle-bg"
|
||||
button2:
|
||||
enable: true
|
||||
enable: false
|
||||
label: "Donate"
|
||||
link: "https://donorbox.org/handmadecities"
|
||||
icon: "fa fa-gift pl-2"
|
||||
@@ -94,40 +94,43 @@ features:
|
||||
label: "About Us"
|
||||
link: "/about"
|
||||
|
||||
- title: "Companies Value Handmade"
|
||||
- title: "Recognized by Industry"
|
||||
title_class: "text-center mt-16 mb-12"
|
||||
image: ""
|
||||
section_class: "pb-24"
|
||||
side: "center"
|
||||
content: "<span class='block mx-auto mt-24 text-black dark:text-white w-1/2'>**Hiring Handmade people.** These brands have attended our job fairs. Companies may rent a job booth but cannot influence nor sponsor the event.</span>"
|
||||
content: "<span class='block mx-auto mt-24 text-black dark:text-white w-1/2'>Sample of companies hunting for Handmade talent. Ready to [join](https://guide.handmadecities.com/docs/support/employment/) the list?</span>"
|
||||
content_class: "mt-12"
|
||||
img_grid:
|
||||
imgs:
|
||||
- name: "JangaFX"
|
||||
img: "/images/companies/jangafx.png"
|
||||
link: "https://jangafx.com/"
|
||||
- name: "Pontoco"
|
||||
img: "/images/companies/pontoco.png"
|
||||
link: "https://pontoco.com/"
|
||||
- name: "Kagi"
|
||||
img: "/images/companies/kagi_doggo.png"
|
||||
link: "https://kagi.com/"
|
||||
- name: "Mozilla"
|
||||
img: "/images/companies/mozilla.png"
|
||||
link: "https://www.mozilla.org/en-US/"
|
||||
- name: "TestFit"
|
||||
img: "/images/companies/tf.png"
|
||||
link: "https://www.testfit.io/"
|
||||
- name: "Magic Poser"
|
||||
img: "/images/companies/magic_poser.png"
|
||||
link: "https://magicposer.com/"
|
||||
- name: "JangaFX"
|
||||
img: "/images/companies/jangafx.png"
|
||||
link: "https://jangafx.com/"
|
||||
- name: "System Era"
|
||||
img: "/images/companies/systemera.png"
|
||||
link: "https://systemera.net/"
|
||||
- name: "TestFit"
|
||||
img: "/images/companies/tf.png"
|
||||
link: "https://www.testfit.io/"
|
||||
- name: "KCSE"
|
||||
img: "/images/companies/kcse.png"
|
||||
link: "https://www.kcse.com/"
|
||||
- name: "Pontoco"
|
||||
img: "/images/companies/pontoco.png"
|
||||
link: "https://pontoco.com/"
|
||||
- name: "Magic Poser"
|
||||
img: "/images/companies/magic_poser.png"
|
||||
link: "https://magicposer.com/"
|
||||
button:
|
||||
enable: false
|
||||
|
||||
- title: "Hundreds in person,<br> Thousands online"
|
||||
- title: "Meet in person,<br> not online"
|
||||
title_class: "text-white"
|
||||
transition:
|
||||
start: "/images/transition4.svg"
|
||||
@@ -147,12 +150,12 @@ features:
|
||||
image: "/images/nystrom.webp"
|
||||
image_link: "https://vimeo.com/780000746"
|
||||
image_class: "rounded-md shadow-lg"
|
||||
content: "Every year hundreds of low-level programmers convene physically while thousands more watch from the comfort of their couch."
|
||||
content: "Every month hundreds of caring programmers convene around the world to discuss the need for software quality."
|
||||
content_class: "p-4 px-6 rounded-md bg-[rgba(0,0,0,0.7)]"
|
||||
section_class: "text-white"
|
||||
button:
|
||||
enable: true
|
||||
label: "Register"
|
||||
link: "/tickets"
|
||||
label: "Attend Our Events"
|
||||
link: "/meetups"
|
||||
button_class: "bg-white text-black"
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "About Handmade Cities"
|
||||
meta_title: "About"
|
||||
meta_title: "About | Handmade Cities"
|
||||
layout: "about"
|
||||
description: "About Handmade Cities"
|
||||
draft: false
|
||||
@@ -16,28 +16,33 @@ features:
|
||||
img: "/images/starry_night.png"
|
||||
grid:
|
||||
- title: "Sponsor-free tech events"
|
||||
content: "**100% indie.** We reject sponsorship because we must be allowed to criticize anyone’s software. Accepting “free” bags of money destroys our ability to change the software industry."
|
||||
content: "**100% indie.** We reject sponsorship deals because we must be allowed to criticize anyone’s software. Accepting “free” bags of money destroys our ability to change the software industry."
|
||||
color: "#FC6D36"
|
||||
content_class: "text-white"
|
||||
- title: "An obligation to software quality"
|
||||
content: "The industry’s incentives erode ownership to extract rent from consumers. We’ve abandoned the love for our craft, the user's quality of experience, and their right to privacy."
|
||||
content: "Our industry’s incentives destroy ownership to extract rent from customers. We’ve abandoned the love for our craft, the user's quality of experience, and their right to privacy."
|
||||
color: "#A456EA"
|
||||
content_class: "text-white"
|
||||
- title: "Self-host wherever possible"
|
||||
content: "Essential services for our conferences and meetups are processed in-house. For example, our servers personally generate your conference ticket—removing spying middlemen like Ticketmaster."
|
||||
content: "We operate our own chat server and mailing lists. For purchases, payment processors ping our servers to process orders ourselves."
|
||||
color: "#6B8EE8"
|
||||
content_class: "text-white"
|
||||
- title: "Reasonable growth"
|
||||
content: "As a [polyglot](https://vimeo.com/661662233), our founder intends to expand even outside the United States. Since we wish to retain independence, however, we’re only growing through increased audience support."
|
||||
- title: "Direct funding approach"
|
||||
content: "We grow through obvious means, funded by users purchasing Handmade software. **Zero investors.**"
|
||||
color: "#60E3C4"
|
||||
content_class: "text-white"
|
||||
button:
|
||||
enable: true
|
||||
label: "Official Memos"
|
||||
link: "/memos"
|
||||
icon: "fa fa-ticket pl-2"
|
||||
class: "btn text-white meetups-bg"
|
||||
|
||||
- title: "Abner Coimbre"
|
||||
title_class: "text-white -mt-2"
|
||||
subtitle: "Founder"
|
||||
subtitle_class: "!text-[#F7CE3B]"
|
||||
image: "/images/people/abner_2022_512.webp"
|
||||
image_class: "rounded-full"
|
||||
image: "/images/people/abner_2024.png"
|
||||
section_class: "text-white"
|
||||
transition:
|
||||
start: "/images/transition3.svg"
|
||||
@@ -48,84 +53,6 @@ features:
|
||||
start_dark_color: "black"
|
||||
bg_color: "#060610"
|
||||
content_class: "mt-4"
|
||||
content: "[Abner](https://abner.page) is founder of Handmade Cities and the sole organizer for our conferences.<br><br>At a young age he was mentored by Kennedy Space Center on how they make software. After winning NASA’s Intern of the Year, Abner published an essay on their programming philosophy: featured in the [news](https://observer.com/2017/07/a-look-into-nasa-coding-philosophy-kennedy-space-center-programming/). He was subsequently promoted to launch control engineer.<br><br>Abner founded the [Handmade Network](https://handmade.network/), an online community learning to make quality software. He went on to work under Jonathan Blow for several years and finally Cyan Worlds to ship the [Myst remake](https://store.steampowered.com/app/1255560/Myst/).<br><br>Now in his early thirties, Abner's mounting concern of declining software standards—both ethical and technical—pushed him to run conferences and meetups full-time, with a conviction we need independent organizing more than ever. (He still loves [programming](https://terminal.click) though.)"
|
||||
content: "[Abner](https://abner.page) is founder of Handmade Cities and full-time [indie dev](https://terminal.click).<br><br>Born and raised in Puerto Rico, he was mentored by Kennedy Space Center on how they make software. After winning NASA’s Intern of the Year, Abner penned an essay on their programming philosophy: featured in the [news](https://observer.com/2017/07/a-look-into-nasa-coding-philosophy-kennedy-space-center-programming/). He was subsequently promoted to launch control engineer.<br><br>Abner started the [Handmade Network](https://handmade.network/), an online community learning to make quality software. He went on to work under Jonathan Blow followed by Cyan Worlds to ship the Myst Remake.<br><br>Now in his early thirties, Abner's concern for declining software standards—both ethical and technical—pushed him to become a community organizer."
|
||||
|
||||
- title: "Our Advisory Board"
|
||||
title_class: "mb-20 text-center text-white"
|
||||
image: ""
|
||||
side: "center"
|
||||
content_class: "mt-16 mb-12"
|
||||
bg_img:
|
||||
parallax: true
|
||||
img: "/images/starry_night.png"
|
||||
grid:
|
||||
- title: "Zac Nowicki"
|
||||
content: "Tech lead at [Kagi](https://kagi.com) Search."
|
||||
color: "#9B8EE8"
|
||||
content_class: "text-white"
|
||||
- title: "Mary Bush"
|
||||
content: "Seattle indie developer (formerly in logistics/healthcare tech)."
|
||||
color: "#9B8EE8"
|
||||
content_class: "text-white"
|
||||
- title: "Jon Stevens"
|
||||
content: "Senior game developer at Bitshift Entertainment: new studio by Notch, creator of Minecraft."
|
||||
color: "#9B8EE8"
|
||||
content_class: "text-white"
|
||||
- title: "Matt Nite"
|
||||
content: "Organizer at [Software You Can Love](https://softwareyoucanlove.ca): plus meetups, workshops, and more."
|
||||
color: "#9B8EE8"
|
||||
content_class: "text-white"
|
||||
- title: "Unlisted Member"
|
||||
content: "Indie dev. Former co-worker and colleague of Abner's. Values privacy but willing to share more when requested."
|
||||
color: "#9B8EE8"
|
||||
content_class: "text-white"
|
||||
- title: "NASA Observer"
|
||||
content: "Unofficial observer with no voting power. Well-regarded hardware engineer at NASA. Due to current climate, their involvement is anonymous."
|
||||
color: "#9B8EE8"
|
||||
content_class: "text-white"
|
||||
notice: "**Note:** The board is a volunteer role. Member's opinions are their own, not their employer's."
|
||||
|
||||
- title: "Morgan Rammell"
|
||||
title_class: "text-white"
|
||||
subtitle: "Event Coordinator"
|
||||
subtitle_class: "!text-[#F7CE3B]"
|
||||
bg_color: "#060610"
|
||||
image: "/images/people/morgan_cropped_512.webp"
|
||||
image_class: "rounded-full"
|
||||
content_class: ""
|
||||
section_class: "!pt-24 text-white"
|
||||
content: "Morgan’s done corporate event planning for several years but is now interested in the indie space. She oversees the logistics of running and facilitating Handmade conferences, working with the venue to solve any issues that arise in real-time.<br>
|
||||
|
||||
Born and raised in Washington state you’ll find Morgan snowboarding, hiking, camping, and even rock-climbing!"
|
||||
- title: "Phil Homan"
|
||||
title_class: "text-white"
|
||||
subtitle: "Technical Producer"
|
||||
subtitle_class: "!text-[#F7CE3B]"
|
||||
bg_color: "#060610"
|
||||
image: "/images/people/phil_homan_512.webp"
|
||||
image_class: "rounded-full"
|
||||
content_class: ""
|
||||
section_class: "!pt-16 text-white"
|
||||
content: "Phil Homan, who goes by [PH Test](https://phtest.tv/), is a Seattle developer with a knack for multidisciplinary work: live-performance visuals, experimental programs, games, and video production—often with tools he made himself!<br>
|
||||
|
||||
Phil joined Handmade Cities to help Abner with matters related to streaming, recording, and A/V support at the conferences."
|
||||
- title: "Devon ([tek256](https://tek256.com))"
|
||||
title_class: "text-white"
|
||||
subtitle: "Editor"
|
||||
subtitle_class: "!text-[#F7CE3B]"
|
||||
bg_color: "#060610"
|
||||
image: "/images/people/devon.jpg"
|
||||
image_class: "rounded-full"
|
||||
content_class: ""
|
||||
section_class: "!pt-16 !pb-32 text-white"
|
||||
content: "Devon is a guy who makes things.<br>(like a PSX style souls like in C on [stream](https://twitch.tv/tek256))"
|
||||
|
||||
- title: "Mr. Perkins"
|
||||
title_class: "text-white"
|
||||
subtitle: "Secretary"
|
||||
subtitle_class: "!text-[#F7CE3B]"
|
||||
bg_color: "#060610"
|
||||
content_class: ""
|
||||
section_class: "!pt-16 !pb-32 text-white"
|
||||
content: "Mr. Perkins is Abner's part-time assistant, always working through his backlog of texts, emails or invoices."
|
||||
---
|
||||
|
||||
97
content/english/board-meeting-20250318/index.md
Normal file
@@ -0,0 +1,97 @@
|
||||
---
|
||||
title: "Advisory Board Meeting"
|
||||
meta_title: "Board's Meeting Notes"
|
||||
layout: "board"
|
||||
description: "Advisory Board Meeting Notes - 18 Mar 2025"
|
||||
draft: false
|
||||
---
|
||||
#### Meeting Notes - 18 Mar 2025
|
||||
|
||||
**AGENDA**:
|
||||
|
||||
No agenda set, first meeting
|
||||
|
||||
---
|
||||
|
||||
**DISCUSSION ITEMS**
|
||||
|
||||
1. **Handmade Boston (HMB): Aug 1-2 (Fri-Sat)**
|
||||
|
||||
- Sister conference to Seattle
|
||||
- No more online track: No more online tickets or Twitch stream for Boston
|
||||
- Goal is to become the "fully offline" counterpart
|
||||
- Return to original technical lectures format (sans homework)
|
||||
- Boston should have job booth rentals too
|
||||
|
||||
**2025 Target:** Two-hundred in-person attendees. We're still in the growth and experimentation stage.
|
||||
|
||||
**Founder's Note:** It wasn't until the third HMS that we found the perfect business model. This will now be our third HMB, following same trajectory.
|
||||
|
||||
2. **Handmade Seattle (HMS): Dec 5-7 (Fri-Sun)**
|
||||
|
||||
- Flagship Conference
|
||||
- Fully-Hybrid: Both in-person and online tickets like always
|
||||
- The formula's already perfected, just need to focus on ticket sales
|
||||
|
||||
**2025 Target:** Four-hundred in-person attendees. The closest we got to selling all in-person tickets was Fall 2023, with 97% of all tickets sold (before mass layoffs hit hard.)
|
||||
|
||||
**Founder's note:** A well-known phenomenon is that once you pack a venue (typically a 400-seat theater) you'll see exponential growth the following year, exploding to say one thousand ticket holders, then an order of magnitude after that. See PyCon, VidCon, etc.
|
||||
|
||||
3. **Ticket Sales**
|
||||
- Early bird sale begins sometime in the Spring (with 20% discount)
|
||||
- Once we start ticket sales we will use the [newsletter](/news) to request community submissions
|
||||
|
||||
**Q: Are board members allowed to submit their own talks or demos?**
|
||||
|
||||
*A: We've decided no, but we'll revisit the question (and its ethics) next year.*
|
||||
|
||||
4. **Weekend Conferences**
|
||||
|
||||
Board is pleased with the new conference dates. Hositing conferences over the weekend gives attendance a massive boost (even though venue rental is more expensive. Risk is worth it.)
|
||||
|
||||
5. **Revolt Chat**
|
||||
|
||||
- Board agreed [Revolt](https://revolt.chat) is a substantial improvement over Element/Matrix for the conference live chat
|
||||
- Board wondered whether or not we should support Discord as another private chat server, in a bid to expand audience
|
||||
- Founder noted at least a third of ticket holders are anti-Discord and privacy-conscious
|
||||
|
||||
Finally, the board recommended an overall survey to previous ticket holders.
|
||||
|
||||
6. **Voting on Talk/Demo Submissions**
|
||||
|
||||
- Matt Nite simply used a Google Form for Software You Can Love
|
||||
- It's best if the founder says "please read these submissions by the next meeting, and add your own notes"
|
||||
- Source speaker candidates from meetup hosts
|
||||
- Generally receive more feedback from meetup hosts on conference content
|
||||
|
||||
We've agreed to create a dedicated email address for receiving submissions
|
||||
|
||||
7. **Hard Deadlines to Commit to Present at HMB/HMS**
|
||||
|
||||
- Gradually add penalties when deadlines are not met
|
||||
- Ensure all speakers sign agreement. NO EXCEPTIONS
|
||||
|
||||
8. **Conference Agendas**
|
||||
- Get the agendas up as early as possible
|
||||
- It's okay to massage the schedule a little throughout the year
|
||||
- It's okay to let speakers update their talk title and description even if it's already on the website
|
||||
|
||||
---
|
||||
|
||||
**ACTION ITEMS**
|
||||
|
||||
- Founder to meet with meetup hosts before the next board meeting
|
||||
- Create HMC email address for community submissions
|
||||
- Create webpage explaining how to enter submissions. WITH DEADLINES
|
||||
- Discord integration for submissions: allows live thread discussions among board members
|
||||
- Make sure Jim (1st speaker for HMB) is on our website by the next meeting
|
||||
- Make sure Taylor (1st speaker for HMS) is on our website by the next meeting
|
||||
- Determine how many open slots we have for each conference
|
||||
|
||||
**Founder's note:** Last item depends on venue and the available hours their rental affords us, which is being negotiated. As an estimate, I will offer figures to the board from previous years.
|
||||
|
||||
---
|
||||
|
||||
**NEXT MEETING**
|
||||
|
||||
Date: 16 April 2025 1600-1700 (US/Pacific)
|
||||
18
content/english/board/index.md
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
title: "Advisory Board"
|
||||
meta_title: "Advisory Board"
|
||||
layout: "board"
|
||||
description: "The Handmade Cities Advisory Board"
|
||||
draft: false
|
||||
---
|
||||
The Handmade Cities Advisory Board is the board appointed to advise the [founder](/about). They supervise the founder's general affairs as he:
|
||||
1. Organizes our two annual conferences: [Boston](/boston) in the summer, [Seattle](/seattle) in the fall
|
||||
2. Supports and grows our local [meetups](/meetups)
|
||||
3. Decides which talks, demos, interviews or similar content are given at Handmade Cities
|
||||
|
||||
The board has voting power over talk and demo submissions from the community. The founder may override the board, but such a decision must be made public through the meeting notes below.
|
||||
|
||||
The board meets once a month. Meet the members in the [About](/about) page.
|
||||
|
||||
**MEETING NOTES (TIMES IN US/PACIFIC)**
|
||||
- [18 March 2025 16:00](/board-meeting-20250318)
|
||||
@@ -1,8 +1,53 @@
|
||||
---
|
||||
title: "Handmade Boston 2024"
|
||||
meta_title: "About"
|
||||
description: "this is meta description"
|
||||
title: "Handmade Boston 2025"
|
||||
subtitle: "The East Coast's premier event for systems programmers. Fully offline"
|
||||
image: "/images/hmb/boston-dark-mode.svg"
|
||||
draft: false
|
||||
layout: under_construction
|
||||
layout: "event"
|
||||
|
||||
# Event Details
|
||||
event_dates: "Saturday August 16th, 2025 (Sat 2PM)"
|
||||
registration_date: "August 1st, 2025"
|
||||
venue_name: "Boston Public LIbrary"
|
||||
venue_address: "700 Boylston St., Boston, MA 02116"
|
||||
|
||||
# Coming Soon Section
|
||||
coming_soon_text: "We've Changed Venues!"
|
||||
coming_soon_description: "We meet at the Boston Public Library, Saturday at 2PM. Check the top banner"
|
||||
|
||||
# Initial Speakers
|
||||
initial_speakers:
|
||||
- name: "Abner Coimbre"
|
||||
topic: "Author of Terminal Click"
|
||||
affiliation: "terminal.click"
|
||||
image: "/images/people/abner.jpg"
|
||||
- name: "Caden Parker"
|
||||
topic: "Senior Graphics Programmer"
|
||||
affiliation: "vectrx.substack.com"
|
||||
image: "/images/people/caden.png"
|
||||
- name: "Gwen Lofman"
|
||||
topic: "Livecoding for Music and Visuals"
|
||||
affiliation: "glfmn.io"
|
||||
image: "/images/people/gwen.png"
|
||||
- name: "Switch Angel"
|
||||
topic: "Livecoding Co-Presenter"
|
||||
affiliation: "tinyurl.com/switchangel"
|
||||
image: "/images/people/switchangel.jpg"
|
||||
- name: "This is You"
|
||||
topic: "Audience is demoing projects"
|
||||
|
||||
# Call to Action Buttons
|
||||
enable_newsletter: true
|
||||
newsletter_link: "/news"
|
||||
enable_discord: true
|
||||
discord_link: "https://handmadecities.com/discord"
|
||||
enable_cfp: true
|
||||
cfp_link: "mailto:submissions@handmadecities.com"
|
||||
cfp_deadline: "August 1st, 2025"
|
||||
|
||||
# Content Display
|
||||
show_description: true
|
||||
---
|
||||
|
||||
Handmade Boston brings together the brightest minds in low-level programming for inspiring technical lectures.
|
||||
|
||||
We're the sister event to Seattle and a fully-offline counterpart: enjoy deeper lectures exclusively in-person and make some new friends for life.
|
||||
|
||||
4
content/english/invite.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Invite a Friend to our Chat!"
|
||||
layout: "invite"
|
||||
---
|
||||
@@ -1,4 +1,5 @@
|
||||
+++
|
||||
title="Media"
|
||||
image="/images/under-construction.svg"
|
||||
meta_title="Media | Handmade Cities"
|
||||
image="/images/film.svg"
|
||||
+++
|
||||
|
||||
@@ -8,7 +8,7 @@ type="notice"
|
||||
text="""
|
||||
**We are editing these recordings**
|
||||
|
||||
Sign up for the [newsletter](/news) to be notified.
|
||||
Sign up for the **[newsletter](/news)** to be notified. Starting in 2025, HMB is fully offline (no online track)
|
||||
"""
|
||||
+++
|
||||
|
||||
|
||||
@@ -2,13 +2,5 @@
|
||||
title="Handmade Seattle 2024"
|
||||
date="2024-11-20T09:00:00-04:00"
|
||||
enddate="2024-11-22T18:00:00-04:00"
|
||||
|
||||
[[notes]]
|
||||
type="notice"
|
||||
text="""
|
||||
**We are editing these recordings**
|
||||
|
||||
Sign up for the [newsletter](/news) to be notified.
|
||||
"""
|
||||
+++
|
||||
|
||||
|
||||
24
content/english/media/seattle-2024/hms-day-one.md
Normal file
@@ -0,0 +1,24 @@
|
||||
+++
|
||||
title="Day One Livestream"
|
||||
mediatype="talk"
|
||||
conference="seattle-2024"
|
||||
date="2024-11-15T11:00:00-08:00"
|
||||
description="Catch the VOD of our latest conference (first day)"
|
||||
thumbnail="/images/thumbnails/2024HMSDayOne.png"
|
||||
|
||||
[[videos]]
|
||||
title="Eon: An Amiga 500 Demo"
|
||||
embed="https://www.youtube.com/embed/zYAif5PhhoQ?start=7129"
|
||||
service="youtube"
|
||||
|
||||
[[speakers]]
|
||||
name="Abner Coimbre"
|
||||
bio="Conference Host"
|
||||
image="/images/people/abner_2022.png"
|
||||
+++
|
||||
|
||||
## The year that triggered the Handmade civil war
|
||||
|
||||
Partly due to our keynote talk (timestamped), Handmade Cities [paid a price](/news/splitting-from-handmade-network/) for it. This was, however, [not the only reason](/news/hms-2024-clear-the-air/).
|
||||
|
||||
The Twitch stream is not available as individual recordings yet, but as you can see our team archived a backup on YouTube.
|
||||
22
content/english/media/seattle-2024/hms-day-two.md
Normal file
@@ -0,0 +1,22 @@
|
||||
+++
|
||||
title="Day Two Livestream"
|
||||
mediatype="talk"
|
||||
conference="seattle-2024"
|
||||
date="2024-11-16T11:00:00-08:00"
|
||||
description="Catch the VOD of our latest conference (second day)"
|
||||
thumbnail="/images/thumbnails/2024HMSDayTwo.png"
|
||||
|
||||
[[videos]]
|
||||
title="Eon: An Amiga 500 Demo"
|
||||
embed="https://www.youtube.com/embed/OfnEfFb8yks"
|
||||
service="youtube"
|
||||
|
||||
[[speakers]]
|
||||
name="Abner Coimbre"
|
||||
bio="Conference Host"
|
||||
image="/images/people/abner_2022.png"
|
||||
+++
|
||||
|
||||
## Watch day two of our latest conference
|
||||
|
||||
The Twitch stream is not available as individual recordings yet, but luckily our team archived a backup on YouTube.
|
||||
@@ -10,6 +10,6 @@ bio="daniel@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
@@ -10,6 +10,6 @@ bio="khrob@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
@@ -10,6 +10,6 @@ bio="marcel@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
@@ -5,11 +5,11 @@ description="Receive Handmade meetup invites from the Hub of the Universe!"
|
||||
api_endpoint="https://api.handmadecities.com/v1/meetups/boston"
|
||||
|
||||
[[hosts]]
|
||||
name="Caden Parker"
|
||||
bio="caden@handmadecities.com"
|
||||
name="Margret Riegert"
|
||||
bio="margret@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
@@ -10,6 +10,6 @@ bio="josh@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
@@ -10,6 +10,6 @@ bio="felix@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
15
content/english/meetups/denmark.md
Normal file
@@ -0,0 +1,15 @@
|
||||
+++
|
||||
title="Denmark's Mailing List"
|
||||
date="2024-11-03T12:00:00-08:00"
|
||||
description="Receive Handmade meetup invites from the happiest place on earth!"
|
||||
api_endpoint="https://api.handmadecities.com/v1/meetups/denmark"
|
||||
|
||||
[[hosts]]
|
||||
name="Patrick Jakobsen"
|
||||
bio="patrick@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
@@ -10,6 +10,6 @@ bio="seth@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
@@ -10,6 +10,6 @@ bio="sam@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
@@ -10,6 +10,6 @@ bio="martin@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
@@ -10,6 +10,6 @@ bio="eternalstudent@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
@@ -10,6 +10,6 @@ bio="jack@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
15
content/english/meetups/minneapolis.md
Normal file
@@ -0,0 +1,15 @@
|
||||
+++
|
||||
title="Minneapolis' Mailing List"
|
||||
date="2024-11-03T12:00:00-08:00"
|
||||
description="Receive Handmade meetup invites from the city of lakes!"
|
||||
api_endpoint="https://api.handmadecities.com/v1/meetups/minneapolis"
|
||||
|
||||
[[hosts]]
|
||||
name="Dan Grigsby"
|
||||
bio="dan@handmadecities.com"
|
||||
image="/images/people/dan_grigsby.webp"
|
||||
+++
|
||||
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
15
content/english/meetups/montreal.md
Normal file
@@ -0,0 +1,15 @@
|
||||
+++
|
||||
title="Montreal's Mailing List"
|
||||
date="2024-11-03T12:00:00-08:00"
|
||||
description="Receive Handmade meetup invites from cultural and economic capital of Quebec!"
|
||||
api_endpoint="https://api.handmadecities.com/v1/meetups/montreal"
|
||||
|
||||
[[hosts]]
|
||||
name="Mitchell Amihod"
|
||||
bio="mitchell@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
@@ -10,6 +10,6 @@ bio="mark@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
@@ -10,6 +10,6 @@ bio="sid@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
@@ -5,22 +5,22 @@ description="Receive Handmade meetup invites from the Emerald City!"
|
||||
thumbnail="/images/meetups/distantworlds_space.jpg"
|
||||
api_endpoint="https://api.handmadecities.com/v1/meetups/seattle"
|
||||
|
||||
[[hosts]]
|
||||
name="Allen Webster"
|
||||
bio="Founder of [Mr. 4th Lab](https://mr4th.com). Hosts the classic monthly meetups"
|
||||
image="/images/people/allen_square.webp"
|
||||
|
||||
[[hosts]]
|
||||
name="Phil Homan"
|
||||
bio="Staff [member](https://handmadecities.com/about). Hosts the coworking sessions (bi-weekly)"
|
||||
image="/images/people/phil_homan.jpg"
|
||||
|
||||
[[hosts]]
|
||||
name="Abner Coimbre"
|
||||
bio="Staff [member](https://handmadecities.com/about). Hosts the third place (weekly)"
|
||||
bio="Hosts the classic monthly meetups"
|
||||
image="/images/people/abner_2022.png"
|
||||
|
||||
[[hosts]]
|
||||
name="Peter Slattery"
|
||||
bio="Hosts the Seattle [coworking](/cowork) sessions"
|
||||
image="/images/people/peter.jpg"
|
||||
|
||||
[[hosts]]
|
||||
name="Taylor Robbins"
|
||||
bio="Hosts the Kirkland [coworking](/cowork) sessions"
|
||||
image="/images/people/robbins.jpg"
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
@@ -10,6 +10,6 @@ bio="xander@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
@@ -10,6 +10,6 @@ bio="miguel@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
@@ -10,6 +10,6 @@ bio="gabriel@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
@@ -10,6 +10,6 @@ bio="jstevens@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
@@ -10,6 +10,6 @@ bio="patrick@handmadecities.com"
|
||||
image=""
|
||||
+++
|
||||
|
||||
#### Optional Discord Server
|
||||
#### Optional Revolt Server
|
||||
|
||||
The mailing list is how you get official invites, but you may join the Discord for extra updates or to chat with the meetup group.
|
||||
The mailing list is how you get official invites, but you may join Revolt for extra updates or to chat with the meetup group.
|
||||
|
||||
27
content/english/memos/index.md
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
title: "Official Memos"
|
||||
meta_title: "Official Memos"
|
||||
layout: "board"
|
||||
description: "Memos from our founder"
|
||||
draft: false
|
||||
---
|
||||
Handmade Cities publishes memoranda written by [our founder](/about), usually addressed to prominent community members. The public nature of these documents lets you:
|
||||
1. Keep tabs on how we govern
|
||||
2. Call out faulty reasoning or inconsistencies (but don't *"well actually"* us)
|
||||
3. Increase chances for participation e.g. because you saw a new initiative
|
||||
|
||||
Memos are published once a month as PDF documents below.
|
||||
|
||||
## MEMORANDA
|
||||
|
||||
**January 2026**
|
||||
|
||||
- [HMC Memo 001 - Wiki Ownership](/memos/HMC-Memo-001-Wiki-Ownership.pdf)
|
||||
- [HMC Memo 002 - UXUI](/memos/HMC-Memo-002-UXUI.pdf)
|
||||
|
||||
**February 2026**
|
||||
|
||||
- [HMC Memo 003 - Server Admin](/memos/HMC-Memo-003-Server-Admin.pdf)
|
||||
- [HMC Memo 004 - Meetup Hosts](/memos/HMC-Memo-004-Meetup-Hosts.pdf)
|
||||
|
||||
Date of publication varies.
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "News"
|
||||
meta_title: ""
|
||||
description: "this is meta description"
|
||||
meta_title: "News | Handmade Cities"
|
||||
description: "The latest Handmade Cities news"
|
||||
newsletter_signup:
|
||||
active: true
|
||||
title: "Join our newsletter"
|
||||
@@ -14,9 +14,9 @@ newsletter_signup:
|
||||
button_class: "btn text-white meetups-bg col-3"
|
||||
section_class: ""
|
||||
text_sidepanel:
|
||||
active: true
|
||||
title: ""
|
||||
title_class: ""
|
||||
active: false
|
||||
title: "RSS Feed"
|
||||
title_class: "mb-6"
|
||||
text_class: ""
|
||||
text: "[RSS](/news/index.xml)"
|
||||
text: "[Subscribe](/news/index.xml)"
|
||||
---
|
||||
|
||||
16
content/english/news/computer-club-atelier-hivernal-2026.md
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
title: "Computer Club - Atelier Hivernal - Lyon"
|
||||
meta_title: ""
|
||||
description: "Martin Fouilleul is our French meetup host. Read their latest announcement"
|
||||
date: 2026-01-10T12:00:00Z
|
||||
image: "/images/meetups/france.jpg"
|
||||
categories: ["Meetups"]
|
||||
author: "Martin Fouilleul"
|
||||
tags: ["meetups", "france"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
> [Martin Fouilleul](/media/seattle-2023/orca/) is our [French](/meetups/grenoble) meetup host. You may reach the author at martin@handmadecities.com
|
||||
|
||||
<p>Bonjour, et bonne année,</p> <p>Pierre-Louis, que vous avez déjà pu croiser aux meetups Grenoblois, vous propose une nouvelle après-midi d’échanges et de bricolage autour de vos projets software/hardware. Ça se passe le <strong>17 janvier</strong> à partir de 14h, à <strong>Grrrnd Zero</strong>, 60 avenue de Bohlen, Vaulx-en-Velin.</p> <p>La capacité maximale étant de 10 personnes, pensez à réserver à l’avance en écrivant à <a href="mailto:meetup@pld.tf">meetup@pld.tf</a>. Un repas est proposé pour les personnes en avance entre 12h30 et 13h30, merci de prévenir lors de votre réservation.</p> <p>En espérant vous y retrouver nombreux·ses !</p> <p>Martin</p> <p><img src="https://rel.pld.tf/meetup/20260117.png" alt="Affiche" /></p>
|
||||
|
||||
58
content/english/news/farewell-to-distant-worlds.md
Normal file
@@ -0,0 +1,58 @@
|
||||
---
|
||||
title: "Farewell to Distant Worlds"
|
||||
meta_title: ""
|
||||
description: "One of Seattle's most popular coffee shops is winding down. Guest article by Allen Webster"
|
||||
date: 2025-08-29T12:00:00Z
|
||||
image: "/images/meetups/distantworlds_space.jpg"
|
||||
categories: ["Meetups"]
|
||||
author: "Allen Webster"
|
||||
tags: ["meetups", "seattle"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
A special Handmade meetup: one of Seattle's most popular coffee shops is winding down.
|
||||
|
||||
> Allen Webster is a meetup host for [Seattle](/meetups/seattle). You may reach the author at allen@handmadecities.com
|
||||
|
||||
Seattle area folks,
|
||||
|
||||
As the last Saturday of the month approaches, we’re looking forward to our usual Handmade meetup, but a few things will be very different this month. Please read to the end to catch all the details.
|
||||
|
||||
The big news:
|
||||
-------------
|
||||
|
||||
First and foremost, the venue we have been with since the beginning, Distant Worlds Coffeehouse, is closing on August 31st, making our meetup one of the last events to occur in the space. This news came rather suddenly and saddens us deeply, not to mention the owner and staff at Distant Worlds. Abner has made an effort to reach out to as many people as possible to give Distant Worlds the send off they deserve, and all sales will go towards an employee severance fund, so please buy your drinks and snacks as usual (or splurge!)
|
||||
|
||||
{{< image src="images/meetups/dw.png" caption="Distant Worlds - Seattle Roosevelt" alt="Distant Worlds" height="400" width="400" position="center" command="fill" option="q100" class="img-fluid" title="Distant Worlds (Seattle)" webp="false" >}}
|
||||
|
||||
Second, while Abner will still be in attendance, he wants to focus at least some of his attention on talking with the staff with whom he has a long standing relationship. So he’s asked me, his backup host, to step in for the month. Many of you may know me, but in case you don’t I look forward to meeting you. I am Allen Webster, creator of [4coder](https://4coder.net) and [Mr. 4th Lab](https://mr4th.com), and I’ve been the host of a few meetups before, so you’re still in good hands.
|
||||
|
||||
The details:
|
||||
------------
|
||||
|
||||
- **Where:** Distant Worlds Coffeehouse (in Seattle)
|
||||
- **When:** Saturday, August 30th, 2PM-4PM
|
||||
- **Parking:** While there is street parking around the neighborhood, the most reliable place to park is “Green Lake Park & Ride”.
|
||||
- Afterwards those who are up for more time together migrate down the road for pizza and time at the pub.
|
||||
|
||||
Submitting Topics:
|
||||
------------------
|
||||
|
||||
Many of us in the community work on software projects on our own. The goal of the meetup is to get a chance to get help where we’re stuck, to get feedback on what we’ve built, and to practice explaining our ideas to other programmers.
|
||||
|
||||
Usually we gather up topics on the fly at the start of the meetup, but to make the most of our time I am going to try **an experiment!**
|
||||
|
||||
I’m asking you to take a few minutes to write a short pitch of what you’d like to bring and send it to me ahead of time at allenw@mr4th.com. Tell me about your topic, and what questions you might like to get answers to, what new features of your project you might like to demo, or what you’d like a chance to discuss.
|
||||
|
||||
I will sort through pre-submitted topics ahead of time to pick an order and see how much time we can give each topic, that way we can dive right in. I want to be sure we pack our last meetup at Distant Worlds with as many opportunities for people to participate as possible, while we celebrate our meetup community. I’ll still take topics on the fly if there’s time, but I’m going to give first priority to pre-submitted topics.
|
||||
|
||||
*See you on Saturday!*
|
||||
|
||||
-Allen
|
||||
|
||||
{{< button label="Employee Severance Fund" link="https://venmo.com/u/distantworldscoffee" style="solid" >}}
|
||||
|
||||
---
|
||||
|
||||
> Staff Note: Can't make it in person? Use the Employee Severance Fund button above!
|
||||
|
||||
15
content/english/news/first-boston-meetup-2026.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "Boston Meetup 01/24"
|
||||
meta_title: ""
|
||||
description: "Margret Riegert is our Boston meetup host. Read their latest announcement"
|
||||
date: 2026-01-12T12:00:00Z
|
||||
image: "/images/meetups/boston.jpg"
|
||||
categories: ["Meetups"]
|
||||
author: "Margret Riegert"
|
||||
tags: ["meetups", "boston"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
> Margret Riegert is our [Boston](/meetups/boston) meetup host. You may reach the author at margret@handmadecities.com
|
||||
|
||||
<h2>Meetup Details</h2> <ul> <li>Date: January 24th, 2026</li> <li>Time: 12-2pm</li> <li>Address: 700 Boylston St, Boston, MA 02116</li> <li>RSVP: <a href="https://partiful.com/e/vUcDz66dzwi4k9L6iJiy\">https://partiful.com/e/vUcDz66dzwi4k9L6iJiy</a></li> <li>Boston Meetup Revolt: <a href="https://revolt.handmadecities.com\">https://revolt.handmadecities.com</a></li> </ul> <hr /> <h2>The Agenda</h2> <ul> <li><strong>Software Project Demos:</strong> Bring a project you’ve been working on, ask questions, get constructive feedback, etc.</li> <li><strong>Presentation:</strong> Give a mini talk about something you’ve been working on and that you think others in the handmade community would find interesting</li> <li><strong>Special Topics:</strong> Talk as a group about anything relevant in the handmade community</li> <li><strong>Social After:</strong> Afterwards, we can head out and grab something to eat</li> </ul> <p>You’re not required to bring a project or anything; showing up is good enough!</p> <hr /> <h2>Getting there</h2> <p>We’ll be in the mezzanine conference room #3.</p> <p>If you enter through the Boylston Street entrance, you want to head to the left and look for where it says Community Learning Center.</p>
|
||||
15
content/english/news/first-boston-meetup-reminder-2026.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "Boston Meetup Reminder"
|
||||
meta_title: ""
|
||||
description: "Margret Riegert is our Boston meetup host. Read their latest announcement"
|
||||
date: 2026-01-23T12:00:00Z
|
||||
image: "/images/meetups/boston.jpg"
|
||||
categories: ["Meetups"]
|
||||
author: "Margret Riegert"
|
||||
tags: ["meetups", "boston"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
> Margret Riegert is our [Boston](/meetups/boston) meetup host. You may reach the author at margret@handmadecities.com
|
||||
|
||||
<p>Hello! This is just a friendly reminder about the Handmade meetup <strong>tomorrow</strong> at the library.</p> <h2>Meetup Details</h2> <ul> <li>Date: January 24th, 2026</li> <li>Time: 12-2pm</li> <li>Address: 700 Boylston St, Boston, MA 02116</li> <li>RSVP: <a href="https://partiful.com/e/vUcDz66dzwi4k9L6iJiy\">https://partiful.com/e/vUcDz66dzwi4k9L6iJiy</a></li> <li>Boston Meetup Revolt: <a href="https://revolt.handmadecities.com\">https://revolt.handmadecities.com</a></li> </ul> <hr /> <h2>The Agenda</h2> <ul> <li><strong>Software Project Demos:</strong> Bring a project you’ve been working on, ask questions, get constructive feedback, etc.</li> <li><strong>Presentation:</strong> Give a mini talk about something you’ve been working on and that you think others in the handmade community would find interesting</li> <li><strong>Special Topics:</strong> Talk as a group about anything relevant in the handmade community</li> <li><strong>Social After:</strong> Afterwards, we can head out and grab something to eat</li> </ul> <p>You’re not required to bring a project or anything; showing up is good enough!</p> <hr /> <h2>Getting there</h2> <p>We’ll be in the mezzanine conference room #3.</p> <p>If you enter through the Boylston Street entrance, you want to head to the left and look for where it says Community Learning Center.</p>
|
||||
15
content/english/news/first-dc-meetup-2026.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "D.C. Meetup: API Design & Single-Header Libraries"
|
||||
meta_title: ""
|
||||
description: "Felix Ulmanu is our Washington D.C. meetup host. Read their latest announcement"
|
||||
date: 2026-01-12T12:00:00Z
|
||||
image: "/images/meetups/dc.jpg"
|
||||
categories: ["Meetups"]
|
||||
author: "Felix Ulmanu"
|
||||
tags: ["meetups", "dc"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
> Felix Ulmanu is our [Washington D.C.](/meetups/dc) meetup host. You may reach the author at felix@handmadecities.com
|
||||
|
||||
<p>Join us this Saturday, 24 January 2026, from 1:45pm to 2:45pm, to discuss API design and single-header libraries. How should we structure and program libraries to impose as few usage constraints as possible? We’ll look at <a href="https://github.com/nothings/stb">the STB libraries</a> and other examples as case studies.</p> <p><strong>Please note the slightly different time than usual</strong> (though after 2:45pm, we may continue chatting over lunch nearby). We’re still at the <strong>West End Library</strong>, 2301 L St NW, Washington, DC 20037, in <strong>Meeting Room 2</strong>. See you soon!</p> <h2>Contact</h2> <ul> <li><code>_felixu_</code> on Discord, or reply to this email</li> </ul> <p>Note that it appears Gmail may send this announcement to “Promotions”. To prevent this, you can set emails from this address to always go to your primary inbox. (We will never send spam!)</p>
|
||||
15
content/english/news/first-dc-meetup-correction-2026.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "D.C. Meetup: POSTPONED to Sunday, 1 February"
|
||||
meta_title: ""
|
||||
description: "Felix Ulmanu is our Washington D.C. meetup host. Read their latest announcement"
|
||||
date: 2026-01-22T12:00:00Z
|
||||
image: "/images/meetups/dc.jpg"
|
||||
categories: ["Meetups"]
|
||||
author: "Felix Ulmanu"
|
||||
tags: ["meetups", "dc"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
> Felix Ulmanu is our [Washington D.C.](/meetups/dc) meetup host. You may reach the author at felix@handmadecities.com
|
||||
|
||||
<p>Due to Winter Storm Fern, the next DC meetup, previously scheduled for this Saturday, is <strong>postponed to Sunday, 1 February, from 2pm to 4pm</strong>. See the last email for our topic and location, which both remain unchanged. Sorry for the trouble, and we hope to see you soon!</p> <h2>Contact</h2> <ul> <li><code>_felixu_</code> on Discord, or reply to this email</li> </ul> <p>Note that it appears Gmail may send this announcement to “Promotions”. To prevent this, you can set emails from this address to always go to your primary inbox. (We will never send spam!)</p>
|
||||
15
content/english/news/first-kirkland-cowork-2026.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "Friday Co-Working in Kirkland"
|
||||
meta_title: ""
|
||||
description: "Taylor Robbins is our Kirkland co-working host. Read their latest announcement"
|
||||
date: 2026-01-08T12:00:00Z
|
||||
image: "/images/meetups/kirkland.jpg"
|
||||
categories: ["Meetups"]
|
||||
author: "Taylor Robbins"
|
||||
tags: ["cowork", "kirkland"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
> Taylor Robbins is our [Kirkland](/meetups/seattle) co-working host. You may reach the author at taylor@handmadecities.com
|
||||
|
||||
<p>Dear Handmade folks,</p> <p>Happy New Year! Tomorrow is our first Kirkland Co-Working session of 2026. Now that the holidays are done it’s back to work, and what better way to work than in the company of others. Come hang out, anyone is welcome, even if you need to work on your day-job tasks while you’re there, but we always love hearing what people are working on if you have something to share.</p> <p><strong>When:</strong> 2:00pm-5:00pm (Friday January 9th)</p> <p><strong>Where:</strong> Thruline Coffee - 136 Park Ln, Kirkland, WA 98033</p> <p><a href="https://maps.app.goo.gl/CmeFmdPdLZkycXHw6">Google Maps Link</a></p> <p><img src="https://www.robbitay.com/handmade/thruline_coffee_512.png" alt="Thruline Coffee Image" /></p> <p>I still recommend charging your laptop beforehand, but if you need we often get the table in the back with an outlet and I’ll bring a extension cord + splitter. If you don’t see us when you first walk in make sure you check behind the counter on the right, the table we sit at is not visible from the door.</p> <p>If you have any questions don’t hesitate to reach out! (reply to this email, or DM/ping on Discord <code>@ProfessorSil</code>)</p>
|
||||
15
content/english/news/first-london-meetup-2026.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "London Meetup, January 11th"
|
||||
meta_title: ""
|
||||
description: "Jacques Heunis is our London meetup host. Read their latest announcement"
|
||||
date: 2026-01-04T12:00:00Z
|
||||
image: "/images/meetups/london.jpg"
|
||||
categories: ["Meetups"]
|
||||
author: "Jacques Heunis"
|
||||
tags: ["meetups", "london"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
> Jacques Heunis is our [London](/meetups/london) meetup host. You may reach the author at jacques@handmadecities.com
|
||||
|
||||
<p>Hey everyone</p> <p>It’s now 2026, time for everybody to mis-type the year for the next two months! \\o/ More importantly, its a new month and that means a new meetup. I’m sending this out a bit late so we’ll schedule for the 18th of January.</p> <p>As usual we’ll book a table at The Fellow (a pub near Kings Cross Station, N1 9AA). There’s no agenda so anybody is free to bring any topics or demos that they’d like to discuss. If anybody wants to bring a laptop or gadget or what-have-you to demo something that’s awesome but most often its just a casual chat about recent projects or topics that interest people. The only ask is that attendees grab a drink or some food to compensate the pub for so kindly allowing us to use their space.</p> <p>We’ll schedule for 14:00 on the 18th of January (2 weeks from now) and people are welcome to stay for as long as they fancy. Since space is limited, please do respond <a href="https://rsvp.handmadecities.com/event/BodEJGrM\">on the event page here</a> by the end of Sunday the 11th if you’d like to attend, just so that I can make a reservation for the table.</p> <p>Looking forward to seeing you there!</p> <p>Jacques</p>
|
||||
15
content/english/news/first-london-meetup-correction-2026.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "Correction: Handmade London Meetup, January 18th"
|
||||
meta_title: ""
|
||||
description: "Jacques Heunis is our London meetup host. Read their latest announcement"
|
||||
date: 2026-01-05T12:00:00Z
|
||||
image: "/images/meetups/london.jpg"
|
||||
categories: ["Meetups"]
|
||||
author: "Jacques Heunis"
|
||||
tags: ["meetups", "london"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
> Jacques Heunis is our [London](/meetups/london) meetup host. You may reach the author at jacques@handmadecities.com
|
||||
|
||||
<p>Hey everyone</p> <p>Just a correction from my previous email since the subject disagreed with the body on the date of the next meetup. As shown <a href="https://rsvp.handmadecities.com/event/BodEJGrM\">on the event page</a> <strong>the event will be on the 18th of January</strong>, not the 11th.</p> <p>Sorry for the confusion, please do not show up at The Fellow on the 11th!</p> <p>Looking forward to seeing you there!</p> <p>Jacques</p>
|
||||
15
content/english/news/first-vancouver-meetup-2026.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "First Vancouver Meetup of the Year is Tomorrow!"
|
||||
meta_title: ""
|
||||
description: "Gabriel Dechichi is our Vancouver meetup host. Read their latest announcement"
|
||||
date: 2026-01-23T12:05:00Z
|
||||
image: "/images/meetups/vancouver.jpg"
|
||||
categories: ["Meetups"]
|
||||
author: "Gabriel Dechichi"
|
||||
tags: ["meetups", "vancouver"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
> Gabriel Dechichi is our [Vancouver](/meetups/vancouver) meetup host. You may reach the author at gabriel@handmadecities.com
|
||||
|
||||
<p>Hi there! Happy new year!</p> <p>Our first Vancouver Handmade Meetup of the year will be this Saturday (tomorrow), January 24th at 2pm PST.</p> <p>Same location as usual, right next to the Brentwood Town Centre Station.</p> <p><strong>Location</strong>: <a href="https://www.google.ca/maps/place/1955+Alpha+Wy.,+Burnaby,+BC+V5C+0K5/@49.26672,-123.0032249,17z/data=!3m1!4b1!4m6!3m5!1s0x5486773aed540b73:0x8115d594509db9c4!8m2!3d49.26672!4d-123.00065!16s%2Fg%2F11hhm5l_nk?entry=tts&g_ep=EgoyMDI1MDQzMC4xIPu8ASoASAFQAw%3D%3D&skid=5dbe0e2f-2f48-479d-acad-b25f3371746e\">1955 Alpha Way, Burnaby BC V5C 0K6</a> </br><strong>Date: Saturday, January 24th</strong> </br><strong>Time: 2pm - 4pm</strong></p> <p>On this meetup we will have a very special <em>talk from Sab on handling segfaults when working close to hardware</em>, which many of us were looking forward to, so hope you can all make it!</p> <p>If you’re considering attending you can RSVP <a href="https://luma.com/i49vxiqs\">by clicking this link</a>.</p> <p>Looking forward to meeting y’all soon!</p>
|
||||
65
content/english/news/hmb-meeting-instructions-2025.md
Normal file
@@ -0,0 +1,65 @@
|
||||
---
|
||||
title: "Boston Conference Instructions"
|
||||
meta_title: ""
|
||||
description: "Where we're meeting for 2025"
|
||||
date: 2025-08-14T12:00:00Z
|
||||
image: "/images/companies/bpl.jpg"
|
||||
categories: ["Press Release"]
|
||||
author: "Abner Coimbre"
|
||||
tags: ["meta", "hmc"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
All the details for our special event in Boston this weekend.
|
||||
|
||||
*UPDATED 8/15: Additional FAQ at the end*
|
||||
|
||||
Dear Handmade folks,
|
||||
|
||||
I'm motivated to see you this weekend. This is a reminder there was a shakeup and downsizing that you can read about [here](/news/winding-down). With that said, everyone attending is in great spirits and we're looking to get inspired.
|
||||
|
||||
#### Where do we meet?
|
||||
|
||||
I'll be at the entrance to the Boston Public Library at 1:45PM. At 2:05 I'll start heading to the conference room. If you're arriving late, our friend Caden (who kindly reserved the space for us) has this for instructions:
|
||||
|
||||
> It's Mezzanine Conference Room 2. From the entrance on Boylston street, you veer slightly to the left to the DVD section, and go up the stairs. From there you'll be able to see all the mezzanine conference rooms.
|
||||
|
||||
If you're still lost, you should ask library staff how to get to Mezzanine Conference Room 2.
|
||||
|
||||
#### Can I demo something?
|
||||
|
||||
If we have extra time after the proper presentations, attendees can demo their own Handmade projects: it can be a side-project, but it can also be commercial software you work on, as long as you get into interesting technical details (we don't want this to be an ad.)
|
||||
|
||||
#### What do we do after the meetup?
|
||||
|
||||
The plan is to go until 5PM or so. For those with time and motivation left, we'll walk to a nearby park for casual chatter until we do a 6PM dinner together. It's fun to play it by ear, so we'll decide where to eat and drink in person!
|
||||
|
||||
#### I'm here in Boston already
|
||||
|
||||
Make sure you're in the HMC [Discord](https://handmadecities.com/discord) so you can sync up with other attendees in the area. There's a public `#handmade-boston` channel and a private `meetups-boston` channel and you may use either of them.
|
||||
|
||||
NOTE: If you don't see the private `#meetups-boston` channel, select **Channels & Roles** in your Discord app and choose "Boston" as a city of interest.
|
||||
|
||||
Your indie organizer,<br>Abner Coimbre
|
||||
|
||||
---
|
||||
|
||||
#### Additional FAQ
|
||||
|
||||
1. **I'm a 2024 fundraiser supporter. Can I join?**
|
||||
|
||||
If you got lifetime perks from the 2024 fundraiser, you can join all future Handmade events including this one. Just state your name when I see you! It also helps to let me know ahead of time you wish to RSVP, since I can't always guarantee a seat.
|
||||
|
||||
2. **I'm a monthly donor. Can I join?**
|
||||
|
||||
If you're a monthly [donor](/donate) to Handmade Cities, you can join all future Handmade events including this one. Just state your name when I see you! It also helps to let me know ahead of time you wish to RSVP, since I can't always guarantee a seat.
|
||||
|
||||
3. **I'm a regular Boston meetup member**
|
||||
|
||||
If you've attended Caden's Handmade Meetups somewhat regularly, you should be fine for this event! First come, first served in terms of available seats.
|
||||
|
||||
4. Can I bring my laptop for my demo?
|
||||
|
||||
Of course; the conference room has a giant TV with HDMI cable. I should also have an adapter for Macbooks.
|
||||
|
||||
Please bring your laptop fully charged in case we run out of outlets. If your laptop isn't HDMI-compatible and it isn't a Macbook, you should carry any special cables or adapters that you need.
|
||||
71
content/english/news/hmc-2025.md
Normal file
@@ -0,0 +1,71 @@
|
||||
---
|
||||
title: "Handmade Cities 2025"
|
||||
meta_title: ""
|
||||
description: "Tickets, Submissions, and More!"
|
||||
date: 2025-04-11T12:00:00Z
|
||||
image: "/images/hmc/2025.png"
|
||||
categories: ["Press Release"]
|
||||
author: "Abner Coimbre"
|
||||
tags: ["meta", "hmc"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
Conference tickets, community submissions, our new advisory board, and more.
|
||||
|
||||
**Things to Discuss:**
|
||||
- Spring Ticket Sale
|
||||
- Call for Submissions
|
||||
- Our New Advisory Board
|
||||
- New Meetup Hosts
|
||||
- Terminal Click - Beta Access
|
||||
|
||||
Dear Conference Goer,
|
||||
|
||||
Since my last newsletter about [parting ways](/news/splitting-from-handmade-network/) with Handmade Network, things have been moving fast. I’ve got plenty of exciting news to share today!
|
||||
|
||||
---
|
||||
### Spring Ticket Sale
|
||||
I’m excited to announce the **Spring Sale** for Handmade Cities 2025! This year, we’re hosting **Boston in the Summer** and **Seattle in the Fall**.
|
||||
|
||||
[Discounted Tickets](/tickets)
|
||||
|
||||
These are now weekend conferences. Furthermore, Boston and Seattle are spaced further apart, giving our events a lot more breathing room.
|
||||
|
||||
The agenda isn’t finalized yet (hence the discounts), but we’ve already listed some promising presenters. If you’ve attended since 2019, you know we’re keen to deliver better conferences every year. (And trust me, last year was full of valuable lessons.)
|
||||
|
||||
---
|
||||
### Call for Submissions
|
||||
We’re officially accepting talk and demo submissions for both conferences! Whether you have a technical lecture, a short talk, or a software demo, we’d love to hear from you.
|
||||
|
||||
**Submit your proposals to:** submissions@handmadecities.com
|
||||
|
||||
You'll find a submission button on the [Boston](/boston) and [Seattle](/seattle) pages too. Further news or deadlines will be posted there.
|
||||
|
||||
---
|
||||
### Our New Advisory Board
|
||||
We’ve ratified a new **Advisory Board** to help guide Handmade Cities.
|
||||

|
||||
The board [meets monthly](/board) to discuss progress with the conferences and meetups, offer feedback to presenters, or vote on community submissions. While I could in theory override their votes, any such action shall be made public in our meeting notes—serving as checks and guardrails.
|
||||
|
||||
---
|
||||
### New Meetup Hosts
|
||||
Despite the interesting economy, our local meetups are thriving! This year, we’ve officially launched meetups in [Tokyo](/meetups/tokyo) and [Berlin](/meetups/berlin) with [Vancouver, Canada](/meetups/vancouver) making a strong comeback.
|
||||
|
||||
A huge thanks to our hosts for fostering monthly gatherings of programmers who embody the Handmade ethos. If you’d like to join or wishlist a meetup in your city, visit [handmadecities.com/meetups](/meetups).
|
||||
|
||||
Interested in hosting a meetup? Email us at support@handmadecities.com!
|
||||
|
||||
---
|
||||
### Terminal Click - Beta Access
|
||||
|
||||
The closed beta for **Terminal Click** is in [full swing](https://terminal.click/beta). If you’ve attended (or plan to attend) Handmade Boston, you automatically qualify for access. Just email me at abner@terminal.click to get your download link.
|
||||
|
||||
*Note: Please use the same email address that you used to book a conference ticket.*
|
||||
|
||||
My latest April devlog, [The Wizard and His Shell](https://terminal.click/posts/2025/04/the-wizard-and-his-shell/), hit the [top spot](https://lobste.rs/s/ndlwoh/wizard_his_shell) on Lobsters for multiple days. It’s been fascinating to see the growing commentary with each devlog we release.
|
||||
|
||||
I believe it’s crucial for leadership to independently ship Handmade software. That’s why I’m sharing this project here—it’s a direct reflection of the ethos we’re building together.
|
||||
|
||||
In closing, I hope you’ll register for the conferences. If you like what I’m doing, registering early is the best way to show your support, and it means the world to me.
|
||||
|
||||
Your independent organizer,<br>Abner Coimbre
|
||||
63
content/english/news/hms-meeting-instructions-2025.md
Normal file
@@ -0,0 +1,63 @@
|
||||
---
|
||||
title: "Seattle Conference Instructions"
|
||||
meta_title: ""
|
||||
description: "Where we're meeting for 2025"
|
||||
date: 2025-12-03T12:00:00Z
|
||||
image: "/images/meetups/obc_counter.jpg"
|
||||
categories: ["Press Release"]
|
||||
author: "Abner Coimbre"
|
||||
tags: ["meta", "hmc"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
All the details for Handmade Seattle Lite happening this Saturday.
|
||||
|
||||
Dear Handmade folks,
|
||||
|
||||
I'm motivated to see you this weekend. This is a reminder there was a whole [shakeup and downsizing](/news/winding-down). With that said, everyone attending is in great spirits and we're looking to get inspired.
|
||||
|
||||
#### Where do we meet?
|
||||
|
||||
The full schedule is on the [Seattle page](/seattle): we discuss the presentations, venue details and any instructions or contingency plans.
|
||||
|
||||
I'll be at the entrance to One Bite Cafe (Seattle) at 1:45PM. At 2:05 I'll start turning on the A/V equipment. If you're arriving late, please enter the coffee shop quietly and order some snacks to support this family business. Then find any available seat and enjoy the show!
|
||||
|
||||
If you're lost, email me at `abner@handmadecities.com` as I'll be paying attention to it every few minutes until we begin at 2:30PM.
|
||||
|
||||
#### Can I demo something?
|
||||
|
||||
If we have extra time after the proper presentations, attendees can demo their own Handmade projects: it can be a side-project, but it can also be commercial software you work on, as long as you get into interesting technical details (we don't want this to be an ad.)
|
||||
|
||||
#### What do we do after the meetup?
|
||||
|
||||
The plan is to go until 5PM or so. For those with time and motivation left, we'll walk to a nearby pizza place followed by drinks at the pub. All of these small shops know about Handmade Cities and appreciate our business. It's fun to play it by ear, so we'll decide where to eat and drink in person based on attendance size.
|
||||
|
||||
#### Can I still RSVP?
|
||||
|
||||
If you're subscribed to the Seattle [mailing list](/meetups/seattle) you should receive an RSVP link on **Wednesday December 3rd, 2025**. Ticket holders don't need to RSVP.
|
||||
|
||||
Please reach out to me if you never received that invite and I'll send you a copy.
|
||||
|
||||
Your indie organizer,<br>Abner Coimbre
|
||||
|
||||
---
|
||||
|
||||
#### Additional FAQ
|
||||
|
||||
1. **I'm a 2024 fundraiser supporter. Can I join?**
|
||||
|
||||
If you got lifetime perks from the 2024 fundraiser, you can join all future Handmade events including this one. Just state your name when I see you! It also helps to let me know ahead of time you wish to RSVP, since I can't always guarantee a seat.
|
||||
|
||||
2. **I'm a monthly donor. Can I join?**
|
||||
|
||||
If you're a monthly [donor](/donate) to Handmade Cities, you can join all future Handmade events including this one. Just state your name when I see you! It also helps to let me know ahead of time you wish to RSVP, since I can't always guarantee a seat.
|
||||
|
||||
3. **I'm a regular Seattle meetup member**
|
||||
|
||||
If you've attended our monthly meetups or weekly co-working sessions somewhat regularly, you should be fine for this event! First come, first served in terms of available seats, with priority given to ticket holders.
|
||||
|
||||
4. **Can I bring my laptop for my demo?**
|
||||
|
||||
Of course; the coffee shop will have a projector screen with HDMI cable. I should also have an adapter for Macbooks.
|
||||
|
||||
Please bring your laptop fully charged. If your laptop isn't HDMI-compatible and it isn't a Macbook, you should carry any special cables or adapters that you need.
|
||||
44
content/english/news/revolt-against-discord.md
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
title: "Revolt Against Discord"
|
||||
meta_title: ""
|
||||
description: "Handmade Cities is killing Discord before 2026"
|
||||
date: 2025-10-12T12:00:00Z
|
||||
image: "/images/hmc/revolt-promotion.png"
|
||||
categories: ["Press Release"]
|
||||
author: "Abner Coimbre"
|
||||
tags: ["meta", "hmc"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
Handmade Cities is leaving Discord by end of the year.
|
||||
|
||||
Time to [Revolt](https://revolt.handmadecities.com) against Discord. Savor the refrain while it lasts, because Revolt will become [Stoat](https://stoat.chat/) eventually. Their rebrand doesn’t change anything about joining now. Your Revolt account will stay the same. Indeed, I’ll call it “Revolt” for the rest of this post.
|
||||
|
||||
You might wonder why this move needs to happen in the first place. First, it's a **principles thing.** We want to own chat data to align closer with the values on our [About](/about) page. On Discord, meanwhile, communities can be (and *have* been) shut down with no recourse. Second, there's **real cybersecurity concerns**. Discord has asked for government ID verification and passed that data to third parties — nearly 100k IDs were exposed in a [vendor breach](https://www.pcmag.com/news/discord-70k-govt-ids-exposed-breach-hackers-posting-age-verification-selfies). That’s not acceptable. Ironically, it appears to be their customer support and "Trust & Safety" teams that were collecting this data. Now it's in the hands of hackers:
|
||||
|
||||
> "The hackers who compromised Discord are now sharing examples of what they say is stolen data, including selfies of Americans and Canadians holding up IDs." -PCMag
|
||||
|
||||
So much for trust. Or safety.
|
||||
|
||||
Finally, note that I'm **encouraging people to touch grass.** I’ve [sketched](https://abner.page/post/exit-the-feed/) a path for top engineers to live without addictive social media. Revolt as an invite‑only, verified‑human space is a core piece of that plan.
|
||||
#### Did you just say invite-only? How do I join Revolt?
|
||||
Invitations will come only from official [meetup hosts](/meetups) or directly from me. If we’ve met at a conference, meetup, or co‑working session, message us and we’ll likely invite you. I’m the one who grants the **Verified Human** badge and I’ll do so if a host can vouch for you. This is an imperfect system and it still requires moderation, of course, but it places a premium on trust over open discoverability. Which is exactly the point.
|
||||
|
||||
UPDATE 1/12/2026: Users [can now request](/chat) invite codes directly.
|
||||
|
||||
#### Addressing common objections
|
||||
There are three typical arguments against using Revolt that I should tackle here.
|
||||
|
||||
1. *"Revolt will be a walled garden like Discord and therefore not crawlable."* I believe that private, ephemeral conversations should remain private. We can curate and surface the best technical discussions into a [public wiki](/guide) so important knowledge isn’t lost.
|
||||
|
||||
2. *“Abner is a dictator."* Guilty as charged. I’m running this as a BDFL, with a decade of organizing Handmade since my early college days. There’s an escape hatch though, because every meetup host can dump their mailing list locally. I don't lock people in. This cuts both ways too: hosts who violate [community values](/about) -- e.g. running meetups sponsored by Microsoft -- are cut off from the water tap. They won't be able to send newsletters nor access new subscribers to the mailing list.
|
||||
|
||||
3. *"There's some friction and missing features."* Revolt is lighter than Discord. I call it Discord Lite™ and it carries a few annoyances:
|
||||
|
||||
- **You can't point the Revolt app to a custom domain.** There is a workaround for this: visit `revolt.handmadecities.com` in your phone's native browser (Safari on iOS). Now hit `Add to Home Screen` and the PWA you just installed behaves like any other electron app.
|
||||
- **Missing bells & whistles.** There's no message pinning, no threads, and limitations on emoji reactions. These are irritations to me, not deal breakers. Many people find Revolt snappier with zero loading times.
|
||||
- **Lack of E2EE.** Discord has this problem too. Handmade Cities policy is to safeguard private DMs and never inspect their contents, but you're choosing to trust us instead of Discord. Never disclose sensitive material on our servers; instead you should ask the person you're talking to for their [Signal](https://signal.org/) username and hop over there.
|
||||
#### Final Notes
|
||||
To summarize: Our new [Revolt](https://revolt.handmadecities.com) is invite‑only. You must be a verified human; either I know you, or a meetup host does. The easiest way to get invited is to attend an in‑person event. If this feels like too much, consider this your warning: the Discord goes kaput after New Year’s Eve. Exchange contact info, save any important links, and follow our [public newsletter](/news) to stay updated, with or without Revolt/Stoat.
|
||||
|
||||
Your indie organizer,<br>Abner Coimbre
|
||||
55
content/english/news/revolt-for-fast-updates.md
Normal file
@@ -0,0 +1,55 @@
|
||||
---
|
||||
title: "Revolt for Fast Updates"
|
||||
meta_title: ""
|
||||
description: "Abner Coimbre is our Seattle meetup host. Read their latest announcement"
|
||||
date: 2026-01-16T22:32:38Z
|
||||
image: "/images/revolt_community.png"
|
||||
categories: ["Meetups"]
|
||||
author: "Abner Coimbre"
|
||||
tags: ["meetups", "seattle"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
> [Abner Coimbre](/about) is our [Seattle](/meetups/seattle) meetup host. You may reach the author at abner@handmadecities.com
|
||||
|
||||
**TL;DR:** Request [invite codes](https://handmadecities.com/chat) for Revolt today! Check out our [brand new](https://guide.handmadecities.com) wiki. Finally, the Seattle co-working session is cancelled as we potentially switch venues.
|
||||
|
||||
---
|
||||
|
||||
Seattle area folks,
|
||||
|
||||
Happy 2026!
|
||||
|
||||
Our Discord server is no more: as I [promised](/news/summer-update-2025/) last summer (see **Discord Off-Ramp** section) and then [very explicitly](/news/revolt-against-discord/) in the fall. Indeed I'm going underground to promote offline meetups - may the power of word-of-mouth bless the community.
|
||||
|
||||
My own account is scheduled for deletion.
|
||||
|
||||
Discord said it will take up to 14 days, so I don't know if that means my account appears active? Anyway, if you're sending me DMs there I'm not seeing them.
|
||||
|
||||
## Keeping up with Handmade Cities
|
||||
|
||||
There's three official ways to keep tabs on things. As we go down this list the frequency of updates goes way up:
|
||||
|
||||
1. [Public Newsletter](/news): this is the slowest one. You get a [Press Release](/categories/press-release) newsletter once in a blue moon, because it's intended for a mass audience. I take into account the events occuring at other Handmade meetups around the world.
|
||||
|
||||
2. [Seattle Mailing List](/meetups/seattle): you're already part of this! You get notifications about monthly meetups, co-working sessions or just critical announcements like our Discord shutting down.
|
||||
|
||||
3. [Chat Server](https://chat.handmadecities.com): Revolt is the new real-time chat. I send messages there every other day: some of them bubble up to the mailing list and, eventually, a public newsletter.
|
||||
|
||||
For Revolt we have an [application process](/chat) for you to get an invite code.
|
||||
|
||||
## Quick Guide
|
||||
|
||||
We're excited to announce the [HMC Guide](https://guide.handmadecities.com): a proper wiki to document how our community is structured:
|
||||
|
||||
<img src="https://guide.handmadecities.com/images/hmc_docs_screenshot_hu5108169931557510214.webp" width="840" height="400">
|
||||
|
||||
In the new spirit of [handing off](/memos/HMC-Memo-001-Wiki-Ownership.pdf) ownership to trusted community members, our friend [Zac Nowicki](https://guide.handmadecities.com/docs/support/contact/#editor) is editor of Handmade Cities. If you spot inaccuracies or valuable missing info shoot him a message at `zac@handmadecities.com`.
|
||||
|
||||
## Seattle Co-Work on Pause
|
||||
|
||||
I am scoping out new venues for co-working in Seattle today. There's a strong chance we're going to use the ol' Third Place Books for the monthly meetup after-party (instead of co-working.)
|
||||
|
||||
Our best candidate for a new co-working venue is **Armistice Coffee**, which is in the Roosevelt neighborhood as always. Anyway, until the dust settles I am canceling the co-working session today. Forgive me and stay tuned on this front.
|
||||
|
||||
Your independent organizer,<br>Abner Coimbre
|
||||
15
content/english/news/second-kirkland-cowork-2026.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "Friday Co-Working in Kirkland"
|
||||
meta_title: ""
|
||||
description: "Taylor Robbins is our Kirkland co-working host. Read their latest announcement"
|
||||
date: 2026-01-22T12:00:00Z
|
||||
image: "/images/meetups/kirkland.jpg"
|
||||
categories: ["Meetups"]
|
||||
author: "Taylor Robbins"
|
||||
tags: ["cowork", "kirkland"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
> Taylor Robbins is our [Kirkland](/meetups/seattle) co-working host. You may reach the author at taylor@handmadecities.com
|
||||
|
||||
<p>Dear Handmade folks,</p> <p>Tomorrow is another co-working session in Kirkland! I’ll be starting a new job in February so the meetup hosting may change hands or change times, but for now it’s business as usual (and likely Feb 6th will be normal as well). Come hang out, anyone is welcome, even if you need to work on your day-job tasks while you’re there, but we always love hearing what people are working on if you have something to share.</p> <p><strong>When:</strong> 2:00pm-5:00pm (Friday January 23rd)</p> <p><strong>Where:</strong> Thruline Coffee - 136 Park Ln, Kirkland, WA 98033</p> <p><a href="https://maps.app.goo.gl/CmeFmdPdLZkycXHw6">Google Maps Link</a></p> <p><img src="https://www.robbitay.com/handmade/thruline_coffee_512.png" alt="Thruline Coffee Image" /></p> <p>I still recommend charging your laptop beforehand, but if you need we often get the table in the back with an outlet and I’ll bring a extension cord + splitter. If you don’t see us when you first walk in make sure you check behind the counter on the right, the table we sit at is not visible from the door.</p> <p>If you have any questions don’t hesitate to reach out! (reply to this email, or DM/ping on Discord <code>@ProfessorSil</code>)</p>
|
||||
115
content/english/news/summer-update-2025.md
Normal file
@@ -0,0 +1,115 @@
|
||||
---
|
||||
title: "Our Summer Update"
|
||||
meta_title: ""
|
||||
description: "See where we stand halfway through the year"
|
||||
date: 2025-06-23T12:00:00Z
|
||||
image: "/images/hmc/ocean.jpg"
|
||||
categories: ["Press Release"]
|
||||
author: "Abner Coimbre"
|
||||
tags: ["meta", "hmc"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
Catch up on our progress this year. Ticket discounts are ending soon!
|
||||
|
||||
**Things to Discuss**
|
||||
|
||||
- Conference Theme: Handmade at Home
|
||||
- Discord Off-Ramp
|
||||
- My Thoughts on AI
|
||||
- Bonus Video: Is Handmade like Suckless?
|
||||
|
||||
Dear community member,
|
||||
|
||||
Summer is here! **I’ve [extended](/tickets) the Spring Sale a few more days,** but the discounts vanish after Wednesday:
|
||||
|
||||
{{< button label="Register" link="/tickets" style="solid" >}}
|
||||
|
||||
Check out our new [downloadable](/calendar) calendar to keep track of event dates.
|
||||
|
||||
---
|
||||
### "Handmade at Home"
|
||||
This year’s conference theme is *Handmade at Home*, and it has two meanings.
|
||||
|
||||
#### Meaning #1: Cleaning House
|
||||
|
||||
With our industry in upheaval, it’s tricky to settle down and reflect, let alone evangelize our values. Here’s what we’re facing:
|
||||
|
||||
1. Handmade Cities is full of gamedevs and they're [in very hot water](https://www.gamesindustry.biz/topics/layoffs)
|
||||
2. International attendance is dropping to [near zero](https://news.ycombinator.com/item?id=44084767). I'm not the only organizer [suffering](https://archive.is/QWmxO) consequences
|
||||
3. Morale is at an all-time low due to AI (more on this later)
|
||||
|
||||
Therefore I'm keen for talks or demos that offer hope, strategies, and inspiration against these grim realities. The theme is open-ended.
|
||||
|
||||
**Reminder:** Our new content will be 80% technical and 20% about programmer well-being.
|
||||
|
||||
#### Meaning #2: Elevate Our Own Talent
|
||||
|
||||
Historically, I've chosen high-profile speakers outside our community to come talk to us. This is valuable. However, I haven't spent nearly enough time platforming community voices.
|
||||
|
||||
We have astounding system programmers at our [meetups](/meetups) and I wish to hear from them.
|
||||
|
||||
{{< image src="images/meetups/cowork_seattle_2025.jpg" caption="Seattle Coworking Session (2025)" alt="cline bot landing page" height="806" width="605" position="center" command="fill" option="q100" class="img-fluid" title="image title" webp="false" >}}
|
||||
|
||||
Someone reading this may be a worthy candidate and not even know it. Send an informal proposal to submissions@handmadecities.com
|
||||
|
||||
{{< button label="Submit a Talk" link="mailto:submissions@handmadecities.com" style="solid" >}}
|
||||
|
||||
---
|
||||
### Discord Off-Ramp
|
||||
It's not controversial to say I want to shut down Discord: everyone can sympathize for one reason or another! I’ve left all servers except for my own [HMC](/discord) and [TC](https://terminal.click/discord) for now.
|
||||
|
||||
I’m moving us to [Revolt](https://revolt.chat) through an invite-only system. Here’s how it’ll work:
|
||||
|
||||
- I invite people I know personally
|
||||
- Meetup hosts can invite their meetup groups
|
||||
- Conference ticket holders are auto-invited (2025 onwards)
|
||||
|
||||
Indeed, [meetup](https://handmadecities.com/meetups) hosts will send chat invites with my command-line tool, which they already use to send newsletters. (I'm in the middle of completing this feature.)
|
||||
|
||||
{{< image src="images/hmc/revolt.png" caption="Revolt is an open-source Discord copycat (and that's a good thing)" alt="cline bot landing page" height="" width="" position="center" command="fill" option="q100" class="img-fluid" title="image title" webp="false" >}}
|
||||
|
||||
I am, in essence, [heeding the advice](https://news.ycombinator.com/item?id=44331351) of this HN comment:
|
||||
|
||||
> I honestly couldn't tell you right now what the long game looks like. Only to find your humans, build your digital fortresses, and help each other as best you can.
|
||||
|
||||
Revolt won't be foolproof of course. The host could go rogue and invite randos, or the ticket holder might take on a fake identity. I'm fine with some cracks on the floor though. This transition is happening over the summer and I’ll keep folks posted if they're [subscribed](/news).
|
||||
|
||||
---
|
||||
### My Thoughts on AI
|
||||
All right, it's a stretch to call my take on artificial intelligence a "real" philosophy, but it is informed from careful study.
|
||||
|
||||
I'm no longer a stranger to AI; I can effectively use the [cline](https://cline.bot) bot and deploy MCP servers. I review, quantize, and self-host open models. I stay on top of the "latest and greatest" and have vibe coders on speed dial (I keep dissenting opinions closer than friends.)
|
||||
|
||||
So what's the conclusion? I offer two.
|
||||
|
||||
{{< image src="images/hmc/cline.png" caption="Cline Bot - Landing Page" alt="cline bot landing page" height="" width="" position="center" command="fill" option="q100" class="img-fluid" title="image title" webp="false" >}}
|
||||
|
||||
#### Conclusion #1: Handmade Ethos is Competitive
|
||||
|
||||
Serious Handmade projects, like my own [Terminal Click](https://terminal.click), don't gain from AI. It does help at the margins: I've delegated website work since last year, and I enjoy seamless CI/CD for my builds. This is meaningful.
|
||||
|
||||
However, it fails at novel problems and isn’t practical for my systems programming work. (Skeptics should check out the bonus video at the end.)
|
||||
|
||||
#### Conclusion #2: A Market for the Artisanal
|
||||
|
||||
Let's imagine LLM agents become essential for true innovation: the top 5% of 'manual' coders are officially threatened! From what I observe at our in-person events, there remains the eternal craving for what's purely human.
|
||||
|
||||
Even True Believers conceded to me users will crave Handmade projects the same way people crave artisanal crafts, furniture or goods. They called this futuristic market fringe - I call it sustainable.
|
||||
|
||||
**TL;DR:** I don't lose sleep over my craft disappearing. I lose sleep over the automation of mediocrity.
|
||||
|
||||
---
|
||||
### Is Handmade like Suckless? (Video)
|
||||
|
||||
Anyone who made it this far deserves a cool video! I've set up a permalink at [terminal.click/suckless](https://terminal.click/suckless)
|
||||
|
||||
<div style="padding:56.25% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/1091637660?badge=0&autopause=0&player_id=0&app_id=58479" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share" style="position:absolute;top:0;left:0;width:100%;height:100%;" title="Handmade is NOT Suckless"></iframe></div><script src="https://player.vimeo.com/api/player.js"></script>
|
||||
|
||||
Over the years some new community members often think [suckless](https://suckless.org) and Handmade are similar if not the same. Out of respect for both, I feel it's time to respond.
|
||||
|
||||
The payoff is worthwhile if viewers watch patiently.
|
||||
|
||||
*P.S. Don’t expect a deep philosophical breakdown. Instead, I casually compare their signature terminal software against my own: two real-world products from competing ideologies.*
|
||||
|
||||
Your indie organizer,<br>Abner Coimbre
|
||||
71
content/english/news/winding-down.md
Normal file
@@ -0,0 +1,71 @@
|
||||
---
|
||||
title: "Winding Down"
|
||||
meta_title: ""
|
||||
description: "Our conferences are coming to an end"
|
||||
date: 2025-08-12T12:00:00Z
|
||||
image: "/images/hmc/out-of-order.jpg"
|
||||
categories: ["Press Release"]
|
||||
author: "Abner Coimbre"
|
||||
tags: ["meta", "hmc"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
Our conferences are coming to an end. I am re-evaluating how we socialize.
|
||||
|
||||
Dear Handmade folks,
|
||||
|
||||
This shutdown isn't the end of Handmade Cities, but it does mean we're ending our conferences in favor of local meetups. I'm officially collaborating with [The Offline Club](https://www.theoffline-club.com/) in the future, since we both agreed we admire each other's efforts.
|
||||
|
||||
Personally I'm optimistic for what's on the horizon. However, in this post I need to be blunt about reality. Stand strong.
|
||||
|
||||
*REMINDER: Handmade Cities is NOT affiliated with Handmade Hero nor the Handmade Network. We share the brand and that's it.*
|
||||
|
||||
#### What does it mean for the conferences in 2025?
|
||||
|
||||
The [Boston](/boston) and [Seattle](/seattle) dates stay on the calendar, but they’re meetups now; likely bigger than usual, just not a traditional tech conference. I expect the lectures and demos to remain exciting but in smaller packaging.
|
||||
|
||||
This change is reflected in Boston already, which is coming up this weekend. We changed the venue from the increasingly expensive JFK Presidential Library to the Boston Public Library instead:
|
||||
|
||||
{{< image src="images/companies/bpl.jpg" caption="Entrance to BPL" alt="Entrance to Boston Public Library" height="806" width="605" position="center" command="fill" option="q100" class="img-fluid" title="Entrance to BPL" webp="false" >}}
|
||||
|
||||
I've disabled the [tickets](/tickets) portal and, if there’s room, new folks can join free. E-mail me to RSVP: abner@handmadecities.com. We'll meet in front of the library Saturday at 2PM: plus ones welcome.
|
||||
|
||||
Ticket holders disappointed with this change can email me directly at abner@handmadecities.com to negotiate refunds. I’ve got sunk costs, so refunds might take up to a small number of weeks. However, I'm already processing them as fast as I can, and I'm deeply grateful to the folks allowing me to keep their contribution.
|
||||
|
||||
These upcoming events will be delightful all the same.
|
||||
|
||||
#### Why I'm doing this
|
||||
|
||||
This story has two parts: financial and personal.
|
||||
|
||||
1. **Financial**
|
||||
|
||||
I hinted at economic trouble at the beginning of [this](/news/summer-update-2025/) summer update and in the bottom section of my Terminal Click [announcement](https://terminal.click/posts/2025/07/open-beta/). It's common knowledge profitable conferences are a dying breed and I'm surprised I've lasted this long: Deconstruct, Strangeloop, Bang Bang Con, XOXO and other small-to-medium sized events vanished. Even corporate-backed conferences are no longer around: O'Reilly, Xfest, E3 and so on went away.
|
||||
|
||||
2. **Personal**
|
||||
|
||||
In the last Handmade Seattle I made a mistake with the balance of content. It was definitely jarring to have little in the way of old-school technical presentations. This caused a 50-50 split of positive versus negative feedback: the positive commentary came largely from newcomers, while the negative came largely from veterans. The reader can visit [older](/news) blog posts where I apologized and asked for feedback.
|
||||
|
||||
However, I stand by all my speakers and refuse to add disclaimers/warnings inside published recordings. It is obvious giving speakers air time doesn't mean I endorse all their views. In any case, the most controversial talk by far was Andrew Kelley's keynote on [Day One](/media/seattle-2024/hms-day-one/). I received a barrage of vile essays in my Inbox, Discord DMs, and unlisted YouTube videos calling me a communist (what?) for platforming Andrew's message. I lost genuine friendships from people who were caught up in the heat of it all.
|
||||
|
||||
This was personally traumatic, and I can't use this trauma to justify running half-hearted conferences, which is an important reason for stopping them.
|
||||
|
||||
*UPDATE 8/18/25: In my original post I aired dirty laundry, which feeds into online drama I'm supposed to denounce. It is now removed.*
|
||||
|
||||
#### Nature is healing
|
||||
|
||||
The Handmade meetups are awesome and they keep growing. We nerd out with demos and side projects. We help local programmers find work or make new friends every month. I train and mentor hosts, then they take the reins, so the scene is decentralized and self-sustaining. Meetups are cheap or free to run so I don't have to chase big revenue. Meanwhile, building [Terminal Click](https://terminal.click) as an indie dev is therapy compared to wrangling humans for a living!
|
||||
|
||||
An impressive number of people who ended their relationship with me have apologized as of late. I've forgiven them.
|
||||
|
||||
*UPDATE 8/18/25: In my original post I posted examples of private apologies, which is unfair to those friends. These are now removed.*
|
||||
|
||||
#### Could things have been different?
|
||||
|
||||
Without social media we could've had more perspective: in the end this was just one event. In fact a Seattle meetup member called me a “young grasshopper.” That caught me off guard until I looked around. Important things take time indeed: TED Talks have existed for four decades; DEFCON is thirty years old; many open-source conferences spent twenty years figuring things out. Herding cats is slow and messy.
|
||||
|
||||
I’m done running conferences though. Besides the reasons above, they feed the egos of a few “anointed” speakers and require a social media hustle I just won’t play. I’m opting out. I'm excited about building stuff that gets people offline: better meetups, our own server racks, and self-hosted tools for indie devs with serious Handmade projects.
|
||||
|
||||
I’ll keep publishing newsletters [here](/news) and on [Terminal Click](https://terminal.click/posts), and occasionally on my [personal](https://abner.page) website. I'd still love to see you at our upcoming events, even if they're not fancy conferences.
|
||||
|
||||
See you offline,<br>Abner Coimbre
|
||||
37
content/english/pages/cowork.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: "Handmade Co-Work"
|
||||
# meta title
|
||||
meta_title: ""
|
||||
# meta description
|
||||
description: "Learn how the co-working sessions, well, work!"
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
#### About Co-Working Sessions
|
||||
|
||||
When there's no Handmade conference we have in-person meetups all year round. Usually, these are just monthly meetups: once a month we demo the coolest projects or have round-table discussions.
|
||||
|
||||
However, some cities also offer co-working sessions: these are more informal and happen more regularly.
|
||||
|
||||
#### What to Expect
|
||||
|
||||
We're a mixed bag of programmers in these sessions. Some do remote work for their normal 9-5 job (they even have Slack open!) while others are indie devs working on a serious product. Finally, there are those who take time off their work for a side project.
|
||||
|
||||
At each session we introduce ourselves and briefly explain what we’re working on for the day. Then we get right to it!
|
||||
|
||||
{{< image src="images/meetups/cowork_seattle_2025.jpg" caption="Example session in Seattle (2025)" alt="Seattle Co-Working Image in 2025" height="806" width="605" position="center" command="fill" option="q100" class="img-fluid" title="Seattle Co-Working in 2025" webp="false" >}}
|
||||
|
||||
Sometimes we pause to point at our progress or ask for technical feedback. And sometimes, a couple folks or so team up for a new project! The ultimate goal, however, is to feel connected in meatspace.
|
||||
|
||||
Note that you are not expected to work exclusively on systems programming. It's reasonable to do art, marketing, accounting and so on if needed.
|
||||
|
||||
#### How do I know if my city offers co-working?
|
||||
|
||||
First and foremost, please browse the cities on the [Meetups](/meetups) page and subscribe to your favorite one. If your city is not listed, wishlist one from the dropdown box: the more demand there is for a city, the more likely we can spin up an official group.
|
||||
|
||||
Then you should email the meetup host and ask whether they offer co-working sessions (email address is on their meetup page.)
|
||||
|
||||
#### Notice to Washington Residents
|
||||
|
||||
At the time of writing we only offer a [Seattle](/meetups/seattle) mailing list, which is ALSO used for events in other cities e.g. Kirkland co-working. You should subscribe to Seattle for these so-called "Seattle area" invitations.
|
||||
3
content/english/pages/meetupinvite2000.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Meetup Invite Test
|
||||
|
||||
This is a placeholder for tests performed with [MeetupInvite2000](https://git.handmadecities.com/meetups/meetupinvite2000/releases). When you use the `blast` command, your email will be published to [News](/news) instead.
|
||||
4
content/english/revolt.md
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
title: "Private Chat"
|
||||
layout: "revolt"
|
||||
---
|
||||
@@ -1,697 +1,98 @@
|
||||
---
|
||||
title: "Handmade Seattle 2024"
|
||||
meta_title: "Handmade Seattle 2024"
|
||||
description: "Handmade Seattle 2024"
|
||||
year: 2024
|
||||
draft: false
|
||||
layout: year_page
|
||||
banner:
|
||||
title: "<span class='seattle-color'>Handmade Seattle 2024</span>"
|
||||
live_banner:
|
||||
enable: false
|
||||
use_twitch: true
|
||||
use_youtube: false
|
||||
title: "Handmade Seattle 2024"
|
||||
title_class: "seattle-color mb-4"
|
||||
twitch_channel: "abnercoimbre"
|
||||
youtube_channel_id: "UCkiOutDcOG0KRLQc71Pd-Fg" # found at: https://www.youtube.com/account_advanced, is currently yt/handmadecities
|
||||
section_class: "pb-36 row mb-4"
|
||||
buttons_class: "p-2 px-3 mt-2"
|
||||
buttons_row_class: "mt-4 text-white gap-4"
|
||||
buttons:
|
||||
- title: "<i class='fa fa-ticket'></i> Tickets"
|
||||
link: "/tickets"
|
||||
class: "btn seattle-bg"
|
||||
- title: "<i class='fa fa-comments'></i> Chat"
|
||||
link: "https://chat.handmadecities.com"
|
||||
class: "btn bg-green-500"
|
||||
- title: "<i class='fa fa-gift'></i> Donate"
|
||||
link: "https://donorbox.org/handmadecities"
|
||||
class: "btn bg-red-700"
|
||||
- title: "Twitch"
|
||||
link: "https://twitch.tv/abnercoimbre"
|
||||
class: "btn meetups-bg"
|
||||
icon_only: true
|
||||
icon: "fa-brands fa-twitch"
|
||||
- title: "YouTube"
|
||||
link: "https://youtube.com/@handmadecities"
|
||||
class: "btn bg-[#ff0000]"
|
||||
icon_only: true
|
||||
icon: "fa-brands fa-youtube"
|
||||
content: "We are the largest indie conferences for low-level programmers.<br> Proud to be __Fully Hybrid__.<br>"
|
||||
content_bottom: "**Seattle Center**<br><span class='text-small'>Nesholm Family Lecture Hall</span><br><br><span class='underline'>**Nov 20th - 22nd, 2024**</span><br>Private Hangouts on Friday, Nov 22nd"
|
||||
content_bottom_class: "mt-20 mb-20 text-white"
|
||||
section_class: "mb-0 pb-0"
|
||||
bg_img:
|
||||
parallax: false
|
||||
img: "/images/seattle_skyline.webp"
|
||||
bg_class: "z-0 bg-[rgba(0,0,0,0.5)]"
|
||||
image: "/images/hms/seattle-dark-mode.svg"
|
||||
hide_banner_img: true
|
||||
hide_title_after_banner: false
|
||||
section_class: "bg-black pb-0"
|
||||
transition:
|
||||
end: "/images/transition2.svg"
|
||||
end_class: "transform -scale-y-100 -scale-x-100"
|
||||
end_color: "#fff"
|
||||
end_dark: "/images/transition2.svg"
|
||||
end_dark_color: "#150e31"
|
||||
button:
|
||||
enable: false
|
||||
label: "Tickets"
|
||||
link: "/tickets"
|
||||
icon: "fa fa-ticket pl-2"
|
||||
class: "btn text-white seattle-bg"
|
||||
button2:
|
||||
enable: false
|
||||
label: "Donate"
|
||||
link: "https://donorbox.org/handmadecities"
|
||||
icon: "fa fa-gift pl-2"
|
||||
class: "btn bg-red-700 dark:bg-red-700 dark:text-white hover:bg-red-800 mt-6 text-white"
|
||||
title: "Handmade Seattle 2025"
|
||||
subtitle: "The West Coast's mini conference for systems programmers."
|
||||
image: "/images/hms/seattle-dark-mode.svg"
|
||||
layout: "event"
|
||||
|
||||
# Features
|
||||
features:
|
||||
- title: "This Year’s Stars"
|
||||
title_class: "text-white mb-8 text-center"
|
||||
image: "/images/hms/seattle-dark-mode.svg"
|
||||
side: "center"
|
||||
bg_img:
|
||||
parallax: true
|
||||
img: "/images/devon_starfield.png"
|
||||
transition:
|
||||
start: "/images/transition2.svg"
|
||||
start_class: "mb-5 transform"
|
||||
start_color: "#fff"
|
||||
start_dark: "/images/transition2.svg"
|
||||
start_dark_color: "#150e31"
|
||||
end: "/images/transition3.svg"
|
||||
end_class: "transform -scale-x-100"
|
||||
end_color: "#fff"
|
||||
end_style: "mask-size: cover;height:150px;"
|
||||
end_dark: "/images/transition3.svg"
|
||||
end_dark_color: "#150e31"
|
||||
timeline:
|
||||
enable: true
|
||||
date_class: ""
|
||||
event_class: ""
|
||||
timeline_class: "mb-20 mt-12"
|
||||
event_img_class: ""
|
||||
time_class: "text-right text-slate-200"
|
||||
event_title_class: "dark:text-white text-xl"
|
||||
event_subtitle_class: "text-lg text-slate-200"
|
||||
day_listing_class: "text-2xl text-white no-decoration hover:meetups-color hover:cursor-pointer hover:underline"
|
||||
day_listing_inactive_class: "text-gray"
|
||||
top_text: ""
|
||||
top_text_class: "mb-12 text-center"
|
||||
bottom_text: "All times in Seattle Time, UTC-8:00 timezone."
|
||||
bottom_text_class: "text-center mt-8 text-slate-300"
|
||||
day_date_class: "text-center text-white text-xl mb-4 underline"
|
||||
default_day: "Day 3"
|
||||
days:
|
||||
- title: "Day 1"
|
||||
date: "Wed Nov 20th, 2024"
|
||||
title_class: "text-dark dark:text-white"
|
||||
events:
|
||||
- title: "Registration"
|
||||
time: "9:00 AM"
|
||||
subtitle: "Ticket scanning at the lobby"
|
||||
modal_target: ""
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Anniversary Special"
|
||||
time: "10:00 AM"
|
||||
subtitle: "The Next Ten Years"
|
||||
title_class: ""
|
||||
modal_target: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "In Defense of the Free Software Movement"
|
||||
time: "11:00 AM"
|
||||
subtitle: "Andrew Kelley"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Lunch Break"
|
||||
time: "12:00 PM"
|
||||
subtitle: "Exclusive Podcast Premiere"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "fred"
|
||||
time: "1:30 PM"
|
||||
subtitle: "Demo"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Meese Engine"
|
||||
time: "1:45 PM"
|
||||
subtitle: "Demo"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Creative Exercises at the Low Level"
|
||||
time: "2:00 PM"
|
||||
subtitle: "Allen Webster"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "It's Not About the API"
|
||||
time: "3:00 PM"
|
||||
subtitle: "Mason Remaley"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Ark Version Control System"
|
||||
time: "4:00 PM"
|
||||
subtitle: "Demo"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Project Salarybot"
|
||||
time: "4:15 PM"
|
||||
subtitle: "Demo"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Job Booths"
|
||||
time: "4:30 PM"
|
||||
subtitle: "Announcements"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "End of Day 1"
|
||||
time: "5:00 PM"
|
||||
subtitle: ""
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Day 2"
|
||||
date: "Thu Nov 21st, 2024"
|
||||
title_class: "text-dark dark:text-white"
|
||||
top_text: ""
|
||||
top_text_class: "dark:text-white"
|
||||
bottom_text: ""
|
||||
bottom_text_class: ""
|
||||
events:
|
||||
- title: "Registration"
|
||||
time: "9:00 AM"
|
||||
subtitle: "Ticket scanning at the lobby"
|
||||
modal_target: ""
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "A shining palace built upon the sand"
|
||||
time: "10:00 AM"
|
||||
subtitle: "Devine Lu Linvega"
|
||||
title_class: ""
|
||||
modal_target: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Democratizing Software"
|
||||
time: "11:00 AM"
|
||||
subtitle: "Wryl"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Lunch Break"
|
||||
time: "12:00 PM"
|
||||
subtitle: "'Best Of' Re-broadcasts"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Half-Edge"
|
||||
time: "1:30 PM"
|
||||
subtitle: "Demo"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "6502 The Spreadsheet"
|
||||
time: "1:45 PM"
|
||||
subtitle: "Demo"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Proficiency Patterns & Play"
|
||||
time: "2:00 PM"
|
||||
subtitle: "Tomas Diaz"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Programming is Practice Problem Solving"
|
||||
time: "3:00 PM"
|
||||
subtitle: "Elizabeth Baumel"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Way of Rhea"
|
||||
time: "4:00 PM"
|
||||
subtitle: "Demo"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Whitebox Systems"
|
||||
time: "4:15 PM"
|
||||
subtitle: "Demo"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "HYTRADBOI"
|
||||
time: "4:30 PM"
|
||||
subtitle: "Indie Conferences like HMS"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "End of Day 2"
|
||||
time: "5:00 PM"
|
||||
subtitle: ""
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Day 3"
|
||||
date: "Fri Nov 22nd, 2024"
|
||||
title_class: "text-dark dark:text-white"
|
||||
top_text: ""
|
||||
top_text_class: "dark:text-white"
|
||||
bottom_text: ""
|
||||
bottom_text_class: ""
|
||||
events:
|
||||
- title: "MoPop Mueseum"
|
||||
time: "11:00 AM"
|
||||
subtitle: "@ Seattle Center"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "Flatstick Pub"
|
||||
time: "2:00 PM"
|
||||
subtitle: "@ South Lake Union"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
- title: "After Party"
|
||||
time: "7:00 PM"
|
||||
subtitle: "@ Disclosed in Private Chat Server"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
link: ""
|
||||
# Event Details
|
||||
event_dates: "Saturday December 6th, 2025"
|
||||
registration_date: "December 1st, 2025"
|
||||
venue_name: "One Bite Cafe (2-5PM)"
|
||||
venue_address: "1026 NE 65th St, Seattle, WA 98115"
|
||||
|
||||
img_grid:
|
||||
title: ""
|
||||
title_class: "text-center"
|
||||
section_class: "mb-12"
|
||||
img_title_class: "text-center text-2xl no-underline hover:underline hover:color-[#150e31]"
|
||||
img_subtitle_class: "text-center"
|
||||
img_class: "hover:cursor-pointer devon_was_here"
|
||||
imgs:
|
||||
- title: "Abner Coimbre"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-4"
|
||||
subtitle: "Host"
|
||||
img: "/images/people/abner_2022.png"
|
||||
modal_target: "abner"
|
||||
- title: "Billy Basso"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-4"
|
||||
subtitle: "Creator of [Animal Well](https://www.youtube.com/watch?v=ygL8eqX12MQ)"
|
||||
img: "/images/people/billy-basso.jpg"
|
||||
modal_target: "billy"
|
||||
- title: "Anniversary Special"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-4"
|
||||
subtitle: "The Next Ten Years"
|
||||
img: "/images/people/abner_bvisness-scaled.jpg"
|
||||
modal_target: "anniversary"
|
||||
- title: "Allen Webster"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-4"
|
||||
subtitle: "Founder of [Mr. 4th](https://mr4th.com/) Lab"
|
||||
img: "/images/people/allen_square.webp"
|
||||
modal_target: "allen"
|
||||
- title: "Freya Holmér"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-4"
|
||||
subtitle: "YouTuber and Shader [Sorceress](https://acegikmo.com/)"
|
||||
img: "/images/people/freya.jpg"
|
||||
modal_target: "freya"
|
||||
- title: "Andrew Kelley"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-4"
|
||||
subtitle: "President of [Zig](https://ziglang.org/) Software Foundation"
|
||||
img: "/images/people/andrew-kelley.jpg"
|
||||
modal_target: "andrew"
|
||||
- title: "Devine Lu Linvega"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-4"
|
||||
subtitle: "Co-Founder of [Hundred Rabbits](https://100r.co)"
|
||||
img: "/images/people/devine_square.webp"
|
||||
modal_target: "devine"
|
||||
- title: "Wryl"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-4"
|
||||
subtitle: "Computational artisan, author of [Modal](https://wiki.xxiivv.com/site/modal)"
|
||||
img: "/images/people/wryl_sq.webp"
|
||||
modal_target: "wyrl"
|
||||
- title: "Kagi Search"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Job Booth"
|
||||
img: "/images/companies/kagi_square.webp"
|
||||
modal_target: "kagi"
|
||||
- title: "Meese Engine"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Minecraft-like [engine](https://handmade.network/p/548/meese-engine/) for Gamecube, Wii & Dreamcast"
|
||||
img: "/images/demos/meese_15.png"
|
||||
modal_target: "meese"
|
||||
- title: "Project Salarybot"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "What's it feel to work as a robot for a living?"
|
||||
img: "/images/demos/salarybot-1.png"
|
||||
modal_target: "salarybot"
|
||||
- title: "Ark"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Version Control System"
|
||||
img: "/images/demos/branch_merged.png"
|
||||
modal_target: "ark"
|
||||
- title: "Elizabeth Baumel"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Lead Rendering Engineer"
|
||||
img: "/images/people/baumel.jpg"
|
||||
modal_target: "elizabeth"
|
||||
- title: "Mason Remaley"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Indie Gamedev"
|
||||
img: "/images/people/mason.png"
|
||||
modal_target: "mason"
|
||||
- title: "Way of Rhea"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Hard puzzles, forgiving mechanics"
|
||||
img: "/images/demos/way-of-rhea-steam.png"
|
||||
modal_target: "rhea"
|
||||
- title: "Beyond the Folders"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Inside [File Pilot](https://diskvoyager.com)"
|
||||
img: "/images/podcasts/file_pilot_screenshot.png"
|
||||
modal_target: "fpilot"
|
||||
- title: "fred"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "An editor from the ground up"
|
||||
img: "/images/demos/fred-1.png"
|
||||
modal_target: "editor"
|
||||
- title: "Whitebox Systems"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Watch how your code behaves as you write it"
|
||||
img: "/images/demos/whitebox.png"
|
||||
modal_target: "whitebox"
|
||||
- title: "Tomas Diaz"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Principal Engineer at KCSE"
|
||||
img: "/images/people/diaz.jpg"
|
||||
modal_target: "diaz"
|
||||
- title: "KCSE"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Job Booth"
|
||||
img: "/images/companies/kcse.png"
|
||||
modal_target: "kcse"
|
||||
- title: "6502 The Spreadsheet"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Instructions with actions completely unrolled"
|
||||
img: "/images/demos/6502_spreadsheet_1.png"
|
||||
modal_target: "spreadsheet"
|
||||
- title: "HYTRADBOI"
|
||||
title_class: "text-center text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg mb-2"
|
||||
subtitle: "Indie conference [inspired](https://www.scattered-thoughts.net/writing/why-start-a-new-database-conference#funding) by Handmade Seattle"
|
||||
img: "/images/companies/hytradboi.webp"
|
||||
modal_target: "hytradboi"
|
||||
- title: "Job Booth"
|
||||
title_class: "text-center text-white text-2xl mt-2"
|
||||
subtitle_class: "text-center text-lg text-white mb-4"
|
||||
subtitle: "Open Slots"
|
||||
img: "/images/people/resume.png"
|
||||
link: "/jobs"
|
||||
bg_color: "#0a0a0a"
|
||||
content: "**More On The Way**<br>Join the [newsletter](/news) or check out [last year](/media/seattle-2023)'s speakers."
|
||||
content_class: "text-white mt-12 px-12 pb-12 pt-12 bg-[rgba(0,0,0,0.5)] rounded-lg"
|
||||
button:
|
||||
enable: enable
|
||||
class: "meetups-bg dark:meetups-bg"
|
||||
label: "Register"
|
||||
link: "/tickets"
|
||||
# Event Features
|
||||
event_format: "Fully Hybrid"
|
||||
event_features:
|
||||
- "In-person & online attendance options"
|
||||
- "3 days of technical talks & workshops"
|
||||
- "Trade show with industry exhibitors"
|
||||
- "Live coding sessions"
|
||||
- "Networking opportunities"
|
||||
|
||||
- title: "Fully Hybrid"
|
||||
title_class: "ml-4 text-white mb-4 drop-shadow-2xl"
|
||||
side: "center"
|
||||
transition:
|
||||
start: "/images/transition4.svg"
|
||||
start_class: "mb-5 -scale-y-100 -scale-x-100"
|
||||
start_color: "#fff"
|
||||
start_dark: "/images/transition4.svg"
|
||||
start_dark_color: "#150e31"
|
||||
start_style: "mask-position: bottom;mask-repeat:repeat-x;"
|
||||
end: "/images/transition2.svg"
|
||||
end_class: "mt-20 transform -scale-y-100 -scale-x-100"
|
||||
end_color: "#fff"
|
||||
end_dark: "/images/transition2.svg"
|
||||
end_dark_color: "#150e31"
|
||||
bg_img:
|
||||
parallax: false
|
||||
img: "/images/line_waves.webp"
|
||||
card_grid:
|
||||
title: ""
|
||||
title_class: "text-center"
|
||||
section_class: "mb-12"
|
||||
card_class: "dark:bg-[#150e31] bg-white rounded-lg shadow-md overflow-hidden cursor-pointer"
|
||||
card_title_class: "text-xl font-semibold mb-2 text-center"
|
||||
card_subtitle_class: "text-center dark:text-white text-black"
|
||||
card_bottom_text_class: "text-center pt-2"
|
||||
cards:
|
||||
- title: "No Vaults"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
subtitle: "We don't lock recordings behind a paid vault."
|
||||
img: "/images/film.webp"
|
||||
modal_target: "vaults"
|
||||
- title: "Live Streaming"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
subtitle: "Presentations streamed live in HD, with closed captioning when possible"
|
||||
img: "/images/cinema.webp"
|
||||
modal_target: "live"
|
||||
- title: "Private Chat Server"
|
||||
title_class: ""
|
||||
subtitle_class: ""
|
||||
subtitle: "Physical and online tracks communicate under the same server"
|
||||
img: "/images/revolt_mockup.webp"
|
||||
modal_target: "chat"
|
||||
image_class: "rounded-md shadow-lg"
|
||||
content: ""
|
||||
content_class: "p-4 px-6 rounded-md"
|
||||
section_class: "text-white"
|
||||
- title: "Watch Previous Years"
|
||||
title_class: "mb-4 drop-shadow-2xl"
|
||||
side: "left"
|
||||
button:
|
||||
enable: true
|
||||
label: "Media"
|
||||
link: "/media"
|
||||
icon: "fa fa-ticket pl-2"
|
||||
class: "btn text-white seattle-bg"
|
||||
image: "/images/hms_23_trailer.webp"
|
||||
image_link: "/media"
|
||||
image_class: "rounded-md shadow-lg"
|
||||
content: "See all of our previous years of talks, demos, and chats freely on our media page."
|
||||
content_class: "p-4 px-6 rounded-md text-black dark:text-white"
|
||||
section_class: "text-white mt-24 pb-24"
|
||||
modals:
|
||||
- active: true
|
||||
id: "abner"
|
||||
title: "Founder of Handmade Cities"
|
||||
title_class: "text-white"
|
||||
content: "… and organizer of Handmade Seattle since 2019<br><br>Abner is hyper-social, having started the Handmade [Network](https://handmade.network/) when Casey Muratori needed a community for the viral Handmade Hero series. He then took charge of the conferences when Casey passed him the baton.<br><br>A programmer in his own right, Abner’s worked for NASA, Jonathan Blow, the creators of Myst, and is [rethinking](https://terminal.click) terminal emulators from scratch."
|
||||
content_class: "text-white"
|
||||
img: "/images/cities-light-mode.png"
|
||||
img_dark: "/images/cities-dark-mode-row.png"
|
||||
- active: true
|
||||
id: "billy"
|
||||
title: "Creator of [Animal Well](https://www.youtube.com/watch?v=ygL8eqX12MQ)"
|
||||
title_class: "text-white"
|
||||
content: "**Postponed for 2025**<br><br>Good problems for Handmade: Animal Well is nominated for awards at *multiple* big shows--The Golden Joystick Awards and Geoff Keighley's The Game Awards<br><br>Abner and Billy tried to make this work until the last minute, but in the end there were simply too many scheduling conflicts. **Billy's agreed to be keynote speaker for 2025.**<br><br>Our conference continues to have heavy hitters and awe-inspiring presentations. However, if a ticket holder feels wronged by this cancellation, email Abner to discuss refunds: abner@handmadecities.com"
|
||||
content_class: "text-white"
|
||||
img: "/images/modals/bunnies.png"
|
||||
- active: true
|
||||
id: "other"
|
||||
title: "devon was here"
|
||||
title_class: "text-white"
|
||||
content: "devon2 was here"
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "anniversary"
|
||||
title: "The Next Ten Years"
|
||||
title_class: "text-white"
|
||||
content: "**Where's Handmade Headed Now?**<br><br>Partners in crime Abner Coimbre and [Ben Visness](https://handmade.network/about) celebrate the history of the Handmade community and then reveal the vision for the movement as it matures and enters its second decade."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "allen"
|
||||
title: "Creative Exercises at the Low Level"
|
||||
title_class: "text-white"
|
||||
img: "/images/modals/mr4th_lab.jpg"
|
||||
content: "**An exploration of untapped potential.**<br>Starting off we’ll map out the toolchains we use for creating and running executables on desktops. Then we’ll flesh out that picture with some low level details. And finally we’ll see how we can play with the pieces that exist to see new possibilities."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "freya"
|
||||
title: "Half-Edge"
|
||||
title_class: "text-white"
|
||||
img: "/images/modals/half-edge.png"
|
||||
content: "A modern 3D modeling tool designed for game developers"
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "meese"
|
||||
title: "Meese Engine"
|
||||
title_class: "text-white"
|
||||
content: "Get ready for Meese Engine on the Gamecube, Wii, and Dreamcast—a game engine that, against all odds, outshines official Minecraft in some ways.<br><br>With a jaw-dropping render distance surpassing Minecraft on the Switch and PS4, you’ll see those blocky horizons stretch further than you thought was possible on Nintendo’s little cube. Somehow, this console is pushing polygons and chunks into the distance with a 485 MHz CPU and only 24MB of RAM."
|
||||
content_class: "text-white"
|
||||
img: "/images/demos/meese_16.png"
|
||||
- active: true
|
||||
id: "salarybot"
|
||||
title: "Project Salarybot"
|
||||
title_class: "text-white"
|
||||
content: "**An arcade action platformer that really makes you really feel like you work as a robot for a living.**<br><br>Project Salarybot is a love letter to 90s arcade games bolstered with modern features. The game is meant to capture that hectic feeling of dropping a few coins into a machine with friends and frantically trying to claw yourselves to victory. An engaging combat system, different threats and objectives with every mission and an unsettling corporate history all await you and up to 3 friends in Project Salarybot."
|
||||
content_class: "text-white"
|
||||
img: "/images/demos/salarybot-2.png"
|
||||
- active: true
|
||||
id: "ark"
|
||||
title: "Ark"
|
||||
title_class: "text-white"
|
||||
content: "**A [VCS](https://ark-vcs.com) with games in mind.**<br><br>Ark is a Version Control System that focuses on bringing back **simplicity** and **performance**, targeting especially big projects like **games**.<br><br>It's a complete and portable solution, providing CLI, server and GUI, built into a small binary with no dependencies, and without the need of subscriptions nor chained to cloud hosting."
|
||||
content_class: "text-white"
|
||||
img: "/images/demos/branch_merged_full.png"
|
||||
- active: true
|
||||
id: "devine"
|
||||
title: "The Library Of Babel in which every book is a program"
|
||||
title_class: "text-white"
|
||||
content: "We’ll wander through the corridors of a very special library, in which every book is one of the permutations of 64kb of ram."
|
||||
content_class: "text-white"
|
||||
img: "/images/modals/100r.png"
|
||||
- active: true
|
||||
id: "elizabeth"
|
||||
title: "Programming is Practice Problem Solving"
|
||||
title_class: "text-white"
|
||||
content: "Coming soon."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "mason"
|
||||
title: "It's Not About the API"
|
||||
title_class: "text-white"
|
||||
content: "**Fast, Flexible, and Simple Rendering in Vulkan**<br><br>When you read about Vulkan in online forums, a common refrain is: \"It’s over complicated, it’s engineered to only be useful for big companies with big teams making big AAA engines, it’s a terrible place to start graphics programming…\"<br><br>People seem to feel similarly about the other modern graphics APIs as well. Are they correct? Are they missing something? Where should small teams working on renderers focus their efforts?<br><br>This talk will answer these questions, and in doing so, dissect what makes a good API and why."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "diaz"
|
||||
title: "Proficiency Patterns & Play"
|
||||
title_class: "text-white"
|
||||
content: "**Bootstrapping a technical career**<br><br>What does success mean as a software engineer and what role does formal education have? This talk is about one trajectory from novice to principal.<br><br>Through examining various technical challenges across naval architecture, search and rescue and point cloud compression, we’ll follow a series of events to attempt to uncover the patterns and principles that can lead to success or dead ends.<br><br>There isn’t one-size fits all but a hope that this talk provides actionable strategies and a few technical insights across a range of fields."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "rhea"
|
||||
title: "Way of Rhea"
|
||||
title_class: "text-white"
|
||||
content: "**Hard puzzles, forgiving mechanics, and a custom engine!**<br><br>Way of Rhea is a puzzle [game](https://store.steampowered.com/app/1110620/Way_of_Rhea/) with hard puzzles, but forgiving mechanics. In this demo, the game’s developer Mason Remaley chats about his experience working on the game while playing through some of the puzzles the game has to offer."
|
||||
content_class: "text-white"
|
||||
img: "/images/demos/way-of-rhea.png"
|
||||
- active: true
|
||||
id: "spreadsheet"
|
||||
title: "6502 The Spreadsheet"
|
||||
title_class: "text-white"
|
||||
content: "All 6502 instructions with their actions completely unrolled so you don't have to pick through detailed documentation to understand what they do or how to emulate them accurately."
|
||||
content_class: "text-white"
|
||||
img: "/images/demos/6502_spreadsheet_2.png"
|
||||
- active: true
|
||||
id: "hytradboi"
|
||||
title: "HYTRADBOI"
|
||||
title_class: "text-white"
|
||||
content: "As our conference ends, Abner will promote indie conferences that are like Handmade Seattle with [HYTRADBOI](https://hytradboi.com) at the forefront.<br><br>Its [organizer](https://www.scattered-thoughts.net/) Jamie Brandon will be in attendance!"
|
||||
content_class: "text-white"
|
||||
img: ""
|
||||
- active: true
|
||||
id: "editor"
|
||||
title: "fred"
|
||||
title_class: "text-white"
|
||||
content: "**fred is a text editor that aims to do one thing very, very well: edit text.**<br><br>The editor is build with the idea of rolling in many features of modern editors while aiming for simplicity and performance above all else.<br><br>fred also sports some surprises that separate it from other editors…"
|
||||
content_class: "text-white"
|
||||
img: "/images/demos/fred-2.png"
|
||||
- active: true
|
||||
id: "whitebox"
|
||||
title: "WhiteBox Systems"
|
||||
title_class: "text-white"
|
||||
content: "WhiteBox compiles, runs & debugs the code you’re working on to give instant feedback side-by-side with your favourite editor.<br><br>Whitebox is the #1 recurring demo every year at Handmade Seattle."
|
||||
content_class: "text-white"
|
||||
img: ""
|
||||
- active: true
|
||||
id: "fpilot"
|
||||
title: "Exclusive Podcast"
|
||||
title_class: "text-white"
|
||||
img: "/images/modals/file-pilot.png"
|
||||
content: "Formerly known as Disk Voyager, File Pilot™ was the most popular conference demo from last year. Why? What makes this file explorer so special?<br><br>Tune-in to learn about this strange phenomenon from the creator himself, with deep dives into how it was all programmed from scratch."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "andrew"
|
||||
title: "In Defense of the Free Software Movement"
|
||||
img: ""
|
||||
title_class: "text-white"
|
||||
content: "**A candid and thorough examination of the societal forces that shape software**<br>Does open source software make your eyes roll so hard you can see your prefrontal cortex? Do you pray to Richard Stallman every night before you go to bed? Either way, prepare to have your assumptions checked, your values questioned, and the Handmade [Manifesto](https://handmade.network/manifesto) itself scrutinized.<br><br>You can come with an open mind, or you can hate-watch this talk. Either way, pay attention, because it’s what everyone’s going to be talking about in the halls and at lunch."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "wyrl"
|
||||
title: "Democratizing Software"
|
||||
img: "/images/modals/simplex.png"
|
||||
img_class: "bg-white rounded-lg"
|
||||
title_class: "text-white"
|
||||
content: "**Building ladders for the curious.**<br><br>Software is intimidating by virtue of its scale and scope.We build mountains upon mountains, and claim they are easy to climb because we’re the architects.<br><br>How did we get here? _How can we fix this?_<br><br>Join me for a tour through the software crisis and learn how to enable individuals, from all walks of life, to partake in the joy of crafting software."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "kagi"
|
||||
title: "High quality search results with no ads or tracking."
|
||||
img: "/images/modals/kagi_pbc.png"
|
||||
title_class: "text-white"
|
||||
content: "[Kagi](https://kagi.com/welcome) is the only premium search engine where YOU are the customer. No ads. No tracking. No compromise. Just pure, powerful search.<br><br>Lauded by many as the way search used to be in the 'good old days.' There's no ads, tracking, or algorithm tracking your habits—we give you classic results and your own tools to filter, boost and ersonalize the results yourself.<br><br>Humanize the web."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "kcse"
|
||||
title: "Science & Engineering Consulting Firm"
|
||||
img: "/images/modals/kcse_modeling.jpg"
|
||||
title_class: "text-white"
|
||||
content: "Karagozian & Case, Inc. (K&C) is an internationally recognized science and engineering consulting firm founded in 1945. K&C supports a broad range of clients across different sections of defense, transportation, manufacture, aerospace, energy, and construction industries, for technically challenging and complex problems."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "vaults"
|
||||
title: "No Vaults"
|
||||
img: ""
|
||||
title_class: "text-white text-center"
|
||||
content: "**Download conference recordings straight from us.** We polish and [publish](/media) all presentations under a Creative Commons [license](https://creativecommons.org/licenses/by-nc-nd/4.0/deed.en)."
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "live"
|
||||
title: "Live Streaming"
|
||||
img: "/images/nystrom.webp"
|
||||
title_class: "text-white"
|
||||
content: "**High-quality experience for the online track**<br>Our technical producer, Phil Homan, works alongside Seattle Center A/V staff to stream all our presentations live.<br><br>**Stream is free, chat server is not**<br>Handmade Seattle streams for free at [handmadecities.com](https://handmadecities.com/) and our [Twitch](https://twitch.tv/abnercoimbre) and [YouTube](https://youtube.com/@handmadecities) channels. VODs are made available immediately.<br><br>All the actual chatter, however, occurs on the private chat server—you’ll want a ticket for that!"
|
||||
content_class: "text-white"
|
||||
- active: true
|
||||
id: "chat"
|
||||
title: "Private Chat Server"
|
||||
img: "/images/modals/hmc_revolt_screenshot.png"
|
||||
title_class: "text-white"
|
||||
content: "**Self-hosted to protect your data**<br>Attendees communicate at [chat.handmadecities.com](https://chat.handmadecities.com/) thanks to the open-source [Revolt](https://revolt.chat/) platform.<br><br>**Online attendees are first-class citizens**<br>During Q&A all audience questions are sourced from chat: whether you’re at the venue or watching the live-stream from a Japanese temple.<br><br>**Chat moderation done right**<br>During the event we have a moderator to keep the [environment](https://handmade.network/communication-guidelines) fun yet professional."
|
||||
content_class: "text-white"
|
||||
# Coming Soon Section
|
||||
coming_soon_text: "Schedule is Ready"
|
||||
coming_soon_description: "Scroll below to learn of presentations, venue, and how it all works!"
|
||||
|
||||
# Initial Speakers
|
||||
initial_speakers:
|
||||
- name: "Abner Coimbre"
|
||||
topic: "The 2026 Roadmap"
|
||||
affiliation: "Handmade Cities"
|
||||
image: "/images/people/abner.jpg"
|
||||
- name: "Benjamin Thompson"
|
||||
topic: "Math PhD turned Puzzle Designer"
|
||||
affiliation: "Cornell University"
|
||||
image: "/images/people/thompson.webp"
|
||||
- name: "Caspar"
|
||||
topic: "Full-time Solo Gamedev"
|
||||
affiliation: "Slow Rush Studios"
|
||||
image: "/images/companies/slow-rush-logo.webp"
|
||||
- name: "This is You"
|
||||
topic: "Audience members demo projects"
|
||||
|
||||
# Trade Show Information
|
||||
trade_show:
|
||||
enable: true
|
||||
title: "Trade Show & Job Fair"
|
||||
description: "Connect with companies seeking handmade talent. Our trade show features booths from tech companies and studios looking for skilled low-level programmers."
|
||||
dates: "December 6-7, 2025"
|
||||
|
||||
# Call to Action Buttons
|
||||
enable_newsletter: true
|
||||
newsletter_link: "/newsletter"
|
||||
enable_discord: true
|
||||
discord_link: "https://handmadecities.com/discord"
|
||||
enable_cfp: true
|
||||
cfp_link: "mailto:submissions@handmadecities.com"
|
||||
cfp_deadline: "August 15, 2025"
|
||||
|
||||
# Previous Events
|
||||
show_previous: true
|
||||
previous_events:
|
||||
- year: "2024"
|
||||
link: "/seattle/2024"
|
||||
- year: "2023"
|
||||
link: "/seattle/2023"
|
||||
- year: "2022"
|
||||
link: "/seattle/2022"
|
||||
|
||||
# Content Display
|
||||
show_description: true
|
||||
---
|
||||
|
||||
**Saturday Schedule (Seattle Timezone)**
|
||||
|
||||
- [2:00 - 2:30PM] *Snack and drinks*: order some food to support this family shop!
|
||||
- [2:30 - 3:00PM] *The 2026 Roadmap*: Handmade Cities is [no longer](https://handmadecities.com/news/winding-down/) running conferences. Abner lays out his plans for a future of decentralized, offline meetups.
|
||||
- [3:00 - 3:30PM] *The Multiplayer Sandpit by Caspar: How I got sucked into making a networked falling sand game.* [Caspar](https://www.slowrush.dev/)'s demo video is "A dramatic re-enactment of how briefly revisiting a childhood dream escalated into a full time obsession for 2 years (and counting). Featuring a custom engine written in Rust using Macroquad as a platform abstraction, with cross-platform and in-browser multiplayer."
|
||||
- [3:30 - 4:00PM] *Untitled Cube Game: Explore the consequences of a very intuitive, but very deep, rule.* Demo video by [Benjamin Thompson](https://bgthompson.codeberg.page/). "Have fond memories of Bloxorz? Enjoyed what you played of Stephen's Sausage Roll? Interested in games with combinatorial explosions? We present a cube-rolling puzzle game that explores a single intuitive rule with a lot of consequences. Inspired by mathematics, and programmed from scratch in Zig."
|
||||
- [4:00 - 5:00PM] *Audience Projects:* At every Seattle event we let members of the audience take to the stage and show off their creations, or discuss a programming topic near-and-dear to their heart. This could be YOU, so make sure to email `abner@handmadecities.com` and request an RSVP link.
|
||||
- [5:00 - 8:00PM] *Seattle After Dark:* This is optional! Our tradition is to go out for pizza followed by drinks at the pub. During dinner we tend to get spicier with our takes on the software industry, and by the time we hit the pub all bets are off. (We remain civil all throughout.)
|
||||
|
||||
**About the Venue**
|
||||
|
||||
The new venue is One Bite Cafe in Seattle, a family-owned shop that loves Handmade Cities. If you're downtown you should take the Seattle light rail up to Roosevelt Station - our venue is right next to it.
|
||||
|
||||
One Bite is on the smaller side, so if the RSVP list shows we're too many programmers, then we relocate to Third Place Books (Ravenna, Seattle) which is within walking distance. Third Place knows us too because we host co-working sessions there.
|
||||
|
||||
P.S. Subscribe to the Seattle [mailing list](https://handmadecities.com/meetups/seattle) in case the location changes. If you don't get an email and/or this website doesn't change by Friday night, you can feel certain we're sticking to One Bite Cafe. You can always reach out at `abner@handmadecities.com` as Abner will have notifications on full blast.
|
||||
|
||||
**In-Person vs Remote**
|
||||
|
||||
Abner's 2026 roadmap and audience projects will occur in person. Caspar and Benjamin are Australian independent gamedevs, and due to the difficulties of traveling to the United States, cannot join us in person. We will play their demo videos followed by Q&A sessions: they are beaming in remotely.
|
||||
|
||||
**Existing Ticket Holders**
|
||||
|
||||
Ticket holders *need not* RSVP anywhere. Simply come to the shop and show your ticket, found under the **General Admission** email. You'll receive priority seating. Those who would prefer a refund due to our downsizing can email me as discussed in [Winding Down](https://handmadecities.com/news/winding-down/).
|
||||
|
||||
The same holds true for online ticket holders: reach out to us if you'd like to request a refund. Note that we're no longer live-streaming Handmade Seattle, although we will make efforts to record.
|
||||
|
||||
@@ -6,7 +6,7 @@ draft: false
|
||||
layout: "tickets"
|
||||
|
||||
features:
|
||||
- title: "Conference Tickets"
|
||||
- title: "Discounts Until Friday, August 1st 2025"
|
||||
title_class: "text-center text-white mt-2 md:mt-8 lg:mt-8 xl:mt-8 2xl:mt-8"
|
||||
side: "center"
|
||||
content_class: "mt-16 pt-0 pb-0 text-white"
|
||||
@@ -17,82 +17,78 @@ features:
|
||||
end_img: "/images/software-15.png"
|
||||
end_img_class: "relative h-96 bg-contain bg-bottom bg-repeat-x"
|
||||
description_class: "mt-4 mb-20"
|
||||
description: |
|
||||
Handmade Seattle is a fully-hybrid conference, and both physical and online tickets are available. Buying a ticket supports the conference and gains you access to the private chat server used for speaker Q&A, the virtual job fair, and more.
|
||||
description: ""
|
||||
tickets:
|
||||
- title: "Physical Track"
|
||||
title_class: "text-white"
|
||||
subtitle: "Available now"
|
||||
subtitle: "Year: 2025"
|
||||
subtitle_class: "text-white"
|
||||
section_class: "text-white"
|
||||
options:
|
||||
# - name: "Handmade Boston"
|
||||
# title: "Masterclasses"
|
||||
# title_class: "text-white"
|
||||
# name_class: "boston-color"
|
||||
# original_price: "$299"
|
||||
# price_class: "text-orange-500"
|
||||
# price: "249"
|
||||
# button:
|
||||
# title: "Register"
|
||||
# class: "bg-transparent border border-orange-500 rounded-md cursor-pointer hover:bg-orange-500 hover:border-orange-500 hover:text-white focus-within:bg-orange-500 focus-within:border-orange-500 focus-within:text-white"
|
||||
# url: "https://buy.stripe.com/6oE4gq69t7X75lSeVo"
|
||||
# alt_url: "https://google.com/"
|
||||
# alt_title: "PayPal"
|
||||
# alt_class: "text-sm hover:underline mt-4"
|
||||
# features_class: "text-white"
|
||||
# features:
|
||||
# - text: "General Admission"
|
||||
# text_class: "font-bold"
|
||||
# - text: "Aug 9-10th, 2024"
|
||||
# - text: "JFK Presidential Library"
|
||||
# - text: "In-Person Masterclasses"
|
||||
# - text: "Kings Dining After-Party"
|
||||
- name: "Handmade Boston"
|
||||
title: "Summer"
|
||||
title_class: "text-white"
|
||||
name_class: "boston-color"
|
||||
original_price: "$250"
|
||||
price_class: "text-orange-500"
|
||||
price: "199"
|
||||
button:
|
||||
title: "Unavailable"
|
||||
class: "bg-transparent border border-orange-500 rounded-md cursor-pointer hover:bg-orange-500 hover:border-orange-500 hover:text-white focus-within:bg-orange-500 focus-within:border-orange-500 focus-within:text-white"
|
||||
url: "/"
|
||||
alt_title: "PayPal"
|
||||
alt_class: "text-sm hover:underline mt-4"
|
||||
features_class: "text-white"
|
||||
features:
|
||||
- text: "General Admission"
|
||||
text_class: "font-bold"
|
||||
- text: "Aug 15-16th, 2025"
|
||||
- text: "JFK Presidential Library"
|
||||
- text: "Technical Lectures"
|
||||
- text: "Job Fair"
|
||||
- text: "Kings Dining Reservation"
|
||||
- text: "Completely Offline"
|
||||
- name: "Handmade Seattle"
|
||||
title: "Standard"
|
||||
title: "Fall"
|
||||
title_class: "text-white"
|
||||
name_class: "seattle-color"
|
||||
price_class: "text-orange-500"
|
||||
price: "249"
|
||||
original_price: "$299"
|
||||
price: "199"
|
||||
original_price: "$250"
|
||||
button:
|
||||
title: "Register"
|
||||
title: "Unavailable"
|
||||
button_class: "seattle-bg"
|
||||
class: "bg-transparent border border-orange-500 rounded-md cursor-pointer hover:bg-orange-500 hover:border-orange-500 hover:text-white focus-within:bg-orange-500 focus-within:border-orange-500 focus-within:text-white"
|
||||
url: "https://buy.stripe.com/9AQ8wG0P9a5fg0wfZr"
|
||||
url: "/"
|
||||
alt_title: "PayPal"
|
||||
alt_paypal_id: "paypal-physical-ticket"
|
||||
alt_class: "text-sm hover:underline mt-4"
|
||||
features_class: "text-white text-center"
|
||||
features:
|
||||
- text: "General Admission"
|
||||
text_class: "font-black"
|
||||
- text: "Nov 20-22nd, 2024"
|
||||
- text: "Dec 12-14th, 2025"
|
||||
- text: "Seattle Center"
|
||||
- text: "All Online Track Benefits"
|
||||
- text: "New Talks & Demos"
|
||||
- text: "Chat Server Access"
|
||||
- text: "Short Talks & Live Demos"
|
||||
- text: "Trade Show"
|
||||
- text: "Job Fair"
|
||||
- name: "Handmade Seattle"
|
||||
title: "Premium"
|
||||
- text: "Exclusive Hangouts"
|
||||
- text: "Live-streamed"
|
||||
- name: "Handmade Cities"
|
||||
title: "Combo"
|
||||
title_class: "text-white text-center"
|
||||
name_class: "seattle-color"
|
||||
name_class: "text-green-500"
|
||||
price_class: "text-green-500"
|
||||
price: "349"
|
||||
original_price: "$399"
|
||||
price: "299"
|
||||
original_price: "$400"
|
||||
features_class: "text-white"
|
||||
button:
|
||||
title: "Register"
|
||||
title: "Unavailable"
|
||||
class: "bg-transparent border border-orange-500 rounded-md cursor-pointer hover:bg-green-500 hover:border-green-500 hover:text-white focus-within:bg-green-500 focus-within:border-green-500 focus-within:text-white"
|
||||
url: "https://buy.stripe.com/dR63cmeFZ1yJ7u0fZx"
|
||||
url: "/"
|
||||
alt_title: "PayPal"
|
||||
alt_paypal_id: "paypal-physical-ticket-premium"
|
||||
alt_class: "text-sm hover:underline mt-4"
|
||||
features:
|
||||
- text: "If you want to support the conference"
|
||||
- text: "Boston + Seattle Tickets"
|
||||
text_class: "font-black"
|
||||
- text: "Easy to Gift or Transfer"
|
||||
- text: "Easy to Gift or Transfer Them"
|
||||
- text: "Retains All Benefits"
|
||||
|
||||
- title: ""
|
||||
@@ -117,7 +113,7 @@ features:
|
||||
tickets:
|
||||
- title: "Online Track"
|
||||
title_class: "text-black dark:text-white"
|
||||
subtitle: "Available now"
|
||||
subtitle: "Year: 2025"
|
||||
subtitle_class: "text-black dark:text-white"
|
||||
section_class: "text-black dark:text-white"
|
||||
options:
|
||||
@@ -126,25 +122,24 @@ features:
|
||||
title_class: "text-black dark:text-white"
|
||||
name_class: "seattle-color"
|
||||
ticket_class: "border-black dark:border-white"
|
||||
original_price: ""
|
||||
original_price: "75"
|
||||
price_class: "text-orange-500"
|
||||
price: "74"
|
||||
price: "59"
|
||||
button:
|
||||
title: "Register"
|
||||
title: "Unavailable"
|
||||
class: "bg-transparent border border-orange-500 rounded-md cursor-pointer hover:bg-orange-500 hover:border-orange-500 hover:text-white focus-within:bg-orange-500 focus-within:border-orange-500 focus-within:text-white"
|
||||
url: "https://buy.stripe.com/aEU3cm7dxa5f9C8fZu"
|
||||
url: "/"
|
||||
alt_title: "PayPal"
|
||||
alt_paypal_id: "paypal-online-ticket"
|
||||
alt_class: "text-sm hover:underline mt-4"
|
||||
features_class: "text-black dark:text-white"
|
||||
features:
|
||||
- text: "General Admission"
|
||||
text_class: "font-black"
|
||||
- text: "New Talks & Demos"
|
||||
- text: "Chat Server Access"
|
||||
- text: "Live Q&A"
|
||||
- text: "Virtual Job Fair"
|
||||
- text: "Private Chat Server"
|
||||
- text: "Virtual Trade Show"
|
||||
- text: "Access to Speakers"
|
||||
- text: "Live Q&A"
|
||||
- name: "Handmade Seattle"
|
||||
title: "Premium"
|
||||
title_class: "text-black dark:text-white"
|
||||
@@ -154,11 +149,10 @@ features:
|
||||
price: "99"
|
||||
original_price: ""
|
||||
button:
|
||||
title: "Register"
|
||||
title: "Unavailable"
|
||||
class: "bg-transparent border border-orange-500 rounded-md cursor-pointer hover:bg-green-500 hover:border-green-500 hover:text-white focus-within:bg-green-500 focus-within:border-green-500 focus-within:text-white"
|
||||
url: "https://buy.stripe.com/dR6bISdBVgtD9C8dRs"
|
||||
url: "/"
|
||||
alt_title: "PayPal"
|
||||
alt_paypal_id: "paypal-online-ticket-premium"
|
||||
alt_class: "text-sm hover:underline mt-4"
|
||||
features_class: "text-black dark:text-white"
|
||||
features:
|
||||
@@ -188,43 +182,43 @@ features:
|
||||
# - text: "Easy to Gift or Transfer Them"
|
||||
# - text: "All Benefits of Standard"
|
||||
|
||||
- title: "Frequently Asked Questions"
|
||||
title_class: "mb-20 text-center text-white"
|
||||
image: ""
|
||||
side: "center"
|
||||
section_class: "text-dark pt-24"
|
||||
content_class: "mt-8 text-white bg-[rgba(0,0,0,0.8)] pb-24"
|
||||
transition:
|
||||
end: "/images/transition4.svg"
|
||||
end_class: "mb-5 pt-4 2xl:pt-32 scale-y-100"
|
||||
end_color: "#fff"
|
||||
end_dark: "/images/transition4.svg"
|
||||
end_dark_color: "#150e31"
|
||||
end_style: "mask-repeat:repeat-x;mask-position: bottom;"
|
||||
bg_img:
|
||||
parallax: true
|
||||
img: "/images/devon_starfield.png"
|
||||
qa:
|
||||
- question: "What is a premium ticket?"
|
||||
question_class: "mt-12 mb-4 text-2xl text-white"
|
||||
answer: "Consider this ticket if your employer pays for, or reimburses your ticket, or if you want to support the conference. The benefits are exactly the same as the standard ticket."
|
||||
answer_class: ""
|
||||
- question: "How do I upgrade my ticket?"
|
||||
question_class: "mt-12 mb-4 text-2xl text-white"
|
||||
answer: "To upgrade from the online track to a physical one send us an email: [support@handmadecities.com](mailto:support@handmadecities.com)<br><br>_P.S. Upgrading is only possible if there’s still physical tickets._"
|
||||
- question: "I'm financially disadvantaged."
|
||||
question_class: "mt-12 mb-4 text-2xl text-white"
|
||||
answer: "If you’re a student or financially struggling send us an [email](mailto:support@handmadecities.com) and tell your story. We typically do one of two things:<br><br>1. Generate a ticket with a meaningful discount<br>2. Award a free seat thanks to someone who sponsors it<br><br>_P.S. We ask those who can afford our tickets to not abuse this system of trust._"
|
||||
answer_class: ""
|
||||
- question: "I want to sponsor a ticket."
|
||||
question_class: "mt-12 mb-4 text-2xl text-white"
|
||||
answer: "Your kindness will not go unnoticed! You can go about this in a couple of ways:<br><br>- **Sponsor directly:** Our tickets already include a transfer button. You can gift them to someone you know.<br>- **Donate to sponsor pool:** If you trust us to handle it, use our [Donorbox](https://donorbox.org/handmadecities) and in the comments type _“I want to sponsor”_<br><br>We use this pool to award free seats to those in need."
|
||||
- question: "Are refunds available?"
|
||||
question_class: "mt-12 mb-4 text-2xl text-white"
|
||||
answer: "We don’t process refunds. The physical track is a superset of the online one, so if you can’t attend in person anymore you can join us virtually."
|
||||
- question: "When do I receive my fundraiser perk?"
|
||||
question_class: "mt-12 mb-4 text-2xl text-white"
|
||||
answer: "If you participated in our fundraiser, you should’ve received a Donorbox receipt and a confirmation email from Abner. Perks started to roll out in March 2024 and will continue throughout the year."
|
||||
# - title: "Frequently Asked Questions"
|
||||
# title_class: "mb-20 text-center text-white"
|
||||
# image: ""
|
||||
# side: "center"
|
||||
# section_class: "text-dark pt-24"
|
||||
# content_class: "mt-8 text-white bg-[rgba(0,0,0,0.8)] pb-24"
|
||||
# transition:
|
||||
# end: "/images/transition4.svg"
|
||||
# end_class: "mb-5 pt-4 2xl:pt-32 scale-y-100"
|
||||
# end_color: "#fff"
|
||||
# end_dark: "/images/transition4.svg"
|
||||
# end_dark_color: "#150e31"
|
||||
# end_style: "mask-repeat:repeat-x;mask-position: bottom;"
|
||||
# bg_img:
|
||||
# parallax: true
|
||||
# img: "/images/devon_starfield.png"
|
||||
# qa:
|
||||
# - question: "What is a premium ticket?"
|
||||
# question_class: "mt-12 mb-4 text-2xl text-white"
|
||||
# answer: "Consider this ticket if your employer pays for, or reimburses your ticket, or if you want to support the conference. The benefits are exactly the same as the standard ticket."
|
||||
# answer_class: ""
|
||||
# - question: "How do I upgrade my ticket?"
|
||||
# question_class: "mt-12 mb-4 text-2xl text-white"
|
||||
# answer: "To upgrade from the online track to a physical one send us an email: [support@handmadecities.com](mailto:support@handmadecities.com)<br><br>_P.S. Upgrading is only possible if there’s still physical tickets._"
|
||||
# - question: "I'm financially disadvantaged."
|
||||
# question_class: "mt-12 mb-4 text-2xl text-white"
|
||||
# answer: "If you’re a student or financially struggling send us an [email](mailto:support@handmadecities.com) and tell your story. We typically do one of two things:<br><br>1. Generate a ticket with a meaningful discount<br>2. Award a free seat thanks to someone who sponsors it<br><br>_P.S. We ask those who can afford our tickets to not abuse this system of trust._"
|
||||
# answer_class: ""
|
||||
# - question: "I want to sponsor a ticket."
|
||||
# question_class: "mt-12 mb-4 text-2xl text-white"
|
||||
# answer: "Your kindness will not go unnoticed! You can go about this in a couple of ways:<br><br>- **Sponsor directly:** Our tickets already include a transfer button. You can gift them to someone you know.<br>- **Donate to sponsor pool:** If you trust us to handle it, use our [Donorbox](https://donorbox.org/handmadecities) and in the comments type _“I want to sponsor”_<br><br>We use this pool to award free seats to those in need."
|
||||
# - question: "Are refunds available?"
|
||||
# question_class: "mt-12 mb-4 text-2xl text-white"
|
||||
# answer: "We don’t process refunds. The physical track is a superset of the online one, so if you can’t attend in person anymore you can join us virtually."
|
||||
# - question: "When do I receive my fundraiser perk?"
|
||||
# question_class: "mt-12 mb-4 text-2xl text-white"
|
||||
# answer: "If you participated in our fundraiser, you should’ve received a Donorbox receipt and a confirmation email from Abner. Perks started to roll out in March 2024 and will continue throughout the year."
|
||||
|
||||
- title: "Word on the Street"
|
||||
title_class: "text-center"
|
||||
|
||||
12
content/english/transactional/invite-fail-credentials.md
Normal file
@@ -0,0 +1,12 @@
|
||||
+++
|
||||
url = "/invite-fail-credentials"
|
||||
title="Error"
|
||||
subtitle="Invite Failed"
|
||||
main_image=""
|
||||
+++
|
||||
|
||||
#### Unknown Credentials
|
||||
|
||||
Revolt email or password was not recognized. Please [try again](/invite) or contact our support staff.
|
||||
|
||||
⚠️ You need [your own verified account](/chat) before having the power to invite others.
|
||||
10
content/english/transactional/invite-fail-unverified.md
Normal file
@@ -0,0 +1,10 @@
|
||||
+++
|
||||
url = "/invite-fail-unverified"
|
||||
title="Error"
|
||||
subtitle="Invite Failed"
|
||||
main_image=""
|
||||
+++
|
||||
|
||||
#### Unverified User
|
||||
|
||||
Only [Verified Humans](https://guide.handmadecities.com/docs/chat/#verified-human-badge) are allowed to send chat invites. Once you're granted the badge you may [try again](/invite)!
|
||||
13
content/english/transactional/invite-fail.md
Normal file
@@ -0,0 +1,13 @@
|
||||
+++
|
||||
url = "/invite-fail"
|
||||
title="Error"
|
||||
subtitle="Invite Failed"
|
||||
main_image=""
|
||||
+++
|
||||
|
||||
#### UH OH!
|
||||
|
||||
It seems we couldn't generate the chat invite. A few reasons why:
|
||||
- Incorrect [Revolt](https://chat.handmadecities.com) username or password
|
||||
- You are not a [Verified Human](https://guide.handmadecities.com/docs/chat/#verified-human-badge) yet
|
||||
- A server error on our part. Contact our support staff immediately
|
||||
12
content/english/transactional/invite-success.md
Normal file
@@ -0,0 +1,12 @@
|
||||
+++
|
||||
url = "/invite-success"
|
||||
title="Complete"
|
||||
subtitle="Invite Successful"
|
||||
main_image=""
|
||||
+++
|
||||
|
||||
#### Congrats!
|
||||
|
||||
If you've met in meatspace they'll get a [Verified Human](https://guide.handmadecities.com/docs/chat/#verified-human-badge) badge, which grants *them* the power of invites. Ready to [send another](/invite)?
|
||||
|
||||
⚠️ We use an invite tree [inspired](https://lobste.rs/about#invitations) by the Lobsters community. The **TL;DR** is YOU are responsible for the users you invite, plus any users they've invited (and so on.)
|
||||
14
content/english/transactional/revolt-success.md
Normal file
@@ -0,0 +1,14 @@
|
||||
+++
|
||||
url = "/revolt-success"
|
||||
title="Complete"
|
||||
subtitle="Submission Successful"
|
||||
main_image=""
|
||||
+++
|
||||
|
||||
#### Congrats!
|
||||
|
||||
If you were redirected here, you have submitted an application to join [Revolt](https://revolt.handmadecities.com).
|
||||
**Our staff will respond within three business days.**
|
||||
|
||||
Thank you for supporting indie communities.
|
||||
We’re here to promote software quality, one meetup at a time.
|
||||
@@ -6,9 +6,9 @@
|
||||
"link": "https://twitch.tv/abnercoimbre"
|
||||
},
|
||||
{
|
||||
"name": "Vimeo",
|
||||
"icon": "fab fa-vimeo",
|
||||
"link": "https://vimeo.com/handmadecities"
|
||||
"name": "Discord",
|
||||
"icon": "fab fa-discord",
|
||||
"link": "https://handmadecities.com/discord"
|
||||
},
|
||||
{
|
||||
"name": "YouTube",
|
||||
|
||||
12
layouts/_default/board.html
Normal file
@@ -0,0 +1,12 @@
|
||||
{{ define "main" }}
|
||||
{{ partial "page-header" . }}
|
||||
<div class="container">
|
||||
<div class="row justify-center">
|
||||
<div class="lg:col-10">
|
||||
<div class="content">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
104
layouts/_default/countdown.html
Normal file
@@ -0,0 +1,104 @@
|
||||
{{ define "main" }}
|
||||
<div class="bg-[url('/images/devon_starfield.png')] bg-cover bg-fixed min-h-screen flex flex-col items-center justify-center p-4">
|
||||
<div class="text-center max-w-3xl mx-auto">
|
||||
<figure class="flex justify-center items-center mb-8">
|
||||
{{ $constructionBanner := "/images/under-construction.svg" }}
|
||||
{{ if .Params.Image }}
|
||||
{{ $constructionBanner = .Params.Image }}
|
||||
{{ end }}
|
||||
{{ partial "image" (dict "Src" $constructionBanner "Alt" "Banner" "Class" "w-1/2 md:w-1/3" ) }}
|
||||
</figure>
|
||||
|
||||
<h1 class="text-3xl md:text-5xl font-bold text-white mb-4">{{ .Title | default "Tickets Coming Soon" }}</h1>
|
||||
<p class="text-lg text-white text-center mb-12">{{ .Params.subtitle | default "We're preparing something special. Stay tuned!" }}</p>
|
||||
|
||||
<!-- Countdown Timer -->
|
||||
<div class="countdown-container bg-black bg-opacity-50 backdrop-blur-sm p-6 rounded-xl shadow-lg mb-12">
|
||||
<h2 class="text-xl md:text-2xl font-semibold text-white mb-6">Discounted Tickets Begin In:</h2>
|
||||
<div class="grid grid-cols-4 gap-4 text-center" id="countdown">
|
||||
<div class="bg-gray-900 bg-opacity-70 p-4 rounded-lg">
|
||||
<div id="days" class="text-2xl md:text-4xl font-bold text-white">00</div>
|
||||
<div class="text-xs md:text-sm text-gray-300 uppercase tracking-wide">Days</div>
|
||||
</div>
|
||||
<div class="bg-gray-900 bg-opacity-70 p-4 rounded-lg">
|
||||
<div id="hours" class="text-2xl md:text-4xl font-bold text-white">00</div>
|
||||
<div class="text-xs md:text-sm text-gray-300 uppercase tracking-wide">Hours</div>
|
||||
</div>
|
||||
<div class="bg-gray-900 bg-opacity-70 p-4 rounded-lg">
|
||||
<div id="minutes" class="text-2xl md:text-4xl font-bold text-white">00</div>
|
||||
<div class="text-xs md:text-sm text-gray-300 uppercase tracking-wide">Minutes</div>
|
||||
</div>
|
||||
<div class="bg-gray-900 bg-opacity-70 p-4 rounded-lg">
|
||||
<div id="seconds" class="text-2xl md:text-4xl font-bold text-white">00</div>
|
||||
<div class="text-xs md:text-sm text-gray-300 uppercase tracking-wide">Seconds</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Notification Form -->
|
||||
{{ if .Params.enable_notification }}
|
||||
<div class="bg-black bg-opacity-50 backdrop-blur-sm p-6 rounded-xl shadow-lg max-w-md mx-auto">
|
||||
<h3 class="text-xl font-semibold text-white mb-4">Get Notified When Tickets Go Live</h3>
|
||||
<form id="notification-form" class="space-y-4">
|
||||
<div>
|
||||
<input type="email" placeholder="Your email address" class="w-full px-4 py-2 rounded-md bg-gray-800 border border-gray-700 text-white focus:outline-none focus:ring-2 focus:ring-blue-500">
|
||||
</div>
|
||||
<button type="submit" class="w-full px-4 py-2 bg-blue-600 hover:bg-blue-700 text-white font-medium rounded-md transition-colors">
|
||||
Notify Me
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// Set the date we're counting down to
|
||||
// Format: Year, Month (0-11), Day, Hour, Minute, Second
|
||||
const countDownDate = new Date("{{ .Params.countdown_date | default "2025-06-01T09:00:00-07:00" }}").getTime();
|
||||
|
||||
// Update the countdown every 1 second
|
||||
const x = setInterval(function() {
|
||||
// Get current date and time
|
||||
const now = new Date().getTime();
|
||||
|
||||
// Find the distance between now and the countdown date
|
||||
const distance = countDownDate - now;
|
||||
|
||||
// Time calculations for days, hours, minutes and seconds
|
||||
const days = Math.floor(distance / (1000 * 60 * 60 * 24));
|
||||
const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
|
||||
const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
|
||||
const seconds = Math.floor((distance % (1000 * 60)) / 1000);
|
||||
|
||||
// Display the result
|
||||
document.getElementById("days").innerHTML = days.toString().padStart(2, '0');
|
||||
document.getElementById("hours").innerHTML = hours.toString().padStart(2, '0');
|
||||
document.getElementById("minutes").innerHTML = minutes.toString().padStart(2, '0');
|
||||
document.getElementById("seconds").innerHTML = seconds.toString().padStart(2, '0');
|
||||
|
||||
// If the countdown is finished, show expired message
|
||||
if (distance < 0) {
|
||||
clearInterval(x);
|
||||
document.getElementById("countdown").innerHTML = "<div class='col-span-4 text-2xl font-bold text-white'>Tickets are now available!</div>";
|
||||
// Optional: redirect to ticket page
|
||||
// window.location.href = "/tickets";
|
||||
}
|
||||
}, 1000);
|
||||
|
||||
// Optional: Handle notification form submission
|
||||
const form = document.getElementById('notification-form');
|
||||
if (form) {
|
||||
form.addEventListener('submit', function(e) {
|
||||
e.preventDefault();
|
||||
// Here you would typically send this to your backend
|
||||
const email = e.target.querySelector('input[type="email"]').value;
|
||||
console.log('Email submitted:', email);
|
||||
// Replace form with success message
|
||||
form.innerHTML = '<div class="text-green-400 text-center py-4">Thanks! We\'ll notify you when tickets are available.</div>';
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
{{ end }}
|
||||
110
layouts/_default/event.html
Normal file
@@ -0,0 +1,110 @@
|
||||
{{ define "main" }}
|
||||
<div class="bg-[url('/images/devon_starfield.png')] bg-cover bg-fixed min-h-screen flex flex-col items-center justify-center p-4">
|
||||
<div class="text-center max-w-4xl mx-auto">
|
||||
<!-- Logo/Banner Image -->
|
||||
<figure class="flex justify-center items-center mb-8">
|
||||
{{ $eventBanner := "/images/hmb/boston-light-mode.svg" }}
|
||||
{{ if .Params.Image }}
|
||||
{{ $eventBanner = .Params.Image }}
|
||||
{{ end }}
|
||||
{{ partial "image" (dict "Src" $eventBanner "Alt" .Title "Class" "w-1/2 md:w-2/5 mb-6" ) }}
|
||||
</figure>
|
||||
|
||||
<!-- Title and Subtitle -->
|
||||
<h1 class="text-3xl md:text-5xl font-bold text-white mb-4 boston-color">{{ .Title | default "Handmade Boston" }}</h1>
|
||||
<p class="text-lg text-white text-center mb-12 max-w-2xl mx-auto">{{ .Params.subtitle | default "A conference for low-level programmers" }}</p>
|
||||
|
||||
<!-- Event Details Card -->
|
||||
<div class="bg-black bg-opacity-50 backdrop-blur-sm p-8 rounded-xl shadow-lg mb-12 max-w-3xl mx-auto">
|
||||
<!-- Date and Location Section -->
|
||||
<div class="grid md:grid-cols-2 gap-8 mb-10">
|
||||
<!-- Dates -->
|
||||
<div class="text-center">
|
||||
<div class="inline-block bg-[#1a1a1a] p-4 rounded-lg mb-4">
|
||||
<i class="fa fa-calendar text-2xl text-[#e63946]"></i>
|
||||
</div>
|
||||
<h2 class="text-xl md:text-2xl font-semibold text-white mb-2">Event Dates</h2>
|
||||
<p class="text-lg text-gray-200">{{ .Params.event_dates | default "June 10-11, 2025" }}</p>
|
||||
{{ if .Params.registration_date }}
|
||||
<p class="text-sm text-gray-400 mt-2">Submission deadline: {{ .Params.registration_date }}</p>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<!-- Location -->
|
||||
<div class="text-center">
|
||||
<div class="inline-block bg-[#1a1a1a] p-4 rounded-lg mb-4">
|
||||
<i class="fa fa-map-marker text-2xl text-[#e63946]"></i>
|
||||
</div>
|
||||
<h2 class="text-xl md:text-2xl font-semibold text-white mb-2">Location</h2>
|
||||
<p class="text-lg text-gray-200">{{ .Params.venue_name | default "MIT Stata Center" }}</p>
|
||||
<p class="text-gray-300">{{ .Params.venue_address | default "32 Vassar St, Cambridge, MA 02139" }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Coming Soon Banner -->
|
||||
<div class="bg-[#1a1a1a] p-6 rounded-lg text-center mb-8">
|
||||
<h3 class="text-xl font-semibold text-white mb-2">{{ .Params.coming_soon_text | default "Schedule Coming Soon" }}</h3>
|
||||
<p class="text-gray-300">{{ .Params.coming_soon_description | default "We're finalizing an amazing lineup of speakers and workshops." }}</p>
|
||||
</div>
|
||||
|
||||
<!-- Initial Speakers Section (if available) -->
|
||||
{{ if .Params.initial_speakers }}
|
||||
<div class="mt-6">
|
||||
<h3 class="text-xl font-semibold text-white mb-4 text-left">Presenter Lineup</h3>
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
{{ range .Params.initial_speakers }}
|
||||
<div class="bg-[#1a1a1a] p-4 rounded-lg flex items-center">
|
||||
{{ if .image }}
|
||||
<img src="{{ .image }}" alt="{{ .name }}" class="w-16 h-16 rounded-full object-cover mr-4">
|
||||
{{ else }}
|
||||
<div class="w-16 h-16 rounded-full bg-gray-700 flex items-center justify-center mr-4">
|
||||
<i class="fa fa-user text-gray-400 text-xl"></i>
|
||||
</div>
|
||||
{{ end }}
|
||||
<div class="text-left">
|
||||
<h4 class="text-white font-medium">{{ .name }}</h4>
|
||||
<p class="text-gray-300 text-sm">{{ .topic }}</p>
|
||||
{{ if .affiliation }}
|
||||
<p class="text-gray-400 text-xs">{{ .affiliation }}</p>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<!-- Call to Action Buttons -->
|
||||
<div class="flex flex-wrap justify-center gap-4 mb-12">
|
||||
{{ if .Params.enable_newsletter }}
|
||||
<a href="{{ .Params.newsletter_link | default "#" }}" class="px-6 py-3 bg-[#e63946] hover:bg-[#d62b39] text-white font-medium rounded-md transition-colors">
|
||||
<i class="fa fa-envelope mr-2"></i> Join Our Newsletter
|
||||
</a>
|
||||
{{ end }}
|
||||
|
||||
{{ if .Params.enable_discord }}
|
||||
<a href="{{ .Params.discord_link | default "https://chat.handmadecities.com" }}" class="px-6 py-3 bg-[#5865F2] hover:bg-[#4752c4] text-white font-medium rounded-md transition-colors">
|
||||
<i class="fa-brands fa-discord mr-2"></i> Join Our Discord
|
||||
</a>
|
||||
{{ end }}
|
||||
|
||||
{{ if .Params.enable_cfp }}
|
||||
<a href="{{ .Params.cfp_link | default "#" }}" class="px-6 py-3 bg-[#2a9d8f] hover:bg-[#238b7e] text-white font-medium rounded-md transition-colors">
|
||||
<i class="fa fa-microphone mr-2"></i> Submit a Talk
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<!-- Event Description -->
|
||||
{{ if .Params.show_description }}
|
||||
<div class="bg-black bg-opacity-50 backdrop-blur-sm p-6 rounded-xl shadow-lg max-w-3xl mx-auto mb-12">
|
||||
<h3 class="text-xl font-semibold text-white mb-4">About this Handmade Event</h3>
|
||||
<div class="text-gray-200 text-left prose prose-invert max-w-none">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
53
layouts/_default/invite.html
Normal file
@@ -0,0 +1,53 @@
|
||||
{{ define "main" }}
|
||||
<section class="section">
|
||||
<div class="container max-w-xl">
|
||||
<h1 class="mb-8 text-3xl font-bold">{{ .Title }}</h1>
|
||||
<img src="/images/hmc/revolt-preview.png">
|
||||
<p><strong>Give them full access to <a href="https://chat.handmadecities.com">chat.handmadecities.com</a></strong></p>
|
||||
<br>
|
||||
|
||||
<form action="https://invite.handmadecities.com" method="POST" class="space-y-6">
|
||||
|
||||
<div>
|
||||
<label for="invite-email" class="mb-2 block font-semibold">Email to Send Invite to<span class="text-red-500">*</span></label>
|
||||
<input type="email" id="invite-email" name="invite_email" required
|
||||
class="w-full rounded border border-gray-300 px-4 py-2 focus:border-blue-500 focus:outline-none" />
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="revolt-email" class="mb-2 block font-semibold">Your Revolt Email <span class="text-red-500">*</span></label>
|
||||
<input type="email" id="revolt-email" name="revolt_email" required
|
||||
class="w-full rounded border border-gray-300 px-4 py-2 focus:border-blue-500 focus:outline-none" />
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="revolt-password" class="mb-2 block font-semibold">Your Revolt Password <span class="text-red-500">*</span></label>
|
||||
<input type="password" id="revolt-password" name="revolt_password" required
|
||||
class="w-full rounded border border-gray-300 px-4 py-2 focus:border-blue-500 focus:outline-none" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center gap-2">
|
||||
<input type="checkbox" id="meatspace" name="met_in_meatspace" value="yes"
|
||||
class="h-4 w-4" />
|
||||
<label for="meatspace">Have you met this person in meatspace?</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="notes" class="mb-2 block font-semibold">Additional Notes (Optional)</label>
|
||||
<textarea id="notes" name="notes" rows="4"
|
||||
placeholder='"I am inviting my college roommate who is interested in Handmade software!"'
|
||||
class="w-full rounded border border-gray-300 px-4 py-2 focus:border-blue-500 focus:outline-none"></textarea>
|
||||
</div>
|
||||
|
||||
<button type="submit"
|
||||
class="rounded bg-blue-600 px-6 py-3 font-semibold text-white hover:bg-blue-700">
|
||||
Send Invite Code
|
||||
</button>
|
||||
|
||||
<p class="text-sm text-gray-500">
|
||||
You're vouching for the human identity of this new user. Bots or alternate personas are <strong>prohibited.</strong>
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
33
layouts/_default/revolt.html
Normal file
@@ -0,0 +1,33 @@
|
||||
{{ define "main" }}
|
||||
<section class="revolt-form-section">
|
||||
<div class="container">
|
||||
<h1>{{ .Title }}</h1>
|
||||
<img src="/images/hmc/revolt-promotion.png" style="border-radius: 10px;">
|
||||
<p>We now run our server at <strong><a href="https://chat.handmadecities.com">chat.handmadecities.com</a></strong>. Real humans only!</p>
|
||||
|
||||
<form action="https://register.handmadecities.com" method="POST" class="revolt-form">
|
||||
<div class="form-group">
|
||||
<label for="name">Name <span class="required">*</span></label>
|
||||
<input type="text" id="name" name="name" required>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="email">Email <span class="required">*</span></label>
|
||||
<input type="email" id="email" name="email" required>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="website">Personal Website (Optional)</label>
|
||||
<input type="url" id="website" name="website" placeholder="https://abner.page">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="reason">Why are you interested in joining?</label>
|
||||
<textarea id="reason" name="reason" rows="4"></textarea>
|
||||
</div>
|
||||
|
||||
<button type="submit">Get Invite Code</button>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
@@ -1,7 +1,5 @@
|
||||
{{ define "main" }}
|
||||
{{ partial "page-header" . }}
|
||||
|
||||
|
||||
<section class="section-sm">
|
||||
<div class="container">
|
||||
<div class="row justify-center">
|
||||
|
||||
@@ -117,7 +117,10 @@
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<!-- Only show pagination if needed -->
|
||||
{{ if gt (len .Params.testimonials) 3 }}
|
||||
<div class="testimonial-slider-pagination mt-9 flex items-center justify-center text-center"></div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -37,12 +37,14 @@
|
||||
<option value="Barcelona">Barcelona</option>
|
||||
<option value="Berlin">Berlin</option>
|
||||
<option value="Brussels">Brussels</option>
|
||||
<option value="Budapest">Bucharest</option>
|
||||
<option value="Budapest">Budapest</option>
|
||||
<option value="Chicago">Chicago</option>
|
||||
<option value="Copenhagen">Copenhagen</option>
|
||||
<option value="Dallas">Dallas</option>
|
||||
<option value="Denver">Denver</option>
|
||||
<option value="Dublin">Dublin</option>
|
||||
<option value="Hawaii">Hawaii</option>
|
||||
<option value="Houston">Houston</option>
|
||||
<option value="Istanbul">Istanbul</option>
|
||||
<option value="Lisbon">Lisbon</option>
|
||||
@@ -51,6 +53,7 @@
|
||||
<option value="Madrid">Madrid</option>
|
||||
<option value="Miami">Miami</option>
|
||||
<option value="Minneapolis">Minneapolis</option>
|
||||
<option value="Montreal">Montreal</option>
|
||||
<option value="Moscow">Moscow</option>
|
||||
<option value="Nashville">Nashville</option>
|
||||
<option value="New Orleans">New Orleans</option>
|
||||
@@ -63,12 +66,13 @@
|
||||
<option value="Rome">Rome</option>
|
||||
<option value="San Antonio">San Antonio</option>
|
||||
<option value="San Diego">San Diego</option>
|
||||
<option value="Tokyo">Tokyo</option>
|
||||
<option value="San Juan">San Juan</option>
|
||||
<option value="Toronto">Toronto</option>
|
||||
<option value="Valencia">Valencia</option>
|
||||
<option value="Vienna">Vienna</option>
|
||||
<option value="Warsaw">Warsaw</option>
|
||||
<option value="Zurich">Zurich</option>
|
||||
<option value="Saudi Arabia">Saudi Arabia</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@@ -92,5 +96,9 @@
|
||||
</button>
|
||||
</form>
|
||||
<br>
|
||||
<hr>
|
||||
<br>
|
||||
<p>Not on the wishlist? Reach out at support@handmadecities.com</p>
|
||||
<br>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<div class="flex flex-col gap-5 lg:w-1/3">
|
||||
<div class="dark:text-white content-container content">
|
||||
{{ .Content }}
|
||||
<a class="btn btn-outline-primary" href="/discord">Discord</a>
|
||||
<a class="btn btn-outline-primary" href="/discord">Revolt</a>
|
||||
</div>
|
||||
|
||||
{{ $hasGoodHost := false }}
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
{{ define "main" }}
|
||||
{{ partial "page-header-rss" . }}
|
||||
<div class="mb-6 text-center">
|
||||
<a href="{{ "/news/index.xml" | relURL }}" class="btn flex items-center gap-2 justify-center" aria-label="Subscribe to Handmade Cities News RSS">
|
||||
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false">
|
||||
<path d="M4 11a1 1 0 100 2c5.523 0 10 4.477 10 10a1 1 0 102 0c0-6.627-5.373-12-12-12z"/>
|
||||
<path d="M4 4a1 1 0 100 2c8.284 0 15 6.716 15 15a1 1 0 102 0C23 11.85 12.15 1 4 1a1 1 0 100 3z"/>
|
||||
<circle cx="5" cy="19" r="2"/>
|
||||
</svg>
|
||||
<span>RSS</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
<!-- testimonials -->
|
||||
<!-- img_grid -->
|
||||
{{ if .img_grid }}
|
||||
{{ partial "components/img_grid.html" . }}
|
||||
{{ partial "components/improved-img-grid.html" .img_grid }}
|
||||
{{ end }}
|
||||
<!-- /img_grid -->
|
||||
<!-- card_grid -->
|
||||
@@ -96,7 +96,7 @@
|
||||
{{ end }}
|
||||
<!-- card_grid -->
|
||||
|
||||
<p class="mb-8 text-lg about-content">
|
||||
<p class="mb-8 -mt-8 text-lg about-content">
|
||||
{{ .content | markdownify }}
|
||||
</p>
|
||||
<ul>
|
||||
@@ -109,13 +109,16 @@
|
||||
</ul>
|
||||
{{ with .button }}
|
||||
{{ if .enable }}
|
||||
<div class="flex justify-center items-center">
|
||||
<a class="btn mt-6 {{ .class }}" href="{{ .link | absURL }}">
|
||||
{{ .label }}
|
||||
<i class="fa fa-arrow-right pl-2"></i>
|
||||
</a>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
<br>
|
||||
{{ else }}
|
||||
|
||||
{{ if eq .side "left" }}
|
||||
|
||||
12
layouts/partials/components/improved-img-grid.html
Normal file
@@ -0,0 +1,12 @@
|
||||
<div class="company-grid grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-8 my-6">
|
||||
{{ range .imgs }}
|
||||
<a href="{{ .link }}" target="_blank" rel="noopener noreferrer" class="company-item flex items-center justify-center p-4 bg-white dark:bg-gray-800 rounded-lg transition-transform hover:scale-105">
|
||||
<img
|
||||
src="{{ .img }}"
|
||||
alt="{{ .name }}"
|
||||
class="max-h-16 w-auto object-contain"
|
||||
loading="lazy"
|
||||
/>
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
@@ -138,7 +138,7 @@
|
||||
</script>
|
||||
|
||||
<script>
|
||||
function physicalTicket() {
|
||||
function hmbPhysicalTicket() {
|
||||
paypal.Buttons({
|
||||
style: {
|
||||
shape: 'pill',
|
||||
@@ -150,7 +150,7 @@
|
||||
|
||||
createOrder: function(data, actions) {
|
||||
return actions.order.create({
|
||||
purchase_units: [{"description":"HMS Physical Track (2024)","amount":{"currency_code":"USD","value":249}}],
|
||||
purchase_units: [{"description":"HMB Physical Track (2025)","amount":{"currency_code":"USD","value":199}}],
|
||||
application_context: { shipping_preference: 'NO_SHIPPING'}
|
||||
});
|
||||
},
|
||||
@@ -167,10 +167,10 @@
|
||||
onError: function(err) {
|
||||
console.log(err);
|
||||
}
|
||||
}).render('#paypal-physical-ticket');
|
||||
}).render('#paypal-hmb-physical-ticket');
|
||||
}
|
||||
|
||||
function physicalTicketPremium() {
|
||||
function hmsPhysicalTicket() {
|
||||
paypal.Buttons({
|
||||
style: {
|
||||
shape: 'pill',
|
||||
@@ -182,7 +182,7 @@
|
||||
|
||||
createOrder: function(data, actions) {
|
||||
return actions.order.create({
|
||||
purchase_units: [{"description":"HMS Physical Track Premium (2024)","amount":{"currency_code":"USD","value":349}}],
|
||||
purchase_units: [{"description":"HMS Physical Track (2025)","amount":{"currency_code":"USD","value":199}}],
|
||||
application_context: { shipping_preference: 'NO_SHIPPING'}
|
||||
});
|
||||
},
|
||||
@@ -199,7 +199,39 @@
|
||||
onError: function(err) {
|
||||
console.log(err);
|
||||
}
|
||||
}).render('#paypal-physical-ticket-premium');
|
||||
}).render('#paypal-hms-physical-ticket');
|
||||
}
|
||||
|
||||
function hmcPhysicalTicket() {
|
||||
paypal.Buttons({
|
||||
style: {
|
||||
shape: 'pill',
|
||||
color: 'gold',
|
||||
layout: 'vertical',
|
||||
label: 'pay',
|
||||
|
||||
},
|
||||
|
||||
createOrder: function(data, actions) {
|
||||
return actions.order.create({
|
||||
purchase_units: [{"description":"HMC Physical Track (2025)","amount":{"currency_code":"USD","value":299}}],
|
||||
application_context: { shipping_preference: 'NO_SHIPPING'}
|
||||
});
|
||||
},
|
||||
|
||||
onApprove: function(data, actions) {
|
||||
return actions.order.capture().then(function(orderData) {
|
||||
// Full available details
|
||||
console.log('Capture result', orderData, JSON.stringify(orderData, null, 2));
|
||||
// Redirect
|
||||
actions.redirect('https://handmadecities.com/registered');
|
||||
});
|
||||
},
|
||||
|
||||
onError: function(err) {
|
||||
console.log(err);
|
||||
}
|
||||
}).render('#paypal-hmc-physical-ticket');
|
||||
}
|
||||
|
||||
function onlineTicket() {
|
||||
@@ -214,7 +246,7 @@
|
||||
|
||||
createOrder: function(data, actions) {
|
||||
return actions.order.create({
|
||||
purchase_units: [{"description":"HMS Online Track (2024)","amount":{"currency_code":"USD","value":74}}],
|
||||
purchase_units: [{"description":"HMS Online Track (2025)","amount":{"currency_code":"USD","value":59}}],
|
||||
application_context: { shipping_preference: 'NO_SHIPPING'}
|
||||
});
|
||||
},
|
||||
@@ -246,7 +278,7 @@
|
||||
|
||||
createOrder: function(data, actions) {
|
||||
return actions.order.create({
|
||||
purchase_units: [{"description":"HMS Online Track Premium (2024)","amount":{"currency_code":"USD","value":99}}],
|
||||
purchase_units: [{"description":"HMS Online Track Premium (2025)","amount":{"currency_code":"USD","value":99}}],
|
||||
application_context: { shipping_preference: 'NO_SHIPPING'}
|
||||
});
|
||||
},
|
||||
@@ -266,8 +298,9 @@
|
||||
}).render('#paypal-online-ticket-premium');
|
||||
}
|
||||
|
||||
physicalTicket();
|
||||
physicalTicketPremium();
|
||||
hmbPhysicalTicket();
|
||||
hmsPhysicalTicket();
|
||||
hmcPhysicalTicket();
|
||||
|
||||
onlineTicket();
|
||||
onlineTicketPremium();
|
||||
|
||||
BIN
static/images/companies/bpl.jpg
Normal file
|
After Width: | Height: | Size: 730 KiB |
BIN
static/images/companies/kagi_doggo.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
static/images/companies/slow-rush-logo.webp
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
static/images/discord_scheduled_deletion.jpg
Normal file
|
After Width: | Height: | Size: 192 KiB |
BIN
static/images/hmc/2025.png
Normal file
|
After Width: | Height: | Size: 129 KiB |
BIN
static/images/hmc/bsc_speaker_apology.png
Normal file
|
After Width: | Height: | Size: 28 KiB |