Compare commits
3 Commits
9287b4da1a
...
591ccc361b
Author | SHA1 | Date | |
---|---|---|---|
591ccc361b | |||
d935608d0c | |||
0ed3a4df64 |
@ -1,91 +0,0 @@
|
|||||||
import { ArticleLayout } from '@/components/ArticleLayout'
|
|
||||||
import Image from 'next/image'
|
|
||||||
import designSystem from './planetaria-design-system.png'
|
|
||||||
|
|
||||||
export const article = {
|
|
||||||
author: 'Tony Grosinger',
|
|
||||||
date: '2022-09-05',
|
|
||||||
title: 'Crafting a design system for a multiplanetary future',
|
|
||||||
description:
|
|
||||||
'Most companies try to stay ahead of the curve when it comes to visual design, but for Planetaria we needed to create a brand that would still inspire us 100 years from now when humanity has spread across our entire solar system.',
|
|
||||||
}
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
title: article.title,
|
|
||||||
description: article.description,
|
|
||||||
}
|
|
||||||
|
|
||||||
export default (props) => <ArticleLayout article={article} {...props} />
|
|
||||||
|
|
||||||
Most companies try to stay ahead of the curve when it comes to visual design, but for Planetaria we needed to create a brand that would still inspire us 100 years from now when humanity has spread across our entire solar system.
|
|
||||||
|
|
||||||
<Image src={designSystem} alt="" />
|
|
||||||
|
|
||||||
I knew that to get it right I was going to have to replicate the viewing conditions of someone from the future, so I grabbed my space helmet from the closet, created a new Figma document, and got to work.
|
|
||||||
|
|
||||||
## Sermone fata
|
|
||||||
|
|
||||||
Lorem markdownum, bracchia in redibam! Terque unda puppi nec, linguae posterior
|
|
||||||
in utraque respicere candidus Mimasque formae; quae conantem cervice. Parcite
|
|
||||||
variatus, redolentia adeunt. Tyrioque dies, naufraga sua adit partibus celanda
|
|
||||||
torquere temptata, erit maneat et ramos, [iam](#) ait dominari
|
|
||||||
potitus! Tibi litora matremque fumantia condi radicibus opusque.
|
|
||||||
|
|
||||||
Deus feram verumque, fecit, ira tamen, terras per alienae victum. Mutantur
|
|
||||||
levitate quas ubi arcum ripas oculos abest. Adest [commissaque
|
|
||||||
victae](#) in gemitus nectareis ire diva
|
|
||||||
dotibus ora, et findi huic invenit; fatis? Fractaque dare superinposita
|
|
||||||
nimiumque simulatoremque sanguine, at voce aestibus diu! Quid veterum hausit tu
|
|
||||||
nil utinam paternos ima, commentaque.
|
|
||||||
|
|
||||||
```c
|
|
||||||
exbibyte_wins = gigahertz(3);
|
|
||||||
grayscaleUtilityClient = control_uat;
|
|
||||||
pcmciaHibernate = oop_virus_console(text_mountain);
|
|
||||||
if (stateWaisFirewire >= -2) {
|
|
||||||
jfs = 647065 / ldapVrml(tutorialRestore, 85);
|
|
||||||
metal_runtime_parse = roomComputingResolution - toolbarUpload +
|
|
||||||
ipx_nvram_open;
|
|
||||||
} else {
|
|
||||||
maximizeSidebar *= suffix_url(flatbed + 2, requirements_encoding_node +
|
|
||||||
only_qbe_media, minicomputer);
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Aere repetiti cognataque natus. Habebat vela solutis saepe munus nondum adhuc
|
|
||||||
oscula nomina pignora corpus deserat.
|
|
||||||
|
|
||||||
## Lethaei Pindumve me quae dinumerat Pavor
|
|
||||||
|
|
||||||
Idem se saxa fata pollentibus geminos; quos pedibus. Est urnis Herses omnes nec
|
|
||||||
divite: et ille illa furit sim verbis Cyllenius.
|
|
||||||
|
|
||||||
1. Captus inpleverunt collo
|
|
||||||
2. Nec nam placebant
|
|
||||||
3. Siquos vulgus
|
|
||||||
4. Dictis carissime fugae
|
|
||||||
5. A tacitos nulla viginti
|
|
||||||
|
|
||||||
Ungues fistula annoso, ille addit linoque motatque uberior verso
|
|
||||||
[rubuerunt](#) confine desuetaque. _Sanguine_ anteit
|
|
||||||
emerguntque expugnacior est pennas iniqui ecce **haeret** genus: peiora imagine
|
|
||||||
fossas Cephisos formosa! Refugitque amata [refelli](#)
|
|
||||||
supplex. Summa brevis vetuere tenebas, hostes vetantis, suppressit, arreptum
|
|
||||||
regna. Postquam conpescit iuvenis habet corpus, et erratica, perdere, tot mota
|
|
||||||
ars talis.
|
|
||||||
|
|
||||||
```c
|
|
||||||
digital.webcam_dual_frequency = webmasterMms;
|
|
||||||
if (5 + language_standalone_google) {
|
|
||||||
cc_inbox_layout *= file_character;
|
|
||||||
task += p;
|
|
||||||
lockUnicode += enterprise_monochrome(tokenFunctionPersonal, keyVirtual,
|
|
||||||
adf);
|
|
||||||
}
|
|
||||||
windows_binary_esports(87734, array(restoreRomTopology, adRaw(407314),
|
|
||||||
dongleBashThumbnail), interpreter);
|
|
||||||
```
|
|
||||||
|
|
||||||
Sit volat naturam; motu Cancri. Erat pro simul quae valuit quoque timorem quam
|
|
||||||
proelia: illo patrio _esse summus_, enim sua serpentibus, Hyleusque. Est coniuge
|
|
||||||
recuso; refert Coroniden ignotos manat, adfectu.
|
|
Binary file not shown.
Before Width: | Height: | Size: 51 KiB |
@ -1,106 +0,0 @@
|
|||||||
import { ArticleLayout } from '@/components/ArticleLayout'
|
|
||||||
|
|
||||||
export const article = {
|
|
||||||
author: 'Tony Grosinger',
|
|
||||||
date: '2022-09-02',
|
|
||||||
title: 'Introducing Animaginary: High performance web animations',
|
|
||||||
description:
|
|
||||||
'When you’re building a website for a company as ambitious as Planetaria, you need to make an impression. I wanted people to visit our website and see animations that looked more realistic than reality itself.',
|
|
||||||
}
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
title: article.title,
|
|
||||||
description: article.description,
|
|
||||||
}
|
|
||||||
|
|
||||||
export default (props) => <ArticleLayout article={article} {...props} />
|
|
||||||
|
|
||||||
When you’re building a website for a company as ambitious as Planetaria, you need to make an impression. I wanted people to visit our website and see animations that looked more realistic than reality itself.
|
|
||||||
|
|
||||||
To make this possible, we needed to squeeze every drop of performance out of the browser possible. And so Animaginary was born.
|
|
||||||
|
|
||||||
```js
|
|
||||||
import { animate } from '@planetaria/animaginary'
|
|
||||||
|
|
||||||
export function MyComponent({ open, children }) {
|
|
||||||
return (
|
|
||||||
<animate.div
|
|
||||||
in={open}
|
|
||||||
animateFrom="opacity-0 scale-95"
|
|
||||||
animateTo="opacity-100 scale-100"
|
|
||||||
duration={350}
|
|
||||||
>
|
|
||||||
{children}
|
|
||||||
</animate.div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Animaginary is our new web animation library that redefines what you thought was possible on the web. Hand-written in optimized WASM, Animaginary can even animate the `height` property of an element at 60fps.
|
|
||||||
|
|
||||||
## Sermone fata
|
|
||||||
|
|
||||||
Lorem markdownum, bracchia in redibam! Terque unda puppi nec, linguae posterior
|
|
||||||
in utraque respicere candidus Mimasque formae; quae conantem cervice. Parcite
|
|
||||||
variatus, redolentia adeunt. Tyrioque dies, naufraga sua adit partibus celanda
|
|
||||||
torquere temptata, erit maneat et ramos, [iam](#) ait dominari
|
|
||||||
potitus! Tibi litora matremque fumantia condi radicibus opusque.
|
|
||||||
|
|
||||||
Deus feram verumque, fecit, ira tamen, terras per alienae victum. Mutantur
|
|
||||||
levitate quas ubi arcum ripas oculos abest. Adest [commissaque
|
|
||||||
victae](#) in gemitus nectareis ire diva
|
|
||||||
dotibus ora, et findi huic invenit; fatis? Fractaque dare superinposita
|
|
||||||
nimiumque simulatoremque sanguine, at voce aestibus diu! Quid veterum hausit tu
|
|
||||||
nil utinam paternos ima, commentaque.
|
|
||||||
|
|
||||||
```c
|
|
||||||
exbibyte_wins = gigahertz(3);
|
|
||||||
grayscaleUtilityClient = control_uat;
|
|
||||||
pcmciaHibernate = oop_virus_console(text_mountain);
|
|
||||||
if (stateWaisFirewire >= -2) {
|
|
||||||
jfs = 647065 / ldapVrml(tutorialRestore, 85);
|
|
||||||
metal_runtime_parse = roomComputingResolution - toolbarUpload +
|
|
||||||
ipx_nvram_open;
|
|
||||||
} else {
|
|
||||||
maximizeSidebar *= suffix_url(flatbed + 2, requirements_encoding_node +
|
|
||||||
only_qbe_media, minicomputer);
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Aere repetiti cognataque natus. Habebat vela solutis saepe munus nondum adhuc
|
|
||||||
oscula nomina pignora corpus deserat.
|
|
||||||
|
|
||||||
## Lethaei Pindumve me quae dinumerat Pavor
|
|
||||||
|
|
||||||
Idem se saxa fata pollentibus geminos; quos pedibus. Est urnis Herses omnes nec
|
|
||||||
divite: et ille illa furit sim verbis Cyllenius.
|
|
||||||
|
|
||||||
1. Captus inpleverunt collo
|
|
||||||
2. Nec nam placebant
|
|
||||||
3. Siquos vulgus
|
|
||||||
4. Dictis carissime fugae
|
|
||||||
5. A tacitos nulla viginti
|
|
||||||
|
|
||||||
Ungues fistula annoso, ille addit linoque motatque uberior verso
|
|
||||||
[rubuerunt](#) confine desuetaque. _Sanguine_ anteit
|
|
||||||
emerguntque expugnacior est pennas iniqui ecce **haeret** genus: peiora imagine
|
|
||||||
fossas Cephisos formosa! Refugitque amata [refelli](#)
|
|
||||||
supplex. Summa brevis vetuere tenebas, hostes vetantis, suppressit, arreptum
|
|
||||||
regna. Postquam conpescit iuvenis habet corpus, et erratica, perdere, tot mota
|
|
||||||
ars talis.
|
|
||||||
|
|
||||||
```c
|
|
||||||
digital.webcam_dual_frequency = webmasterMms;
|
|
||||||
if (5 + language_standalone_google) {
|
|
||||||
cc_inbox_layout *= file_character;
|
|
||||||
task += p;
|
|
||||||
lockUnicode += enterprise_monochrome(tokenFunctionPersonal, keyVirtual,
|
|
||||||
adf);
|
|
||||||
}
|
|
||||||
windows_binary_esports(87734, array(restoreRomTopology, adRaw(407314),
|
|
||||||
dongleBashThumbnail), interpreter);
|
|
||||||
```
|
|
||||||
|
|
||||||
Sit volat naturam; motu Cancri. Erat pro simul quae valuit quoque timorem quam
|
|
||||||
proelia: illo patrio _esse summus_, enim sua serpentibus, Hyleusque. Est coniuge
|
|
||||||
recuso; refert Coroniden ignotos manat, adfectu.
|
|
@ -1,101 +0,0 @@
|
|||||||
import { ArticleLayout } from '@/components/ArticleLayout'
|
|
||||||
|
|
||||||
export const article = {
|
|
||||||
author: 'Tony Grosinger',
|
|
||||||
date: '2022-07-14',
|
|
||||||
title: 'Rewriting the cosmOS kernel in Rust',
|
|
||||||
description:
|
|
||||||
'When we released the first version of cosmOS last year, it was written in Go. Go is a wonderful programming language, but it’s been a while since I’ve seen an article on the front page of Hacker News about rewriting some important tool in Go and I see articles on there about rewriting things in Rust every single week.',
|
|
||||||
}
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
title: article.title,
|
|
||||||
description: article.description,
|
|
||||||
}
|
|
||||||
|
|
||||||
export default (props) => <ArticleLayout article={article} {...props} />
|
|
||||||
|
|
||||||
When we released the first version of cosmOS last year, it was written in Go. Go is a wonderful programming language with a lot of benefits, but it’s been a while since I’ve seen an article on the front page of Hacker News about rewriting some important tool in Go and I see articles on there about rewriting things in Rust every single week.
|
|
||||||
|
|
||||||
```rust
|
|
||||||
use ferris_says::say;
|
|
||||||
use std::io::{stdout, BufWriter};
|
|
||||||
|
|
||||||
fn main() {
|
|
||||||
let stdout = stdout();
|
|
||||||
let message = String::from("Hello fellow hackers");
|
|
||||||
let width = message.chars().count();
|
|
||||||
|
|
||||||
let mut writer = BufWriter::new(stdout.lock());
|
|
||||||
say(message.as_bytes(), width, &mut writer).unwrap();
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
I derive a large amount of my self-worth from whether or not Hacker News is impressed with the work I'm doing, so when I realized this, I cancelled all of our existing projects and started migrating everything to Rust immediately.
|
|
||||||
|
|
||||||
## Sermone fata
|
|
||||||
|
|
||||||
Lorem markdownum, bracchia in redibam! Terque unda puppi nec, linguae posterior
|
|
||||||
in utraque respicere candidus Mimasque formae; quae conantem cervice. Parcite
|
|
||||||
variatus, redolentia adeunt. Tyrioque dies, naufraga sua adit partibus celanda
|
|
||||||
torquere temptata, erit maneat et ramos, [iam](#) ait dominari
|
|
||||||
potitus! Tibi litora matremque fumantia condi radicibus opusque.
|
|
||||||
|
|
||||||
Deus feram verumque, fecit, ira tamen, terras per alienae victum. Mutantur
|
|
||||||
levitate quas ubi arcum ripas oculos abest. Adest [commissaque
|
|
||||||
victae](#) in gemitus nectareis ire diva
|
|
||||||
dotibus ora, et findi huic invenit; fatis? Fractaque dare superinposita
|
|
||||||
nimiumque simulatoremque sanguine, at voce aestibus diu! Quid veterum hausit tu
|
|
||||||
nil utinam paternos ima, commentaque.
|
|
||||||
|
|
||||||
```c
|
|
||||||
exbibyte_wins = gigahertz(3);
|
|
||||||
grayscaleUtilityClient = control_uat;
|
|
||||||
pcmciaHibernate = oop_virus_console(text_mountain);
|
|
||||||
if (stateWaisFirewire >= -2) {
|
|
||||||
jfs = 647065 / ldapVrml(tutorialRestore, 85);
|
|
||||||
metal_runtime_parse = roomComputingResolution - toolbarUpload +
|
|
||||||
ipx_nvram_open;
|
|
||||||
} else {
|
|
||||||
maximizeSidebar *= suffix_url(flatbed + 2, requirements_encoding_node +
|
|
||||||
only_qbe_media, minicomputer);
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Aere repetiti cognataque natus. Habebat vela solutis saepe munus nondum adhuc
|
|
||||||
oscula nomina pignora corpus deserat.
|
|
||||||
|
|
||||||
## Lethaei Pindumve me quae dinumerat Pavor
|
|
||||||
|
|
||||||
Idem se saxa fata pollentibus geminos; quos pedibus. Est urnis Herses omnes nec
|
|
||||||
divite: et ille illa furit sim verbis Cyllenius.
|
|
||||||
|
|
||||||
1. Captus inpleverunt collo
|
|
||||||
2. Nec nam placebant
|
|
||||||
3. Siquos vulgus
|
|
||||||
4. Dictis carissime fugae
|
|
||||||
5. A tacitos nulla viginti
|
|
||||||
|
|
||||||
Ungues fistula annoso, ille addit linoque motatque uberior verso
|
|
||||||
[rubuerunt](#) confine desuetaque. _Sanguine_ anteit
|
|
||||||
emerguntque expugnacior est pennas iniqui ecce **haeret** genus: peiora imagine
|
|
||||||
fossas Cephisos formosa! Refugitque amata [refelli](#)
|
|
||||||
supplex. Summa brevis vetuere tenebas, hostes vetantis, suppressit, arreptum
|
|
||||||
regna. Postquam conpescit iuvenis habet corpus, et erratica, perdere, tot mota
|
|
||||||
ars talis.
|
|
||||||
|
|
||||||
```c
|
|
||||||
digital.webcam_dual_frequency = webmasterMms;
|
|
||||||
if (5 + language_standalone_google) {
|
|
||||||
cc_inbox_layout *= file_character;
|
|
||||||
task += p;
|
|
||||||
lockUnicode += enterprise_monochrome(tokenFunctionPersonal, keyVirtual,
|
|
||||||
adf);
|
|
||||||
}
|
|
||||||
windows_binary_esports(87734, array(restoreRomTopology, adRaw(407314),
|
|
||||||
dongleBashThumbnail), interpreter);
|
|
||||||
```
|
|
||||||
|
|
||||||
Sit volat naturam; motu Cancri. Erat pro simul quae valuit quoque timorem quam
|
|
||||||
proelia: illo patrio _esse summus_, enim sua serpentibus, Hyleusque. Est coniuge
|
|
||||||
recuso; refert Coroniden ignotos manat, adfectu.
|
|
48
src/app/blog/welcome-to-the-wscc-website/page.mdx
Normal file
48
src/app/blog/welcome-to-the-wscc-website/page.mdx
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
import { ArticleLayout } from '@/components/ArticleLayout'
|
||||||
|
import Image from 'next/image'
|
||||||
|
import originalWebsite from './westsoundhall-original-website.png'
|
||||||
|
|
||||||
|
export const article = {
|
||||||
|
author: 'Tony Grosinger',
|
||||||
|
date: '2024-01-01',
|
||||||
|
title: 'Welcome to the New WSCC Website',
|
||||||
|
description: "In the early 2000's, the West Sound Community Club leadership put a massive effort into improving the hall's physical foundation, however it's easy to overlook the incredible amount of work that was also put into less tangible aspects of the hall.",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export const metadata = {
|
||||||
|
title: article.title,
|
||||||
|
description: article.description,
|
||||||
|
}
|
||||||
|
|
||||||
|
export default (props) => <ArticleLayout article={article} {...props} />
|
||||||
|
|
||||||
|
In the early 2000's, the West Sound Community Club leadership put a massive
|
||||||
|
effort into improving the hall's physical foundation, however it's
|
||||||
|
easy to overlook the incredible amount of work that was also put into less
|
||||||
|
tangible aspects of the hall.
|
||||||
|
|
||||||
|
The original version of this website was launched in 2004. It was one of the
|
||||||
|
first digital archives of the history of West Sound and how central the hall was
|
||||||
|
to this community. This updated version of the website preserves this historical
|
||||||
|
collection and aims to expand it with information collected by the Club over the
|
||||||
|
years.
|
||||||
|
|
||||||
|
|
||||||
|
<div className="not-prose flex flex-col items-center">
|
||||||
|
<Image src={originalWebsite} alt="Screenshot of the original West Sound Hall website" />
|
||||||
|
<span className="mt-2 text-sm text-zinc-400 dark:text-zinc-500">
|
||||||
|
Screenshot of the original West Sound Hall website.
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
Along with the website, past Boards have worked to incorporate the Club, make
|
||||||
|
the hall available for rental by the community, and even added the hall to the
|
||||||
|
WA Heritage Register. There's so much more to the hall than just potlucks,
|
||||||
|
and this website hopes to share this with the West Sound Community.
|
||||||
|
|
||||||
|
If you'd like to follow along, please <a target="_blank"
|
||||||
|
href="https://orcas.community/mailinglists/7">sign up for email
|
||||||
|
announcements</a> when new blog posts are published.
|
||||||
|
|
||||||
|
Thanks for being a part of the West Sound Community!
|
Binary file not shown.
After Width: | Height: | Size: 644 KiB |
@ -52,7 +52,7 @@ export default function Club() {
|
|||||||
src={interiorEmptyImage}
|
src={interiorEmptyImage}
|
||||||
alt=""
|
alt=""
|
||||||
sizes="(min-width: 1024px) 32rem, 20rem"
|
sizes="(min-width: 1024px) 32rem, 20rem"
|
||||||
className="aspect-square rotate-3 rounded-2xl bg-zinc-100 object-cover dark:bg-zinc-800"
|
className="aspect-square rounded-2xl bg-zinc-100 object-cover dark:bg-zinc-800"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -102,16 +102,16 @@ function MeetingListItem({ meeting }: { meeting: Meeting }) {
|
|||||||
function Events() {
|
function Events() {
|
||||||
let events: Array<Meeting> = [
|
let events: Array<Meeting> = [
|
||||||
{
|
{
|
||||||
title: 'Christmas Potluck',
|
title: 'January Potluck',
|
||||||
date: '2023-12-16',
|
date: '2024-01-20',
|
||||||
startTime: '6:00pm',
|
startTime: '6:00pm',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Member Meeting',
|
title: 'February Potluck',
|
||||||
date: '2023-12-20',
|
date: '2024-02-17',
|
||||||
startTime: '6:00pm',
|
startTime: '6:00pm',
|
||||||
endTime: '8:00pm',
|
// endTime: '8:00pm',
|
||||||
notes: 'Bring your own chair.'
|
// notes: 'Bring your own chair.'
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -126,9 +126,11 @@ function Events() {
|
|||||||
<MeetingListItem key={idx} meeting={meeting} />
|
<MeetingListItem key={idx} meeting={meeting} />
|
||||||
))}
|
))}
|
||||||
</ol>
|
</ol>
|
||||||
|
{/*
|
||||||
<Button href="#" variant="secondary" className="group mt-6 w-full">
|
<Button href="#" variant="secondary" className="group mt-6 w-full">
|
||||||
Full Calendar
|
Full Calendar
|
||||||
</Button>
|
</Button>
|
||||||
|
*/}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user