Advertisement · 728 × 90

Posts by Nick The Sick

Open to new opportunities! If you know of any senior eng / fullstack roles (remote or PNW based), especially in the open source / decentralized tech space, shoot me a DM!

10+ years fullstack, currently building on #atproto, check out @grain.social

1 day ago 55 18 2 1
What is an Atmosphere account?

An Atmosphere account is your personal identity on the Atmosphere. Think of it as a digital passport that you truly own, not locked to any single app or company.
Use it across multiple apps

Your Atmosphere account works with the Bluesky Social App and any other social apps built on the same network.

Just like you can use the same email address to sign into different websites, your Atmosphere account lets you sign into different social apps while keeping the same identity, connections, and content.

When you see options to log in with an Atmosphere account or "internet handle" on other apps, you can use your existing account nickthesick.com instead of creating a new one.
What makes it special

The key difference: your data isn't trapped in any one app. Unlike traditional social media accounts, where your data belongs to the platform, with an Atmosphere account you genuinely own your identity and data:

    You own your identity: Your username (handle) and permanent ID belong to you
    Your data is portable: Posts, follows, and content live in your personal data storage, not locked in an app's database
    You can move freely: Switch hosting providers without losing your followers, posts, or connections. This also lets you choose a provider in your country if it matters where your data is stored.
    Multiple apps, one identity: Use the same account across different apps built on the same network

This website: your account control center

The website you're on right now is your account management hub. Here you can:

    Update your email address and password
    Manage your personal data and security settings
    View and manage active sessions across devices (browsers where you're signed in)

This place is where you control the fundamental aspects of your Atmosphere identity, independently of any app-specific details like the profile you have on the Bluesky social app.

Your Atmosphere account is currently hosted by bluesky.nickthe…

What is an Atmosphere account? An Atmosphere account is your personal identity on the Atmosphere. Think of it as a digital passport that you truly own, not locked to any single app or company. Use it across multiple apps Your Atmosphere account works with the Bluesky Social App and any other social apps built on the same network. Just like you can use the same email address to sign into different websites, your Atmosphere account lets you sign into different social apps while keeping the same identity, connections, and content. When you see options to log in with an Atmosphere account or "internet handle" on other apps, you can use your existing account nickthesick.com instead of creating a new one. What makes it special The key difference: your data isn't trapped in any one app. Unlike traditional social media accounts, where your data belongs to the platform, with an Atmosphere account you genuinely own your identity and data: You own your identity: Your username (handle) and permanent ID belong to you Your data is portable: Posts, follows, and content live in your personal data storage, not locked in an app's database You can move freely: Switch hosting providers without losing your followers, posts, or connections. This also lets you choose a provider in your country if it matters where your data is stored. Multiple apps, one identity: Use the same account across different apps built on the same network This website: your account control center The website you're on right now is your account management hub. Here you can: Update your email address and password Manage your personal data and security settings View and manage active sessions across devices (browsers where you're signed in) This place is where you control the fundamental aspects of your Atmosphere identity, independently of any app-specific details like the profile you have on the Bluesky social app. Your Atmosphere account is currently hosted by bluesky.nickthe…

Oh, it gets better!

1 day ago 7 0 0 0
Screenshot of the account admin interface of the official PDS distributed by Bluesky

Screenshot of the account admin interface of the official PDS distributed by Bluesky

Bluesky has spoken!

It's official "Atmosphere account", now we can stop bike-shedding

1 day ago 26 1 1 1

Actually a really simple way to know that you’ve actually translated everything

3 days ago 0 0 1 0
A screenshot of a "customized" PDS environment, where the only thing different from the default sign in screen is that the word "sign in", and the sign in button are yellow now

A screenshot of a "customized" PDS environment, where the only thing different from the default sign in screen is that the word "sign in", and the sign in button are yellow now

Thanks for showing me!

But, I'm sorry, but this is not nearly enough to make a cohesive experience:

I'll see about making some PRs to make this better, but as far as I see it, this is pretty hard coded at this point because of how tailwind works

3 days ago 0 0 1 0

How would I go about retheming this? I don’t see anything in the repo: github.com/bluesky-soci...
I guess I could just reverse proxy the css file instead.

Yea I’m okay with the different domain, the jarring part is mostly the theme and it feeling like it’s part of the app.

4 days ago 0 0 1 0

Reason being that I find the experience of creating an account with OAuth prompt create to be jarring for user experience. It doesn’t look like my app. Is made on a different domain.

It makes it feel sketchy whereas if I could, I would hide it all behind bookhive.buzz instead of bookhive.social

4 days ago 0 0 1 0
Bookhive Goodreads but better. Built on top of Blue Sky.

I ran into this with @bookhive.buzz and bookhive.social. I want for the experience to be purely created through bookhive. But to get an OAuth token I have to redirect the user.

I have the feeling that I’d have to make bookhive.social into a custom PDS that can give people this normal password exp.

4 days ago 0 0 1 0
Goodbye bloop Today we're shutting down bloop, the company behind Vibe Kanban. The project will live on as open source and community maintained.

vibekanban.com/blog/shutdown

Vibe Kanban was really nice. I do wish that I could have everything under a single tool. Kanban is such a nice format

5 days ago 0 0 0 0
Advertisement

I wonder whether @horusiath.bsky.social has any ideas on whether this is a useful abstraction to have in Yrs, or somehow around the library?

5 days ago 1 0 1 0

Yea, to specify this in a way which is concurrently editable is not so easy, it'd have to be more like an inode in a filesystem.

So, more like Map<docId, state vector> and something separately manages the directory layout

5 days ago 1 0 0 0
PDSls Browse the public data on atproto

I can speak from the @bookhive.buzz side, Popfeed is able to read bookhive records. But if you interact with them, it’s stored as Popfeed records.

Here is a Popfeed record for example: pds.ls/at://did:plc...

5 days ago 2 0 0 0

Yep this is where they are posted from my understanding.

5 days ago 0 0 0 0

Seems like we had a similar idea for syncing Yjs over a PDS: bsky.app/profile/nick...

Yours seems more about multiple devices of the same user

5 days ago 1 0 1 0

Oh but then in this case the documents aren’t stored as YDocs are they? It’d just be the raw content so they’d be overwrites no?

5 days ago 0 0 0 0

I’ve not had to do a whole folder of documents. But I imagine it to be not that different from an individual document. Each document would have a state vector (Map<number, number>) so a folder of documents could just be sending a Map<path, state vector>. And then from there you could do sync-step-2

5 days ago 1 0 1 0
Advertisement

I normally organize all of the screws in exact layout I found them. But, as soon as I realize I’m not going to be able to put it back together I stop even organizing and make sure that I can never put it back together.

I don’t want the hope

5 days ago 0 0 0 0

I even type with proper capitalization and full sentences. I probably waste so much time, but it’s the only way I write.

I text like this too. Always full sentences…. I always feel weird talking to someone who texts like they are using a T9 and I’m here writing an English essay.

5 days ago 4 0 1 0

The hero we all need

6 days ago 1 0 0 0

Cool, sounds interesting. I see you’ve got Yjs in there. I built @teleportal.tools and it is a sync server based on Y.js. If you run into anything, feel free to reach out

6 days ago 1 0 1 0

Oh man, I have 2 E-inks and you are making me want another one...

6 days ago 1 0 1 0

Sounds cool. What are you working on?

6 days ago 1 0 1 0

Cool, never looked into how those work to know!

1 week ago 1 0 0 0
Advertisement

What a neat idea! AST grep looks super powerful.

I wonder if there could be a registry of these codemods

1 week ago 1 0 1 0

I love when claude confidently declares that it has the full picture, it always reminds me that he absolutely does not have the full picture

1 week ago 13 0 2 0

For reference, I just turned on cloudflare caching on the site March 27 (in hope of caching images) and apparently I was getting 10k requests a day.

Now, almost all requests are under 1s (P95+) and most are under 175ms (P75+)!

It's crazy what some optimization work can do, worth it!

1 week ago 3 0 0 0

Love to see my interests converging like that!

1 week ago 2 0 0 0

Thanks for the details!

I've been thinking of a very similar sort of structure, things just get complicated once you start adding requirements like "an alert's title cannot have bold, but can be italic" and "an alert body can have any block, except images". But, maybe that is a future problem

1 week ago 0 0 1 0
Preview
BlockNote - Javascript Block-Based React rich text editor A beautiful text editor that just works. Easily add an editor to your app that users will love. Customize it with your own functionality like custom blocks or AI tooling.

One question as someone who works on a very similar thing, blocknotejs.org

Do you handle a block with nested rich content. Like let’s say an alert that has both a title and a body which are both themselves rich text? Your spec doesn’t seem to mention this case and assumes things are flat

1 week ago 0 0 1 0

If we run into issues again, the next step is to migrate away from the in-memory SQLite (~1gb right now!) to Postgres, which should offload the processing of requests out of the JS main thread. I really didn't want to have to do this, because I believe SQLite can scale way more, but I may have to

1 week ago 2 0 0 0