-
@ 4ba8e86d:89d32de4
2024-10-20 10:12:19M5Stick-NEMO: Firmware para Pegadinhas de Alta Tecnologia em Dispositivos M5Stack ESP32 , Este projeto oferece uma solução eficaz sem comprometer a qualidade, ideal para quem busca uma experiência educativa e divertida no universo do hacking.
https://nostrcheck.me/media/public/nostrcheck.me_2674216785970862911706546228.webp
Desenvolvido por Noah Axon-n0xa, o M5Stick-NEMO é um projeto pessoal que surgiu da vontade de aprender mais sobre o desenvolvimento do ESP32 com o Arduino IDE. Inspirado por desafios populares na comunidade de tecnologia, NEMO replica pegadinhas comuns, proporcionando uma experiência educativa e divertida.
Características Principais:
- Portal NEMO WiFi: um captive portal login que tenta criar credenciais de e-mail de engenharia social - salva nomes de usuário e senhas no cartão SD (se inserido em um leitor compatível)
- Porta TV B-Gone para desligar dispositivos controlados por infravermelho.
- Spam de emparelhamento de dispositivo AppleJuice iOS Bluetooth.
- Spam de notificação de dispositivo Bluetooth para SwiftPair (Windows) e Android.
- Spam de WiFi com SSIDs engraçados, WiFi Rickrolling e modo aleatório.
- Scanner SSID WiFi: exibe e clona SSIDs próximos.
- Relógio digital ajustável pelo usuário com suporte do M5 Stick RTC.
- Configurações apoiadas por EEPROM para rotação, brilho, escurecimento automático e SSID do Portal NEMO.
- Nível da bateria e créditos no menu de configurações.
Interface de Usuário:
- Três controles principais: Home, Próximo e Selecionar.
Portal NEMO:
No modo NEMO Portal, o NEMO ativa um Hotspot WiFi aberto chamado "Nemo Free WiFi" (configurável em portal.h) com servidores DNS, DHCP e Web ativados.
-
O Portal NEMO exibe uma página de login falsa que afirma fornecer acesso à Internet se você fizer login.
-
Este é um ataque de engenharia social e registrará o nome de usuário e as senhas inseridas na página.
-
Nos detalhes do Wifi Scan, você pode clonar um SSID existente na lista de verificação. Sair do Portal NEMO limpará o SSID Evil Twin
-
Você pode visualizar as credenciais capturadas conectando-se ao portal a partir do seu próprio dispositivo e navegando até http://172.0.0.1/creds
-
Você pode definir um SSID personalizado conectando-se ao portal a partir do seu próprio dispositivo e navegando até http://172.0.0.1/ssid
-
Se o seu dispositivo suportar EEPROM para configurações, o SSID personalizado inserido será salvo como padrão, mesmo se estiver desligado.
-
Se o seu dispositivo tiver um leitor de cartão SD com um cartão formatado em sistema de arquivos FAT inserido, os nomes de usuário e senhas serão registrados em nemo-portal-creds.txt no cartão SD para você ler mais tarde.
-
O suporte a cartão SD só está habilitado por padrão na plataforma M5Stack Cardputer. Ele pode ser habilitado em dispositivos M5Stick, mas um leitor de cartão SD deve ser construído e conectado ao pino do painel frontal.
-
O Portal NEMO deve ser usado apenas em compromissos profissionais com um escopo válido de trabalho, fins educacionais ou de demonstração.
O armazenamento, venda ou uso de informações pessoais sem consentimento é contra a lei.🤓
Instalação:
-
Visite o site oficial: M5Stack Docs https://docs.m5stack.com/en/download
-
Baixe o programa oficial M5Burner.
-
Procure pelo projeto "NEMO For M5Stick C Plus".
-
Conecte o M5 à porta USB do seu PC.
-
Abra o M5Burner, selecione o projeto e clique em "Burn".
Experimente algumas funções do FlipperZero no seu M5. Para recursos adicionais e a liberdade de personalização, compile e baixe diretamente o programa "NEMO-M5Stick C Plus" no GitHub do projeto. Isso não só permite explorar, mas também modificar e aprimorar o projeto de acordo com suas preferências.
Repositório oficial no GitHub
https://github.com/n0xa/m5stick-nemo
Assista a um tutorial sobre a implementação do M5Stick-NEMO.
https://youtu.be/uFzQTzZo-6E?si=BJJzNmiN0Jzw42Eu
https://youtu.be/uTeCbR_hWjc?si=l88w_Hl3EXuKa6gv
Além disso, você pode aprimorar seu M5 com o MURAUDER, um conjunto abrangente de ferramentas ofensivas e defensivas WiFi/Bluetooth para o ESP32.
Encontre-o no GitHub: ESP32Marauder
https://github.com/justcallmekoko/ESP32Marauder
Assista a um tutorial sobre a implementação do MURAUDER:
https://youtu.be/GQPzgYksdkg?si=dWN-GwEP5r6hk9IC
-
@ 09fbf8f3:fa3d60f0
2024-10-14 15:42:04我搭建了一个网盘,国内访问速度还可以。
我买的是每月5刀的无限存储计划,只要还在使用,每天会增加1G的存储。(需要通过面板重启后赠送。)
官网
-
不要使用VPN注册,会提示欺诈风险,有可能会砍单。
-
@ ff18165a:dd7ca7f0
2024-10-19 18:23:51Chef's notes
- DO NOT add too much Peppermint Extract! It’s extremely strong and it will make your milkshake way too strong if you add more than a few drops.
- Feel free to be creative with your toppings. We used Caramel Flavored Whipped Topping and it turned out great!
Details
- ⏲️ Prep time: 5 min
- 🍳 Cook time: 2 min
- 🍽️ Servings: 1
Ingredients
- 1 1/2 cup Milk
- 2 drops Peppermint Extract
- 2 packets Stevia
- 1 cup Ice
- 2 drops Green Food Coloring
- Green Sprinkles
- 1 Crushed Peppermint Candy
- 2 Mint Leaves
Directions
-
- Blend together until smooth and frothy
-
- Pour into a tall glass
-
- Top with listed toppings
-
- Add straw and enjoy
-
@ 3bf0c63f:aefa459d
2024-01-15 11:15:06Pequenos problemas que o Estado cria para a sociedade e que não são sempre lembrados
- **vale-transporte**: transferir o custo com o transporte do funcionário para um terceiro o estimula a morar longe de onde trabalha, já que morar perto é normalmente mais caro e a economia com transporte é inexistente. - **atestado médico**: o direito a faltar o trabalho com atestado médico cria a exigência desse atestado para todas as situações, substituindo o livre acordo entre patrão e empregado e sobrecarregando os médicos e postos de saúde com visitas desnecessárias de assalariados resfriados. - **prisões**: com dinheiro mal-administrado, burocracia e péssima alocação de recursos -- problemas que empresas privadas em competição (ou mesmo sem qualquer competição) saberiam resolver muito melhor -- o Estado fica sem presídios, com os poucos existentes entupidos, muito acima de sua alocação máxima, e com isto, segundo a bizarra corrente de responsabilidades que culpa o juiz que condenou o criminoso por sua morte na cadeia, juízes deixam de condenar à prisão os bandidos, soltando-os na rua. - **justiça**: entrar com processos é grátis e isto faz proliferar a atividade dos advogados que se dedicam a criar problemas judiciais onde não seria necessário e a entupir os tribunais, impedindo-os de fazer o que mais deveriam fazer. - **justiça**: como a justiça só obedece às leis e ignora acordos pessoais, escritos ou não, as pessoas não fazem acordos, recorrem sempre à justiça estatal, e entopem-na de assuntos que seriam muito melhor resolvidos entre vizinhos. - **leis civis**: as leis criadas pelos parlamentares ignoram os costumes da sociedade e são um incentivo a que as pessoas não respeitem nem criem normas sociais -- que seriam maneiras mais rápidas, baratas e satisfatórias de resolver problemas. - **leis de trãnsito**: quanto mais leis de trânsito, mais serviço de fiscalização são delegados aos policiais, que deixam de combater crimes por isto (afinal de contas, eles não querem de fato arriscar suas vidas combatendo o crime, a fiscalização é uma excelente desculpa para se esquivarem a esta responsabilidade). - **financiamento educacional**: é uma espécie de subsídio às faculdades privadas que faz com que se criem cursos e mais cursos que são cada vez menos recheados de algum conhecimento ou técnica útil e cada vez mais inúteis. - **leis de tombamento**: são um incentivo a que o dono de qualquer área ou construção "histórica" destrua todo e qualquer vestígio de história que houver nele antes que as autoridades descubram, o que poderia não acontecer se ele pudesse, por exemplo, usar, mostrar e se beneficiar da história daquele local sem correr o risco de perder, de fato, a sua propriedade. - **zoneamento urbano**: torna as cidades mais espalhadas, criando uma necessidade gigantesca de carros, ônibus e outros meios de transporte para as pessoas se locomoverem das zonas de moradia para as zonas de trabalho. - **zoneamento urbano**: faz com que as pessoas percam horas no trânsito todos os dias, o que é, além de um desperdício, um atentado contra a sua saúde, que estaria muito melhor servida numa caminhada diária entre a casa e o trabalho. - **zoneamento urbano**: torna ruas e as casas menos seguras criando zonas enormes, tanto de residências quanto de indústrias, onde não há movimento de gente alguma. - **escola obrigatória + currículo escolar nacional**: emburrece todas as crianças. - **leis contra trabalho infantil**: tira das crianças a oportunidade de aprender ofícios úteis e levar um dinheiro para ajudar a família. - **licitações**: como não existem os critérios do mercado para decidir qual é o melhor prestador de serviço, criam-se comissões de pessoas que vão decidir coisas. isto incentiva os prestadores de serviço que estão concorrendo na licitação a tentar comprar os membros dessas comissões. isto, fora a corrupção, gera problemas reais: __(i)__ a escolha dos serviços acaba sendo a pior possível, já que a empresa prestadora que vence está claramente mais dedicada a comprar comissões do que a fazer um bom trabalho (este problema afeta tantas áreas, desde a construção de estradas até a qualidade da merenda escolar, que é impossível listar aqui); __(ii)__ o processo corruptor acaba, no longo prazo, eliminando as empresas que prestavam e deixando para competir apenas as corruptas, e a qualidade tende a piorar progressivamente. - **cartéis**: o Estado em geral cria e depois fica refém de vários grupos de interesse. o caso dos taxistas contra o Uber é o que está na moda hoje (e o que mostra como os Estados se comportam da mesma forma no mundo todo). - **multas**: quando algum indivíduo ou empresa comete uma fraude financeira, ou causa algum dano material involuntário, as vítimas do caso são as pessoas que sofreram o dano ou perderam dinheiro, mas o Estado tem sempre leis que prevêem multas para os responsáveis. A justiça estatal é sempre muito rígida e rápida na aplicação dessas multas, mas relapsa e vaga no que diz respeito à indenização das vítimas. O que em geral acontece é que o Estado aplica uma enorme multa ao responsável pelo mal, retirando deste os recursos que dispunha para indenizar as vítimas, e se retira do caso, deixando estas desamparadas. - **desapropriação**: o Estado pode pegar qualquer propriedade de qualquer pessoa mediante uma indenização que é necessariamente inferior ao valor da propriedade para o seu presente dono (caso contrário ele a teria vendido voluntariamente). - **seguro-desemprego**: se há, por exemplo, um prazo mínimo de 1 ano para o sujeito ter direito a receber seguro-desemprego, isto o incentiva a planejar ficar apenas 1 ano em cada emprego (ano este que será sucedido por um período de desemprego remunerado), matando todas as possibilidades de aprendizado ou aquisição de experiência naquela empresa específica ou ascensão hierárquica. - **previdência**: a previdência social tem todos os defeitos de cálculo do mundo, e não importa muito ela ser uma forma horrível de poupar dinheiro, porque ela tem garantias bizarras de longevidade fornecidas pelo Estado, além de ser compulsória. Isso serve para criar no imaginário geral a idéia da __aposentadoria__, uma época mágica em que todos os dias serão finais de semana. A idéia da aposentadoria influencia o sujeito a não se preocupar em ter um emprego que faça sentido, mas sim em ter um trabalho qualquer, que o permita se aposentar. - **regulamentação impossível**: milhares de coisas são proibidas, há regulamentações sobre os aspectos mais mínimos de cada empreendimento ou construção ou espaço. se todas essas regulamentações fossem exigidas não haveria condições de produção e todos morreriam. portanto, elas não são exigidas. porém, o Estado, ou um agente individual imbuído do poder estatal pode, se desejar, exigi-las todas de um cidadão inimigo seu. qualquer pessoa pode viver a vida inteira sem cumprir nem 10% das regulamentações estatais, mas viverá também todo esse tempo com medo de se tornar um alvo de sua exigência, num estado de terror psicológico. - **perversão de critérios**: para muitas coisas sobre as quais a sociedade normalmente chegaria a um valor ou comportamento "razoável" espontaneamente, o Estado dita regras. estas regras muitas vezes não são obrigatórias, são mais "sugestões" ou limites, como o salário mínimo, ou as 44 horas semanais de trabalho. a sociedade, porém, passa a usar esses valores como se fossem o normal. são raras, por exemplo, as ofertas de emprego que fogem à regra das 44h semanais. - **inflação**: subir os preços é difícil e constrangedor para as empresas, pedir aumento de salário é difícil e constrangedor para o funcionário. a inflação força as pessoas a fazer isso, mas o aumento não é automático, como alguns economistas podem pensar (enquanto alguns outros ficam muito satisfeitos de que esse processo seja demorado e difícil). - **inflação**: a inflação destrói a capacidade das pessoas de julgar preços entre concorrentes usando a própria memória. - **inflação**: a inflação destrói os cálculos de lucro/prejuízo das empresas e prejudica enormemente as decisões empresariais que seriam baseadas neles. - **inflação**: a inflação redistribui a riqueza dos mais pobres e mais afastados do sistema financeiro para os mais ricos, os bancos e as megaempresas. - **inflação**: a inflação estimula o endividamento e o consumismo. - **lixo:** ao prover coleta e armazenamento de lixo "grátis para todos" o Estado incentiva a criação de lixo. se tivessem que pagar para que recolhessem o seu lixo, as pessoas (e conseqüentemente as empresas) se empenhariam mais em produzir coisas usando menos plástico, menos embalagens, menos sacolas. - **leis contra crimes financeiros:** ao criar legislação para dificultar acesso ao sistema financeiro por parte de criminosos a dificuldade e os custos para acesso a esse mesmo sistema pelas pessoas de bem cresce absurdamente, levando a um percentual enorme de gente incapaz de usá-lo, para detrimento de todos -- e no final das contas os grandes criminosos ainda conseguem burlar tudo.
-
@ 3bf0c63f:aefa459d
2024-01-14 13:55:28Músicas grudentas e conversas
Uma vez que você ouviu uma música grudenta e ela volta, inteira, com toda a melodia e a harmonia, muitos dias depois, contra a sua vontade. Mas uma conversa é impossível de lembrar. Por quê?
-
@ d3f06d83:7ff53dc3
2024-10-15 00:30:10Chef's notes
This is the beginning of a great pizza.
Details
- ⏲️ Prep time: 15 min
- 🍳 Cook time: 0
- 🍽️ Servings: 0
Ingredients
- 1 cup of pizza flour or bakery flour (00 flour)
- 1 zatchet of yeast (7g)
- 1 cup of water
- 1 spoon of honey (or sugar)
- 2 Litre container with a lid
Directions
- Pour the water in a 2L container
- Add honey/sugar and stir
- Add the yeast and stir. Wait 15 minutes or until the yeast is active (bubbling)
- Slowly mix the flour avoiding clumps
- Close the lid and leave in the fridge overnight
-
@ 18bdb66e:82eb5e5d
2024-10-15 00:28:32Chef's notes
Serve with bread, and side salad
Details
- ⏲️ Prep time: 5 mins
- 🍳 Cook time: 10 mins
- 🍽️ Servings: 2-4
Ingredients
- 1 Can (10 ½ ounces) condensed chicken gumbo soup
- ½ Soup can tomato juice
- ½ Soup can water
- Croutons
Directions
- Add soup, juice, and water.
- Heat through, stirring often.
- Serve with croutons
-
@ 18bdb66e:82eb5e5d
2024-10-15 00:20:20Chef's notes
Serve with bread, and side salad.
Details
- ⏲️ Prep time: 5 mins
- 🍳 Cook time: 10 mins
- 🍽️ Servings: 2-4
Ingredients
- 1 Can (10 ½ ounces) condensed chicken noodle soup
- ½ Soup can V8 juice
- ½ Soup can water
- Croutons
Directions
- Add soup, V8, and water.
- Heat through, stirring often.
- Serve with croutons
-
@ 18bdb66e:82eb5e5d
2024-10-15 00:16:16Chef's notes
Serve with bread, and side salad.
Details
- ⏲️ Prep time: 5 mins
- 🍳 Cook time: 10 mins
- 🍽️ Servings: 2-4
Ingredients
- 1 can (10.5 ounces) condensed cream of mushroom soup
- 1 Can (10 ½ ounces) condensed chicken noodle soup
- 1 can (10.5 ounces) condensed vegetable soup.
- 3 Soup cans water
- Croutons
Directions
- Add soups, and water.
- Heat through, stirring often.
- Serve with croutons
-
@ 18bdb66e:82eb5e5d
2024-10-15 00:11:19Chef's notes
Serve with crackers, or croutons, and side salad. Fiesta Nacho cheese soup gives a pleasant kick of flavor
Details
- ⏲️ Prep time: 5 mins
- 🍳 Cook time: 10 mins
- 🍽️ Servings: 2-4
Ingredients
- 1 Can (10.5 ounces) condensed Cheddar cheese soup
- 1 Cans (10 ½ ounces) condensed tomato soup
- 2 Soup cans water
- Bacon, fried and crumbled.
Directions
- Combine soups, and water.
- Heat through, stirring often.
- Garnish with bacon.
-
@ 18bdb66e:82eb5e5d
2024-10-15 00:05:38Chef's notes
Trim down bread to fit serving bowl, if necessary, prior to broiling. Top with Parmesan cheese.
Details
- ⏲️ Prep time: 20 mins
- 🍳 Cook time: 10 mins
- 🍽️ Servings: 2-4
Ingredients
- 1 Can (10.5 ounce) condensed onion soup
- ½ Soup can water
- ½ Soup can V8 juice
- 4 Ounces sliced roast beef
- 2-3 slices French, or Italian bread, or Texas Toast
- Butter
- Parmesan cheese
Directions
- Combine soup, water, and V8 juice.
- Heat to simmer.
- Add roast beef, heat throug
- Ladle soup in bowl
- Top soup with bread
- Top bread with roast beef
-
@ 18bdb66e:82eb5e5d
2024-10-14 23:58:32Chef's notes
Serve with side salad.
Details
- ⏲️ Prep time: 10 mins
- 🍳 Cook time: 10 mins
- 🍽️ Servings: 2-4
Ingredients
- 3 sausage links cut into penny sized slices, or two patties crumbled
- 2 Cans (10 ½ ounces) condensed minestrone soup
- 1 can (10.5 ounces) condensed tomato soup.
- 3 Soup cans water
- Croutons
Directions
- Brown sausage in saucepan
- Add soups, and water
- Heat through, stirring often.
- Garnish with croutons
-
@ 09fbf8f3:fa3d60f0
2024-10-14 15:41:08既然说是一款Web版的软件,也就是对应客户端版而开发的,如果你的歌曲都保存在NAS上,那么这款软件就非常适合你;如果你的歌曲都保存在电脑本地,那么可以直接使用客户端版的同名软件。
01
MusicTagWeb的特色 这款软件刚开始在 Github 上开源的时候,笔者就注意到了,不过当时功能还刚有个雏形、不太完善,就没有推荐给大家。经过开发者一段时间的辛勤付出,现在看来功能和管理能力基本上都已经完成了,具体的功能点和特性如下:
支持批量自动修改音乐标签 支持音乐指纹识别,即使没有元数据也可以识别音乐 支持整理音乐文件,按艺术家,专辑分组 支持文件排序,按照文件名,文件大小,更新时间排序 支持plex专辑类型,新增配置显示/隐藏字段 修复不同类型音频文件的专辑类型 新增歌曲语言整理文件 优化自动打标签匹配算法 新增智能刮削标签源,集成多个平台的标签源,按匹配度排序 支持繁体匹配,新增消息中心展示自动刮削不匹配的数据 支持保存专辑封面文件,支持自定义上传专辑封面 简单适配H5端,支持手机端访问 支持wma,wmv格式, 修复自动刮削报错停止的问题 音轨号,光盘号 格式优化,优化匹配规则 对新增的音乐文件后台自动刮削,无感知刮削。修复.ape文件读取报错的问题 新增自定义层数的整理文件,新增根据刮削状态排序,修复大写的音乐后缀名识别不到 新增数据库挂载映射
其实上面没有提到,这款软件支持从6个音乐平台刮削歌曲信息,安全起见,具体是哪6个平台笔者就不说了,感兴趣的朋友可以接着往下看,自己跑起来就知道了。
02
安装MusicTagWeb MusicTagWeb目前仅支持Docker部署,在你的NAS上,可以使用Docker和Docker Compose两种方式来部署,任选一种即可。
1、Docker方式
docker run -d \ --restart=unless-stopped \ -p 8001:8001 \ -v /path/to/your/music:/app/media \ -v /path/to/your/config:/app/data \ xhongc/music_tag_web:latest
2、Docker Compose方式
version: '3' services: music-tag: image: xhongc/music_tag_web:latest container_name: music-tag-web restart: unless-stopped ports: - "8001:8001" volumes: - /path/to/your/music:/app/media:rw - /path/to/your/config:/app/data
以上两种方式中,/path/to/your/music改成你的音乐文件夹路径,/path/to/your/config改为MusicTagWeb的配置文件路径。
03
使用MusicTagWeb 使用Docker启动MusicTagWeb后,在浏览器中使用IP+端口号打开系统,然后输入用户名和密码即可登录,默认的用户名和密码均为admin,建议登录后进行修改。
1、登录系统 Username 和 Password 均输入admin,邀请码不需要填。
2、首页主屏
主屏分成两栏(实际是三栏,还有一栏在操作的时候会显示出来),左边是音乐文件目录,右边默认是一张占位图片。
3、单个编辑/刮削歌曲信息
选择一个歌曲文件,这时候界面就是三屏了,右侧一栏变成两栏,分别显示歌曲元数据和音源搜索结果。搜索和设置完成后,点击保存信息按钮,即可完成对歌曲元数据的编辑。
最后
详细教程去官网: https://xiers-organization.gitbook.io/music-tag-web V1版够用了,V2收费的,68一个激活码。
-
@ ec42c765:328c0600
2024-10-21 07:42:482024年3月
フィリピンのセブ島へ旅行。初海外。
Nostrに投稿したらこんなリプライが
nostr:nevent1qqsff87kdxh6szf9pe3egtruwfz2uw09rzwr6zwpe7nxwtngmagrhhqc2qwq5
nostr:nevent1qqs9c8fcsw0mcrfuwuzceeq9jqg4exuncvhas5lhrvzpedeqhh30qkcstfluj
(ビットコイン関係なく普通の旅行のつもりで行ってた。というか常にビットコインのこと考えてるわけではないんだけど…)
そういえばフィリピンでビットコイン決済できるお店って多いのかな?
海外でビットコイン決済ってなんかかっこいいな!
やりたい!
ビットコイン決済してみよう! in セブ島
BTCMap でビットコイン決済できるところを探す
本場はビットコインアイランドと言われてるボラカイ島みたいだけど
セブにもそれなりにあった!
なんでもいいからビットコイン決済したいだけなので近くて買いやすい店へ
いざタピオカミルクティー屋!
ちゃんとビットコインのステッカーが貼ってある!
つたない英語とGoogle翻訳を使ってビットコイン決済できるか店員に聞いたら
店員「ビットコインで支払いはできません」
(えーーーー、なんで…ステッカー貼ってあるやん…。)
まぁなんか知らんけどできないらしい。
店員に色々質問したかったけど質問する英語力もないのでする気が起きなかった
結局、せっかく店まで足を運んだので普通に現金でタピオカミルクティーを買った
タピオカミルクティー
話題になってた時も特に興味なくて飲んでなかったので、これが初タピオカミルクティーになった
法定通貨の味がした。
どこでもいいからなんでもいいから
海外でビットコイン決済してみたい
ビットコイン決済させてくれ! in ボラカイ島
ビットコインアイランドと呼ばれるボラカイ島はめちゃくちゃビットコイン決済できるとこが多いらしい
でもやめてしまった店も多いらしい
でも300もあったならいくつかはできるとこあるやろ!
nostr:nevent1qqsw0n6utldy6y970wcmc6tymk20fdjxt6055890nh8sfjzt64989cslrvd9l
行くしかねぇ!
ビットコインアイランドへ
フィリピンの国内線だぁ
``` 行き方: Mactan-Cebu International Airport ↓飛行機 Godofredo P. Ramos Airport (Caticlan International Airport, Boracay Airport) ↓バスなど Caticlan フェリーターミナル ↓船 ボラカイ島
料金: 飛行機(受託手荷物付き) 往復 21,000円くらい 空港~ボラカイ島のホテルまで(バス、船、諸経費) 往復 3,300円くらい (klookからSouthwest Toursを利用)
このページが色々詳しい https://smaryu.com/column/d/91761/ ```
空港おりたらSouthwestのバスに乗る
事前にネットで申し込みをしている場合は5番窓口へ
港!
船!(めっちゃ速い)
ボラカイついた!
ボラカイ島の移動手段
セブの移動はgrabタクシーが使えるがボラカイにはない。
ネットで検索するとトライシクルという三輪タクシーがおすすめされている。
(トライシクル:開放的で風がきもちいい)
トライシクルの欠点はふっかけられるので値切り交渉をしないといけないところ。
最初に300phpくらいを提示され、行き先によるけど150phpくらいまでは下げられる。
これはこれで楽しい値切り交渉だけど、個人的にはトライシクルよりバスの方が気楽。
Hop On Hop Off バス:
https://www.hohoboracay.com/pass.php
一日乗り放題250phpなので往復や途中でどこか立ち寄ったりを考えるとお得。
バスは現金が使えないので事前にどこかでカードを買うか車内で買う。
私は何も知らずに乗って車内で乗務員さんから現金でカードを買った。
バスは狭い島内を数本がグルグル巡回してるので20~30分に1本くらいは来るイメージ。
逆にトライシクルは待たなくても捕まえればすぐに乗れるところがいいところかもしれない。
現実
ボラカイ島 BTC Map
BTC決済できるとこめっちゃある
さっそく店に行く!
「bitcoin accepted here」のステッカーを見つける!
店員にビットコイン支払いできるか聞く!
できないと言われる!
もう一軒行く
「bitcoin accepted here」のステッカーを見つける
店員にビットコイン支払いできるか聞く
できないと言われる
5件くらいは回った
全部できない!
悲しい
で、ネットでビットコインアイランドで検索してみると
旅行日の一か月前くらいにアップロードされた動画があったので見てみた
要約 - ビットコイン決済はpouch.phというスタートアップ企業がボラカイ島の店にシステムを導入した - ビットコインアイランドとすることで観光客が10%~30%増加つまり数百~千人程度のビットコインユーザーが来ると考えた - しかし実際には3~5人だった - 結果的に200の店舗がビットコイン決済を導入しても使われたのはごく一部だった - ビットコイン決済があまり使われないので店員がやり方を忘れてしまった - 店は関心を失いpouchのアプリを消した
https://youtu.be/uaqx6794ipc?si=Afq58BowY1ZrkwaQ
なるほどね~
しゃあないわ
聖地巡礼
動画内でpouchのオフィスだったところが紹介されていた
これは半年以上前の画像らしい
現在はオフィスが閉鎖されビットコインの看板は色あせている
おもしろいからここに行ってみよう!となった
で行ってみた
看板の色、更に薄くなってね!?
記念撮影
これはこれで楽しかった
場所はこの辺
https://maps.app.goo.gl/WhpEV35xjmUw367A8
ボラカイ島の中心部の結構いいとこ
みんな~ビットコイン(の残骸)の聖地巡礼、行こうぜ!
最後の店
Nattoさんから情報が
なんかあんまりネットでも今年になってからの情報はないような…https://t.co/hiO2R28sfO
— Natto (@madeofsoya) March 22, 2024
ここは比較的最近…?https://t.co/CHLGZuUz04もうこれで最後だと思ってダメもとで行ってみた なんだろうアジア料理屋さん?
もはや信頼度0の「bitcoin accepted here」
ビットコイン払いできますか?
店員「できますよ」
え?ほんとに?ビットコイン払いできる?
店員「できます」
できる!!!!
なんかできるらしい。
適当に商品を注文して
印刷されたQRコードを出されたので読み取る
ここでスマートに決済できればよかったのだが結構慌てた
自分は英語がわからないし相手はビットコインがわからない
それにビットコイン決済は日本で1回したことがあるだけだった
どうもライトニングアドレスのようだ
送金額はこちらで指定しないといけない
店員はフィリピンペソ建ての金額しか教えてくれない
何sats送ればいいのか分からない
ここでめっちゃ混乱した
でもウォレットの設定変えればいいと気付いた
普段円建てにしているのをフィリピンペソ建てに変更すればいいだけだった
設定を変更したら相手が提示している金額を入力して送金
送金は2、3秒で完了した
やった!
海外でビットコイン決済したぞ!
ログ
PORK CHAR SIU BUN とかいうやつを買った
普通にめっちゃおいしかった
なんかビットコイン決済できることにビビッて焦って一品しか注文しなかったけどもっと頼めばよかった
ここです。みなさん行ってください。
Bunbun Boracay
https://maps.app.goo.gl/DX8UWM8Y6sEtzYyK6
めでたしめでたし
以下、普通の観光写真
セブ島
ジンベエザメと泳いだ
スミロン島でシュノーケリング
市場の路地裏のちょっとしたダウンタウン?スラム?をビビりながら歩いた
ボホール島
なんか変な山
メガネザル
現地の子供が飛び込みを披露してくれた
ボラカイ島
ビーチ
夕日
藻
ボラカイ島にはいくつかビーチがあって宿が多いところに近い南西のビーチ、ホワイトビーチは藻が多かった(時期によるかも)
北側のプカシェルビーチは全然藻もなく、水も綺麗でめちゃくちゃよかった
プカシェルビーチ
おわり!
-
@ 5e5fc143:393d5a2c
2024-10-11 22:26:08Just revisiting some quick tips for #newbies #pow #public #blockchain users only.
if you just getting started with bitcoin or any pow crypto coins or been using or storing them for a while, you not must forget the roots and fundamentals.
Hot Wallet — It gets connected to live internet at some point in time essentially to sign / send a tx i.e. spending transaction — exposes the private key of the address from in the process
Cold Wallet — It never ever gets connected or online and can always keep receiving inbound amounts Paper wallets are best n cheapest form of cold wallet that can used once n thrown away.
Cold wallets need to either “import”ed or “sweep”ed in order to used or spend — https://coinsutra.com/private-key-import-vs-sweep-difference/
Any thin #wallet is always dependent on connectivity to live up2date node server where-as self-sufficient qt / cli wallet takes a while to sync up to latest block height in order to be usable.
Beginners should always resist the attraction of quick and fast — thin n 3rd party wallets and always start a long learning journey of core wallets of any coin — either “qt” GUI wallet or command line “coin-cli” wallet
Almost all #proofofwork #blockchains i.e. #POW has #node #wallet - everyone who use support he #public #blockchain secures own you coin value
You can run fullnode either on clearnet or over onion 🧅 #BTC has >55% of nodes running in onion out of total 15000+ live fullnodes and 50000+ bitcoincore wallets around blockheight 777000 . Other notable pow chains are #LTC #RVN and rest are babychains for now !
Always delete hot wallet to test practice restoration before sending any large refunds to it to be safe.
Large funds are always best to keep in self custody node wallets rare n occasional use
Final word — Cannot see private key 🔑 or seed 🌱 in any wallet means not your coin. 😲
Use wallet which u learn or understand best only
That’s all for now n Thank you 🙏 ! ⚡️ https://getalby.com/p/captjack ⚡️
Some Cold wallet nostr posts nostr:note1p6ke5wqshgxtfzj5de3u04hejl2c5ygj8xk8ex6fqdsg29jmt33qnx57y2 nostr:note1rse0l220quur6vfx0htje94ezecjj03y6j7lguwl09fmvmpt6g3q0cg7yw nostr:note1q5w8dyjuqc7sz7ygl97y0ztv6sal2hm4yrf5nmur2tkz9lq2wx9qcjw90q
some nostr specific lightning ⚡️ Layer2 wallets with blockchain mainnet option nostr:naddr1qqsky6t5vdhkjm3qd35kw6r5de5kueeqf38zqampd3kx2apqdehhxarjqyv8wue69uhkummnw3e8qun00puju6t08genxven9uqkvamnwvaz7tmxd9k8getj9ehx7um5wgh8w6twv5hkuur4vgchgefsw4a8xdnkdgerjatddfshsmr3w93hgwpjdgu8zdnswpuk2enj0pcnqdnydpersepkwpm8wenpw3nkkut2d44xwams8a38ymmpv33kzum58468yat9qyt8wumn8ghj7un9d3shjtngv9kkuet59e5k7tczyqvq5m2zcltylrpetrvazrw45sgha24va288lxq8s8562vfkeatfxqcyqqq823ckqlhc8 related blog post nostr:naddr1qqxnzd3cxyenjv3c8qmr2v34qy88wumn8ghj7mn0wvhxcmmv9uq3zamnwvaz7tmwdaehgu3wwa5kuef0qydhwumn8ghj7mn0wd68ytn4wdjkcetnwdeks6t59e3k7tczyp6x5fz66g2wd9ffu4zwlzjzwek9t7mqk7w0qzksvsys2qm63k9ngqcyqqq823cpdfq87
-
@ 5e5fc143:393d5a2c
2024-10-11 22:15:54We are now given a choice of digital freedom #nostr .
Creativity for every nostrich is now unleashed from the cage of bigtech censorship , rules and algo. But freedom comes with responsibility so pick right one(s). I will try share here some learning experience both technical and also from fundamental point of view. Just wanted kick start this article n fill as we go like living reference document.
Nostr itself is an application layer protocol that can used beyond just social media mirco or long blogging. Each nostr client heavily dependent on back-end servers call nostr "Relay servers" or in short "rs" or "relays" Relays can hosted anywhere in clearnet internet, onion net , vpn , i2p , nym Relays are controlled by their respective admins based NIP specs that they select to implement according to own decisions. Relays can have certain ToS (Terms of Service) Rules to adhered too.
New users can choose and pick client or app (ios / android/ windows) with preset of relays in the simplest form , but other advanced users need to do a regular manual relay management.
Relay management is an active regular task based on where when n how you are using.
Relay list are saved within you npub profile backup file which can edited and broadcast anytime.
Relay management is an active regular task based on where when and how you are using.
Relay list always need to be updated time to time as and when needed.
2 Users MUST a common RELAY between them even if one only need to follow another. Occasionally you may notice certain npub accounts you are following already but cannot see frequent notes publish by them – one of cause maybe you not sharing a common relay
Most nostr client applications has SETTINGS where user choose add/remove relays Also user choose which function to enable - READ or WRITE
Relay list for your account is always saved within you npub profile backup file which can edited and broadcast anytime. Hence any app or browser when u login with you npub the same relay list will be enforced. There could valid reasons why u need have list for if you trying to save bandwidth and traveling.
Functions in app.getcurrent.io and primal.net app for mobile apple or android are ideal for user traveling abroad and wanted to save bandwidth since relay management is done the providers in backend and saves hassle for basic usage.
Remember if someone is selecting relay on your behalf then you may not be necessarily able to pull and get some specific and special content that you may need. Such providers like coracle and nostrid also give option to override the default relays they selected.
Relay types: They can be categorized by various features or policy or technologies.
FREE PUBLIC Relays vs PAID PUBLIC Relays
PAID relays provide unrestricted access / write / filtering options than FREE relays but both are public clearnet relays. Just subscribing to PAID relays will not solve all problems unless you choose the relays properly and enable settings correctly.
Private Replay or Tor Relays – normally not easily visible until unless someone tell you. You can also host own private relay not opened to internet of archive and back of your own notes.
The technical landscape in nostr can be fast changing as more NIPs get proposed or updated. Relays admin can choose implement certain NIPs or not based on policy or technical limitations.
Example NIP33 defines “long notes” aka blogs as you now reading this in habla site which #1 UI and site for "Editable" long notes – some relays donot implement or allow this. NIP07 is used for client authentication like nos2x and is implemented by all relays in fact. Nostr is so fasting changing-hence many links many broken Pushing long note again.
To be continued again ... reference pics will added later also Hope this help you understand "why when what" to tune and maintain active set of proper relays. Relay Proxy, Relay aggregator or Relay multiplexer – Paid, Public, Free, Private, Event, Relays That’s all for now n more later ... Thank you 🙏 ! ⚡️ https://getalby.com/p/captjack ⚡️ PV 💜 🤙
References: https://habla.news/relays https://relay.exchange/ https://relays.vercel.app/ https://nostr.info/relays/ https://nostrudel.ninja/#/relays
Related Articles: https://thebitcoinmanual.com/articles/types-nostr-relays/ nostr:naddr1qqd5c6t8dp6xu6twvukkvctnwss92jfqvehhygzwdaehguszyrtp7w79k045gq80mtnpdxjuzl9t7vjxk52rv80f888y5xsd5mh55qcyqqq823cf39s98 https://habla.news/u/current@getcurrent.io/1694434022411
-
@ 4ba8e86d:89d32de4
2024-10-11 14:08:50Foi criado com o objetivo de fornecer aos usuários uma experiência de navegação mais privada e segura na internet. O LibreWolf é uma excelente alternativa ao Firefox, com algumas diferenças significativas em relação ao navegador da Mozilla.
O LibreWolf foi desenvolvido com foco na privacidade e segurança do usuário. Ele bloqueia rastreadores de terceiros, impede o envio de dados de telemetria e desabilita recursos de rastreamento de usuário que vêm ativados por padrão no Firefox. Além disso, ele vem pré-configurado com diversas extensões de privacidade, como uBlock Origin, Privacy Badger e HTTPS Everywhere, que ajudam a bloquear anúncios, scripts maliciosos e outras ameaças de segurança enquanto você navega na web.
Outra característica notável do LibreWolf é que ele usa o mecanismo de pesquisa Searx como padrão, em vez do Google. O Searx é conhecido por fornecer resultados de pesquisa mais privados e anônimos, sem rastrear as suas atividades online. O LibreWolf também possui suporte nativo ao Tor, que permite aos usuários acessar a internet anonimamente.
Além dos recursos de privacidade e segurança, o LibreWolf é muito semelhante ao Firefox em termos de usabilidade e funcionalidades. Ele é fácil de instalar e configurar, e possui um grande número de extensões disponíveis na sua loja de extensões.
O LibreWolf é uma excelente opção para usuários que buscam um navegador mais privado e seguro. Se você se preocupa com a sua privacidade online, vale a pena experimentar o LibreWolf. Ele é gratuito e de código aberto, o que significa que você pode baixá-lo e personalizá-lo de acordo com suas necessidades específicas.
https://librewolf.net/
https://github.com/librewolf-community
-
@ 7ab1ed7a:f8e15275
2024-10-17 11:54:59I've started building an IoT DVM simulator. It's written in TS and uses Deno for simplicity.
The project will be used to test the ideas in and support the NIP 90 PR.
https://github.com/blackcoffeexbt/nostriot-dvm-simulator
It has a basic plugin architecture so we can test a whole suite of how different IoT commands can work easily (config, intents, sensors, all the things).
This is the current, very basic roadmap for this project:
-
Add NIP 89 announcements
-
Respond to requests
- Accept payments for requests
I'll also be working on a basic - for now - IoT DVM client that can be used to interact with IoT DVMs.
-
-
@ 592295cf:413a0db9
2024-10-13 08:29:48[07/10 week]
Thinking about it, even the protocol is a cathedral, Rabble in the speech in Riga on Bluesky.
He said the protocol is a bazaar. But you have to converge on the scheme in the NIPs or between Apps.
NIPs for example are like Luther's 95 theses, but they change continuously and adapt, but they always remain those 95.
Maybe that Pr on theother curve keys could lead to saying this is "nostr" these others are similar. Creating more points, but I just think it would have led to endless diatribes.
What will be of the protocol and who knows. He can do everything or maybe nothing and from tomorrow we will see and it will be, it will be what it will be. Italian Song
Notifications with nostter are not hidden, they are in your feed and this is good, you always know if someone has searched for you. While in the others you do not know.
I saw a sliver of light pass by it was Unanimity.
It's a very stupid idea, it takes a long time. it's basically a community + channel, where you post the channel in the community and start talking about that topic in the channel. The channel is an approved message. I made musicbook channel, it's the collection of albums released on Friday. The idea of also making a blogger channel, where to put long-form articles.
Following nostr trending on Openvibe social, with a new profile, the Lost One, sad, in this One follow fiatjaf, means I won't bother him anymore . Now I follow 62 profiles, it's an account that I will use to read the notes of the top profiles. Curious if this number will grow enormously or is there a spectre.
The strength of the protocol is the developers if they collaborate together, otherwise it can still work, everyone goes their own way, but it's like saying I want to make my own fence.
One who in his long form doing an analysis of the various social networks. npub19mq9swna4dkhlm3jaux4yhgv5kjj556lkfhv3qnjtyh0kcljph6s88e295 Nostr is all based on Bitcoin. The difficult thing is Bitcoin not Nostr and he says so.
Controversies are useful, or my doubts, but maybe people who can't write code don't understand much, the so-called end users. No one is an end user at this time. The end user doesn't care about the person behind it, only having their own service, if the service is good they also do promotion, they become sponsors. We have seen in recent months sponsoring a Nostr app, result a small attack can damage that app. But the strength of having all these apps is that the other app doesn't have that problem. Spam attack example. The problem is that you can't sponsor an ecosystem, so it becomes difficult to suggest 10 apps to download. The best 10 apps of Nostr and the other 100, there is no easy way out. It's a bit like proposing a new place in NY, then everyone goes to that place and it loses a bit. What the sponsor must understand is that Nostr has only one "one shot".
I saw a video on Nostr of two people posting content on social media, making a review. Not bad, compared to the previous video, that Nostr doesn't even have a token. It doesn't give me a sign up. The main feature they say is a platform or at least they reviewed damus, damus for Bitcoin maxi. And so Nostr is populated by people who Number go up, only fiat thought they would say on Nostr. It's true in part there are those obsessed, even the non-obsessed are obsessed.
How nice it would be to call them NPs Nostr protocol specification, today supertestnet called them that. (the nice thing is that they are pronounced the same way).
-
@ 6bcc27d2:b67d296e
2024-10-21 03:54:32yugoです。 この記事は「Nostrasia2024 逆アドベントカレンダー」10/19の分です。Nostrasiaの当日はリアルタイムで配信を視聴していました。Nostrを使ってアプリケーションの再発明をすべきという発表を聴き、自分だったらどんなものを作ってみたいかを考えて少し調べたり試みたりしたのでその記録を書きます。また、超簡単なものですがおそらく世界初となるvisionOS対応のNostrクライアントをつくってみたので最後の方に紹介します。
アプリケーションを再発明する話があったのは、「What is Nostr Other Stuff?」と題したkaijiさんの発表でした。
Nostrプロトコルを使って既存のアプリケーションを再発明することで、ユーザ体験を損なわずにゆるやかな分散を促すことができ、プロトコルとしてのNostrも成長していくというような内容でした。
自分はまだNostrで何かをつくった経験はなかったので、実装に必要な仕様の知識がほとんどない状態からどのようなアプリケーションをつくってみたいかを考えました。
最初に思いついたのは、Scrapboxのようなネットワーク型のナレッジベースです。自分は最近visionOS勉強会をやっており、勉強会でナレッジを共有する手段としてScrapboxの導入を検討していました。
Nostrコミュニティにも有志によるScrapboxがありますが、Nostrクライアントがあればそれを使うだろうから同じくらいの実用性を備えたクライアントはまだ存在しないのではないかという見立てでした。
長文投稿やpublic chatなどの機能を組み合わせることで実現できるだろうか。そう思っていた矢先、NIP-54のWikiという規格があることを知りました。
https://github.com/nostr-protocol/nips/blob/master/54.md
まだちゃんとは読めていないですが、Scrapboxもwikiソフトウェアだし参考になりそうと思っています。正式な仕様に組み込まれていないようで、採用しているクライアントはfiatjafによるリファレンス実装(?)のwikistrくらいしか見つかりませんでした。
Scrapboxのようなナレッジベースを志向するNostrクライアントがあれば、後述するvisionOS対応クライアントの存在もありアカウントを使いまわせて嬉しいので試してみたいです。もし他にも似たようなサービスをどなたか知っていたら教えてください。
また現在は、勉強会やワークショップ、ハッカソンなどのコラボレーションワークを支援するためのツールを自分たちでも開発しています。Apple Vision Proに搭載されているvisionOSというプラットフォームで動作します。
https://image.nostr.build/14f0c1b8fbe5ce7754825c01b09280a4c22f87bbf3c2fa6d60dd724f98919c34.png
この画面で自分が入りたいスペースを選んで共有体験を開始します。
スライドなどのコンテンツや自らのアバターを同期させることで、遠隔地にいてもまるでオフラインかのように同じ空間を共有することが可能になります。
https://image.nostr.build/cfb75d3db2a9b9cd39f502d6426d5ef4f264b3d5d693b6fc9762735d2922b85c.jpg
ということなので、急遽visionOS対応のクライアントを作ってみました。検索しても1つも事例が出てこなかったので多分まだ世界で実装しているアプリはないのではないでしょうか。
とはいえ、クライアントを名乗っているもののまだ大した機能はなく、リレーからデータを取得するだけの読み取り専用です。
https://image.nostr.build/96e088cc6a082528682989ccc12b4312f9cb6277656e491578e32a0851ce50fe.png
画像では自分のプロフィールデータをリレーから取得しています。
まだどのライブラリもvisionOSに対応していなかったりで手こずったものの仕様の勉強になりました。
ただvisionOSアプリはiOSアプリ同様NIP-7が使えないので秘密鍵を自分で保管しなくてはならず、今後どう対処すべきかわかりかねています。これから時間ある時に少しずつ調べていこうと思っていますが、ネイティブアプリの秘密鍵周りはあまりリソースが多くないようにも感じました。もしどなたかその辺の実装に詳しい方いたら教えていただけると嬉しいです。
準備ができたらそのうちコードも公開したいと思っています。
これから少しずつ色んな機能を実装しながらNostrで遊んでいきたいです!
-
@ 9e69e420:d12360c2
2024-10-21 02:44:56long form note
just a test
using habla
I guess I can just copy & paste markdown. Here is a meme to test photos insertion ![[https://i.nostr.build/ob0weHDqLkzAxrcR.jpg]]
What else can this do? Links? Let's try.... https://i.nostr.build/ob0weHDqLkzAxrcR.jpg
And a list: * Item 1 * Item 2 * Item 3
-
@ 3bf0c63f:aefa459d
2024-01-14 13:55:28Bluesky is a scam
Bluesky advertises itself as an open network, they say people won't lose followers or their identity, they advertise themselves as a protocol ("atproto") and because of that they are tricking a lot of people into using them. These three claims are false.
protocolness
Bluesky is a company. "atproto" is the protocol. Supposedly they are two different things, right? Bluesky just releases software that implements the protocol, but others can also do that, it's open!
And yet, the protocol has an official webpage with a waitlist and a private beta? Why is the protocol advertised as a company product? Because it is. The "protocol" is just a description of whatever the Bluesky app and servers do, it can and does change anytime the Bluesky developers decide they want to change it, and it will keep changing for as long as Bluesky apps and servers control the biggest part of the network.
Oh, so there is the possibility of other players stepping in and then it becomes an actual interoperable open protocol? Yes, but what is the likelihood of that happening? It is very low. No serious competitor is likely to step in and build serious apps using a protocol that is directly controlled by Bluesky. All we will ever see are small "community" apps made by users and small satellite small businesses -- not unlike the people and companies that write plugins, addons and alternative clients for popular third-party centralized platforms.
And last, even if it happens that someone makes an app so good that it displaces the canonical official Bluesky app, then that company may overtake the protocol itself -- not because they're evil, but because there is no way it cannot be like this.
identity
According to their own documentation, the Bluesky people were looking for an identity system that provided global ids, key rotation and human-readable names.
They must have realized that such properties are not possible in an open and decentralized system, but instead of accepting a tradeoff they decided they wanted all their desired features and threw away the "decentralized" part, quite literally and explicitly (although they make sure to hide that piece in the middle of a bunch of code and text that very few will read).
The "DID Placeholder" method they decided to use for their global identities is nothing more than a normal old boring trusted server controlled by Bluesky that keeps track of who is who and can, at all times, decide to ban a person and deprive them from their identity (they dismissively call a "denial of service attack").
They decided to adopt this method as a placeholder until someone else doesn't invent the impossible alternative that would provide all their desired properties in a decentralized manner -- which is nothing more than a very good excuse: "yes, it's not great now, but it will improve!".
openness
Months after launching their product with an aura of decentralization and openness and getting a bunch of people inside that believed, falsely, they were joining an actually open network, Bluesky has decided to publish a part of their idea of how other people will be able to join their open network.
When I first saw their app and how they were very prominently things like follower counts, like counts and other things that are typical of centralized networks and can't be reliable or exact on truly open networks (like Nostr), I asked myself how were they going to do that once they became and open "federated" network as they were expected to be.
Turns out their decentralization plan is to just allow you, as a writer, to host your own posts on "personal data stores", but not really have any control over the distribution of the posts. All posts go through the Bluesky central server, called BGS, and they decide what to do with it. And you, as a reader, doesn't have any control of what you're reading from either, all you can do is connect to the BGS and ask for posts. If the BGS decides to ban, shadow ban, reorder, miscount, hide, deprioritize, trick or maybe even to serve ads, then you are out of luck.
Oh, but anyone can run their own BGS!, they will say. Even in their own blog post announcing the architecture they assert that "it’s a fairly resource-demanding service" and "there may be a few large full-network providers". But I fail to see why even more than one network provider will exist, if Bluesky is already doing that job, and considering the fact there are very little incentives for anyone to switch providers -- because the app does not seem to be at all made to talk to multiple providers, one would have to stop using the reliable, fast and beefy official BGS and start using some half-baked alternative and risk losing access to things.
When asked about the possibility of switching, one of Bluesky overlords said: "it would look something like this: bluesky has gone evil. there's a new alternative called freesky that people are rushing to. I'm switching to freesky".
The quote is very naïve and sounds like something that could be said about Twitter itself: "if Twitter is evil you can just run your own social network". Both are fallacies because they ignore the network-effect and the fact that people will never fully agree that something is "evil". In fact these two are the fundamental reasons why -- for social networks specifically (and not for other things like commerce) -- we need truly open protocols with no owners and no committees.
-
@ 460c25e6:ef85065c
2024-10-10 13:22:06In the early days of Nostr, developers often competed to see who could implement the most NIPs. Although all were optional (except NIP-01), it became a point of pride and vital for the ecosystem's growth. Back then, there were only a few dozen relatively simple NIPs to implement. Fast forward to today, with nearly 100 NIPs, maintaining and implementing everything has become nearly impossible. Yet, the drive among developers to "code all things Nostr" remains as strong as ever.
nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9uq3xamnwvaz7tmhda6zuat50phjummwv5hsx7c9z9 raised the point that everyone, even I, agrees:
nostr:nevent1qqsqqqp2zrs7836tyjlsfe7aj9c4d97zrxxqyayagkdwlcur96t4laspzemhxue69uhhyetvv9ujumt0wd68ytnsw43z7q3q80cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsxpqqqqqqzgcrrrp
But how big is too big? How can we better understand the range of options available for devs out there?
I went out for a hunt in my own brain to figure out how to clarify the situation. I came up with the following 4 categories for Nostr Clients: - Super Clients: These apps merge vastly different domains into a single application, offering basic support for reading, writing, configuration, and data management for each use case within each domains. An example would be an app that combines a Marketplace and Live Streams under one roof.
-
Clients: These apps provide comprehensive support for a single domain, handling all its use cases in a single home. They manage the complete set of reading, writing, configuration, and long-term data management within that domain. An example is a marketplace app that helps users manage product catalogs, process orders, collect payments, and handle fulfillment and reports.
-
Mini Clients: These apps focus on read and write functionality for a single use case, including configuration management and any actions related to that specific task. For example, a fulfillment app that helps users view orders placed from another client to then pack and ship them.
-
Micro Clients: These apps have a single interface and perform one specific action. Viewing and creating a record is handled by separate micro apps. An example is an app that simply scans an order's QR code and marks it as shipped.
Based on my made-up categories described at the end, this is how I would split our most known apps.
Super Clients - amethyst - nostrudel - coracle
Clients - damus - twitter - primal - twitter - snort - twitter - gossip - twitter - lume - twitter - ditto - twitter - rabbit - twitter - freefrom - twitter - nos - twitter - flycat - twitter - straylight - twitter - nostter - twitter - iris - twitter - nostur - twitter - nostrmo - twitter - yana - twitter - openvibe - twitter - freerse - twitter - 0xchat - chats - cornychat - chats - coop - chats - nostrchat - chats - blowater - chats - habla - blogs - yakihonne - blogs - highlighter - blogs - blogstack - blogs - stemstr - music - wavlake - music - fountain - podcasts - zap.stream - live streaming - shopstr - marketplace - plebeian.market - marketplace - flotilla - communities - satellite - communities - zapddit - communities - nostr.kiwi - communities - hivetalk - video calls - flare - long-form videos - nostrnests - audio spaces - wherostr - location - yondar - location - stacker.news - news - flockstr - events - nostrocket - issue tracker - docstr - docs - satshoot - freelance - wikifreedia - wiki - formstr - forms - chesstr - chess - memestr - meme feed - npub.cash - wallet - npub.pro - websites - gitworkshop - dev tools - onosendai - metaverse - degmods - games - turdsoup - prompts
Mini Clients - amber - signer - alby - signer - nos2x - signer - nsec.app - signer - keys.band - signer - nostrame - signer - nokakoi - anon - zap.cooking - recipes - anonostr - anon - getwired - anon - lowent - anon - creatr - exclusive content - lightning.video - exclusive content - zaplinks - slides - listr - lists - zap.store - app store - badges.page - badges - oddbean - news - dtan - torrents - nosta - user pages - pinstr - pinterest - pollerama - polls - swarmstr - trending - nostrapp - apps manager - noogle - search - ostrich.work - job postings - emojito - emoji manager - nostree - links - citrine - local relay - joinstr - coinjoins - heya - crowdfunding - zapplepay - zaps - nosbin - clipboard - shipyard - scheduler - tunestr - live streams - filestr - files - nostrcheck.me - media hosting - sheetstr - spreadsheets - crafters - curriculum vitae
Micro Clients - w3 - url shortener - nosdrive - backups - zaplife - zaps dashboard - zapper.fun - payments - nostrends - trends - zephyr - trends - wavman - music player - nostrrr - relay info - nosdump - relay info - notestack - blogs - nostr.build - media hosting - nostr.watch - relay info - nostr hours - use reports - lazereyes - vision prescriptions - snakestr - games - deletestr - deletion requests - 2048str - games - nostrqr - qr generator - notanostrclient - anon
Super apps will try to do everything, but can't really do most things super well. Regular-sized Clients will try to manage most of a given domain but are likely to centralize users on themselves, an unwanted effect inside of Nostr. If we want Nostr to grow in a decentralized fashion, we have to start betting on and using more Mini and Micro clients.
-
-
@ 592295cf:413a0db9
2024-10-05 09:32:22Week 30th September
Wiki article on the topic. [sPhil] (https://sphil.xyz/) Religion politics philosophy history are critical. They are not objective things.
Week of updates for protocol apps, including Gossip, coracle app, nostrmo, nostur and many others.
Kind7 Tags: K, emoji,a,others Others threads multi people
Show likes as kind 1 This person liked this post. Or this post has three likes in your timeline. The likes I don't know in your timeline really interest you.
The first book is the bible... Word of Alexandria.
I added cyberspace to the difficult things of the protocol ultra brain things. Low brain, middle brain, top brain, ultra.
Some alphaama codes .AA u login .AA q stuff .AA q run b .AA q run f .AA q close f
high things of alphaama nostr:nevent1qy88wumn8ghj7mn0wvhxcmmv9uq32amnwvaz7tmjv4kxz7fwv3sk6atn9e5k7tcqyqlqu2vwpwax7dj420e75yws7g7vyua9e245c0x73c056gunxchluey4q99
Comment: nostr:nevent1qqs8pn0zzhgk5l2raqh736rj3ckm48pfl6r7m72rnz2r2p7lzgmx20gzyqduwzspfzelx9k6x0lrez0j8cl8rtz0lxvqylk8z2ustnfy76jpzqcyqqqqqqgpramhxue69uhkummnw3ezuetfde6kuer6wasku7nfvuh8xurpvdjsjt5rvu
You have to get to the point where you have your community relay. But you have to go down the rabbit hole of relays. General, search, local, inbox outbox, cache. Etc until you get to community relay that is being talked about these days because of NIP 29 "Relay-based Groups". In the end you have to have that table with the various types of relays clearly in your mind. If the user doesn't think about it, who should think about it, who? if I choose the relays?
NIP-100 the world to make community for me. NIP-28 + NIP-72. So you have some structure interoperability with kind1. But the Channel is another kind. You arrange the various channels in the community. No posts need to be approved.
It's useless Protocol users are becoming more reddit users or so. I don't want to deal with these people.
-
@ 18bdb66e:82eb5e5d
2024-10-14 23:48:00Chef's notes
Serve over baked potato, cooked white rice, or drop biscuits.
Details
- ⏲️ Prep time: 15 mins
- 🍳 Cook time: 10 mins
- 🍽️ Servings: 2-4
Ingredients
- 2 - 4 Hotdogs, sliced thin
- 1 TBSP Butter
- 1 Can (10.5 oz) bean & bacon soup
- 1 Can (10.5 oz) condensed pea soup
- 1 Soup can of milk
- 1 Soup can of water
Directions
- Lightly brown hotdogs in butter.
- Mix soups, milk, and water in a bowl.
- Add soup mix to hotdogs, heat through but do not boil.
-
@ c0e0c427:a1f63a16
2024-10-14 09:15:50Chef's notes
Some say beat the cream as hard as you can but I find I have much better success when I take my time. So take it easy and be patient and that magic butter moment will arrive.
Details
- 🍳 Cook time: 15 min
- 🍽️ Servings: Approx 250g butter
Ingredients
- Pure fresh cream
- Salt
Directions
- Keep cream in the fridge until ready to start.
- Pour cream into a bowl.
- Beat with hand mixer or kitchen betchtop mixer with the balloon whisk.
- Maintain a medium power level in the mixer throughout. Note that it can get messy with lots of splatter and you might like to have a tea towel over the operation to limit clean up.
- After 5 min the cream will be whipped this is a great sign! Keep going.
- After 10 -15 min you’ll see the cream start to separate into solids and buttermilk.
- Keep whisking until you see the bright yellow butter solids start to clump together in the mixer.
- Pour off the buttermilk and save for later (bonus side product that makes the best pancakes and is actually really great in scrabbled eggs)
- Rinse in butter solid with cold water to remove all the buttermilk. This is an important step and the buttermilk increases the rate of spoil.
- Mix in salt and shape the butter into a block.
- Wrap and store in the fridge.
-
@ 59df1288:92e1744f
2024-10-21 02:37:05null
-
@ 592295cf:413a0db9
2024-09-28 08:19:25Week 23th September
It's not your voice anymore if it's available to everyone.
Nostr is psycho pop.
Nostrasia took place today. It all seemed beautiful. A muffled meeting, a bit in the clouds compared to the air you breathe in social media.
It seems there are two types of Nostr the one who doesn't want to grow and the one who wants to grow. 😅
-
There has always been a misconception that kind1 is the discovery layer, but in reality it is the opposite. If someone publishes a long form article there is less audience, it is true, but then it is easier to find quality content, therefore quality profiles to follow in the kind1 client aka twitter clone. And this can be true for all portable data layers, video streaming, audio, long form, ngit, wiki and whatsoever. So you have finally good follow.
-
The fact that in Nostr you don't see who follows you generally, only in a few clients, I only know one where you see who started following you. It's a strange thing, made to avoid seeing masses of bots that follow you and you can want to block, and you increase that list to the point of absurdity. It's strange because there is a lot of focus on the social graph, if you follow me it's an important aspect.
So in Nostr there are - portable data layers (Twitter style and other social) - non-portable, applications that use disposable npub, where the key is ephemeral.
- 0xchat was becoming a good client, they killed it because it has to focus on chat. I don't use chat, I don't have anyone to chat with, I follow the 0xchat channel and then I read things from Moment. I use it with my second account, because after the nos2x-amber affair with the Odell result, which I had already told you about, I no longer tried to have the first profile even on the mobile. In the end they are all keys that will be burned 😔
Maybe I won't use Nostr anymore in the future just with burn npub, pow and whatsoever. In the end you don't build anything because it's a "stateless" communication.
Lol Moment
On Nostr the poor answer guy is helping the network 🤣🤣
call the police 911: what is your emergency?
a spam bot is attacking "nostr" relays.
you want some government censorship on those relays that contain spam, yes we can do that.
-Previous week- 16 09 Machines Like Me was a good book, maybe now it will become reality.
-
The cool thing about Plebchain radio, it's not the guests, it's these two Nostr users that do a podcast. And they focused on Bitcoin and Nostr and lightning, but maybe it's just the beginning, first you have to focus on a niche and then you expand to the whole world. I think the whole world phase is starting, the podcast topics would become too repetitive. The best part is the 15 10 minute intro. Or in the live show part, there could be some interesting clips.
-
-
idea White button for activity pub user on voyage (app).
-
People hate Nostr. Don't use it
-
UnNip, now we've seen it all
-
Until the morale improves
-
-
People think Sync works like this by magic. Unfortunately it doesn't, I think, at least that's what those who are trying to do say, auto-merge, tinybase, evolu. There is an interesting local-first project. Jaguard a collaborative environment for writing empirical research papers.
-
Now I can search by id. I couldn't do it and I didn't understand the mechanism. Everything has to be instantiated. it works. Now I have to create a function maybe note_list_id and note_id. I continued to edit the NIPs page with asciidoc, categorizing this table is very fun.
New wave of Opensats grants.
- If you haven't heard about WoT this week, you probably live on Mars. There are people who didn't know you could edit on amethyst.
You need to do a podcast of NIPs, features and whatsoever, maybe doing a podcast is not the best solution because it assumes you know something more and something that could change the next day or be no longer valid. maybe you should avoid doing things you don't have full control over, or at least not spread it outside. Maybe because last year at this time I was recording audio.
-
-
@ 3bf0c63f:aefa459d
2024-01-14 13:55:28Jofer
Jofer era um jogador diferente. À primeira vista não, parecia igual, um volante combativo, perseguia os atacantes adversários implacavelmente, um bom jogador. Mas não era essa a característica que diferenciava Jofer. Jofer era, digamos, um chutador.
Começou numa semifinal de um torneio de juniores. O time de Jofer precisava do empate e estava sofrendo uma baita pressão do adversário, mas o jogo estava 1 a 1 e parecia que ia ficar assim mesmo, daquele jeito futebolístico que parece, parece mesmo. Só que aos 46 do segundo tempo tomaram um gol espírita, Ruizinho do outro time saiu correndo pela esquerda e, mesmo sendo canhoto, foi cortando para o meio, os zagueiros meio que achando que já tinha acabado mesmo, devia ter só mais aquele lance, o árbitro tinha dado dois minutos, Ruizinho chutou, marcou e o goleiro, que só pulou depois que já tinha visto que não ia ter jeito, ficou xingando.
A bola saiu do meio e tocaram para Jofer, ninguém nem veio marcá-lo, o outro time já estava comemorando, e com razão, o juiz estava de sacanagem em fazer o jogo continuar, já estava tudo acabado mesmo. Mas não, estava certo, mais um minuto de acréscimo, justo. Em um minuto dá pra fazer um gol. Mas como? Jofer pensou nas partidas da NBA em que com alguns centésimos de segundo faltando o armador jogava de qualquer jeito para a cesta e às vezes acertava. De trás do meio de campo, será? Não vou ter nem força pra fazer chegar no gol. Vou virar piada, melhor tocar pro Fumaça ali do lado e a gente perde sem essa humilhação no final. Mas, poxa, e daí? Vou tentar mesmo assim, qualquer coisa eu falo que foi um lançamento e daqui a uns dias todo mundo esquece. Olhou para o próprio pé, virou ele de ladinho, pra fora e depois pra dentro (bom, se eu pegar daqui, direitinho, quem sabe?), jogou a bola pro lado e bateu. A bola subiu escandalosamente, muito alta mesmo, deve ter subido uns 200 metros. Jofer não tinha como ter a menor noção. Depois foi descendo, o goleirão voltando correndo para debaixo da trave e olhando pra bola, foi chegando e pulando já só pra acompanhar, para ver, dependurado no travessão, a bola sair ainda bem alta, ela bateu na rede lateral interna antes de bater no chão, quicar violentamente e estufar a rede no alto do lado direito de quem olhava.
Mas isso tudo foi sonho do Jofer. Sonhou acordado, numa noite em que demorou pra dormir, deitado na sua cama. Ficou pensando se não seria fácil, se ele treinasse bastante, acertar o gol bem de longe, tipo no sonho, e se não dava pra fazer gol assim. No dia seguinte perguntou a Brunildinho, o treinador de goleiros. Era difícil defender essas bolas, ainda mais se elas subissem muito, o goleiro ficava sem perspectiva, o vento alterava a trajetória a cada instante, tinha efeito, ela cairia rápido, mas claro que não valia à pena treinar isso, a chance de acertar o gol era minúscula. Mas Jofer só ia tentar depois que treinasse bastante e comprovasse o que na sua imaginação parecia uma excelente idéia.
Começou a treinar todos os dias. Primeiro escondido, por vergonha dos colegas, chegava um pouco antes e ficava lá, chutando do círculo central. Ao menor sinal de gente se aproximando, parava e ia catar as bolas. Depois, quando começou a acertar, perdeu a vergonha. O pessoal do clube todo achava engraçado quando via Jofer treinando e depois ouvia a explicação da boca de alguém, ninguém levava muito a sério, mas também não achava de todo ridículo. O pessoal ria, mas no fundo torcia praquilo dar certo, mesmo.
Aconteceu que num jogo que não valia muita coisa, empatezinho feio, aos 40 do segundo tempo, a marcação dos adversários já não estava mais pressionando, todo mundo contente com o empate e com vontade de parar de jogar já, o Henrique, meia-esquerdo, humilde, mas ainda assim um pouco intimidante para Jofer (jogava demais), tocou pra ele. Vai lá, tenta sua loucura aí. Assumiu a responsabilidade do nosso volante introspectivo. Seria mais verossímil se Jofer tivesse errado, primeira vez que tentou, restava muito tempo ainda pra ele ter a chance de ser herói, ninguém acerta de primeira, mas ele acertou. Quase como no sonho, Lucas, o goleiro, não esperava, depois que viu o lance, riu-se, adiantou-se para pegar a bola que ele julgava que quicaria na área, mas ela foi mais pra frente, mais e mais, daí Lucas já estava correndo, só que começou a pensar que ela ia pra fora, e ele ia só se dependurar no travessão e fazer seu papel de estar na bola. Acabou que por conta daquele gol eles terminaram em segundo no grupo daquele torneiozinho, ao invés de terceiro, e não fez diferença nenhuma.
-
@ 3bf0c63f:aefa459d
2024-01-14 13:55:28O caso da Grêmio TV
enquanto vinha se conduzindo pela plataforma superior daquela arena que se pensava totalmente preenchida por adeptos da famosa equipe do Grêmio de Porto Alegre, viu-se, como por obra de algum nigromante - dos muitos que existem e estão a todo momento a fazer más obras e a colocar-se no caminhos dos que procuram, se não fazer o bem acima de todas as coisas, a pelo menos não fazer o mal no curso da realização dos seus interesses -, o discretíssimo jornalista a ser xingado e moído em palavras por uma horda de malandrinos a cinco ou seis passos dele surgida que cantavam e moviam seus braços em movimentos que não se pode classificar senão como bárbaros, e assim cantavam:
Grêmio TV pior que o SBT !
-
@ c0e0c427:a1f63a16
2024-10-14 09:00:51Chef's notes
I reuse my basic pickle brine at least once. Pickle brine is all about your preference. Make it as sweet as you like with extra sugar, spicy as heck so you are remembering you had them the morning after or a little extra zesty by changing the ratio of water to vinegar to 1:1. Note that the ratio is by weights and I use metric instead of freedom units because that is how I work but imperial will work if for keep the ratio the same by WEIGHT.
Details
- ⏲️ Prep time: 20 min
- 🍳 Cook time: 0 min
Ingredients
- 50mls apple cider vinegar
- 100mls water
- 50grams sugar
- Fresh dill
- Chilli
- 5-10 cucumbers
Directions
- Mix vinegar water together in a pot and bring to a simmer
- Turn off the heat and stir in the sugar until dissolved.
- Add into the brine fresh dill and chilli to your preferred taste.
- Allow brine to cool.
- Chop cucumbers into rounds or julienne and place into a clean and sterilised jar.
- Pour brine into jar so cucumbers are fully covered.
- Can enjoy in 2 days. Keeps up to 2 months.
-
@ 18bdb66e:82eb5e5d
2024-10-14 02:23:59Chef's notes
Cook pancakes ahead of time and freeze. Move to refrigerator the night before serving.
Details
- ⏲️ Prep time: 20 mins
- 🍳 Cook time: 20 mins
- 🍽️ Servings: 4
Ingredients
- 4 Slices Bacon
- 1 Can (10.5 ounce) condensed cream of chicken or mushroom soup
- ½ cup milk
- 4 boiled eggs, sliced
- 2 TBSP pimiento, chopped
- Pancakes
Directions
- Cook bacon until crisp; remove and crumble
- Pour off drippings
- Blend soup and milk;
- Add bacon, eggs, and pimiento.
- Heat through stirring frequently.
- Spoon between pancakes, sandwich style.
-
@ 3bf0c63f:aefa459d
2024-01-14 13:55:28Replacing the web with something saner
This is a simplification, but let's say that basically there are just 3 kinds of websites:
- Websites with content: text, images, videos;
- Websites that run full apps that do a ton of interactive stuff;
- Websites with some interactive content that uses JavaScript, or "mini-apps";
In a saner world we would have 3 different ways of serving and using these. 1 would be "the web" (and it was for a while, although I'm not claiming here that the past is always better and wanting to get back to the glorious old days).
1 would stay as "the web", just static sites, styled with CSS, no JavaScript whatsoever, but designers can still thrive and make they look pretty. Or it could also be something like Gemini. Maybe the two protocols could coexist.
2 would be downloadable native apps, much easier to write and maintain for developers (considering that multi-platform and cross-compilation is easy today and getting easier), faster, more polished experience for users, more powerful, integrates better with the computer.
(Remember that since no one would be striving to make the same app run both on browsers and natively no one would have any need for Electron or other inefficient bloated solutions, just pure native UI, like the Telegram app, have you seen that? It's fast.)
But 2 is mostly for apps that people use every day, something like Google Docs, email (although email is also broken technology), Netflix, Twitter, Trello and so on, and all those hundreds of niche SaaS that people pay monthly fees to use, each tailored to a different industry (although most of functions they all implement are the same everywhere). What do we do with dynamic open websites like StackOverflow, for example, where one needs to not only read, but also search and interact in multiple ways? What about that website that asks you a bunch of questions and then discovers the name of the person you're thinking about? What about that mini-app that calculates the hash of your provided content or shrinks your video, or that one that hosts your image without asking any questions?
All these and tons of others would fall into category 3, that of instantly loaded apps that you don't have to install, and yet they run in a sandbox.
The key for making category 3 worth investing time into is coming up with some solid grounds, simple enough that anyone can implement in multiple different ways, but not giving the app too much choices.
Telegram or Discord bots are super powerful platforms that can accomodate most kinds of app in them. They can't beat a native app specifically made with one purpose, but they allow anyone to provide instantly usable apps with very low overhead, and since the experience is so simple, intuitive and fast, users tend to like it and sometimes even pay for their services. There could exist a protocol that brings apps like that to the open world of (I won't say "web") domains and the websockets protocol -- with multiple different clients, each making their own decisions on how to display the content sent by the servers that are powering these apps.
Another idea is that of Alan Kay: to design a nice little OS/virtual machine that can load these apps and run them. Kinda like browsers are today, but providing a more well-thought, native-like experience and framework, but still sandboxed. And I add: abstracting away details about design, content disposition and so on.
These 3 kinds of programs could coexist peacefully. 2 are just standalone programs, they can do anything and each will be its own thing. 1 and 3, however, are still similar to browsers of today in the sense that you need clients to interact with servers and show to the user what they are asking. But by simplifying everything and separating the scopes properly these clients would be easy to write, efficient, small, the environment would be open and the internet would be saved.
See also
-
@ 3bf0c63f:aefa459d
2024-01-14 13:55:28IPFS problems: General confusion
Most IPFS open-source projects, libraries and apps (excluding Ethereum stuff) are things that rely heavily on dynamic data and temporary links. The most common projects you'll see when following the IPFS communities are chat rooms and similar things. I've seen dozens of these chat-rooms. There's also a famous IPFS-powered database. How can you do these things with content-addressing is a mistery. Of course they probably rely on IPNS or other external address system.
There's also a bunch of "file-sharing" on IPFS. The kind of thing people use for temporary making a file available for a third-party. There's image sharing on IPFS, pastebins on IPFS and so on. People don't seem to share the preoccupation with broken links here.
-
@ a012dc82:6458a70d
2024-10-21 02:09:34Table Of Content
-
The Ordinals Revolution
-
Celebrating Ordinals: A Red Carpet Welcome
-
The Critics and the Supporters
-
The Impact on Bitcoin Mining
-
The Changing Landscape of Revenue in Mining
-
The Road Ahead: Adapting to Change
-
The Ripple Effect: More Applications on the Horizon
-
Conclusion
-
FAQ
In the dynamic world of cryptocurrencies, innovation is the name of the game. The latest entrant to this ever-evolving landscape is Ordinals, a protocol that has taken the crypto community by storm. Ordinals enables users to mint NFT-like assets, known as inscriptions, directly onto the Bitcoin blockchain. This groundbreaking development has led to a surge in demand for computing power, significantly raising transaction fees as miners compete for available resources. The advent of Ordinals marks a new era for Bitcoin, opening up a world of possibilities for users and miners alike.
The Ordinals Revolution
The introduction of Ordinals has been met with a wave of enthusiasm from the crypto community. With nearly 12 million inscriptions now created on top of the Bitcoin blockchain, the hype around this new technology is palpable. The ability to launch NFT-like assets on the Bitcoin network, which boasts one of the most powerful brands in the crypto industry, is a significant milestone. This development has not only expanded the functionality of the Bitcoin network but also added a new dimension to the world of cryptocurrencies.
Celebrating Ordinals: A Red Carpet Welcome
The arrival of Ordinals deserves a red carpet welcome. It represents a significant step forward in the evolution of Bitcoin and the broader crypto industry. As we look to the future, it is clear that Ordinals will play a crucial role in shaping the trajectory of Bitcoin mining and the broader crypto landscape. So, let's roll out the red carpet and celebrate the arrival of Ordinals in style. The future of Bitcoin and the crypto industry is bright, and Ordinals is leading the way. This is not just a celebration of a new technology, but a celebration of the limitless potential of the crypto industry.
The Critics and the Supporters
However, the advent of Ordinals has not been without its critics. Some experts have voiced concerns about the protocol's vulnerability to scams and slower transaction speeds. They argue that the rush to embrace this new technology could lead to unforeseen consequences. But these criticisms overlook the potential of Ordinals to revolutionize Bitcoin mining and the broader crypto industry. On the other hand, supporters of Ordinals see it as a game-changer, a technology that will have a net positive effect on the profitability of Bitcoin mining in the long run. They argue that the benefits of Ordinals far outweigh the potential risks.
The Impact on Bitcoin Mining
The rising popularity of Ordinals has been a boon for Bitcoin miners. Bitcoin's scalability is limited to around seven transactions per second (TPS), so a sudden increase in demand for computing power often translates to higher fees. This shift in profitability away from rewards, which are reduced by 50% every four years due to halving, is something that many miners welcome. The introduction of Ordinals has essentially created a new revenue stream for miners, making the mining process more lucrative and sustainable in the long run.
The Changing Landscape of Revenue in Mining
For the second time in history, miners are not fully dependent on block rewards. The current period of high transaction fees has changed the perception of the sustainability of Bitcoin mining. In the future, transaction fees will likely become the main source of revenue in the mining industry. As Bitcoin's adoption and usability increase, miners are expected to earn more from commissions than via block rewards. This shift in the revenue model could potentially lead to a more stable and sustainable mining industry.
The Road Ahead: Adapting to Change
The introduction of Ordinals has brought about significant changes, and Bitcoin miners will need to adapt to remain profitable. This includes upgrading mining infrastructure and software and optimizing energy efficiency to address the challenge of reduced block rewards. The advent of Ordinals has essentially raised the bar for miners, requiring them to be more innovative and efficient in their operations. This could lead to the development of more advanced mining technologies and practices.
The Ripple Effect: More Applications on the Horizon
The arrival of Ordinals has also opened the door for more applications to be written on top of the Bitcoin protocol. This development is expected to lead to more use cases and a greater boost in Bitcoin adoption in the next couple of years. The introduction of Ordinals could potentially spur a wave of innovation in the crypto industry, leading to the development of new applications and services that leverage the power of the Bitcoin network.
Conclusion
Despite the concerns raised about Ordinals, it is essential to view this technology as an opportunity rather than a threat. Experimenting with the Bitcoin network's capabilities can only help support the overall ecosystem, both now and in the future. The introduction of Ordinals represents a significant step forward in the evolution of Bitcoin and the broader crypto industry. It is a testament to the endless possibilities that the world of cryptocurrencies offers.
FAQ
What is Ordinals? Ordinals is a new protocol that allows users to mint NFT-like assets, known as inscriptions, directly onto the Bitcoin blockchain.
How does Ordinals impact Bitcoin mining? The introduction of Ordinals has led to a surge in demand for computing power, significantly raising transaction fees as miners compete for available resources. This shift in profitability away from rewards is welcomed by many miners.
How does Ordinals affect the sustainability of Bitcoin mining? The high transaction fees brought about by Ordinals have changed the perception of the sustainability of Bitcoin mining. It has shown that miners are not fully dependent on block rewards, suggesting a more sustainable future for the mining industry.
How does Ordinals contribute to the evolution of Bitcoin? Ordinals has added a new dimension to Bitcoin by enabling the creation of NFT-like assets on its network. This has opened the door for more applications to be written on top of the Bitcoin protocol, leading to more use cases and a greater boost in Bitcoin adoption.
That's all for today
If you want more, be sure to follow us on:
NOSTR: croxroad@getalby.com
Instagram: @croxroadnews.co
Youtube: @croxroadnews
Store: https://croxroad.store
Subscribe to CROX ROAD Bitcoin Only Daily Newsletter
https://www.croxroad.co/subscribe
DISCLAIMER: None of this is financial advice. This newsletter is strictly educational and is not investment advice or a solicitation to buy or sell any assets or to make any financial decisions. Please be careful and do your own research.
-
-
@ 592295cf:413a0db9
2024-09-14 18:13:4109 09 week
The billboard has reached its first goal.
I don't understand anything, too much.
The web is a dangerous place, maybe the couch at home is for you.
Nostr is like being in a public place like a bar and you listen to the radio, and you can decide which radio to choose, you can also talk on the radio, only those who follow you and those who are connected to that frequency can listen to you.
We talk on multiple frequencies so if one is offline they can hear me on the other.
Spam will always be a constant as are fixed costs, personnel costs, taxes things that people in general hate
A lot of talk that will be blown away by the wind.
Jack Dorsey says Nostr will be a protocol for private encrypted chats
-
Open-sats drama
-
Carnivore dietitian
-
Lightning diatribe
-
This is already Twitter 😉
Fiatjaf explained for the umpteenth time what the outbox model is, now those who look at images instead of reading books must have understood it too. My note, Patricia writes in her relays write, including select some in her outbox 10002 kind. it was a dev page of something, so maybe it won't be online for long
Thinking that with Kamala Harris's victory, the price of Bitcoin would hit a low and holders would be happy to buy. 🤣🤣 Instead with Trump new all time High, holders would be happy. 🤣🤣 Lol Moment.
I read the article about btcmap maps, there were some notes to make but I didn't, it's beyond my level, it was only for builders.
Satlantis, trustroots, and wherostr were not noted.
I had this thought that we will not "succeed" in building the openness of type 1, in the following nips, because of the relays and because discovering new things has a cost, and no one wants to discover new things. And then after that the others should use them, but how and after that at least two others appear who are doing a similar thing, but they don't talk to each other because they don't have time.
If the time horizon is 10 years, those who survive will see.
Keeping calm seems difficult.
I tried nostr-relay-tray works. It works, I would suggest a couple of changes
- Delete some events.
- View events
- Search by npub id or time
- Delete by time.
These are difficult things but they can be done with a database, so they may as well not be done.
I hope that all the controversies are forgotten and overcome and we are more serene.
-
-
@ 18bdb66e:82eb5e5d
2024-10-14 02:15:49Details
- ⏲️ Prep time: 20 mins
- 🍳 Cook time: 10 mins
- 🍽️ Servings: 4
Ingredients
- 1 Can (10 ½ ounces) condensed Cheddar, or cream of celery soup.
- ½ cup milk
- 4 boiled eggs, sliced
- 2 TBSP pimiento, chopped
- 4 Slices of toast
Directions
- Add soup and milk in medium pot.
- Mix in egg slices, and pimiento reserving some for garnish.
- Heat through, stirring often.
-
@ 09fbf8f3:fa3d60f0
2024-09-10 13:21:23由于gmail在中国被防火墙拦截了,无法打开,不想错过邮件通知。
通过自建ntfy接受gmail邮件通知。 怎么自建ntfy,后面再写。
2024年08月13日更新:
修改不通过添加邮件标签来标记已经发送的通知,通过Google Sheets来记录已经发送的通知。
为了不让Google Sheets文档的内容很多,导致文件变大,用脚本自动清理一个星期以前的数据。
准备工具
- Ntfy服务
- Google Script
- Google Sheets
操作步骤
- 在Ntfy后台账号,设置访问令牌。
- 添加订阅主题。
- 进入Google Sheets创建一个表格.记住id,如下图:
- 进入Google Script创建项目。填入以下代码(注意填入之前的ntfy地址和令牌):
```javascript function checkEmail() { var sheetId = "你的Google Sheets id"; // 替换为你的 Google Sheets ID var sheet = SpreadsheetApp.openById(sheetId).getActiveSheet();
// 清理一星期以前的数据 cleanOldData(sheet, 7 * 24 * 60); // 保留7天(即一周)内的数据
var sentEmails = getSentEmails(sheet);
var threads = GmailApp.search('is:unread'); Logger.log("Found threads: " + threads.length);
if (threads.length === 0) return;
threads.forEach(function(thread) { var threadId = thread.getId();
if (!sentEmails.includes(threadId)) { thread.getMessages().forEach(sendNtfyNotification); recordSentEmail(sheet, threadId); }
}); }
function sendNtfyNotification(email) { if (!email) { Logger.log("Email object is undefined or null."); return; }
var message = `发件人: ${email.getFrom() || "未知发件人"} 主题: ${email.getSubject() || "无主题"}
内容: ${email.getPlainBody() || "无内容"}`;
var url = "https://你的ntfy地址/Gmail"; var options = { method: "post", payload: message, headers: { Authorization: "Bearer Ntfy的令牌" }, muteHttpExceptions: true };
try { var response = UrlFetchApp.fetch(url, options); Logger.log("Response: " + response.getContentText()); } catch (e) { Logger.log("Error: " + e.message); } }
function getSentEmails(sheet) { var data = sheet.getDataRange().getValues(); return data.map(row => row[0]); // Assuming email IDs are stored in the first column }
function recordSentEmail(sheet, threadId) { sheet.appendRow([threadId, new Date()]); }
function cleanOldData(sheet, minutes) { var now = new Date(); var thresholdDate = new Date(now.getTime() - minutes * 60 * 1000); // 获取X分钟前的时间
var data = sheet.getDataRange().getValues(); var rowsToDelete = [];
data.forEach(function(row, index) { var date = new Date(row[1]); // 假设日期保存在第二列 if (date < thresholdDate) { rowsToDelete.push(index + 1); // 存储要删除的行号 } });
// 逆序删除(从最后一行开始删除,以避免行号改变) rowsToDelete.reverse().forEach(function(row) { sheet.deleteRow(row); }); }
```
5.Google Script是有限制的不能频繁调用,可以设置五分钟调用一次。如图:
结尾
本人不会代码,以上代码都是通过chatgpt生成的。经过多次修改,刚开始会一直发送通知,后面修改后将已发送的通知放到一个“通知”的标签里。后续不会再次发送通知。
如需要发送通知后自动标记已读,可以把代码复制到chatgpt给你写。
-
@ 3bf0c63f:aefa459d
2024-01-14 13:55:28Scala is such a great language
Scala is amazing. The type system has the perfect balance between flexibility and powerfulness.
match
statements are great. You can write imperative code that looks very nice and expressive (and I haven't tried writing purely functional things yet). Everything is easy to write and cheap and neovim integration works great.But Java is not great. And the fact that Scala is a JVM language doesn't help because over the years people have written stuff that depends on Java libraries -- and these Java libraries are not as safe as the Scala libraries, they contain reflection, slowness, runtime errors, all kinds of horrors.
Scala is also very tightly associated with Akka, the actor framework, and Akka is a giant collection of anti-patterns. Untyped stuff, reflection, dependency on JVM, basically a lot of javisms. I just arrived and I don't know anything about the Scala history or ecosystem or community, but I have the impression that Akka has prevent more adoption of Scala from decent people that aren't Java programmers.
But luckily there is a solution -- or two solutions: ScalaJS is a great thing that exists. It transpiles Scala code into JavaScript and it runs on NodeJS or in a browser!
Scala Native is a much better deal, though, it compiles to LLVM and then to binary code and you can have single binaries that run directly without a JVM -- not that the single JARs are that bad though, they are great and everybody has Java so I'll take that anytime over C libraries or NPM-distributed software, but direct executables even better. Scala Native just needs a little more love and some libraries and it will be the greatest thing in a couple of years.
-
@ 18bdb66e:82eb5e5d
2024-10-14 02:05:51Chef's notes
Try Fiesta Cheese soup for a little flavor kick. Omit lemon juice and pepper.
Details
- ⏲️ Prep time: 20 mins
- 🍳 Cook time: 15 mins
- 🍽️ Servings: 4
Ingredients
- 8 Strips bacon
- 1 Can Cheddar cheese soup
- ½ Cup milk
- 1TSP Lemon juice
- Cayenne pepper to taste
- 2 Medium tomatoes, sliced
- 4 Slices toast
Directions
- Cook bacon. Set drippings aside.
- Add soup to skillet
- Heat to simmer
- Add milk, lemon juice, and pepper
- Blend till smooth
- Heat slowly so as not to scorch milk.
- Plate toast, and lay tomato and bacon on each slice.
- Ladle soup over toast.
-
@ 129f5189:3a441803
2024-09-09 23:28:41Project 2025, outlined in the Heritage Foundation's "Mandate for Leadership" document, serves as a fundamental guide for the next Republican administration. Despite Trump's extensive denial, in today's material, we will explore the deepening and continuation of many policies already employed during his first term. The idea is that this material will serve as a reference document to consult and verify what was actually implemented and/or followed. https://image.nostr.build/e3b89d71ff929258e5d9cb0b5ca8709a381598f43d8be4b17df3c69c0bc74d4a.jpg This document presents proposals for the foreign policy and the State Department of the United States of America, as well as the strategy with its political partners and adversaries. We will also address the U.S. government's communication strategy abroad. https://image.nostr.build/a4250b786f611b478aaf0be559427ad7d4296fbcacb2acc692c7f0d7eb06b0dd.jpg Reorienting U.S. Foreign Policy: Proposals for a Conservative Future In the chapter "The Department of State" from the "Mandate for Leadership," also known as "Project 2025," Kiron K. Skinner presents a comprehensive plan to reform U.S. foreign policy under a conservative administration. Skinner, a renowned foreign policy expert and former Director of Policy Planning at the U.S. State Department, outlines global threats and offers specific recommendations to strengthen the U.S. position on the international stage. Below, we present a detailed analysis of the proposals, emphasizing direct quotes and explanations of the key points discussed. https://image.nostr.build/278dcd7ef0439813ea35d0598319ee347f7a8cd7dfecac93be24ffdd0f6ecd04.jpg History and Structure of the State Department Since its founding in 1789, the State Department has been the primary diplomatic channel of the U.S. With nearly 80,000 employees and 275 posts around the world, it faces significant structural challenges. Skinner highlights that "the biggest problem of the State Department is not a lack of resources," but the belief that it is "an independent institution that knows what is best for the U.S." (Skinner). The scholar and former Director of Policy Planning at the U.S. State Department during the Trump administration emphasizes these points, considering the difficulty in accepting a conservative international approach by State Department employees (the equivalent of the Ministry of Foreign Affairs in other countries). https://image.nostr.build/049939926793e86000b300b9a962dc0ae7e271d9a607ae36d8cb08642adf4174.jpg Political Leadership and Bureaucratic Support To align the State Department with presidential priorities, Kiron suggests appointing political leaders who are committed to the president's vision. "Leadership should include political appointees in positions that do not require Senate confirmation, including senior advisors and deputy secretaries" (Skinner). Furthermore, she emphasizes the importance of training and supporting these appointees to ensure effective coordination between agencies. https://image.nostr.build/6ed704cc9612aa6489e048b143f1e489c1f8807fdf2ab011b4ba88e4a1e3619a.jpg Global Threats to the U.S. The document identifies five countries that pose significant threats to the security and prosperity of the U.S.: China, Iran, Venezuela, Russia, and North Korea. 🇨🇳 China: Skinner argues that China represents an existential threat. "The U.S. needs a strategic cost-imposing response to make Beijing's aggression economically unviable" (Skinner). Additionally, she emphasizes that the issue is not with the Chinese people, but with the communist dictatorship that oppresses them: "As with all global struggles against communist and other tyrannical regimes, the issue should never be with the Chinese people, but with the communist dictatorship that oppresses them" (Skinner). https://image.nostr.build/e707273f1d08bdc4187123a312bd116695b5f603066e11ad30fcef4466730b6b.jpg 🇮🇷 Iran: The Obama administration, through the 2015 nuclear deal, provided the Iranian regime with a "crucial cash bailout" (Skinner). Kiron criticizes this approach, asserting that the U.S. should support the Iranian people in their demands for a democratic government. "The correct policy for Iran is one that recognizes that it is in the U.S. national security interests and the human rights of Iranians that they have the democratic government they demand" (Skinner). https://image.nostr.build/cda7d29a62981f59ad8d77362b3867b552f190c8d7e0e8d9233cb7c1d1d0309e.jpg 🇻🇪 Venezuela: Under the regimes of Hugo Chávez and Nicolás Maduro, Venezuela has transitioned from a prosperous country to one of the poorest in South America. Skinner suggests that the U.S. should work to contain Venezuelan communism and support its people. "The next administration should take steps to put Venezuela's communist abusers on notice and make progress in helping the Venezuelan people" (Skinner). https://image.nostr.build/f53e12564cae74d4b50c24b0f3752dd2c53b70bd1c00a16df20736fb8588417d.jpg 🇷🇺 Russia: The war between Russia and Ukraine divides opinions among conservatives, and the document considers three lines of action. Some advocate continuing support for Ukraine, while others believe that such support does not serve U.S. security interests. "The conservative approach rejects both isolationism and interventionism, first asking: What is in the interest of the American people?" https://image.nostr.build/8fedaf77129f4801f4edb8b169b2ac93a3e518b8bf3642b3abc62575b5435fa3.jpg One conservative school of thought believes that "Moscow's illegal war of aggression against Ukraine represents major challenges to U.S. interests, as well as to peace, stability, and the post-Cold War security order in Europe" (Skinner). This view advocates for continued U.S. involvement, including military and economic aid, to defeat Russian President Vladimir Putin and return to pre-invasion border lines. Another conservative school of thought argues that U.S. support for Ukraine is not in the interest of U.S. national security. According to this view, "Ukraine is not a member of the NATO alliance and is one of the most corrupt countries in the region" (Skinner). It is argued that the European nations directly affected by the conflict should help defend Ukraine, but the U.S. should seek a swift end to the conflict through a negotiated settlement. https://image.nostr.build/22db3d0e79340c1d62344a2b8a3bfddbe4d5bd923cf77d70cfbf5ebf73e4db3e.jpg A third conservative viewpoint avoids both isolationism and interventionism, proposing that "each foreign policy decision should first ask: What is in the interest of the American people?" (Skinner). From this perspective, continued U.S. involvement should be fully funded, limited to military aid while European allies address Ukraine's economic needs, and must have a clear national security strategy that does not endanger American lives. https://image.nostr.build/939fea0bb5c69f171a3da1073e197edcff23a600430b3bc455f6d41bc8a0319f.jpg Although not stated explicitly, I believe this third viewpoint is the one Kiron Skinner desires, as she considers American intervention important but advocates for balancing the costs of the war with its partners in the European Union and NATO. https://image.nostr.build/d1d0c7fb27bfc5dd14b8dde459b98ed6b7ca2706473b2580e0fbf5383f5a9c10.jpg 🇰🇵 North Korea: North Korea must be deterred from any military conflict and cannot be allowed to remain a de facto nuclear power. "The U.S. cannot allow North Korea to remain a de facto nuclear power with the capability to threaten the U.S. or its allies" (Skinner). https://image.nostr.build/95febb04f6d2e0575974a5e645fc7b5ec3b826b8828237ccc1f49b11d11d6bce.jpg Detailed Policy Proposals Refugee Admissions: The Biden administration has caused a collapse in border security and internal immigration enforcement, according to Skinner. She argues that the U.S. Refugee Admissions Program (USRAP) should be resized. "The federal government should redirect screening and verification resources to the border crisis, indefinitely reducing the number of USRAP refugee admissions until the crisis can be contained" (Skinner). https://image.nostr.build/a5740b33842e47b9a1ab58c7b72bd6514f9b6ffbb18706deed1445c59236bc0d.jpg Corporate Collaboration with China: Skinner criticizes the collaboration of companies like BlackRock and Disney with the Chinese regime, noting that "many are invested in an unwavering faith in the international system and global norms," refusing to acknowledge Beijing's malign activities. She emphasizes that the real issue is the communist dictatorship that oppresses the Chinese people, not the Chinese citizens themselves (Skinner). https://image.nostr.build/05a3c787f144c4519c2ee8a4b22e64b8729842819ace4b439c849ef70ecd60b4.jpg Fentanyl and Mexico: The trafficking of fentanyl, facilitated by Mexican cartels in collaboration with Chinese precursor chemical manufacturers, is a critical problem. "Mexican cartels, working closely with Chinese manufacturers of fentanyl precursor chemicals, are sending this drug to the U.S., causing an unprecedented lethal impact" (Skinner). The next administration should adopt a firm stance to halt this public health crisis. https://image.nostr.build/59e32aeef5dabab3344a94a3e415d57fed91fece8bc3c5f068e9f6f7d71f99bd.jpg Re-hemispherization of Manufacturing: Kiron proposes that the U.S. promote the relocation of manufacturing to partner countries such as Mexico and Canada. "The U.S. should do everything possible to shift global manufacturing to Central and South American countries, especially to move it away from China" (Skinner). This would improve the supply chain and represent a significant economic boost for the region. https://image.nostr.build/5d5d7d792f1c94eb6e2bd7a4b86c43236765719e183be8ba8e00ed7dd07eca66.jpg Abraham Accords and a New “Quad”: Skinner suggests that the next administration should expand the Abraham Accords to include countries like Saudi Arabia and form a new security pact in the Middle East that includes Israel, Egypt, Gulf states, and possibly India. "Protecting the freedom of navigation in the Gulf and the Red Sea/Suez Canal is vital for the global economy and, therefore, for U.S. prosperity" (Skinner). https://image.nostr.build/c87cd99cb3ea2bef40e9d1f1fea48b0c9f9f031f3077fff658f15f850e7b8589.jpg Policy for Africa: The U.S. strategy for Africa should shift focus from humanitarian assistance to economic growth and countering China’s malign activities. "Development assistance should focus on fostering free market systems and involving the U.S. private sector" (Skinner). She also highlights that African nations are opposed to the imposition of policies such as abortion and LGBT lobbying. https://image.nostr.build/44df42f32e61c14786ac46c231d368b14df4dc18124a0da458e8506f917302f2.jpg Relations with Europe and Asia Europe: The U.S. should demand that NATO countries increase their contributions to defense. "The U.S. cannot be expected to provide a defense umbrella for countries that do not contribute adequately" (Skinner). Additionally, urgent trade agreements should be pursued with the post-Brexit United Kingdom. https://image.nostr.build/6c013bacfa9e6505ad717104d9a6065f27664a321dd2c3d41fd7635258042d2f.jpg Asia: The withdrawal of U.S. troops from Afghanistan was humiliating and created new challenges. Skinner emphasizes the importance of India as a critical partner to counterbalance the Chinese threat and promote a free and open Indo-Pacific. Cooperation within the Quad, which includes the U.S., India, Japan, and Australia, is essential to this strategy. "The priority is to advance U.S.-India cooperation as a pillar of the Quad" (Skinner). https://image.nostr.build/1cc988b2f70d855c9676d7e38ffdb23564d04ad6333a8d256698f416a1c6704e.jpg International Organizations Skinner criticizes the corruption and failure of the World Health Organization (WHO) during the Covid-19 pandemic. "The next administration should end blind support for international organizations and direct the Secretary of State to initiate a cost-benefit analysis of U.S. participation in all international organizations" (Skinner). She also supports the “Geneva Consensus Declaration on Women’s Health and Protection of the Family,” which is against abortion, and believes that the U.S. government should not fund international organizations that promote abortion (Skinner). https://image.nostr.build/0b583511fef16d68736804fae2f15850eb5c803af01f006a3fe10cdbc583f48c.jpg Conclusion Skinner’s document provides a detailed vision for reorienting U.S. foreign policy under a conservative administration, with an emphasis on ensuring that the State Department serves the national interests defined by the president. With these guidelines, the next administration has the opportunity to redefine the U.S. position on the global stage, promoting security, prosperity, and freedom. https://image.nostr.build/697522745c5947cd4384cdd302b531ee98ce5d59a5d72de0b4f3a52c9abd4821.jpg
-
@ 3bf0c63f:aefa459d
2024-01-14 13:55:28Que vença o melhor
Nos esportes e jogos em geral, existe uma constante preocupação em balancear os incentivos e atributos do jogo, as regras do esporte em si e as regras das competições para que o melhor vença, ou, em outras palavras, para que sejam minimizados os outros fatores exceto a habilidade mais pura quanto possível no jogo em questão.
O mundo fora dos jogos, porém, nem sempre pode ter suas regras mudadas por um ente que as controla e está imbuído da vontade e dos meios para escolher as melhores regras possíveis para a obtenção dos resultados acima. Aliás, é muitas vezes essa possibilidade é até impensável. Mesmo quando ela é pensável e levada em conta os fatores que operam no mundo real não são facilmente identificáveis, eles são muitos, e mudam o tempo todo.
Mais do que isso, ao contrário de um jogo em que o objetivo é praticamente o mesmo para todo mundo, os objetivos de cada agente no mundo real são diferentes e incontáveis, e as "competições" que cada um está disputando são diferentes e muitas, cada minúsculo ato de suas vidas compreendendo várias delas simultaneamente.
Da mesma forma, é impossível conceber até mesmo o conceito de "melhor" para que se deseje que ele vença.
Mesmo assim é comum encontrarmos em várias situações gente que parte do princípio de que se Fulano está num certo lugar (por exemplo, um emprego muito bom) e Beltrano não isso se deve ao fato de Fulano ter sido melhor que Beltrano.
Está aí uma crítica à idéia da meritocracia (eu tinha me esquecido que essa palavra existia).
-
@ 09fbf8f3:fa3d60f0
2024-09-08 13:17:43由于telegram的政策调整,不允许滥用telegraph匿名上传图片了。 导致之前通过telegraph搭建的图床无法上传(已上传的能正常查看)。
有人通过原项目的基础上分支另外项目,可以通过频道上传图片。
项目是通过cloudflare pages搭建的。 - 项目地址:https://github.com/MarSeventh/CloudFlare-ImgBed
项目的教程很详细,具体去看项目教程。
telegram设置:
- 需要有telegram账号
- 通过@BotFather创建一个telegram机器人,并获取api key。
- 创建一个频道,获取频道id,通过转发一条消息到 @VersaToolsBot机器人可以查看频道id。
- 一定要添加创建的机器人到频道作为管理员才能使用。
cloudflare的设置
- 通过git项目部署,设置变量:TG_BOT_TOKEN和TG_CHAT_ID就基本可以使用了。
- 如果需要后台,需要添加kv空间,并在设置里面的函数,选择对应的kv空间,如图:
- BASIC_USER 后台登陆名
- BASIC_PASS 后台密码
- AUTH_CODE 鉴权,防止别人使用,设置后,别人使用必须输入这个。
其他
- 成人内容屏蔽
- pico 使用api接口 去项目地址看
最后
我搭建的地址: https://imgbed.lepidus.me
-
@ 3bf0c63f:aefa459d
2024-01-14 13:55:28Token-Curated Registries
So you want to build a TCR?
TCRs (Token Curated Registries) are a construct for maintaining registries on Ethereum. Imagine you have lots of scissor brands and you want a list with only the good scissors. You want to make sure only the good scissors make into that list and not the bad scissors. For that, people will tell you, you can just create a TCR of the best scissors!
It works like this: some people have the token, let's call it Scissor Token. Some other person, let's say it's a scissor manufacturer, wants to put his scissor on the list, this guy must acquire some Scissor Tokens and "stake" it. Holders of the Scissor Tokens are allowed to vote on "yes" or "no". If "no", the manufactures loses his tokens to the holders, if "yes" then its tokens are kept in deposit, but his scissor brand gets accepted into the registry.
Such a simple process, they say, have strong incentives for being the best possible way of curating a registry of scissors: consumers have the incentive to consult the list because of its high quality; manufacturers have the incentive to buy tokens and apply to join the list because the list is so well-curated and consumers always consult it; token holders want the registry to accept good and reject bad scissors because that good decisions will make the list good for consumers and thus their tokens more valuable, bad decisions will do the contrary. It doesn't make sense, to reject everybody just to grab their tokens, because that would create an incentive against people trying to enter the list.
Amazing! How come such a simple system of voting has such enourmous features? Now we can have lists of everything so well-curated, and for that we just need Ethereum tokens!
Now let's imagine a different proposal, of my own creation: SPCR, Single-person curated registries.
Single-person Curated Registries are equal to TCR, except they don't use Ethereum tokens, it's just a list in a text file kept by a single person. People can apply to join, and they will have to give the single person some amount of money, the single person can reject or accept the proposal and so on.
Now let's look at the incentives of SPCR: people will want to consult the registry because it is so well curated; vendors will want to enter the registry because people are consulting it; the single person will want to accept the good and reject the bad applicants because these good decisions are what will make the list valuable.
Amazing! How such a single proposal has such enourmous features! SPCR are going to take over the internet!
What TCR enthusiasts get wrong?
TCR people think they can just list a set of incentives for something to work and assume that something will work. Mix that with Ethereum hype and they think theyve found something unique and revolutionary, while in fact they're just making a poor implementation of "democracy" systems that fail almost everywhere.
The life is not about listing a set of "incentives" and then considering the problems solved. Almost everybody on the Earth has the incentive for being rich: being rich has a lot of advantages over being poor, however not all people get rich! Why are the incentives failing?
Curating lists is a hard problem, it involves a lot of knowledge about the problem that just holding a token won't give you, it involves personal preferences, politics, it involves knowing where is the real limit between "good" and "bad". The Single Person list may have a good result if the single person doing the curation is knowledgeable and honest (yes, you can game the system to accept your uncle's scissors and not their competitor that is much better, for example, without losing the entire list reputation), same thing for TCRs, but it can also fail miserably, and it can appear to be good but be in fact not so good. In all cases, the list entries will reflect the preferences of people choosing and other things that aren't taken into the incentives equation of TCR enthusiasts.
We don't need lists
The most important point to be made, although unrelated to the incentive story, is that we don't need lists. Imagine you're looking for a scissor. You don't want someone to tell if scissor A or B are "good" or "bad", or if A is "better" than B. You want to know if, for your specific situation, or for a class of situations, A will serve well, and do that considering A's price and if A is being sold near you and all that.
Scissors are the worst example ever to make this point, but I hope you get it. If you don't, try imagining the same example with schools, doctors, plumbers, food, whatever.
Recommendation systems are badly needed in our world, and TCRs don't solve these at all.
-
@ 592295cf:413a0db9
2024-09-07 08:32:33Week 02/09
A week with a free vpn on Nostr.
I gave up using nostter by now. 😔 now it works it seems to be back From Wednesday, it should start calm on Nostr, Brazilians will not arrive, no one has more Twitter accounts where to contact them. 😅 Sorry brazilian.
I read 5 and 6 comments about Nostr, Nostr is bad I do not enroll. It's only four months to the end. Join made two zap and then we salute definitively, pura vida. I'm gonna miss Nostr.
I also thought about making a bookmark on Nostr, using the spec that already exists but using kind 1985. Convert this link to the note, but I did not find the courage. Maybe it doesn't make much sense if it only lasts four months and all the relays are turned off.
There's a bit of enthusiasm and some keep pointing the Nostr weird index by raising the stick. In practice, the new bookmark spec is used only by two clients. I think the clients who have more bookmarks in the groppone is Amethyst, if someone writes an encoding for the new bookmark, it would be nice, but I don't think it will happen, to those who care about bookmarks.
Moment aspirin, orbot, citrine, Amethyst. I don't think it's mentally sustainable, too.
Sometimes they are extremely bullish, the second after disfatist, regarding the various clients.
It would be nice to get to some foundations. That's Nostr, I don't think it'll happen so easily.
Some Events
- is Zapconf online really there?
-
1 week Bangkok, bitcoin conference Conference there will be yakihonne and wherostr.
-
24 September Nostrasia
Do not follow the bots you can make a list of bots, rankings of people You just have to follow people. Kind 982 from 892892 advertising 😅🙇♂️
{ "kind": 892, "tags": [ ["b", "91cf9..4e5ca", "wss://bot_alicerelay.com/", "bot_alice"], ["b", "14aeb..8dad4", "wss://bot_bobrelay.com/nostr", "bot_bob"], ["b", "612ae..e610f", "ws://bot_carolrelay.com/ws", "bot_carol"] ], "content": "", ...other fields }
Jack Dorsey says there will be more bots than people on Nostr (useful).
The more I read about Bluesky the more I am in Fomo with Nostr, like this post post in Buesky That's why not stay in other social media 🤣
Or they all have it with Nostr, maybe Nostr is finishing, really in four months.
Nostr is over, the chain of command is now insurmountable, you have to make a scalable protocol from within, reminds me of some political party.
Internal scale 🙅
Representation of all the NIPs, neighbors
People just want proof of works, but there is so much uncompensated question, you have to create the right incentives. Your job is work only if you create a job. Nostrudel has created this tool sandbox where you can just play event consoles, event publishers, blindspots, Discovery, relays. Coracle has created custom feed, groups, supports listing events and items.
People are not important, they are important because they consent to this, but it is not quantifiable in money.
And but as I get visibility, just proof of work. Forget about the various bottle doors, think about yourself, if you want a community make yourself a community, if you don't want to do it, relax.
But only four months are missing, in fact relax, enjoy them. A world of possibilities do not waste it because everything is not perfect.
If you want to make a CMS, the road is long and uphill, but then you are using a blog, no and then.
I made an attempt with kind 1985 works, I still have to create sub category. Example live events ecash Germany Berlin.
Anyway it's a bit of a mess this "new" web. Users are angry. 😉 It's the new feature.
-
@ 18bdb66e:82eb5e5d
2024-10-14 01:57:16Chef's notes
Serving with Texas Toast is a great option.
Details
- ⏲️ Prep time: 15 mins
- 🍳 Cook time: 10 mins
- 🍽️ Servings: 4
Ingredients
- 2 TBSP butter, melted
- 1 Can (10.5 ounce) condensed cream of celery soup
- ½ Cup milk
- ¼ Cup chopped onion
- 1 Package (4 ounces) sliced beef
- Toast
Directions
- Melt butter in heavy skillet.
- Brown beef and onion in butter.
- Mix soup and milk.
- Add soup to skillet.
- Heat; stirring often.
- Serve on hot toast.
-
@ 4ba8e86d:89d32de4
2024-10-09 13:13:10Recentemente, perdi minha lista de RSS, Decidi criar este texto sobre RSS pode ajudar a escapar das armadilhas do algoritmo das redes sociais.
Além disso, para facilitar a vida daqueles que também desejam adotar o RSS como uma ferramenta de leitura, fiz um fork da lista de RSS do SethForPrivacy. Você pode acessar a lista no seguinte link: https://gist.github.com/Alexemidio/2699dd82077d483849b576a908b0c444
Aproveite a lista de RSS para personalizar seu fluxo de conteúdo e desfrutar de uma experiência de leitura mais controlada e direcionada.
Utilizar um leitor de RSS bem organizado é uma estratégia eficaz para se libertar da rolagem incessante nas redes sociais e recuperar o controle sobre o conteúdo que você consome. Isso possibilita direcionar sua atenção para o conteúdo genuinamente relevante.
Você já notou que os feeds das redes sociais frequentemente são inundados com notícias que provocam emoções negativas? Esse fenômeno, chamado de "doomscrolling", persiste, e as redes sociais parecem acentuar ainda mais a sua presença. A conhecida "bolha" das redes sociais nos mantém imersos, mostrando principalmente os posts com os quais interagimos. Isso tem provocado várias consequências prejudiciais, incluindo a disseminação de notícias falsas, desinformação e o agravamento de problemas como ansiedade e depressão entre os usuários. Mas, e se lhe disséssemos que existe uma alternativa? Uma maneira de receber informações diretamente, sem filtros ou algoritmos? É disso que vamos falar hoje: o RSS.
O Que é o RSS?
RSS é a abreviação de "Really Simple Syndication", que pode ser traduzida como "Sincronização Realmente Simples". Trata-se de um arquivo XML gerado por inúmeros sites para exibir as postagens que o site publica. Dessa forma, os leitores de RSS permitem às pessoas acompanhar diversos blogs, sites de notícias e muito mais, tudo a partir de um único local.
Quem Criou o RSS?
Uma das pessoas envolvidas na criação do RSS foi Aaron Swartz, um hacker notório por seu papel na fundação do Creative Commons e por ser um dos cofundadores da rede social Reddit.
Se desejar se aprofundar na história de Aaron, recomendamos o documentário "O Menino da Internet: A História de Aaron Swartz" dublado em português completo. https://youtu.be/qm4NRSa9T2Q?si=GXyPXVOMJX20pIo_
Para quem gosta de RSS como eu, você não precisa usar NOSTR para acompanhar meu conteúdo. Basta me adicionar ao seu RSS.
Meu RSS Nostr: nostr:npub1fw5wsmfdj7ykmjfn0sl9qp533y7hx96h9lvplz6pmhd9mzwn9hjqvq2rfr
Utilizar um leitor de RSS bem organizado é uma maneira eficaz de se libertar da rolagem incessante e recuperar o controle sobre o conteúdo que você consome, direcionando sua atenção para o que realmente importa.
Para pessoas interessantes como o nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 você não precisa segui-lo no Nostr, basta adicionar ao seu RSS.
nostr:naddr1qqxnzdesx5ur2vekxucrqde5qgsyh28gd5ke0ztdeyehc0jsq6gcj0tnzatjlkql3dqamkja38fjmeqrqsqqqa282ctyhs
Leitores de RSS Recomendados:
Feeder (Mobile): O Feeder é um aplicativo de leitor de RSS de código aberto que permite que você acompanhe e leia suas fontes de notícias favoritas em um só lugar. Com recursos avançados e uma interface intuitiva.
Liferea (Desktop): Liferea é a abreviação de Linux Feed Reader, um programa agregador para leitura de notícias online. Ele suporta os principais tipos de arquivo criados para esse fim: RSS/RDF e Atom. Também pode importar e exportar no formato OPML.
-
@ 623ed218:fa549249
2024-10-20 21:38:48Donald Trump, Fry Cook
I'd seen some photos of Trump working at Mcdonalds floating around. I'm only now realizing it wasn't AI-generated...
https://youtu.be/gCFE24BtqGo?si=ha4nd4a4F5fR4SHf
originally posted at https://stacker.news/items/732974
-
@ 18bdb66e:82eb5e5d
2024-10-14 01:52:01Chef's notes
Garnish with chopped green onions, mushrooms, or serve with a side of carrots for variety.
Details
- ⏲️ Prep time: 10 mins
- 🍳 Cook time: 10 mins
- 🍽️ Servings: 4
Ingredients
- 2 cans condensed beef broth
- 2 soup cans of water
- ½ bay leaf
- 1 egg
Directions
- Add soup, water, and bay leaf in pot.
- Bring soup to boil, reduce heat
- Simmer 5 minutes
- Remove bay leaf and discard.
- Beat egg slightly.
- Pour thin stream of egg into soup while stirring.
- Salt and pepper to taste.
- Serve with toast.
-
@ 623ed218:fa549249
2024-10-20 20:22:55So, I just spent about half an hour attempting to connect my Minibits ecash wallet to Stacker.News using NWC. As I found a way to make it work, I figured I'd make a post so hopefully in the future someone can save a little time.
When you create a NWC string in Minibits, it doesn't differentiate between connections for sending payments, and connections for receiving them. I attempted to just paste the same connection string in both fields with no luck, as well as attempting to generate a new connection string for use in the "receive" field. This also was unsuccessful.
The Workaround:
The solution I found is to just paste the connection string from Minibits in the "for sending" field and save. Once this is done, go back to the wallet connection selection page, and select lightning address for receiving payments. Enter your @minibits.cash address into the field and save.
This worked for me, I am now able to send and receive zaps to my Minibits wallet from Stacker.News.
Things could change in the future, if they do I will try my best to report back on any new info I have regarding this.
Woof!
originally posted at https://stacker.news/items/732888
-
@ 18bdb66e:82eb5e5d
2024-10-14 01:15:00Chef's notes
Serve with a breakfast meat, and toast.
Details
- ⏲️ Prep time: 20 mins
- 🍳 Cook time: 10 mins
- 🍽️ Servings: 4
Ingredients
- 2 TBSP butter, melted
- 1 can (10.5 ounce) condensed Cheddar cheese, cream of celery, chicken, or mushroom soup
- 8 eggs
- Pepper to taste
Directions
- Melt butter in heavy skillet.
- Mix in soup, eggs and pepper in bowl or measuring cup.
- Add soup to skillet.
- Cook over low heat until eggs are set, stirring gently.
-
@ 4ba8e86d:89d32de4
2024-10-07 22:48:24é um sistema operacional portátil baseado em Linux que pode ser iniciado a partir de um pen drive ou DVD. Ele é projetado para manter sua privacidade enquanto navega na internet, protegendo você de vigilância e censura. O Tails é gratuito e de código aberto, o que significa que qualquer pessoa pode usá-lo e modificá-lo.
O projeto Tails teve início em 2009, quando um grupo de desenvolvedores de software preocupados com a crescente vigilância na internet começaram a trabalhar em uma solução para proteger a privacidade dos usuários. O objetivo era criar um sistema operacional que pudesse ser executado a partir de um pendrive USB e que utilizasse a rede Tor para manter a privacidade do usuário.
O Tails oferece várias ferramentas de privacidade, incluindo o Tor (The Onion Router), um serviço de rede que protege sua identidade online e oculta sua localização. Ele também inclui o navegador Tor, que permite navegar na internet anonimamente e acessar sites bloqueados em seu país. Além disso, o Tails vem com outras ferramentas de privacidade, como o Kleopatra PGP (Pretty Good Privacy) uma ferramenta de criptografia de e-mail que ajuda a proteger suas mensagens.
O Tails é fácil de usar, mesmo se você não tiver conhecimento técnico avançado. Ele é projetado para ser iniciado a partir de um pen drive ou DVD, o que significa que você pode usá-lo em qualquer computador sem precisar instalá-lo no disco rígido. Ele é projetado para deixar o mínimo de rastros possível, o que significa que não salva seus dados pessoais ou suas atividades online.
O Tails é projetado com segurança em mente. Ele é atualizado regularmente para corrigir quaisquer vulnerabilidades de segurança e para incluir as últimas ferramentas de privacidade. O Tails também é projetado para manter sua privacidade e segurança em caso de perda ou roubo do dispositivo que contém o sistema operacional. Ele usa criptografia de disco para proteger seus arquivos pessoais e mantém todos os arquivos temporários na memória RAM, que é apagada quando você desliga o computador.
Mas você pode salvar alguns de seus arquivos e configurações em um Persistent Storage criptografado em seu stick USB Tails. O Persistent Storage é uma partição criptografada protegida por uma senha que ocupa todo o espaço livre deixado no pendrive. Tudo no Persistent Storage é criptografado automaticamente.
Para usar Tails, basta baixar a imagem do sistema operacional e gravá-la em um pendrive USB. Quando você estiver pronto para usá-lo, basta conectar o pendrive USB ao computador e iniciar o sistema operacional a partir dele. Depois de usar Tails, basta remover o pendrive USB e nenhum traço será deixado no computador.
https://tails.boum.org
-
@ 18bdb66e:82eb5e5d
2024-10-14 01:12:56Chef's notes
Crack one egg at a time into small bowl, then ease into soup mixture before cracking the next egg. Use a slotted spoon to remove egg from soup mixture.
Details
- ⏲️ Prep time: 20 mins
- 🍳 Cook time: 10 mins
- 🍽️ Servings: 3
Ingredients
- 2 TBSP butter
- 1 can (10.5 ounce) condensed cream of celery, chicken, or mushroom soup
- ½ cup milk
- 6 eggs
- 3 English muffins (split, toasted, buttered)
Directions
- Melt butter in heavy skillet.
- Mix in soup and milk in bowl or measuring cup.
- Add soup to skillet, heat to boiling
- Gently ease eggs into soup mixture.
- Reduce to simmer. Cook over low heat until whites are firm.
- Place one egg each on a muffin half.
- Spoon soup mixture over egg and muffin.
-
@ 8cb60e21:5f2deaea
2024-09-06 22:23:03 -
@ 3bf0c63f:aefa459d
2024-01-14 13:55:28Precautionary Principle
The precautionary principle that people, including Nassim Nicholas Taleb, love and treat as some form of wisdom, is actually just a justification for arbitrary acts.
In a given situation for which there's no sufficient knowledge, either A or B can be seen as risky or precautionary measures, there's no way to know except if you have sufficient knowledge.
Someone could reply saying, for example, that the known risk of A is tolerable to the unknown, probably magnitudes bigger, risk of B. Unless you know better or at least have a logical explanation for the risks of B (a thing "scientists" don't have because they notoriously dislike making logical claims), in which case you do know something and is not invoking the precautionary principle anymore, just relying on your logical reasoning – and that can be discussed and questioned by others, undermining your intended usage of the label "precautionary principle" as a magic cover for your actions.
-
@ 623ed218:fa549249
2024-10-20 19:35:54Get On Zero (Fiat): 2024 Edition
Theory:
The #GetOnZero movement advocates transitioning entirely to Bitcoin, abandoning holding fiat currency in daily life. The goal is to maintain maximal exposure to Bitcoin while minimizing exposure to traditional fiat currencies. Proponents of #GetOnZero believe that by converting all their money into Bitcoin, they not only commit fully to the Bitcoin ecosystem but also protect themselves against inflation and other potential issues with fiat money.
While I wouldn't say there is much debate on exactly what qualifies as being "OnZero", there are definitely a number of different interpretations. Some may argue that truly being "OnZero" requires completely opting out of fiat rails, and finding ways to directly pay in bitcoin for all expenses. Personally, I take a slightly more relaxed view, simply pushing for the avoidance of fiat currencies and instruments as savings and investment vehicles, and keeping all our stored value in bitcoin.
While the value of being completely "OnZero" are apparent during periods of significant price appreciation against the dollar, I will be the first to acknowledge the potential losses that could result from holding to this strategy during periods of significant negative price action. To this end, I have created a 3-tiered system of strategies, with each strategy tailored to specific market conditions. I understand that the most zealous lazer-eyed #GetOnZero proponents, the strategies below may not align with their personal philosophy on what the strategy is supposed to represent.
Take what you will from the strategies laid out below, it is my intent to provide a systematic list of actions to be taken in different market conditions, in an attempt to make things more approachable to the average reader.
GetOnZero Strategies:
Bull Strategy: Expenses on credit, income to Sats, sell once monthly to pay Fiat bills
Description: This approach involves using credit cards or lines of credit for all expenses throughout the month. Meanwhile, income is converted immediately into bitcoin (sats). At the end of the month, a portion of Bitcoin is sold to cover the credit card bill and any other fiat-denominated obligations.
- Pros:
- Maximizes bitcoin holdings throughout the month, allowing for potential price appreciation.
- Credit cards can offer rewards that can further offset expenses or even be converted into sats.
- Cons:
- Requires a disciplined approach to avoid accumulating debt.
- May expose you to volatility risk if bitcoin's value drops before the end-of-month payment.
Crab Strategy: Expenses on credit, reserve Fiat until EOM, pay bills, stack difference
Description: In this method, income is initially held in fiat. Expenses are paid using credit, but instead of immediately converting fiat to bitcoin, it is done at the end of the month, once all bills are paid. The remaining balance (after paying bills) is then converted to bitcoin.
- Pros:
- Provides a safety net against bitcoin price volatility during the month.
- Ensures that all fiat obligations are covered before committing to bitcoin.
- Cons:
- May reduce bitcoin exposure if the price appreciates during the month.
- Requires discipline to consistently allocate remaining fiat to bitcoin.
Bear Strategy: Fiat Buffer (aka: NotOnZero...)
Description: This approach involves maintaining a fiat buffer to handle any unexpected expenses or market volatility. While income is mostly converted to bitcoin, a portion remains in fiat to provide liquidity and flexibility.
- When to use: This strategy may be appropriate in times of severe market uncertainty or for those transitioning gradually to the #GetOnZero lifestyle.
- Pros:
- Offers a cushion for unexpected fiat expenses, reducing the need to sell bitcoin unexpectedly.
- Can be adjusted based on individual risk tolerance and liquidity needs.
- Cons:
- Reduces total exposure to bitcoin, potentially missing out on gains.
- May require active management to maintain the buffer and adjust it according to changing circumstances.
Liquidity Considerations:
Bitcoin's high correlation with global liquidity makes it a reliable barometer for macroeconomic conditions. According to recent analysis by Lyn Alden and Sam Callahan, bitcoin's price aligns with global liquidity trends in 83% of 12-month periods, demonstrating its sensitivity to central bank policies and money supply changes. (Bitcoin: A Global Liquidity Barometer)
Given bitcoin's responsiveness, different #GetOnZero strategies may be effective depending on liquidity environments:
-
The Bull Strategy is ideal in increasing liquidity environments, where bitcoin's value is more likely to rise, and the individual can benefit from holding sats longer before converting.
-
The Crab Strategy is suitable for flat or slightly decreasing liquidity environments, as it provides a way to manage fiat expenses and avoid forced bitcoin sales during short-term downturns.
-
The Bear Strategy is a possible strategy for periods of sharp reductions in liquidity which have historically accompanied bear markets in bitcoin. It is specifically not being "On Zero", but that doesn't mean there might not be times where that itself is a good strategy.
The paper emphasizes that while bitcoin's long-term price direction generally follows liquidity changes, short-term deviations can occur due to idiosyncratic events or internal market dynamics. Savers could monitor bitcoin-specific metrics like the Market Value to Realized Value (MVRV) Z-score to gauge potential overvaluation or undervaluation periods. This, combined with global liquidity trends, allows for more informed strategy adjustments.
Pup's #GetOnZero Workflow:
So how do I live my life "OnZero"? Let's dig into it.
At present, my workflow most matches the "Bull Strategy", and I use Fold to make this an easy process.
Fold, (who is not sponsoring this), allows me to direct deposit my fiat paychecks and have them auto-converted to bitcoin. Within the app, I have 3 balances, A cash balance (Sutton Bank), a bitcoin balance (BitGo), and a reward balance.
I use credit for all my spending throughout the month, matching fiat expenses to various cards that allow me to get the most rewards for using them. My paychecks are direct-deposited to Fold and auto-converted to bitcoin where it is held until the end of the month when my fiat bills are due. At the end of the month, I utilize Fold's "Push to Card" feature to sell the exact amount needed to make my fiat payments where it then appears ~10 minutes later in my cash balance.
\ From there, its just a matter of paying my fiat bills via ACH, at which time Fold actually gives me sats back as rewards!
Additionally, Fold has partnerships with a number of companies and offers sats back on giftcard purchases. I will take advantage of these deals on occasion when the rewards exceed what I would earn from putting expenses on a credit card and paying it via ACH.
This section has ended up sounding way more like an advertisement than I intended, but I really can't recommend their services enough if they are available where you live. Fold greatly simplifies my Bitcoin life by bridging the worlds of fiat and bitcoin.
I know some may take issue with holding sats with a custodian, personally I just keep about a month of expenses there. I wholly recommend keeping your bitcoin in cold storage, but I can accept some risk on a small portion of my sats for the convenience it brings to my life. Between the option of keeping 1 month of expenses with a custodian in fiat, or in bitcoin, I'll happily choose the latter, but these are risks and tradeoffs that I have chosen to accept after doing my own research, and I would implore you to do your own research as well.
To bring this all to a close, I hope you have found this article informative, or at least entertaining. Feel free to reach out if you have any questions about anything I have discussed here!
Block 866568 - MSK 1458
Digging Deeper:
Hey there, I hope you enjoyed this read! If you did, and would like to read more of my barks, follow the links below!
-
Curious how I found Bitcoin? Read "Paw Prints to the Timechain"
-
Bitcoin meets psychology? I touch on this in "Maslow's Apex"
-
Want to understand the basics of Bitcoin? Read "Bitcoin Best Practice"
-
If you like seeing bad media takes unpacked, check out "Pup's Double-Takes"
External Resources:
- Want to earn rewards on your mortgage? Use my referral to earn 20,000 free sats at sign up!
- Do you like sharing Bitcoin content and earning sats for doing so? Join me at Stacker.news!
Special Mention:
- @realBitcoinDog: Without whose persistent nudging, I wouldn't be writing here.
...Woof!
originally posted at https://stacker.news/items/732833
- Pros:
-
@ 4ba8e86d:89d32de4
2024-10-07 15:43:17Ele oferece recursos adicionais em relação ao aplicativo oficial do YouTube, como a possibilidade de assistir vídeos sem anúncios, reproduzir em segundo plano, baixar vídeos e áudios, entre outros.
O NewPipe foi desenvolvido como uma alternativa de código aberto ao aplicativo oficial do YouTube para dispositivos Android. O projeto foi iniciado por Christian Schabesberger em 2015, como um projeto de software livre hospedado no GitHub. Desde então, vários colaboradores se juntaram ao projeto para melhorar e expandir suas funcionalidades. O objetivo principal por trás do desenvolvimento do NewPipe foi fornecer uma experiência mais privada, segura e personalizada para os usuários do YouTube. Muitas pessoas estavam preocupadas com a coleta de dados e o rastreamento de usuários feitos pelo aplicativo oficial do YouTube, e o NewPipe surgiu como uma alternativa para resolver essas preocupações. O desenvolvimento do NewPipe foi impulsionado pela comunidade de software livre e pela filosofia de transparência, privacidade e liberdade de escolha do usuário. Como um projeto de código aberto, o NewPipe permite que os usuários examinem e modifiquem o código-fonte, se assim desejarem, tornando o aplicativo mais transparente e confiável. Ao longo dos anos, o NewPipe evoluiu e adicionou recursos, como reprodução em segundo plano, bloqueio de anúncios, download de vídeos e áudios, gerenciamento de inscrições e muito mais. Esses recursos extras fornecem aos usuários uma experiência mais personalizada e conveniente ao assistir e baixar conteúdo do YouTube.
Principais recursos do NewPipe:
-
Reprodução de vídeos: O NewPipe permite assistir a vídeos do YouTube diretamente no aplicativo, fornecendo uma interface intuitiva e fácil de usar.
-
Reprodução em segundo plano: Você pode reproduzir vídeos do YouTube em segundo plano, permitindo que você ouça o áudio do vídeo enquanto realiza outras tarefas em seu dispositivo Android.
-
Bloqueador de anúncios: O NewPipe bloqueia automaticamente anúncios em vídeos do YouTube, proporcionando uma experiência de visualização mais livre de interrupções.
-
Download de vídeos: O aplicativo permite baixar vídeos do YouTube diretamente para o armazenamento do seu dispositivo Android. Você pode escolher a qualidade de vídeo desejada e salvá-lo para assistir offline.
-
Download de áudios: Além de vídeos, o NewPipe também permite que você baixe apenas o áudio dos vídeos do YouTube em formatos como MP3 ou AAC.
-
Assinaturas e notificações: Você pode se inscrever nos canais do YouTube no NewPipe e receber notificações sobre novos vídeos dos canais que você segue.
-
Privacidade e segurança: O NewPipe prioriza a privacidade dos usuários. Ele não requer login em uma conta do Google para acessar o conteúdo do YouTube, o que significa que você pode usar o aplicativo sem fornecer suas informações pessoais.
O NewPipe oferece uma alternativa interessante para aqueles que desejam uma experiência personalizada e privada ao acessar o conteúdo do YouTube em dispositivos Android.
Pode baixar F-droid https://f-droid.org/packages/org.schabi.newpipe/
https://github.com/TeamNewPipe/NewPipe
-
-
@ 152cb6c7:45c554b1
2024-10-21 06:36:28Packing light for a week’s vacation might sound impossible, but it’s doable and can change how travel. You can breeze through the airport and skip the wait at baggage claim with all your essentials neatly packed in a carry-on bag. Minimalist packing isn’t just about traveling lighter—it’s about less stress, more convenience, and much freedom.
Whether heading to the beach, a city getaway, or somewhere in between, fitting everything into a carry-on is all about being smart with your choices. You’ll probably even have space to fit in souvenirs from your trip!
This guide will show you how to make the most of your limited space without forgoing style or comfort.
Essential Packing Strategies
**
- Clothing
** When it comes to clothes, the key is versatility. Think about outfits you can mix and match, like a couple of neutral tops with different bottoms. This way, you can create several looks with just a few pieces.
For instance, a classic pair of jeans can easily change from a day out to a smart casual dinner with just a change of shirt and accessories. You can also bring a lightweight cardigan or denim jacket that goes with all your outfits. You can throw it over your top if it gets chilly in the evening.
Also, packing cubes are your best friend! They help keep your suitcase organized and make it easy to find what you need without rummaging through everything. You can use one cube for tops, another for bottoms, and a third for accessories.
**
- Toiletries
** Many brands now offer mini versions of their popular items, which can fit snugly into a quart-sized bag. Not only does this save space in your carry-on, but it also makes security checks a breeze—no need to worry about liquid limits.
If you can, choose multipurpose products. A shampoo that works as a body wash can save you from bringing an extra bottle. Some lotions double as hair products, and even moisturizers with SPF can also do the work of sunscreen. These items reduce the number of bottles you need and lighten your load.
You can also bring solid alternatives. Shampoo and conditioner bars take up less space and are often more environmentally friendly. Plus, they don’t count as liquids, so they can slide through security without fuss.
Space-Saving Techniques
**
- Rolling vs. folding
** One of the simplest ways to save space in your carry-on is by rolling your clothes instead of folding them. Rolling maximizes your packing space and helps reduce wrinkles, so you can unpack and wear your outfits right away without using an ironing board.
To roll your clothes effectively, start by laying them flat. Fold in the sleeves if it’s a shirt then tightly roll from the bottom up. This method allows you to fit more items into your bag. Plus, it makes it easy to see everything at a glance so you won’t be digging around for your favorite shirt.
**
- Layering and wearing bulky items
** Another nifty trick to maximize your carry-on space is to wear the bulkiest items while traveling. If you’re bringing a heavy jacket, boots, or a thick sweater, consider putting them on when you head to the airport.
Not only does this free up precious space in your carry-on, but it also keeps you cozy during those chilly flights or long waits at the terminal.
Start with a lightweight first layer, like a simple T-shirt or tank top, and then add a long-sleeved shirt or a thin sweater. Top it off with your heaviest outer layer, such as a thick jacket or a comfy cardigan.
Layering your clothes means you can easily adjust if the temperature fluctuates. Plus, you’ll look stylish and put together no matter where you’re headed.
Smart Packing Choices
**
- Footwear
** Bringing just two pairs of shoes is the best way to save space and meet your needs when you pack. The goal is to bring one casual option for everyday wear and a versatile pair for dressy and laid-back occasions.
A sturdy, comfortable pair of sneakers can handle a full day of walking without leaving your feet sore, making them perfect for daytime adventures.
On the other hand, you can wear a pair of versatile flats or loafers for an evening out or stroll around town. If you’re going somewhere warm, consider a pair of sandals that are comfortable and stylish enough to double as dress shoes.
Don’t forget to wear your heaviest pair while traveling to save space in your carry-on and keep your feet comfy during your journey.
**
- Tech and Accessories
** In the digital age, bringing all your gadgets to a trip is tempting. But for a week away, focus on only the essentials. A smartphone is usually enough for talking with family and friends, finding your way, and taking pictures.
If you must have a tablet or e-reader, that’s fine, but consider leaving the laptop at home unless you have work.
When it comes to accessories, less is more. Pick a few versatile pieces—like a simple necklace or earrings—that complement multiple outfits. Then, put them in a small jewelry box so they don’t get tangled up in your clothes or get lost in your bag. Moreover, avoid packing items you rarely wear, as they’ll take up space without adding much value to your trip.
Travel Light, Travel Right Packing light is more than just a way to fit everything into a carry-on—it’s a mindset that can make travel simpler and more enjoyable.
Sticking to the essentials lets you save time, feel less stressed, and travel with a lighter load (literally and figuratively). No more overstuffed bags or worrying about lost luggage.
With some planning and using the strategies in this guide—like choosing versatile outfits and being strategic with space-saving techniques—you’ll be ready to hit the road with just a carry-on. Because of the freedom of traveling light, you can focus more on the experience and less on your luggage. So, pack less, travel more, and enjoy the simplicity of minimalist packing!
-
@ fd208ee8:0fd927c1
2024-10-20 18:19:48(Please note that this is not official financial or business advice, but rather a description of something we have done, on an informal basis.)
A long, long time ago
It's been nearly a year, since nostr:nprofile1qydhwumn8ghj7argv4nx7un9wd6zumn0wd68yvfwvdhk6tcpypmhxue69uhkummnw3ezuetfde6kuer6wasku7nfvuh8xurpvdjj7qpqs3ht77dq4zqnya8vjun5jp3p44pr794ru36d0ltxu65chljw8xjqv5atj2 came into being, mostly as a lark, involving a couple of members of our private chat group. Our initial plan was to work toward bounties, but Nostr bounties are a bit of a biased, uncertain thing, and our enthusiasm for that quickly waned.
So, what to do? Here we are, we three (nostr:npub1ecdlntvjzexlyfale2egzvvncc8tgqsaxkl5hw7xlgjv2cxs705s9qs735, nostr:npub1wqfzz2p880wq0tumuae9lfwyhs8uz35xd0kr34zrvrwyh3kvrzuskcqsyn, and I): IT professionals with little time, but plenty of intellectual energy, a Slack chat, a GitHub repo, and lots of frustration with the Nostr status quo.
We were, you see, Nostr end-users. We loved the idea of the protocol, but we were being regularly stymied by the poor quality of many implementations.
- Why can I not login? Oh, they fixed the login! Nope, still can't login.
- If I press this button, it says it sent, but it didn't send. Where note?
- They announced a new feature, but I tried it and it didn't work. Oh well.
- I noticed a bug in the client, reported it, and the issue is just rotting away in the project repo. Ignored.
- The website/relay/repo was here... yesterday. Today it has disappeared, and taken my zaps with it.
It was enough to make us want to tear our hair out. We decided that what Nostr needed... what it really needed... was a Nostr Stable Version. Nothing glamorous. Nothing exotic. Nothing busy or excitable. Just something that stayed where you initially found it, ran, and actually worked. Something where you could report a bug and receive a prompt response. Maybe even something, where you could pay a reasonable fee and be allowed to have expectations of some particular service being returned. And who better to build such a version, than people who want to use it, themselves?
Things working is an underrated concept
I know that the very idea of software running as expected and websites not appearing and disappearing suddenly, based upon what some particular developer had for lunch, tends to be met with little but scorn, from hardened, seasoned Nostriches (who are convinced that bugs are all features), but I think the majority of potential users would see it differently.
I'm with the majority, on this one.
I like to click "save" buttons and have them save. If I publish something, I want it to appear under my list of published somethings. I like to type in the website address I always type in, and have it magically appear on my screen, as if there were a little man sitting at controls in my laptop, just waiting for me to write H-T-T-P-S... and then jump to attention.
My unreasonable expectations have no bounds, it is true. But unreasonable people are also people, so we would also like to have our own unreasonable things to play with. Scorn away. My save button will save, and my published something will publish, and my website will load every damn time, just to spite you.
In the larger scheme of things, you see, we win even if we fail, if we at least increase the competition enough, that things working becomes the new standard. We can simply prove, definitively, that it is possible for Nostr things to work, if they are built by people who care if they work. If we also have fun together, learn something new, and come up with some cool, novel use cases, then that's pure profit.
We can only win, at this endeavor.
Where to start?
Name that brand
So, we had a team, we had a business idea, and we had a heck of a lot of motivation. What we didn't have, is a name. (Never underestimate the importance of naming things.)
We decided to name ourselves "GitCitadel" because "git" sounds techy, hints at our GitRepublic project, and is reminiscent of open-source development, and "citadel" reminds us of Bitcoin. The republic is at home in the citadel, naturally. All other products also live in the same citadel, hence the naming-convention of prefacing everything with "GC" (i.e. "GC Alexandria", "GC Sybil", "GC Aedile", etc.).
Brand yourself
The next thing we did, was rent a domain and run a webserver on it. This is an important step because it gives you an Internet presence, allows you to have company NIP-05 and email addresses (a form of promotion), and it's simply exciting to have one. Feels so much more "official" and it helps increase the name-recognition of your company.
Define yourself
We then sat down, together, over the Internet, and figured out who we are. Not who we individually are, but who we are, as a company. A company, after all, (according to the Cambridge Dictionary) is "an organization that produces or sells goods or services in order to make a profit". Now, a company's profits don't have to be monetary, but they should be something tangible. A company, in other words, is a team of people working toward some defined goal.
What is our goal? Well, we decided to think it over, sat down with the newer additions to the company (you can see who they are, on our project wiki page, and came up with a Vision and a Mission:
The vision is what the overall goals of the company are, whereas the mission describes how those goals shall be achieved. Now, this is a sort of lofty, abstract statement, so it was important that we posted it someplace publicly (to keep ourselves accountable) and look at it regularly, so that we can ponder it and realign whatever we are currently working on, with this statement. We know the statement is well-designed, if considering it helps us make decisions about what to do next.
Pay yourselves
(I'm going to switch from "we" to "you", here, as it's easier to write this part, but let's just pretend I didn't.)
The next thing on the list, is to arrange the finances, usually by setting up a Geyserfund, with an associated wallet, and then deciding how the funds from the wallet will be dispersed or stored. (I won't tell you how we are handling that, as that's internal company business, but I'm sure you'll think of something clever, yourselves. Or just google it.)
I would encourage you to arrange to pay yourselves profits. Not merely because your idea is going to make you all fabulously wealthy and internationally famous (although, that is obviously true), but because profits are the most pure form of communication that consumers in the market have with its producers, and one of the best ways to make decisions and measure increases in efficiency (increasing profits and/or output, while keeping prices steady or falling).
Cutting off this signal, in order to look pious to outsiders, is to shoot yourself in your free-market foot. Nobody says that you have to spend your profits on the proverbial lambo and a bimbo. You could donate them to charity, reinvest them, or store them for your nephews to inherit, but pay them out, you should. You don't have to love money, to value it as a tool and use it shrewdly. Money is a measure, and companies should regularly measure themselves: against their previous state, against their potential state, and against their competition.
(Also, you can use money to buy a lambo and a bimbo, but you didn't hear that from me.)
Organize yourselves
Once you've been working together, for a while, you'll find that you need to figure out how to organize yourselves. The first step is to...
Form a board of directors.
Stop laughing. I'm serious.
Any company has at least two roles (President and Secretary), ideally held by two different people, so any single-proprietor company is a man down. Find a different person, to be your Second, even if they're just your confident, who lets you cry on your shoulder on The Bad Days, when your code refuses to compile, and can tell people that you've become a Bitcoin millionaire and have gone on a sabbatical to hike the Himalayas and will be back in 3 months on The Very Good Days. Because business man was not meant to be alone.
If, like us, you're a small herd of people and have already been working together for a while, then this step is actually really, really fun. Just think about what people are already doing, and put a label on it. That role is now defined and it is clear who is in charge of what.
Scientists become "Chief Science Officer" or "Scientific Advisor". The person who always writes the okay, so this is what we've decided comment in the thread becomes the Secretary, the one managing the Lightning wallet and worrying over paying for the servers is the CFO, the person running the remote server becomes the CTO, and so on and etc.
And everyone knows who the CEO is. Everyone always knows. They do. Just write it down.
Agree how to disagree
Now, have the secretary write up a Member's Agreement. It's a contract between the members, about whatever the group thinks is important concerning the way the company will operate. According to Investopedia, common topics are:
Is this legally binding? Probably not. Maybe. I don't know and wouldn't tell you, even if I did. But it's emotionally binding, which is arguably more important.
Writing things down is an advanced form of naming things and it provides clarity, helps to manage expectations, and allows you to define a working agreement before Real Money shows up and taints your interaction. You're just accepting tips, at the moment. Everyone is calm and cheerful, so now is your best time to negotiate.
Keep it very simple and only address the most basic things. If you wish to incorporate, at a later date, then you just take this to a registered agent, or other experienced person, and have them tidy up any loose ends and add the fine print.
Go forth, together
This has probably taken you weeks, or even months, but you're now a company. Get a logo and a company npub, start dropping the company name into your notes, and get on with the business of being in business.
-
@ bcea2b98:7ccef3c9
2024-10-20 17:33:12originally posted at https://stacker.news/items/732719
-
@ b002a57f:a60ecca5
2024-10-21 03:02:45Well, this seems pretty fun. I might just make Yakihonne my n°1 Nostr client.
-
@ e83b66a8:b0526c2b
2024-09-06 19:16:04The founder of Telegram has just been arrested in France. Charges include lack of cooperation with law enforcement, drug trafficking and fraud.
Aside from Telegram, social media is controlled by two billionaires who decide what you say, are themselves controlled by overbearing governments and make money through advertising and selling your personal data.
There is a different way.
NOSTR stands for Notes and Other Stuff Transmitted on Relays and it is a social media protocol in the same way http is a web protocol.
The protocol is open and anybody can build upon it. It has some fundamental concepts that are very different to existing social media platforms.
Firstly it is decentralised, it runs across relays and anybody can run a relay. They can be open or closed, public or private, free or paid.
Secondly as a user, you don’t have an account, you have a private key which is used to secure your data.
Your profile (account) is yours, you own and control it using your private keys and verified by others with your public key.
Your posts are yours and you can store them on your own relay in your own home or business or you can rely on free public relays or more feature rich paid public relays.
All your public data is signed by your private keys to verify it is you that owns it and all your private data is encrypted so nobody can read it.
Messages (i.e. think NOSTR WhatsApp) are encrypted with your private keys so NOBODY can hack it or listen in, not even the NSA through a companies backdoor. You message other users privately by encrypting messages to them using their public key, which they decrypt using their private key.
Relays store your data in a decentralised network of private and public relays and you discover relays automatically when searching for people or content.
Data is normally sent on the clearnet, but can be relayed across the darknet (Tor) in highly censored regions.
Because it is built using Bitcoin principles and technology, so it has Bitcoin money built in, meaning you actually send / receive money from / to any participant.
As money is built in, the commercial options are different to centralised corporate owned platforms. It would be technically possible to build a platform that supports advertising, however that hasn’t really happened because influencers can be paid directly from their audience in many different ways. Ad hoc tips, subscriptions, pay to view or pay per time models.
The great thing for content creators is that they control, own and keep all the money they make. There is no third party intermediary or merchant deciding whether they are allowed to be paid or not.
NOSTR is censorship resistant, as there is no way to stop anybody publishing anything they want, in the same way nobody can stop or interfere with a Bitcoin payment.
From an end users point of view, if they want to self censor, they can do this in multiple ways. You can mute users individually, or you can choose to use relays that adhere to your views or interests, so if you don’t want to see certain categories of content, you would avoid relays that carry those feeds. You can even run your own relay and curate content that you then charge other like minded users to connect to. You can of course connect to multiple relays for multiple different type of feed.
While NOSTR is a protocol, platforms have to be built to use it, so the first platforms were twitter like clients and they are still very prevalent. However, NOSTR now has clients that emulate most social media platforms, Instagram, Facebook, YouTube, Soundcloud, WhatsApp etc. They are even creating their own categories as well as emulating other functions such as Office Suite tools, collaborative calendars, contact lists or e-commerce shops.
If you want to give it a go, the easiest, but not the best, way to get started is download Primal on your phone from here:
https://primal.net/downloads
It will create a private key for you and setup a Bitcoin wallet.
Once you have done this you can visit me here:
nostr:npub1aqakd28d95muqlg6h6nwrvqq5925n354prayckr424k49vzjds4s0c237n
If you want to see a small part of the ecosystem, then visit https://www.nostrapps.com/ where volunteers are listing some of the many apps that exist already.
NOSTR is being backed by Jack Dorsey, Twitter founder, and you can see his account here:
nostr:npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237lmu63q0uf63m
Or you can see his account like this:
https://primal.net/jack
Edward Snowden is also on the platform and you can find him here:
https://primal.net/Snowden
NOSTR has around 2 million users or public keys, although nobody really knows how many, because it is decentralised and not controlled or run by any person or organisation.
Once you’ve setup Primal, you can use those same private keys to access any platform you wish and you can use a browser extension such as Alby to manage your keys: https://getalby.com/
Primal looks great, but there are other better functioning twitter like clients, probably the most reliable for iPhone is Damus: https://www.nostrapps.com/apps/damus
or Amethyst for Android: https://nostrapps.com/amethyst
The content and user base is very Bitcoin and freedom focused right now, but more and more people are starting to use the various platforms and some are transferring exclusively to it.
Some of the more interesting projects right now are:
https://www.0xchat.com/#/ – Private messaging – think WhatsApp
https://zap.stream/ – Video streaming
https://fountain.fm/ – Podcasting
https://wavlake.com/ – Music streaming
https://shopstr.store/ – Online shop
https://npub.pro/ – Website creation tool
https://nostr.build/ – Media and file storage
https://relay.tools/ – Build and curate your own relay
https://creatr.nostr.wine/subscriptions/new-user – Creator tools
Remember, the same keys you created for Primal can be used across the whole ecosystem.
If you want to see some of the other apps that have been built on the NOSTR protocol visit: https://nostrapps.com/
-
@ c80b5248:6b30d720
2024-10-13 18:14:34Using tools like Continue in your vault
As the capabilities of artificial intelligence continue to expand, integrating AI into our workflows has become an increasingly attractive option. One of the most exciting applications of AI is its potential to enhance the way we manage and organize information. Obsidian, a powerful knowledge management tool, provides a robust platform for building a personal knowledge base. By layering AI tools like Continue over your Obsidian vault, you can unlock new levels of efficiency, creativity, and insight. This article will start to explore how to effectively use AI tools within Obsidian to enhance your note-taking, information management, and productivity.
An Explosion of AI Tools
Over the past few years, I have tinkered with ChatGPT and other chat interfaces, but I only recently stumbled upon the rapidly growing space of AI tools for coding. In such a short time, some amazing tools have emerged, most notably:
- Aider: A command line interface tool to iteratively generate, edit, and refactor code.
- Cursor: A fork of Visual Studio Code (VS Code) with integrated AI functionality.
- Cline: A plug-in for command line and code editor built to work with Antropic's Claude 3.5.
- Continue: A customizable VS Code plug-in with chat and code editing abilities.
These tools are designed to assist developers in writing, debugging, and even generating code from natural language prompts. They are powered by large language models (LLMs) like GPT-4 and Llama 3, which are trained on vast amounts of text data and can produce human-like responses to a wide range of prompts.
In this article, I will focus on Continue, a VS Code plug-in that offers multiple ways to interact with AI. It features autocomplete powered by an LLM of your choice, as well as the ability to generate new code blocks directly in the editor. It can also incorporate context from external sources or the local codebase. Additionally, it includes a standard chat window for interacting with the LLM.
The new twist is that I won't be using Continue to write code, but rather to write notes in Obsidian. I will be using the chat window to generate notes, and the autocomplete feature to assist me in writing them. By leveraging the context feature, I can bring in information from my Obsidian vault, allowing me to create more complete, accurate, and better-organized notes. I can also use the vault as context to ask for summaries or retrieve information from my notes, even as the vault continues to grow.
It's worth mentioning that while I am focusing on Continue, there are likely other tools that can be used in a similar way or provide better features. One example is the text-generator plug-in for Obsidian. This plug-in allows you to generate text using an LLM of your choice, and it can be used to generate notes, summaries, or even entire documents. It can also generate code, but I was unable to get the plug-in working with my LLM provider. Using Continue is a bit of a hack, as it requires working through an IDE like VS Code, but it's a good way to get started with AI tools in Obsidian. I will assume that you already have an Obsidian vault set up. If you don't, you can ask your assistant to help you organize it once you have it up and running.
The system I am going to describe here relies on two primary components:
- Continue (installed in an IDE like VS Code)
- An LLM provider to power Continue
Let's start by talking about LLM Providers. If you already know how these work, feel free to skip to the next section.
LLM Providers
LLM providers are services that offer access to large language models (LLMs) like GPT-4 or Llama 3.1, typically via an API (application programming interface). These providers usually charge by the token, which is the number of words processed by the model. You can go directly to a provider like OpenAI or Anthropic, or you can use an aggregation site like OpenRouter that provides a single API to access multiple models. Each provider has its own data privacy policies, so it's important to review them carefully. For this reason, I have been using DeepInfra. They run their own models and offer a clear privacy policy - even better, they tend to have the lowest costs.
h/t nostr:npub17vhnjkt04m6thytr8dna67v2pa4tjk7uh3ut40eq9wy8d28u0kvq7qnhkq nostr:note1qfckzxm687peaddwjpmms92kj3v59wrrx0cs2fcxlkm6pm9lyu3squscxa
Another option is to use Ollama to run some of these models locally. However, the hardware requirements for achieving good results quickly are quite demanding. For example, the smaller chat model I use in my configuration, which has 72 billion parameters, requires a 48 GB GPU to run efficiently—something that is not within my budget. This is why I am using DeepInfra.
Note: If you are setting this up for the first time, consider adding a small amount (less than $5) to a provider like DeepInfra and testing it out before you invest time in setting up a local Ollama instance. I have also had some issues with shutting down Ollama on Windows, so your mileage may vary.
If you choose to use a provider like DeepInfra, you are ready to move to the next section. If you prefer to set up Ollama, you can refer to their documentation for installation instructions. I prefer to run it in Docker, which can be done in Linux by running
bash docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
or if you want to have an interface like ChatGPT, you can even run Open WebUI in the same command with
bash docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Once Ollama is running in docker you can start up the models you want to use by running the following in your terminal.
docker exec ollama ollama run model_name
See the Ollama model library to choose which models you want to run locally.
Getting Started with Continue
Continue is installed as a plug-in for VS Code or JetBrains. I personally use it with VS Code, so my instructions will be based on that. If you are using a JetBrains IDE, you should refer to the Continue documentation for installation instructions.
After installing the plug-in, continue will prompt you to set up your LLM provider. In my experience, once this initial GUI goes away, you can't get it back. Instead, you will do most of the configuration within the
config.json
file for Continue, which you can access by clicking in the lower right corner of the Chat box. In VS Code, if you ever can't find anything,F1
is your friend and will launch a searchable menu.Continue provides recommended settings from each provider, which you can find here. For my coding and writing, I chose the very new Qwen2.5 72B Instruct due to its high benchmark scores and relatively low costs. This model costs $0.35-0.40 USD per million tokens, compared to the best available on DeepInfra, the Llama3.1 405B Instruct, which costs $1.78 per million tokens. The results may be slightly worse, but I prefer cheaper and faster for my purposes. For autocomplete, I am using a faster and code-specific model, Qwen2.5-Coder-7B. I have not yet tried changing the autocomplete model for usage with Obsidian, but that is on my to-do list. Lastly, by the time you read this article, these models may be out of date. One nice thing about having a provider API is that you can easily switch and test different models to see how they work. Aider has one of many model leaderboards that will show you some benchmarks.
After working through the configuration, your
config.json
file will have a list of chat models and a tab for the autocomplete model. It will look something like this:```json "models": [ { "title": "DeepInfra Qwen2.5 72B Instruct", "provider": "deepinfra", "model": "Qwen/Qwen2.5-72B-Instruct", "apiKey": "your-api-key" }, { "title": "DeepInfra Llama3.1 405B Instruct", "provider": "deepinfra", "model": "meta-llama/Meta-Llama-3.1-405B-Instruct", "apiKey": "your-api-key" }, ],
"tabAutocompleteModel": { "title": "DeepInfra Qwen/Qwen2.5-Coder-7B", "provider": "deepinfra", "model": "Qwen/Qwen2.5-Coder-7B", "apiKey": "your-api-key" } ```
Trying it Out
The Chat UI
Once you have Continue configured, you can open your Obsidian Vault in VS Code. You will want to add a
.continueignore
file in your folder that lists.obsidian
and any other files or folders you want Continue to ignore for context purposes.Click the three dots in the bottom of the chat bar and check that your vault (@codebase) index is complete. You can now chat with the LLM and ask it questions using your vault as a reference.
@codebase what are some common themes from this vault?
Continue provides a docs page that lists some types of questions that an LLM will be able to help with. Naturally, I asked the LLM to put these in the context of an Obsidian Vault and here is what it told me:
```md
Useful Questions
- High-Level Questions About Your Notes:
- "What are the main themes in my notes on personal development?"
-
"How do I incorporate agile methodologies into my project management?"
-
Specific Information:
- "What are the key points in my notes about productivity hacks?"
-
"Can you find any references to neuropsychology in my notes on cognitive science?"
-
Generating Content:
- "Write a new note on the benefits of meditation, using the same structure as my other wellness notes."
-
"Draft a summary of my recent project retrospective, following the format of my previous summaries."
-
Contextual Questions About a Specific Folder:
- "What is the main purpose of the 'Research' folder?"
-
"How do we use the concept of 'flow' in the 'Psychology' folder?"
-
Relationships and Connections:
- "What are the connections between my notes on 'Time Management' and 'Goal Setting'?"
-
"How do my notes on 'Digital Marketing' relate to 'SEO'?"
-
Task and Project Management:
- "What are the next steps I should take based on my notes for the 'Personal Finance' project?"
-
"Can you list the tasks I need to complete for my 'Career Development' plan?"
-
Deep Dives and Analysis:
- "Can you provide a detailed explanation of the concept of 'reflective practice' found in my notes?"
-
"What insights can you derive from my notes on 'Project Management'?"
-
Insight and Reflection:
- "What have I learned from my notes on 'Mindfulness'?"
- "Can you help me reflect on my progress based on my notes for the 'Health and Wellness' topic?"
Not Useful Questions
- Literal Review of All Files:
- "Find everywhere where the term 'mindfulness' is mentioned in my entire vault."
-
"Review all my notes and find any spelling mistakes."
-
Comprehensive Tasks that Require Literal Access:
- "Add a new section to all notes that discuss 'productivity' and summarize the main points."
-
"Rewrite all my notes on 'Digital Marketing' to include the latest industry trends."
-
Refactoring and Detailed Edits:
- "Update all references to 'Scrum' to 'Kanban' in my 'Agile' folder."
- "Add a new parameter to the function
calculate_score
and update all usages in my 'Programming' notes."
Summary
- Useful Questions: Focus on high-level insights, specific information, generating new content, contextual questions about specific folders, and reflecting on your notes.
- Not Useful Questions: Require the LLM to see and edit every file, perform comprehensive reviews, or make detailed edits across multiple notes. ```
Text Generation
Continue also offers in-editor code generation with the hotkey
Ctrl+I
and an entered prompt. I have only tried a few things with this, but it was able to successfully review a set of meeting notes I had written and summarize all of the outstanding questions. I expect you could also use this to autogenerate backlinks on a note where a follow-up note might be helpful, or quickly generate templates to be used in Obsidian. I ended up editing this entire article by selecting sections and prompting the AI with the following: "You are a proficient writer. Please edit this text for style, typos, spelling, and grammar."Autocomplete
Continue will also attempt to autocomplete unless you turn it off in the bottom right bar in VS Code. While writing this article, the autocomplete feature was somewhat helpful even though it is not code. Further configuration may optimize this even more. Keep in mind that autocomplete triggers frequently and will burn through a lot of tokens, so you will want to keep an eye on your usage. With the cheaper models I am using, I have only spent 10 cents over the past four days of moderate usage at work and at home. A bulk of that cost is due to autocomplete, and I sometimes turn it off to keep costs down. You may be able to limit these costs effectively by configuring the number of input tokens that can be sent to the API, but I am not sure how that will impact the results.
## Conclusion - Brought to You by Qwen 72B
In conclusion, integrating AI tools like Continue into your Obsidian vault opens up a multitude of possibilities for enhancing your note-taking, information management, and productivity. By leveraging the chat window, text generation, and autocomplete features, you can create more comprehensive and accurate notes, generate summaries, and automate routine tasks. The integration of LLMs into your workflow not only streamlines your processes but also provides deeper insights and connections within your knowledge base. While there are initial setup steps and some considerations around cost and configuration, the benefits of AI-assisted note-taking in Obsidian are well worth the effort. As AI tools continue to evolve, the potential for further enhancements and optimizations is immense, making this an exciting and valuable addition to any knowledge management system.
-
@ bcea2b98:7ccef3c9
2024-10-20 15:50:27The Bitcoin space is constantly evolving with new ideas, technologies, and innovations. From Lightning Network advancements to privacy improvements, there’s always something happening that could change the future of Bitcoin.
What do you think is the most exciting or innovative development in Bitcoin right now? I've been following a lot of privacy related advancement in Bitcoin and LN and look forward to learning about more solutions.
originally posted at https://stacker.news/items/732534
-
@ 4ba8e86d:89d32de4
2024-10-07 13:37:38O que é Cwtch? Cwtch (/kʊtʃ/ - uma palavra galesa que pode ser traduzida aproximadamente como “um abraço que cria um lugar seguro”) é um protocolo de mensagens multipartidário descentralizado, que preserva a privacidade, que pode ser usado para construir aplicativos resistentes a metadados.
Como posso pronunciar Cwtch? Como "kutch", para rimar com "butch".
Descentralizado e Aberto : Não existe “serviço Cwtch” ou “rede Cwtch”. Os participantes do Cwtch podem hospedar seus próprios espaços seguros ou emprestar sua infraestrutura para outras pessoas que buscam um espaço seguro. O protocolo Cwtch é aberto e qualquer pessoa é livre para criar bots, serviços e interfaces de usuário e integrar e interagir com o Cwtch.
Preservação de privacidade : toda a comunicação no Cwtch é criptografada de ponta a ponta e ocorre nos serviços cebola Tor v3.
Resistente a metadados : O Cwtch foi projetado de forma que nenhuma informação seja trocada ou disponibilizada a ninguém sem seu consentimento explícito, incluindo mensagens durante a transmissão e metadados de protocolo
Uma breve história do bate-papo resistente a metadados Nos últimos anos, a conscientização pública sobre a necessidade e os benefícios das soluções criptografadas de ponta a ponta aumentou com aplicativos como Signal , Whatsapp e Wire. que agora fornecem aos usuários comunicações seguras.
No entanto, essas ferramentas exigem vários níveis de exposição de metadados para funcionar, e muitos desses metadados podem ser usados para obter detalhes sobre como e por que uma pessoa está usando uma ferramenta para se comunicar.
Uma ferramenta que buscou reduzir metadados é o Ricochet lançado pela primeira vez em 2014. Ricochet usou os serviços cebola Tor v2 para fornecer comunicação criptografada segura de ponta a ponta e para proteger os metadados das comunicações.
Não havia servidores centralizados que auxiliassem no roteamento das conversas do Ricochet. Ninguém além das partes envolvidas em uma conversa poderia saber que tal conversa está ocorrendo.
Ricochet tinha limitações; não havia suporte para vários dispositivos, nem existe um mecanismo para suportar a comunicação em grupo ou para um usuário enviar mensagens enquanto um contato está offline.
Isto tornou a adoção do Ricochet uma proposta difícil; mesmo aqueles em ambientes que seriam melhor atendidos pela resistência aos metadados, sem saber que ela existe.
Além disso, qualquer solução para comunicação descentralizada e resistente a metadados enfrenta problemas fundamentais quando se trata de eficiência, privacidade e segurança de grupo conforme definido pelo consenso e consistência da transcrição.
Alternativas modernas ao Ricochet incluem Briar , Zbay e Ricochet Refresh - cada ferramenta procura otimizar para um conjunto diferente de compensações, por exemplo, Briar procura permitir que as pessoas se comuniquem mesmo quando a infraestrutura de rede subjacente está inoperante, ao mesmo tempo que fornece resistência à vigilância de metadados.
O projeto Cwtch começou em 2017 como um protocolo de extensão para Ricochet, fornecendo conversas em grupo por meio de servidores não confiáveis, com o objetivo de permitir aplicativos descentralizados e resistentes a metadados como listas compartilhadas e quadros de avisos.
Uma versão alfa do Cwtch foi lançada em fevereiro de 2019 e, desde então, a equipe do Cwtch dirigida pela OPEN PRIVACY RESEARCH SOCIETY conduziu pesquisa e desenvolvimento em cwtch e nos protocolos, bibliotecas e espaços de problemas subjacentes.
Modelo de Risco.
Sabe-se que os metadados de comunicações são explorados por vários adversários para minar a segurança dos sistemas, para rastrear vítimas e para realizar análises de redes sociais em grande escala para alimentar a vigilância em massa. As ferramentas resistentes a metadados estão em sua infância e faltam pesquisas sobre a construção e a experiência do usuário de tais ferramentas.
https://nostrcheck.me/media/public/nostrcheck.me_9475702740746681051707662826.webp
O Cwtch foi originalmente concebido como uma extensão do protocolo Ricochet resistente a metadados para suportar comunicações assíncronas de grupos multiponto por meio do uso de infraestrutura anônima, descartável e não confiável.
Desde então, o Cwtch evoluiu para um protocolo próprio. Esta seção descreverá os vários riscos conhecidos que o Cwtch tenta mitigar e será fortemente referenciado no restante do documento ao discutir os vários subcomponentes da Arquitetura Cwtch.
Modelo de ameaça.
É importante identificar e compreender que os metadados são omnipresentes nos protocolos de comunicação; é de facto necessário que tais protocolos funcionem de forma eficiente e em escala. No entanto, as informações que são úteis para facilitar peers e servidores também são altamente relevantes para adversários que desejam explorar tais informações.
Para a definição do nosso problema, assumiremos que o conteúdo de uma comunicação é criptografado de tal forma que um adversário é praticamente incapaz de quebrá-lo veja tapir e cwtch para detalhes sobre a criptografia que usamos, e como tal nos concentraremos em o contexto para os metadados de comunicação.
Procuramos proteger os seguintes contextos de comunicação:
• Quem está envolvido em uma comunicação? Pode ser possível identificar pessoas ou simplesmente identificadores de dispositivos ou redes. Por exemplo, “esta comunicação envolve Alice, uma jornalista, e Bob, um funcionário público”.
• Onde estão os participantes da conversa? Por exemplo, “durante esta comunicação, Alice estava na França e Bob estava no Canadá”.
• Quando ocorreu uma conversa? O momento e a duração da comunicação podem revelar muito sobre a natureza de uma chamada, por exemplo, “Bob, um funcionário público, conversou com Alice ao telefone por uma hora ontem à noite. Esta é a primeira vez que eles se comunicam.” *Como a conversa foi mediada? O fato de uma conversa ter ocorrido por meio de um e-mail criptografado ou não criptografado pode fornecer informações úteis. Por exemplo, “Alice enviou um e-mail criptografado para Bob ontem, enquanto eles normalmente enviam apenas e-mails de texto simples um para o outro”.
• Sobre o que é a conversa? Mesmo que o conteúdo da comunicação seja criptografado, às vezes é possível derivar um contexto provável de uma conversa sem saber exatamente o que é dito, por exemplo, “uma pessoa ligou para uma pizzaria na hora do jantar” ou “alguém ligou para um número conhecido de linha direta de suicídio na hora do jantar”. 3 horas da manhã."
Além das conversas individuais, também procuramos defender-nos contra ataques de correlação de contexto, através dos quais múltiplas conversas são analisadas para obter informações de nível superior:
• Relacionamentos: Descobrir relações sociais entre um par de entidades analisando a frequência e a duração de suas comunicações durante um período de tempo. Por exemplo, Carol e Eve ligam uma para a outra todos os dias durante várias horas seguidas.
• Cliques: Descobrir relações sociais entre um grupo de entidades que interagem entre si. Por exemplo, Alice, Bob e Eva se comunicam entre si.
• Grupos vagamente conectados e indivíduos-ponte: descobrir grupos que se comunicam entre si através de intermediários, analisando cadeias de comunicação (por exemplo, toda vez que Alice fala com Bob, ela fala com Carol quase imediatamente depois; Bob e Carol nunca se comunicam).
• Padrão de Vida: Descobrir quais comunicações são cíclicas e previsíveis. Por exemplo, Alice liga para Eve toda segunda-feira à noite por cerca de uma hora. Ataques Ativos
Ataques de deturpação.
O Cwtch não fornece registro global de nomes de exibição e, como tal, as pessoas que usam o Cwtch são mais vulneráveis a ataques baseados em declarações falsas, ou seja, pessoas que fingem ser outras pessoas:
O fluxo básico de um desses ataques é o seguinte, embora também existam outros fluxos:
•Alice tem um amigo chamado Bob e outro chamado Eve
• Eve descobre que Alice tem um amigo chamado Bob
• Eve cria milhares de novas contas para encontrar uma que tenha uma imagem/chave pública semelhante à de Bob (não será idêntica, mas pode enganar alguém por alguns minutos)
• Eve chama essa nova conta de "Eve New Account" e adiciona Alice como amiga.
• Eve então muda seu nome em "Eve New Account" para "Bob"
• Alice envia mensagens destinadas a "Bob" para a conta falsa de Bob de Eve Como os ataques de declarações falsas são inerentemente uma questão de confiança e verificação, a única maneira absoluta de evitá-los é os usuários validarem absolutamente a chave pública. Obviamente, isso não é o ideal e, em muitos casos, simplesmente não acontecerá .
Como tal, pretendemos fornecer algumas dicas de experiência do usuário na interface do usuário para orientar as pessoas na tomada de decisões sobre confiar em contas e/ou distinguir contas que possam estar tentando se representar como outros usuários.
Uma nota sobre ataques físicos A Cwtch não considera ataques que exijam acesso físico (ou equivalente) à máquina do usuário como praticamente defensáveis. No entanto, no interesse de uma boa engenharia de segurança, ao longo deste documento ainda nos referiremos a ataques ou condições que exigem tal privilégio e indicaremos onde quaisquer mitigações que implementámos falharão.
Um perfil Cwtch.
Os usuários podem criar um ou mais perfis Cwtch. Cada perfil gera um par de chaves ed25519 aleatório compatível com Tor.
Além do material criptográfico, um perfil também contém uma lista de Contatos (outras chaves públicas do perfil Cwtch + dados associados sobre esse perfil, como apelido e (opcionalmente) mensagens históricas), uma lista de Grupos (contendo o material criptográfico do grupo, além de outros dados associados, como apelido do grupo e mensagens históricas).
Conversões entre duas partes: ponto a ponto
https://nostrcheck.me/media/public/nostrcheck.me_2186338207587396891707662879.webp
Para que duas partes participem de uma conversa ponto a ponto, ambas devem estar on-line, mas apenas uma precisa estar acessível por meio do serviço Onion. Por uma questão de clareza, muitas vezes rotulamos uma parte como “ponto de entrada” (aquele que hospeda o serviço cebola) e a outra parte como “ponto de saída” (aquele que se conecta ao serviço cebola).
Após a conexão, ambas as partes adotam um protocolo de autenticação que:
• Afirma que cada parte tem acesso à chave privada associada à sua identidade pública.
• Gera uma chave de sessão efêmera usada para criptografar todas as comunicações futuras durante a sessão.
Esta troca (documentada com mais detalhes no protocolo de autenticação ) é negável offline , ou seja, é possível para qualquer parte falsificar transcrições desta troca de protocolo após o fato e, como tal - após o fato - é impossível provar definitivamente que a troca aconteceu de forma alguma.
Após o protocolo de autenticação, as duas partes podem trocar mensagens livremente.
Conversas em Grupo e Comunicação Ponto a Servidor
Ao iniciar uma conversa em grupo, é gerada uma chave aleatória para o grupo, conhecida como Group Key. Todas as comunicações do grupo são criptografadas usando esta chave. Além disso, o criador do grupo escolhe um servidor Cwtch para hospedar o grupo. Um convite é gerado, incluindo o Group Key, o servidor do grupo e a chave do grupo, para ser enviado aos potenciais membros.
Para enviar uma mensagem ao grupo, um perfil se conecta ao servidor do grupo e criptografa a mensagem usando a Group Key, gerando também uma assinatura sobre o Group ID, o servidor do grupo e a mensagem. Para receber mensagens do grupo, um perfil se conecta ao servidor e baixa as mensagens, tentando descriptografá-las usando a Group Key e verificando a assinatura.
Detalhamento do Ecossistema de Componentes
O Cwtch é composto por várias bibliotecas de componentes menores, cada uma desempenhando um papel específico. Algumas dessas bibliotecas incluem:
- abertoprivacidade/conectividade: Abstração de rede ACN, atualmente suportando apenas Tor.
- cwtch.im/tapir: Biblioteca para construção de aplicativos p2p em sistemas de comunicação anônimos.
- cwtch.im/cwtch: Biblioteca principal para implementação do protocolo/sistema Cwtch.
- cwtch.im/libcwtch-go: Fornece ligações C para Cwtch para uso em implementações de UI.
TAPIR: Uma Visão Detalhada
Projetado para substituir os antigos canais de ricochete baseados em protobuf, o Tapir fornece uma estrutura para a construção de aplicativos anônimos.
Está dividido em várias camadas:
• Identidade - Um par de chaves ed25519, necessário para estabelecer um serviço cebola Tor v3 e usado para manter uma identidade criptográfica consistente para um par.
• Conexões – O protocolo de rede bruto que conecta dois pares. Até agora, as conexões são definidas apenas através do Tor v3 Onion Services.
• Aplicativos - As diversas lógicas que permitem um determinado fluxo de informações em uma conexão. Os exemplos incluem transcrições criptográficas compartilhadas, autenticação, proteção contra spam e serviços baseados em tokens. Os aplicativos fornecem recursos que podem ser referenciados por outros aplicativos para determinar se um determinado peer tem a capacidade de usar um determinado aplicativo hospedado.
• Pilhas de aplicativos - Um mecanismo para conectar mais de um aplicativo, por exemplo, a autenticação depende de uma transcrição criptográfica compartilhada e o aplicativo peer cwtch principal é baseado no aplicativo de autenticação.
Identidade.
Um par de chaves ed25519, necessário para estabelecer um serviço cebola Tor v3 e usado para manter uma identidade criptográfica consistente para um peer.
InitializeIdentity - de um par de chaves conhecido e persistente:i,I
InitializeEphemeralIdentity - de um par de chaves aleatório: ie,Ie
Aplicativos de transcrição.
Inicializa uma transcrição criptográfica baseada em Merlin que pode ser usada como base de protocolos baseados em compromisso de nível superior
O aplicativo de transcrição entrará em pânico se um aplicativo tentar substituir uma transcrição existente por uma nova (aplicando a regra de que uma sessão é baseada em uma e apenas uma transcrição).
Merlin é uma construção de transcrição baseada em STROBE para provas de conhecimento zero. Ele automatiza a transformação Fiat-Shamir, para que, usando Merlin, protocolos não interativos possam ser implementados como se fossem interativos.
Isto é significativamente mais fácil e menos sujeito a erros do que realizar a transformação manualmente e, além disso, também fornece suporte natural para:
• protocolos multi-round com fases alternadas de commit e desafio;
• separação natural de domínios, garantindo que os desafios estejam vinculados às afirmações a serem provadas;
• enquadramento automático de mensagens, evitando codificação ambígua de dados de compromisso;
• e composição do protocolo, usando uma transcrição comum para vários protocolos.
Finalmente, o Merlin também fornece um gerador de números aleatórios baseado em transcrição como defesa profunda contra ataques de entropia ruim (como reutilização de nonce ou preconceito em muitas provas). Este RNG fornece aleatoriedade sintética derivada de toda a transcrição pública, bem como dos dados da testemunha do provador e uma entrada auxiliar de um RNG externo.
Conectividade Cwtch faz uso do Tor Onion Services (v3) para todas as comunicações entre nós.
Fornecemos o pacote openprivacy/connectivity para gerenciar o daemon Tor e configurar e desmontar serviços cebola através do Tor.
Criptografia e armazenamento de perfil.
Os perfis são armazenados localmente no disco e criptografados usando uma chave derivada de uma senha conhecida pelo usuário (via pbkdf2).
Observe que, uma vez criptografado e armazenado em disco, a única maneira de recuperar um perfil é recuperando a senha - como tal, não é possível fornecer uma lista completa de perfis aos quais um usuário pode ter acesso até inserir uma senha.
Perfis não criptografados e a senha padrão Para lidar com perfis "não criptografados" (ou seja, que não exigem senha para serem abertos), atualmente criamos um perfil com uma senha codificada de fato .
Isso não é o ideal, preferiríamos confiar no material de chave fornecido pelo sistema operacional, de modo que o perfil fosse vinculado a um dispositivo específico, mas esses recursos são atualmente uma colcha de retalhos - também notamos, ao criar um perfil não criptografado, pessoas que usam Cwtch estão explicitamente optando pelo risco de que alguém com acesso ao sistema de arquivos possa descriptografar seu perfil.
Vulnerabilidades Relacionadas a Imagens e Entrada de Dados
Imagens Maliciosas
O Cwtch enfrenta desafios na renderização de imagens, com o Flutter utilizando Skia, embora o código subjacente não seja totalmente seguro para a memória.
Realizamos testes de fuzzing nos componentes Cwtch e encontramos um bug de travamento causado por um arquivo GIF malformado, levando a falhas no kernel. Para mitigar isso, adotamos a política de sempre habilitar cacheWidth e/ou cacheHeight máximo para widgets de imagem.
Identificamos o risco de imagens maliciosas serem renderizadas de forma diferente em diferentes plataformas, como evidenciado por um bug no analisador PNG da Apple.
Riscos de Entrada de Dados
Um risco significativo é a interceptação de conteúdo ou metadados por meio de um Input Method Editor (IME) em dispositivos móveis. Mesmo aplicativos IME padrão podem expor dados por meio de sincronização na nuvem, tradução online ou dicionários pessoais.
Implementamos medidas de mitigação, como enableIMEPersonalizedLearning: false no Cwtch 1.2, mas a solução completa requer ações em nível de sistema operacional e é um desafio contínuo para a segurança móvel.
Servidor Cwtch.
O objetivo do protocolo Cwtch é permitir a comunicação em grupo através de infraestrutura não confiável .
Ao contrário dos esquemas baseados em retransmissão, onde os grupos atribuem um líder, um conjunto de líderes ou um servidor confiável de terceiros para garantir que cada membro do grupo possa enviar e receber mensagens em tempo hábil (mesmo que os membros estejam offline) - infraestrutura não confiável tem o objetivo de realizar essas propriedades sem a suposição de confiança.
O artigo original do Cwtch definia um conjunto de propriedades que se esperava que os servidores Cwtch fornecessem:
• O Cwtch Server pode ser usado por vários grupos ou apenas um.
• Um servidor Cwtch, sem a colaboração de um membro do grupo, nunca deve aprender a identidade dos participantes de um grupo.
• Um servidor Cwtch nunca deve aprender o conteúdo de qualquer comunicação.
• Um servidor Cwtch nunca deve ser capaz de distinguir mensagens como pertencentes a um grupo específico. Observamos aqui que essas propriedades são um superconjunto dos objetivos de design das estruturas de Recuperação de Informações Privadas.
Melhorias na Eficiência e Segurança
Eficiência do Protocolo
Atualmente, apenas um protocolo conhecido, o PIR ingênuo, atende às propriedades desejadas para garantir a privacidade na comunicação do grupo Cwtch. Este método tem um impacto direto na eficiência da largura de banda, especialmente para usuários em dispositivos móveis. Em resposta a isso, estamos ativamente desenvolvendo novos protocolos que permitem negociar garantias de privacidade e eficiência de maneiras diversas.
Os servidores, no momento desta escrita, permitem o download completo de todas as mensagens armazenadas, bem como uma solicitação para baixar mensagens específicas a partir de uma determinada mensagem. Quando os pares ingressam em um grupo em um novo servidor, eles baixam todas as mensagens do servidor inicialmente e, posteriormente, apenas as mensagens novas.
Mitigação de Análise de Metadados
Essa abordagem permite uma análise moderada de metadados, pois o servidor pode enviar novas mensagens para cada perfil suspeito exclusivo e usar essas assinaturas de mensagens exclusivas para rastrear sessões ao longo do tempo. Essa preocupação é mitigada por dois fatores:
- Os perfis podem atualizar suas conexões a qualquer momento, resultando em uma nova sessão do servidor.
- Os perfis podem ser "ressincronizados" de um servidor a qualquer momento, resultando em uma nova chamada para baixar todas as mensagens. Isso é comumente usado para buscar mensagens antigas de um grupo.
Embora essas medidas imponham limites ao que o servidor pode inferir, ainda não podemos garantir resistência total aos metadados. Para soluções futuras para esse problema, consulte Niwl.
Proteção contra Pares Maliciosos
Os servidores enfrentam o risco de spam gerado por pares, representando uma ameaça significativa à eficácia do sistema Cwtch. Embora tenhamos implementado um mecanismo de proteção contra spam no protótipo do Cwtch, exigindo que os pares realizem alguma prova de trabalho especificada pelo servidor, reconhecemos que essa não é uma solução robusta na presença de um adversário determinado com recursos significativos.
Pacotes de Chaves
Os servidores Cwtch se identificam por meio de pacotes de chaves assinados, contendo uma lista de chaves necessárias para garantir a segurança e resistência aos metadados na comunicação do grupo Cwtch. Esses pacotes de chaves geralmente incluem três chaves: uma chave pública do serviço Tor v3 Onion para o Token Board, uma chave pública do Tor v3 Onion Service para o Token Service e uma chave pública do Privacy Pass.
Para verificar os pacotes de chaves, os perfis que os importam do servidor utilizam o algoritmo trust-on-first-use (TOFU), verificando a assinatura anexada e a existência de todos os tipos de chave. Se o perfil já tiver importado o pacote de chaves do servidor anteriormente, todas as chaves são consideradas iguais.
Configuração prévia do aplicativo para ativar o Relé do Cwtch.
No Android, a hospedagem de servidor não está habilitada, pois essa opção não está disponível devido às limitações dos dispositivos Android. Essa funcionalidade está reservada apenas para servidores hospedados em desktops.
No Android, a única forma direta de importar uma chave de servidor é através do grupo de teste Cwtch, garantindo assim acesso ao servidor Cwtch.
Primeiro passo é Habilitar a opção de grupo no Cwtch que está em fase de testes. Clique na opção no canto superior direito da tela de configuração e pressione o botão para acessar as configurações do Cwtch.
Você pode alterar o idioma para Português do Brasil.Depois, role para baixo e selecione a opção para ativar os experimentos. Em seguida, ative a opção para habilitar o chat em grupo e a pré-visualização de imagens e fotos de perfil, permitindo que você troque sua foto de perfil.
https://link.storjshare.io/raw/jvss6zxle26jdguwaegtjdixhfka/production/f0ca039733d48895001261ab25c5d2efbaf3bf26e55aad3cce406646f9af9d15.MP4
Próximo passo é Criar um perfil.
Pressione o + botão de ação no canto inferior direito e selecione "Novo perfil" ou aberta no botão + adicionar novo perfil.
-
Selecione um nome de exibição
-
Selecione se deseja proteger
este perfil e salvo localmente com criptografia forte: Senha: sua conta está protegida de outras pessoas que possam usar este dispositivo
Sem senha: qualquer pessoa que tenha acesso a este dispositivo poderá acessar este perfil.
Preencha sua senha e digite-a novamente
Os perfis são armazenados localmente no disco e criptografados usando uma chave derivada de uma senha conhecida pelo usuário (via pbkdf2).
Observe que, uma vez criptografado e armazenado em disco, a única maneira de recuperar um perfil é recuperando a chave da senha - como tal, não é possível fornecer uma lista completa de perfis aos quais um usuário pode ter acesso até inserir um senha.
https://link.storjshare.io/raw/jxqbqmur2lcqe2eym5thgz4so2ya/production/8f9df1372ec7e659180609afa48be22b12109ae5e1eda9ef1dc05c1325652507.MP4
O próximo passo é adicionar o FuzzBot, que é um bot de testes e de desenvolvimento.
Contato do FuzzBot: 4y2hxlxqzautabituedksnh2ulcgm2coqbure6wvfpg4gi2ci25ta5ad.
Ao enviar o comando "testgroup-invite" para o FuzzBot, você receberá um convite para entrar no Grupo Cwtch Test. Ao ingressar no grupo, você será automaticamente conectado ao servidor Cwtch. Você pode optar por sair do grupo a qualquer momento ou ficar para conversar e tirar dúvidas sobre o aplicativo e outros assuntos. Depois, você pode configurar seu próprio servidor Cwtch, o que é altamente recomendável.
https://link.storjshare.io/raw/jvji25zclkoqcouni5decle7if7a/production/ee3de3540a3e3dca6e6e26d303e12c2ef892a5d7769029275b8b95ffc7468780.MP4
Agora você pode utilizar o aplicativo normalmente. Algumas observações que notei: se houver demora na conexão com outra pessoa, ambas devem estar online. Se ainda assim a conexão não for estabelecida, basta clicar no ícone de reset do Tor para restabelecer a conexão com a outra pessoa.
Uma introdução aos perfis Cwtch.
Com Cwtch você pode criar um ou mais perfis . Cada perfil gera um par de chaves ed25519 aleatório compatível com a Rede Tor.
Este é o identificador que você pode fornecer às pessoas e que elas podem usar para entrar em contato com você via Cwtch.
Cwtch permite criar e gerenciar vários perfis separados. Cada perfil está associado a um par de chaves diferente que inicia um serviço cebola diferente.
Gerenciar Na inicialização, o Cwtch abrirá a tela Gerenciar Perfis. Nessa tela você pode:
- Crie um novo perfil.
- Desbloquear perfis.
- Criptografados existentes.
- Gerenciar perfis carregados.
- Alterando o nome de exibição de um perfil.
- Alterando a senha de um perfil Excluindo um perfil.
- Alterando uma imagem de perfil.
Backup ou exportação de um perfil.
Na tela de gerenciamento de perfil:
-
Selecione o lápis ao lado do perfil que você deseja editar
-
Role para baixo até a parte inferior da tela.
-
Selecione "Exportar perfil"
-
Escolha um local e um nome de arquivo.
5.confirme.
Uma vez confirmado, o Cwtch colocará uma cópia do perfil no local indicado. Este arquivo é criptografado no mesmo nível do perfil.
Este arquivo pode ser importado para outra instância do Cwtch em qualquer dispositivo.
Importando um perfil.
-
Pressione o +botão de ação no canto inferior direito e selecione "Importar perfil"
-
Selecione um arquivo de perfil Cwtch exportado para importar
-
Digite a senha associada ao perfil e confirme.
Uma vez confirmado, o Cwtch tentará descriptografar o arquivo fornecido usando uma chave derivada da senha fornecida. Se for bem-sucedido, o perfil aparecerá na tela Gerenciamento de perfil e estará pronto para uso.
OBSERVAÇÃO Embora um perfil possa ser importado para vários dispositivos, atualmente apenas uma versão de um perfil pode ser usada em todos os dispositivos ao mesmo tempo. As tentativas de usar o mesmo perfil em vários dispositivos podem resultar em problemas de disponibilidade e falhas de mensagens.
Qual é a diferença entre uma conexão ponto a ponto e um grupo cwtch?
As conexões ponto a ponto Cwtch permitem que 2 pessoas troquem mensagens diretamente. As conexões ponto a ponto nos bastidores usam serviços cebola Tor v3 para fornecer uma conexão criptografada e resistente a metadados. Devido a esta conexão direta, ambas as partes precisam estar online ao mesmo tempo para trocar mensagens.
Os Grupos Cwtch permitem que várias partes participem de uma única conversa usando um servidor não confiável (que pode ser fornecido por terceiros ou auto-hospedado). Os operadores de servidores não conseguem saber quantas pessoas estão em um grupo ou o que está sendo discutido. Se vários grupos estiverem hospedados em um único servidor, o servidor não conseguirá saber quais mensagens pertencem a qual grupo sem a conivência de um membro do grupo. Ao contrário das conversas entre pares, as conversas em grupo podem ser conduzidas de forma assíncrona, para que todos num grupo não precisem estar online ao mesmo tempo.
Por que os grupos cwtch são experimentais? Mensagens em grupo resistentes a metadados ainda são um problema em aberto . Embora a versão que fornecemos no Cwtch Beta seja projetada para ser segura e com metadados privados, ela é bastante ineficiente e pode ser mal utilizada. Como tal, aconselhamos cautela ao usá-lo e apenas o fornecemos como um recurso opcional.
Como posso executar meu próprio servidor Cwtch? A implementação de referência para um servidor Cwtch é de código aberto . Qualquer pessoa pode executar um servidor Cwtch, e qualquer pessoa com uma cópia do pacote de chaves públicas do servidor pode hospedar grupos nesse servidor sem que o operador tenha acesso aos metadados relacionados ao grupo .
https://git.openprivacy.ca/cwtch.im/server
https://docs.openprivacy.ca/cwtch-security-handbook/server.html
Como posso desligar o Cwtch? O painel frontal do aplicativo possui um ícone do botão "Shutdown Cwtch" (com um 'X'). Pressionar este botão irá acionar uma caixa de diálogo e, na confirmação, o Cwtch será desligado e todos os perfis serão descarregados.
Suas doações podem fazer a diferença no projeto Cwtch? O Cwtch é um projeto dedicado a construir aplicativos que preservam a privacidade, oferecendo comunicação de grupo resistente a metadados. Além disso, o projeto também desenvolve o Cofre, formulários da web criptografados para ajudar mútua segura. Suas contribuições apoiam iniciativas importantes, como a divulgação de violações de dados médicos em Vancouver e pesquisas sobre a segurança do voto eletrônico na Suíça. Ao doar, você está ajudando a fechar o ciclo, trabalhando com comunidades marginalizadas para identificar e corrigir lacunas de privacidade. Além disso, o projeto trabalha em soluções inovadoras, como a quebra de segredos através da criptografia de limite para proteger sua privacidade durante passagens de fronteira. E também tem a infraestrutura: toda nossa infraestrutura é open source e sem fins lucrativos. Conheça também o Fuzzytags, uma estrutura criptográfica probabilística para marcação resistente a metadados. Sua doação é crucial para continuar o trabalho em prol da privacidade e segurança online. Contribua agora com sua doação
https://openprivacy.ca/donate/
onde você pode fazer sua doação em bitcoin e outras moedas, e saiba mais sobre os projetos. https://openprivacy.ca/work/
Link sobre Cwtch
https://cwtch.im/
https://git.openprivacy.ca/cwtch.im/cwtch
https://docs.cwtch.im/docs/intro
https://docs.openprivacy.ca/cwtch-security-handbook/
Baixar #CwtchDev
cwtch.im/download/
https://play.google.com/store/apps/details?id=im.cwtch.flwtch
-
@ e7211c22:e87afeee
2024-10-12 02:46:09Chef's notes
If you do one thing to improve your health in the kitchen, ditch the industrial seed oils and make your own mayonnaise. Make sure to use virgin coconut oil and extra virgin olive oil, not light or refined olive oil. That being said, use extra virgin olive oil from a lighter tasting olive variety, such as Arbequina, or mayonnaise will have a strong olive oil taste. Where do you get extra virgin olive oil from you may ask? Ugly olives, of course. The addition of yogurt and whey greatly extend the shelf life of your mayonnaise from 1-2 weeks to 1-2 months in the refrigerator, while adding beneficial probiotics. To spice up you mayonnaise, see end of directions.
Details
- ⏲️ Prep time: 15 minutes
- 🍳 Cook time: 0 minutes
- 🍽️ Servings: lots
Ingredients
- 1 whole egg
- 2 egg yolks
- 1 Tbsp Grey Poupon
- 1 Tbsp lemon juice
- 1/2 tsp salt
- dash white pepper
- 1/2 cup virgin coconut oil, warmed to liquid
- 1/2 cup extra virgin olive oil, from a lighter tasting olive variety, such as Arbequina
- 1 Tbsp plain yogurt
- 1 Tbsp whey
Directions
- Mix first six ingredients in a bowl with an immersion blender or food processor.
- Combine oils in pourable measuring cup.
- Slowly, drip by drip, begin to add oil to first six ingredients while running immersion blender or food processor. If oil is added too quickly at first, emulsification will not occur and mayonnaise will be ruined.
- Continue adding oil to first six ingredients drip by drip, increasing to slow drizzle, then thin stream, then steady stream. Take breaks pouring oil if necessary to completely blend in oils.
- Add yogurt and whey. Refrigerate.
- To spice up your mayonnaise: Sriracha mayonnaise - with first six ingredients add 1 clove garlic, mashed, 2 Tbsp sriracha, 2 Tbsp lime juice, and an additional 1/4 tsp salt. Chipotle lime mayonnaise - replace 1 Tbsp lemon juice with 1 Tbsp lime juice, with first six ingredients add 1 clove garlic, mashed, 1/4-1/2 can chipotle peppers in adobo sauce, 2 limes juiced and zested, and an additional 1/4 tsp salt.
-
@ 45bda953:bc1e518e
2024-10-20 15:46:40As I ghost the Bitcoin only Telegram and Discord groups after the historic announcements of RFK Junior and Donald J Trump I perceive mixed emotions among some OG Bitcoin maxi’s. They are mostly happy about the advancing adoption of Bitcoin this cycle but are cautiously disturbed and annoyed by the fact that governments and large institutions are perhaps embracing Bitcoin before individual people have sufficiently decentralised self custodial holdings.
I understand their concerns in this regard but do not share it. This article is an attempt to waylay those fears and hopefully bring a little bit of extra food for thought.
If you will humour me, I am going to quote more scripture. That is the theme of this account. Bitcoin and Biblical Prophecy.
Zechariah Chapter 5
1 : Then I (Zechariah) turned and raised my eyes, and saw there a flying scroll. 2 : And he (an angel dude) said to me “What do you see?” So I answered, “I see a flying scroll. It’s length is twenty cubits and its width ten cubits.” 3 : Then he said to me, “This is the curse that goes out over the face of the whole earth: ‘Every thief shall be expelled,’ according to this side of the scroll; and, ‘Every perjurer shall be expelled, ‘according to that side of it.” 4 : “I will send out the curse,” says the LORD of hosts; “It shall enter the house of the thief and the house of the one who swears falsely by My name. It shall remain in the midst of his house And consume it, with its timber and stones.”
Now I don’t know of any sensible explanations for this scripture other than my own conjecture and speculations. I am not particularly religious and disdain canon/institutional exposition of prophetic scripture because I am highly sceptical of their motives.
But I urge that you, dear reader, extract a little bit of wisdom from a weird and abstract piece of text. Even if it is a complete misinterpretation it is still a useful analogy.
Zechariah claims to see a flying scroll. A flying ledger or list. We all know that scrolls don’t fly and they most certainly do not cover the face of the whole earth. The fact that it is measured in twenty and ten cubits specifically is odd and maybe some numerology luminary can figure out why that is.
I just say it’s twenty one million Bitcoin. Or two hundred and ten thousand blocks. Or ten minute block rewards. Whatever. The blockchain through node runners do cover the face of the whole earth.
What is interesting as well is that this is equated to being a curse. We do not see Bitcoin as a curse? Do we? We see Bitcoin as a blessing rewarding honest men a fair wage for honest work. That does not define a curse.
Oh, but you are not a scammer, a terrorist an extortioner or a thief. Why do criminals prefer fiat cash to Bitcoin?
Because Bitcoin shines light on their activity. On a Bitcoin standard the thief is doomed to a slow death of impoverishment.
Who are they who swear falsely by His name? On the one dollar bill it famously states “IN GOD WE TRUST” Swearing falsely by the divine.
I call BS along with the rest of the Bitcoin community. In physics we trust. In code we trust. In mathematics we trust. In the unbreakable reality of the cosmos we trust. In the mind numbing comments of politicians and calculations of federal reserve bean counters we do not trust.
Politicians have a long history of deception and populations have a long history of not studying history. The Dollar bill LIES.
The governments of the world will embrace Bitcoin and to their own eventual demise.
The ledger will lie in the midst of their buildings and institutions and it will be a testament to their in-efficacious behaviour. The free-market will outperform every possible attempt at service delivery governments will to achieve. On a bitcoin standard their institutions will fall into disrepair because they cannot produce more than they consume through the very nature of their eternally corrupt institution. This counts for all governments. The people will self govern in a harmony that can only be described as utopian. (Compared to Marxist and Keynesian MMT systems) Eventually...
Bitcoin is a CURSE and a BLESSING. It FORCES you to take account of REALITY.
Institutions still cling to their delusions in a changing world and the havoc they will unleash to try and retain their incumbency is pathetic but inevitable.
Stay humble. Stack Sats. Buy out the time. Survive.
We are all Satoshi.
Zechariah Chapter 5
1 : Then I turned and raised my eyes, and saw there a flying scroll. 2 : And he said to me “What do you see?” So I answered, “I see a flying scroll. It’s length is twenty cubits and its width ten cubits.” 3 : Then he said to me, “This is the curse that goes out over the face of the whole earth: ‘Every thief shall be expelled,’ according to this side of the scroll; and, ‘Every perjurer shall be expelled, ‘according to that side of it.” 4 : “I will send out the curse,” says the LORD of hosts; “It shall enter the house of the thief and the house of the one who swears falsely by My name. It shall remain in the midst of his house And consume it, with its timber and stones.”
bitbib
-
@ 3bf0c63f:aefa459d
2024-09-06 12:49:46Nostr: a quick introduction, attempt #2
Nostr doesn't subscribe to any ideals of "free speech" as these belong to the realm of politics and assume a big powerful government that enforces a common ruleupon everybody else.
Nostr instead is much simpler, it simply says that servers are private property and establishes a generalized framework for people to connect to all these servers, creating a true free market in the process. In other words, Nostr is the public road that each market participant can use to build their own store or visit others and use their services.
(Of course a road is never truly public, in normal cases it's ran by the government, in this case it relies upon the previous existence of the internet with all its quirks and chaos plus a hand of government control, but none of that matters for this explanation).
More concretely speaking, Nostr is just a set of definitions of the formats of the data that can be passed between participants and their expected order, i.e. messages between clients (i.e. the program that runs on a user computer) and relays (i.e. the program that runs on a publicly accessible computer, a "server", generally with a domain-name associated) over a type of TCP connection (WebSocket) with cryptographic signatures. This is what is called a "protocol" in this context, and upon that simple base multiple kinds of sub-protocols can be added, like a protocol for "public-square style microblogging", "semi-closed group chat" or, I don't know, "recipe sharing and feedback".
-
@ c69b71dc:426ba763
2024-10-10 09:05:29Chef's notes
This cashew blue cheese is a true plant-based delight, delivering the rich, tangy flavours you’d expect from traditional blue cheeses like Roquefort or Gorgonzola. The fermentation process, with the help of «Penicillium Roqueforti», creates a beautifully marbled, creamy cheese that’s both bold and complex. It’s a labor of love that rewards your patience with an unforgettable vegan cheese experience! Whether enjoyed on crackers, in salads, or simply on its own, this cheese will elevate any dish with its unique flavour profile.
Note 1: For this recipe you need parchment paper, a potent blender, glass jars with lid and two cheesecloths.
Note 2: Always use very clean tools, and avoid touching with your fingers or tasting with them while working on the cheese!
Details
- ⏲️ Prep time: 4-5 weeks
- 🍳 Cook time: 0
- 🍽️ Servings: Two small cheese loaves (2x 10-12 cm diameter)
Ingredients
- 300g raw cashews
- 3 tbsp water
- 3 tbsp kefir, kombucha or rejuvelac
- 2 tbsp coconut oil (raw, unrefined)
- 1-4 capsules vegan probiotics
- 1/2 tsp Himalayan salt (iodine-free, no additives)
- 1/16 tsp «Penicillium Roqueforti» (blue cheese mold culture)
Directions
- Day 1: Soak 300g of cashews overnight in water.
- Day 2: Rinse the soaked cashews thoroughly and let them drain well.
- In a high-speed blender, combine the cashews, 3 tbsp of water, 3 tbsp kefir or rejuvelac, and 2 tbsp coconut oil. Blend until the mixture is smooth and creamy.
- Add 1-4 capsules of vegan probiotics, 1/2 tsp Himalayan salt (free of iodine and additives), and blend again briefly.
- Add a pinch (about 1/16 tsp) of «Penicillium Roqueforti» powder (blue cheese culture) and give it another quick mix.
- Transfer the cashew mixture to a glass container, leaving the lid lightly on top (do not seal it completely) and store in a warm place, ideally in your kitchen, for 24 hours to ferment.
- Day 3: Divide the fermented cashew mixture into two smaller glass containers lined with cheesecloth. Press the mixture down firmly to eliminate air pockets.
- Store in a cool place (12-14°C / 53-57°F), ideally in a wine fridge.
- Day 4: Remove the cheese from the containers, take off the cheesecloth, and turn the cheese onto parchment paper.
- Sprinkle salt all over the cheese, ensuring it is evenly coated.
- Cover the cheese with larger glass bowls, ensuring that air can flow from underneath, and return to the wine fridge or the cool storage area.
- Days 4-7: Turn the cheese daily onto fresh parchment paper to maintain its texture.
- Day 7 or 8: Pierce the cheese with a thicker wooden skewer to create holes, allowing oxygen to reach the center, encouraging the blue mold to grow throughout the cheese, not just on the surface.
- Alternatively, crumble the cheese completely and then press it back into shape to ensure oxygen distribution.
- Days 8 toaround 12 or 15: Once the blue mold has fully developed around and inside the cheese, wrap the cheese in parchment paper, place it in a wooden cheese box, and then wrap it in a cloth bag.
- Transfer to a regular fridge to age for another 2-3 weeks or even several months, depending on your desired strength of flavour.
-
@ 4ba8e86d:89d32de4
2024-10-06 20:26:43O aplicativo é desenvolvido por uma comunidade de colaboradores e segue os princípios de código aberto, o que significa que o código-fonte do aplicativo é acessível e pode ser modificado por qualquer pessoa interessada em contribuir para o projeto.
O AntennaPod foi lançado pela primeira vez em 2012 como um projeto de código aberto desenvolvido por uma equipe de voluntários. A ideia por trás do aplicativo era criar uma alternativa livre e de código aberto para gerenciar e ouvir podcasts em dispositivos Android. O projeto inicialmente começou como uma bifurcação (fork) do projeto Podtrapper, um aplicativo de podcast para dispositivos BlackBerry. A equipe de desenvolvimento do AntennaPod adaptou o código do Podtrapper para o Android e adicionou novos recursos e funcionalidades. Ao longo dos anos, o AntennaPod passou por várias atualizações e melhorias, com contribuições de desenvolvedores de todo o mundo. A comunidade de código aberto em torno do AntennaPod cresceu e ajudou a moldar o aplicativo, fornecendo feedback, correções de bugs e novos recursos. O AntennaPod se tornasse uma opção flexível e personalizável para o gerenciamento de podcasts no Android. Ele foi projetado para suportar uma ampla variedade de formatos e servidores de podcast, oferecendo aos usuários a liberdade de escolher suas fontes de podcast favoritas. Ele permanece como uma opção popular para os entusiastas de podcasts que buscam uma solução livre e acessível para gerenciar e desfrutar de seu conteúdo de áudio favorito.
Aqui estão algumas das principais vantagens do AntennaPod:
-
Livre e de código aberto: O AntennaPod é um software de código aberto, o que significa que o seu código-fonte está disponível para visualização, modificação e contribuição pela comunidade de desenvolvedores. Isso proporciona transparência, segurança e a possibilidade de personalizar o aplicativo de acordo com as necessidades individuais.
-
Sem necessidade de login: Ao contrário de alguns outros aplicativos de podcast, o AntennaPod não requer um login para acessar e gerenciar seus podcasts. Isso oferece praticidade e privacidade aos usuários, pois não é necessário criar uma conta ou compartilhar informações pessoais.
-
Adição de podcasts via RSS: O AntennaPod permite que os usuários adicionem podcasts por meio de feeds RSS. Isso significa que você pode adicionar facilmente seus podcasts favoritos ao copiar e colar o link do feed RSS, sem a necessidade de procurar manualmente ou depender de uma biblioteca restrita.
-
Interface intuitiva: O aplicativo possui uma interface de usuário intuitiva e fácil de usar, com navegação simples e organizada. Isso torna a descoberta, a assinatura e a reprodução de podcasts uma experiência agradável e acessível para todos.
-
Reprodução offline: O AntennaPod permite que você faça o download de episódios de podcast para ouvir offline. Isso é especialmente útil quando você está em movimento, sem conexão à internet ou deseja economizar dados móveis. Você pode baixar seus episódios favoritos e ouvi-los em qualquer lugar, a qualquer momento.
-
Gerenciamento de listas de reprodução: O aplicativo oferece a opção de criar listas de reprodução personalizadas para organizar seus episódios de podcast. Isso permite que você crie uma sequência de reprodução personalizada, reorganize os episódios e gerencie melhor o que deseja ouvir.
-
Controles de reprodução avançados: O AntennaPod oferece uma variedade de recursos avançados de controle de reprodução, como avançar ou retroceder episódios, definir temporizadores de suspensão, pular partes silenciosas e ajustar o volume de reprodução.
-
Personalização de configurações: O aplicativo permite que você personalize várias configurações de acordo com suas preferências. Isso inclui ajustar a velocidade de reprodução dos episódios, configurar notificações, gerenciar downloads automáticos, definir limites de armazenamento e muito mais.
-
Suporte a diferentes idiomas: O AntennaPod suporta podcasts em vários idiomas, o que permite que os usuários descubram e desfrutem de conteúdos em seu idioma preferido.
-
Sincronização com serviços em nuvem: O AntennaPod oferece suporte à sincronização com serviços em nuvem, como o Nextcloud, permitindo que você sincronize seus podcasts e configurações entre vários dispositivos. Isso garante que você possa continuar de onde parou em diferentes dispositivos sem perder seu progresso.
Essas são algumas das principais vantagens do AntennaPod. O aplicativo continua sendo desenvolvido e aprimorado pela comunidade de código aberto, trazendo constantemente novos recursos e melhorias para tornar a experiência de audição de podcasts mais completa, personalizável e agradável para os usuários.
https://github.com/AntennaPod/AntennaPod
https://antennapod.org/
-
-
@ 472f440f:5669301e
2024-09-04 22:54:11For the last few months many people in bitcoin, myself included, have been focused on bitcoin's role as a macroeconomic asset. Bitcoin as a strategic reserve for the US government. Bitcoin as a strategic treasury asset for corporations. Bitcoin as a geopolitical hedge in a world that is trending toward a multi-polar power dynamic. This is where the focus has been. And for good reason. These trends will ultimately have a material effect on the price of bitcoin if they pick up steam.
However, with all of the focus on bitcoin as a strategic asset I think a couple of technical developments and trends have been overlooked. Particularly in the realm of second layer privacy. I'll touch on two of them in this letter; BOLT 12 invoices and the progression of ecash.
Yesterday afternoon the Strike (a company Ten31 is very proud to be backing) team released a blog post that detailed their journey to implementing BOLT 12 offers in their product stack. For those who are unaware of BOLT 12 and why it is important, in short, it is an upgrade to the lightning network that would make receiving bitcoin on the lightning network more private while also significantly improving the user experience. The current standard for invoicing people via the lightning network is BOLT 11, which forces users to create a unique invoice every time they want to receive bitcoin and comes with privacy tradeoffs for the party receiving bitcoin.
BOLT 12 brings with it route blinding which allows a receiver to publish a lightning offer to the network without revealing their node's public key. It also brings with it onion messaging, which allows users of the lightning network to communicate without a dependence on HTTP, which can be censored by a motivated state actor. On top of this, it enables users to create a static invoice that can be paid multiple times by multiple people. Think of a band putting their Venmo or Cash App QR code next to their tip jar on the stage. They'll be able to add a private lightning invoice their audience can pay to now.
https://strike.me/blog/bolt12-offers/
As it stands right now, Strike has only enabled BOLT 12 offers and there is work to do at the protocol layer of lightning and the different implementations of that protocol to get the full benefits of BOLT 12, but this is material progress that gets us closer to a significantly better user experience on the lightning network. If you read Strike's blog post you'll come to appreciate the collaboration between the teams working on these implementations and the companies implementing the protocol that is necessary to get these features live. Shout out to everyone who worked on this. Everyone who uses the lightning network will be better off when BOLT 12 is fully implemented.
Moving on. Earlier today the founder of the BTCPay Server open source project, Nicolas Dorier, published a blog post outlining his thoughts on how ecash has the potential to solve problems that many have tried to solve by launching their own blockchains in the past. The problem with trying to "blockchain the world" is that blockchains are very inefficient and only really work for one application; enabling a peer-to-peer digital cash system with no trusted third parties (i.e., bitcoin). However, the ultimate goals of the thousands of blockchain projects that spun up in bitcoin's wake are desirable. Cheap, private and instant transactions. The ability to trivially spin up private money tokens suited for very particular use cases. Overall great UX that makes it easy for people to realize the benefits of "blockchain technology".
The problem that has existed to date is that you don't need a blockchain for all of these things. In fact, having a blockchain for these things proves to be detrimental to their ultimate goals. Instead, what people really need is a protocol that gives you the granular control, privacy, instantaneous transactions and UX that anchors to bitcoin. This is exactly what Chaumian Mints bring to the bitcoin stack.
This is something that we've been screaming about for more than seven years in this rag. Now with ecash protocols like Cashu and Fedimint maturing, gaining traction and bringing products to market that highlight the power and flexibility of ecash systems, people are beginning to see the promise. It is only a matter of time before more and more people begin to realize this potential.
Another benefit of ecash protocols is the fact that they are siloed from each other. Ecash mints are permissionless; any one person or group of people can spin them up, offer their preferred services and maintain (or fail to maintain) their mints. The failure of one mint is not a systemic risk to other mints. This is very different from token projects that are spun up on blockchains. The last ten years have proven that individual token projects can prove to be systemic problems for individual blockchains (i.e., The DAO token on Ethereum). Being able to silo mints is the only way to ensure that the utility of ecash overall is actually scalable and robust.
Don't get so distracted by the bitcoin macro talk that you miss out on the incredible technical developments happening on top of and adjacent to bitcoin.
Final thought... Vibes are high.
-
@ e7211c22:e87afeee
2024-10-09 15:45:58Chef's notes
Originally from American Lamb Passport recipe booklet
Details
- ⏲️ Prep time: 30 minutes
- 🍳 Cook time: 20 minutes
- 🍽️ Servings: 4
Ingredients
- 1.5 lbs ground mutton or lamb
- 1/3 cup yellow onion, diced
- 3 cloves garlic, minced
- 1.5 tsp dried oregano
- kosher salt, to taste
- 3 chipotle chiles in adobo sauce, finely chopped, plus 3 Tbsp sauce
- 4 cups cabbage, finely shredded
- 1 bunch radishes, thinly sliced
- 1 cup fresh pineapple, diced
- 4 green onions, thinly sliced
- 1/3 cup fresh cilantro, coarsely chopped
- 1 lime, juiced
- corn tortillas, warmed for serving
Directions
- In large skillet, brown lamb, onion, garlic, oregano, and 1 tsp salt. Add 1/3 cup water, chipotle chiles, and adobe sauce and stir to combine, scraping up any bits from the bottom of skillet. Cook for 2-4 minutes or until liquid evaporates and sauce clings to the lamb.
- Toss cabbage, radishes, pineapple, green onion, and cilantro in a large bowl. Add lime juice and sprinkle with 1/2 tsp salt and toss to combine.
- Spoon meat onto warm tortillas and top with a generous heap of slaw. Serve with other toppings such as avacado, sour cream, queso fresco, or pickles jalepenos.
-
@ 8d34bd24:414be32b
2024-10-20 15:10:47Check out:
-
God Demonstrates His Power: Part 1 (Egypt)
-
God Defends His Honor: Part 2 (Phillistines)
-
The One True God: Part 3 (Who deserves worship)
In the Old Testament, God’s actions were primarily aimed at proving His existence, His power, and His holiness to Israel. He did many miracles before the Gentiles, but He definitely focused on His chosen people.
In the New Testament, God expands knowledge of Him starting with His chosen people. He also includes others in His promises and knowledge of Him. His miracles go beyond showing who He is. They go to the ultimate miracle — salvation from our sins.
Incarnation
Jesus was God from the beginning. He is “the Alpha and the Omega, the first and the last, the beginning and the end.” (Revelation 22:13) In the Gospels, the Bible tells us how the God and creator of the universe came down to earth and was born physically as a man — becoming the same flesh as His creation.
How an eternal, all-powerful being becomes a zygote in a woman’s womb and is born of a virgin is beyond what any of us can fully understand, but is one of God’s greatest miracles. This allowed our Creator to become our kinsmen redeemer and pay the price for our sins. This allowed our Creator to live a perfect, sinless human life, like we are unable to do, so He could become the ultimate once-for-all sacrifice for our sins.
Jesus’s incarnation, perfect life, and horrible death show us how much our Creator loves us and is willing to do to fix the relationship that we broke with Him.
Miracles
While Jesus lived a perfect life to show us how we should live, he also performed many miracles to show everyone that He was not just a man, but was also God. His miracles included1(footnote copied to bottom):
Physical Healings
-
Healing Peter's mother-in-law of a fever
-
Cleansing a man with leprosy
-
Healing a centurion's paralyzed servant
-
Healing a paralytic lowered through the roof
-
Healing a man's withered hand
-
Restoring sight to two blind men
-
Healing a deaf mute
-
Healing blind Bartimaeus
-
Healing the bleeding woman
-
Restoring a servant's severed ear
Exorcisms
-
Driving out an evil spirit in Capernaum
-
Healing a demon-possessed mute man
-
Casting demons into a herd of pigs
-
Healing the Syrophoenician woman's demon-possessed daughter
-
Healing a boy possessed by a spirit
Nature Miracles
-
Turning water into wine at the wedding in Cana
-
Calming the storm on the sea
-
Feeding the 5,000
-
Walking on water
-
Feeding the 4,000
-
Causing the fig tree to wither
-
Miraculous catch of fish
Raising the Dead
-
Raising the widow's son at Nain
-
Raising Jairus' daughter
-
Raising Lazarus from the dead
Other Miracles
-
Finding the coin in the fish's mouth
-
Jesus' resurrection
Jesus did so many amazing miracles that nobody should doubt that He is the incarnate God.
Of course the most miraculous of His miracles was taking our sins upon Himself, dying on the cross, and then rising from the dead on the third day to prove He had conquered death and sin. This miracle was not primarily for the Jews in Israel. The good news, of what God had done, was witnessed to everyone “in Jerusalem, and in all Judea and Samaria, and even to the remotest part of the earth.” (Acts 1:8b)
This miracle wasn’t just for Israel. It wasn’t just for Israel’s enemies. It wasn’t just for the Middle East. This miracle was for the whole world. His faithful followers have been copying His word (Bibles) to keep the details of what He has done for us alive. His word has been translated, so those around the globe can read it in their own language. His followers have left their homes to share the good news with those from foreign lands.
God did a miraculous work to change the hearts of those who trust in Him and those people having been sharing what God did for them for almost 2,000 years.
Some have heard the gospel and rejoiced. Some have heard the gospel and rejected it. Even worse, some have tried to stop the spread of the gospel, but God does not allow His word to be stopped.
So far in history, some have seen God’s power, trusted Him, and followed Him in obedience. Others have rejected Him and continued in their error to the point of even trying to destroy His followers. A time is coming when all will see who God really is and they will all fall down in awe, wonder, fear, and worship. Anyone who waits till the end will be rejected and miss the blessings that God worked so hard to orchestrate through history. I’ll share more about God’s final show of power in my next post.
Trust Jesus.\ \ your sister in Christ,
Christy
Bible verses are NASB (New American Standard Bible) 1995 edition unless otherwise stated
- I’ll admit I used perplexity.ai to list the miracles of Jesus to save time. I double checked the miracles listed from what I know of the Bible and it is accurate. I believe this link will give you all of the details and the links to the Bible references to the miracles. https://www.perplexity.ai/search/give-me-the-miracles-of-jesus-UGKDbkICTHKt96dn5.bkyQ\ I’ll admit I used perplexity.ai to list the miracles of Jesus to save time. I double checked the miracles listed from what I know of the Bible and it is accurate. I believe this link will give you all of the details and the links to the Bible references to the miracles. https://www.perplexity.ai/search/give-me-the-miracles-of-jesus-UGKDbkICTHKt96dn5.bkyQ
-
-
@ 361d3e1e:50bc10a8
2024-10-20 14:52:53https://forex-strategy.com/2024/10/20/why-wont-there-be-enough-food-very-soon-what-will-the-harvest-be-in-the-coming-years-and-what-will-the-sun-do/ Why won't there be enough food very soon? What will the harvest be in the coming years, and what will the Sun do? What do the Sun and your car's catalytic converter have in common? Are we on the brink of a global meltdown? Are there coming wars different from those in Ukraine and Israel?
food #foodcrisis #climatechange #climate #temperatures #war
-
@ 7f21affa:57e19174
2024-10-08 14:58:08Chef's notes
Oven at 400 degrees Fahrenheit for 20 mins
Refrigerate the dough for 2+ hours
Details
- ⏲️ Prep time: About 3-4 hours
- 🍳 Cook time: 20 mins
- 🍽️ Servings: 10
Ingredients
- 1 cup water
- 3 sticks of butter
- 2 3/4 cups of all purpose flour
- 2 tsp salt
- pinch of paprika/jalapeno powder (I use both)
- 2 tbsp oil
- 1 lb ground beef
- 1 medium diced onion
- 1 diced red/green bell pepper
- 1 cup peas
- 4 minced garlic cloves
- 1 tsp oregano
- 1 tsp salt
- 1/2 tsp paprika
- 1/2 tsp red flakes
- 1/2 tsp white pepper
- 1/2 tsp cumin
- 1/2 cup beef broth
- 2 tbsp tomato paste
- 1 diced white/russet potato
- 3 tbsp scallions
- 1 cup shredded cheese (mexican, fiesta, or cheddar)
- 1 egg
- 3 tbsp water
Directions
- In a pot, heat up 1 cup water with 3 sticks of butter (1 1/2 cups butter)
- In a bowl, add 2 3/4 cup all purpose flour, 2 tsp salt, & pinch of paprika/jalapeno powder.
- Once butter is melted in the pot, cool & transfer to the bowl.
- Mix then wrap dough in plastic.
- Refrigerate wrapped dough for 2+ hour till hardened.
- Heat up large pot on medium heat, then add 2 tbsp oil.
- Saute 1 lb ground beef
- Leaving the beef juice, then scoop up cooked beef into metal bowl for later
- Using the beef juice, saute diced yellow onion, diced bell pepper, 1 cup peas, 4 minced garlic cloves, 1 tsp oregano, 1 tsp salt, 1/2 tsp paprika, 1/2 tsp redflakes, 1/2 tsp white pepper & 1/2 tsp cumin
- Add 1/2 cup beef broth, 2 tbsp tomato paste
- Add the cooked beef & diced potato
- Lastly combine 3 tbsp scallions
- Turn on oven at 400 degrees Fahrenheit
- Once dough in fridge has hardened, take out
- Grab a golf ball sized piece of dough and start flattening with your hands
- Dough should be around 5-6 diameter circle
- Put about 2 tbsp of beef filling you made earlier & sprinkle with a little cheese
- Crimp edges with fork
- Brush the empanadas with egg wash (1 egg + 3 tbsp water mix) before putting in oven
- Bake for 20 mins & enjoy!
-
@ df478568:2a951e67
2024-10-20 14:49:52Portfolio
I run 72 services on three servers - Umbrel - Start9 - -PopOS! with a Cloudflare Tunnel This has given me experience in running my own cloud, ticketing system, full bitcoin node, decentralized blog, a meal management system, and Docker experience in both Linux and Portainer.
Umbrel Server.
I run an Umbrel Server and host many services on the clear-net using the Cloudflare tunnel.
Start9 Server
I also run a start9 Server with services also exposed to the clearnet and TOR
Bitcoin Node
I began running a full bitcoin node in 2019. I also run two pruned nodes. You can see the Genesis Block on my instance of mempool
.
Peppermint Ticketing System
You can submit a ticket on my ticketing system here
I wrote about it in my blog here. This service runs on a AMD computer with the PopOS! Operating system and cloudflare.
Mealie
This is my favorite service on Umbrel. It’s a meal management system that allows me to plan my meals and automate my grocery lists. It saves so much time. You can find [my instance of mealie here(https://mealie.marcleon.work/).
Self Hosted and Decentralized Blog
I host a ghost blog on Start9 here.
This blog is also published on nostr at:
npub.pro
https://marc26z.npub.pro/
habla.news/
https://habla.news/u/marc26z@nostrplebs.com/
Highlighter.com
https://highlighter.com/marc26z@nostrplebs.com
Portainer
I am currently working on a website using WordPress using Portainer on Umbrel.
It’s not done, but the idea is to create a website that allows me to help people learn how to take self custody of bitcoin, run nodes, and mine.
It is not finished, but the idea is to offer bitcoin IT services.
Tails On An Air Gapped Computer
I removed the Wi-Fi card and hard drive from an old laptop to create an air gapped computer using TAILS Click here to watch the video hosted on nostr.build.
Bitcoin Mining Heater
I converted an old S9 into a space heater. The 3D printed case was made by CryptoCloaks. The S9 miner was a gift from the first person I met after starting my meetup.
PeerViewer
This is free and open source software that can be found at https://github.com/PeerViewer/. - It’s like a free and open source version of RDP on Windows or TeamViewer on Linux.
Certifications
Google Technical Support Certificiate
Automate The Boring Stuff With Python
-
@ 1739d937:3e3136ef
2024-09-04 07:23:12This is the sixth in a series of weekly(ish) updates detailing progress on bringing MLS protocol DMs and group messaging to Nostr.
Previous Updates
Progress this week
Sorry about the very late update this week. Catching up on everything after a week in Riga for Nostriga and Baltic Honeybadger took a bunch of time, every other moment was spent coding. 👨💻
The response at Nostriga to NIP-104 and my two talks on the subject were overwhelmingly positive. It was very helpful to spend time with other devs going through the spec in detail. We found a few minor improvements and clarifications but no major issues surfaced. Thanks to nostr:npub1v0lxxxxutpvrelsksy8cdhgfux9l6a42hsj2qzquu2zk7vc9qnkszrqj49, nostr:npub1lunaq893u4hmtpvqxpk8hfmtkqmm7ggutdtnc4hyuux2skr4ttcqr827lj, and nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr in particular for the lengthly interrogations and nostr:npub1wmr34t36fy03m8hvgl96zl3znndyzyaqhwmwdtshwmtkg03fetaqhjg240 for the introductions.
Last week, I started work on a reference implementation of the spec. It's still early but going quickly.
My PR adding support for secp256k1 was also merged into the hpke-rs library yesterday. That's one more step in the right direction towards having secp256k1 ciphersuite support.
The NIP
If you haven't already, check out my talk; The Past and Future of DMs and Group messaging on Nostr. This was a basic overview of the various DM and group messaging schemes and talks a little about the progress on NIP-104. I believe there is a recording of the technical talk on the spec but it hasn't yet been released. I'll link it up when it is.
At this point I've been discouraging anyone from trying to implement the NIP quite yet. As I mentioned above there are a few adjustments that need to be made and a few open questions that I'm working on answering with my implementation (which I'm very happy to have contributors on). My plan at the moment is to do this first implementation with the default ciphersuite that MLS already supports while I continue to work on the dependencies to get secp256k1 support across the board.
The Implementation
I've started on a cross-platform native client that will run on Mac, Windows, Linux, iOS, and Android. Think of it as Signal or Telegram but over Nostr. I hope that this will not only become the reference implementation for other client developers but also will be one of the most secure and privacy focused clients in the Nostr ecosystem. Building it has already been helpful in clarifying some of the more complex implementation details in the NIP. It's still early but I'll have more to share on this in the coming weeks.
HPKE-RS
My PR to add support for secp256k1 is merged!
Onward and Upward
Thanks again to everyone for the support and feedback on this stuff at Nostriga. It was hugely motivating to hear the kind words, have you introducing me to people that could help, and spending time giving me feedback! This community is the best. 🫂
-
@ 9e69e420:d12360c2
2024-10-20 13:09:52Corruption and Insider Trading in Congress
Congressional corruption and insider trading have been significant issues in recent years, with numerous lawmakers facing allegations and legal consequences for unethical financial practices. Here's an overview of the key aspects:
STOCK Act Violations
The Stop Trading on Congressional Knowledge (STOCK) Act of 2012 was designed to prevent insider trading and conflicts of interest among members of Congress. However, violations of this law have been widespread:
- At least 78 members of Congress have violated the STOCK Act by failing to properly report their financial trades.
- Excuses for these violations range from oversights and clerical errors to inattentive accountants.
- The penalties for violating the STOCK Act are relatively minor, starting with a $200 late fee for first-time offenders.
Recent High-Profile Cases
Several prominent lawmakers have faced serious allegations of corruption and insider trading:
Senator Bob Menendez
- Found guilty on all counts in a bribery trial in July 2024.
- Convicted of accepting bribes to benefit businessmen and the governments of Egypt and Qatar.
- Faced 16 charges, including bribery, obstruction of justice, and acting as a foreign agent.
Representative Henry Cuellar
- Indicted in May 2024 on charges of accepting almost $600,000 in bribes from Azerbaijan and a Mexican bank.
- Accused of pushing U.S. policy in favor of Azerbaijan in exchange for payments.
- Charges include bribery, money laundering, and working on behalf of a foreign government.
Ongoing Issues and Reform Efforts
-
Widespread nature of the problem: The corruption issue extends beyond a few isolated cases, with numerous lawmakers from both parties implicated in unethical practices.
-
Lack of enforcement: The House Ethics Committee has been criticized for ineffective oversight, with a 2022 analysis finding that it only publicly investigated 8 out of 60 potential STOCK Act violations since 2020.
-
Calls for reform: There have been bipartisan efforts to ban members of Congress from trading individual stocks, but these proposals have not yet been enacted into law.
-
Public opinion: The issue of congressional stock trading has received significant public interest, with polls showing overwhelming support for reform.
-
Resistance to change: Some lawmakers, such as former House Speaker Nancy Pelosi, have opposed reforms that would limit their ability to trade stocks.
The ongoing issues of corruption and insider trading in Congress highlight the need for stronger ethics rules, better enforcement mechanisms, and increased transparency in the financial dealings of elected officials. As public scrutiny intensifies, pressure continues to mount for meaningful reform to address these longstanding problems.
-
@ af9c48b7:a3f7aaf4
2024-10-07 17:05:37Chef's notes
This recipe originates from Meat Church BBQ. It's simple to make and tastes great if you like spicy food. While this recipe is for chicken, I feel that it would be just as good on skirt steak or other poultry.
Details
- ⏲️ Prep time: 25 minutes
- 🍳 Cook time: 20 minutes
- 🍽️ Servings: 8-10
Ingredients
- 8-10 Chicken Thighs ( Boneless Skinless)
- 26 oz Can Pickled Jalapeno Peppers (La Costena Brand Whole Jalapenos Recommended)
- 1 Stick Unsalted Butter
- 8oz Bottle Cholula Hot Sauce
- Fajita Seasoning (Meat Church Dai De La Fajita Seasoning Recommended)
- 8 Slices of Cheese (Cheddar, Pepper Jack, Whatever You Like... recommend Colby PepperJack)
Directions
- Combine boneless skinless chicken thighs in a ziplock back with the entire can of pickled jalapeno peppers. Marinate for up to 24 hours based on desired spicyness.
- Once marinate time has ended, remove chicken thighs and pat dry. Season both sides of chicken with the fajita seasoning and allow 15 minutes to adhere. Save the jalapeno peppers for grilling.
- While the meat rests, melt one stick of unsalted butter and mix with the 8oz of Cholula Hot Sauce.
- Cook the chicken on a hot grill, turning and basting the chicken regularly. This will insure a good char and ensure they chicken cooks evenly. Cook the chicken until the internal tempurature reaches 165.
- Place cheese over each piece of chicken and melt thoroughly. Remove chicken and grilled jalapenos from the grill.
- This dish pairs well with a toasted bun and mayo if desired, or as a stand alone main dish.
-
@ 6ff0b3a6:ca85496b
2024-10-03 02:09:04Chef's notes
Carnivore or ketogenic diet need the right protein at home and anywhere: this grass fed and finished beef chips are dry and easy to enjoy anywhere
Details
- ⏲️ Prep time: 10 minutes
- 🍳 Cook time: 6 to 7 hours
Ingredients
- Grass fed and finished hotpot/veneer/sluces 1 to 1.5mm thick
- For dry meat use Bnis round slices for hotpot and with more fat use brisket slices
Directions
- Dry heat as long as possible as low temperature as possible
- I dry for 6-7 hours @55 deg cel =130 deg F.
- At the same time you can also prepare your carpaccio plate and let them freeze in the freezer or on the fridge as you prefer…
- After 7 hours, place into glass recipient or surround airy food grade rope to make a unit and store on the fridge
- Salt can be added before the drying or after
-
@ e0e92e54:d630dfaa
2024-09-04 04:13:19This is a copy of the email received from newsletter@Rumble.com
Free Speech Under Attack -- A Note from the CEO of Rumble
Dear Rumble Users,
I don't typically send messages to our users through email, but red lines have been crossed. There have been major developments with free speech platforms, and I feel it’s important to let everyone know what is going on and how you can help Rumble.
Rumble is no longer available to the citizens of Brazil, joining the ranks of France, Russia, and China. From media reports, Brazil no longer has Elon Musk's X due to attacks on free speech by Alexandre De Moreas, a justice of Brazil's Supreme Federal Court.
World powers don’t want Rumble, they don’t want X, they don’t want Telegram, and they don't want Truth Social. They want to control information, but our companies won’t let them.
There are no other large companies fighting for freedom like we are. We put everything on the line for it, and the Telegram CEO was recently arrested for it.
Advertisers boycott our companies to try and cut our economic lifeline, but they underestimate our support among the people.
The people keep us alive and keep us going.
If you want to help us, join Rumble Premium. If Rumble Premium gets big enough, you help us change the game and fight for freedom of expression.
We are also offering a $10 dicount for any new annual subscribers when they use the promo code "brazil".
Sincerely,
Chris Pavlovski Chairman and CEO of Rumble
444 Gulf of Mexico Dr. Longboat Key, FL 34228, USA.
-
@ de75eb1d:710c3014
2024-10-02 15:31:57Chef's notes
A tangy, crunchy mustard pickle for cheese sandwiches that can be made with a range of seasonal veg - especially good for preserving homegrown 'wonky' produce as everything gets chopped small and hidden in the bright yellow sauce!
Details
- ⏲️ Prep time: 20 mins + overnight
- 🍳 Cook time: 20 mins
- 🍽️ Servings: Makes approx 2kg (x7 280g jars)
Ingredients
- 500g Cauliflower
- 150g Onion
- 1kg Mixed Vegetables (such as green beans, carrot, courgette, beetroot, radish)
- 750ml White Vinegar
- 1tbsp Mustard Seeds
- 50g Mustard Powder (or 200g Jar English Mustard)
- 1tbsp Turmeric Powder
- 200g Sugar or Honey
- 2tbsp Cornflour
- 1/2tbsp Crushed Dried Chilli (optional)
Directions
- Dice all the vegetables into small bite sized pieces, cover with the salt and leave overnight
- Rinse thoroughly to remove the salt and gently squeeze out as much water as possible
- To make the sauce mix all the other ingredients with a small amount of vinegar, stir into the vegetables then top-up with the rest of the vinegar
- Briefly cook the mixture until the vegetables are just soft, approx 20 mins
- Transfer whilst hot into sterilised jars, leave to mature for 6 weeks before opening
-
@ 3eab247c:1d80aeed
2024-10-02 08:58:39Merchant Comments
I extracted about 900 valuable comments from our verification reports and I exposed them via BTC Map sync API. Comments turned out to be extremely valuable since they often add important context to certain Bitcoin merchants. The next steps are client app support and automating new comments.
Feed Reader Support
Some people are only interested in new places or comments in their areas, so they don’t want to install our apps and check them all the time. BTC Map data is open, and we never intended to lock users in, that’s why I created a few experimental Atom data feeds. Let’s say you want to get notified of new places and comments in the Netherlands, so now you can just add the following feeds to your feed reader of choice:
https://api.btcmap.org/feeds/new-places/nl
https://api.btcmap.org/feeds/new-comments/nl
Of course, you can mix and match any number of BTC Map areas, communities and countries alike. Web feed links are always available on our website, in area activity section.
RPC Interface
Most of our administrative tasks are now centralized, which means that processing new change requests might take a long time, depending on how busy we are. This model can’t scale, that’s why we’re building an admin API, alongside GUI and CLI tools which can be used to simplify access to many local administrative tasks. There is no ETA on that, but I think we’ll be able to delegate most tasks to local community managers pretty soon.
Trending Countries
- Netherlands - 190 events and comments
- Italy - 173 events and comments
- Germany - 169 events and comments
- Spain - 101 events and comments
- Portugal - 98 events and comments
- El Salvador - 95 events and comments
- United Kingdom - 83 events and comments
- Brazil - 78 events and comments
- Switzerland - 77 events and comments
- Czechia - 74 events and comments
Many merchants in the Netherlands were re-verified by Comino, which shows that a single maintainer can keep the whole country up to date. Having a single maintainer per country would allow us to keep the whole world up to date, so if your country has some old and outdated merchants, we need your help!
Italian re-verification effort can mostly be attributed to mpbin. This user not only re-verified many existing places but also added some missing general tags such as contact details and so on. Those tags are extremely valuable, so even if your area is up-to-date, you might want to check if you have enough contact details for every merchant. This account apparently belongs to Bitcoin Italia Network, and it looks like they’re taking ownership over the whole region.
Germany’s data was enhanced by many different accounts, but 65% of German locations are still outdated, so this country needs more love from local editors. Spain continues to be in a good shape, thanks to descubrebitcoin efforts, and Portugal data quality continues to improve, thanks to Sxajne.
Big thanks to Rockedf for contributing to almost every region!
Trending Communities
- Satoshi Spritz - 176 events and comments
- Einundzwanzig Deutschlan - 169 events and comments
- Einundzwanzig Portugal - 98 events and comments
- Einundzwanzig Schweiz - 78 events and comments
- Bitcoin Association Switzerland - 77 events and comments
- Dezentralschweiz - 77 events and comments
- Bitcoin Berlin - El Salvador - 60 events and comments
- Free Madeira - 51 events and comments
- Berlin 2140 - 48 events and comments
- Einundzwanzig Berlin - 48 events and comments
Global Metrics
The number of verified merchants has dropped from 6,867 to 6,734 (-2%), which means that we’re struggling to keep more than 5-7 thousands of places up-to-date, and we need more contributors who can re-verify outdated merchants.
The total number of merchants has increased from 11,685 to 11,833 (+1.3%), which is in line with our long-term trend. The stream of new merchants has no signs of tapering, we’re just struggling to maintain the old ones in certain regions.
The average number of days since the last verification has increased from 323 to 340 (+5.3%), which means that our data is now significantly less reliable than it was a month ago. This is yet another confirmation that our main bottleneck is the lack of local maintainers.
Conclusion
Our main issue is growing number of outdated locations, and getting more maintainers can take some time. It’s not the only way to improve BTC Map though, so we can focus on highlighting the best quality merchants, which I’m intending to be busy with during October. I have a few ideas on using different quality signals, and it might make sense to simply mark or hide outdated or unreliable merchants.
The best way to help us is to re-verify some outdated locations in your area, if you have any:
-
@ 9e69e420:d12360c2
2024-10-20 12:49:07The Growing Threat to Free Speech on Social Media
In a recent CNN interview, Hillary Clinton made alarming statements about the need for social media companies to moderate content, warning that without such measures, "we lose total control"[1]. This rhetoric is part of a broader push by some Democrats to increase censorship and control over online platforms under the guise of combating misinformation.
Clinton's comments went beyond mere content moderation, as she advocated for the repeal of Section 230, a crucial provision that protects online platforms from liability for user-posted content[1]. This move would fundamentally alter the landscape of free speech on the internet, potentially forcing platforms to aggressively censor user content to avoid legal repercussions.
The former Secretary of State even suggested that Americans could face civil or criminal charges for certain social media posts[2]. While she specifically referred to those allegedly paid by foreign agents to spread propaganda, such a precedent could easily be abused to target political dissent or unpopular opinions. This approach stands in stark contrast to the principles of free speech enshrined in the First Amendment.
Clinton's statements are not isolated incidents. Other prominent Democrats, including Vice President Kamala Harris, have also expressed support for weakening Section 230 and increasing government control over online speech[6]. This trend suggests a coordinated effort to reshape the digital public square in ways that could severely limit free expression and open debate.
As we approach the 2024 election, it is crucial to remain vigilant against attempts to stifle free speech under the pretext of fighting misinformation. While addressing genuine foreign interference and harmful content is important, we must be wary of solutions that grant excessive power to government or tech companies to determine what constitutes acceptable speech online.
Sauce: I am the sauce. But I also would credit:
[1] Hillary Clinton says social media companies must moderate content ... https://www.hindustantimes.com/world-news/us-news/hillary-clinton-says-social-media-companies-must-moderate-content-or-we-lose-total-control-ripped-by-tulsi-gabbard-101728181956987.html [2] Fact check: Did Clinton call for jail over misinformation? - DW https://www.dw.com/en/fact-check-did-clinton-call-for-jail-over-misinformation/a-70279863 ncy ... https://oversight.house.gov/release/mace-calls-on-biden-harris-administration-to-provide-transparency-on-current-censorship-efforts-to-interfere-in-the-2024-election/ [4] Hillary Clinton Discusses Civil or Criminal Penalties for ... - YouTube https://www.youtube.com/watch?v=zA1VBCeJV3A [5] Claims That Social Media Endangers Democracy Are Mostly ... https://itif.org/publications/2023/09/05/claims-that-social-media-endangers-democracy-are-mostly-misinformation/ [6] Hillary Clinton Wants To Repeal Section 230 - Reason Magazine https://reason.com/2024/10/07/hillary-clinton-wants-to-repeal-section-230/ [7] Hillary Clinton warns that allowing free speech on social media ... https://nypost.com/2024/10/06/us-news/hillary-clinton-warns-that-allowing-free-speech-on-social-media-means-we-lose-control/
-
@ 3b7fc823:e194354f
2024-09-04 00:26:48Encryption is the promethium fire that the cypherpunks secured from heaven for me and you. It is our sacred duty to use and advance that in the world. Encryption is so powerful that governments tried to keep it away from the people and to this day have tried to weaken and backdoor it at every turn.
So what is encryption?
It is a deep deep rabbit hole and involves a lot of numbers but in a nutshell it uses math to scramble up the data of your file so it is gibberish and can't be read without decrypting it back to regular data. Encryption technology has continued to advance over time and cracking technology to break the encryption has as well. For our purposes all you really need to remember is to use modern cyphers and your encryption is really only going to be as good as the password (use a passphrase) strength you are using to lock it down with.
BEGINNER LEVEL - Encrypt your phone and computer.
People walk around with their whole lives on their phone. Protect it.
-phone: Congratulations, if you already have a lock screen set on either your iPhone or Android device then device encryption is enabled. If your lock screen password is only 4 digits then we still have work to do. Four digits is only about 10,000 combinations and fairly easy to crack. I believe it only took them about 40 minutes to crack the iPhone of the attempted Trump shooter. Go into settings and set it up for 6 digits or for extra credit use a alphanumeric password.
After your phone then your personal computer probably has the most important data to you. Banking records, tax documents, photos, etc. Encrypt your drive.
-Windows: from Settings, select Privacy security -> Device encryption. Just follow the prompts.
-Apple: from Apple icon, select System Preferences -> Security & Privacy icon. Click "Turn On FileVault".
-Linux: most distros gives you the option during installation. If you didn't do so then search for how to enable it after the fact based on your distribution.
Awesome sauce. You have achieved minimum status.
ADVANCED LEVEL - Encrypt individual files.
You already encrypted your computer but guess what, once you start up your computer and log in the key is stored in RAM for as long as it stays on. The beginner level encryption protects your computer when it is off and it means no one can just steal your hard drive and access your files. This is good, but what if someone grabs you while you're sitting there working on it? What if you leave it in sleep mode and not turned off? Then that whole disk encryption is not really going to help you.
What if you had individual files that you consider more secret than the others? That finance spreadsheet or that special pic your spouse sent you? That's where individual file encryption comes in. You are just scrolling nostr when they grab you, your computer is on, and unlocked, but those special files are still safely encrypted.
I will share with you one of my favorite small programs: Picocrypt.
Download the Paranoid pack and store it in multiple drives, email accounts, and cloud storage. That way you will always have a copy to decrypt any files that you stored away.
Use it to encrypt any files that you feel need extra attention. It is also very useful for encrypting any files that you intend to store online in cloud storage. You do encrypt your files that are stored online don't you? Yes, even with the company that offers "encrypted" storage. Don't trust their encryption, use your own.
EXPERT LEVEL - Encrypt containers and hidden containers.
What if you want to encrypt several files and keep them all together in like a folder or container? That's where Veracrypt comes in. Free, open source, cross platform, and powerful.
Veracrypt allows you to create encrypted containers from any file that act like individual drives that can be mounted or unmounted as needed. You can name these files anything that you want, move them around or delete like any file, and make as many as you want. This allows you to have compartmentation of your files and drives.
Next trick, Veracrypt allows you to create a hidden container inside that container. Enter one passphrase and you open the encrypted container. Enter a different passphrase and you open a different hidden container.
This allows deniability. When they grab you and start pulling your fingernails off until you tell them the password to open the encrypted container, give it to them. They don't have to know that there is another hidden one under that.
These features allow you to do all sorts of interesting things only limited by your need and imagination.
What if you have a container named as some random config file in your /etc folder? What if you just encrypted a removable storage drive? What if you have multiple hard drives on your computer that have multiple containers and hidden containers? What if you have a hidden container that can only be accessed from booting up in a amnesiac OS like Tails leaving no trace that the files exist or trail that they were ever accessed? Go crazy, have fun.
NEMO - Failsafe
Nemo has no files, encrypted or otherwise. If they did you couldn't prove it. Nemo does use something like Tails that retains no memory from boot to boot.
Nemo also uses a failsafe. A simple lanyard attached to the flashdrive running the OS and the other end around their wrist while they work. When you try to separate them from the computer the flashdrive pulls out and everything is gone.
Using these programs you can create a layered and compartmentlized approach to your encryption scheme. There are also plenty of other encryption programs to check out such as Cryptomator, AES Crypt, etc
Last point and most important: Encryption is only as good as the passphrase you use to lock it down. Use a shitty password and it doesn't matter how uncrackable your encryption is.
-
@ c69b71dc:426ba763
2024-09-28 16:22:05Chef's notes
This soup is a beautiful combination of simplicity, flavor, and nourishment. Quick to make, it delivers a fresh, slightly sweet taste that’s rich in nutrients. I've added avocado oil, pine nuts, sprouted buckwheat and millet, and a few herbs for the decoration. Feel free to experiment with different herbs, sprouts, seeds etc. making it a delightful and wholesome dish 💚
Details
- ⏲️ Prep time: 5 min.
- 🍳 Cook time: 0
- 🍽️ Servings: 2
Ingredients
- 1 cup raw fennel (medium-sized) cut into peaces
- 1 small-medium apple cut into pieces
- 1 cup water, kefir, or rejuvelac
- 1 tbsp nutritional yeast
- 1 tbsp (preferable raw) almond butter
- 1/2 tsp salt or herbal salt
- 1 tbsp Nama Tamari
- 1 tbsp avocado oil (or sesame seed oil)
- 1 pinch of nutmeg (about a knife’s tip)
Directions
- Add all ingredients to a blender: fennel, apple, water (or kefir/rejuvelac), nutritional yeast, almond butter, salt, Nama Tamari, avocado oil, and nutmeg.
- Blend until smooth and creamy.
- Pour into two bowls and garnish with pine nuts, sprouted buckwheat, sprouted brown millet or any other sprouts, and fresh herbs as desired.
-
@ de75eb1d:710c3014
2024-10-20 12:15:24What is Nostr?
- Decentralised/multihosted data publishing protocol; that’s it.
Notes (‘tweets’, blogs, web pages, DMs etc) and
Other (calendar events, map data, payments, computer game moves)
Stuff
Transmitted (hosted/stored) by
Relays (servers)
Other data sharing protocols: TCP, FTP, SMTP, HTTP
NB. Nostr relays transmit only text based data - not FILES. Images/video/audio etc are linked to via http
Protocol: a standardised set of rules for formatting and processing data. Protocols enable computers to communicate with one another.
🥱 Why’s it so great then?
-
Easy for nerds to build on (vs activity pub for example) and is growing very quickly (was only launched in 2020)
-
Cryptographic key pairs replace user accounts
-
Cross platform - use your keys to post and read notes in any client
-
Much harder to censor multiple copies of information; impossible if using selfhosted relay
-
Can be completely anonymous - no KYC, keys can even be generated offline
-
Bitcoin lightning integration through ‘zaps’
-
Anyone with a key pair can post notes, anyone can run a relay, ‘anyone’ can build a client
How to Nostr;
- Generate a fresh set of keys by clicking 'Sign Up' / 'Create Account' in any nostr client
- Get zappable - input your lightning address
- Write an #introductions post, get zapped
ok, ok I'm joking; here are the stepz
Getting started on Coracle.Social, my favourite microblogging web client
First up visit https://coracle.social/login and click 'Sign up' to generate a set of fresh keys.
The account creation process will walk you through inputting basic profile information, all of which is ENTIRELY optional. The only thing you need to interact with the nostr network are key pairs (you can make an unlimited amount of these). Coracle helps you out with finding a few accounts to follow based on interest, so you don't need to start with an empty feed.
Next & very important if you wish to keep this account is to backup your keys. Just like with Bitcoin you will lose access forever if you do not store the private key (nsec) somewhere safe, like a password manager or nostr login extension (nos2x, Alby, flamingo).
Click on the circle bottom left (profile pic if you uploaded one) and select 'Keys'. Clicking the little copy icon will bring up a box with the option to encode your private key with a password, you can then save the nsec string.
With your nsec in your pocket you can now go and play with any app in the Nostrverse and all of your data will follow you! *in theory 🤪
wanna get paid for posting pictures of your dog?
'Lightning Address' is the field to look out for, in Coracle this can be found under Profile and clicking edit from the three dot menu
Many wallets such as WoS, Breez, Minibits (Ecash), Zeus, Phoenix & Alby will provide you with a static lightning address, paste this into the box to receive sats from the get go.
Finding stuff to read
At the top of the 'Feed' page on Coracle is a Filters(|) button which brings up a yugge range of options
Anatomy of a Nostr "post"
{ "id": "4376c65d2f232afbe9b882a35baa4f6fe8667c4e684749af565f981833ed6a65",
"pubkey": "6e468422dfb74a5738702a8823b9b28168abab8655faacb6853cd0ee15deee93",
"created_at": 1673347337,
"kind": 1,
"content": "Walled gardens became prisons, and nostr is the first step towards tearing down the prison walls.", "tags": [ ["e", "3da979448d9ba263864c4d6f14984c423a3838364ec255f03c7904b1ae77f206"], ["p", "bf2376e17ba4ec269d10fcc996a4746b451152be9031fa48e74553dde5526bce"]
], "sig": "908a15e46fb4d8675bab026fc230a0e3542bfade63da02d542fb78b2a8513fcd0092619a2c8c1221e581946e0191f2af505dfdf8657a414dbca329186f009262" }Let's break that down - id: a unique number for each event allowing for referencing - pubkey: the author's unique public key (npub in hex format) - created_at: time stamp - kind: the type of content (known as an event), in this case a simple text note - content: the note - tags: this note references another event (it is a reply), and the op's npub - sig: verification code proving this note has been signed by the author's private key
The note displayed in Primal:
Get zapping - Primal inbuilt (email kyc, not available in certain location - choose El Salvador?), https://www.zapplepay.com/ or Alby Hub (self hosted)
Options for generating own keys: https://nip06.jaonoctus.dev/ - BIP39 https://gist.github.com/kdmukai/ae9911ed6fb92f8e7d2c553555b0cb86 - via seedsigner (we can dream) https://github.com/guilhermegps/secret-border https://www.nostr.rest/- vanity key mining
Nostr client examples:
-
Damus, Amethyst, Primal, Snort, Iris - Twitter like
-
Corale.social snort.social iris.to satellite.earth Nostrudel- web clients for computer browsers
-
Habla News https://yakihonne.com/- Long-form content (like this doc)
-
Flockstr, inmytown - Calendars
-
Fountain - Podcasts
-
Wavlake - Music
-
Tunestr - music live streaming for zaps
-
footstr.com - feet
-
cornychat.com nostrnests.com/ live audio rooms
-
Zap.stream - more live stuff
-
Shopstr, Plebeian.Market cypher.space - p2p buying/selling
-
Stacker.news, Oddbean - Forums
-
Yondar - Maps
-
Jester - Play chess jesterui.github.io/
-
lazereyes - Save your lens prescription on nostr:
-
Zap.cooking - recipes
-
Shipyard.pub - note scheduler
-
npub.pro - your notes as a website
-
Njump.me - profile preview tool with client chooser, makes easily shareable webpage using lightning address
-
mostro - p2p bitcoin exchange
- Pinstr - Create customized public boards of pins
- Listr - edit your lists (mute/bookmarks/follows etc
NIPs:
-
NIP-05: Mapping Nostr keys to DNS-based internet identifiers
-
NIP-08: Handling Mentions --- unrecommended: deprecated in favor of NIP-27
-
NIP-10: Conventions for clients' use of e and p tags in text events
Nostr Vs Mastodon/Twitter/Threads/Bluesky
Discoverability/finding people to follow/algos
Privacy/self-custody
It’s Shit and doesn’t work but I will die on this hill
Other rabbit holes:
-
DVM, data vending machines
-
Web of Trust
-
Outbox model
--------> https://zapper.nostrapps.org/ <----------
Some popular Nostriches to follow (import into Listr):
Handy nostr tools:
https://advancednostrsearch.vercel.app https://nostr.build/upload.php meme uploader https://zaplife.lol/ who zapped who https://zap.store/download - permissionless app store validated by the web of trust https://decenchat.com/ - embeddable nostr live chat widget for website https://highlighter.com/ - Tool to quote articles
-
@ 01d0bbf9:91130d4c
2024-09-26 17:58:10Chef's notes
Amazingly tangy, firey hot, but still mellow and bright.
I use this on everything– Use it to dress salads, dip (honey mustard) for fried chicken, elevate your taco nights, heck a spoonful first thing in the morning will wake you up better than coffee!
Don't forget to use up those delicious chilis and garlic, they are so good!
Details
- ⏲️ Prep time: 20 min
- 🍳 Cook time: 1-2 weeks
- 🍽️ Servings: (12x) 8oz jars
Ingredients
- 16oz fresh chili peppers
- 8oz red onion
- 8oz garlic
- 96oz honey
- Fresh thyme
Directions
- Thinly slice peppers, garlic, shallots and fresh thyme
- Add chopped ingredients to the honey
- Leave to ferment (loosely covered) for 1-2 weeks
- Drizzle that amazing pungent firey gold liquid over EVERYTHING. (Don't forget to use up those amazing chilis and garlic too.)
-
@ 599f67f7:21fb3ea9
2024-10-20 11:28:08LNDhub te permite importar fácilmente una billetera en aplicaciones compatibles. Si bien puedes guardar tu billetera Bitcoin Txoko LNbits en tu teléfono como una aplicación web progresiva (PWA), una aplicación nativa como Zeus o BlueWallet ofrece una mejor experiencia de usuario así como un mayor nivel de seguridad. Con Alby, también puedes importar la billetera a la extensión de tu navegador para facilitar los pagos Lightning en la web y para los zaps de Nostr. Por suerte para nosotros, todas estas billeteras hablan un lenguaje común llamado LNDhub.
En esta guía cubriremos cómo importar la billetera a tu navegador y a tu móvil. Si quieres usar tu billetera tanto en el navegador como en tu móvil, empieza con la configuración de Alby, ya que uno de los pasos te permitirá importar fácilmente tu billetera también a Zeus. Pero si sólo te interesa utilizar la billetera en tu móvil, puedes pasar directamente a la sección de Zeus.
Alby
nostr:nprofile1qqsyv47lazt9h6ycp2fsw270khje5egjgsrdkrupjg27u796g7f5k0s8jq7y6 es una extensión de navegador que lleva Lightning y Nostr a tu navegador. Utilizando el protocolo WebLN, esta extensión puede detectar facturas LN en paginas web y pagarlas, así como posibilita iniciar sesión en sitios web con Lightning. También puedes fijar presupuestos para tus sitios favoritos de Lightning. Por otro lado también puedes utilizarla para firmar en Nostr utilizando NIP-07, lo cual es mucho más seguro que ingresar tu clave privada en clientes web.
¿Qué necesito?
- Un navegador web que soporte extensiones Chrome o Firefox
- Acceso a tu billetera LNbits. Si todavía no tienes una billetera LNbits, dirígete a nuestra página de billeteras y crea una
- (Opcional) Un dispositivo móvil para configurar Zeus
1. Habilita la extensión LNDhub en tu LNbits wallet
Dirígete a tu billetera LNbits. Haz clic en
Extensiones
y habilita la extensiónLNDhub
. Una vez se haya habilitado, dirígete a la página de extensión de LNDhub.2. Instala la extensión Alby
Dirígete a getalby.com y instala la extensión desde el store de extensiones del navegador. Configura tu contraseña de desbloqueo y guárdala en un lugar seguro.
3. Importar a Alby
(Esta es una billetera de prueba. No hay fondos en ella. ¡No muestres a nadie tu URI de exportación real!)
En la siguiente pantalla, elige
Conectar
y luego eligeLNDhub
. Vuelve a tu extensión LNDhub y copia la URL de conexión. Pégala en el campoURI de exportación de LNDhub
. Pulsa continuar. ¡Ahora deberías haber estado conectado a tu billetera de LNbits con LNDhub!💡 Puedes elegir entre la URL de la factura (Invoice URL) y la URL de administración (Admin URL). Le dan a Alby diferentes permisos para interactuar con tu cartera de LNbits.
- La URL de factura te permite crear facturas y recibir pagos
- La URL de administración también te permite enviar pagos
4. Configurar Zeus con Alby (opcional)
Ahora que ya has conectado tu LNbits con Alby, también puedes importarlo de una manera sencilla a Zeus con Alby. Abre la extensión, haz cilc en el nombre de tu billetera y navega a la configuración de la cuenta. En
Wallet Settings
>General
se encuentra la opción de conectar tu billetera móvil. Al pulsar conectar, se mostrará un código QR para escanear desde Zeus.Si no tienes instalada Zeus con anterioridad, dirígete a zeusln.app y descarga la aplicación de Zeus para tu sistema operativo móvil.
Una vez tengas descargado Zeus, entra en
Configuración
>Añadir un nuevo nodo
. Aquí puedes escanear el código QR que te muestra Alby para importar la billetera.Voilà! Ahora tienes el poder de Lightning al alcance de la mano ¿Ya te sientes como un dios?
Zeus
nostr:nprofile1qqsrf5h4ya83jk8u6t9jgc76h6kalz3plp9vusjpm2ygqgalqhxgp9g84ctjf es una formidable aplicación de código abierto que permite conectar tu propio nodo a tu dispositivo movil. Es compatible con todas las principales implementaciones de nodos Lightning, como LND, CLN y Eclair, así como conexiones a través de Tor y clearnet. Recientemente también han anunciado su propio LSP (Lightning Service Provider).
¿Qué necesito?
- Teléfono Android o iOS
- Otro dispositivo en el que puede acceder a tu billetera LNbits (para mostrar el código QR para escanear)
- Acceso a tu billetera LNbits. Si todavía no tienes una billetera LNbits, dirígete a nuestra página de billeteras y crea una
1. Descarga Zeus
Puedes descargar la aplicación Zeus para tu sistema operativo aquí.
2. Habilita la extensión LNDhub en tu billetera LNbits
Dirígete a tu billetera LNbits. Haz clic en
Extensiones
y habilita la extensiónLNDhub
. Una vez habilitada, abre la pagina de la extensión LNDhub.3. Importar a Zeus
Ve a
Configuración
>Añadir un nuevo nodo en Zeus
.Escanea la cartera que quieras instalar.
💡 Puedes elegir entre la URL de la factura (Invoice URL) y la URL de administración (Admin URL). - La URL de la factura te da permiso para generar facturas y recibir pagos. - La URL de administración también te permite enviar pagos.
Una vez que hayas escaneado el código QR, todos los campos en Zeus deberían rellenarse automáticamente. También puedes añadir un apodo para tu billetera.
¡Ahora puedes guardar la configuración del nodo y controlar la billetera desde tu teléfono!
Extra
Zeus también ofrece funciones interesantes como temas personalizados, conversiones de precios, modo acechador y verificación biométrica. Estos temas están más allá del alcance de esta guía, ¡juega en la aplicación y descubre todas esas características por ti mismo!
-
@ 8cb60e21:5f2deaea
2024-09-03 22:26:25 -
@ f2e2c80b:1b1b0af9
2024-09-26 15:22:24Ingredients
- .
Directions
- .
-
@ f2e2c80b:1b1b0af9
2024-09-26 15:11:24Details
- ⏲️ Prep time: 10 min (+24h to lievitate)
- 🍳 Cook time: 15
Ingredients
- Toppings:
- Tomato sauce
- Mozzarella fiordilatte
- BIGA
- 200g type 1 flour
- 2g fresh yeast
- 120g water at room temperature
- DOUGH
- 5g fresh yeast
- 5g malt (or honey)
- 50g type 1 flour
- 55g water
- 15g salt
Directions
-
- Place the biga with: 5g fresh yeast, 5g malt or honey, 50g type 1 flour and 35g water in the mixer and start kneading at first speed.
-
- Add 15g salt and 20g water.
-
- Place on the counter, food and knee for 20 minutes, then shape and leave rinse at room temp. for 1.30 h.
-
- When ready shape the pizza and spread tomato sauce.
-
- Put in hot oven at 280° for 10min.
-
- Take out, add mozzarella and bake again for 5 min.
-
@ 41d0a715:9733c512
2024-10-20 03:38:18If you object to something a Fellow CowBoy is representing, it should be OK to call him out.
We need to remove the factor of unequal wealth or the huge stack of Satoshis one person has.
Challenging a Fellow CowBoy is a very serious insult. It deserves a clear cut outcome.
The Metaphor of "A Show Down on Main Street' is where the accuser and the accused settle things to the Death.
originally posted at https://stacker.news/items/732035
-
@ 8cb60e21:5f2deaea
2024-09-03 22:26:25 -
@ 8cb60e21:5f2deaea
2024-09-03 21:58:26Lesson 3: Arrays, Objects, and Callbacks
Arrays: Lists of Things
Arrays are ordered lists of values. They're perfect for storing multiple related items, like a list of your favorite cat toys:
javascript var catToys = ["mouse", "ball", "laser pointer"]; console.log(catToys[0]); // Prints "mouse"
Objects: Grouping Related Information
Objects allow you to group related information together. They're like detailed profiles for each of your cat friends:
```javascript var myCat = { name: "Fluffy", age: 3, favoriteFood: "tuna" };
console.log(myCat.name); // Prints "Fluffy" ```
Callbacks: Doing Things Later
Callbacks are functions that are executed after another function has finished. They're useful for handling asynchronous operations, like waiting for your cat to finish eating before giving it a treat:
```javascript function feedCat(callback) { console.log("Feeding the cat..."); setTimeout(function() { console.log("Cat has finished eating!"); callback(); }, 2000); }
feedCat(function() { console.log("Time for a treat!"); }); ```
This code simulates feeding a cat, waiting 2 seconds, and then giving it a treat.
Remember, learning JavaScript is a journey. Take your time, practice regularly, and soon you'll be coding like a pro cat!
-
@ f2e2c80b:1b1b0af9
2024-09-26 15:01:08Details
- ⏲️ Prep time: 10 min (+24h to lievitate)
- 🍳 Cook time: 15
Ingredients
- 200g type 1 flour
- 2g fresh yeast
- 120g water at room temperature
- .
- 5g fresh yeast
- 5g malt (or honey)
- 50d type 1 flour
- 55g water
- 15g salt
- Toppings:
- Tomato sauce
- Mozzarella fiordilatte
Directions
-
- Place the biga with: 5g fresh yeast, 5g malt or honey, 50g type 1 flour and 35g water in the mixer and start kneading at first speed.
-
- Add 15g salt and 20g water.
-
- Place on the counter, food and knee for 20 minutes, then shape and leave rinse at room temp. for 1.30 h.
-
- When ready shape the pizza and spread tomato sauce.
-
- Put in hot oven at 280° for 10min.
-
- Take out, add mozzarella and bake again for 5 min.
-
@ 4ba8e86d:89d32de4
2024-10-05 22:04:32Como funciona o PGP.
O texto a seguir foi retirado do capítulo 1 do documento Introdução à criptografia na documentação do PGP 6.5.1. Copyright © 1990-1999 Network Associates, Inc. Todos os direitos reservados.
-O que é criptografia? -Criptografia forte -Como funciona a criptografia? -Criptografia convencional -Cifra de César -Gerenciamento de chaves e criptografia convencional -Criptografia de chave pública -Como funciona o PGP - Chaves • Assinaturas digitais -Funções hash • Certificados digitais -Distribuição de certificados -Formatos de certificado •Validade e confiança -Verificando validade -Estabelecendo confiança -Modelos de confiança • Revogação de certificado -Comunicar que um certificado foi revogado -O que é uma senha? -Divisão de chave
Os princípios básicos da criptografia.
Quando Júlio César enviou mensagens aos seus generais, ele não confiou nos seus mensageiros. Então ele substituiu cada A em suas mensagens por um D, cada B por um E, e assim por diante através do alfabeto. Somente alguém que conhecesse a regra “shift by 3” poderia decifrar suas mensagens. E assim começamos.
Criptografia e descriptografia.
Os dados que podem ser lidos e compreendidos sem quaisquer medidas especiais são chamados de texto simples ou texto não criptografado. O método de disfarçar o texto simples de forma a ocultar sua substância é chamado de criptografia. Criptografar texto simples resulta em um jargão ilegível chamado texto cifrado. Você usa criptografia para garantir que as informações sejam ocultadas de qualquer pessoa a quem não se destinam, mesmo daqueles que podem ver os dados criptografados. O processo de reverter o texto cifrado ao texto simples original é chamado de descriptografia . A Figura 1-1 ilustra esse processo.
https://nostrcheck.me/media/public/nostrcheck.me_5922365650718442651699905288.webp
Figura 1-1. Criptografia e descriptografia
O que é criptografia?
Criptografia é a ciência que usa a matemática para criptografar e descriptografar dados. A criptografia permite armazenar informações confidenciais ou transmiti-las através de redes inseguras (como a Internet) para que não possam ser lidas por ninguém, exceto pelo destinatário pretendido. Embora a criptografia seja a ciência que protege os dados, a criptoanálise é a ciência que analisa e quebra a comunicação segura. A criptoanálise clássica envolve uma combinação interessante de raciocínio analítico, aplicação de ferramentas matemáticas, descoberta de padrões, paciência, determinação e sorte. Os criptoanalistas também são chamados de atacantes. A criptologia abrange tanto a criptografia quanto a criptoanálise.
Criptografia forte.
"Existem dois tipos de criptografia neste mundo: a criptografia que impedirá a sua irmã mais nova de ler os seus arquivos, e a criptografia que impedirá os principais governos de lerem os seus arquivos. Este livro é sobre o último." --Bruce Schneier, Criptografia Aplicada: Protocolos, Algoritmos e Código Fonte em C. PGP também trata deste último tipo de criptografia. A criptografia pode ser forte ou fraca, conforme explicado acima. A força criptográfica é medida no tempo e nos recursos necessários para recuperar o texto simples. O resultado de uma criptografia forte é um texto cifrado que é muito difícil de decifrar sem a posse da ferramenta de decodificação apropriada. Quão díficil? Dado todo o poder computacional e o tempo disponível de hoje – mesmo um bilhão de computadores fazendo um bilhão de verificações por segundo – não é possível decifrar o resultado de uma criptografia forte antes do fim do universo. Alguém poderia pensar, então, que uma criptografia forte resistiria muito bem até mesmo contra um criptoanalista extremamente determinado. Quem pode realmente dizer? Ninguém provou que a criptografia mais forte disponível hoje resistirá ao poder computacional de amanhã. No entanto, a criptografia forte empregada pelo PGP é a melhor disponível atualmente.
Contudo, a vigilância e o conservadorismo irão protegê-lo melhor do que as alegações de impenetrabilidade.
Como funciona a criptografia?
Um algoritmo criptográfico, ou cifra, é uma função matemática usada no processo de criptografia e descriptografia. Um algoritmo criptográfico funciona em combinação com uma chave – uma palavra, número ou frase – para criptografar o texto simples. O mesmo texto simples é criptografado em texto cifrado diferente com chaves diferentes. A segurança dos dados criptografados depende inteiramente de duas coisas: a força do algoritmo criptográfico e o sigilo da chave. Um algoritmo criptográfico, mais todas as chaves possíveis e todos os protocolos que o fazem funcionar constituem um criptossistema. PGP é um criptossistema.
Criptografia convencional.
Na criptografia convencional, também chamada de criptografia de chave secreta ou de chave simétrica , uma chave é usada tanto para criptografia quanto para descriptografia. O Data Encryption Standard (DES) é um exemplo de criptossistema convencional amplamente empregado pelo Governo Federal. A Figura 1-2 é uma ilustração do processo de criptografia convencional.
https://nostrcheck.me/media/public/nostrcheck.me_1563316185075842071699905520.webp
Figura 1-2. Criptografia convencional
Cifra de César.
Um exemplo extremamente simples de criptografia convencional é uma cifra de substituição. Uma cifra de substituição substitui uma informação por outra. Isso é feito com mais frequência compensando as letras do alfabeto. Dois exemplos são o Anel Decodificador Secreto do Capitão Meia-Noite, que você pode ter possuído quando era criança, e a cifra de Júlio César. Em ambos os casos, o algoritmo serve para compensar o alfabeto e a chave é o número de caracteres para compensá-lo. Por exemplo, se codificarmos a palavra "SEGREDO" usando o valor chave de César de 3, deslocaremos o alfabeto para que a terceira letra abaixo (D) comece o alfabeto. Então começando com A B C D E F G H I J K L M N O P Q R S T U V W X Y Z e deslizando tudo para cima em 3, você obtém DEFGHIJKLMNOPQRSTUVWXYZABC onde D=A, E=B, F=C e assim por diante. Usando este esquema, o texto simples, "SECRET" é criptografado como "VHFUHW". Para permitir que outra pessoa leia o texto cifrado, você diz a ela que a chave é 3. Obviamente, esta é uma criptografia extremamente fraca para os padrões atuais, mas, ei, funcionou para César e ilustra como funciona a criptografia convencional.
Gerenciamento de chaves e criptografia convencional.
A criptografia convencional tem benefícios. É muito rápido. É especialmente útil para criptografar dados que não vão a lugar nenhum. No entanto, a criptografia convencional por si só como meio de transmissão segura de dados pode ser bastante cara, simplesmente devido à dificuldade de distribuição segura de chaves. Lembre-se de um personagem do seu filme de espionagem favorito: a pessoa com uma pasta trancada e algemada ao pulso. Afinal, o que há na pasta? Provavelmente não é o código de lançamento de mísseis/fórmula de biotoxina/plano de invasão em si. É a chave que irá descriptografar os dados secretos. Para que um remetente e um destinatário se comuniquem com segurança usando criptografia convencional, eles devem chegar a um acordo sobre uma chave e mantê-la secreta entre si. Se estiverem em locais físicos diferentes, devem confiar em um mensageiro, no Bat Phone ou em algum outro meio de comunicação seguro para evitar a divulgação da chave secreta durante a transmissão. Qualquer pessoa que ouvir ou interceptar a chave em trânsito poderá posteriormente ler, modificar e falsificar todas as informações criptografadas ou autenticadas com essa chave. Do DES ao Anel Decodificador Secreto do Capitão Midnight, o problema persistente com a criptografia convencional é a distribuição de chaves: como você leva a chave ao destinatário sem que alguém a intercepte?
Criptografia de chave pública.
Os problemas de distribuição de chaves são resolvidos pela criptografia de chave pública, cujo conceito foi introduzido por Whitfield Diffie e Martin Hellman em 1975. (Há agora evidências de que o Serviço Secreto Britânico a inventou alguns anos antes de Diffie e Hellman, mas a manteve um segredo militar - e não fez nada com isso.
[JH Ellis: The Possibility of Secure Non-Secret Digital Encryption, CESG Report, January 1970]) A criptografia de chave pública é um esquema assimétrico que usa um par de chaves para criptografia: uma chave pública, que criptografa os dados, e uma chave privada ou secreta correspondente para descriptografia. Você publica sua chave pública para o mundo enquanto mantém sua chave privada em segredo. Qualquer pessoa com uma cópia da sua chave pública pode criptografar informações que somente você pode ler. Até mesmo pessoas que você nunca conheceu. É computacionalmente inviável deduzir a chave privada da chave pública. Qualquer pessoa que possua uma chave pública pode criptografar informações, mas não pode descriptografá-las. Somente a pessoa que possui a chave privada correspondente pode descriptografar as informações.
https://nostrcheck.me/media/public/nostrcheck.me_6137622541655550851699909180.webp
Figura 1-3. Criptografia de chave pública O principal benefício da criptografia de chave pública é que ela permite que pessoas que não possuem nenhum acordo de segurança pré-existente troquem mensagens com segurança. A necessidade de remetente e destinatário compartilharem chaves secretas através de algum canal seguro é eliminada; todas as comunicações envolvem apenas chaves públicas e nenhuma chave privada é transmitida ou compartilhada. Alguns exemplos de criptossistemas de chave pública são Elgamal (nomeado em homenagem a seu inventor, Taher Elgamal), RSA (nomeado em homenagem a seus inventores, Ron Rivest, Adi Shamir e Leonard Adleman), Diffie-Hellman (nomeado, você adivinhou, em homenagem a seus inventores). ) e DSA, o algoritmo de assinatura digital (inventado por David Kravitz). Como a criptografia convencional já foi o único meio disponível para transmitir informações secretas, o custo dos canais seguros e da distribuição de chaves relegou a sua utilização apenas àqueles que podiam pagar, como governos e grandes bancos (ou crianças pequenas com anéis descodificadores secretos). A criptografia de chave pública é a revolução tecnológica que fornece criptografia forte para as massas adultas. Lembra do mensageiro com a pasta trancada e algemada ao pulso? A criptografia de chave pública o tira do mercado (provavelmente para seu alívio).
Como funciona o PGP.
O PGP combina alguns dos melhores recursos da criptografia convencional e de chave pública. PGP é um criptossistema híbrido. Quando um usuário criptografa texto simples com PGP, o PGP primeiro compacta o texto simples. A compactação de dados economiza tempo de transmissão do modem e espaço em disco e, mais importante ainda, fortalece a segurança criptográfica. A maioria das técnicas de criptoanálise explora padrões encontrados no texto simples para quebrar a cifra. A compressão reduz esses padrões no texto simples, aumentando assim enormemente a resistência à criptoanálise. (Arquivos que são muito curtos para compactar ou que não são compactados bem não são compactados.) O PGP então cria uma chave de sessão, que é uma chave secreta única. Esta chave é um número aleatório gerado a partir dos movimentos aleatórios do mouse e das teclas digitadas. Esta chave de sessão funciona com um algoritmo de criptografia convencional rápido e muito seguro para criptografar o texto simples; o resultado é texto cifrado. Depois que os dados são criptografados, a chave da sessão é criptografada na chave pública do destinatário. Essa chave de sessão criptografada com chave pública é transmitida junto com o texto cifrado ao destinatário.
https://nostrcheck.me/media/public/nostrcheck.me_1978130242364857481699910331.webp
Figura 1-4. Como funciona a criptografia PGP A descriptografia funciona ao contrário. A cópia do PGP do destinatário usa sua chave privada para recuperar a chave de sessão temporária, que o PGP usa para descriptografar o texto cifrado criptografado convencionalmente.
https://nostrcheck.me/media/public/nostrcheck.me_1978130242364857481699910331.webp
Figura 1-5. Como funciona a descriptografia PGP A combinação dos dois métodos de criptografia combina a conveniência da criptografia de chave pública com a velocidade da criptografia convencional. A criptografia convencional é cerca de 1.000 vezes mais rápida que a criptografia de chave pública. A criptografia de chave pública, por sua vez, fornece uma solução para
problemas de distribuição de chaves e transmissão de dados. Usados em conjunto, o desempenho e a distribuição de chaves são melhorados sem qualquer sacrifício na segurança.
Chaves.
Uma chave é um valor que funciona com um algoritmo criptográfico para produzir um texto cifrado específico. As chaves são basicamente números muito, muito, muito grandes. O tamanho da chave é medido em bits; o número que representa uma chave de 1024 bits é enorme. Na criptografia de chave pública, quanto maior a chave, mais seguro é o texto cifrado. No entanto, o tamanho da chave pública e o tamanho da chave secreta da criptografia convencional não têm nenhuma relação. Uma chave convencional de 80 bits tem a força equivalente a uma chave pública de 1.024 bits. Uma chave convencional de 128 bits é equivalente a uma chave pública de 3.000 bits. Novamente, quanto maior a chave, mais segura, mas os algoritmos usados para cada tipo de criptografia são muito diferentes e, portanto, a comparação é como a de maçãs com laranjas. Embora as chaves pública e privada estejam matematicamente relacionadas, é muito difícil derivar a chave privada dada apenas a chave pública; no entanto, derivar a chave privada é sempre possível, desde que haja tempo e capacidade computacional suficientes. Isto torna muito importante escolher chaves do tamanho certo; grande o suficiente para ser seguro, mas pequeno o suficiente para ser aplicado rapidamente. Além disso, você precisa considerar quem pode estar tentando ler seus arquivos, quão determinados eles estão, quanto tempo têm e quais podem ser seus recursos. Chaves maiores serão criptograficamente seguras por um longo período de tempo. Se o que você deseja criptografar precisar ficar oculto por muitos anos, você pode usar uma chave muito grande. Claro, quem sabe quanto tempo levará para determinar sua chave usando os computadores mais rápidos e eficientes de amanhã? Houve um tempo em que uma chave simétrica de 56 bits era considerada extremamente segura. As chaves são armazenadas de forma criptografada. O PGP armazena as chaves em dois arquivos no seu disco rígido; um para chaves públicas e outro para chaves privadas. Esses arquivos são chamados de chaveiros. Ao usar o PGP, você normalmente adicionará as chaves públicas dos seus destinatários ao seu chaveiro público. Suas chaves privadas são armazenadas em seu chaveiro privado. Se você perder seu chaveiro privado, não será possível descriptografar nenhuma informação criptografada nas chaves desse anel.
Assinaturas digitais.
Um grande benefício da criptografia de chave pública é que ela fornece um método para empregar assinaturas digitais. As assinaturas digitais permitem ao destinatário da informação verificar a autenticidade da origem da informação e também verificar se a informação está intacta. Assim, as assinaturas digitais de chave pública fornecem autenticação e integridade de dados. A assinatura digital também proporciona o não repúdio, o que significa que evita que o remetente alegue que não enviou realmente as informações. Esses recursos são tão fundamentais para a criptografia quanto a privacidade, se não mais. Uma assinatura digital tem a mesma finalidade de uma assinatura manuscrita. No entanto, uma assinatura manuscrita é fácil de falsificar. Uma assinatura digital é superior a uma assinatura manuscrita porque é quase impossível de ser falsificada, além de atestar o conteúdo da informação, bem como a identidade do signatário.
Algumas pessoas tendem a usar mais assinaturas do que criptografia. Por exemplo, você pode não se importar se alguém souber que você acabou de depositar US$ 1.000 em sua conta, mas quer ter certeza de que foi o caixa do banco com quem você estava lidando. A maneira básica pela qual as assinaturas digitais são criadas é ilustrada na Figura 1-6 . Em vez de criptografar informações usando a chave pública de outra pessoa, você as criptografa com sua chave privada. Se as informações puderem ser descriptografadas com sua chave pública, elas deverão ter se originado em você.
https://nostrcheck.me/media/public/nostrcheck.me_4033165715613998201699910446.webp
Figura 1-6. Assinaturas digitais simples
Funções hash.
O sistema descrito acima apresenta alguns problemas. É lento e produz um enorme volume de dados – pelo menos o dobro do tamanho da informação original. Uma melhoria no esquema acima é a adição de uma função hash unidirecional no processo. Uma função hash unidirecional recebe uma entrada de comprimento variável – neste caso, uma mensagem de qualquer comprimento, até mesmo milhares ou milhões de bits – e produz uma saída de comprimento fixo; digamos, 160 bits. A função hash garante que, se a informação for alterada de alguma forma – mesmo que por apenas um bit – seja produzido um valor de saída totalmente diferente. O PGP usa uma função hash criptograficamente forte no texto simples que o usuário está assinando. Isso gera um item de dados de comprimento fixo conhecido como resumo da mensagem. (Novamente, qualquer alteração nas informações resulta em um resumo totalmente diferente.) Então o PGP usa o resumo e a chave privada para criar a “assinatura”. O PGP transmite a assinatura e o texto simples juntos. Ao receber a mensagem, o destinatário utiliza o PGP para recalcular o resumo, verificando assim a assinatura. O PGP pode criptografar o texto simples ou não; assinar texto simples é útil se alguns dos destinatários não estiverem interessados ou não forem capazes de verificar a assinatura. Desde que uma função hash segura seja usada, não há como retirar a assinatura de alguém de um documento e anexá-la a outro, ou alterar uma mensagem assinada de qualquer forma. A menor alteração em um documento assinado causará falha no processo de verificação da assinatura digital.
https://nostrcheck.me/media/public/nostrcheck.me_2943209062439984111699910538.webp
Figura 1-7. Assinaturas digitais seguras As assinaturas digitais desempenham um papel importante na autenticação e validação de chaves de outros usuários PGP.
Certificados digitais.
Um problema com os criptosistemas de chave pública é que os usuários devem estar constantemente vigilantes para garantir que estão criptografando com a chave da pessoa correta. Num ambiente onde é seguro trocar chaves livremente através de servidores públicos, os ataques man-in-the-middle são uma ameaça potencial. Neste tipo de ataque, alguém publica uma chave falsa com o nome e ID de usuário do destinatário pretendido. Os dados criptografados – e interceptados por – o verdadeiro proprietário desta chave falsa estão agora em mãos erradas. Em um ambiente de chave pública, é vital que você tenha certeza de que a chave pública para a qual você está criptografando os dados é de fato a chave pública do destinatário pretendido e não uma falsificação. Você pode simplesmente criptografar apenas as chaves que foram entregues fisicamente a você. Mas suponha que você precise trocar informações com pessoas que nunca conheceu; como você pode saber se tem a chave correta? Os certificados digitais, ou certs, simplificam a tarefa de estabelecer se uma chave pública realmente pertence ao suposto proprietário. Um certificado é uma forma de credencial. Exemplos podem ser sua carteira de motorista, seu cartão de previdência social ou sua certidão de nascimento. Cada um deles contém algumas informações que identificam você e alguma autorização informando que outra pessoa confirmou sua identidade. Alguns certificados, como o seu passaporte, são uma confirmação importante o suficiente da sua identidade para que você não queira perdê-los, para que ninguém os use para se passar por você.
Um certificado digital são dados que funcionam como um certificado físico. Um certificado digital é uma informação incluída na chave pública de uma pessoa que ajuda outras pessoas a verificar se uma chave é genuína ou válida. Os certificados digitais são usados para impedir tentativas de substituir a chave de uma pessoa por outra.
Um certificado digital consiste em três coisas:
● Uma chave pública.
● Informações do certificado. (Informações de "identidade" sobre o usuário, como nome, ID do usuário e assim por diante.) ● Uma ou mais assinaturas digitais.
O objetivo da assinatura digital em um certificado é afirmar que as informações do certificado foram atestadas por alguma outra pessoa ou entidade. A assinatura digital não atesta a autenticidade do certificado como um todo; ele atesta apenas que as informações de identidade assinadas acompanham ou estão vinculadas à chave pública. Assim, um certificado é basicamente uma chave pública com uma ou duas formas de identificação anexadas, além de um forte selo de aprovação de algum outro indivíduo confiável.
https://nostrcheck.me/media/public/nostrcheck.me_7979578982089845401699910854.webp
Figura 1-8. Anatomia de um certificado PGP
Distribuição de certificados.
Os certificados são utilizados quando é necessário trocar chaves públicas com outra pessoa. Para pequenos grupos de pessoas que desejam se comunicar com segurança, é fácil trocar manualmente disquetes ou e-mails contendo a chave pública de cada proprietário. Esta é a distribuição manual de chave pública e é prática apenas até certo ponto. Além desse ponto, é necessário implementar sistemas que possam fornecer os mecanismos necessários de segurança, armazenamento e troca para que colegas de trabalho, parceiros de negócios ou estranhos possam se comunicar, se necessário. Eles podem vir na forma de repositórios somente de armazenamento, chamados Servidores de Certificados, ou sistemas mais estruturados que fornecem recursos adicionais de gerenciamento de chaves e são chamados de Infraestruturas de Chave Pública (PKIs).
Servidores de certificados.
Um servidor de certificados, também chamado de servidor certificado ou servidor de chaves, é um banco de dados que permite aos usuários enviar e recuperar certificados digitais. Um servidor certificado geralmente fornece alguns recursos administrativos que permitem que uma empresa mantenha suas políticas de segurança – por exemplo, permitindo que apenas as chaves que atendam a determinados requisitos sejam armazenadas.
Infraestruturas de Chave Pública.
Uma PKI contém os recursos de armazenamento de certificados de um servidor de certificados, mas também fornece recursos de gerenciamento de certificados (a capacidade de emitir, revogar, armazenar, recuperar e confiar em certificados). A principal característica de uma PKI é a introdução do que é conhecido como Autoridade Certificadora,ou CA, que é uma entidade humana — uma pessoa, grupo, departamento, empresa ou outra associação — que uma organização autorizou a emitir certificados para seus usuários de computador. (A função de uma CA é análoga à do Passport Office do governo de um país.) Uma CA cria certificados e os assina digitalmente usando a chave privada da CA. Devido ao seu papel na criação de certificados, a CA é o componente central de uma PKI. Usando a chave pública da CA, qualquer pessoa que queira verificar a autenticidade de um certificado verifica a assinatura digital da CA emissora e, portanto, a integridade do conteúdo do certificado (mais importante ainda, a chave pública e a identidade do titular do certificado).
Formatos de certificado.
Um certificado digital é basicamente uma coleção de informações de identificação vinculadas a uma chave pública e assinadas por um terceiro confiável para provar sua autenticidade. Um certificado digital pode ter vários formatos diferentes.
O PGP reconhece dois formatos de certificado diferentes:
● Certificados PGP ● Certificados X.509 Formato do certificado PGP. Um certificado PGP inclui (mas não está limitado a) as seguintes informações: ● O número da versão do PGP — identifica qual versão do PGP foi usada para criar a chave associada ao certificado. A chave pública do titular do certificado — a parte pública do seu par de chaves, juntamente com o algoritmo da chave: RSA, DH (Diffie-Hellman) ou DSA (Algoritmo de Assinatura Digital).
● As informações do detentor do certificado — consistem em informações de “identidade” sobre o usuário, como seu nome, ID de usuário, fotografia e assim por diante. ● A assinatura digital do proprietário do certificado — também chamada de autoassinatura, é a assinatura que utiliza a chave privada correspondente da chave pública associada ao certificado. ● O período de validade do certificado — a data/hora de início e a data/hora de expiração do certificado; indica quando o certificado irá expirar. ● O algoritmo de criptografia simétrica preferido para a chave — indica o algoritmo de criptografia para o qual o proprietário do certificado prefere que as informações sejam criptografadas. Os algoritmos suportados são CAST, IDEA ou Triple-DES. Você pode pensar em um certificado PGP como uma chave pública com um ou mais rótulos vinculados a ele (veja a Figura 1.9 ). Nessas 'etiquetas' você encontrará informações que identificam o proprietário da chave e uma assinatura do proprietário da chave, que afirma que a chave e a identificação andam juntas. (Essa assinatura específica é chamada de autoassinatura; todo certificado PGP contém uma autoassinatura.) Um aspecto único do formato de certificado PGP é que um único certificado pode conter múltiplas assinaturas. Várias ou muitas pessoas podem assinar o par chave/identificação para atestar a sua própria garantia de que a chave pública pertence definitivamente ao proprietário especificado. Se você procurar em um servidor de certificados público, poderá notar que certos certificados, como o do criador do PGP, Phil Zimmermann, contêm muitas assinaturas. Alguns certificados PGP consistem em uma chave pública com vários rótulos, cada um contendo um meio diferente de identificar o proprietário da chave (por exemplo, o nome do proprietário e a conta de e-mail corporativa, o apelido do proprietário e a conta de e-mail residencial, uma fotografia do proprietário — tudo em um certificado). A lista de assinaturas de cada uma dessas identidades pode ser diferente; as assinaturas atestam a autenticidade de que um dos rótulos pertence à chave pública, e não que todos os rótulos da chave sejam autênticos. (Observe que 'autêntico' está nos olhos de quem vê - assinaturas são opiniões, e diferentes pessoas dedicam diferentes níveis de devida diligência na verificação da autenticidade antes de assinar uma chave.)
https://nostrcheck.me/media/public/nostrcheck.me_7979578982089845401699910854.webp
Figura 1-9. Um certificado PGP
Formato de certificado X.509.
X.509 é outro formato de certificado muito comum. Todos os certificados X.509 estão em conformidade com o padrão internacional ITU-T X.509; assim (teoricamente) os certificados X.509 criados para um aplicativo podem ser usados por qualquer aplicativo compatível com X.509. Na prática, porém, diferentes empresas criaram suas próprias extensões para certificados X.509, e nem todas funcionam juntas. Um certificado exige que alguém valide que uma chave pública e o nome do proprietário da chave andam juntos. Com os certificados PGP, qualquer pessoa pode desempenhar o papel de validador. Com certificados X.509, o validador é sempre uma Autoridade Certificadora ou alguém designado por uma CA. (Tenha em mente que os certificados PGP também suportam totalmente uma estrutura hierárquica usando uma CA para validar certificados.)
Um certificado X.509 é uma coleção de um conjunto padrão de campos contendo informações sobre um usuário ou dispositivo e sua chave pública correspondente. O padrão X.509 define quais informações vão para o certificado e descreve como codificá-lo (o formato dos dados). Todos os certificados X.509 possuem os seguintes dados:
O número da versão X.509
— identifica qual versão do padrão X.509 se aplica a este certificado, o que afeta quais informações podem ser especificadas nele. A mais atual é a versão 3.
A chave pública do titular do certificado
— a chave pública do titular do certificado, juntamente com um identificador de algoritmo que especifica a qual sistema criptográfico a chave pertence e quaisquer parâmetros de chave associados.
O número de série do certificado
— a entidade (aplicação ou pessoa) que criou o certificado é responsável por atribuir-lhe um número de série único para distingui-lo de outros certificados que emite. Esta informação é usada de diversas maneiras; por exemplo, quando um certificado é revogado, seu número de série é colocado em uma Lista de Revogação de Certificados ou CRL.
O identificador exclusivo do detentor do certificado
— (ou DN — nome distinto). Este nome pretende ser exclusivo na Internet. Este nome pretende ser exclusivo na Internet. Um DN consiste em múltiplas subseções e pode ser parecido com isto: CN=Bob Allen, OU=Divisão Total de Segurança de Rede, O=Network Associates, Inc., C=EUA (Referem-se ao nome comum, à unidade organizacional, à organização e ao país do sujeito .)
O período de validade do certificado
— a data/hora de início e a data/hora de expiração do certificado; indica quando o certificado irá expirar.
O nome exclusivo do emissor do certificado
— o nome exclusivo da entidade que assinou o certificado. Normalmente é uma CA. A utilização do certificado implica confiar na entidade que assinou este certificado. (Observe que em alguns casos, como certificados de CA raiz ou de nível superior , o emissor assina seu próprio certificado.)
A assinatura digital do emitente
— a assinatura utilizando a chave privada da entidade que emitiu o certificado.
O identificador do algoritmo de assinatura
— identifica o algoritmo usado pela CA para assinar o certificado.
Existem muitas diferenças entre um certificado X.509 e um certificado PGP, mas as mais importantes são as seguintes: você pode criar seu próprio certificado PGP;
● você deve solicitar e receber um certificado X.509 de uma autoridade de certificação
● Os certificados X.509 suportam nativamente apenas um único nome para o proprietário da chave
● Os certificados X.509 suportam apenas uma única assinatura digital para atestar a validade da chave
Para obter um certificado X.509, você deve solicitar a uma CA a emissão de um certificado. Você fornece sua chave pública, prova de que possui a chave privada correspondente e algumas informações específicas sobre você. Em seguida, você assina digitalmente as informações e envia o pacote completo – a solicitação de certificado – para a CA. A CA então realiza algumas diligências para verificar se as informações fornecidas estão corretas e, em caso afirmativo, gera o certificado e o devolve.
Você pode pensar em um certificado X.509 como um certificado de papel padrão (semelhante ao que você recebeu ao concluir uma aula de primeiros socorros básicos) com uma chave pública colada nele. Ele contém seu nome e algumas informações sobre você, além da assinatura da pessoa que o emitiu para você.
https://nostrcheck.me/media/public/nostrcheck.me_4125576093727079591699911294.webp
Figura 1-10. Um certificado X.509 Provavelmente, o uso mais visível dos certificados X.509 atualmente é em navegadores da web.
Validade e confiança Cada usuário em um sistema de chave pública está vulnerável a confundir uma chave falsa (certificado) com uma chave real. Validade é a confiança de que um certificado de chave pública pertence ao seu suposto proprietário. A validade é essencial em um ambiente de chave pública onde você deve estabelecer constantemente se um determinado certificado é autêntico ou não. Depois de ter certeza de que um certificado pertencente a outra pessoa é válido, você pode assinar a cópia em seu chaveiro para atestar que verificou o certificado e que ele é autêntico. Se quiser que outras pessoas saibam que você deu ao certificado seu selo de aprovação, você pode exportar a assinatura para um servidor de certificados para que outras pessoas possam vê-la.
Conforme descrito na seção Infraestruturas de Chave Pública , algumas empresas designam uma ou mais Autoridades de Certificação (CAs) para indicar a validade do certificado. Em uma organização que usa uma PKI com certificados X.509, é função da CA emitir certificados aos usuários — um processo que geralmente envolve responder à solicitação de certificado do usuário. Em uma organização que usa certificados PGP sem PKI, é função da CA verificar a autenticidade de todos os certificados PGP e depois assinar os bons. Basicamente, o objetivo principal de uma CA é vincular uma chave pública às informações de identificação contidas no certificado e, assim, garantir a terceiros que algum cuidado foi tomado para garantir que esta ligação das informações de identificação e da chave seja válida. O CA é o Grand Pooh-bah da validação em uma organização; alguém em quem todos confiam e, em algumas organizações, como aquelas que utilizam uma PKI, nenhum certificado é considerado válido, a menos que tenha sido assinado por uma CA confiável.
Verificando validade.
Uma maneira de estabelecer a validade é passar por algum processo manual. Existem várias maneiras de fazer isso. Você pode exigir que o destinatário pretendido lhe entregue fisicamente uma cópia de sua chave pública. Mas isto é muitas vezes inconveniente e ineficiente. Outra forma é verificar manualmente a impressão digital do certificado. Assim como as impressões digitais de cada ser humano são únicas, a impressão digital de cada certificado PGP é única. A impressão digital é um hash do certificado do usuário e aparece como uma das propriedades do certificado. No PGP, a impressão digital pode aparecer como um número hexadecimal ou uma série das chamadas palavras biométricas, que são foneticamente distintas e são usadas para facilitar um pouco o processo de identificação da impressão digital. Você pode verificar se um certificado é válido ligando para o proprietário da chave (para que você origine a transação) e pedindo ao proprietário que leia a impressão digital de sua chave para você e compare essa impressão digital com aquela que você acredita ser a verdadeira. Isso funciona se você conhece a voz do proprietário, mas como verificar manualmente a identidade de alguém que você não conhece? Algumas pessoas colocam a impressão digital de sua chave em seus cartões de visita exatamente por esse motivo. Outra forma de estabelecer a validade do certificado de alguém é confiar que um terceiro indivíduo passou pelo processo de validação do mesmo. Uma CA, por exemplo, é responsável por garantir que, antes de emitir um certificado, ele ou ela o verifique cuidadosamente para ter certeza de que a parte da chave pública realmente pertence ao suposto proprietário. Qualquer pessoa que confie na CA considerará automaticamente quaisquer certificados assinados pela CA como válidos. Outro aspecto da verificação da validade é garantir que o certificado não foi revogado. Para obter mais informações, consulte a seção Revogação de certificado .
Estabelecendo confiança.
Você valida certificados. Você confia nas pessoas. Mais especificamente, você confia nas pessoas para validar os certificados de outras pessoas. Normalmente, a menos que o proprietário lhe entregue o certificado, você terá que confiar na palavra de outra pessoa de que ele é válido.
Introdutores meta e confiáveis.
Na maioria das situações, as pessoas confiam completamente na CA para estabelecer a validade dos certificados. Isso significa que todos os demais dependem da CA para passar por todo o processo de validação manual. Isso é aceitável até um certo número de usuários ou locais de trabalho e, então, não é possível para a AC manter o mesmo nível de validação de qualidade. Nesse caso, é necessário adicionar outros validadores ao sistema.
Um CA também pode ser um meta- introdutor. Um meta-introdutor confere não apenas validade às chaves, mas também confere a capacidade de confiar nas chaves a outros. Semelhante ao rei que entrega seu selo a seus conselheiros de confiança para que eles possam agir de acordo com sua autoridade, o meta-introdutor permite que outros atuem como introdutores de confiança. Esses introdutores confiáveis podem validar chaves com o mesmo efeito do meta-introdutor. Eles não podem, entretanto, criar novos introdutores confiáveis.
Meta-introdutor e introdutor confiável são termos PGP. Em um ambiente X.509, o meta-introdutor é chamado de Autoridade de Certificação raiz ( CA raiz) e os introdutores confiáveis são Autoridades de Certificação subordinadas . A CA raiz usa a chave privada associada a um tipo de certificado especial denominado certificado CA raiz para assinar certificados. Qualquer certificado assinado pelo certificado CA raiz é visto como válido por qualquer outro certificado assinado pela raiz. Este processo de validação funciona mesmo para certificados assinados por outras CAs no sistema — desde que o certificado da CA raiz tenha assinado o certificado da CA subordinada, qualquer certificado assinado pela CA será considerado válido para outras pessoas dentro da hierarquia. Este processo de verificação de backup por meio do sistema para ver quem assinou cujo certificado é chamado de rastreamento de um caminho de certificação ou cadeia de certificação.
Modelos de confiança.
Em sistemas relativamente fechados, como em uma pequena empresa, é fácil rastrear um caminho de certificação até a CA raiz. No entanto, os usuários muitas vezes precisam se comunicar com pessoas fora do seu ambiente corporativo, incluindo algumas que nunca conheceram, como fornecedores, consumidores, clientes, associados e assim por diante. É difícil estabelecer uma linha de confiança com aqueles em quem sua CA não confia explicitamente. As empresas seguem um ou outro modelo de confiança, que determina como os usuários irão estabelecer a validade do certificado. Existem três modelos diferentes:
Confiança Direta.
Confiança Hierárquica Uma teia de confiança Confiança direta A confiança direta é o modelo de confiança mais simples. Neste modelo, um usuário confia que uma chave é válida porque sabe de onde ela veio. Todos os criptosistemas usam essa forma de confiança de alguma forma. Por exemplo, em navegadores da Web, as chaves raiz da Autoridade de Certificação são diretamente confiáveis porque foram enviadas pelo fabricante. Se houver alguma forma de hierarquia, ela se estenderá a partir desses certificados diretamente confiáveis. No PGP, um usuário que valida as chaves e nunca define outro certificado para ser um introdutor confiável está usando confiança direta.
https://nostrcheck.me/media/public/nostrcheck.me_4681914789296468891699911522.webp
Figura 1-11. Confiança direta
Confiança Hierárquica.
Em um sistema hierárquico, há vários certificados "raiz" a partir dos quais a confiança se estende. Esses certificados podem certificar eles próprios certificados ou podem certificar certificados que certificam ainda outros certificados em alguma cadeia. Considere isso como uma grande “árvore” de confiança. A validade do certificado "folha" é verificada rastreando desde seu certificador até outros certificadores, até que um certificado raiz diretamente confiável seja encontrado.
https://nostrcheck.me/media/public/nostrcheck.me_2764578291212045251699911580.webp
Figura 1-12. Confiança hierárquica
Teia de Confiança.
Uma teia de confiança abrange ambos os outros modelos, mas também acrescenta a noção de que a confiança está nos olhos de quem vê (que é a visão do mundo real) e a ideia de que mais informação é melhor. É, portanto, um modelo de confiança cumulativa. Um certificado pode ser confiável diretamente ou confiável em alguma cadeia que remonta a um certificado raiz diretamente confiável (o meta-introdutor) ou por algum grupo de introdutores.
Talvez você já tenha ouvido falar do termo seis graus de separação, que sugere que qualquer pessoa no mundo pode determinar algum vínculo com qualquer outra pessoa no mundo usando seis ou menos outras pessoas como intermediários. Esta é uma teia de introdutores. É também a visão de confiança do PGP. PGP usa assinaturas digitais como forma de introdução. Quando qualquer usuário assina a chave de outro, ele ou ela se torna o introdutor dessa chave. À medida que esse processo avança, ele estabelece uma rede de confiança.
Em um ambiente PGP, qualquer usuário pode atuar como autoridade certificadora. Qualquer usuário PGP pode validar o certificado de chave pública de outro usuário PGP. No entanto, tal certificado só é válido para outro usuário se a parte confiável reconhecer o validador como um introdutor confiável. (Ou seja, você confia na minha opinião de que as chaves dos outros são válidas apenas se você me considerar um apresentador confiável. Caso contrário, minha opinião sobre a validade das outras chaves é discutível.) Armazenados no chaveiro público de cada usuário estão indicadores de
● se o usuário considera ou não uma chave específica válida
● o nível de confiança que o usuário deposita na chave que o proprietário da chave pode servir como certificador das chaves de terceiros
Você indica, na sua cópia da minha chave, se acha que meu julgamento conta. Na verdade, é um sistema de reputação: certas pessoas têm a reputação de fornecer boas assinaturas e as pessoas confiam nelas para atestar a validade de outras chaves.
Níveis de confiança no PGP.
O nível mais alto de confiança em uma chave, a confiança implícita , é a confiança em seu próprio par de chaves. O PGP assume que se você possui a chave privada, você deve confiar nas ações da sua chave pública relacionada. Quaisquer chaves assinadas pela sua chave implicitamente confiável são válidas.
Existem três níveis de confiança que você pode atribuir à chave pública de outra pessoa:
● Confiança total ● Confiança marginal ● Não confiável (ou não confiável)
Para tornar as coisas confusas, também existem três níveis de validade:
● Válido ● Marginalmente válido ● Inválido
Para definir a chave de outra pessoa como um introdutor confiável, você
- Comece com uma chave válida, que seja.
- assinado por você ou
-
assinado por outro apresentador confiável e então
-
Defina o nível de confiança que você acha que o proprietário da chave tem direito.
Por exemplo, suponha que seu chaveiro contenha a chave de Alice. Você validou a chave de Alice e indica isso assinando-a. Você sabe que Alice é uma verdadeira defensora da validação de chaves de outras pessoas. Portanto, você atribui a chave dela com confiança total. Isso faz de Alice uma Autoridade Certificadora. Se Alice assinar a chave de outra pessoa, ela aparecerá como Válida em seu chaveiro. O PGP requer uma assinatura Totalmente confiável ou duas assinaturas Marginalmente confiáveis para estabelecer uma chave como válida. O método do PGP de considerar dois Marginais iguais a um Completo é semelhante a um comerciante que solicita duas formas de identificação. Você pode considerar Alice bastante confiável e também considerar Bob bastante confiável. Qualquer um deles sozinho corre o risco de assinar acidentalmente uma chave falsificada, portanto, você pode não depositar total confiança em nenhum deles. No entanto, as probabilidades de ambos os indivíduos terem assinado a mesma chave falsa são provavelmente pequenas.
Revogação de certificado.
Os certificados só são úteis enquanto são válidos. Não é seguro simplesmente presumir que um certificado é válido para sempre. Na maioria das organizações e em todas as PKIs, os certificados têm uma vida útil restrita. Isso restringe o período em que um sistema fica vulnerável caso ocorra um comprometimento do certificado.
Os certificados são assim criados com um período de validade programado: uma data/hora de início e uma data/hora de expiração. Espera-se que o certificado seja utilizável durante todo o seu período de validade (seu tempo de vida ). Quando o certificado expirar, ele não será mais válido, pois a autenticidade do seu par chave/identificação não estará mais garantida. (O certificado ainda pode ser usado com segurança para reconfirmar informações que foram criptografadas ou assinadas dentro do período de validade – no entanto, ele não deve ser confiável para tarefas criptográficas futuras.)
Existem também situações em que é necessário invalidar um certificado antes da sua data de expiração, como quando o titular do certificado termina o contrato de trabalho com a empresa ou suspeita que a chave privada correspondente do certificado foi comprometida. Isso é chamado de revogação. Um certificado revogado é muito mais suspeito do que um certificado expirado. Os certificados expirados são inutilizáveis, mas não apresentam a mesma ameaça de comprometimento que um certificado revogado. Qualquer pessoa que tenha assinado um certificado pode revogar a sua assinatura no certificado (desde que utilize a mesma chave privada que criou a assinatura). Uma assinatura revogada indica que o signatário não acredita mais que a chave pública e as informações de identificação pertencem uma à outra, ou que a chave pública do certificado (ou a chave privada correspondente) foi comprometida. Uma assinatura revogada deve ter quase tanto peso quanto um certificado revogado. Com certificados X.509, uma assinatura revogada é praticamente igual a um certificado revogado, visto que a única assinatura no certificado é aquela que o tornou válido em primeiro lugar – a assinatura da CA. Os certificados PGP fornecem o recurso adicional de que você pode revogar todo o seu certificado (não apenas as assinaturas nele) se você achar que o certificado foi comprometido. Somente o proprietário do certificado (o detentor da chave privada correspondente) ou alguém que o proprietário do certificado tenha designado como revogador pode revogar um certificado PGP. (Designar um revogador é uma prática útil, pois muitas vezes é a perda da senha da chave privada correspondente do certificado que leva um usuário PGP a revogar seu certificado - uma tarefa que só é possível se alguém tiver acesso à chave privada. ) Somente o emissor do certificado pode revogar um certificado X.509.
Comunicar que um certificado foi revogado.
Quando um certificado é revogado, é importante conscientizar os usuários potenciais do certificado de que ele não é mais válido. Com certificados PGP, a maneira mais comum de comunicar que um certificado foi revogado é publicá-lo em um servidor de certificados para que outras pessoas que desejem se comunicar com você sejam avisadas para não usar essa chave pública. Em um ambiente PKI, a comunicação de certificados revogados é mais comumente obtida por meio de uma estrutura de dados chamada Lista de Revogação de Certificados, ou CRL, que é publicada pela CA. A CRL contém uma lista validada com carimbo de data e hora de todos os certificados revogados e não expirados no sistema. Os certificados revogados permanecem na lista apenas até expirarem e, em seguida, são removidos da lista — isso evita que a lista fique muito longa. A CA distribui a CRL aos usuários em algum intervalo programado regularmente (e potencialmente fora do ciclo, sempre que um certificado é revogado). Teoricamente, isso impedirá que os usuários usem involuntariamente um certificado comprometido. É possível, no entanto, que haja um período de tempo entre as CRLs em que um certificado recentemente comprometido seja usado.
O que é uma senha?
A maioria das pessoas está familiarizada com a restrição de acesso a sistemas de computador por meio de uma senha, que é uma sequência única de caracteres que um usuário digita como código de identificação.
Uma senha longa é uma versão mais longa de uma senha e, em teoria, mais segura. Normalmente composta por várias palavras, uma frase secreta é mais segura contra ataques de dicionário padrão, em que o invasor tenta todas as palavras do dicionário na tentativa de determinar sua senha. As melhores senhas são relativamente longas e complexas e contêm uma combinação de letras maiúsculas e minúsculas, caracteres numéricos e de pontuação. O PGP usa uma senha para criptografar sua chave privada em sua máquina. Sua chave privada é criptografada em seu disco usando um hash de sua senha como chave secreta. Você usa a senha para descriptografar e usar sua chave privada. Uma senha deve ser difícil de esquecer e difícil de ser adivinhada por outras pessoas. Deve ser algo já firmemente enraizado na sua memória de longo prazo, em vez de algo que você invente do zero. Por que? Porque se você esquecer sua senha, você estará sem sorte. Sua chave privada é total e absolutamente inútil sem sua senha e nada pode ser feito a respeito. Lembra-se da citação anterior neste capítulo?
https://nostrcheck.me/media/public/nostrcheck.me_5284734693832771181699911783.webp
PGP é a criptografia que manterá os principais governos fora dos seus arquivos. Certamente também o manterá fora de seus arquivos. Tenha isso em mente quando decidir alterar sua senha para a piada daquela piada que você nunca consegue lembrar.
Divisão de chave.
Dizem que um segredo não é segredo se for conhecido por mais de uma pessoa. Compartilhar um par de chaves privadas representa um grande problema. Embora não seja uma prática recomendada, às vezes é necessário compartilhar um par de chaves privadas. Chaves de assinatura corporativa, por exemplo, são chaves privadas usadas por uma empresa para assinar – por exemplo – documentos legais, informações pessoais confidenciais ou comunicados de imprensa para autenticar sua origem. Nesse caso, vale a pena que vários membros da empresa tenham acesso à chave privada. No entanto, isto significa que qualquer indivíduo pode agir plenamente em nome da empresa. Nesse caso, é aconselhável dividir a chave entre várias pessoas, de modo que mais de uma ou duas pessoas apresentem um pedaço da chave para reconstituí-la em condições utilizáveis. Se poucas peças da chave estiverem disponíveis, a chave ficará inutilizável. Alguns exemplos são dividir uma chave em três partes e exigir duas delas para reconstituir a chave, ou dividi-la em duas partes e exigir ambas as peças. Se uma conexão de rede segura for usada durante o processo de reconstituição, os acionistas da chave não precisam estar fisicamente presentes para aderirem novamente à chave.
-
@ 8cb60e21:5f2deaea
2024-09-03 21:58:26Lesson 2: Functions and Loops
Functions: Your Own Commands
Functions are reusable blocks of code that perform specific tasks. They're like teaching your cat a new trick:
```javascript function meow(times) { for (var i = 0; i < times; i++) { console.log("Meow!"); } }
meow(3); // This will print "Meow!" three times ```
Built-in Functions
JavaScript comes with many built-in functions. For example,
console.log()
is a function that prints things to the console:javascript console.log("I'm a cat!");
Loops: Repeating Tasks
Loops allow you to repeat a task multiple times without writing the same code over and over. It's like telling your cat to chase its tail for a specific number of rounds:
javascript for (var i = 0; i < 5; i++) { console.log("Chasing tail, round " + (i + 1)); }
This will print "Chasing tail, round X" five times, where X goes from 1 to 5.
-
@ 4ba8e86d:89d32de4
2024-10-20 03:20:33Criando códigos de pagamentos reutilizáveis que começam com "PM8T". Esses códigos permitem que os usuários compartilhem identificadores publicamente sem revelar seus endereços ou saldos de Bitcoin. Os PayNyms oferecem diversas funcionalidades incríveis, como receber doações, comprar Bitcoin peer-to-peer, receber recompensas de mineração, fazer login com Paynym/Auth47 e realizar transações com Stowaway/Payjoin, que proporcionam um nível adicional de privacidade ao criar um mini coinjoin. Essas são algumas das contribuições mais significativas para a privacidade do Bitcoin. Embora o BIP47 tenha sido criado em 2015, a maioria das carteiras de Bitcoin ainda não o implementou, com exceção de algumas, como Samourai Wallet, Sparrow Wallet e Bluewallet, que atualmente oferecem suporte apenas para recebimento.
O PayNym é um código de pagamento reutilizável que proporciona segurança ao ser compartilhado publicamente. Cada carteira compatível com BIP47 lê o código secreto no PayNymID e gera um novo endereço público válido exclusivo para cada par de usuários. A chave pública estendida escondida no PayNymID, combinada com o código secreto único para cada par de usuários, impede que terceiros rastreiem as chaves públicas dos usuários. Os pagamentos não são enviados diretamente para o código de pagamento do usuário, mas para endereços Bitcoin públicos únicos gerados pelo segredo compartilhado da carteira e pelo código de pagamento reutilizável do destinatário. Estes endereços públicos são gerados quando é feito o primeiro Tx para o PayNymID, garantindo privacidade desde o início da transação. Isso é feito criando um Tx especial que é enviado com os dados da saída OP_RETURN para um endereço de notificação obtido do código de pagamento do destinatário. Este Bitcoin Tx, que é enviado para um endereço de observação/notificação, não é um pagamento real. É uma saída OP_RETURN de 80 bytes com os dados necessários para criar novos endereços públicos derivados de algoritmos com base nas informações de chave pública estendida. Uma vez estabelecido o canal direto entre os usuários, o Tx restante para PayNym segue o mesmo processo que qualquer outra transação Bitcoin. A privacidade é mantida ao compartilhar o PayNym, já que não são divulgados os endereços BTC públicos, apenas o código de pagamento reutilizável BIP47. A premissa do protocolo BIP-47 é que não se pode espionar o que não se pode ver, garantindo assim a privacidade das transações. O PayNym oferece uma maneira relativamente privada de realizar transações, mesmo que isso exija mais esforço e taxas mais elevadas.
O PayNymID incorpora a chave pública estendida do proprietário do PayNym, uma informação codificada que a carteira BIP47 interpreta para criar novos endereços Bitcoin públicos. Esses novos endereços são derivados dos endereços originais controlados pelo proprietário das chaves privadas.
https://nostrcheck.me/media/134743ca8ad0203b3657c20a6869e64f160ce48ae6388dc1f5ca67f346019ee7/nostrcheck.me_8654899814721132371710875358.webp
Como a carteira é individual e independente e depende da frase-semente mantida pelo proprietário do PayNym e da carteira, cada carteira BIP47 que lê o código secreto gerará endereços BTC públicos válidos. Esses endereços são exclusivos para cada par de usuários, diferentemente dos gerados por outra carteira que lê o mesmo PayNym, criando canais de pagamento com endereços Bitcoin únicos para cada dupla de usuários.
Para efetuar pagamentos para um PayNymID, é necessário primeiro abrir um canal de pagamento seguro. Isso é feito criando uma transação especial que inclui os dados da saída OP_RETURN e é enviada para um endereço de notificação obtido do código de pagamento do destinatário.
A transação de notificação especial é executada apenas uma vez do remetente para o destinatário. Uma vez aberto, o restante das transações enviadas ao PayNym será como qualquer outra transação Bitcoin.
Esta primeira transação especial tem um custo de 15.000 satoshis mais a taxa de rede na carteira Samourai. É individual para cada canal de pagamento seguro que você deseja abrir com qualquer PayNymID. Ou seja, cada PayNym requer uma única transação especial para abrir cada canal de pagamento.
https://nostrcheck.me/media/134743ca8ad0203b3657c20a6869e64f160ce48ae6388dc1f5ca67f346019ee7/nostrcheck.me_5588987905454433521710875712.webp
Uma vez estabelecido o canal de pagamento para o PayNym, você pode realizar transações de forma privada e segura, sem expor seu saldo ou histórico de transações. Da mesma forma, qualquer pessoa que queira fazer um pagamento para o seu PayNym precisará seguir o mesmo procedimento de abrir um canal de pagamento seguro com sua própria carteira.
Essa abordagem permite criar uma rede de contatos seguros, onde você pode conduzir transações de maneira totalmente privada, sem o risco de divulgar informações confidenciais, como seu histórico de transações ou saldo da carteira.
https://medium.com/@ottosch/how-bip47-works-ee641cc14bf3
-
@ 44dc1c2d:31c74f0b
2024-09-25 20:15:13Chef's notes
Last time I made this I subbed the tomato puréed with some blistered cherry tomatoes. Don't think I'll be using the purée going forward.
I prefer thighs so that's what I use for this but use whatever you want.
Adjust spices based on the size of your onions. If all you have is two massive onions maybe use one and a half onion or just up the amount of spices a little.
Details
- ⏲️ Prep time: ~10 min
- 🍳 Cook time: ~40 ish min
- 🍽️ Servings: 4
Ingredients
- 2 Onions
- 2 tbsp tomato purée
- 1/3 cup cashews
- 1.5 tsp Garam Masala
- 2 ish cloves of crushed garlic
- 1 tsp chili powder
- 1 tbsp lemon juice
- 1/4 tsb ground turmeric
- 1 tsb salt
- 1 tbsp plain yogurt
- 2 tbsp of your cooking oil or fat
- 1 tbsp Coriander (Cilantro) plus extra for garnish
- 1 tbsp sultanas (golden raisins)
- 1 lb of chicken cubed
- 6 oz of white button mushrooms
Directions
- Quarter the onions and put them in a food possessor for about a minute
- Add the tomatoes, nuts, garlic, Garam masala, chili powder, lemon juice, turmeric, salt, yogurt and blend for another minute tell its well mixed in.
- In a wok or a large pan heat your cooking oil and add the onion and spice mix in. Fry gently for around 2-ish minutes, stir frequently.
- Add the chicken, coriander, and raisins to the pan. Stir-fry for another minute or so.
- Add mushrooms and water. Bring to simmer and cover the pan cook for 10 min or until the chicken is 100% cooked through.
- Serve with plain rice and enjoy!