Tag
Development
Every article tagged Development across the Atmosphere.
190articles
Articles
Publications
The Vibes Were Never the Point
My thoughts on the push-and-pull of AI usage.2
Radical Speed Month, and a new Reader
During Automattic's Radical Speed Month, Matthias and I built Reader Everywhere: a new way to follow Bluesky, Mastodon, and the Fediverse from the WordPress.com Reader. 90-second demo below. :)1
Creating an AI Worklog
aidevelopment
Lifting Mastodon rate limits
I'm a reluctant Bluesky user and a new Bluesky user. I expanded my site's syndication implementation to support Bluesky and updated my links implementation to support tagging authors on Bluesky. Why join now? I'm not totally sure. Indigo launching was a factor. It looked like (and is) a lovely app.developmentdocker
Ribbon - a linkding client
I built a native iOS client for linkding and launched it, as I usually do, with a sarcastic-ish Mastodon post. I'd been using my instance as a PWA (inasmuch as PWAs are supported on iOS) and found it to be ok but not terribly satisfying. I appreciated the existing clients, but didn't love them. I'd tried them all, but ended up generally using a Safari extension and the web app in Safari.developmentios
It's All Just Trees With Web Origami
Thoughts on the wonderful Web Origami project, which can be used as a static site generator but is also capable of very much more. It can be used in the shell to handle all sorts of data transformations and interactions, making it a valuable part of any developer's toolbox.development
Atmosphere 1
Just testing. Still testing. Testing continues.Development
Working with the Atmosphere module for Drupal
After creating my own ATproto suite [1] of modules for Drupal I was excited
to see Affinity Bridge [2] had ported the Wordpress Atmosphere plugin to
Drupal [3]. While there are some major differences they both achieve the same
goal of publishing Drupal content as both Bluesky posts and Standard Site
documents. Here are some of the key differences.
ModuleATprotoAtmosphereStructureModular. Several modules with dedicated
functions.One module does it allAuthenticationApp password. Drupal can
re-authenticate in the backgroundOauth. Requires user to
re-authenticateTrackingUses the Indieweb Syndications entityExtends the
content types with additional fieldsBackfeedTracks posts for likes and
replies. Uses Indieweb Webmentions.Not implemented in initial
releaseExecutionDefines Plugin Actions for use with ECAUses hook_insert,
hook_update, etc.FeaturesLimited support for facets and images in initial
releaseGood support for facets and images.
As my modules are somewhat tied to my custom Drupal installation, I see the
Atmosphere module better positioned for general consumption on Drupal.org and
I hope to be able to contribute to it.
[1] https://github.com/lieb77/atproto
[2] https://github.com/affinitybridge
[3] https://github.com/affinitybridge/drupal-atmosphere/tree/main
DevelopmentDrupal
Working with the Atmosphere module for Drupal
After creating my own ATproto suite of modules for Drupal I was excited to see Affinity Bridge had ported the Wordpress Atmosphere plugin to Drupal. While there are some major differences they both achieve the same goal of publishing Drupal content as both Bluesky posts and Standard Site documents. Here are some of the key...DevelopmentDrupal
Personal site infrastructure, diagrammed
That I even need and have made a diagram of the infrastructure for this site speaks to how over-engineered it is. Yet, while it is ostensibly a personal site, it's a personal site that's replaced many services that I previously used.developmentwebdev
Battling bots
I've already blocked entire countries to combat scrapers , I update my robots.txt for well-behaved bots (and 403 any included in the list that access anything other than my robots.txt ). In addition to these steps, I've started blocking traffic from IPs contained in Spamhaus ' DROP and DROPv6 lists.developmentwebdev
Stay Away From Accessibility Overlays
Accessibility overlays are poor solutions to accessibility issues and in the majority of cases, inflict more problems than they solve. They don't provide legal protection and overall harm the usability of websites. They should not be used and must be avoided, with focus instead being placed on addressing the core problems.accessibilitydevelopment
New ATproto Suite for Drupal
I have been working on various ATproto integrations for Drupal over past few
months, and have now combined them into a single suite. The code is available
on Github [1]. Much of this is tailored to my custom Drupal content types and
would only server as an example to others, however you should be able to use
the atproto_client as is and write your own code on top of it.
The individual modules provide Action Plugins for use with ECA. There are
recipes for installing the ECA models.
Some of the modules also depend on the Indieweb Webmention module which
provides the entity types for Syndications and Webmentions.
I set the Drupal core requirement to 11.3 because that is the environment I'm
working in, but I'm sure most of it would work with earlier versions if you
just changed that.
This is Alpha level code - use at your own risk.
[1] https://github.com/lieb77/atproto
DevelopmentDrupal
New ATproto Suite for Drupal
I have been working on various ATproto integrations for Drupal over past few
months, and have now combined them into a single suite. The code is available
on Github [1]. Much of this is tailored to my custom Drupal content types and
would only server as an example to others, however you should be able to use
the atproto_client as is and write your own code on top of it.
The individual modules provide Action Plugins for use with ECA. There are
recipes for installing the ECA models.
Some of the modules also depend on the Indieweb Webmention module which
provides the entity types for Syndications and Webmentions.
I set the Drupal core requirement to 11.3 because that is the environment I'm
working in, but I'm sure most of it would work with earlier versions if you
just changed that.
This is Alpha level code - use at your own risk.
[1] https://git@github.com:lieb77/atproto.git
DevelopmentDrupal
Migrating infrastructure off Coolify
I've spent a while recently migrating my personal infrastructure off Coolify . Coolify 's an excellent tool and one that helped manage the initial learning curve of managing and deploying things when I started to self host things. As I got more comfortable with the process, issues and details I found myself wanting to remove it as an abstraction on top of what I had become comfortable managing.developmentwebdev
Bridging the Web - Part 3
In my continued effort to syndicate my blog posts far and wide I have
implement Standard Site [1]. This is an AT Protocol Lexicon for long form
publishing. A Lexicon is a schema for structured data. Basically fields with
strict definitions of what can go in these fields. Bluesky is also based on
an AT Protocol Lexicon. The difference is that Bluesky's lexicon limits posts
to 300 characters. Standard Site expands that to 3,000 characters allowing
for longer essays.
The problem with this is that Bluesky cannot display posts published with the
Standard Site lexicon. There are however a number on new sites that do:
leaflet.pub [2] and pckt.blog [3] among others. Simply publishing my posts
with Standard Site lexicon syndicates them to these sites automatically, but
if I want them to show up on Bluesky I also have to publish them in their
lexicon (which I was already doing). The hope is that Site Standard does
indeed become a standard and becomes widely implemented. Time will tell.
So now my Blog posts are available over Indieweb, Bluesky, ActivityPub
(Mastodon), and now Standard Site. Noticeably absent from this list is
Facebook. Facebook as I'm sure you know, is not a team player and is not
interested in participating in the Open Web. a.k.a. A walled garden. This is
unfortunate, because that's where all my friends are. While I may have
followers on these other platforms, very few of them are people I actually
know. I hope this changes. I hope I can convince more of my friends to move
off of Facebook
[1] https://standard.site
[2] https://leaflet.pub
[3] https://pckt.blog/
DevelopmentDrupal
Design Considerations for Moderation Tooling
Overview of thoughful and protective design of tooling for moderating user-generated content, placing emphasis on minimising the psychological effects of exposure to heinous content, while balancing efficiency, accuracy, and the long-term wellbeing of trust and safety teams. Covering techniques for the mitigation of impact where applicable.moderationdesign
Building a Navidrome scrobbling plugin
Navidrome released plugin support a few weeks ago and I've been working on implementing a plugin that scrobbles my listens to my own API endpoint. This has replaced my previous approach of regularly polling a private endpoint that sat unused in Navidrome 's UI. It works better and uses a properly supported mechanism to meet my needs.developmenttech
Owning your data
Owning your own data is hard . I've been trying to own as much as I can, and my site has become a reflection of that process, both in what I display and discuss. As difficult as it is, there's a freedom in owning as much as you can.developmentwebdev
Assembloid
Lab-grown brain circuits reveal who's really in charge. Nagoya University researchers fused thalamic and cortical organoids derived from human iPS cells, watching axons extend bidirectionally to form synapses. Neural activity propagates from thalamus to cortex in wave-like patterns, selectively synchronizing pyramidal tract (PT) and corticothalamic (CT) neurons while intratelencephalic (IT) neurons remain unaffected. The thalamus plays a decisive role in cortical maturation — connected organoids show greater development than isolated ones.neurosciencesimulation