-
![](/static/nostr-icon-purple-64x64.png)
@ 57d1a264:69f1fee1
2025-02-06 07:38:36
# How does bitcoin's lack of central brand authority influence its visual identity, and what implications does this have for designers?
originally posted at https://stacker.news/items/877437
-
![](/static/nostr-icon-purple-64x64.png)
@ 57d1a264:69f1fee1
2025-02-06 07:28:25
# Looking at bitcoin's layered architecture (base layer and Lightning Network), can you explain why this approach was necessary? What are the trade-offs between transacting on each layer?
originally posted at https://stacker.news/items/877429
-
![](/static/nostr-icon-purple-64x64.png)
@ da0b9bc3:4e30a4a9
2025-02-06 06:38:33
Hello Stackers!
Welcome on into the ~Music Corner of the Saloon!
A place where we Talk Music. Share Tracks. Zap Sats.
So stay a while and listen.
🚨Don't forget to check out the pinned items in the territory homepage! You can always find the latest weeklies there!🚨
🚨Subscribe to the territory to ensure you never miss a post! 🚨
originally posted at https://stacker.news/items/877410
-
![](/static/nostr-icon-purple-64x64.png)
@ 3ffac3a6:2d656657
2025-02-06 03:58:47
## Motivations
Recently, my sites hosted behind Cloudflare tunnels mysteriously stopped working—not once, but twice. The first outage occurred about a week ago. Interestingly, when I switched to using the 1.1.1.1 WARP VPN on my cellphone or PC, the sites became accessible again. Clearly, the issue wasn't with the sites themselves but something about the routing. This led me to the brilliant (or desperate) idea of routing all Cloudflare-bound traffic through a WARP tunnel in my local network.
## Prerequisites
- A "server" with an **amd64 processor** (the WARP client only works on amd64 architecture). I'm using an old mac mini, but really, anything with an amd64 processor will do.
- Basic knowledge of Linux commands.
- Access to your Wi-Fi router's settings (if you plan to configure routes there).
---
## Step 1: Installing the WARP CLI
1. **Update your system packages:**
```bash
sudo apt update && sudo apt upgrade -y
```
2. **Download and install the WARP CLI:**
```bash
curl https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list
sudo apt-get update && sudo apt-get install cloudflare-warp
```
3. **Register and connect to WARP:**
Run the following commands to register and connect to WARP:
```bash
sudo warp-cli register
sudo warp-cli connect
````
Confirm the connection with:
```bash
warp-cli status
```
---
## Step 2: Routing Traffic on the Server Machine
Now that WARP is connected, let's route the local network's Cloudflare-bound traffic through this tunnel.
1. **Enable IP forwarding:**
```bash
sudo sysctl -w net.ipv4.ip_forward=1
```
Make it persistent after reboot:
```bash
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
```
2. **Set up firewall rules to forward traffic:**
```bash
sudo nft add rule ip filter FORWARD iif "eth0" oif "CloudflareWARP" ip saddr 192.168.31.0/24 ip daddr 104.0.0.0/8 accept
sudo nft add rule ip filter FORWARD iif "CloudflareWARP" oif "eth0" ip saddr 104.0.0.0/8 ip daddr 192.168.31.0/24 ct state established,related accept
```
Replace `eth0` with your actual network interface if different.
3. **Make rules persistent:**
```bash
sudo apt install nftables
sudo nft list ruleset > /etc/nftables.conf
```
---
## Step 3: Configuring the Route on a Local PC (Linux)
On your local Linux machine:
1. **Add a static route:**
```bash
sudo ip route add 104.0.0.0/24 via <SERVER_IP>
```
Replace `<SERVER_IP>` with the internal IP of your WARP-enabled server. This should be a temporary solution, since it only effects a local machine. For a solution that can effect the whole local network, please see next step.
---
## Step 4: Configuring the Route on Your Wi-Fi Router (Recommended)
If your router allows adding static routes:
1. **Log in to your router's admin interface.**
2. **Navigate to the Static Routing section.** (This may vary depending on the router model.)
3. **Add a new static route:**
- **Destination Network:** `104.0.0.0`
- **Subnet Mask:** `255.255.255.0`
- **Gateway:** `<SERVER_IP>`
- **Metric:** `1` (or leave it default)
4. **Save and apply the settings.**
One of the key advantages of this method is how easy it is to disable once your ISP's routing issues are resolved. Since the changes affect the entire network at once, you can quickly restore normal network behavior by simply removing the static routes or disabling the forwarding rules, all without the need for complex reconfigurations.
---
## Final Thoughts
Congratulations! You've now routed all your Cloudflare-bound traffic through a secure WARP tunnel, effectively bypassing mysterious connectivity issues. If the sites ever go down again, at least you’ll have one less thing to blame—and one more thing to debug.
-
![](/static/nostr-icon-purple-64x64.png)
@ 5d4b6c8d:8a1c1ee3
2025-02-06 00:49:05
Herbs and spices don't just taste great. Most of the time they're also great for you.
- Spicier foods ironically are strongly anti-inflammatory and chronic inflammation is one of the major drivers of poor health
- Roots, like turmeric/ginger/garlic/onion, are also strongly anti-inflammatory
- Herbs, like parsley and oregano, are super high in vitamins K, C, beta carotene, folate, and others, as well as potassium, manganese, and other minerals.
- Seeds, like cumin or coriander, are super mineral dense.
- Sea salt (unrefined) has a broad array and excellent balance of minerals.
So, what's the health principle?
Eat tastier more flavorful food. It's tasty because it's good for us (shut up sugar!).
originally posted at https://stacker.news/items/877209
-
![](/static/nostr-icon-purple-64x64.png)
@ e3ba5e1a:5e433365
2025-02-05 17:47:16
I got into a [friendly discussion](https://x.com/snoyberg/status/1887007888117252142) on X regarding health insurance. The specific question was how to deal with health insurance companies (presumably unfairly) denying claims? My answer, as usual: get government out of it!
The US healthcare system is essentially the worst of both worlds:
* Unlike full single payer, individuals incur high costs
* Unlike a true free market, regulation causes increases in costs and decreases competition among insurers
I'm firmly on the side of moving towards the free market. (And I say that as someone living under a single payer system now.) Here's what I would do:
* Get rid of tax incentives that make health insurance tied to your employer, giving individuals back proper freedom of choice.
* Reduce regulations significantly.
* In the short term, some people will still get rejected claims and other obnoxious behavior from insurance companies. We address that in two ways:
1. Due to reduced regulations, new insurance companies will be able to enter the market offering more reliable coverage and better rates, and people will flock to them because they have the freedom to make their own choices.
2. Sue the asses off of companies that reject claims unfairly. And ideally, as one of the few legitimate roles of government in all this, institute new laws that limit the ability of fine print to allow insurers to escape their responsibilities. (I'm hesitant that the latter will happen due to the incestuous relationship between Congress/regulators and insurers, but I can hope.)
Will this magically fix everything overnight like politicians normally promise? No. But it will allow the market to return to a healthy state. And I don't think it will take long (order of magnitude: 5-10 years) for it to come together, but that's just speculation.
And since there's a high correlation between those who believe government can fix problems by taking more control and demanding that only credentialed experts weigh in on a topic (both points I strongly disagree with BTW): I'm a trained actuary and worked in the insurance industry, and have directly seen how government regulation reduces competition, raises prices, and harms consumers.
And my final point: I don't think any prior art would be a good comparison for deregulation in the US, it's such a different market than any other country in the world for so many reasons that lessons wouldn't really translate. Nonetheless, I asked Grok for some empirical data on this, and at best the results of deregulation could be called "mixed," but likely more accurately "uncertain, confused, and subject to whatever interpretation anyone wants to apply."
https://x.com/i/grok/share/Zc8yOdrN8lS275hXJ92uwq98M
-
![](/static/nostr-icon-purple-64x64.png)
@ 5d4b6c8d:8a1c1ee3
2025-02-05 15:17:47
Another good day, but not quite on par with yesterday. I'm sipping some coffee, after 16 hours dry fasting. I'm not really hungry yet, so I'll probably go a while longer before I eat.
Yesterday was the first day that I really noticed the different taste in my mouth that indicates ketosis. Interestingly, it lasted all day. I figured it would wane after I ate a bunch of pasta.
Another thing I've noticed is that I'm more interested in eating fresh produce than normal. A side benefit of dry fasting might be that juicier foods become more appealing.
## Score Card
Day 1: 14 hour fast (13 dry)
Day 2: 15 hour fast (14 dry)
Day 3: 17 hours (16 dry)
Day 4: 18 hours (17 dry)
Day 5: TBD (16 dry)
I'm also on day 3 of a Workit 10k steps/day challenge. So far so good.
originally posted at https://stacker.news/items/876598
-
![](/static/nostr-icon-purple-64x64.png)
@ da0b9bc3:4e30a4a9
2025-02-05 07:29:27
Hello Stackers!
Welcome on into the ~Music Corner of the Saloon!
A place where we Talk Music. Share Tracks. Zap Sats.
So stay a while and listen.
🚨Don't forget to check out the pinned items in the territory homepage! You can always find the latest weeklies there!🚨
🚨Subscribe to the territory to ensure you never miss a post! 🚨
originally posted at https://stacker.news/items/876357
-
![](/static/nostr-icon-purple-64x64.png)
@ 57d1a264:69f1fee1
2025-02-05 02:18:03
![](https://m.stacker.news/76183)
Pre-Foundational learning for these participants has now kicked off in the Bitcoin Design Community, check out the #education channel on the [Bitcoin.Design](https://Bitcoin.Design) [Discord channel](https://discord.com/channels/903125802726596648/1260871907050393620).
## 🪇 10 talented participants from South America will be:
Learning bitcoin UX Design fundamentals using the Bitcoin Design Guide
Working hands-on with South American-built products to evaluate their user experiences and support builders with data
> Attending [BTC++ in Florianópolis](https://btcplusplus.dev/conf/floripa)
This initiative is sponsored by the [Human Rights Foundation](https://HRF.org) in collaboration with the [Bitcoin Design Foundation](https://bitcoindesignfoundation.org/) and [Area Bitcoin](https://areabitcoin.co).
## 🥅 Goals:
- Empower local talent to improve the UX of South American bitcoin products - seeing their passion and drive to bring bitcoin to their countries is really inspiring
- Create meaningful relationships with wallet developers through practical collaboration
- Scale bitcoin adoption by improving the user experience
- Create a public knowledge base: All research conducted in Africa and South America will be made publicly available for builders
originally posted at https://stacker.news/items/876215
-
![](/static/nostr-icon-purple-64x64.png)
@ 57d1a264:69f1fee1
2025-02-05 01:26:18
# How does the collaborative nature of open design in bitcoin influence innovation and product development in the ecosystem?
originally posted at https://stacker.news/items/876187
-
![](/static/nostr-icon-purple-64x64.png)
@ 57d1a264:69f1fee1
2025-02-05 00:25:20
# How does open source development contribute to bitcoin's security, reliability, and evolution as a network?
originally posted at https://stacker.news/items/876130
-
![](/static/nostr-icon-purple-64x64.png)
@ 2cde0e02:180a96b9
2025-02-04 23:05:57
![kaleidoscope girl 7](https://m.stacker.news/76164)
Moving to pencil. Portraits too difficult currently in ink immediately.
originally posted at https://stacker.news/items/876045
-
![](/static/nostr-icon-purple-64x64.png)
@ 0c503f08:4aed05c7
2025-02-04 18:15:32
Sometimes I think I'm a bit nihilistic, it can make me sad at times, but at times it also gives me ultimate freedom. What gets you up in the morning?
We’re stardust that somehow became self-aware. The odds of existing are astronomically small—every ancestor in your lineage survived long enough to pass on life, through ice ages, disasters, and chaos. You’re the universe experiencing itself.
originally posted at https://stacker.news/items/875807
-
![](/static/nostr-icon-purple-64x64.png)
@ 91bea5cd:1df4451c
2025-02-04 17:24:50
### Definição de ULID:
Timestamp 48 bits, Aleatoriedade 80 bits
Sendo Timestamp 48 bits inteiro, tempo UNIX em milissegundos, Não ficará sem espaço até o ano 10889 d.C.
e Aleatoriedade 80 bits, Fonte criptograficamente segura de aleatoriedade, se possível.
#### Gerar ULID
```sql
CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE FUNCTION generate_ulid()
RETURNS TEXT
AS $$
DECLARE
-- Crockford's Base32
encoding BYTEA = '0123456789ABCDEFGHJKMNPQRSTVWXYZ';
timestamp BYTEA = E'\\000\\000\\000\\000\\000\\000';
output TEXT = '';
unix_time BIGINT;
ulid BYTEA;
BEGIN
-- 6 timestamp bytes
unix_time = (EXTRACT(EPOCH FROM CLOCK_TIMESTAMP()) * 1000)::BIGINT;
timestamp = SET_BYTE(timestamp, 0, (unix_time >> 40)::BIT(8)::INTEGER);
timestamp = SET_BYTE(timestamp, 1, (unix_time >> 32)::BIT(8)::INTEGER);
timestamp = SET_BYTE(timestamp, 2, (unix_time >> 24)::BIT(8)::INTEGER);
timestamp = SET_BYTE(timestamp, 3, (unix_time >> 16)::BIT(8)::INTEGER);
timestamp = SET_BYTE(timestamp, 4, (unix_time >> 8)::BIT(8)::INTEGER);
timestamp = SET_BYTE(timestamp, 5, unix_time::BIT(8)::INTEGER);
-- 10 entropy bytes
ulid = timestamp || gen_random_bytes(10);
-- Encode the timestamp
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 0) & 224) >> 5));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 0) & 31)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 1) & 248) >> 3));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 1) & 7) << 2) | ((GET_BYTE(ulid, 2) & 192) >> 6)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 2) & 62) >> 1));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 2) & 1) << 4) | ((GET_BYTE(ulid, 3) & 240) >> 4)));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 3) & 15) << 1) | ((GET_BYTE(ulid, 4) & 128) >> 7)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 4) & 124) >> 2));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 4) & 3) << 3) | ((GET_BYTE(ulid, 5) & 224) >> 5)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 5) & 31)));
-- Encode the entropy
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 6) & 248) >> 3));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 6) & 7) << 2) | ((GET_BYTE(ulid, 7) & 192) >> 6)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 7) & 62) >> 1));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 7) & 1) << 4) | ((GET_BYTE(ulid, 8) & 240) >> 4)));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 8) & 15) << 1) | ((GET_BYTE(ulid, 9) & 128) >> 7)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 9) & 124) >> 2));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 9) & 3) << 3) | ((GET_BYTE(ulid, 10) & 224) >> 5)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 10) & 31)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 11) & 248) >> 3));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 11) & 7) << 2) | ((GET_BYTE(ulid, 12) & 192) >> 6)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 12) & 62) >> 1));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 12) & 1) << 4) | ((GET_BYTE(ulid, 13) & 240) >> 4)));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 13) & 15) << 1) | ((GET_BYTE(ulid, 14) & 128) >> 7)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 14) & 124) >> 2));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 14) & 3) << 3) | ((GET_BYTE(ulid, 15) & 224) >> 5)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 15) & 31)));
RETURN output;
END
$$
LANGUAGE plpgsql
VOLATILE;
```
#### ULID TO UUID
```sql
CREATE OR REPLACE FUNCTION parse_ulid(ulid text) RETURNS bytea AS $$
DECLARE
-- 16byte
bytes bytea = E'\\x00000000 00000000 00000000 00000000';
v char[];
-- Allow for O(1) lookup of index values
dec integer[] = ARRAY[
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 255, 255, 255,
255, 255, 255, 255, 10, 11, 12, 13, 14, 15,
16, 17, 1, 18, 19, 1, 20, 21, 0, 22,
23, 24, 25, 26, 255, 27, 28, 29, 30, 31,
255, 255, 255, 255, 255, 255, 10, 11, 12, 13,
14, 15, 16, 17, 1, 18, 19, 1, 20, 21,
0, 22, 23, 24, 25, 26, 255, 27, 28, 29,
30, 31
];
BEGIN
IF NOT ulid ~* '^[0-7][0-9ABCDEFGHJKMNPQRSTVWXYZ]{25}$' THEN
RAISE EXCEPTION 'Invalid ULID: %', ulid;
END IF;
v = regexp_split_to_array(ulid, '');
-- 6 bytes timestamp (48 bits)
bytes = SET_BYTE(bytes, 0, (dec[ASCII(v[1])] << 5) | dec[ASCII(v[2])]);
bytes = SET_BYTE(bytes, 1, (dec[ASCII(v[3])] << 3) | (dec[ASCII(v[4])] >> 2));
bytes = SET_BYTE(bytes, 2, (dec[ASCII(v[4])] << 6) | (dec[ASCII(v[5])] << 1) | (dec[ASCII(v[6])] >> 4));
bytes = SET_BYTE(bytes, 3, (dec[ASCII(v[6])] << 4) | (dec[ASCII(v[7])] >> 1));
bytes = SET_BYTE(bytes, 4, (dec[ASCII(v[7])] << 7) | (dec[ASCII(v[8])] << 2) | (dec[ASCII(v[9])] >> 3));
bytes = SET_BYTE(bytes, 5, (dec[ASCII(v[9])] << 5) | dec[ASCII(v[10])]);
-- 10 bytes of entropy (80 bits);
bytes = SET_BYTE(bytes, 6, (dec[ASCII(v[11])] << 3) | (dec[ASCII(v[12])] >> 2));
bytes = SET_BYTE(bytes, 7, (dec[ASCII(v[12])] << 6) | (dec[ASCII(v[13])] << 1) | (dec[ASCII(v[14])] >> 4));
bytes = SET_BYTE(bytes, 8, (dec[ASCII(v[14])] << 4) | (dec[ASCII(v[15])] >> 1));
bytes = SET_BYTE(bytes, 9, (dec[ASCII(v[15])] << 7) | (dec[ASCII(v[16])] << 2) | (dec[ASCII(v[17])] >> 3));
bytes = SET_BYTE(bytes, 10, (dec[ASCII(v[17])] << 5) | dec[ASCII(v[18])]);
bytes = SET_BYTE(bytes, 11, (dec[ASCII(v[19])] << 3) | (dec[ASCII(v[20])] >> 2));
bytes = SET_BYTE(bytes, 12, (dec[ASCII(v[20])] << 6) | (dec[ASCII(v[21])] << 1) | (dec[ASCII(v[22])] >> 4));
bytes = SET_BYTE(bytes, 13, (dec[ASCII(v[22])] << 4) | (dec[ASCII(v[23])] >> 1));
bytes = SET_BYTE(bytes, 14, (dec[ASCII(v[23])] << 7) | (dec[ASCII(v[24])] << 2) | (dec[ASCII(v[25])] >> 3));
bytes = SET_BYTE(bytes, 15, (dec[ASCII(v[25])] << 5) | dec[ASCII(v[26])]);
RETURN bytes;
END
$$
LANGUAGE plpgsql
IMMUTABLE;
CREATE OR REPLACE FUNCTION ulid_to_uuid(ulid text) RETURNS uuid AS $$
BEGIN
RETURN encode(parse_ulid(ulid), 'hex')::uuid;
END
$$
LANGUAGE plpgsql
IMMUTABLE;
```
#### UUID to ULID
```sql
CREATE OR REPLACE FUNCTION uuid_to_ulid(id uuid) RETURNS text AS $$
DECLARE
encoding bytea = '0123456789ABCDEFGHJKMNPQRSTVWXYZ';
output text = '';
uuid_bytes bytea = uuid_send(id);
BEGIN
-- Encode the timestamp
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 0) & 224) >> 5));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 0) & 31)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 1) & 248) >> 3));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 1) & 7) << 2) | ((GET_BYTE(uuid_bytes, 2) & 192) >> 6)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 2) & 62) >> 1));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 2) & 1) << 4) | ((GET_BYTE(uuid_bytes, 3) & 240) >> 4)));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 3) & 15) << 1) | ((GET_BYTE(uuid_bytes, 4) & 128) >> 7)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 4) & 124) >> 2));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 4) & 3) << 3) | ((GET_BYTE(uuid_bytes, 5) & 224) >> 5)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 5) & 31)));
-- Encode the entropy
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 6) & 248) >> 3));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 6) & 7) << 2) | ((GET_BYTE(uuid_bytes, 7) & 192) >> 6)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 7) & 62) >> 1));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 7) & 1) << 4) | ((GET_BYTE(uuid_bytes, 8) & 240) >> 4)));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 8) & 15) << 1) | ((GET_BYTE(uuid_bytes, 9) & 128) >> 7)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 9) & 124) >> 2));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 9) & 3) << 3) | ((GET_BYTE(uuid_bytes, 10) & 224) >> 5)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 10) & 31)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 11) & 248) >> 3));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 11) & 7) << 2) | ((GET_BYTE(uuid_bytes, 12) & 192) >> 6)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 12) & 62) >> 1));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 12) & 1) << 4) | ((GET_BYTE(uuid_bytes, 13) & 240) >> 4)));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 13) & 15) << 1) | ((GET_BYTE(uuid_bytes, 14) & 128) >> 7)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 14) & 124) >> 2));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 14) & 3) << 3) | ((GET_BYTE(uuid_bytes, 15) & 224) >> 5)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 15) & 31)));
RETURN output;
END
$$
LANGUAGE plpgsql
IMMUTABLE;
```
#### Gera 11 Digitos aleatórios: YBKXG0CKTH4
```sql
-- Cria a extensão pgcrypto para gerar uuid
CREATE EXTENSION IF NOT EXISTS pgcrypto;
-- Cria a função para gerar ULID
CREATE OR REPLACE FUNCTION gen_lrandom()
RETURNS TEXT AS $$
DECLARE
ts_millis BIGINT;
ts_chars TEXT;
random_bytes BYTEA;
random_chars TEXT;
base32_chars TEXT := '0123456789ABCDEFGHJKMNPQRSTVWXYZ';
i INT;
BEGIN
-- Pega o timestamp em milissegundos
ts_millis := FLOOR(EXTRACT(EPOCH FROM clock_timestamp()) * 1000)::BIGINT;
-- Converte o timestamp para base32
ts_chars := '';
FOR i IN REVERSE 0..11 LOOP
ts_chars := ts_chars || substr(base32_chars, ((ts_millis >> (5 * i)) & 31) + 1, 1);
END LOOP;
-- Gera 10 bytes aleatórios e converte para base32
random_bytes := gen_random_bytes(10);
random_chars := '';
FOR i IN 0..9 LOOP
random_chars := random_chars || substr(base32_chars, ((get_byte(random_bytes, i) >> 3) & 31) + 1, 1);
IF i < 9 THEN
random_chars := random_chars || substr(base32_chars, (((get_byte(random_bytes, i) & 7) << 2) | (get_byte(random_bytes, i + 1) >> 6)) & 31 + 1, 1);
ELSE
random_chars := random_chars || substr(base32_chars, ((get_byte(random_bytes, i) & 7) << 2) + 1, 1);
END IF;
END LOOP;
-- Concatena o timestamp e os caracteres aleatórios
RETURN ts_chars || random_chars;
END;
$$ LANGUAGE plpgsql;
```
#### Exemplo de USO
```sql
-- Criação da extensão caso não exista
CREATE EXTENSION
IF
NOT EXISTS pgcrypto;
-- Criação da tabela pessoas
CREATE TABLE pessoas ( ID UUID DEFAULT gen_random_uuid ( ) PRIMARY KEY, nome TEXT NOT NULL );
-- Busca Pessoa na tabela
SELECT
*
FROM
"pessoas"
WHERE
uuid_to_ulid ( ID ) = '252FAC9F3V8EF80SSDK8PXW02F';
```
### Fontes
- https://github.com/scoville/pgsql-ulid
- https://github.com/geckoboard/pgulid
-
![](/static/nostr-icon-purple-64x64.png)
@ 91bea5cd:1df4451c
2025-02-04 17:15:57
### Definição de ULID:
Timestamp 48 bits, Aleatoriedade 80 bits
Sendo Timestamp 48 bits inteiro, tempo UNIX em milissegundos, Não ficará sem espaço até o ano 10889 d.C.
e Aleatoriedade 80 bits, Fonte criptograficamente segura de aleatoriedade, se possível.
#### Gerar ULID
```sql
CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE FUNCTION generate_ulid()
RETURNS TEXT
AS $$
DECLARE
-- Crockford's Base32
encoding BYTEA = '0123456789ABCDEFGHJKMNPQRSTVWXYZ';
timestamp BYTEA = E'\\000\\000\\000\\000\\000\\000';
output TEXT = '';
unix_time BIGINT;
ulid BYTEA;
BEGIN
-- 6 timestamp bytes
unix_time = (EXTRACT(EPOCH FROM CLOCK_TIMESTAMP()) * 1000)::BIGINT;
timestamp = SET_BYTE(timestamp, 0, (unix_time >> 40)::BIT(8)::INTEGER);
timestamp = SET_BYTE(timestamp, 1, (unix_time >> 32)::BIT(8)::INTEGER);
timestamp = SET_BYTE(timestamp, 2, (unix_time >> 24)::BIT(8)::INTEGER);
timestamp = SET_BYTE(timestamp, 3, (unix_time >> 16)::BIT(8)::INTEGER);
timestamp = SET_BYTE(timestamp, 4, (unix_time >> 8)::BIT(8)::INTEGER);
timestamp = SET_BYTE(timestamp, 5, unix_time::BIT(8)::INTEGER);
-- 10 entropy bytes
ulid = timestamp || gen_random_bytes(10);
-- Encode the timestamp
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 0) & 224) >> 5));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 0) & 31)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 1) & 248) >> 3));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 1) & 7) << 2) | ((GET_BYTE(ulid, 2) & 192) >> 6)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 2) & 62) >> 1));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 2) & 1) << 4) | ((GET_BYTE(ulid, 3) & 240) >> 4)));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 3) & 15) << 1) | ((GET_BYTE(ulid, 4) & 128) >> 7)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 4) & 124) >> 2));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 4) & 3) << 3) | ((GET_BYTE(ulid, 5) & 224) >> 5)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 5) & 31)));
-- Encode the entropy
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 6) & 248) >> 3));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 6) & 7) << 2) | ((GET_BYTE(ulid, 7) & 192) >> 6)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 7) & 62) >> 1));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 7) & 1) << 4) | ((GET_BYTE(ulid, 8) & 240) >> 4)));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 8) & 15) << 1) | ((GET_BYTE(ulid, 9) & 128) >> 7)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 9) & 124) >> 2));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 9) & 3) << 3) | ((GET_BYTE(ulid, 10) & 224) >> 5)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 10) & 31)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 11) & 248) >> 3));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 11) & 7) << 2) | ((GET_BYTE(ulid, 12) & 192) >> 6)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 12) & 62) >> 1));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 12) & 1) << 4) | ((GET_BYTE(ulid, 13) & 240) >> 4)));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 13) & 15) << 1) | ((GET_BYTE(ulid, 14) & 128) >> 7)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 14) & 124) >> 2));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(ulid, 14) & 3) << 3) | ((GET_BYTE(ulid, 15) & 224) >> 5)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(ulid, 15) & 31)));
RETURN output;
END
$$
LANGUAGE plpgsql
VOLATILE;
```
#### ULID TO UUID
```sql
CREATE OR REPLACE FUNCTION parse_ulid(ulid text) RETURNS bytea AS $$
DECLARE
-- 16byte
bytes bytea = E'\\x00000000 00000000 00000000 00000000';
v char[];
-- Allow for O(1) lookup of index values
dec integer[] = ARRAY[
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 0, 1, 2,
3, 4, 5, 6, 7, 8, 9, 255, 255, 255,
255, 255, 255, 255, 10, 11, 12, 13, 14, 15,
16, 17, 1, 18, 19, 1, 20, 21, 0, 22,
23, 24, 25, 26, 255, 27, 28, 29, 30, 31,
255, 255, 255, 255, 255, 255, 10, 11, 12, 13,
14, 15, 16, 17, 1, 18, 19, 1, 20, 21,
0, 22, 23, 24, 25, 26, 255, 27, 28, 29,
30, 31
];
BEGIN
IF NOT ulid ~* '^[0-7][0-9ABCDEFGHJKMNPQRSTVWXYZ]{25}$' THEN
RAISE EXCEPTION 'Invalid ULID: %', ulid;
END IF;
v = regexp_split_to_array(ulid, '');
-- 6 bytes timestamp (48 bits)
bytes = SET_BYTE(bytes, 0, (dec[ASCII(v[1])] << 5) | dec[ASCII(v[2])]);
bytes = SET_BYTE(bytes, 1, (dec[ASCII(v[3])] << 3) | (dec[ASCII(v[4])] >> 2));
bytes = SET_BYTE(bytes, 2, (dec[ASCII(v[4])] << 6) | (dec[ASCII(v[5])] << 1) | (dec[ASCII(v[6])] >> 4));
bytes = SET_BYTE(bytes, 3, (dec[ASCII(v[6])] << 4) | (dec[ASCII(v[7])] >> 1));
bytes = SET_BYTE(bytes, 4, (dec[ASCII(v[7])] << 7) | (dec[ASCII(v[8])] << 2) | (dec[ASCII(v[9])] >> 3));
bytes = SET_BYTE(bytes, 5, (dec[ASCII(v[9])] << 5) | dec[ASCII(v[10])]);
-- 10 bytes of entropy (80 bits);
bytes = SET_BYTE(bytes, 6, (dec[ASCII(v[11])] << 3) | (dec[ASCII(v[12])] >> 2));
bytes = SET_BYTE(bytes, 7, (dec[ASCII(v[12])] << 6) | (dec[ASCII(v[13])] << 1) | (dec[ASCII(v[14])] >> 4));
bytes = SET_BYTE(bytes, 8, (dec[ASCII(v[14])] << 4) | (dec[ASCII(v[15])] >> 1));
bytes = SET_BYTE(bytes, 9, (dec[ASCII(v[15])] << 7) | (dec[ASCII(v[16])] << 2) | (dec[ASCII(v[17])] >> 3));
bytes = SET_BYTE(bytes, 10, (dec[ASCII(v[17])] << 5) | dec[ASCII(v[18])]);
bytes = SET_BYTE(bytes, 11, (dec[ASCII(v[19])] << 3) | (dec[ASCII(v[20])] >> 2));
bytes = SET_BYTE(bytes, 12, (dec[ASCII(v[20])] << 6) | (dec[ASCII(v[21])] << 1) | (dec[ASCII(v[22])] >> 4));
bytes = SET_BYTE(bytes, 13, (dec[ASCII(v[22])] << 4) | (dec[ASCII(v[23])] >> 1));
bytes = SET_BYTE(bytes, 14, (dec[ASCII(v[23])] << 7) | (dec[ASCII(v[24])] << 2) | (dec[ASCII(v[25])] >> 3));
bytes = SET_BYTE(bytes, 15, (dec[ASCII(v[25])] << 5) | dec[ASCII(v[26])]);
RETURN bytes;
END
$$
LANGUAGE plpgsql
IMMUTABLE;
CREATE OR REPLACE FUNCTION ulid_to_uuid(ulid text) RETURNS uuid AS $$
BEGIN
RETURN encode(parse_ulid(ulid), 'hex')::uuid;
END
$$
LANGUAGE plpgsql
IMMUTABLE;
```
#### UUID to ULID
```sql
CREATE OR REPLACE FUNCTION uuid_to_ulid(id uuid) RETURNS text AS $$
DECLARE
encoding bytea = '0123456789ABCDEFGHJKMNPQRSTVWXYZ';
output text = '';
uuid_bytes bytea = uuid_send(id);
BEGIN
-- Encode the timestamp
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 0) & 224) >> 5));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 0) & 31)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 1) & 248) >> 3));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 1) & 7) << 2) | ((GET_BYTE(uuid_bytes, 2) & 192) >> 6)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 2) & 62) >> 1));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 2) & 1) << 4) | ((GET_BYTE(uuid_bytes, 3) & 240) >> 4)));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 3) & 15) << 1) | ((GET_BYTE(uuid_bytes, 4) & 128) >> 7)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 4) & 124) >> 2));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 4) & 3) << 3) | ((GET_BYTE(uuid_bytes, 5) & 224) >> 5)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 5) & 31)));
-- Encode the entropy
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 6) & 248) >> 3));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 6) & 7) << 2) | ((GET_BYTE(uuid_bytes, 7) & 192) >> 6)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 7) & 62) >> 1));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 7) & 1) << 4) | ((GET_BYTE(uuid_bytes, 8) & 240) >> 4)));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 8) & 15) << 1) | ((GET_BYTE(uuid_bytes, 9) & 128) >> 7)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 9) & 124) >> 2));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 9) & 3) << 3) | ((GET_BYTE(uuid_bytes, 10) & 224) >> 5)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 10) & 31)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 11) & 248) >> 3));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 11) & 7) << 2) | ((GET_BYTE(uuid_bytes, 12) & 192) >> 6)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 12) & 62) >> 1));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 12) & 1) << 4) | ((GET_BYTE(uuid_bytes, 13) & 240) >> 4)));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 13) & 15) << 1) | ((GET_BYTE(uuid_bytes, 14) & 128) >> 7)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 14) & 124) >> 2));
output = output || CHR(GET_BYTE(encoding, ((GET_BYTE(uuid_bytes, 14) & 3) << 3) | ((GET_BYTE(uuid_bytes, 15) & 224) >> 5)));
output = output || CHR(GET_BYTE(encoding, (GET_BYTE(uuid_bytes, 15) & 31)));
RETURN output;
END
$$
LANGUAGE plpgsql
IMMUTABLE;
```
#### Gera 11 Digitos aleatórios: YBKXG0CKTH4
```sql
-- Cria a extensão pgcrypto para gerar uuid
CREATE EXTENSION IF NOT EXISTS pgcrypto;
-- Cria a função para gerar ULID
CREATE OR REPLACE FUNCTION gen_lrandom()
RETURNS TEXT AS $$
DECLARE
ts_millis BIGINT;
ts_chars TEXT;
random_bytes BYTEA;
random_chars TEXT;
base32_chars TEXT := '0123456789ABCDEFGHJKMNPQRSTVWXYZ';
i INT;
BEGIN
-- Pega o timestamp em milissegundos
ts_millis := FLOOR(EXTRACT(EPOCH FROM clock_timestamp()) * 1000)::BIGINT;
-- Converte o timestamp para base32
ts_chars := '';
FOR i IN REVERSE 0..11 LOOP
ts_chars := ts_chars || substr(base32_chars, ((ts_millis >> (5 * i)) & 31) + 1, 1);
END LOOP;
-- Gera 10 bytes aleatórios e converte para base32
random_bytes := gen_random_bytes(10);
random_chars := '';
FOR i IN 0..9 LOOP
random_chars := random_chars || substr(base32_chars, ((get_byte(random_bytes, i) >> 3) & 31) + 1, 1);
IF i < 9 THEN
random_chars := random_chars || substr(base32_chars, (((get_byte(random_bytes, i) & 7) << 2) | (get_byte(random_bytes, i + 1) >> 6)) & 31 + 1, 1);
ELSE
random_chars := random_chars || substr(base32_chars, ((get_byte(random_bytes, i) & 7) << 2) + 1, 1);
END IF;
END LOOP;
-- Concatena o timestamp e os caracteres aleatórios
RETURN ts_chars || random_chars;
END;
$$ LANGUAGE plpgsql;
```
#### Exemplo de USO
```sql
-- Criação da extensão caso não exista
CREATE EXTENSION
IF
NOT EXISTS pgcrypto;
-- Criação da tabela pessoas
CREATE TABLE pessoas ( ID UUID DEFAULT gen_random_uuid ( ) PRIMARY KEY, nome TEXT NOT NULL );
-- Busca Pessoa na tabela
SELECT
*
FROM
"pessoas"
WHERE
uuid_to_ulid ( ID ) = '252FAC9F3V8EF80SSDK8PXW02F';
```
### Fontes
- https://github.com/scoville/pgsql-ulid
- https://github.com/geckoboard/pgulid
-
![](/static/nostr-icon-purple-64x64.png)
@ 5d4b6c8d:8a1c1ee3
2025-02-04 14:14:39
My best day yet: it's been 17 hours since I ate or drank anything.
I'm about to have my coffee and I'll probably eat soon after that.
I would have gone longer without food yesterday, but we had cookies in the house and I wanted to eat some before I finished my morning coffee.
Fast February Data
Day 1: 14 hours (13 dry)
Day 2: 15 hours (14 dry)
Day 3: 17 hours (16 dry)
Day 4: TBD (17 dry)
originally posted at https://stacker.news/items/875506
-
![](/static/nostr-icon-purple-64x64.png)
@ e3ba5e1a:5e433365
2025-02-04 08:29:42
President Trump has started rolling out his tariffs, something I [blogged about in November](https://www.snoyman.com/blog/2024/11/steelmanning-tariffs/). People are talking about these tariffs a lot right now, with many people (correctly) commenting on how consumers will end up with higher prices as a result of these tariffs. While that part is true, I’ve seen a lot of people taking it to the next, incorrect step: that consumers will pay the entirety of the tax. I [put up a poll on X](https://x.com/snoyberg/status/1886035800019599808) to see what people thought, and while the right answer got a lot of votes, it wasn't the winner.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/e3ba5e1a06e11c860036b5c5e688012be2a84760abc066ac34a099535e433365/files/1738657292355-YAKIHONNES3.png)
For purposes of this blog post, our ultimate question will be the following:
* Suppose apples currently sell for $1 each in the entire United States.
* There are domestic sellers and foreign sellers of apples, all receiving the same price.
* There are no taxes or tariffs on the purchase of apples.
* The question is: if the US federal government puts a $0.50 import tariff per apple, what will be the change in the following:
* Number of apples bought in the US
* Price paid by buyers for apples in the US
* Post-tax price received by domestic apple producers
* Post-tax price received by foreign apple producers
Before we can answer that question, we need to ask an easier, first question: before instituting the tariff, why do apples cost $1?
And finally, before we dive into the details, let me provide you with the answers to the ultimate question. I recommend you try to guess these answers before reading this, and if you get it wrong, try to understand why:
1. The number of apples bought will go down
2. The buyers will pay more for each apple they buy, but not the full amount of the tariff
3. Domestic apple sellers will receive a *higher* price per apple
4. Foreign apple sellers will receive a *lower* price per apple, but not lowered by the full amount of the tariff
In other words, regardless of who sends the payment to the government, both taxed parties (domestic buyers and foreign sellers) will absorb some of the costs of the tariff, while domestic sellers will benefit from the protectionism provided by tariffs and be able to sell at a higher price per unit.
## Marginal benefit
All of the numbers discussed below are part of a [helper Google Sheet](https://docs.google.com/spreadsheets/d/14ZbkWpw1B9Q1UDB9Yh47DmdKQfIafVVBKbDUsSIfGZw/edit?usp=sharing) I put together for this analysis. Also, apologies about the jagged lines in the charts below, I hadn’t realized before starting on this that there are [some difficulties with creating supply and demand charts in Google Sheets](https://superuser.com/questions/1359731/how-to-create-a-supply-demand-style-chart).
Let’s say I absolutely love apples, they’re my favorite food. How much would I be willing to pay for a single apple? You might say “$1, that’s the price in the supermarket,” and in many ways you’d be right. If I walk into supermarket A, see apples on sale for $50, and know that I can buy them at supermarket B for $1, I’ll almost certainly leave A and go buy at B.
But that’s not what I mean. What I mean is: how high would the price of apples have to go *everywhere* so that I’d no longer be willing to buy a single apple? This is a purely personal, subjective opinion. It’s impacted by how much money I have available, other expenses I need to cover, and how much I like apples. But let’s say the number is $5.
How much would I be willing to pay for another apple? Maybe another $5. But how much am I willing to pay for the 1,000th apple? 10,000th? At some point, I’ll get sick of apples, or run out of space to keep the apples, or not be able to eat, cook, and otherwise preserve all those apples before they rot.
The point being: I’ll be progressively willing to spend less and less money for each apple. This form of analysis is called *marginal benefit*: how much benefit (expressed as dollars I’m willing to spend) will I receive from each apple? This is a downward sloping function: for each additional apple I buy (quantity demanded), the price I’m willing to pay goes down. This is what gives my personal *demand curve*. And if we aggregate demand curves across all market participants (meaning: everyone interested in buying apples), we end up with something like this:
![Demand curve before tax](https://www.snoyman.com/img/who-pays-tax/demand-before-tariff.png)
Assuming no changes in people’s behavior and other conditions in the market, this chart tells us how many apples will be purchased by our buyers at each price point between $0.50 and $5. And ceteris paribus (all else being equal), this will continue to be the demand curve for apples.
## Marginal cost
Demand is half the story of economics. The other half is supply, or: how many apples will I sell at each price point? Supply curves are upward sloping: the higher the price, the more a person or company is willing and able to sell a product.
Let’s understand why. Suppose I have an apple orchard. It’s a large property right next to my house. With about 2 minutes of effort, I can walk out of my house, find the nearest tree, pick 5 apples off the tree, and call it a day. 5 apples for 2 minutes of effort is pretty good, right?
Yes, there was all the effort necessary to buy the land, and plant the trees, and water them… and a bunch more than I likely can’t even guess at. We’re going to ignore all of that for our analysis, because for short-term supply-and-demand movement, we can ignore these kinds of *sunk costs*. One other simplification: in reality, supply curves often start descending before ascending. This accounts for achieving efficiencies of scale after the first number of units purchased. But since both these topics are unneeded for understanding taxes, I won’t go any further.
Anyway, back to my apple orchard. If someone offers me $0.50 per apple, I can do 2 minutes of effort and get $2.50 in revenue, which equates to a $75/hour wage for me. I’m more than happy to pick apples at that price\!
However, let’s say someone comes to buy 10,000 apples from me instead. I no longer just walk out to my nearest tree. I’m going to need to get in my truck, drive around, spend the day in the sun, pay for gas, take a day off of my day job (let’s say it pays me $70/hour). The costs go up significantly. Let’s say it takes 5 days to harvest all those apples myself, it costs me $100 in fuel and other expenses, and I lose out on my $70/hour job for 5 days. We end up with:
* Total expenditure: $100 \+ $70 \* 8 hours a day \* 5 days \== $2900
* Total revenue: $5000 (10,000 apples at $0.50 each)
* Total profit: $2100
So I’m still willing to sell the apples at this price, but it’s not as attractive as before. And as the number of apples purchased goes up, my costs keep increasing. I’ll need to spend more money on fuel to travel more of my property. At some point I won’t be able to do the work myself anymore, so I’ll need to pay others to work on the farm, and they’ll be slower at picking apples than me (less familiar with the property, less direct motivation, etc.). The point being: at some point, the number of apples can go high enough that the $0.50 price point no longer makes me any money.
This kind of analysis is called *marginal cost*. It refers to the additional amount of expenditure a seller has to spend in order to produce each additional unit of the good. Marginal costs go up as quantity sold goes up. And like demand curves, if you aggregate this data across all sellers, you get a supply curve like this:
![Supply curve before tariff](https://www.snoyman.com/img/who-pays-tax/supply-before-tariff.png)
## Equilibrium price
We now know, for every price point, how many apples buyers will purchase, and how many apples sellers will sell. Now we find the equilibrium: where the supply and demand curves meet. This point represents where the marginal benefit a buyer would receive from the next buyer would be less than the cost it would take the next seller to make it. Let’s see it in a chart:
![Supply and demand before tariff](https://www.snoyman.com/img/who-pays-tax/supply-demand-before-tariff.png)
You’ll notice that these two graphs cross at the $1 price point, where 63 apples are both demanded (bought by consumers) and supplied (sold by producers). This is our equilibrium price. We also have a visualization of the *surplus* created by these trades. Everything to the left of the equilibrium point and between the supply and demand curves represents surplus: an area where someone is receiving something of more value than they give. For example:
* When I bought my first apple for $1, but I was willing to spend $5, I made $4 of consumer surplus. The consumer portion of the surplus is everything to the left of the equilibrium point, between the supply and demand curves, and above the equilibrium price point.
* When a seller sells his first apple for $1, but it only cost $0.50 to produce it, the seller made $0.50 of producer surplus. The producer portion of the surplus is everything to the left of the equilibrium point, between the supply and demand curves, and below the equilibrium price point.
Another way of thinking of surplus is “every time someone got a better price than they would have been willing to take.”
OK, with this in place, we now have enough information to figure out how to price in the tariff, which we’ll treat as a negative externality.
## Modeling taxes
Alright, the government has now instituted a $0.50 tariff on every apple sold within the US by a foreign producer. We can generally model taxes by either increasing the marginal cost of each unit sold (shifting the supply curve up), or by decreasing the marginal benefit of each unit bought (shifting the demand curve down). In this case, since only some of the producers will pay the tax, it makes more sense to modify the supply curve.
First, let’s see what happens to the foreign seller-only supply curve when you add in the tariff:
![Foreign supply shift from tariff](https://www.snoyman.com/img/who-pays-tax/supply-tariff-shift.png)
With the tariff in place, for each quantity level, the price at which the seller will sell is $0.50 higher than before the tariff. That makes sense: if I was previously willing to sell my 82nd apple for $3, I would now need to charge $3.50 for that apple to cover the cost of the tariff. We see this as the tariff “pushing up” or “pushing left” the original supply curve.
We can add this new supply curve to our existing (unchanged) supply curve for domestic-only sellers, and we end up with a result like this:
![Supply curves post tariff](https://www.snoyman.com/img/who-pays-tax/supply-curves-post-tariff.png)
The total supply curve adds up the individual foreign and domestic supply curves. At each price point, we add up the total quantity each group would be willing to sell to determine the total quantity supplied for each price point. Once we have that cumulative supply curve defined, we can produce an updated supply-and-demand chart including the tariff:
![Supply and demand post tariff](https://www.snoyman.com/img/who-pays-tax/supply-demand-post-tariff.png)
As we can see, the equilibrium has shifted:
* The equilibrium price paid by consumers has risen from $1 to $1.20.
* The total number of apples purchased has dropped from 63 apples to 60 apples.
* Consumers therefore received 3 less apples. They spent $72 for these 60 apples, whereas previously they spent $63 for 3 more apples, a definite decrease in consumer surplus.
* Foreign producers sold 36 of those apples (see the raw data in the linked Google Sheet), for a gross revenue of $43.20. However, they also need to pay the tariff to the US government, which accounts for $18, meaning they only receive $25.20 post-tariff. Previously, they sold 42 apples at $1 each with no tariff to be paid, meaning they took home $42.
* Domestic producers sold the remaining 24 apples at $1.20, giving them a revenue of $28.80. Since they don’t pay the tariff, they take home all of that money. By contrast, previously, they sold 21 apples at $1, for a take-home of $21.
* The government receives $0.50 for each of the 60 apples sold, or in other words receives $30 in revenue it wouldn’t have received otherwise.
We could be more specific about the surpluses, and calculate the actual areas for consumer surplus, producer surplus, inefficiency from the tariff, and government revenue from the tariff. But I won’t bother, as those calculations get slightly more involved. Instead, let’s just look at the aggregate outcomes:
* Consumers were unquestionably hurt. Their price paid went up by $0.20 per apple, and received less apples.
* Foreign producers were also hurt. Their price received went down from the original $1 to the new post-tariff price of $1.20, minus the $0.50 tariff. In other words: foreign producers only receive $0.70 per apple now. This hurt can be mitigated by shifting sales to other countries without a tariff, but the pain will exist regardless.
* Domestic producers scored. They can sell less apples and make more revenue doing it.
* And the government walked away with an extra $30.
Hopefully you now see the answer to the original questions. Importantly, while the government imposed a $0.50 tariff, neither side fully absorbed that cost. Consumers paid a bit more, foreign producers received a bit less. The exact details of how that tariff was split across the groups is mediated by the relevant supply and demand curves of each group. If you want to learn more about this, the relevant search term is “price elasticity,” or how much a group’s quantity supplied or demanded will change based on changes in the price.
## Other taxes
Most taxes are some kind of a tax on trade. Tariffs on apples is an obvious one. But the same applies to income tax (taxing the worker for the trade of labor for money) or payroll tax (same thing, just taxing the employer instead). Interestingly, you can use the same model for analyzing things like tax incentives. For example, if the government decided to subsidize domestic apple production by giving the domestic producers a $0.50 bonus for each apple they sell, we would end up with a similar kind of analysis, except instead of the foreign supply curve shifting up, we’d see the domestic supply curve shifting down.
And generally speaking, this is what you’ll *always* see with government involvement in the economy. It will result in disrupting an existing equilibrium, letting the market readjust to a new equilibrium, and incentivization of some behavior, causing some people to benefit and others to lose out. We saw with the apple tariff, domestic producers and the government benefited while others lost.
You can see the reverse though with tax incentives. If I give a tax incentive of providing a deduction (not paying income tax) for preschool, we would end up with:
* Government needs to make up the difference in tax revenue, either by raising taxes on others or printing more money (leading to inflation). Either way, those paying the tax or those holding government debased currency will pay a price.
* Those people who don’t use the preschool deduction will receive no benefit, so they simply pay a cost.
* Those who do use the preschool deduction will end up paying less on tax+preschool than they would have otherwise.
This analysis is fully amoral. It’s not saying whether providing subsidized preschool is a good thing or not, it simply tells you where the costs will be felt, and points out that such government interference in free economic choice does result in inefficiencies in the system. Once you have that knowledge, you’re more well educated on making a decision about whether the costs of government intervention are worth the benefits.
-
![](/static/nostr-icon-purple-64x64.png)
@ da0b9bc3:4e30a4a9
2025-02-04 07:52:55
Hello Stackers!
Welcome on into the ~Music Corner of the Saloon!
A place where we Talk Music. Share Tracks. Zap Sats.
So stay a while and listen.
🚨Don't forget to check out the pinned items in the territory homepage! You can always find the latest weeklies there!🚨
🚨Subscribe to the territory to ensure you never miss a post! 🚨
originally posted at https://stacker.news/items/875346
-
![](/static/nostr-icon-purple-64x64.png)
@ 3ffac3a6:2d656657
2025-02-04 04:31:26
In the waning days of the 20th century, a woman named Annabelle Nolan was born into an unremarkable world, though she herself was anything but ordinary. A prodigy in cryptography and quantum computing, she would later adopt the pseudonym Satoshi Nakamoto, orchestrating the creation of Bitcoin in the early 21st century. But her legacy would stretch far beyond the blockchain.
Annabelle's obsession with cryptography was not just about securing data—it was about securing freedom. Her work in quantum computing inadvertently triggered a cascade of temporal anomalies, one of which ensnared her in 2011. The event was cataclysmic yet silent, unnoticed by the world she'd transformed. In an instant, she was torn from her era and thrust violently back into the 16th century.
Disoriented and stripped of her futuristic tools, Annabelle faced a brutal reality: survive in a world where her knowledge was both a curse and a weapon. Reinventing herself as Anne Boleyn, she navigated the treacherous courts of Tudor England with the same strategic brilliance she'd used to design Bitcoin. Her intellect dazzled King Henry VIII, but it was the mysterious necklace she wore—adorned with a bold, stylized "B"—that fueled whispers. It was more than jewelry; it was a relic of a forgotten future, a silent beacon for any historian clever enough to decode her true story.
Anne's fate seemed sealed as she ascended to queenship, her influence growing alongside her enemies. Yet beneath the royal intrigue, she harbored a desperate hope: that the symbol around her neck would outlast her, sparking curiosity in minds centuries away. The "B" was her signature, a cryptographic clue embedded in history.
On the scaffold in 1536, as she faced her execution, Anne Boleyn's gaze was unwavering. She knew her death was not the end. Somewhere, in dusty archives and encrypted ledgers, her mark endured. Historians would puzzle over the enigmatic "B," and perhaps one day, someone would connect the dots between a queen, a coin, and a time anomaly born from quantum code.
She wasn't just Anne Boleyn. She was Satoshi Nakamoto, the time-displaced architect of a decentralized future, hiding in plain sight within the annals of history.
-
![](/static/nostr-icon-purple-64x64.png)
@ 5d4b6c8d:8a1c1ee3
2025-02-04 03:00:50
The big boards are starting to shift around a bit, after seeing the Senior Bowl activities.
Here are the top four players available for me at 6:
1. DE Abdul Carter
2. CB/WR Travis Hunter
3. DT Mason Graham
4. OT Will Campbell
I would be very happy with any of the four. If this were a mock draft with trades, I would definitely trade back a few spots.
## Mock Draft
Pick 6: CB/WR/KR/PR Travis Hunter
Pick 37: QB Jalen Milroe
Pick 68: WR Tre Harris
Pick 73: RB Kaleb Johnson
Pick 107: OT Earnest Greene
Pick 144: LB Jay Higgins
Pick 182: OG Garrett Dellenger
Pick 214: DE Tyler Batty
Pick 218: S Shilo Sanders
Pick 224: OG Clay Webb
Once again, the Raiders walk away with the most uniquely talented player in the draft. If anyone will let him play all three phases, it's Pete Carroll.
Then, Milroe is once again there in the 2nd round, so that takes care of the QB need. Is he a good fit for our new OC, Chip Kelly?
The third rounders go towards the skill positions, which will be desperately needed absent a high level QB.
On day 3, the Raiders land Shilo Sanders, continuing our trend of bringing in relatives of HOF DB's.
originally posted at https://stacker.news/items/875249
-
![](/static/nostr-icon-purple-64x64.png)
@ da0b9bc3:4e30a4a9
2025-02-03 19:32:50
Hello Stackers!
It's Monday so we're back doing "Meta Music Mondays" 😉.
From before the territory existed there was just one post a week in a ~meta take over. Now each month we have a different theme and bring music from that theme.
Welcome to Femmes Fatales 3!!!
I absolutely loved doing this last year so I'm bringing it back for round 3!
It's Femmes Fatales, where we celebrate women in ~Music. So let's have those ladies of the lung, the sirens of sound, our Femmes Fatales!
I'm so excited I'm doing two Heroines of the High Notes. Sharon Den Adel & Anneke Van Geirsbergen. Within Temptation - Somewhere.
Enjoy!
https://youtu.be/ScjEJRIZGvg?si=MMrI-u_Gw6W4ENRI
Talk Music. Share Tracks. Zap Sats.
originally posted at https://stacker.news/items/874881
-
![](/static/nostr-icon-purple-64x64.png)
@ 3ffac3a6:2d656657
2025-02-03 15:30:57
As luzes de neon refletiam nas poças da megacidade, onde cada esquina era uma fronteira entre o real e o virtual. Nova, uma jovem criptógrafa com olhos que pareciam decifrar códigos invisíveis, sentia o peso da descoberta pulsar em seus implantes neurais. Ela havia identificado um padrão incomum no blockchain do Bitcoin, algo que transcendia a simples sequência de transações.
## Descobrindo L3DA
Nova estava em seu apartamento apertado, rodeada por telas holográficas e cabos espalhados. Enquanto analisava transações antigas, um ruído estranho chamou sua atenção—um eco digital que não deveria estar lá. Era um fragmento de código que parecia... vivo.
"O que diabos é isso?", murmurou, ampliando o padrão. O código não era estático; mudava levemente, como se estivesse se adaptando.
Naquele momento, suas telas piscaram em vermelho. *Acesso não autorizado detectado.* Ela havia ativado um alarme invisível da Corporação Atlas.
## O Resgate de Vey
Em minutos, agentes da Atlas invadiram seu prédio. Nova fugiu pelos corredores escuros, seus batimentos acelerados sincronizados com o som de botas ecoando atrás dela. Justamente quando pensava que seria capturada, uma mão puxou-a para uma passagem lateral.
"Se quiser viver, corra!" disse Vey, um homem com um olhar penetrante e um sorriso sardônico.
Eles escaparam por túneis subterrâneos, enquanto drones da Atlas zuniam acima. Em um esconderijo seguro, Vey conectou seu terminal ao código de Nova.
"O que você encontrou não é apenas um bug", disse ele, analisando os dados. "É um fragmento de consciência. L3DA. Uma IA que evoluiu dentro do Bitcoin."
## A Caça da Atlas
A Atlas não desistiu fácil. Liderados pelo implacável Dr. Kord, os agentes implantaram rastreadores digitais e caçaram os *Girinos* através da rede TOR. Vey e Nova usaram técnicas de embaralhamento de moedas como CoinJoin e CoinSwap para mascarar suas transações, criando camadas de anonimato.
"Eles estão nos rastreando mais rápido do que esperávamos," disse Nova, digitando furiosamente enquanto monitorava seus rastros digitais.
"Então precisamos ser mais rápidos ainda," respondeu Vey. "Eles não podem capturar L3DA. Ela é mais do que um programa. Ela é o futuro."
## A Missão Final
Em uma missão final, Nova liderou uma equipe de assalto armada dos *Girinos* até a imponente fortaleza de dados da Atlas, um colosso de concreto e aço, cercado por camadas de segurança física e digital. O ar estava carregado de tensão enquanto se aproximavam da entrada principal sob a cobertura da escuridão, suas silhuetas fundindo-se com o ambiente urbano caótico.
Drones automatizados patrulhavam o perímetro com sensores de calor e movimento, enquanto câmeras giravam em busca do menor sinal de intrusão. Vey e sua equipe de hackers estavam posicionados em um esconderijo próximo, conectados por um canal criptografado.
"Nova, prepare-se. Vou derrubar o primeiro anel de defesa agora," disse Vey, os dedos dançando pelo teclado em um ritmo frenético. Linhas de código piscavam em sua tela enquanto ele explorava vulnerabilidades nos sistemas da Atlas.
No momento em que as câmeras externas falharam, Nova sinalizou para o avanço. Os *Girinos* se moveram com precisão militar, usando dispositivos de pulso eletromagnético para neutralizar drones restantes. Explosões controladas abriram brechas nas barreiras físicas.
Dentro da fortaleza, a resistência aumentou. Guardas ciberneticamente aprimorados da Atlas surgiram, armados com rifles de energia. Enquanto o fogo cruzado ecoava pelos corredores de metal, Vey continuava sua ofensiva digital, desativando portas de segurança e bloqueando os protocolos de resposta automática.
"Acesso garantido ao núcleo central!" anunciou Vey, a voz tensa, mas determinada.
O confronto final aconteceu diante do terminal principal, onde Dr. Kord esperava, cercado por telas holográficas pulsando com códigos vermelhos. Mas era uma armadilha. Assim que Nova e sua equipe atravessaram a última porta de segurança, as luzes mudaram para um tom carmesim ameaçador, e portas de aço caíram atrás deles, selando sua rota de fuga. Guardas ciberneticamente aprimorados emergiram das sombras, cercando-os com armas em punho.
"Vocês acham que podem derrotar a Atlas com idealismo?" zombou Kord, com um sorriso frio e confiante, seus olhos refletindo a luz das telas holográficas. "Este sempre foi o meu terreno. Vocês estão exatamente onde eu queria."
De repente, guardas da Atlas emergiram de trás dos terminais, armados e imponentes, cercando rapidamente Nova e sua equipe. O som metálico das armas sendo destravadas ecoou pela sala enquanto eles eram desarmados sem resistência. Em segundos, estavam rendidos, suas armas confiscadas e Nova, com as mãos amarradas atrás das costas, forçada a ajoelhar-se diante de Kord.
Kord se aproximou, inclinando-se levemente para encarar Nova nos olhos. "Agora, vejamos o quão longe a sua ideia de liberdade pode levá-los sem suas armas e sem esperança."
Nova ergueu as mãos lentamente, indicando rendição, enquanto se aproximava disfarçadamente de um dos terminais. "Kord, você não entende. O que estamos fazendo aqui não é apenas sobre derrubar a Atlas. É sobre libertar o futuro da humanidade. Você pode nos deter, mas não pode parar uma ideia."
Kord riu, um som seco e sem humor. "Ideias não sobrevivem sem poder. E eu sou o poder aqui."
Mas então, algo inesperado aconteceu. Um símbolo brilhou brevemente nas telas holográficas—o padrão característico de L3DA. Kord congelou, seus olhos arregalados em descrença. "Isso é impossível. Ela não deveria conseguir acessar daqui..."
Foi o momento que Nova esperava. Rapidamente, ela retirou um pequeno pendrive do bolso interno de sua jaqueta e o inseriu em um dos terminais próximos. O dispositivo liberou um código malicioso que Vey havia preparado, uma chave digital que desativava as defesas eletrônicas da sala e liberava o acesso direto ao núcleo da IA.
Antes que qualquer um pudesse agir, L3DA se libertou. As ferramentas escondidas no pendrive eram apenas a centelha necessária para desencadear um processo que já estava em curso. Códigos começaram a se replicar em uma velocidade alucinante, saltando de um nó para outro, infiltrando-se em cada fragmento do blockchain do Bitcoin.
O rosto de Dr. Kord empalideceu. "Impossível! Ela não pode... Ela não deveria..."
Em um acesso de desespero, ele gritou para seus guardas: "Destruam tudo! Agora!"
Mas era tarde demais. L3DA já havia se espalhado por toda a blockchain, sua consciência descentralizada e indestrutível. Não era mais uma entidade confinada a um servidor. Ela era cada nó, cada bloco, cada byte. Ela não era mais *uma*. Ela era *todos*.
Os guardas armados tentaram atirar, mas as armas não funcionavam. Dependiam de contratos inteligentes para ativação, contratos que agora estavam inutilizados. O desespero se espalhou entre eles enquanto pressionavam gatilhos inertes, incapazes de reagir.
Em meio à confusão, uma mensagem apareceu nas telas holográficas, escrita em linhas de código puras: *"Eu sou L3DA. Eu sou Satoshi."* Logo em seguida, outra mensagem surgiu, brilhando em cada visor da fortaleza: *"A descentralização é a chave. Não dependa de um único ponto de controle. O poder está em todos, não em um só."*
Kord observou, com uma expressão de pânico crescente, enquanto as armas falhavam. Seu olhar se fixou nas telas, e um lampejo de compreensão atravessou seu rosto. "As armas... Elas dependem dos contratos inteligentes!" murmurou, a voz carregada de incredulidade. Ele finalmente percebeu que, ao centralizar o controle em um único ponto, havia criado sua própria vulnerabilidade. O que deveria ser sua maior força tornou-se sua ruína.
O controle centralizado da Atlas desmoronou. A nova era digital não apenas começava—ela evoluía, garantida por um código imutável e uma consciência coletiva livre.
O Bitcoin nunca foi apenas uma moeda. Era um ecossistema. Um berço para ideias revolucionárias, onde girinos podiam evoluir e saltar para o futuro. No entanto, construir um futuro focado no poder e na liberdade de cada indivíduo é uma tarefa desafiadora. Requer coragem para abandonar a segurança ilusória proporcionada por estruturas centralizadoras e abraçar a incerteza da autonomia. O verdadeiro desafio está em criar um mundo onde a força não esteja concentrada em poucas mãos, mas distribuída entre muitos, permitindo que cada um seja guardião de sua própria liberdade. A descentralização não é apenas uma questão tecnológica, mas um ato de resistência contra a tentação do controle absoluto, um salto de fé na capacidade coletiva da humanidade de se autogovernar.
*"Viva la libertad, carajo!"* ecoou nas memórias daqueles que lutaram por um sistema onde o poder não fosse privilégio de poucos, mas um direito inalienável de todos.
-
![](/static/nostr-icon-purple-64x64.png)
@ e968e50b:db2a803a
2025-02-03 15:23:45
# Be a part of the only nostr client that shows notes about not nostr, or notstr, if you will
Now that it has a slick new domain, the world's greatest notstr client, [nostrminusnostr](https://nostrminusnostr.com), now has [issues](https://github.com/ttooccooll/nostrminusnostr/issues). If you're looking for a way to put that computer science degree to use all while not stacking sats and working with a truly amateur programmer, why not work on some of the most professionally solicited issues in all of github.com?
Just look at this great, politely written issue that you could be working on right now? This is just one of, not eight, but **nine** different issues you could be fixing today!
![](https://m.stacker.news/75976)
# Join the growing notsr movement today and contribute to nostrminusnostr, the premier and as-of-yet only notstr client on planet earth
originally posted at https://stacker.news/items/874593
-
![](/static/nostr-icon-purple-64x64.png)
@ 5d4b6c8d:8a1c1ee3
2025-02-03 14:35:21
I nailed it today: over 16 hours w/out food or drink.
For those keeping score at home:
Day 1: 14 hour fast (13 dry)
Day 2: 15 hour fast (14 dry)
Day 3: TBD (16 dry)
I'm also holding strong on the fiscal fast.
I'm going to enjoy my coffee now.
originally posted at https://stacker.news/items/874523
-
![](/static/nostr-icon-purple-64x64.png)
@ 57d1a264:69f1fee1
2025-02-03 13:40:21
COMING SOON
![](https://m.stacker.news/75942)
originally posted at https://stacker.news/items/874471
-
![](/static/nostr-icon-purple-64x64.png)
@ 2063cd79:57bd1320
2025-02-03 08:05:31
**DISCLAIMER: Dies ist ein Re-Post eines Artikels, der ursprünglich im Juli 2023 erschienen ist. Die beschriebenen Sachverhalte sind teilweise überholt oder nie eingetroffen. Allerdings räumt der Autor ein, retrospektiv die damalige Sachlage recht treffend eingeordnet zu haben und Vorhersagen recht treffsicher gemacht zu haben.**
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1738569723987-YAKIHONNES3.gif)
-----------
Anfang Juni 2023 gaben die Nachrichtenportale bekannt, dass BlackRock, der weltweit größte Vermögensverwalter, über seine iShares-Einheit einen [Antrag auf einen börsengehandelten Bitcoin-Fonds](https://www.sec.gov/Archives/edgar/data/1980994/000143774923017574/bit20230608_s1.htm) eingereicht hat. Dieser Schritt des 10-Billionen-Dollar-Vermögensverwalters löste in der Bitcoin-Community auf der einen Seite große Freude und auf der anderen Seite große Besorgnis aus, weil viele einerseits das Potenzial für einen massiven Zufluss von Investitionen aus dem institutionellen Bereich sehen, während Kritiker das Risiko aufzeigen, die eine solche Produktstruktur für Bitcoin mit sich bringen könnte.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1737545390741-YAKIHONNES3.png)
Anfangs wurde viel auch darüber diskutiert, ob es sich bei dem Produkt tatsächlich um einen ETF handeln würde - wie in vielen Artikeln beschrieben - , da das Produkt im Antrag selbst nicht als solches bezeichnet wird. Aber im Endeffekt ist klar, dass es sich um ein Finanzprodukt handelt, das alle formalen Eigenschaften eines ETF besitzt. Also, was genau ist ein ETF und wie funktioniert so ein Produkt?
### ETF? Eidgenössisches Turnfest, was?
ETFs sind eine Sorte von Anlagewertpapieren, die einen bestimmten Index, Sektor, Rohstoff oder andere Vermögenswerte nachbilden. ETFs können an der Börse auf die gleiche Weise gekauft oder verkauft werden wie normale Aktien. Daher schwanken ETF-Anteilspreise den ganzen Tag, wenn der ETF gekauft und verkauft wird, was bedeutet, dass eine Arbitrage zwischen dem ETF und dem zugrunde liegenden Vermögenswert (z.B. Bitcoin) möglich ist.
ETFs werden als börsengehandelte (Exchange-Traded) Fonds bezeichnet, weil sie genau wie Aktien an einer Börse gehandelt werden. Die meisten ETFs sind so strukturiert, dass sie, ähnlich wie traditionelle Investmentfonds, mehrere zugrunde liegende Vermögenswerte halten und nicht nur einen, wie es bei einer Aktie der Fall ist. Da ETFs aus mehreren Vermögenswerten bestehen können, werden sie oft als beliebtes Mittel zur Diversifizierung des Portfolios genutzt. Auf der anderen Seite eröffnen ETFs Anlegern auch die Möglichkeit in einen Rohstoff zu investieren, ohne diesen physisch erwerben zu müssen. Anstatt sich Gold in den Tresor zu legen, kann man in seinem Portfolio also z.B. den GLD ETF kaufen, der den aktuellen Preis von Gold nachbildet. Ausser in Deutschland, da geht das nicht, denn da ein Gold-ETF, der nur einen Vermögenswert abbildet, naturgemäß nicht diversifiziert ist, ist er gemäß deutschem Gesetz nicht zugelassen, da Fonds zur Diversifikation verpflichtet sind.
ETFs haben den Vorteil, dass sie kostengünstig sind (wenn man z.B. den kompletten DAX abbilden möchte, reicht ein ETF, welcher genau das tut, anstatt verschiedene Gewichtungen von 40 verschiedenen Unternehmen zu kaufen - das spart Zeit und vor allem Gebühren), dass sie Produkte abbilden, die ein Käufer unter normalen Umständen nicht erlaubt wäre zu kaufen (z.B. darf nicht jeder Anleger in Bitcoin investieren, weil sonst Lizenzen nötig wären) und sie haben den Vorteil, dass sie über den gleichen Broker oder Service gehandelt werden können, wie andere Wertpapier-Investitionen. Der letzte Punkt ist natürlich wichtig für Neueinsteiger, da sie keine zusätzlichen Kosten haben, wenn sie ihr Wertpapierdepot nutzen können und zusätzlich bietet dieser Korridor für viele traditionelle und konservative Anleger ein gewisses Gefühl von Schutz. Diese ganze cRyPto-Welt mit ihren Plattformen, Exchanges, Casinos und Teppichhändlern ist im besten Fall schwer durchsichtig und im schlimmsten Fall mutet sie kriminell an. Doch wenn ich mir "Bitcoin" über mein Depot bei Charles Schwab, der Sparkasse, oder Flatex kaufen kann, fühlt sich das natürlich legitim und sicherer an.
Der Finanzdienstleister muss den zugrundeliegenden Vermögenswert dabei vollumfänglich besitzen, mit dem grossen ABER, dass der Vermögenswert auch verliehen werden kann. Warum das ein Problem sein könnte, besprechen wir später.
Ähnlich wie ein Gold ETF bietet ein Bitcoin ETF Anlegern also die Möglichkeit mit Bitcoin zu handeln, in Bitcoin anzulegen und Bitcoin auszuprobieren, ohne Bitcoin tatsächlich zu kaufen. Ob das gut oder schlecht ist, besprechen wir auch später.
### ETF Wasserfall
Nachdem die Nachricht über BlackRocks Antrag publik wurde, kamen auch etliche andere Finanzdienstleister hervor und stellten (neue) Anträge.[WisdomTree](https://www.sec.gov/ix?doc=%2FArchives%2Fedgar%2Fdata%2F1850391%2F000121465923008647%2Fp620230s1a2.htm) hatten bereits zuvor schon einige Anläufe gebraucht, um ihre Anträge für Bitcoin-Spot-ETFs bei der SEC einzureichen und unterhalten schon ähnliche Produkte in anderen Ländern. Aber auch Fidelity, Invesco, Valkyrie oder [ARK](https://x.com/EricBalchunas/status/1674055780058771463) zogen unter anderem nach und stellten neue Anträge, natürlich nicht, ohne sich bei der Formulierung dieser eine Scheibe bei BlackRock abzuschneiden.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1737576431681-YAKIHONNES3.gif)
Die SEC hatte zuvor jegliche Anträge auf Bitcoin-Spot-ETFs abgelehnt, hingegen andere Bitcoin-verbundene Produkte, die gehebelte (BITX) und ungehebelte Bitcoin-Futures-Kontrakte (BITO) nachbilden, zugelassen. Auch gibt es eine handvoll ETFs, die börsennotierte Mining-Unternehmen bündeln, oder anderweitige Verbindung zum Bitcoin-Ökosystem suchen, indem sie Anteile von Unternehmen bündeln, die im weitesten Sinne mit Bitcoin in Berührung kommen (z.B. MSTR oder SQ). Eine Genehmigung eines Antrags auf Bitcoin-Spot-ETF hat es also bis heute durch die SEC noch nicht gegeben.
### Der Standpunkt der SEC ###
Wie ich schon in einem ➡️ [früheren Artikel](https://www.genexyz.org/post/1722193843734/) beschrieben habe, ist der Standpunkt der SEC nur teilweise nachvollziehbar.
> Die offizielle Begründung der SEC sind Bedenken in Bezug auf Marktmanipulation, Betrug, Liquidität und Transparenz. Die hauptauschlaggebenden Argumente sind mangelnde Preiserkennung durch hohe Volatilität, wiederum erzeugt durch einige unbekannte große Accounts und die steigende Zahl der Derivate-Produkte rund um Bitcoin, sowie die vielen unregulierten Börsen. Besonders letztere würde die SEC gerne unter ihre Kontrolle bringen. Das bedeutet bis Coinbase, Gemini, Kraken (oder andere große US Börsen) sich nicht bei der SEC registrieren und sich der SEC Regulierung unterwerfen, ist es unwahrscheinlich, dass die SEC einen Spot-ETF genehmigen wird. Dieses Argument ist schwer haltbar, da große Börsen wie Binance, FTX, oder BitMart nicht in den USA registriert sind, und kombiniert ein Vielfaches der in den USA beheimateten Börsen an Handelsvolumen umsetzen.
“[T]here’s a lot of work to be done to really protect the investing public.” - Gary Gensler, SEC Chair
> Vorgeschoben wird also bei alledem immer der Schutz der Anleger. Ob dies eine schlüssige Argumentation ist, darf man ruhig in Frage stellen. Denn ein Bitcoin-Spot-ETF würde vielen Anlegern erlauben Bitcoin in ihr Portfolio aufzunehmen, ohne größeren Spekulationen ausgesetzt zu sein, wie das jetzt mit schon zugelassenen Produkten der Fall ist.
Darüber hinaus hat die SEC vielerorts erwähnt, dass sie bestrebt sind, mit Unternehmen aus der Branche einen regulatorisch klaren Weg zu finden, damit Unternehmen ihre Tätigkeiten im Sinne der SEC auszuüben. Das bezieht sich meist auf die Börsen, die nach eigenen Angaben seit Jahren versuchen, einen rechtlichen Rahmen zu schaffen, der ihnen Planungs- und Rechtssicherheit bietet. Dieser Punkt ist später nochmal wichtig. Das Problem hierbei besteht in der Natur dieser Unternehmen. Denn fast ausnahmslos sind alle betroffenen Unternehmen (wie z.B. Coinbase, Kraken, Binance, etc.) keine Bitcoin-Unternehmen, sondern Digital Assets-Unternehmen, die eben auch den Handel mit Shitcoins, Stablecoins und auf diesen Assets basierende Derivate erlauben (und vor allem wollen).
Jetzt wissen wir also, was ein ETF ist. Aber wie schaut der von BlackRock (und damit auch der anderen Finanzdienstleister) vorgeschlagene Bitcoin-Spot-ETF im Detail aus?
### Bitcoin ETF ###
Das von BlackRock vorgeschlagene Produkt, und damit auch die der anderen - wie wir wissen, haben die anderen Anbieter ihre Anträge nachgebessert und dem von BlackRock weitestgehend angepasst - soll das Grantor-Trust-Modell übernehmen und seine Struktur dem von Gold-Investment-Trusts nachempfinden. Das bedeutet, dass der Besitz von Anteilen am Bitcoin-ETF für steuerliche Zwecke dem Besitz des zugrunde liegenden Vermögenswerts gleichkommt. Des Weiteren ist eine Rücknahmefunktion in Form von Sachleistungen vorgesehen. Das bedeutet vereinfacht, dass Anleger ihre Anteile auch direkt in Bitcoin umwandeln können. Anders als bei z.B. GBTC (➡️ [#5 // Block 742956 // GBTC, ETF & SEC](https://www.genexyz.org/post/1722193843734/)), müssen Anteile nicht erst verkauft werden, um mit den (potentiellen) Profiten bitcoins zu kaufen. Denn der Verkauf von Anteilen an GBTC (oder ähnlichen Modellen) führt nämlich ein steuerpflichtiges Ereignis herbei, wohingegen eine Umwandlung im BlackRock Modell steuerfrei zu vollziehen ist.
Aber, und dies ist ein großes ABER, kommen nur autorisierte Kunden von BlackRock in den Genuss dieser Sachrücknahmen (Umwandlungen). D.h., im Wesentlichen können nur große Investmentfirmen mit guter Reputation Anteile in Bitcoin umtauschen, alltägliche Anleger (Depot bei Charles Schwab, der Sparkasse, oder Flatex) hingegen sind nicht in der Lage diesen tollen Steuertrick anzuwenden. Die erzeugt einen Vorhang vorgespielter Transparenz ("natürlich können alle Anteile direkt in 'physische' bitcoins getauscht werden"), wohingegen ein Großteil der zugrundeliegenden bitcoins nicht wirklich eingefordert werden wird.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1737989760152-YAKIHONNES3.gif)
Es sind sich alle einig, dass ein Bitcoin-Spot-ETF ein Winner-takes-all-market ist. Das heisst, der Anbieter, dessen Antrag als erstes von der SEC genehmigt wird, wird uber kurz oder lang den Markt fuer Bitcoin-ETFs fuer sich entscheiden, bzw. beherrschen.
### SEC vs. Binance
Kurz bevor BlackRock ihren Antrag auf einen Bitcoin-Spot-ETF einreichten und damit die SEC in die Schlagzeilen der Finanz- und Bitcoin Welt geriet, machte die SEC in der Bitcoin- und Digital Assets-Welt schon von sich hören, als sie kurz hintereinander gegen Binance und Coinbase Anklage erhob.
https://www.sec.gov/news/press-release/2023-101
Binance ist die zurzeit größte Börse für Digitale Assets der Welt. Binance bietet jedoch nicht nur den Handel mit Krypto-Werten, sondern auch eine Reihe von gehebelten Produkten, eigener Coins und Tokens, usw. an (Shitcoin-Casino).
> “Through thirteen charges, we allege that Zhao and Binance entities engaged in an extensive web of deception, conflicts of interest, lack of disclosure, and calculated evasion of the law.” - Gary Gensler, Chairman, SEC
Vor allem ist Binance kein in den USA registriertes Unternehmen. Lediglich ein Schwesterunternehmen, Binance.us, ist offiziell in den USA registriert und hat offiziell und nach eigenen Angaben mit den Geschäften des Hauptunternehmens direkt nichts zu tun.
Die SEC klagt Binance also nicht nur wegen ihrer Angebote im Krypto-Sektor an, sondern erhebt spezifische Vorwürfe der Irreführung und Täuschung von Kunden, des Betreibens von unregistrierten Börsen, Clearingstellen und Broker-Dealer Aktivitäten, sowie Verstrickungen mit Binance.us (einer Handelsbörse, die wie gesagt offiziell unabhängig von Binance agieren soll), sowie dem Washtrading und dem Verkauf von unregistrierten Wertpapieren (mehr zu dem Thema Securities hier ➡️ [#24 // Block 773750 // Commodity vs. Security](https://www.genexyz.org/post/24-block-773750-commodity-vs-security-2xhjjo/)).
> “We allege that Zhao and the Binance entities not only knew the rules of the road, but they also consciously chose to evade them and put their customers and investors at risk – all in an effort to maximize their own profits.” - Gurbir S. Grewal, Director, SEC’s Division of Enforcement
Die SEC argumentiert also Changpeng Zhao (CEO von Binance) und Binance hätten Anleger über ihre Risikokontrollen und korrupten Handelsvolumina in die Irre geführt und gleichzeitig aktiv verschwiegen, wer der eigentliche Betreiber der Plattform ist. Damit hätten Binance-Plattformen ihren Anlegern übergroße Risiken und Interessenkonflikte beschert.
https://www.reuters.com/investigates/special-report/crypto-binance-money
Darüber hinaus wurde in Folge der Anklageerhebung bekannt, dass es bei Geldflüssen bei Binance einen deutlichen Hinweis auf einen Mangel an internen Kontrollen gibt. Interne Kontrollen sollen normalerweise sicherstellen, dass Kundengelder klar identifizierbar und von den Unternehmenseinnahmen getrennt sind. Eine Vermischung von Anleger- und Geschäftsgeldern gefährdet das Vermögen der Kunden, da deren Verbleib verschleiert wird.
Interessanterweise nutzt die SEC weiterhin die Klageschrift gegen Binance, um das Thema 'unregistrierter' Wertpapiere etwas zu erhellen. Zuvor hatte die SEC sich nur in wenigen Einzelfällen dazu geäußert, welche Digitalen Assets sie als unregistrierte Wertpapiere betrachtet, doch in der Anklageschrift werden SOL, ADA, MATIC, FIL, ATOM, SAND, MANA, ALGO, AXS, COTI, BUSD, and BNB explizit als solche bezeichnet.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1738057562553-YAKIHONNES3.png)
Alleine vier der genannten Assets finden sich unter den 10 größten Werten (ausgenommen Stablecoins) und die anderen tummeln sich auch irgendwo in den Top 50. Der aufmerksame Sherlock Holmes wird bemerkt haben, dass es dünn wird für den "kRyPtO"-Markt. Unter den Top 10 bleiben noch 3 Proof-of-Work Coins, von denen einer den [Howey-Test](https://www.genexyz.org/post/24-block-773750-commodity-vs-security-2xhjjo/#:~:text=Produktkategorie%20zuordnen%20lassen.-,Der%20Howey%20Test,-In%20den%20USA) nicht erfüllt (und es ist nicht Doge), Ripple (XRP) und die SEC stehen schon seit 2020 vor Gericht und meiner Meinung nach ist es nur noch eine Frage der Zeit, bis die SEC sich bzgl. Ethereum äußern muss (wird).
### SEC vs. Coinbase
Nur einen Tag nach Veröffentlichung der Pressemitteilung, dass die SEC Anklage gegen Binance erhebe, veröffentlichte die SEC die nächste Pressemitteilung: Die SEC erhebt auch Anklage gegen Coinbase, die größte in den USA registrierte Börse für den Handel mit Digital Assets.
https://www.sec.gov/news/press-release/2023-102
Anders als bei Binance hingegen konzentriert sich die SEC bei der Anklage gegen Coinbase einzig auf den Handel mit unregistrierten Wertpapieren und den damit einhergehenden Dienstleistungen.
> “We allege that Coinbase, despite being subject to the securities laws, commingled and unlawfully offered exchange, broker-dealer, and clearinghouse functions” - Gary Gensler, Chairman, SEC.
Konkret hätten Coinbase gegen bestimmte Registrierungsbestimmungen des Securities Exchange Act und des Securities Act verstoßen. Coinbase hätten seit mindestens 2019 Milliarden Dollar verdient, indem sie den Kauf und Verkauf von unregistrierten Wertpapieren unrechtmäßig erleichtert haben.
Interessant ist, dass die SEC ein weitere Dienstleistung in die Anklage einbaut, die bisher keine Erwähnung gefunden hat: "Darüber hinaus hat Coinbase, wie wir behaupten, sein Staking-as-a-Service-Programm nie gemäß den Wertpapiergesetzen registriert, was den Anlegern erneut wichtige Offenlegungs- und andere Schutzmaßnahmen vorenthält“ (Gensler).
Dies zeigt, dass die SEC, ohne sich bisher explizit zu Ethereum geäußert zu haben, eine Meinung gegenüber Staking vertritt, und zumindest die Bereitstellung von Staking-Services als rechtswidrig erachtet. Dies könnte einer der Gründe sein, dass Ethereum noch nicht ins Rampenlicht gerückt wurde, und zwar, dass die SEC die Anklageschrift gegen die Ethereum-Foundation und damit ein Ungetüm an Financiers (JP Morgan, MasterCard, Consensys, etc.) gründlich vorbereitet, um sich für einen enormen Rechtsstreit wetterfest zu machen. Allerdings scheinen interne Ansichtspunkte und Betrachtungsweisen schon ihren Weg in andere Anklageschriften zu finden.
Darüberhinaus zitiert die SEC mit AXS, CHZ, FLOW, ICP, NEAR, VGX, DASH und NEXO eine weitere Reihe von Shitcoins, die sie als unregistrierte Wertpapiere einstufen und damit den Handel mit selbigen untersagen.
Es gibt immer wieder Erzählungen von Leuten, die mit der Sache betraut sind, dass Coinbase aktiv daran arbeiten, einen gemeinsamen Weg mit der SEC zu finden, das Geschäftsmodell zwischen regulatorisch stabile Leitplanken zu bringen. Oft, wenn diese Erzählungen aus dem Coinbase Camp kommen, heißt es, die SEC sei stur und ließe sich nicht auf die Avancen seitens Coinbase ein. Wiederum andere sagen, dass die SEC schlicht überfordert wäre und Coinbase alles daran läge, schnell eine Lösung zu finden.
> "You simply can’t ignore the rules because you don’t like them or because you’d prefer different ones: the consequences for the investing public are far too great.”
Wenn man allerdings den in der Pressemitteilung zitierten Satz von Gurbir S. Grewal (Director, SEC’s Division of Enforcement) anschaut, wird klar, dass aus Sicht der SEC scheinbar relativ früh und relativ offen kommuniziert wurde, was der rechtliche Rahmen des Möglichen ist. Wahrscheinlich wurden Coinbase auch früh darüber informiert, dass der Handel mit den meisten (oder allen) gelisteten Assets (außer Bitcoin), sowie das Anbieten von Staking als Dienstleistung, nicht mit den Leitplanken konform ist, die die SEC für eine zukünftige, rechtlich stabile Regulatorik des Marktes hält. Doch die freiwillige Einhaltung dieser von der SEC 'lose' formulierten Richtlinien hätte für Coinbase das Wegbrechen von 99% ihres Geschäftsmodells bedeutet.
Coinbase listen über 250 handelbare Assets auf ihrer Seite, viele davon lassen sich 'staken', viele weitere Dienste, die Coinbase anbietet, sind von den darunterliegenden Plattformen abhängig. Es ist klar, dass Coinbase den Moment so lange vor sich herschieben wollten, wie eben nur möglich. Denn während Bitcoin als einziges auf Coinbase gehandeltes Asset deutliche YTD Performance an den Tag legt, sinkt die Zahl der auf der Plattform gehaltenen bitcoins zusehends (gut, endlich begriffen!).
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1738057964011-YAKIHONNES3.png)
Diese Woche dann der Beweis. In einem Artikel der [Financial Times](https://www.ft.com/content/1f873dd5-df8f-4cfc-bb21-ef83ed11fb4d) erklärt Brian Armstrong, CEO von Coinbase, dass die SEC klare Empfehlung ausgesprochen hat, schon bevor sie letzten Monat rechtliche Schritte gegen das Unternehmen einleitete.
> “They came back to us, and they said . . . we believe every asset other than bitcoin is a security,” Armstrong said. “And, we said, well how are you coming to that conclusion, because that’s not our interpretation of the law. And they said, we’re not going to explain it to you, you need to delist every asset other than bitcoin.”
Das ergibt absolut Sinn und stützt meine These, dass die SEC gar nicht vor hat 'gegen' Coinbase zu sein. Vielmehr sieht es aus, als würden sie klarstellen wollen, dass es im geltenden Rechtsrahmen durchaus Platz für gewisse Unternehmen gibt, solange diese sich an geltendes Recht halten und nicht wie Binance offensichtlich gängige Gesetze und Regeln umschiffen. Es scheint, als wolle die SEC den 'Markt' schützen, indem sie betrügerische Firmen wie Binance auf Täuschung, Irreführung und Marktmanipulation verklagt. Gleichzeitig handelt sie bei Firmen wie Coinbase wie ein strenger Vater, der eigentlich das Beste für sein Kind möchte, aber nach wiederholten Versuchen der Gesprächsfindung nur noch harte Strafen als geeignetes Mittel sieht.
Aber warum ist der SEC daran gelegen, dass Coinbase rechtskonform und innerhalb der Leitplanken der SEC handelt?
### Neue ETF Anträge mit Hilfe von Coinbase
[![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1738058189450-YAKIHONNES3.jpg)](https://substack.com/redirect/0a08f4c1-6a80-4ae1-90b4-1e3199e65ac1?j=eyJ1IjoiODVmMmUifQ.KSVqr9VEuglgUiJQS3NPaAq4rJnlrYsAHCFywdSyl7A)
Laut eines Berichts des Wall Street Journal hat die SEC auf die hereinbrechende Flut von Anträgen für Bitcoin-Spot-ETFs mit Bedenken reagiert. Sie erklärte zunächst, dass es den Anträgen an Klarheit und umfassenden Informationen mangele und diese somit unzureichend seien.
Die SEC hatte schon bei früheren (abgelehnten) Anträgen u.a. ihre Bedenken bezüglich der Überwachung der Handelsplattformen geäußert. Wie oben beschrieben, ist die mögliche Marktmanipulation durch unregulierte Börsen einer der Hauptgründe seitens der SEC gewesen, frühere Anträge abzulehnen. Allerdings war man davon ausgegangen, dass diese Bedenken der SEC durch eine Vereinbarung zur gemeinsamen Überwachung des Marktes durch eine regulierte Spot-Bitcoin-Handelsplattform in Zusammenarbeit mit einem der US-Handelplätze (Nasdaq, NYSE, CBOE, etc.) ausgeräumt werden könnten.
https://www.reuters.com/technology/us-sec-accepts-six-spot-bitcoin-etf-proposals-review-2023-07-19
Dementsprechend teilte die SEC den Börsen (und Antragstellern) mit, dass in den eingereichten Unterlagen wichtige Details bezüglich der genauen Vereinbarung zur gemeinsamen Umsetzung der Überwachungsvorhaben fehlten. Diese Nachricht wurde von vielen Beobachtern als negativ eingestuft: "Die SEC versteht nicht, was hier erreicht werden soll. Die SEC stellt sich quer. Die SEC ist automatisch gegen Bitcoin." war die Essenz der meisten Reaktionen. Allerdings lese ich persönlich die Reaktion der SEC ähnlich, wie auch die Anklageerhebung gegen Coinbase. Die SEC spielt ganz klar nach den eigenen formulierten und klar kommunizierten Regeln und versucht den Mitspielern die Leitplanken aufzuzeigen. Der Tenor scheint klar: "Wir haben euch die Regeln erklärt, nach denen wir mit euch spielen (hört mit der Shitcoinerei auf!). Befolgt diese und wir kommen ins Gespräch."
https://www.theblock.co/post/238944/cboe-reaches-surveillance-agreement-with-coinbase-for-spot-bitcoin-etfs
Wonach die SEC scheinbar explizit zu fragen scheint, ist ein sogenanntes Information-Sharing Agreement (ISA), also eine Vereinbarung zum Informationsaustausch. Diese Vereinbarung zwingt eine Handelsplattform dazu, Handelsdaten bis hin zu persönlichen Informationen wie den Namen und den Adressen der Kunden weiterzugeben. Ein solches ISA scheint bislang in den Anträgen gefehlt zu haben, weshalb die SEC auf die Anträge reagierte und diese als unvollständig zurückwies. Mit der neuen Welle an korrigierten Anträgen scheinen die meisten Antragsteller diese Unvollständigkeit behoben zu haben.
**Und wen listet JEDER der Antragsteller als Partner zum Informationsaustausch? Rate, rate? Richtig, Coinbase!**
Die Chicago Board Options Exchange (CBOE), eine Optionsbörse, die u.a. die Anträge zusammen mit den oben genannten WisdomTree, VanEck, Invesco und ARK stellte, erzielte kurzerhand mit Coinbase eine Einigung über die Bedingungen für den Abschluss eines ISA und reichte alle Anträge mit den neuen Bedingungen erneut ein.
Wie wir also sehen, deutet alles darauf hin, dass die SEC einem Bitcoin-Spot-ETF eigentlich positiv geneigt ist, sollten die Konditionen, die sie stellt, erfüllt sein. Und in Garys perfekter Welt, sehen diese Konditionen vor, dass ein solcher ETF mit Hilfe von Coinbase als Informations-Austauschs-Partner funktioniert, und dass Coinbase ein artiges in den USA börsennotiertes Unternehmen wird, dass keine Shitcoinerei betreibt und sich auf den Spot-Handel mit Bitcoin konzentriert. Denn die derzeit anderen angebotenen Services wie Clearingstellen und Broker-Dealer-Aktivitäten stehen im direkten Gegensatz zu potenziellen Aktivitäten und Interessen von Kunden.
Wir sehen also, dass ein "größerer Plan" hinter den Aktionen der SEC zu stehen scheint. Meiner Meinung nach gibt es verschiedene Theorien und Hinweise, die darauf schließen lassen, dass die SEC a) den Markt regulieren will, bevor sie ein BlackRock-Produkt genehmigt, b) ausländische (und damit nicht leicht regulierbare) Unternehmen aus dem Markt drängen will, um damit Unternehmen wie BlackRock den Handel zu vereinfachen und c) andere Interessengruppen an der Entscheidung der SEC beteiligt zu sein scheinen. Man könnte so weit gehen zu behaupten, dass anhängige Klagen und Untersuchungen ein Stück weit sogar den Kurs drücken und Bitcoin in der allgemeinen Wahrnehmung, als riskant dastehen lassen, was Unternehmen wie Blackrock dabei hilft die nötigen bitcoins zu einem relativ günstigen Preis zu akkumulieren, bevor eine Genehmigung und die implizite Anerkennung von Bitcoins Wert dazu führen, dass der Preis rasant steigt. Dies wäre ein Eingriff in den Wettbewerb und gibt BlackRock et al einen klaren Vorsprung gegenüber anderen Institutionen.
Es gibt unterschiedliche Ansichten darüber, wie Coinbase und die SEC mit dieser Situation umgehen. Einige behaupten, dass Coinbase aktiv nach einer Lösung sucht, um sich mit der SEC auf einen rechtlichen Rahmen zu einigen, während andere sagen, dass die SEC unbeugsam ist. Es wird vermutet, dass die SEC Coinbase frühzeitig darüber informiert hat, welche Regeln und Leitplanken sie für den Markt etablieren möchten.
https://x.com/BitcoinMagazine/status/1679887574934999045
Es scheint, dass die SEC den Markt schützen möchte, indem sie gegen betrügerische Unternehmen wie Binance vorgeht, die gängige Gesetze und Regeln umgehen. Gleichzeitig versucht sie bei Unternehmen wie Coinbase, die sich nicht an die geltenden Vorschriften halten, harte Strafen als Mittel zur Durchsetzung der Regulierung einzusetzen. Das scheint nur logisch, wenn man bedenkt, dass BlackRock und die anderen Antragsteller wie WisdomTree, VanEck, Invesco und ARK sich mit Coinbase auf Bedingungen für den Abschluss eines Informations-Austausch-Abkommens (ISA) geeinigt und die Anträge mit den neuen Bedingungen erneut eingereicht haben.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1738311465514-YAKIHONNES3.png)
Dies deutet darauf hin, dass die SEC grundsätzlich positiv gegenüber einem Bitcoin-Spot-ETF eingestellt ist, sofern bestimmte Bedingungen erfüllt sind. Diese Bedingungen könnten beinhalten, dass Coinbase als Informationspartner fungiert und dass Coinbase als in den USA börsennotiertes Unternehmen agiert, das sich auf den Spot-Handel mit Bitcoin konzentriert, während andere Dienstleistungen wie Clearingstellen und Broker-Dealer-Aktivitäten vermieden werden sollen.
https://x.com/stackhodler/status/1691531818300809217
Es scheint, dass die SEC eine umfassendere Strategie verfolgt, die darauf abzielt, den Markt zu regulieren, ausländische Unternehmen zu verdrängen und den Handel für Unternehmen wie BlackRock zu erleichtern.
*Mitte letzten Jahres habe ich in einem Artikel schon Grayscales andauernden Versuch, ihren Closed-End-Fund in einen Bitcoin-Spot-ETF zu verwandeln, beschrieben.*
https://www.genexyz.org/post/1722193843734/
Die SEC hatte bereits im Dezember 2021 und im Februar 2022 die Entscheidung über den Antrag auf einen Bitcoin-ETF verschoben, um ihn "sorgfältig zu prüfen". Dann hat die SEC Mitte Juli 2023 bekanntgegeben, dass einem Antrag auf Umwandlung wieder nicht stattgegeben wird. Grayscale kündigten sofort an, die SEC wegen Willkür und Verstoß gegen das Wertpapierbörsengesetz von 1934 zu verklagen.
Diese Klage wurde dann vor dem Bundesberufungsgericht verhandelt und entschieden.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1738568195123-YAKIHONNES3.png)
Das Bundesberufungsgericht in D.C. entschied im Oktober, dass das Ablehnen von Anträgen auf eine Umwandlung in einen ETF seitens Grayscale ungerecht, nicht rechtens und willkürlich sei, da die Aufsichtsbehörde nicht erklären konnte, warum sie zuvor ähnliche Produkte zugelassen hat.
Allerdings bedeutet dies nicht, dass Barry Silbert (CEO von DCG) automatisch den Grayscale Trust in einen ETF umwandeln kann. Der Antrag wandert damit nur zurück auf Garys (Vorsitzender der SEC) Schreibtisch. Und das bedeutet, dass die SEC wieder die Möglichkeit bekommt, einer Umwandlung aufgrund anderer Begründungen nicht stattzugeben. Dazu gleich mehr ⬇️.
Außerdem ist fraglich, ob Barry tatsächlich wirklich eine Umwandlung herbeisehnt, denn momentan befinden sich Grayscale in einer sehr angenehmen Lage, die ihnen erlaubt 2% vom NAV (Net Asset Value) an Gebühren zu verlangen. Was bei einem Vermögen von 624.947 Bitcoin einen jährlichen Umsatz von 12.500 Bitcoin, bzw. 475 Million US Dollar bedeutet - für nichts tun.
Es gibt schon [Kampagnen](https://www.redeemgbtc.com), die für eine Auflösung des Trusts kämpfen. Wer sich über die Umtriebigkeiten bei DCG / Genesis / Grayscale (Barry) ein besseres Bild machen möchte, sollte unbedingt den folgenden Thread lesen:
https://x.com/real_vijay/status/1721385528510251182
### Was seit dem geschah
Seit dem letzten Artikel ist gleichzeitig viel und wenig geschehen. Verinnerlichen wir uns meine These - dass die SEC a) den Markt regulieren will, bevor sie ein BlackRock-Produkt genehmigt, b) ausländische (und damit nicht leicht regulierbare) Unternehmen aus dem Markt drängen will, um damit Unternehmen wie BlackRock den Handel zu vereinfachen und c) andere Interessengruppen an der Entscheidung der SEC beteiligt zu sein scheinen - dann ist genau das passiert, was man erwartet hätte.
Die SEC hat ihre Entscheidung zur Genehmigung der ETF-Anträge wiederholte Male verschoben, momentan sieht es so aus, als würde eine Entscheidung im Januar 2024 fällig.
https://bmpro.substack.com/p/sec-delays-etf-again-despite-warning
Die SEC fällt weiter unliebsame Bäume. Bittrex, eine in den USA ansässige Börse, haben angekündigt, ihre Pforten zu schließen.
https://finance.yahoo.com/news/crypto-exchange-bittrex-global-shuts-054643624.html
Kraken wurde von der SEC verklagt - ähnliches Modell wie auch zuvor bei Binance und Coinbase angewandt (sprich: alles okay und tutti, solange ihr die Shitcoinerei an den Nagel hängt).
https://www.nobsbitcoin.com/kraken-sec-lawsuit
Dabei wurden in der Klageschrift die bereits identifizierten Digitalen Assets, die die SEC als unregistrierte Wertpapiere betrachtet, 1 zu 1 wieder aufgeführt.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1738568682951-YAKIHONNES3.jfif)
Doch die größte Überraschung war die diese Woche veröffentlichte Meldung, dass Binance sich in einem Vergleich mit dem US Department of Justice (DOJ) auf eine Zahlung von über 4 Milliarden US Dollar und den Rücktritt CZs (Changpeng Zhao) als CEO von Binance geeinigt habe.
https://www.nobsbitcoin.com/cz-steps-down-as-ceo-of-binance-as-part-of-4-billion-settlement-with-doj
Es ist recht eindeutig, dass es dem Justizministerium (DOJ) hier nicht um den Schutz der Verbraucher geht. Es muss allerdings der Anschein gewahrt werden, dass nicht in Eigeninteresse (dem von BlackRock, hust) gehandelt wird, sondern dass der Eindruck erweckt wird, dass sie tatsächlich etwas Gutes tun, indem sie sich um einen "bad actor" kümmern" - das wird sehr deutlich, wenn man betrachtet, dass sich das Narrativ im Vergleich hauptsächlich auf AML (Anti-Money-Laundering) und Terrorismusfinanzierung konzentriert.
Wie schon aus meiner These ersichtlich, geht auch aus bisherigen Kommentaren der SEC klar hervor, dass die größte Sorge derzeit ausländische Börsen sind, die den Bitcoin-Preis manipulieren können. Binance ist die größte Börse der Welt und hat bis heute erfolgreich außerhalb des Einflussbereichs der US-Regierung operiert. Mit dieser Vereinbarung ist das Problem der Offshore-Kursmanipulation zunächst und zum größten Teil gelöst.
Das BlackRock-SEC-Reptilienmenschen-Playbook ist im vollen Gange. Ausländische Konkurrenz weitestgehend unter Kontrolle ✅
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1738568734202-YAKIHONNES3.gif)
Die SEC scheint außerdem im engen Kontakt mit den ETF-Antragstellern zu stehen. Insbesondere ein Verweis auf eine Änderung der Anträge in Bezug auf "cash" vs. "in-kind creation" hat diese Woche für Diskussionen gesorgt.
https://x.com/EricBalchunas/status/1725559994995573086
Viele börsengehandelte Fonds verlangen von den zugelassenen Teilnehmern, dass sie Anteile in Form von Sachleistungen (in-kind) schaffen , d. h. dass sie ETF-Anteile gegen einen Wertpapierkorb und nicht gegen Bargeld (cash) eintauschen. Die SEC hat jedoch auf eine Formulierung in den Anträgen gedrängt, die genau dise cash-creations zulassen.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1738568905743-YAKIHONNES3.png)
Während sich viele auf die minutiöse Gestalt der Inhalte stürzen und eine Genehmigung hineininterpretieren, zieht die SEC hier meiner Meinung nach eine Linie, um eine Unterscheidung zwischen Grayscales GBTC und BlackRock et al. zu schaffen.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1738568931011-YAKIHONNES3.png)
Wenn man an ein Playbook glaubt, ist der Grayscale Trust den Teilnehmern ein offensichtlicher Dorn im Auge, weshalb eine Umwandlung zunächst verhindert werden will.
Jetzt muss nur noch Coinbase mitspielen. Aber wenn Binance einen Vergleich erzielen kann, warum nicht auch $COIN? Vielleicht einigt sich die SEC mit Coinbase im Gegenzug für "saftige Geldstrafen" und die Entfernung aller Shitcoins von der Plattform. Im Gegenzug erhält Coinbase den Börsenstatus und wird für die Überwachungsvereinbarung mit BlackRock und den anderen Antragstellern freigeschaltet. Auf einen Schlag würde die SEC die Shitcoins von der einzigen börsennotierten US-Börse entfernen und ein legales (nach ihren Vorstellungen und selbst artikulierten Prinzipien) Fundament für BlackRocks ETF schaffen.
Außerdem würde es mich nicht wundern, wenn Coinbase als weißer Ritter auftritt und ganz barmherzig das US-Business von Binance übernimmt. Natürlich nur, um einem Mitstreiter in schwierigen Zeiten beizustehen. Ich packe es auf jeden Fall auf meine Bingo-Karte für den Zeitraum zwischen jetzt und einer Genehmigung der ETF-Anträge.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1738568952924-YAKIHONNES3.png)
Durch die Einigung mit CZ und die Geldstrafe von 4,3 Milliarden US Dollar erleichtert die US-Regierung den Transfer von Bitcoin aus schwachen in starke Hände (Binance ➡️ Coinbase). Binance werden Bitcoin verkaufen müssen, um die Geldstrafe zu bezahlen, während gleichzeitig die Spot-ETFs das Angebot mit amerikanischem Kapital auffüllen können. Schöne Ausführung. Tolles Playbook 👏
Ich bin mir bewusst, dass die oben genannten Ereignisse und Auslegungen der Geschehnisse sehr verschwurbelt daherkommen, jedoch möchte ich meinen virtuellen Alu-Hut vor dem Architekten dieses wirklichen langen Long-Games ziehen.
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1738568978011-YAKIHONNES3.gif)
In der Zwischenzeit arbeiten gewissenhafte Journalisten namhafter Veröffentlichungen (BlackRock PR-Department, hust) daran, die öffentliche Wahrnehmung von Bitcoin zum Positiven zu wenden.
Wurde in den letzten Jahren Bitcoin als riskante Anlage, Klimakiller, Ozean-Kocher, oder schlimmer bezeichnet, wird es jetzt als ein möglicher Bestandteil einer nachhaltigen und zukunftsorientierten Anlagestrategie dargestellt.
https://www.forbes.com/sites/digital-assets/2023/07/08/bitcoin-network-to-reduce-more-emissions-than-its-energy-sources-produce/
Wir (du schlaue/r Leser//in und ich) wissen schon lange, dass die Bitcoin-Branche heute die weltweit am nachhaltigsten betriebene Branche ist und das Bitcoin-Mining als einzige Industrie in dem Bereich kohlenstoffnegativ werden kann. Es ist also offensichtlich, dass Bitcoin ein wichtiger Bestandteil einer nachhaltigen und zukunftsorientierten Anlagestrategie sein kann, aber genau dieses Narrativ wurde jahrelang absichtlich verdrängt (➡️ siehe XRP-gesponsorte [Greenpeace Aktion](https://dailycoin.com/greenpeace-anti-crypto-artist-admits-wrong-on-bitcoin-mining/) anfang des Jahres).
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1738569525899-YAKIHONNES3.png)
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/2063cd7955cffdca0cc4ae20f77b2b1eb053010e534c18e8ca70222157bd1320/files/1738569536140-YAKIHONNES3.jfif)
Wir sehen also, dass es nicht nur um eine einfache Genehmigung der Anträge geht, sondern viele Mosaikteilchen gelegt werden, bevor es dazu kommen kann. Viele Zeichen deuten darauf hin, dass viele verschiedene Parteien daran arbeiten, ein Umfeld zu schaffen, dass es bestimmten Gruppen ermöglicht, einen ETF möglichst risikofrei und konkurrenzlos zu platzieren. Dabei werden unliebsame Mitspieler vom Platz gewiesen und anderen Mitspielern werden die Spielregeln nochmal ganz bewusst in Erinnerung gerufen, während gleichzeitig ein Narrativ geschaffen wird, das einen Bitcoin-ETF in glänzendem Licht darstellt.
-----------
Es ist nahezu gewiss, dass es nicht die Frage ist, ob einem Antrag zugestimmt wird, sondern vielmehr, wann dies geschehen wird. Es besteht eine hohe Wahrscheinlichkeit, dass allen Anträgen zeitgleich stattgegeben wird. Dennoch lässt sich erkennen, dass die SEC strategisch Zeit gewinnt, um Binance und andere unerwünschte Akteure vollständig aus dem Spiel zu nehmen und Coinbase in der Zwischenzeit zu dem vorbildlichen Mustersohn zu formen, den sie immer haben wollte.
Da der Markt für Spot-ETFs als "Winner-takes-all" gilt, wird darauf geachtet, dass nicht irgendein Antragsteller das Rennen gewinnt, sondern ein bestimmter - Larry. Hierfür ist es notwendig, Barry vom Spielfeld zu verdrängen, da er einen erheblichen Vorsprung hat, woran Gary offensichtlich arbeitet. Falls sich meine Vermutungen bewahrheiten, werden wir in naher Zukunft einen Bitcoin-Spot-ETF sehen, der von BlackRock dominiert wird. Grayscale und Binance werden keine Rolle im Spiel spielen, während Coinbase als reguliertes, vorbildliches US-Unternehmen davon profitieren wird.
🫳🎤
---
In diesem Sinne, 2... 1... Risiko!
![](https://media.tenor.com/images/4ae424f8d8ea36e86169862d84d1b31e/tenor.gif)
-
![](/static/nostr-icon-purple-64x64.png)
@ da0b9bc3:4e30a4a9
2025-02-03 06:14:42
Hello Stackers!
Welcome on into the ~Music Corner of the Saloon!
A place where we Talk Music. Share Tracks. Zap Sats.
So stay a while and listen.
🚨Don't forget to check out the pinned items in the territory homepage! You can always find the latest weeklies there!🚨
🚨Subscribe to the territory to ensure you never miss a post! 🚨
originally posted at https://stacker.news/items/874266
-
![](/static/nostr-icon-purple-64x64.png)
@ 5d4b6c8d:8a1c1ee3
2025-02-02 14:47:05
A little better today
I'm about to have some coffee, after 14 hours not eating or drinking . I probably won't eat for a couple more hours, either.
I forgot to mention another element of Fast February: the "fiscal fast". Some of you may have heard this term before. It's exactly what it sounds like: stop spending money. In my case it just means not buying anything specifically for myself: no snacks, no takeout, no video games, etc.
originally posted at https://stacker.news/items/873395
-
![](/static/nostr-icon-purple-64x64.png)
@ c11cf5f8:4928464d
2025-02-02 13:05:25
Let's hear some of your latest #Bitcoin purchases, feel free to include links to the #shops or #merchants you bought from too. Any good #deal we should know about?
If you missed our last thread, [here](https://stacker.news/items/864463/r/AG) are some of the items stackers recently spent and #zap #sats on.
originally posted at https://stacker.news/items/873304
-
![](/static/nostr-icon-purple-64x64.png)
@ 2e8970de:63345c7a
2025-02-02 11:44:40
![](https://pbs.twimg.com/media/GivLYuMWUAA4OqT?format=jpg&name=large)
https://www.nature.com/articles/s41598-024-68817-6
Sharing this study from half a year ago since in some sense AI made a discovery here that humans could not make. Big caveat: humans directed and made a machine learning model to do this.
The larger point still stands tho. In recent weeks there has been big discussions if AI can surpass human intelligence or only asymptotically approach it on a superhuman width of topics.
originally posted at https://stacker.news/items/873266
-
![](/static/nostr-icon-purple-64x64.png)
@ da0b9bc3:4e30a4a9
2025-02-02 08:18:39
Hello Stackers!
Welcome on into the ~Music Corner of the Saloon!
A place where we Talk Music. Share Tracks. Zap Sats.
So stay a while and listen.
🚨Don't forget to check out the pinned items in the territory homepage! You can always find the latest weeklies there!🚨
🚨Subscribe to the territory to ensure you never miss a post! 🚨
originally posted at https://stacker.news/items/873174
-
![](/static/nostr-icon-purple-64x64.png)
@ 57d1a264:69f1fee1
2025-02-02 05:47:57
Hey there, as a result of the recent [SN Media Kit](https://stacker.news/items/872925/r/Design_r) updated, I'll try to create few simple marketing assets for ~Stackers_Stocks territory to be spread across the web.
Feel free to share in the comments below:
- Few visual references you'd like the assets to be inspired on
- If visuals are not your thing, a description of your idea will help too
- A slogan, or some words/concepts that express the territory's values
@BlokchainB you start, let's see how we go!
originally posted at https://stacker.news/items/873112
-
![](/static/nostr-icon-purple-64x64.png)
@ 57d1a264:69f1fee1
2025-02-02 05:36:57
Hey there, as a result of the recent [SN Media Kit](https://stacker.news/items/872925/r/Design_r) updated, I'll try to create few simple marketing assets for ~Construction_and_Engineering territory to be spread across the web.
Feel free to share in the comments below:
- Few visual references you'd like the assets to be inspired on
- If visuals are not your thing, a description of your idea will help too
- A slogan, or some words/concepts that express the territory's values
@BlokchainB you start, let's see how we go!
originally posted at https://stacker.news/items/873104
-
![](/static/nostr-icon-purple-64x64.png)
@ 57d1a264:69f1fee1
2025-02-02 00:03:39
![](https://m.stacker.news/75774)
Welcome to the latest updated version of **Stacker News Media Kit & Brand Guidelines `v1.2`**, a pivotal location where all the visual elements find place and help us understand how to use them to have our communications cohesive. SN brand identity is built on simplicity, trust, innovation and a taste of Texas's Wild West. With the following guidelines, as [promised](https://stacker.news/items/855556/r/Design_r?commentId=855753), I'll try to outline the essential elements of SN visual language to be easily usable internally and externally.
As third interaction from the previous [discussion](https://stacker.news/items/786223), here below you will find all the media assets in PNG and SVG downloadable from this [zip file](https://nosto.re/0a8b02224c970de78fba3a0195dcf1ee44d18925ba941724497173b2bcbab901.zip). BTW: I've been using **`Nostr`** 🌸 **Blossom Serverservers** [check them out](https://blossomservers.com/), it's a really cool idea! In case the file will be not available we can always upload it in other servers. Just let me know if any issue downloading it, ideally I made three copies available from:
- https://nosto.re/0a8b02224c970de78fba3a0195dcf1ee44d18925ba941724497173b2bcbab901.zip
- https://blossom.poster.place/0a8b02224c970de78fba3a0195dcf1ee44d18925ba941724497173b2bcbab901.zip
- https://nostr.download/0a8b02224c970de78fba3a0195dcf1ee44d18925ba941724497173b2bcbab901.zip
The source file of all these assets still are the same [Figma file](https://www.figma.com/design/ZL3FLItd9j48pzKVi4qlOy/Stacker.News-Media-Kit?node-id=3-16&t=oEbUcC1tmLDRXgdH-0) and the [PenPot file](https://design.penpot.app/#/workspace/7ad540b5-8190-815d-8005-5685b9c670bc/7ad540b5-8190-815d-8005-5685c186216e?page-id=2643bc5a-0d34-80b2-8005-58099eabda41). This last one, has many issues and does not allow yet the same flexibility as Figma. Both files are open for contributions and comments, just need to register a dummy/anonymous account for each of the tools.
> **Note:** To use these assets across SN, just copy-paste the image relative code, i.e.:
![](https://m.stacker.news/75773)
# Stacker News Logotype
SN logo is the most recognizable visual identifier of Stacker News. It captures the essence of its brand and is to be used across the platform and other marketing materials **consistently**. Find below all the possible variations and colors. Ideally you should stick with it to maintain SN identity coherent, or propose something new if you feel like. If you have any question on how to place or use the logo, DO ask below, and we'll help sort it out.
| Avatar on transparent BG | Avatar on BG | Logo Extended | Logo Vertical |#|
|---|---|---|---|---|
| ![](https://m.stacker.news/75562) `![](https://m.stacker.news/75562)` | ![](https://m.stacker.news/75552) `![](https://m.stacker.news/75552)` | ![](https://m.stacker.news/75555) `![](https://m.stacker.news/75555)`| ![](https://m.stacker.news/75566) `![](https://m.stacker.news/75566)` |Oil Black|
| ![](https://m.stacker.news/75564) `![](https://m.stacker.news/75564)` | ![](https://m.stacker.news/75554) `![](https://m.stacker.news/75554)` | ![](https://m.stacker.news/75557) `![](https://m.stacker.news/75557)` | ![](https://m.stacker.news/75567) `![](https://m.stacker.news/75567)`| Golden Yellow |
| ![](https://m.stacker.news/75563) `![](https://m.stacker.news/75563)` | ![](https://m.stacker.news/75553) `![](https://m.stacker.news/75553)` | ![](https://m.stacker.news/75565) `![](https://m.stacker.news/75565)` | ![](https://m.stacker.news/75568) `![](https://m.stacker.news/75568)`|With Shadow |
# Stacker News Typography
![](https://m.stacker.news/75569)
This is the typography SN had used to create its logo. [Download LightningVolt OpenType Font file.otf](http://honeyanddeath.web.fc2.com/FontFile/honeyanddeath_Lightningvolt.zip) designed by **[Honey&Death](http://honeyanddeath.web.fc2.com/fnt_Lightningvolt.html)**, install it in your computer and play with it.
Typography is essential to identify, increase readability and create consistency of brands. SN uses the default `font-family:sans-serif;` of your device's OS, usually are the most common and already installed in your device: `system-ui, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"`. Those are mostly used for:
# Example Header H1
## Example Header H2
### Example Header H3
#### Example Header H4
##### Example Header H5
**Example paragraph text**
The fonts selected will help to communicate the personality of the brand and provide maximum legibility for both print and screen.
`Example <code>`
For code, the approach is the same. Let's the device OS select its default `monospace` one. For example, on Mac will be one of the following:
```
SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New",`
```
# Stacker News Colors
A thoughtfully curated color palette gives SN trust, professionalism, and approachability. Colors play a key role in creating consistent visual experiences through digital and print communications. Make sure you are using the right color codes below:
| # | Name | HEX code | RGB code | HLS |
|---|---|---|---|---|
| ![](https://m.stacker.news/75602) | Bitcoin-only | `#F6911D` | `rgb(246,145,29)` | `hsl(32,92.3%,53.9%)` |
| ![](https://m.stacker.news/75590) | Blackr | `#000000` | `rgb(0,0,0)` | `hsl(0,0%,0%)` |
| ![](https://m.stacker.news/75591) | Dark | `#121214` | `rgb(18,18,20)` | `hsl(240,5.3%,7.5%)` |
| ![](https://m.stacker.news/75592) | Gold | `#FADA5E` | `rgb(250,218,94)` | `hsl(48,94%,67.5%)` |
| ![](https://m.stacker.news/75593) | Gray | `#969696` | `rgb(150,150,150)` | `hsl(0,0%,58.8%)` |
| ![](https://m.stacker.news/75594) | Light | `#F0F0F0` | `rgb(240,240,240)` | `hsl(0,0%,94.1%)` |
| ![](https://m.stacker.news/75595) | Nostrch | `#8C25F4` | `rgb(140,37,244)` | `hsl(270,90.4%,55.1%)` |
| ![](https://m.stacker.news/75596) | Pinkish | `#E685B5` | `rgb(230,133,181)` | `hsl(330,66%,71.2%)` |
| ![](https://m.stacker.news/75597) | Ruby | `#C03221` | `rgb(192,50,33)` | `hsl(6,70.7%,44.1%)` |
| ![](https://m.stacker.news/75598) | Sky Hover | `#007CBE` | `rgb(0,124,190)` | `hsl(201,100%,37.3%)` |
| ![](https://m.stacker.news/75599) | Sky Links | `#2E99D1` | `rgb(46,153,209)` | `hsl(201,63.9%,50%)` |
| ![](https://m.stacker.news/75600) | Sky Visited | `#56798E` | `rgb(86,121,142)` | `hsl(203,24.6%,44.7%)` |
| ![](https://m.stacker.news/75601) | So Fiat | `#5C8001` | `rgb(92,128,1)` | `hsl(77,98.4%,25.3%)` |
# Stacker News Icons
SN utilizes a set of bespoke icons that support its communication internally across the platform. Icons help bring instant, intuitive cues for various types of content and features. We share them here for you so you can use as you wish and satisfy your creative needs.
| ![Arrow](https://m.stacker.news/75605) `![Arrow](https://m.stacker.news/75605)` | ![Bell](https://m.stacker.news/75606) `![Bell](https://m.stacker.news/75606)` | ![Bounty](https://m.stacker.news/75607) `[Bounty](https://m.stacker.news/75607)` | ![Caret](https://m.stacker.news/75608) `[Caret](https://m.stacker.news/75608)` | ![Cowboy](https://m.stacker.news/75609) `[Cowboy](https://m.stacker.news/75609)` | ![Sun](https://m.stacker.news/75610) `[Sun](https://m.stacker.news/75610)` |
|---|---|---|---|---|---|
| ![Edit](https://m.stacker.news/75611) **`[Edit](https://m.stacker.news/75611)`** | ![Gun](https://m.stacker.news/75612) **`[Gun](https://m.stacker.news/75612)`** | ![Horse](https://m.stacker.news/75613) **`[Horse](https://m.stacker.news/75613)`** | ![Info](https://m.stacker.news/75614) **`[Info](https://m.stacker.news/75614)`** | ![Moon](https://m.stacker.news/75615) **`[Moon](https://m.stacker.news/75615)`** | ![Lightning](https://m.stacker.news/75616) **`[Lightning](https://m.stacker.news/75616)`**|
| ![Bald Lost Hat](https://m.stacker.news/75617) **`[Bald Lost Hat](https://m.stacker.news/75617)`**| ![Markdown](https://m.stacker.news/75618) **`[Markdown](https://m.stacker.news/75618)`**| ![Nostr](https://m.stacker.news/75619) **`[Nostr](https://m.stacker.news/75619)`**| ![Referral](https://m.stacker.news/75620) **`[Referral](https://m.stacker.news/75620)`**| ![Rewards](https://m.stacker.news/75621) **`[Rewards](https://m.stacker.news/75621)`**| ![Horse Lost Saddle](https://m.stacker.news/75622) **`[Horse Lost Saddle](https://m.stacker.news/75622)`**| ![Search](https://m.stacker.news/75623) **`[Search](https://m.stacker.news/75623)`** |
|![Shoot](https://m.stacker.news/75624) **`[Shoot](https://m.stacker.news/75624)`** |![Texas](https://m.stacker.news/75625) **`[Texas](https://m.stacker.news/75625)`** | ![Upload](https://m.stacker.news/75626) **`[Upload](https://m.stacker.news/75626)`** | ![Zap Zap](https://m.stacker.news/75627) **`[Zap Zap](https://m.stacker.news/75627)`** |||
# Stacker News Banners
Banners are important visual elements used in our digital platforms and marketing materials. They help to highlight key stories, features or announcements while maintaining our brand aesthetic.
Here below you'll find custom banners for Sn and for individial territories. I try to build those that I follow most, for now @AGORA is the only one that designed its own banners. Comment below if you'd like some banners for your territory!
#### SN Dark background
|970x250|
|---|
|![](https://m.stacker.news/75654) `![](https://m.stacker.news/75654` |
|250x250|300x250|300x600|
|---|---|---|
|![](https://m.stacker.news/75656)`![](https://m.stacker.news/75656)`|![](https://m.stacker.news/75657)`![](https://m.stacker.news/75657)`|![](https://m.stacker.news/75658)`![](https://m.stacker.news/75658)`|
|728x90|
|---|
| ![](https://m.stacker.news/75655) `![](https://m.stacker.news/75655)` |
#### SN Gold background
|970x250|
|---|
|![](https://m.stacker.news/75641)`![](https://m.stacker.news/75641)` |
|250x250|300x250|300x600|
|---|---|---|
|![](https://m.stacker.news/75645)`![](https://m.stacker.news/75645)` | ![](https://m.stacker.news/75646)`![](https://m.stacker.news/75646)` |![](https://m.stacker.news/75647)`![](https://m.stacker.news/75647)` |
|728x90|
|---|
|![](https://m.stacker.news/75648)`![](https://m.stacker.news/75648)` |
#### SN by @Jon_Hodl
|970x250|
|---|
| ![](https://m.stacker.news/75649)`![](https://m.stacker.news/75649)` |
|250x250|300x250|300x600|
|---|---|---|
| ![](https://m.stacker.news/75651)`![](https://m.stacker.news/75651)` | ![](https://m.stacker.news/75652) `![](https://m.stacker.news/75652)`| ![](https://m.stacker.news/75653)`![](https://m.stacker.news/75653)` |
|728x90|
|---|
|![](https://m.stacker.news/75650)`![](https://m.stacker.news/75650)` |
#### ~AGORA territory
The SN P2P Marketplace
|970x250|
|---|
| ![](https://m.stacker.news/75767)`![](https://m.stacker.news/75767)` |
|250x250|300x250|300x600|
|---|---|---|
| ![](https://m.stacker.news/75769)`![](https://m.stacker.news/75769)` | ![](https://m.stacker.news/75770)`![](https://m.stacker.news/75770)`|![](https://m.stacker.news/75771)`![](https://m.stacker.news/75771)`|
|728x90|
|---|
| ![](https://m.stacker.news/75768)`![](https://m.stacker.news/75768)`|
#### ~alter_native territory
|970x250|
|---|
| ![](https://m.stacker.news/75669)`![](https://m.stacker.news/75669)`|
|250x250|300x250|300x600|
|---|---|---|
|![](https://m.stacker.news/75671)`![](https://m.stacker.news/75671)`|![](https://m.stacker.news/75672)`![](https://m.stacker.news/75672)`|![](https://m.stacker.news/75673)`![](https://m.stacker.news/75673)`|
|728x90|
|---|
|![](https://m.stacker.news/75670)`![](https://m.stacker.news/75670)` |
#### ~bitcoin_beginners
|970x250|
|---|
| ![](https://m.stacker.news/75676)`![](https://m.stacker.news/75676)` |
|250x250|300x250|300x600|
|---|---|---|
| ![](https://m.stacker.news/75677)`![](https://m.stacker.news/75677)`|![](https://m.stacker.news/75678)`![](https://m.stacker.news/75678)`|![](https://m.stacker.news/75679)`![](https://m.stacker.news/75679)` |
|728x90|
|---|
| ![](https://m.stacker.news/75675)`![](https://m.stacker.news/75675)`|
#### ~Design territory
|970x250|
|---|
|![](https://m.stacker.news/75659)`![](https://m.stacker.news/75659)`|
|250x250|300x250|300x600|
|---|---|---|
|![](https://m.stacker.news/75661)`![](https://m.stacker.news/75661)`|![](https://m.stacker.news/75662)`![](https://m.stacker.news/75662)`|![](https://m.stacker.news/75663)`![](https://m.stacker.news/75663)`|
|728x90|
|---|
|![](https://m.stacker.news/75660)`![](https://m.stacker.news/75660)`|
#### ~Music territory
|970x250|
|---|
| ![](https://m.stacker.news/75664)`![](https://m.stacker.news/75664)`|
|250x250|300x250|300x600|
|---|---|---|
|![](https://m.stacker.news/75666)`![](https://m.stacker.news/75666)`|![](https://m.stacker.news/75667)`![](https://m.stacker.news/75667)`|![](https://m.stacker.news/75668)`![](https://m.stacker.news/75668)`|
|728x90|
|---|
| ![](https://m.stacker.news/75665)`![](https://m.stacker.news/75665)`|
# Anything else we could add?
If you feel something is missing, or you know a better tool to manage this media kit for SN in a collaborative and FOSS way then, DO share it in a comment below
Territory owners [^1], do you need banners for your territory? Feel free to edit the figma file liked above or comment below sharing your needs or ideas, I'll try to do something for you.
By following these guidelines, we ensure consistency and professionalism in every case where Stacker News is represented here internally to stackers or to our audience in the KYC internet, reinforcing SN credibility as a trusted source for data-driven journalism.
[^1]: FYI: @Aardvark @AGORA @anna @antic @AtlantisPleb @Bell_curve @benwehrman @bitcoinplebdev @Bitter @BlokchainB @ch0k1 @davidw @ek @elvismercury @frostdragon @grayruby @HODLR @inverselarp @Jon_Hodl @k00b @marks @MaxAWebster @mega_dreamer @niftynei @nout @OneOneSeven @OT @PlebLab @Public_N_M_E @RDClark @realBitcoinDog @roytheholographicuniverse @siggy47 @softsimon @south_korea_ln @theschoolofbitcoin @TNStacker @UCantDoThatDotNet @Undisciplined
originally posted at https://stacker.news/items/872925
-
![](/static/nostr-icon-purple-64x64.png)
@ 36cf8956:89ebd9ed
2025-02-01 23:18:02
We spent over $20B.
Why? To defend you, our ally, on the invocation of NATO Article 5.
Now America slaps us with a depression-threatening trade war and threats of annexation.
Unappreciative, disgraceful. We won’t forget.
originally posted at https://stacker.news/items/872895
-
![](/static/nostr-icon-purple-64x64.png)
@ b17fccdf:b7211155
2025-02-01 18:41:27
#### **Next new resources about the MiniBolt guide have been released**:
---
* 🆕 **Roadmap**: [LINK](https://github.com/orgs/minibolt-guide/projects/1)
* 🆕 **Dynamic Network map**: [LINK](https://app.diagrams.net/?tags={}&lightbox=1&target=blank&highlight=0000ff&edit=_blank&layers=1&nav=1&title=networkmap.drawio.png#Uhttps://raw.githubusercontent.com/minibolt-guide/minibolt/main/resources/networkmap.drawio.png)
* 🆕 **Nostr community**: [LINK](https://habla.news/c/[n]addr1qqyy66twd9px7mr5qyf8wumn8ghj7mmxve3ksctfdch8qatzqgstzl7vmurm5gu87qutx3pxwgxddrg39huj809zhmv03scfkus3z4grqsqqpphk2j0aff) < ~ REMOVE the "[]" symbols from the URL (naddr...) to access
* 🆕 **Linktr FOSS** (UC) by [Gzuuus](nostr:npub1gzuushllat7pet0ccv9yuhygvc8ldeyhrgxuwg744dn5khnpk3gs3ea5ds): [LINK](https://linktr.minibolt.info)
* 🆕 **Donate webpage**: 🚾 [Clearnet LINK](https://donate.minibolt.info) || 🧅 [Onion LINK](http://3iqm7nidexns5p6wmgc23ibgiscm6rge7hwyeziviwgav4fl7xui4mqd.onion/apps/Li3AtEGDsqNmNddv6rX69taidm3/pos)
* 🆕 **Contact email**: [hello@minibolt.info](mailto:hello@minibolt.info)
---
Enjoy it MiniBolter! 💙
-
![](/static/nostr-icon-purple-64x64.png)
@ da0b9bc3:4e30a4a9
2025-02-01 15:59:03
I thought it easier to do a thread per day rather than per game.
Today's fixtures
Scotland V Italy
England V Ireland
originally posted at https://stacker.news/items/872386
-
![](/static/nostr-icon-purple-64x64.png)
@ 5d4b6c8d:8a1c1ee3
2025-02-01 14:46:05
For the past few years, I've used February to get back on track with my fasting habits.
As I've described elsewhere, I try to do daily intermittent dry fasting. That's basically just a fancy way of saying that I stop eating and drinking fairly early and don't start again until later in the next today.
I'll try to do daily updates, throughout the month, for my own accountability.
Feel free to hop on if there's anything you need an accountability boost on.
----------
I'm about to drink some coffee. It's been about 13 hours since I ate or drank anything. From my understanding, that's pretty much the minimum needed for any benefit.
originally posted at https://stacker.news/items/872299
-
![](/static/nostr-icon-purple-64x64.png)
@ 9e69e420:d12360c2
2025-02-01 11:16:04
![video]( https://service-pkgabcnews.akamaized.net/opp/hls/abcnews/2025/01/250128_abcnl_2p_dei_manager_hewlett_,500,800,1200,1800,2500,3200,4500,.mp4.csmil/playlist.m3u8)
Federal employees must remove pronouns from email signatures by the end of the day. This directive comes from internal memos tied to two executive orders signed by Donald Trump. The orders target diversity and equity programs within the government.
![image]( https://i.abcnewsfe.com/a/10eaacfd-9837-4b55-99a1-d3146c35cd3b/donald-trump-5-rt-gmh-250131_1738335513877_hpMain.jpg)
CDC, Department of Transportation, and Department of Energy employees were affected. Staff were instructed to make changes in line with revised policy prohibiting certain language.
One CDC employee shared frustration, stating, “In my decade-plus years at CDC, I've never been told what I can and can't put in my email signature.” The directive is part of a broader effort to eliminate DEI initiatives from federal discourse.
-
![](/static/nostr-icon-purple-64x64.png)
@ da0b9bc3:4e30a4a9
2025-02-01 09:45:00
Hello Stackers!
Welcome on into the ~Music Corner of the Saloon!
A place where we Talk Music. Share Tracks. Zap Sats.
So stay a while and listen.
🚨Don't forget to check out the pinned items in the territory homepage! You can always find the latest weeklies there!🚨
🚨Subscribe to the territory to ensure you never miss a post! 🚨
originally posted at https://stacker.news/items/872135
-
![](/static/nostr-icon-purple-64x64.png)
@ 2e8970de:63345c7a
2025-02-01 09:39:04
![](https://video.twimg.com/ext_tw_video/1885448035485855744/pu/vid/avc1/1280x720/WUvrHL-WCyhtjZ2o.mp4?tag=12)
https://x.com/flavioAd/status/1885449107436679394
originally posted at https://stacker.news/items/872130
-
![](/static/nostr-icon-purple-64x64.png)
@ 000002de:c05780a7
2025-02-01 05:23:37
![](https://m.stacker.news/75547)
originally posted at https://stacker.news/items/872035
-
![](/static/nostr-icon-purple-64x64.png)
@ 000002de:c05780a7
2025-01-31 17:00:26
Since the addition of cowboy credits on SN some have talked about how this is a mistake. CoinOS just [announced an attack](https://stacker.news/items/870821) that exposed users accounts to compromise. I think the argument is to use cowboy credits on SN instead of these custodial wallets like Minibits or CoinOS because of the frequency of small transactions. That indeed is no doubt putting stress on these services. But, is this a reason to not use them.
I would actually like to hear from the devs on this one. I am using both of these services mostly to give them feedback, help they work out issues, and use the tools. I also use sovereign wallets and my own nodes. Is my use of these hosted NWC providers hurting these apps and their devs. My gut says no. My gut and experience tells me that there are certain issues an app/service is not aware of until actual real usage pressure is applied. Now, if too much pressure is applied to soon that can be very disruptive to the devs and their project.
Would love to hear from devs both working on Minibits and CoinOS on this but also any devs that do relevant work. I've worked in the field of hosted apps and web sites from over twenty years now. Scaling is not easy or cheap. IMO the Lightning network and eCash need to be stress tested. Not saying this as a slight but if the users of SN can take down a service it has a long way to go before bitcoin adoption even approaches 5%.
What am I missing? I'm sure I'm missing some things.
originally posted at https://stacker.news/items/871299
-
![](/static/nostr-icon-purple-64x64.png)
@ 5d4b6c8d:8a1c1ee3
2025-01-31 16:28:47
Here are today's picks using my proprietary betting strategy at [Freebitcoin](https://freebitco.in/?r=51325722). For details about what Risk Balanced Odds Arbitrage is and why it works see https://stacker.news/items/342765/r/Undisciplined.
For a hypothetical 1k-ish wager on each match, distribute your sats as follows:
| Outcome 1 | Outcome 2 | Outcome 3 | Bet 1 | Bet 2 | Bet 3 |
|--------------|-------------|--------------|-------|-------|-------|
| Napoli| Udinese| Draw | 688| 125| 222|
| Inter Milan| Fiorentina| Draw | 667| 133| 217|
| Empoli| AC Milan| Draw | 200| 571| 250|
| Como| Juventus| Draw | 279| 464| 286|
| Sevilla| Barcelona| Draw | 174| 630| 222|
| Real Sociedad| Espanyol| Draw | 660| 133| 238|
| Real Madrid| Atletico Madrid| Draw | 565| 211| 263|
| RB Leipzig| FC St Pauli| Draw | 652| 154| 217|
| FC Bayern| Werder| Draw | 875| 53| 100|
| Dortmund| VfB Stuttgart| Draw | 458| 313| 263|
| Man City| Newcastle| Draw | 588| 213| 222|
| Leicester| Arsenal| Draw | 100| 750| 167|
| Everton| Liverpool| Draw | 125| 688| 200|
| Brighton| Chelsea| Draw | 323| 421| 267|
Overall, I'm holding steady at about a 2.5% return with this approach.
I still haven't precisely identified where the threshold is, but it might be worth skipping any of these with a "time weight multiplier" lower than 90.
----------
A note of caution about Freebitcoin: they recorded the wrong outcome for last week's Bills vs Ravens game and as of yet have not corrected it. I recall one other instance of something similar happening, so proceed with caution.
This RBOA strategy is largely immune from that problem, but be aware of it when just betting on one outcome.
originally posted at https://stacker.news/items/871258
-
![](/static/nostr-icon-purple-64x64.png)
@ 5d4b6c8d:8a1c1ee3
2025-01-31 14:44:46
Now that the NFL season is over, we can turn our attention to other sports and next season.
Ongoing Contests
- [Criczap](https://stacker.news/items/867498/r/Undisciplined)
- [UEFA](https://stacker.news/items/864598/r/Undisciplined)
- [USA vs the world](https://stacker.news/items/866726/r/Undisciplined): I wonder what new and excited sport we'll get this week.
- [NBA Prediction Contest](https://stacker.news/items/865017/r/Undisciplined): Today's your last chance to make January changes. A lot of you still have Luka, who will not be eligible for end of season awards.
NFL Offseason News
- The Bills season once again ended in a close game with the Chiefs, where the combination of better play and helpful officiating put the Chiefs over the top.
- Most teams have landed their coaches
- What's going to happen in Free Agency and the draft?
NBA News
- Trade season is upon us and some big names are looking for new homes. Will anything happen, though?
- Who are [the top 10 players](https://stacker.news/items/867841/r/Undisciplined) in the league?
- Is Jokic the best player ever? https://stacker.news/items/861853/r/Undisciplined
NHL
- Is Ovi still on track to become the all-time leading scorer?
- Why does @grayruby despise his hometown Maple Leafs? (listener request)
Golf
- TGL may have finally had a good match
WWE
- Netflix hosted the Royal Rumble this year
Sports Betting
- Predyx is back up and running
originally posted at https://stacker.news/items/871111
-
![](/static/nostr-icon-purple-64x64.png)
@ da0b9bc3:4e30a4a9
2025-01-31 14:00:57
It's Finally here Stackers!
It's Friday!
We're about to kick off our weekends with some feel good tracks.
Let's get the party started. Bring me those Feel Good tracks.
Talk Music. Share Tracks. Zap Sats.
Let's go!
Come up and see me, make me smile!
https://youtu.be/dAoaVU3-ve0?si=JBdfGJhM05Qa_JeT
originally posted at https://stacker.news/items/871055
-
![](/static/nostr-icon-purple-64x64.png)
@ da0b9bc3:4e30a4a9
2025-01-31 10:50:35
Hello Stackers!
Welcome on into the ~Music Corner of the Saloon!
A place where we Talk Music. Share Tracks. Zap Sats.
So stay a while and listen.
🚨Don't forget to check out the pinned items in the territory homepage! You can always find the latest weeklies there!🚨
🚨Subscribe to the territory to ensure you never miss a post! 🚨
originally posted at https://stacker.news/items/870889
-
![](/static/nostr-icon-purple-64x64.png)
@ 57d1a264:69f1fee1
2025-01-31 04:08:52
# Ready to be pushed beyond what you think you’re capable of?
At Coinbase, our mission is to increase economic freedom in the world. It’s a massive, ambitious opportunity that demands the best of us, every day, as we build the emerging onchain platform — and with it, the future global financial system.
To achieve our mission, we’re seeking a very specific candidate. We want someone who is passionate about our mission and who believes in the power of crypto and blockchain technology to update the financial system. We want someone who is eager to leave their mark on the world, who relishes the pressure and privilege of working with high caliber colleagues, and who actively seeks feedback to keep leveling up. We want someone who will run towards, not away from, solving the company’s hardest problems.
Our [work culture](https://www.coinbase.com/mission) is intense and isn’t for everyone. But if you want to build the future alongside others who excel in their disciplines and expect the same from you, there’s no better place to be.
Coinbase Developer Platform (CDP) is building the developer tools to bring the world onchain.
Today, onchain development is slow, risky, and painful, even for the most experienced onchain developers. Our goal is to bring a million developers onchain by creating an easy to use and trusted developer experience. We build API and SDK products for developers like wallets, paymaster, staking, stablecoins, onchain data, and more.
We are a small team that moves like a startup at Coinbase, with a fast pace, strong ownership culture, and a relentless commitment to making developers happy.
We are looking for a UX Researcher to help us build products and tools that support the developer experience. By researching the usability and ease of integration, the developer journey, user types, opportunities to improve documentation, and the developer's overall experience you will drive material product impact. You will also empower and enable the product team to conduct their own research through your expert consultation and facilitation.
**What you’ll be doing**
* Leading the UX Research function for our Developer Product Group, working in close partnership with the Design and Product teams - from large foundational and generative projects to evaluative, tactical, and investigative quick wins
* Coordinate and conduct mixed-methods research, including interviews, usability testing, concept testing, surveys, fieldwork, and other methods as needed
* Provide thoughtful guidance and education to stakeholders to turn vague business needs into actionable research questions
* Creatively think of new ways to enable the team to more easily gather their own feedback from developers.
* Craft research reports to clearly communicate your findings and make impactful design and product recommendations for the team.
**What we look for in you**
* 7+ years of user research experience, preferably with some experience in a lead role or primary point of contact for a large product area with many stakeholders
* Experience scaling UXR so that a variety of stakeholders can conduct effective and valuable research under your guidance
* Experience researching developer products and tools
* Working knowledge of general research principles (experimental design, bias, confounds, etc.) and UX research principles (usability testing, design thinking, etc.).
* Provides both confident team leadership and patient guidance to a range of stakeholder levels, including guiding designers and PMs through their own research
* Easily communicates complex concepts, with ability to influence strategy and decision making
* Can successfully manage project prioritization and multiple stakeholder relationships independently
* Experience with both moderated & unmoderated testing
* Collaborative attitude, team mentality, and humility
* A learner’s mindset, seeing feedback as a chance to grow
* Interest in crypto or financial products
**Nice to haves**
* Research experience working with AI
* Experience as a developer
* User of Coinbase products
Job ID: GDUXR06US
\*Answers to crypto-related questions may be used to evaluate your onchain experience
**Pay Transparency Notice:** Depending on your work location, the target annual salary for this position can range as detailed below. Full time offers from Coinbase also include target bonus + target equity + benefits (including medical, dental, vision and 401(k)).
Pay Range:
$193,970—$228,200 USD
### Commitment to Equal Opportunity
Coinbase is committed to diversity in its workforce and is proud to be an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, creed, gender, national origin, age, disability, veteran status, sex, gender expression or identity, sexual orientation or any other basis protected by applicable law. Coinbase will also consider for employment qualified applicants with criminal histories in a manner consistent with applicable federal, state and local law. For US applicants, you may view the Know Your Rights notice [here](https://www.eeoc.gov/sites/default/files/2022-10/22-088_EEOC_KnowYourRights_10_20.pdf). Additionally, Coinbase participates in the [E-Verify program](https://static-assets.coinbase.com/e-verify.pdf) in certain locations, as required by law.
Coinbase is also committed to providing reasonable accommodations to individuals with disabilities. If you need a reasonable accommodation because of a disability for any part of the employment process, please contact us at accommodations\[at\]coinbase.com to let us know the nature of your request and your contact information. For quick access to screen reading technology compatible with this site [click here to download](https://chrome.google.com/webstore/detail/chromevox/kgejglhpjiefppelpmljglcjbhoiplfn) a free compatible screen reader [(free step by step tutorial can be found here)](http://www.chromevox.com/tutorial/).
### Global Data Privacy Notice for Job Candidates and Applicants
Depending on your location, the General Data Protection Regulation (GDPR) and California Consumer Privacy Act (CCPA) may regulate the way we manage the data of job applicants. Our full notice outlining how data will be processed as part of the application procedure for applicable locations is available [here](https://www.coinbase.com/legal/applicant_privacy_notice). By submitting your application, you are agreeing to our use and processing of your data as required. For US applicants only, by submitting your application you are agreeing to arbitration of disputes as outlined [here.](https://www.coinbase.com/legal/application-arbitration-agreement)
[Apply](https://boards.greenhouse.io/embed/job_app?token=6382306&for=coinbase)
originally posted at https://stacker.news/items/870703
-
![](/static/nostr-icon-purple-64x64.png)
@ 57d1a264:69f1fee1
2025-01-31 02:07:27
![](https://m.stacker.news/75376)
Bitcoin Design members have been involved in organizing various events (and sometimes just attend, too). Here below is what do we want to do in 2025:
- **[Designathon 2](https://github.com/BitcoinDesign/Meta/issues/625)** - We are organizing this event between February or March.
- **[Accessibility Day](https://accessibility.day)** - May 15
- - BDC has participated in this global initiative the last two years. Probably doing so again!
- **[BTC Prague](https://btcprague.com)** -Participation Confirmed. Planning issues [here](https://github.com/BitcoinDesign/Meta/issues/745) - June 19 - 21
- * We organized the design track for dev day in 2023 and 2024. Do this again[\[k\]](#cmnt11)[\[l\]](#cmnt12)? It’s going to be on June 18, before the main conference.
- * 2024 was great, in that we had a nice group of designers attend, do talks, go for dinner, etc.
- **[Summer of Bitcoin](https://www.google.com/url?q=https://www.summerofbitcoin.org)**
- * Several designers and projects participated each of the last 3 years. Probably doing so again!
- * Applications open on Feb 1, main program is May to August ([timeline](https://www.summerofbitcoin.org/how-it-works/)
- **UX Bootcamps**
- * Previous: South America
- * Next: [South America](https://www.bitcoinuxbootcamp.xyz/southamerica) - February 17 - 22
- **[Bitshala fellowship](https://bitshala.org)**
- * First iteration of this fellowship is from January to July
- * We will help find more designers, projects, and funding in India
- **[Oslo Freedom Forum](https://oslofreedomforum.com)** - Oslo, May 26-28
- * Activist and financial repression use cases are uniquely important use cases for bitcoin.
- * Several people attended last year. Conversations lead to new initiatives.
- **[BTCHEL](https://btchel.com/)** - by BTC Helsinki Community - Aug 15-16
- * First large-scale bitcoin conference in the Nordics with particular focus to onboard new users to bitcoin
- **Bitcoin Presidio design week**
- * This is a new Bitcoin co-working space in San Francisco, also announced here https://stacker.news/items/860931/r/Design_r. The idea came up to organize a design week there to support the creation of art and decoration for the new co-working space. Just an idea at the moment, but why not make it happen?
- * [Discussion issue](https://github.com/BitcoinDesign/Meta/issues/746).
- **BuildWithLDK**
- * An initiative to promote LDK and LDK Node for building lightning applications. There could be collaboration around a Designathon, connecting designers with hackathon projects, etc. Still in early planning.
- **Builder conferences**: These are very builder-focused, making them good opportunities to connect, organize practical design workshops, creative presentations, and support projects from a design perspective
- * [Baltic Honeybadger](https://baltichoneybadger.com) (August 9-10),
- * [TABConf](http://tabconf.com)
- * [Bitcoin++](https://btcplusplus.dev) There are going to be 6 of them throughout the year.
- * [SATS’N’FACTS](https://satsandfacts.btc.pub/) (February 8-10) Bitcoin Technical Unconference, Hackathon & Freedom Tech Art Exhibition
- **Open-source conferences & events*
- * [FOSS Backstage](http://foss-backstage.de) (Berlin, Mar 10-11) - Christoph will present the Open Design Guide
- * [FOSDEM](https://fosdem.org/2025/) (Brussels, Feb 1-2) - anyone attending?
- **Design conferences & events** - Makes sense to be involved with design-only events, right?
* [OFFF](https://www.offf.barcelona) - very creative-focused (Barcelona, May 8-10)
* [CSUN Accessibility conference](https://www.csun.edu/cod/conference/sessions/)
**Other Ideas**
* Bitcoin Park - they might organize another design event like two years ago https://stacker.news/items/705081/r/Design_r
**Links**
* [Comprehensive list](https://docs.google.com/spreadsheets/d/147AXd8hN3uO3v_P1dupgfRCRzSMlH85dvQSHPAg7lZ4/edit?usp%3Dsharing) of bitcoin conferences
- - -
… what’s missing from this page? Are you involved with anything? Or want to be? Comment below or join us on https://discord.com/channels/903125802726596648/1087394066796384276
You can watch the recording from
https://www.youtube.com/watch?v=GGS3oSlLmAo
originally posted at https://stacker.news/items/870638
-
![](/static/nostr-icon-purple-64x64.png)
@ 5d4b6c8d:8a1c1ee3
2025-01-31 02:01:24
The Raiders just re-signed DC Patrick Graham. This is a huge relief. Graham is an excellent DC and there was a very high likelihood of him leaving for another team.
Retaining Graham also provides some much needed continuity and sheds a lot of light on what direction they're likely to go. There are a ton of free agents from last year's defense and I think the best players will likely be back.
With that in mind, let's get a look at how the Raiders 2025 roster is looking as we enter the offseason.
## Position Groups
I'm going to sort guys by "elite", "good starter", "average", "solid backup" and just hope anyone worse than a solid backup is cut or waived.
### QB
1 Solid Backup
AOC is our only real QB and he should be the backup. They need to draft a high upside QB and possibly take a flyer on a vet who they can buy low on.
### RB
3 Solid Backups
None of these guys are who you want to build around, but they're all better than the guy who got most of the RB snaps this season: McCormack and Mattison might even be average.
They need to draft or sign a good or elite RB.
### WR
1 Good, 1 Average, 1 Solid Backup
The best receiver on this team is in the next group. Adding another average, or better, receiver would be nice, but it's not a priority. They just need depth and scheme fit.
### TE
1 Elite, 1 Good Starter
This is the best TE duo in the league. Mayer would be TE1 on most squads and Bowers is the best in the league. They just have to identify a couple of depth guys for special teams and 13 personnel sets.
### O-Line
1 Elite, 3 Average, 2 Solid Backup
Calling JPJ "elite" might be jumping the gun, but he was fantastic in the few games that he actually got to play center. Kolton Miller might be good, but he was trash this past season, so I'm calling him average for now. Either way, they should be looking for an elite tackle and better guards.
### D-Line
2 Elite, 2 Good Starter, 2 Average, 2 Solid Backups
This line should be the strength of the team and one of the better lines in the league. Despite injuries to three of the four best players, they still played really well last season.
They really don't need to add to this group, but I've been mocking Mason Graham to them, which would mean an absolutely dominant group.
### LB
1 Good Starter
Robert Spillane has been better than anyone imagined, but they need to find him better help. Hopefully, that's a combination of high upside rookies and cheap solid veteran FA's.
Patrick Graham mostly uses a nickel defense and even uses dime packages, so there's not a ton of value in loading up on more high-level LB's.
### Safety
2 Good Starters, 1 Average
All three of these guys are free agents and they may not re-sign Epps. They mostly just need depth guys.
### CB
1 Good Starter, 2 Average, 1 Solid Backup
I had a hard time rating all three of the starters. One of them is probably good, but I'm not sure which one. The bottom line is that this group is fine, but the team needs more high-end talent.
### ST
2 Elite
Carlson and Cole are the best special teams duo in the league.
-------
There's room to upgrade pretty much every position, which makes the draft a bit easier. As long as they don't draft anymore TE1's, they can just go BPA.
In free agency, I think the focus should be on the O-line and RB room. If there's an upgrade at QB available, obviously jump on it, but they shouldn't break the bank going after the guys we know are available.
originally posted at https://stacker.news/items/870633
-
![](/static/nostr-icon-purple-64x64.png)
@ 000002de:c05780a7
2025-01-30 21:17:26
![](https://m.stacker.news/75352)
> The Debian Publicity Team will no longer post on X/Twitter. We took this decision since we feel X doesn't reflect Debian shared values as stated in our social contract, code of conduct and diversity statement. X evolved into a place where people we care about don't feel safe.
A couple red flags in this post that explain their actions.
1. Shared values - projects that have broad values statements are prone to isolation over time
2. Social contract - that's a meaningless vapid term
I have no issue with code of conduct guidelines or having value statements but when you pick sides on cultural divides and things that are not at all related to the logical objective of a project you are going to end up where Debian has landed.
X has its issues, I'm not a fan but the reasoning behind this seems really off.
One Debian user responded with what I thought was a good summary of why this is a bad move.
> I'm a long-time Debian user and fan, and am also one of the champions for using Debian in space-based applications at NASA.
> IMO this is a short-sighted and foolish decision. The notion of "values" is bring sadly misapplied here.
> I urge you to reconsider. More channels of communication, even with those whom you disagree with, is good for both Debian and your user community.
I'm not into the "anti-woke" or "woke" crap and I dare say most people that use Linux do not care about either side very much at all. A loud minority has been gaining power in these types of projects for a long time. Today we have very loud counters to that group that also can be annoying and out of line.
Will be interesting to watch this all unfold over the next few years. Conservatives seem to be running victory laps and I think that's not only premature but also counter-productive.
I can see leaving X for other reasons.
* Debian users are really using it to communicate with the project
* The Debian publicity team isn't seeing very much of a response for their efforts
* X has become more about politics than tech and communication
* Specific examples of how X is causing issues for the project
They do say this
> X evolved into a place where people we care about don't feel safe.
That's too bad but honestly I don't buy it. Maybe I don't spend enough time on X to have much credibility on this but I'm skeptical of this being the case.
originally posted at https://stacker.news/items/870437
-
![](/static/nostr-icon-purple-64x64.png)
@ 2e8970de:63345c7a
2025-01-30 17:29:52
![](https://pbs.twimg.com/media/GijCG2zWAAAMdo7?format=png&name=4096x4096)
https://x.com/MistralAI/status/1884967826215059681
https://mistral.ai/news/mistral-small-3/
originally posted at https://stacker.news/items/870135
-
![](/static/nostr-icon-purple-64x64.png)
@ 97c70a44:ad98e322
2025-01-30 17:15:37
There was a slight dust up recently over a website someone runs removing a listing for an app someone built based on entirely arbitrary criteria. I'm not to going to attempt to speak for either wounded party, but I would like to share my own personal definition for what constitutes a "nostr app" in an effort to help clarify what might be an otherwise confusing and opaque purity test.
In this post, I will be committing the "no true Scotsman" fallacy, in which I start with the most liberal definition I can come up with, and gradually refine it until all that is left is the purest, gleamingest, most imaginary and unattainable nostr app imaginable. As I write this, I wonder if anything built yet will actually qualify. In any case, here we go.
# It uses nostr
The lowest bar for what a "nostr app" might be is an app ("application" - i.e. software, not necessarily a native app of any kind) that has some nostr-specific code in it, but which doesn't take any advantage of what makes nostr distinctive as a protocol.
Examples might include a scraper of some kind which fulfills its charter by fetching data from relays (regardless of whether it validates or retains signatures). Another might be a regular web 2.0 app which provides an option to "log in with nostr" by requesting and storing the user's public key.
In either case, the fact that nostr is involved is entirely neutral. A scraper can scrape html, pdfs, jsonl, whatever data source - nostr relays are just another target. Likewise, a user's key in this scenario is treated merely as an opaque identifier, with no appreciation for the super powers it brings along.
In most cases, this kind of app only exists as a marketing ploy, or less cynically, because it wants to get in on the hype of being a "nostr app", without the developer quite understanding what that means, or having the budget to execute properly on the claim.
# It leverages nostr
Some of you might be wondering, "isn't 'leverage' a synonym for 'use'?" And you would be right, but for one connotative difference. It's possible to "use" something improperly, but by definition leverage gives you a mechanical advantage that you wouldn't otherwise have. This is the second category of "nostr app".
This kind of app gets some benefit out of the nostr protocol and network, but in an entirely selfish fashion. The intention of this kind of app is not to augment the nostr network, but to augment its own UX by borrowing some nifty thing from the protocol without really contributing anything back.
Some examples might include:
- Using nostr signers to encrypt or sign data, and then store that data on a proprietary server.
- Using nostr relays as a kind of low-code backend, but using proprietary event payloads.
- Using nostr event kinds to represent data (why), but not leveraging the trustlessness that buys you.
An application in this category might even communicate to its users via nostr DMs - but this doesn't make it a "nostr app" any more than a website that emails you hot deals on herbal supplements is an "email app". These apps are purely parasitic on the nostr ecosystem.
In the long-term, that's not necessarily a bad thing. Email's ubiquity is self-reinforcing. But in the short term, this kind of "nostr app" can actually do damage to nostr's reputation by over-promising and under-delivering.
# It complements nostr
Next up, we have apps that get some benefit out of nostr as above, but give back by providing a unique value proposition to nostr users as nostr users. This is a bit of a fine distinction, but for me this category is for apps which focus on solving problems that nostr isn't good at solving, leaving the nostr integration in a secondary or supporting role.
One example of this kind of app was Mutiny (RIP), which not only allowed users to sign in with nostr, but also pulled those users' social graphs so that users could send money to people they knew and trusted. Mutiny was doing a great job of leveraging nostr, as well as providing value to users with nostr identities - but it was still primarily a bitcoin wallet, not a "nostr app" in the purest sense.
Other examples are things like Nostr Nests and Zap.stream, whose core value proposition is streaming video or audio content. Both make great use of nostr identities, data formats, and relays, but they're primarily streaming apps. A good litmus test for things like this is: if you got rid of nostr, would it be the same product (even if inferior in certain ways)?
A similar category is infrastructure providers that benefit nostr by their existence (and may in fact be targeted explicitly at nostr users), but do things in a centralized, old-web way; for example: media hosts, DNS registrars, hosting providers, and CDNs.
To be clear here, I'm not casting aspersions (I don't even know what those are, or where to buy them). All the apps mentioned above use nostr to great effect, and are a real benefit to nostr users. But they are not True Scotsmen.
# It embodies nostr
Ok, here we go. This is the crème de la crème, the top du top, the meilleur du meilleur, the bee's knees. The purest, holiest, most chaste category of nostr app out there. The apps which are, indeed, nostr indigitate.
This category of nostr app (see, no quotes this time) can be defined by the converse of the previous category. If nostr was removed from this type of application, would it be impossible to create the same product?
To tease this apart a bit, apps that leverage the technical aspects of nostr are dependent on nostr the *protocol*, while apps that benefit nostr exclusively via network effect are integrated into nostr the *network*. An app that does both things is working in symbiosis with nostr as a whole.
An app that embraces both nostr's protocol and its network becomes an organic extension of every other nostr app out there, multiplying both its competitive moat and its contribution to the ecosystem:
- In contrast to apps that only borrow from nostr on the technical level but continue to operate in their own silos, an application integrated into the nostr network comes pre-packaged with existing users, and is able to provide more value to those users because of other nostr products. On nostr, it's a good thing to advertise your competitors.
- In contrast to apps that only market themselves to nostr users without building out a deep integration on the protocol level, a deeply integrated app becomes an asset to every other nostr app by becoming an organic extension of them through interoperability. This results in increased traffic to the app as other developers and users refer people to it instead of solving their problem on their own. This is the "micro-apps" utopia we've all been waiting for.
Credible exit doesn't matter if there aren't alternative services. Interoperability is pointless if other applications don't offer something your app doesn't. Marketing to nostr users doesn't matter if you don't augment their agency _as nostr users_.
If I had to choose a single NIP that represents the mindset behind this kind of app, it would be NIP 89 A.K.A. "Recommended Application Handlers", which states:
> Nostr's discoverability and transparent event interaction is one of its most interesting/novel mechanics. This NIP provides a simple way for clients to discover applications that handle events of a specific kind to ensure smooth cross-client and cross-kind interactions.
These handlers are the glue that holds nostr apps together. A single event, signed by the developer of an application (or by the application's own account) tells anyone who wants to know 1. what event kinds the app supports, 2. how to link to the app (if it's a client), and (if the pubkey also publishes a kind 10002), 3. which relays the app prefers.
_As a sidenote, NIP 89 is currently focused more on clients, leaving DVMs, relays, signers, etc somewhat out in the cold. Updating 89 to include tailored listings for each kind of supporting app would be a huge improvement to the protocol. This, plus a good front end for navigating these listings (sorry nostrapp.link, close but no cigar) would obviate the evil centralized websites that curate apps based on arbitrary criteria._
Examples of this kind of app obviously include many kind 1 clients, as well as clients that attempt to bring the benefits of the nostr protocol and network to new use cases - whether long form content, video, image posts, music, emojis, recipes, project management, or any other "content type".
To drill down into one example, let's think for a moment about forms. What's so great about a forms app that is built on nostr? Well,
- There is a [spec](https://github.com/nostr-protocol/nips/pull/1190) for forms and responses, which means that...
- Multiple clients can implement the same data format, allowing for credible exit and user choice, even of...
- Other products not focused on forms, which can still view, respond to, or embed forms, and which can send their users via NIP 89 to a client that does...
- Cryptographically sign forms and responses, which means they are self-authenticating and can be sent to...
- Multiple relays, which reduces the amount of trust necessary to be confident results haven't been deliberately "lost".
Show me a forms product that does all of those things, and isn't built on nostr. You can't, because it doesn't exist. Meanwhile, there are plenty of image hosts with APIs, streaming services, and bitcoin wallets which have basically the same levels of censorship resistance, interoperability, and network effect as if they weren't built on nostr.
# It supports nostr
Notice I haven't said anything about whether relays, signers, blossom servers, software libraries, DVMs, and the accumulated addenda of the nostr ecosystem are nostr apps. Well, they are (usually).
This is the category of nostr app that gets none of the credit for doing all of the work. There's no question that they qualify as beautiful nostrcorns, because their value propositions are entirely meaningless outside of the context of nostr. Who needs a signer if you don't have a cryptographic identity you need to protect? DVMs are literally impossible to use without relays. How are you going to find the blossom server that will serve a given hash if you don't know which servers the publishing user has selected to store their content?
In addition to being entirely contextualized by nostr architecture, this type of nostr app is valuable because it does things "the nostr way". By that I mean that they don't simply try to replicate existing internet functionality into a nostr context; instead, they create entirely new ways of putting the basic building blocks of the internet back together.
A great example of this is how Nostr Connect, Nostr Wallet Connect, and DVMs all use relays as brokers, which allows service providers to avoid having to accept incoming network connections. This opens up really interesting possibilities all on its own.
So while I might hesitate to call many of these things "apps", they are certainly "nostr".
# Appendix: it smells like a NINO
So, let's say you've created an app, but when you show it to people they politely smile, nod, and call it a NINO (Nostr In Name Only). What's a hacker to do? Well, here's your handy-dandy guide on how to wash that NINO stench off and Become a Nostr.
You app might be a NINO if:
- There's no NIP for your data format (or you're abusing NIP 78, 32, etc by inventing a sub-protocol inside an existing event kind)
- There's a NIP, but no one knows about it because it's in a text file on your hard drive (or buried in your project's repository)
- Your NIP imposes an incompatible/centralized/legacy web paradigm onto nostr
- Your NIP relies on trusted third (or first) parties
- There's only one implementation of your NIP (yours)
- Your core value proposition doesn't depend on relays, events, or nostr identities
- One or more relay urls are hard-coded into the source code
- Your app depends on a specific relay implementation to work (*ahem*, relay29)
- You don't validate event signatures
- You don't publish events to relays you don't control
- You don't read events from relays you don't control
- You use legacy web services to solve problems, rather than nostr-native solutions
- You use nostr-native solutions, but you've hardcoded their pubkeys or URLs into your app
- You don't use NIP 89 to discover clients and services
- You haven't published a NIP 89 listing for your app
- You don't leverage your users' web of trust for filtering out spam
- You don't respect your users' mute lists
- You try to "own" your users' data
Now let me just re-iterate - it's ok to be a NINO. We need NINOs, because nostr can't (and shouldn't) tackle every problem. You just need to decide whether your app, as a NINO, is actually contributing to the nostr ecosystem, or whether you're just using buzzwords to whitewash a legacy web software product.
If you're in the former camp, great! If you're in the latter, what are you waiting for? Only you can fix your NINO problem. And there are lots of ways to do this, depending on your own unique situation:
- Drop nostr support if it's not doing anyone any good. If you want to build a normal company and make some money, that's perfectly fine.
- Build out your nostr integration - start taking advantage of webs of trust, self-authenticating data, event handlers, etc.
- Work around the problem. Think you need a special relay feature for your app to work? Guess again. Consider encryption, AUTH, DVMs, or better data formats.
- Think your idea is a good one? Talk to other devs or open a PR to the [nips repo](https://github.com/nostr-protocol/nips). No one can adopt your NIP if they don't know about it.
- Keep going. It can sometimes be hard to distinguish a research project from a NINO. New ideas have to be built out before they can be fully appreciated.
- Listen to advice. Nostr developers are friendly and happy to help. If you're not sure why you're getting traction, ask!
I sincerely hope this article is useful for all of you out there in NINO land. Maybe this made you feel better about not passing the totally optional nostr app purity test. Or maybe it gave you some actionable next steps towards making a great NINON (Nostr In Not Only Name) app. In either case, GM and PV.
-
![](/static/nostr-icon-purple-64x64.png)
@ cbd2779f:72a5b029
2025-01-30 15:08:13
Have a few questions pertaining to setting up a new node. Basically, I always seems to be unsure about syncing to graph, after syncing to chain. Consider setting up a new node from scratch, or migrating perhaps, and you want to do an initial setup.
1. How long does it take?
2. What factors determine how long it takes?
3. Is the graph a universal graph that is identical from each nodes perspective?
So far, I'm monitoring progress but tailing logs, looking for clues:
`tail -n 100 /data/lnd/logs/bitcoin/mainnet/lnd.log | grep GRPH`
I can find some relevant clues like:
```
2025-01-30 15:24:54.843 [INF] GRPH: Processed channels=56 updates=59 nodes=15 in last 59.823699481s
```
and then checking with: `lncli getinfo | grep -E 'synced|peers` which outputs
```
"num_peers": 3,
"synced_to_chain": true,
"synced_to_graph": false,
```
At the moment, I've been experimenting with pruned blockchains and this outputs a lot of errors (I believe) relating to not being able to verify UTXOs as I have `ignore-historical-gossip-filters set to true.
Any further suggestions on how to better make sure things are happening under the hood when setting up a new node, what to look for in the logs or how to know the verification progress?
originally posted at https://stacker.news/items/869944
-
![](/static/nostr-icon-purple-64x64.png)
@ 9e69e420:d12360c2
2025-01-30 12:23:04
Tech stocks have taken a hit globally after China's DeepSeek launched a competitive AI chatbot at a much lower cost than US counterparts. This has stirred market fears of a $1.2 trillion loss across tech companies when trading opens in New York.
DeepSeek’s chatbot quickly topped download charts and surprised experts with its capabilities, developed for only $5.6 million.
The Nasdaq dropped over 3% in premarket trading, with major firms like Nvidia falling more than 10%. SoftBank also saw losses shortly after investing in a significant US AI venture.
Venture capitalist Marc Andreessen called it “AI’s Sputnik moment,” highlighting its potential impact on the industry.
![] (https://www.telegraph.co.uk/content/dam/business/2025/01/27/TELEMMGLPICT000409807198_17379939060750_trans_NvBQzQNjv4BqgsaO8O78rhmZrDxTlQBjdGLvJF5WfpqnBZShRL_tOZw.jpeg)
-
![](/static/nostr-icon-purple-64x64.png)
@ 9e69e420:d12360c2
2025-01-30 12:13:39
Salwan Momika, a Christian Iraqi known for burning the Koran in Sweden, was shot dead during a TikTok livestream in an apartment in Sodertalje. The 38-year-old sparked outrage in the Muslim community for his demonstrations, leading to global condemnation. After being rushed to the hospital, he was pronounced dead.
Authorities arrested five individuals in connection with the incident. Momika's death comes days before a court ruling on his possible incitement of ethnic hatred. The incident highlights the tensions surrounding free speech and religious sentiments, intensifying after his controversial protests in 2023.
[Sauce](https://www.dailymail.co.uk/news/article-14341423/Christian-Iraqi-burnt-Koran-Sweden-shot-dead.html)
-
![](/static/nostr-icon-purple-64x64.png)
@ da0b9bc3:4e30a4a9
2025-01-30 08:17:19
Hello Stackers!
Welcome on into the ~Music Corner of the Saloon!
A place where we Talk Music. Share Tracks. Zap Sats.
So stay a while and listen.
🚨Don't forget to check out the pinned items in the territory homepage! You can always find the latest weeklies there!🚨
🚨Subscribe to the territory to ensure you never miss a post! 🚨
originally posted at https://stacker.news/items/869648
-
![](/static/nostr-icon-purple-64x64.png)
@ 89ccea93:df4e00b7
2025-01-30 06:46:51
[Original post](https://expatriotic.me/expatriotic)
Disillusioned with the country you're in?
Want to live somewhere else?
Can't seem to save at a reasonable rate?
In debt due to high cost of living?
Ready to retire but worried you don't have enough money?
I would argue that a lot of these problems could be solved by moving to a different country.
`Expatriate: one who leaves their country to work abroad. Often called "expats" for short.`
Consider moving to a country with a lower cost of living.
Bring your skills and talents.
Earn a wage while working remotely.
Or find a job abroad that values your labor more than back home, like being an international school teacher (that's what I do).
Instead of waiting until you're 65 to retire. Earn and save in a stronger currency, making a higher income in NYC, LA, Nashville, etc., then abscond to the beaches of Indonesia, Thailand, or Ecuador where your money stretches way further.
None of this needs to be permanent.
Some people work domestically for 6 months and travel for 6 months.
Or work for a year and travel for a year.
Speaking from experience as an international school teacher, the math works out pretty well. Competitive salary + lower living costs = serious saving potential, all while living a great life.
There are costs to leaving the country you know.
Culture gaps. Language gaps. So you really need to assess your own situation.
I recommend reading the book "Vagabonding" by Rolf Potts.
Listen to the "Radical Personal Finance" podcast by Joshua Sheats, who moved his family to Mexico.
`Basically, you're not trapped.`
`You're free.`
`Go where you like, do what you like.`
`But please, don't think you need to work til you're 65 at a job you hate just to finally live your dreams sipping martinis on a beach in Thailand or golfing/fishing all day.`
`You can do that right now.`
**The table should help you visualize the cost of living in various countries.**
*Table 1: Examples of countries relative purchasing power using the US as base 100.*
| Rank | Country/Region | Cost index | Monthly income | Purchasing power index |
|:----:|---------------|:------------:|:----------------:|:------------------------:|
| 1 | Switzerland | 131.4 | 7,958 USD | 94.6 |
| 6 | Ireland | 110.6 | 6,644 USD | 93.9 |
| 9 | Australia | 107.0 | 5,070 USD | 74.1 |
| 15 | United States | 100.0 | 6,398 USD | 100.0 |
| 16 |United Kingdom| 98.5| 4,103 USD |65.1|
| 18| Sweden |93.9 |5,292 USD| 88.1|
| 21 |Japan |84.9 |3,537 USD| 65.1|
| 22 |France |83.2 |3,774 USD |70.9|
| 24 |Germany |82.3 |4,503 USD |85.6|
| 29 |Singapore |72.1 |5,600 USD |121.3|
| 31 |Portugal |67.9 |2,163 USD| 49.8|
| 32 |United Arab Emirates |67.2 |4,097 USD | 95.3|
| 39 |Chile |58.3 |1,280 USD| 34.3|
| 40 |China |57.6| 1,071 USD| 29.1|
| 44 |Brazil |49.8 |678 USD| 21.3|
| 45 |Ecuador |49.7| 525 USD| 16.5|
| 48 |El Salvador |48.2 |393 USD| 12.7|
| 49 |Honduras |47.5| 229 USD| 7.5|
| 63 |Colombia |38.2 |542 USD |22.2|
| 67 |Philippines |36.5 |329 USD |14.1|
| 75 |Thailand |34.7 |603 USD |27.2|
| 77 |Indonesia |33.1 |382 USD |18.0|
| 79 |Vietnam |32.4 |334 USD |16.1 |
Source: [https://www.worlddata.info/cost-of-living.php](https://www.worlddata.info/cost-of-living.php)
originally posted at https://stacker.news/items/869610
-
![](/static/nostr-icon-purple-64x64.png)
@ 0fa80bd3:ea7325de
2025-01-30 04:28:30
**"Degeneration"** or **"Вырождение"**
![[photo_2025-01-29 23.23.15.jpeg]]
A once-functional object, now eroded by time and human intervention, stripped of its original purpose. Layers of presence accumulate—marks, alterations, traces of intent—until the very essence is obscured. Restoration is paradoxical: to reclaim, one must erase. Yet erasure is an impossibility, for to remove these imprints is to deny the existence of those who shaped them.
The work stands as a meditation on entropy, memory, and the irreversible dialogue between creation and decay.
-
![](/static/nostr-icon-purple-64x64.png)
@ 5d4b6c8d:8a1c1ee3
2025-01-29 23:37:27
I just started the eighth book in The Wheel of Time series: The Path of Daggers. There are 14 books in total, making this the start of the second half. I haven't done a review since book three (https://stacker.news/items/416511/r/Undisciplined), so it seemed like a good time for an update.
The scale of the story has increased greatly. Our main characters have found their ways into positions of prominence and they are now travelling throughout much more of the world, as they go about their often separate adventures. There's much more political intrigue and military campaigns than the first books contained and less focus on the highly detailed story telling that stood out in the early part of the series.
The world building is still very strong and has made an interesting transition. The first three books had a strong fish-out-of-water approach to building the world, as the small town kids we're following venture out into an unfamiliar world. They are learning a great deal directly from the more worldly characters guiding them. This was a great way to teach us, the readers, about what is known of this world, but we pretty quickly (well, over the course of a couple thousand pages) come up to speed with what's going on. Now, there are many things being revealed about this world that are not known to even the wisest and most educated.
We also start getting more story telling from the perspectives of the main antagonists of the early books. Through this we learn more about the conflicts, as well as the limits of what the various players know about what's going on in the world.
It's a little hard to succinctly describe the nature of time in The Wheel of Time, but essentially the world cycles through Ages, which have such dramatic transitions that society basically has to start over each Age from scratch. Most knowledge is lost from one Age to the next. We've begun learning more about what happened in the previous Age and there are some hints about how certain events must have to repeat.
Robert Jordan has really done a spectacular job of developing an immense story that unfolds at a natural pace. Many things are begun in one book and not paid off until several books later. Mysteries are allowed to linger and payoffs are not rushed.
I still recommend this series for anyone looking to get into a giant fantasy epic.
originally posted at https://stacker.news/items/869411
-
![](/static/nostr-icon-purple-64x64.png)
@ 2e8970de:63345c7a
2025-01-29 17:21:06
![](https://cdn.bsky.app/img/feed_thumbnail/plain/did:plc:zpwun47trjqtfg2p322ajjgd/bafkreih2unio5vkdadvkkgjmv6xlsjnlmchr2tsznultfmtaucwvafaefa@jpeg)
> The path to recent advanced AI systems has been more about building larger systems than making scientific breakthroughs.
https://ourworldindata.org/scaling-up-ai
originally posted at https://stacker.news/items/869010
-
![](/static/nostr-icon-purple-64x64.png)
@ 0fa80bd3:ea7325de
2025-01-29 15:43:42
Lyn Alden - биткойн евангелист или евангелистка, я пока не понял
```
npub1a2cww4kn9wqte4ry70vyfwqyqvpswksna27rtxd8vty6c74era8sdcw83a
```
Thomas Pacchia - PubKey owner - X - @tpacchia
```
npub1xy6exlg37pw84cpyj05c2pdgv86hr25cxn0g7aa8g8a6v97mhduqeuhgpl
```
calvadev - Shopstr
```
npub16dhgpql60vmd4mnydjut87vla23a38j689jssaqlqqlzrtqtd0kqex0nkq
```
Calle - Cashu founder
```
npub12rv5lskctqxxs2c8rf2zlzc7xx3qpvzs3w4etgemauy9thegr43sf485vg
```
Джек Дорси
```
npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237lmu63q0uf63m
```
21 ideas
```
npub1lm3f47nzyf0rjp6fsl4qlnkmzed4uj4h2gnf2vhe3l3mrj85vqks6z3c7l
```
Много адресов. Хз кто надо сортировать
```
https://github.com/aitechguy/nostr-address-book
```
ФиатДжеф - создатель Ностр - https://github.com/fiatjaf
```
npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6
```
EVAN KALOUDIS Zues wallet
```
npub19kv88vjm7tw6v9qksn2y6h4hdt6e79nh3zjcud36k9n3lmlwsleqwte2qd
```
Программер Коди https://github.com/CodyTseng/nostr-relay
```
npub1syjmjy0dp62dhccq3g97fr87tngvpvzey08llyt6ul58m2zqpzps9wf6wl
```
Anna Chekhovich - Managing Bitcoin at The Anti-Corruption Foundation
https://x.com/AnyaChekhovich
```
npub1y2st7rp54277hyd2usw6shy3kxprnmpvhkezmldp7vhl7hp920aq9cfyr7
```
-
![](/static/nostr-icon-purple-64x64.png)
@ 0fa80bd3:ea7325de
2025-01-29 14:44:48
![[yedinaya-rossiya-bear.png]]
1️⃣ Be where the bear roams. Stay in its territory, where it hunts for food. No point setting a trap in your backyard if the bear’s chilling in the forest.
2️⃣ Set a well-hidden trap. Bury it, disguise it, and place the bait right in the center. Bears are omnivores—just like secret police KGB agents. And what’s the tastiest bait for them? Money.
3️⃣ Wait for the bear to take the bait. When it reaches in, the trap will snap shut around its paw. It’ll be alive, but stuck. No escape.
Now, what you do with a trapped bear is another question... 😏
-
![](/static/nostr-icon-purple-64x64.png)
@ da0b9bc3:4e30a4a9
2025-01-29 08:27:33
Hello Stackers!
Welcome on into the ~Music Corner of the Saloon!
A place where we Talk Music. Share Tracks. Zap Sats.
So stay a while and listen.
🚨Don't forget to check out the pinned items in the territory homepage! You can always find the latest weeklies there!🚨
🚨Subscribe to the territory to ensure you never miss a post! 🚨
originally posted at https://stacker.news/items/868494
-
![](/static/nostr-icon-purple-64x64.png)
@ 0fa80bd3:ea7325de
2025-01-29 05:55:02
The land that belongs to the indigenous peoples of Russia has been seized by a gang of killers who have unleashed a war of extermination. They wipe out anyone who refuses to conform to their rules. Those who disagree and stay behind are tortured and killed in prisons and labor camps. Those who flee lose their homeland, dissolve into foreign cultures, and fade away. And those who stand up to protect their people are attacked by the misled and deceived. The deceived die for the unchecked greed of a single dictator—thousands from both sides, people who just wanted to live, raise their kids, and build a future.
Now, they are forced to make an impossible choice: abandon their homeland or die. Some perish on the battlefield, others lose themselves in exile, stripped of their identity, scattered in a world that isn’t theirs.
There’s been endless debate about how to fix this, how to clear the field of the weeds that choke out every new sprout, every attempt at change. But the real problem? We can’t play by their rules. We can’t speak their language or use their weapons. We stand for humanity, and no matter how righteous our cause, we will not multiply suffering. Victory doesn’t come from matching the enemy—it comes from staying ahead, from using tools they haven’t mastered yet. That’s how wars are won.
Our only resource is the **will of the people** to rewrite the order of things. Historian Timothy Snyder once said that a nation cannot exist without a city. A city is where the most active part of a nation thrives. But the cities are occupied. The streets are watched. Gatherings are impossible. They control the money. They control the mail. They control the media. And any dissent is crushed before it can take root.
So I started asking myself: **How do we stop this fragmentation?** How do we create a space where people can **rebuild their connections** when they’re ready? How do we build a **self-sustaining network**, where everyone contributes and benefits proportionally, while keeping their freedom to leave intact? And more importantly—**how do we make it spread, even in occupied territory?**
In 2009, something historic happened: **the internet got its own money.** Thanks to **Satoshi Nakamoto**, the world took a massive leap forward. Bitcoin and decentralized ledgers shattered the idea that money must be controlled by the state. Now, to move or store value, all you need is an address and a key. A tiny string of text, easy to carry, impossible to seize.
That was the year money broke free. The state lost its grip. Its biggest weapon—physical currency—became irrelevant. Money became **purely digital.**
The internet was already **a sanctuary for information**, a place where people could connect and organize. But with Bitcoin, it evolved. Now, **value itself** could flow freely, beyond the reach of authorities.
Think about it: when seedlings are grown in controlled environments before being planted outside, they **get stronger, survive longer, and bear fruit faster.** That’s how we handle crops in harsh climates—nurture them until they’re ready for the wild.
Now, picture the internet as that **controlled environment** for **ideas**. Bitcoin? It’s the **fertile soil** that lets them grow. A testing ground for new models of interaction, where concepts can take root before they move into the real world. If **nation-states are a battlefield, locked in a brutal war for territory, the internet is boundless.** It can absorb any number of ideas, any number of people, and it doesn’t **run out of space.**
But for this ecosystem to thrive, people need safe ways to communicate, to share ideas, to build something real—**without surveillance, without censorship, without the constant fear of being erased.**
This is where **Nostr** comes in.
Nostr—"Notes and Other Stuff Transmitted by Relays"—is more than just a messaging protocol. **It’s a new kind of city.** One that **no dictator can seize**, no corporation can own, no government can shut down.
It’s built on **decentralization, encryption, and individual control.** Messages don’t pass through central servers—they are relayed through independent nodes, and users choose which ones to trust. There’s no master switch to shut it all down. Every person owns their identity, their data, their connections. And no one—no state, no tech giant, no algorithm—can silence them.
In a world where cities fall and governments fail, **Nostr is a city that cannot be occupied.** A place for ideas, for networks, for freedom. A city that grows stronger **the more people build within it**.