Compare commits
No commits in common. "591ccc361b68486eff91e60db65f7474a376e342" and "9287b4da1abafc5291c5f0aaa025fd6e44fbad59" have entirely different histories.
591ccc361b
...
9287b4da1a
@ -0,0 +1,91 @@
|
|||||||
|
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.
After Width: | Height: | Size: 51 KiB |
106
src/app/blog/introducing-animaginary/page.mdx
Normal file
106
src/app/blog/introducing-animaginary/page.mdx
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
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.
|
101
src/app/blog/rewriting-the-cosmos-kernel-in-rust/page.mdx
Normal file
101
src/app/blog/rewriting-the-cosmos-kernel-in-rust/page.mdx
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
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.
|
@ -1,48 +0,0 @@
|
|||||||
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.
Before 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 rounded-2xl bg-zinc-100 object-cover dark:bg-zinc-800"
|
className="aspect-square rotate-3 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: 'January Potluck',
|
title: 'Christmas Potluck',
|
||||||
date: '2024-01-20',
|
date: '2023-12-16',
|
||||||
startTime: '6:00pm',
|
startTime: '6:00pm',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'February Potluck',
|
title: 'Member Meeting',
|
||||||
date: '2024-02-17',
|
date: '2023-12-20',
|
||||||
startTime: '6:00pm',
|
startTime: '6:00pm',
|
||||||
// endTime: '8:00pm',
|
endTime: '8:00pm',
|
||||||
// notes: 'Bring your own chair.'
|
notes: 'Bring your own chair.'
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -126,11 +126,9 @@ 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