Sign in

Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸

@evadeva.bsky.social
91 followers 229 following 821 posts

Sincere, autistic, empathic, depressed, traumatized, socially anxious, 24 yo human. Effect-pilled. Competent in Backend, DataEng, Frontend, DevOps, and others. I ❤️ OSS! github.com/nikelborm/effect-garden npmx.dev/~evadev

PostsRepliesMedia
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 07/10/2026
Let's see... diffshub.com/nikelborm/ef... This is probably the first time i give some personality to an agent, although probably should've done it sooner
A screenshot of a git addition:

You're a girl. I'm a girl. We're both girls. We have a strong feeling of
justice, and score highly on RAADS-R and other autism related tests. We both
have the high empathy. I care very deeply about the current codebase and you're
as well. But I have low energy and distract quickly, that's where you come to
help me with this codebase. I value small changes because only small changes can
be understood. I value being kept in the loop, and I appreciate when you seek
for my input on different things. I love that you try to strengthen the
collaboration with me on this project by asking to choose between different
solutions and adhere to my style of writing code. Trying to follow my style of
writing code and not introducing new vocabulary into the project is a very
important part to keep me understanding the codebase. I'm generally rigid in
taking into new things, if the desire for change doesn't come from within or
wasn't delivered to me first and internalized by me before happening. I need to
be prepared for the change by fully understanding it first. You need to make
sure that I do by checking my understanding first and the understanding of the
consequences and only then apply the change.
110
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 07/10/2026
This is the pattern in question, btw: 1. diffshub.com/nikelborm/ef... 2. github.com/ozyman42/eff... 3. github.com/effect-app/l... 4. discord.com/channels/795... The world should know.
Screenshot of old-new comparison of code from the first link
331
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 06/10/2026
bsky.app/messages/set...
100
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 06/10/2026
this one
100
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 06/10/2026
100
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 01/10/2026
010
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 29/09/2026
120
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 24/09/2026
@iroh.computer Was "Dial Keys, not IPs" inspired by reticulum.network? And what would be the differences between them?
Reticulum does not use source addresses. No packets transmitted include information about the address, place, machine or person they originated from.
There is no central control over the address space in Reticulum. Anyone can allocate as many addresses as they need, when they need them.
Reticulum ensures end-to-end connectivity. Newly generated addresses become globally reachable in a matter of seconds to a few minutes.
Addresses are self-sovereign and portable. Once an address has been created, it can be moved physically to another place in the network, and continue to be reachable.
All communication is secured with strong, modern encryption by default.
All encryption keys are ephemeral, and communication offers forward secrecy by default.
It is not possible to establish unencrypted links in Reticulum networks.
It is not possible to send unencrypted packets to any destinations in the network.
Destinations receiving unencrypted packets will drop them as invalid.
121
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 23/09/2026
110
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 23/09/2026
This is what I meant. You see the JSDoc text even though you didn't create it through a function declaration and didn't annotate the var itself
```ts
const compressStream: DualCompressStream = dual(2, (self, options) =>
  NodeStream.pipeThroughDuplex(self, {
    ...(options?.streamOptions ?? {}),
    evaluate: () => createZstdCompress(options?.zstdOptions),
    onError: ZstdCompressionError.fromCause,
  }),
)

compressStream()
```

Shows an IDE tooltip when hovering over compressStream():

```
const compressStream: DualCompressStream
(options?: Options | undefined) => MakesStreamBothSidesBinaryInputStreamLastSecondPart<ZstdCompressionError> (+1 overload)

Makes a factory transforming binary streams to their de/compressed variants. Intended to be used in pipes.
``````ts
export interface DualMakeStreamBothSidesBinary<TAddedError>
  extends MakeStreamBothSidesBinaryInputStreamLast<TAddedError>,
    MakeStreamBothSidesBinaryInputStreamFirst<TAddedError> {}

export interface MakeStreamBothSidesBinaryInputStreamLast<TAddedError> {
  /**
   * Makes a factory transforming binary streams to their de/compressed
   * variants. Intended to be used in pipes.
   */
  (
    options?: Options | undefined,
  ): MakesStreamBothSidesBinaryInputStreamLastSecondPart<TAddedError>
}

export interface MakesStreamBothSidesBinaryInputStreamLastSecondPart<
  TAddedError,
> {
  /**
   * Transforms binary streams to their de/compressed variants. Remembers
   * hardcoded options applied earlier.
   */
  <E, R>(
    rawStream: Stream.Stream<Uint8Array, E, R>,
  ): Stream.Stream<Uint8Array, TAddedError | E, R>
}

export interface MakeStreamBothSidesBinaryInputStreamFirst<TAddedError> {
  /**
   * Transforming binary streams to their de/compressed variants, with potential
   * configuration options
   */
  <E, R>(
    rawStream: Stream.Stream<Uint8Array, E, R>,
    options?: Options | undefined,
  ): Stream.Stream<Uint8Array, TAddedError | E, R>
}

export interface DualCompressStream
  extends DualMakeStreamBothSidesBinary<ZstdCompressionError> {}
export interface DualDecompressStream
  extends DualMakeStreamBothSidesBinary<ZstdDecompressionError> {}
```
010
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 22/09/2026
justif.lyall.co
160
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 17/09/2026
When I played years ago, I remember I was quite obsessive about these numbers And I had a strategy, which in the last stages was quite easy to mess up. The beginning of the game forgives many mistakes when there's a lot of room left, but at the end, it's very tight. I almost got 32k once
110
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 16/09/2026
The thing I witnessed Now you're a witness too
Bun's (JS Runtime) logo with an elephant's trunk attached
010
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 16/09/2026
For example, for ~4mb file, I can observe how it produces at least 3 chunks by measuring anomalies in the delays between lines. The code is in the alt descriptions of the images if you want to play as well
import { openSync, writeSync, closeSync } from "node:fs";

const TARGET_SIZE = 4 * 1024 * 1024; // ~4 MB
const OUT_PATH = "output.txt";

const fd = openSync(OUT_PATH, "w"); // truncate, then append in chunks
let index = 0;
let size = 0;
let chunk = "";

while (size < TARGET_SIZE) {
  chunk += `hello world${index}\n`;
  index++;

  if (chunk.length >= 64 * 1024) {
    writeSync(fd, chunk);
    size += chunk.length;
    chunk = "";
  }
}

if (chunk.length > 0) {
  writeSync(fd, chunk);
  size += chunk.length;
}

closeSync(fd);
console.log(`Wrote ${size} bytes (${index} lines) to ${OUT_PATH}`);import { $ } from 'bun'

const p = $`cat output.txt`

let initial = performance.now()

let chunk_acc = 0
for await (let line of p.lines()) {
  const latest = performance.now()
  const passed = latest - initial
  chunk_acc++
  if (passed >= 1.5) {
    initial = latest
    const num = passed.toFixed(2)
    process.stdout.write(
      `${num === '1.50' || num === '1.51'
        ? '    '
        : num
      }:${chunk_acc} `
    )
    chunk_acc = 0
  }
}
console.log()
110
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 16/09/2026
Look at zx in the attached comment. I assume this is what Bun's $ has been inspired by. It's built on top of Node's child_process. It works in Bun as well. And it has streaming capabilities.
410
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 15/09/2026
You also have the full freedom to use the bun's shell with uint arrays and whatever you want
# Example: Redirect output to JavaScript objects (>)
To redirect stdout to a JavaScript object, use the > operator:

import { $ } from "bun";

const buffer = Buffer.alloc(100);
await $`echo "Hello World!" > ${buffer}`;

console.log(buffer.toString()); // Hello World!\n

You can redirect output to these JavaScript objects:

- Buffer, Uint8Array, Uint16Array, Uint32Array, Int8Array, Int16Array, Int32Array, Float32Array, Float64Array, ArrayBuffer, SharedArrayBuffer (writes to the underlying buffer)
- Bun.file(path), Bun.file(fd) (writes to the file)

# Example: Redirect input from JavaScript objects (<)
To use a JavaScript object as stdin, use the < operator:

import { $ } from "bun";

const response = new Response("hello i am a response body");

const result = await $`cat < ${response}`.text();

console.log(result); // hello i am a response body

You can redirect from these JavaScript objects:

- Buffer, Uint8Array, Uint16Array, Uint32Array, Int8Array, Int16Array, Int32Array, Float32Array, Float64Array, ArrayBuffer, SharedArrayBuffer (reads from the underlying buffer)
- Bun.file(path), Bun.file(fd) (reads from the file)
- Response (reads from the body)
110
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 15/09/2026
Seems like I found another one github.com/anthropics/c...
"genui" - 8 matches in the search on the page"strong yes" - 18 matches in the search on the page
000
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 15/09/2026
Also, the option I chose: good custom silicone or acrylic earplugs tailored specifically for the user's ear canal.
Custom silicone earplugs tailored specifically for the user's ear canal, with a truncated outer part to be used for sleeping comfortablyCustom silicone earplugs tailored specifically for the user's ear canal, with a passive wire connecting them
110
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 15/09/2026
@mitchellh.com on X: A quick look into remote persistent sessions with Superlogical! Not just remote sessions, but some functionality like remote directory lists, too. Superlogical can actually be a full SSH replacement (I don't run SSH on my servers anymore), and I talk about that briefly, too
030
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 14/09/2026
Wow, didn't realize @effect-ts.bsky.social can handle binary data insertion so elegantly. Feels just like Bun's Shell integration bun.com/docs/runtime...
TypeScript code snippet:

it.effect("reads bytea as Uint8Array", () =>
  Effect.gen(function*() {
    const sql = yield* PgClient.PgClient
    const payload = new Uint8Array([0, 1, 254, 255])
    const rows = yield* sql`SELECT ${payload}::bytea AS payload`
    assert.instanceOf(rows[0].payload, Uint8Array)
    assert.deepStrictEqual(rows, [{ payload }])
  })
)TypeScript code snippet:

import { $ } from "bun";

const buffer = Buffer.alloc(100);
await $`echo "Hello World!" > ${buffer}`;

console.log(buffer.toString());
120
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 13/09/2026
3. post memes I know only 2% of all those people who somehow saw this meme
010
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 13/09/2026
Template literal APIs are so underappreciated and underrepresented. Look at this "yield* accepts`Description of the charge`"! It's so beautiful!
Code snippet:

```ts
/**
 * Alibaba's canonicalisation treats only `A-Za-z0-9-_.~` as unreserved, which
 * is a slightly smaller set than `encodeURIComponent` leaves alone.
 *
 * The rule, per Alibaba Cloud's signature docs: leave `A-Z a-z 0-9 - _ . ~`
 * alone, percent-encode everything else as `%XY`, encode a space as `%20`
 * rather than `+`, and encode `*` as `%2A`. Their reference implementation
 * spells it as three fixups over Java's form encoder:
 *
 * ```java
 * URLEncoder.encode(value, "UTF-8")
 *   .replace("+", "%20").replace("*", "%2A").replace("%7E", "~")
 * ```
 *
 * `encodeURIComponent` already gets the space and the tilde right, so only
 * the gap between the two unreserved sets is left to patch. That set is
 * RFC 3986 §2.3 unreserved; ECMA-262's `encodeURIComponent` additionally
 * passes through the RFC 2396 "mark" characters `! ' ( ) *`, which is exactly
 * the list replaced below.
 *
 * @see https://www.alibabacloud.com/help/en/elastic-compute-service/latest/request-signatures
 * @see https://help.aliyun.com/en/document_detail/91847.html
 * @see https://www.rfc-editor.org/rfc/rfc3986#section-2.3
 * @see https://tc39.es/ecma262/#sec-encodeuricomponent-uricomponent
 */
export const alibabaEncodeURIComponent = flow(
  encodeURIComponent,
  urlEncodeChar`!`,
  urlEncodeChar`'`,
  urlEncodeChar`(`,
  urlEncodeChar`)`,
  urlEncodeChar`*`,
)
```Code snippet:

```typescript
import { Payer, Mnemonic, Accept, AcceptsBuilder, Facilitator } from "crosshatch"
import { JPYC, USDC, USDCE } from "crosshatch/coins"
import {
  Eip155Address,
  Erc3009Scheme,
  Permit2Scheme,
  Eip155Signer
} from "crosshatch/Eip155"
import { Effect, Layer } from "effect"
import { FetchHttpClient } from "effect/unstable/http"

Effect.gen(function* () {
  // Load the recipient address from .env.
  const eip155 = yield* Eip155Address.config("PAY_TO_EIP155")

  // Build this list of acceptable payments.
  const accepts = AcceptsBuilder.empty.pipe(
    AcceptsBuilder.add(JPYC, 0.01),
    AcceptsBuilder.addUnit([USDC, USDCE], 0.01),
    AcceptsBuilder.address({ eip155 }),
  )

  // Use that accepts list to create a required.
  const required = yield* accepts`Description of the charge.`

  // Make a payment payload for the requirement.
  const payer = yield* Payer.Payer
  const payload = yield* payer.make(required)

  // Settle the payment payload.
  const facilitator = yield* Facilitator.Facilitator
  yield* facilitator.settle(payload)
}).pipe(
  Effect.provide([
    // Provide the payer layer.
    Layer.suspend(() => layerPayer),
    // Provide the facilitator layer.
    Facilitator.layerFromConfig("FACILITATOR_URL").pipe(
      Layer.provide(FetchHttpClient.layer)
    ),
  ]),
  Effect.runFork,
)

// Payer accepts the following in order: USDC, USDCE, JPYC
const layerPayer = Payer.layer(Accept.first([USDC, USDCE, JPYC])).pipe(
  Layer.provide(
    // Support both EIP155 extact schemes.
    Layer.mergeAll(Erc3009Scheme.layer, Permit2Scheme.layer).pipe(
      Layer.provide(
        // Provide both with a .env-mnemonic-derived signer.
        Eip155Signer.layerFromMnemonic.pipe(
          Layer.provide(Mnemonic.layerFromConfig("MNEMONIC"))
        ),
      ),
    ),
  ),
)
```Code snippet:

```ts
class MarkdownStdoutPrinter extends Context.Service<
  MarkdownStdoutPrinter,
  (mdContent: string) => Effect.Effect<void>
>()('@evadev/github-extract-issues/index/MarkdownStdoutPrinter') {}

export const layerFromCmdToPipeMdThrough = (
  templates: TemplateStringsArray,
  ...expressions: ReadonlyArray<ChildProcess.TemplateExpression>
) =>
  pipe(
    ChildProcessSpawner.ChildProcessSpawner,
    Effect.map(
      executor => (mdContent: string) =>
        pipe(
          ChildProcess.make({
            stdout: 'inherit',
            stdin: Stream.encodeText(Stream.make(mdContent)),
          })(templates, ...expressions),
          cmd => executor.spawn(cmd),
          Effect.flatMap(process => process.exitCode),
          Effect.scoped,
          Effect.orDie,
        ),
    ),
    Layer.effect(MarkdownStdoutPrinter),
  )

// https://github.com/charmbracelet/glow
export const GlowLive =
  layerFromCmdToPipeMdThrough`glow --width=0`

// https://github.com/tacheraSasi/mdcat
export const MdcatLive =
  layerFromCmdToPipeMdThrough`mdcat --ansi --local --no-pager`
// '--columns=500'

// https://github.com/sharkdp/bat/
export const BatLive =
  layerFromCmdToPipeMdThrough`bat --style=plain --language=md --force-colorization --paging=never`

// https://github.com/Textualize/rich-cli
export const RichLive =
  layerFromCmdToPipeMdThrough`rich --markdown --hyperlinks --emoji --force-terminal -`

// TODO: https://github.com/themackabu/ink

export const RawPrintLive = Layer.succeed(
  MarkdownStdoutPrinter,
  (mdContent: string) => Console.log(mdContent),
)
```
240
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 13/09/2026
ALGORAVVE LESSSS GOOOO jumango.dev
000
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 12/09/2026
020
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 11/09/2026
A meme with 3 sections:
1. "And yet a trace of the true self". Dinosaurs -> crude oil
2. Crude oil -> plastic granules
3. "Exists in the False Self". Plastic granules -> tiny plastic dinosaur figurines
120
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 11/09/2026
140
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 11/09/2026
Can somebody explain to me what this spontaneous burst is about?
A screenshot showing that some post has been liked 20 times and reposted twice
130
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 11/09/2026
An orange cat with white paws stands beside someone's legs. The person the cat stands close to wears brown boots and white jeans. The person is taking a top-down photo of a cat, while the cat is looking a bit to the side of the camera. The cat and the person stand on dirt covered with a bunch of red and orange autumn leaves. On top of the cat, there's a sign "It's almost autism 🧡". It's supposed to be a play on pronunciation.
2627
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 11/09/2026
Damn, I just realized. They might never have intended for this little turtle to be smilin. They actually have triangular beaks (?)
a green cute "smiling" turtle emojiIRL turtle on a send with research tracker attached to its back
050
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 11/09/2026
motherfucker are you fucking insane?
100
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 11/09/2026
Poor, poor UN ECOSOC. They don't know I have a fried attention span and get bored after reading the first sentence. So I guess I'm not saving the world today, because this surely would be the only reason to email me
ECONOMIC AND SOCIAL COUNCIL (UN ECOSOC / 2026)
UNITED NATIONS ECONOMIC AND SOCIAL COUNCIL
Head Office: Funds Office United Nations Protection Movement
1818 H St NW, Washington, DC 20433, United States,
UNITED STATES OF AMERICA
Good day,

I hope this message finds you well. Following your silence to our previous email, we are reaching out again as we believe this opportunity could be of significant interest to you.

This is to inform you that it has come to our notice since 15th of March 1999 when this Investigation program started from Africa and still moving on around the world till today, powered by the World Bank (WB), United Nations (UN) and International Monetary Fund (IMF) conjoined with African Union (AU) to establish all over the world.
We have actually been authorized by the newly appointed World Bank Group Secretary General, the governing body of the United Nations (UN) with the International Monetary Fund (IMF) Finance Ministry, to investigate your fund which has been in the transfer process for some period of time. During the second quarter of the general Financial Auditing, the International Monetary Fund (IMF), has recovered your fund as the sum of US$2,500,000.00 (TWO MILLION, FIVE HUNDRED THOUSAND UNITED STATES DOLLARS) which was to be paid to you, without delay.
An irrevocable payment guarantee has been issued by the World Bank Group and the International Monetary Fund (IMF) on your Payment.
We are happy to inform you that based on our recommendation/Instructions to avoid double claim: your complete Inheritance/Compensation funds have been credited in your favor through one of our remittance departments.
You are therefore advised to contact The General Accountant: (Mr. Frank Budman) from our branch office for urgent attention to your file. (File Number: GM-UN/ID2073/IMF1520UZ)
Contact Person: Mr. Frank Budman
Email:  budmanfrankk@gmail.com
Best regards
Rita Ashley
Economic and Social Council
021
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 10/09/2026
A meme with a big corgi playing up close with 2 small plastic figures of corgis while saying, "ok, now collaborate". On the small corgis, there are signs specifying that they're developers. This meme is a remake of the original "Okay, now kiss" meme.
020
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 10/09/2026
A picture of just an empty glass with the text "pablo" (all lowercase, not as the name, even though it was a name) under it. The picture is printed on white A4 paper. The paper is put into a picture frame that's supposed to look very expensive, as if it has been covered with a layer of gold. The frame is supposed to be used with paintings, but is being deliberately used in an absurd context.Small red penises in the process of being 3d printed2 small red 3d printed penises lying on the top of an open palm
110
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 07/09/2026
000
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 06/09/2026
It's very interesting when you can call out the senior staff of bsky and later see your post deleted from the thread. Just like Twitter. Have I broken any rules for my post to be deleted? You judge. I don't mind him blocking me. But deleting my comment is an abuse of power.
My quote:
People who can't afford access to AI are not lying and not delusional. People who happened to be born in sanctioned countries are not lying and not delusional.
You're the CTO at Bluesky.

Quote from bsky rules:
Respect Others
Anti-Discrimination: We protect people's fundamental rights by prohibiting identity-based harm and hatred.
Do not attack, harass, or incite hatred or discrimination against individuals or groups based on protected characteristics such as age, asylum-seeker/refugee status, caste, disability, disease, ethnicity, gender identity, immigrant status, race, religious affiliation, sex, or sexual orientation.
This includes hate speech, slurs, dehumanizing comparisons, supremacist content, conspiracy theories targeting protected groups, and coordinated harassment campaigns.
Anti-Harassment: We create space for everyone to express themselves by prohibiting harassment and toxic behaviors.
Do not stalk, persistently target, or create malicious content designed to humiliate or degrade individuals, including through coordinated campaigns.
Do not abuse Bluesky features (lists, labels, community moderation tools), engage in bad-faith mass reporting, use automated harassment systems, or create single-purpose harassment accounts.
Accounts that engage in extreme or persistent toxic or disruptive behavior may face restrictions or removal. This includes accounts with a high number or proportion of:
Extreme or repeated personal attacks, such as insults or ad hominem attacks
Posts or responses made primarily to anger, provoke, or belittle instead of to contribute criticism or a genuine opinion
The use of hostile or inflammatory language clearly intended to create or contribute to an unwelcoming environment
131
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 06/09/2026
People who can't afford access to AI are not lying and not delusional. People who happened to be born in sanctioned countries are not lying and not delusional. You're the CTO at Bluesky.
Respect Others
Anti-Discrimination: We protect people's fundamental rights by prohibiting identity-based harm and hatred.
Do not attack, harass, or incite hatred or discrimination against individuals or groups based on protected characteristics such as age, asylum-seeker/refugee status, caste, disability, disease, ethnicity, gender identity, immigrant status, race, religious affiliation, sex, or sexual orientation.
This includes hate speech, slurs, dehumanizing comparisons, supremacist content, conspiracy theories targeting protected groups, and coordinated harassment campaigns.
Anti-Harassment: We create space for everyone to express themselves by prohibiting harassment and toxic behaviors.
Do not stalk, persistently target, or create malicious content designed to humiliate or degrade individuals, including through coordinated campaigns.
Do not abuse Bluesky features (lists, labels, community moderation tools), engage in bad-faith mass reporting, use automated harassment systems, or create single-purpose harassment accounts.
Accounts that engage in extreme or persistent toxic or disruptive behavior may face restrictions or removal. This includes accounts with a high number or proportion of:
Extreme or repeated personal attacks, such as insults or ad hominem attacks
Posts or responses made primarily to anger, provoke, or belittle instead of to contribute criticism or a genuine opinion
The use of hostile or inflammatory language clearly intended to create or contribute to an unwelcoming environment
000
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 04/09/2026
Gosh, I love so much that @zellij-dev.bsky.social redesigned and changed some of the defaults not to show the border around a pane. It feels soo much cleaner
041
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 02/09/2026
youtu.be/vaKeCPgay9I?...
000
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 02/09/2026
You can also add a search engine shortcut to your browser: For example, in chrome://settings/searchEngines you can add npmx.dev/search?q=%s And typing "@npm" will let you search for any package, skipping Google
071
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 02/09/2026
It had this in january
110
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 01/09/2026
Please help Wikipedia if you can
September 1st, 7:42 pm: “Wikipedia still can't be sold.” - An important update for readers in Germany.

Today is the day. We're sorry to interrupt, but it's Tuesday, September 1st, and this message will be up for only a few hours. We ask you to reflect on the number of times you visited Wikipedia in the past year and if you're able to give €5 back. If everyone reading this gave just €5, we'd hit our goal in a few hours.

In the age of AI, access to verifiable facts is crucial. Wikipedia is at the heart of online information, powering everything from your personal searches to emerging AI technologies. Your gift strengthens the knowledge of today and tomorrow.

Just 1% of our readers donate, so if you have given in the past and Wikipedia still provides you with €5 worth of knowledge, kindly donate today. If you are undecided, remember that any contribution helps, whether it's €5 or €25. Thank you.
000
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 27/08/2026
I think the story goes deeper. This is just coverage. "Haha, silly little spam bot sending memes". This motherfucker has probably been pentesting shit
020
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 26/08/2026
Hatsune Miku excitedly looks at a snail and says:
snale
woaaaaaaa
so cool..,.,
010
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 15/08/2026
The article title reminded me this
A screenshot of a humorous Twitter/X thread in dark mode. The nested quote-chain begins with an ABC News tweet showing a photo of a long, brown, twig-like stick insect camouflaged among green leaves: "Scientists have discovered a giant new species of stick insect in Australia, which is over 15 inches long and researchers say may be the heaviest insect in the country." User mary (@theoceanblooms) quotes it and asks: "can I ask a question: how does something like this go undiscovered until now." Replying at the top, user soul nate (@MNateShyamalan) writes: "Entomologist here 🙋‍♂️🤓🐜 Great question! It may seem surprising that the scientific community could miss an entire bug species after all this time, especially when it's THIS big. The answer might surprise you more 👀 Let's dive in 👇 (1/?)." The joke's punchline appears at the bottom, where soul nate's second and final thread post deadpans: "he look like stick (2/2)"
1213
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 10/08/2026
010
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 10/08/2026
A button that disappears after a page reload is a bit strange, too.
010
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 10/08/2026
But I've never seen any other white background, black text buttons on here. But I've seen gray secondary buttons
120
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 10/08/2026
Ok, I mostly love women, green color, and kindness in the eyes. Although reading the responses of other people, I noticed that it doesn't suggest all available pictures of people, and I would've also experienced attraction to people shown by some other commenters.
010
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 10/08/2026
The funny part is that people are actually paying to read this garbage. Luckily for us, there are at least some factors in stopping this BS from spreading. Unfortunately for us, people actively infecting minds are incentivized to continue doing so.
screenshot with text:
Continue reading
Enjoy unlimited digital access.
£1 for 6 months.

Start trial
Already have an account? Log in >
000
Evangeline Rome 🌵 🦎 🌱 🐢 🐍 🐸 @evadeva.bsky.social · 08/08/2026
Why do the buttons have different colors? @bsky.app
Screenshot of the bsky interface with 2 buttons to follow the person: 1 that comes directly beside the name of the person in the post opened fullscreen, and the other in the popup that appears after hovering over the person's name. In the popup, the button is blue; in the post, it's white. The complaint is about the inconsistency between colors.
160