What is Hackers' Pub?

Hackers' Pub is a place for software engineers to share their knowledge and experience with each other. It's also an ActivityPub-enabled social network, so you can follow your favorite hackers in the fediverse and get their latest posts in your feed.

0

Dicas para se iniciar com XMPP, padrão aberto e federado de chat

forum.ayom.media/post/60917

Dicas para se iniciar com XMPP: padrão aberto e federado de chat - Ayom Fórum

## Introdução / motivação 🤔 Houve, há algum tempo, a deliberação de deixarmos de suportar a sala de bate-papo da comunidade Ayom [https://forum.ayom.media/post/49143] na rede Matrix, passando a concentrarmos neste Lemmy [https://forum.ayom/media] as discussões coletivas persistentes, no próprio Mastodon [https://ayom.media] as efêmeras, além de buscarmos possibilitar alternativa para contato emergencial na eventualidade de nossa infraestrutura estar indisponível. Como, após realizar uma migração de conta entre servidores Matrix, eu também não estava mais conseguindo entrar na sala do grupo de trabalho de tecnologia da informação [https://forum.ayom.media/c/ayom_gt_ti], tanto em Matrix quanto tentando evitar a ponte com Telegram, por este ser privativo de liberdade [https://www.gnu.org/proprietary/proprietary.html], aproveitei a situação para criar uma conversa em grupo no XMPP para o GT-TI [xmpp:ayom-gt-ti@chat.disroot.org?join], pensando em continuarmos a comunicação interna do próprio GT (raro) ou, ao menos, possibilitar à comunidade nos contactar quando houver falha dos demais serviços. Integrantes do GT Gestão Interna e Tesouraria da Ayom [https://forum.ayom.media/c/gt_gestao_interna], com destaque de @vereda [https://forum.ayom.media/u/vereda], que estimulou essa movimentação, e @felipesiles [https://forum.ayom.media/u/felipesiles], testaram aquela sala e este veio então a criar, recentemente, uma conversa em grupo para a Ayom [xmpp:chat-ayom@salas.suchat.org?join] em geral. Assim, espera-se que a comunidade vá se apropriando também dessa tecnologia, que se baseia em padrões abertos definidos por grupo de trabalho e fundação internacionais [https://xmpp.org/about/technology-overview/], não por algum fornecedor exclusivo. Para auxiliar quem não sabe por onde começar ou, mesmo assim, gostaria de receber algumas dicas, segue o texto com conceitos e sugestões de uso do XMPP. ## O que é XMPP? 💭 XMPP é uma sigla cujo significado podemos traduzir como Protocolo Extensível de Mensageria e Presença, do inglês Extensible Messaging and Presence Protocol. Trata-se de um padrão aberto [https://pt.wikipedia.org/wiki/Padr%C3%A3o_aberto] para implementação de sistemas de comunicação em tempo real, desenvolvido originalmente para mensagens instantâneas e informação de presença. Surgiu com o nome de “Jabber”, no fim da década de 1990, tendo sido a seguir formalizado pela IETF [https://www.ietf.org/about/introduction/], a Força-Tarefa de Engenharia da Internet, assumindo o nome atual, e organizado por uma fundação, XMPP Standards Foundation (XSF) [https://xmpp.org/about/xmpp-standards-foundation/]. Sistemas que implementam XMPP são espalhados por milhares de servidores na Internet e utilizados por milhões de pessoas do mundo todo, em um modelo descentralizado e federado, análogo ao do correio eletrônico [https://pt.wikipedia.org/wiki/E-mail]: as pessoas possuem conta em um servidor, por meio do qual se comunicam com as outras, estejam estas no mesmo servidor ou em outros. Tanto servidores quanto clientes podem executar software diverso, porém trocam dados entre si por utilizarem protocolos de comunicação em comum. Esse é o tipo de estratégia que, mais recentemente, também se aplica ao protocolo ActivityPub do W3C [https://pt.wikipedia.org/wiki/ActivityPub], voltado a formar um universo de redes sociais federadas [https://jointhefediverse.net/]. Não há um servidor central e é possível que qualquer pessoa ou coletivo, a rigor, tenha seu próprio e una-se à federação. ## Iniciação / recomendações ℹ️ O primeiro passo para usar XMPP [https://xmpp.org/getting-started/] é escolher algum dos servidores federados para abrir sua conta: há uma lista detalhada de “provedores” XMPP recomendados em https://providers.xmpp.net/ [https://providers.xmpp.net/] . Parte deles permite a criação de contas diretamente nos aplicativos clientes. Alguns exigem outros métodos, como formulários próprios para isso na Web. Como esta é uma dúvida frequente, convêm enfatizar: por ser um serviço descentralizado, não há necessidade de ter conta XMPP no mesmo servidor que hospeda determinada sala de conversa em grupo ou a conta de alguém com quem deseja se comunicar. A não ser que uma das partes deliberadamente bloqueie a outra, os servidores conversam entre si normalmente, o que inclui suas contas individuais e salas. A princípio, tanto faz o servidor que utilizará, porém convém se atentar à confiabilidade e à sustentabilidade dele. Portanto, caso tenha dúvida, escolha entre os provedores XMPP que já estejam na “Categoria A” da lista [https://providers.xmpp.net/overview/]. 🅰️ Um provedor popular é, por exemplo, SUChat.org [https://suchat.org/], onde foi criada a sala de chat coletivo da Ayom [xmpp:chat-ayom@salas.suchat.org]. Apresentam suas próprias instruções (em espanhol) e já possuem webchat [https://webchat.suchat.org/] também, se quiser entrar rapidamente pelo navegador, embora com funcionalidades mais básicas. ### Atualização (2025) Algumas comunidades brasileiras na Federação da Web Social [https://jointhefediverse.net/] também estão implantando seus próprios servidores XMPP. Se você já faz parte de alguma delas, talvez já tenha conta disponível no XMPP ou seja questão de solicitar à coordenação. Uma boa fonte de informação sobre isso é a página https://info.bolha.one/servicos/xmpp/ [https://info.bolha.one/servicos/xmpp/]. ## Clientes XMPP 🗣️ Há extensas listas de programas que suportam XMPP [https://xmpp.org/software/] em diferentes cenários, e dos clientes que oferecem comunicação mais segura ✔️ [https://omemo.top/]. Mesmo assim, seguem algumas sugestões: ### Desktop 🖥️ / 💻️ laptop Entre os vários clientes XMPP atuais em ambientes desktop [https://blog.ayom.media/daltux/ambiente-de-trabalho-proprietario-ou-de-software-livre-seria-apenas-o-primeiro] estão Gajim [https://gajim.org/] e Dino [https://flathub.org/apps/im.dino.Dino]. ### Espertofones 📱 Em tornozeleiras eletrônicas de bolso (“celulares”), também há algumas opções para ambas as plataformas dominantes. Especialmente no repositório livre F-Droid [https://search.f-droid.org/?q=XMPP&lang=pt_BR], você encontra, por exemplo, Monocles [https://f-droid.org/pt_BR/packages/de.monocles.chat/], recomendação pessoal por ser mais completo, ou o popular Conversations [https://f-droid.org/pt_BR/packages/eu.siacs.conversations/], entre outros. Esses dois também estão na loja privativa padrão, nesse caso mediante “doação mandatória”. Já para “maçãs”, também constam aplicativos como Monal [https://monal-im.org/] e Siskin [https://siskin.im/]. ### Na Web (JavaScript) 🕸️ Algumas opções de cliente XMPP em navegadores, para telas pequenas ou maiores, são: - Movim — bem completo, permite inclusive chamadas de voz/vídeo - 🌐 Página do projeto - movim.eu [https://movim.eu/] - 💬 Servidor oficial do projeto - mov.im [https://mov.im/] - 💬 Servidor do coletivo Disroot - webchat.disroot.org [https://webchat.disroot.org/] - 💬 Servidor do projeto Monocles - monocles.chat [https://monocles.chat/] - Converse.js: - 🌐 Página do projeto - conversejs.org [https://conversejs.org/] - 💬 Servidor oficial do projeto - inverse.chat [https://inverse.chat/] ### Terminais de texto ⌨️ Quem não faz questão de interface gráfica não precisa ficar sem se comunicar por XMPP, pois existem clientes interessantes como Profanity [https://profanity-im.github.io/], que também é multiplataforma. ## Endereços XMPP 🧭 O endereço das contas e das conversas em grupo, no XMPP, segue o formato já conhecido, similar ao de e-mail e ActivityPub: conta@servidor - 🗣️ A sala geral da Ayom no momento é: chat-ayom@salas.suchat.org - A sala específica do GT-TI ficou: ayom-gt-ti@disroot.org Porém, se clicasse, pelo navegador, em links criados da forma acima, provavelmente acabaria abrindo um cliente de correio eletrônico mesmo, e não de XMPP. Contudo, será possível, assim mesmo, procurar por esses endereços dentro do cliente XMPP, quando estiver conectado. Se já tiver uma aplicação registrada na máquina para reconhecer este formato de link, aí, sim, normalmente poderá abri-la diretamente quando a ligação tiver o prefixo xmpp:, assim: xmpp:chat-ayom@salas.suchat.org [xmpp:chat-ayom@salas.suchat.org?join] – essa é a sala geral de chat da Ayom, criada por @felipesiles [https://forum.ayom.media/u/felipesiles], para a qual toda a comunidade está convidada. Defina nome de exibição, avatar, e pode ser que haja mais um ou outro item para configurar no seu cliente XMPP, se quiser, mas, basicamente, então é só isso: basta procurar por salas de conversa em grupo [https://search.jabber.network/] com tópicos de seu interesse e convidar contatos para conversar. ## Segurança 🛡️ Algo que pode ter que lidar em maior ou menor medida é com criptografia de ponta a ponta [https://pt.wikipedia.org/wiki/Criptografia_de_ponta-a-ponta], o que garante que suas conversas não possam ser interceptadas. O mecanismo atual para essa funcionalidade em XMPP chama-se OMEMO [https://en.wikipedia.org/wiki/OMEMO]. Veja uma lista de aplicações [https://omemo.top/] clientes que já o implementam ou não. Pelo menos em clientes como os citados acima, Conversations, Monocles, Dino e Gajim, é possível deixá-los gerenciar as chaves automaticamente, ou seja, costuma bastar conferir se 🔒️ OMEMO está ativado em uma conversa. ⚠️ Esteja ciente de que as salas em que pode entrar sem convite, encontráveis em buscas, até mesmo a da Ayom, não são cifradas. Contudo, é possível criar conversas multiusuário cifradas por OMEMO, normalmente reservadas, com entrada sob convite. 🕵️ Em casos de uso mais avançados, havendo necessidade de maiores garantias, tais como a de que o interlocutor esteja utilizando chaves previamente confirmadas, também há esse suporte. Havendo dúvidas, estamos à disposição. — ## Mais leituras 🔗 - LibrePlanet: XMPP [https://libreplanet.org/wiki/XMPP.pt] – artigo em português, bem completo, contemplando motivações para adoção desse protocolo. - Wikipédia: XMPP [https://pt.wikipedia.org/wiki/XMPP] – versão lusófona bastante defasada. Confira o artigo anglófono [https://en.wikipedia.org/wiki/XMPP], principal fonte da seção acima sobre o que é XMPP. — Este texto [https://forum.ayom.media/post/60917] © 2024-25 por @Daltux [https://forum.ayom.media/u/daltux] está publicado nos termos da licença CC BY-SA 4.0 [https://creativecommons.org/licenses/by-sa/4.0/]. 🅭 🅯 🄎

forum.ayom.media

0

I've always known that dragging on the edge of a macOS window resizes it. Today I learned that starting the drag parallel to the window edge (say, dragging vertically on the right edge of the window) moves the window instead.

0
0

ATmosphere Report – #111

Bluesky CEO Jay Graber hints some more at Bluesky PBC’s plans for monetisation, on ATProto’s ethos, and more.

Note for regular readers: since 2025 I’ve experimented with alternating this weekly newsletter, with one with focusing on Bluesky and more of the cultural and social side of the network, and the other week on ATProto and the more technical side. For this week, I went back to a combination, with both news about Bluesky and culture, as well as some more technical ATProto news. I’d love to hear some feedback if you prefer the newsletters to keep alternating between Bluesky and ATProto, of if this week’s format of putting everything together is better.

And another reminder: Thursday April 24th is Ahoy!, the European ATProto and Bluesky conference in Hamburg. The conference announced some more great speakers this week! You can hear Bluesky developer Samuel Newman, Ændra Rininsland about building resilient queer spaces, Anirudh Oppiliappan about Tangled, a git platform on ATProto, Paul Sharratt, about Germany’s Sovereign Tech Agency, Marc Faddoul about the Free Our Feeds campaign, and much more! I’ll be there as well, and doing some interviews with people. Would be great to meet you there!

The News

On Bluesky and monetisation

The New Yorker published an extensive long read with Bluesky CEO Jay Graber, about her personal life and what led her to this place. The entire article is worth reading, and gives a good insight into Graber, and how Bluesky came to be. I want to zoom in on one single sentence, where the article talks about how Graber thinks about making money with Bluesky PBC. The New Yorker writes:

“Graber envisions sustaining the business by eventually charging subscription fees, and by monetizing its marketplace of custom tools—users would pay, say, five dollars a month for Blacksky, and Bluesky would take a cut.”

Bluesky PBC originally announced that they would have an optional subscription model back in October 2024, as part of their funding round. In December 2024 COO Rose Wang said that this was planned to be launched at the end of 2024. The period of late 2024 was also one of unrest within the Bluesky community, a significant part of the community was unhappy with how the company handled moderation regarding Jesse Singal. That translated into a vocal part of the community loudly proclaiming they would not want to participate in a subscription program for Bluesky PBC as long as the company would not take action to create a safer community. Since then there have been very few updates on Bluesky PBC launching a subscription model. This interview with Graber confirms that Bluesky PBC still is planning on launching such a service. However, Graber also couches it in an “eventually”, indicating that such a subscription model will likely not launch in the near future.

Graber also mentions Bluesky PBC making money by functioning as a marketplace. This is one of the core ideas on how she sees Bluesky PBC making money, and she has mentioned it interviews since at least early 2024. So far, Bluesky PBC has not actually build a marketplace yet. As the ecosystem develops, Bluesky PBC runs the risk of other organisations building marketplaces first. Custom feed builder Graze already contains a marketplace for ads. Graber’s example of people paying for access to Blacksky and Bluesky PBC taking a cut of the transaction seems to imply that other organisations will depend on Bluesky PBC for such a transaction.

But observing the actual behaviour of Blacksky Algorithms Inc, the company behind Blacksky, shows a different picture. Blacksky is building infrastructure to be fully independent from Bluesky PBC. The company already has their own PDS implementation, a grant to work on their own relay implementation, and announced a few months ago that their longer term plans are to also have their own frontend apps as well as their own AppView. Earlier this year, the Blacksky company transitioned away from being fiscally hosted by Open Source Collective to being an independent fiscal host, to save 10% in fiscal host fees, and Blacksky advertised the move as being fiscally independent. Together it paints a picture of Blacksky as a company that values their independence, both in technological as well as financial infrastructure, a company that will put in effort to avoid another organisation taking a cut of the transaction.

While not every organisation and community on ATProto will have the same characteristics as Blacksky, it shows some of the limitation of Graber’s proposal. There is a financial incentive to avoid Bluesky PBC taking a cut of transactions, and Bluesky PBC has provided all the tools with the openness of ATProto to make it as easy as possible to do so. Blacksky founder Rudy Fraser responded to the quote by Graber with a simple “👀”.

Turkey and censorship requests

Turkish news agency Bianet reports that X users in Turkey are migrating to Bluesky, “after X has restricted visibility to dozens of accounts in the country following nationwide protests sparked by the detention of İstanbul Mayor Ekrem İmamoğlu on Mar 19.” Censorship by the Turkey’s government is also reaching Bluesky however, and Bianet further writes:

“According to the Freedom of Expression Association (İFÖD), at least 44 Bluesky accounts have already been blocked in Turkey under the same Article 8/A of Law No. 5651. These restrictions were enacted by various judicial decisions, again citing concerns over national security and public order.

Despite the rulings, Bluesky has not taken any action to suspend or block these accounts, and they remain accessible from within Turkey. However, if the platform refuses to comply with Turkish court orders to restrict access to certain users, authorities may consider a full ban on the platform, a possibility that past precedents suggest is not unlikely.”

In order to comply with local regulations, Bluesky has set up moderation services for various countries. These moderation services are mandatory for accounts that are currently located within that country, but not for accounts that are outside that country. Bluesky has had local moderation services for Germany and Brazil for a while. Recently a local moderation service for Russia became active as well. Local moderation services for Turkey have been set up, but are not active yet.

ATProto Ethos

Bluesky engineer Daniel Holmgren wrote about the ATProto ethos, based on his talk at the recent ATmosphere conference in Seattle. For technical people I can definitely recommend reading the entire article (and/or watching Holmgren’s talk). Holmgren describes the core ideas of ATProto as follows:

Atproto is situated as the synthesis of these three movements.

  1. From the web: an open, permissionless, and universal network of interconnected content.
  2. From peer-to-peer: location-independent data, self-certifying data, and skepticism of centralized control of any aspect of the user’s experience.
  3. From data-intensive distributed systems: a splitting of read and write load, application-aware secondary indices to facilitate high-throughput and low latency, streaming canonical data, and the decomposition of monoliths into microservices.

From this basis, atproto adds two core innovations: identity-based authority and the separation of data hosting from the rich applications built on top of it.

Holmgren also describes two other ideas that are underlying ATProto: The idea that structure gives freedom, and lazy trust. On structure, Holmgren writes:

While there’s something empowering about the idea of being able to do anything, it’s also easy for this to fall into the tyranny of structurelessness – a collapse in coordination that prevents anything from actually getting done. Without structure in the network, energy that could go into novel development gets redirected into facilitating interoperation, fixing edgecases between implementations, building up defenses to bad actors or security issues from other parties, and trying to coordinate evolution without a clear leader.

One of the main topics that I keep coming back to when covering the fediverse is in this tyranny of structurelessness. The recent news about Pixelfed’s vulnerability that affected other software, and the lack of responses by the affected servers, is a good example of this collapse in coordination between the different parties in the network.

Lazy trust is the idea that often, it is enough to know that every post and signature can be verified, without actually having to be verified on the spot. ATProto allows a cryptographic verification (the Authentification Transfer part in AT Protocol) that every post you see is the correct post as created by the author. But when a regular person opens up the Bluesky app, it is less important for them to know that the post at the top of their feed has been verified. Instead, it is often enough to know that the app they are using is staking their reputation on serving the correct data. Anyone can prove if a service is behaving correctly, since the data is locked open.

Bluesky culture

Two articles and observations on Bluesky’s culture this week. Adobe joined Bluesky this week, and got relentlessly bullied off the platform. The software company has been widely unpopular in broader culture for a while now, due to their monopolistic pricing practices, as well as their pivot to AI. Both characteristics which are widely unpopular on Bluesky as well, and when Adobe made their announcement post, they got heavily ratio’ed and yelled at. The company ended up taking down their post again. As Ryan Broderick points out in Garbage day, this does point to an issue for Bluesky PBC: advertising is one of the marginally few ways in which social media companies can make money at scale. Brand accounts are an integral part of advertising on social networks, and to make it work brand accounts getting bullied off the platform is slightly contra-productive. That said, the interview with Graber (see above)shows that she is currently not thinking about advertisement as a way to to make money with Bluesky PBC. Furthermore, the state of Bluesky’s culture is such that, if people believed that Bluesky PBC was considering advertising on the platform, brand accounts would likely get yelled at even more.

The second article is by Wired, ‘Bluesky Can’t Take a Joke’. It is about the shift in culture that Bluesky has experienced in the last half year or so, where the replies on popular posts tend to get obnoxious. One of the main complaints is that lots of replies tend to take a joke seriously. Another phenomenon is when a big account shares a piece of news, there is a group of people that sees that as an opportunity to yell in the replies about how bad Trump, Musk or any other conservative is, regardless of what the shared news is actually about.

In Other News

Some updates on Skylight, the Bluesky client for shortform video:

  • Skylight has now over 150k users, in the week since the app first launched to the public.
  • The app is currently not available worldwide, and Skylight CEO Tori White says that they are working to make sure they are complying with local laws before launching globally. White specifically points to Europe’s GDPR as a point of uncertainty. It is unclear which parts of the GDPR Skylight is potentially not yet in compliance with. Other Bluesky clients like Flashes have not noted major problems with GDPR compliance.
  • Skylight shared a short video with their story of why they are building a TikTok alternative on ATProto.
  • Skylight CTO Reed Harmeyer shared that the main things Skylight is working on are the video editor and the algorithm.

WhiteWind development is paused for the foreseeable future, creator K-NKSM has said, due to changes in their personal life. WhiteWind is a blogging platform on ATProto, but it has not seen active development for quite a while. WhiteWind was one of the earliest AppViews on ATProto that used a different lexicon and built a platform outside of Bluesky. It has surprised me that no other blogging platforms on ATProto have sprung up so far. There is a wide market appeal for long-form writing, as people looking for alternative platforms.

PinkSea can now be selfhosted. PinkSea is an Oekaki board, a platform where people can draw pictures on the platform itself with simple tools and share them. So far, platforms that are building on ATProto mainly are a single app, and there have not been many cases yet where a new software platform (AppView) gets hosted by multiple providers. PinkSea is now a decentralised network in itself as well, with multiple other PinkSea instances out there. For some more information on PinkSea, creator Kacper “prefetcher” Staroń had an interview on the Software Sessions podcast this week.

Roomy is a group chat app that uses ATProto, and has opened up again for its second alpha testing version. Some new updates include the ability give rooms custom handles, similar to how ATProto uses custom handles, themes for the UI, wiki pages for chat rooms. For an introduction to Roomy, developer Zeu held a talk at the recent ATmosphere conference. Atproto.garden is one of the first communities to use Roomy, and it is a place for creators who are working on ATProto in some way.

The DAIR Institute released a paper on the role that social media plays in genocide, focusing on the 2020-2022 Tigray war. They are shared a 10 minute video explaining the context and their main findings. The organisation is warning that they are now seeing an “seeing an acceleration of the same type of warmongering on social media platforms that we documented at the beginning of the catastrophic Tigray war in 2020.” The reason I’m sharing this in this ATProto newsletter is the same reason what Blacksky founder Rudy Fraser says about the paper. Fraser points out that there are very valid “concerns about how atproto’s shape would fair any better at preventing this kind of thing“. I share those concerns, Bluesky and ATProto are aiming to rebuild a social network for the entire globe. And with that come some very difficult challenges, such as that people will use a social network to instigate war and genocide in a cultural context that is far removed from the people who are building the network.

Statusphere is the demo application by Bluesky PBC to help people start building their own ATProto app. Independent developer Baily Townsend has taken the Statusphere example and remade it in Rust. He released it as a full tutorial for people looking to get started on ATProto using Rust.

Custom feed builder Graze has added a new feature where people can share and reuse components of their custom feeds. For example, many custom feeds will want to use a NSFW filter, and now people can take someone else’s NSFW filter without having to build one themselves.

That’s all for this week, thanks for reading! If you want more analysis, you can subscribe to my newsletter. Every week you get an update with all this week’s articles, as well as extra analysis not published anywhere else. You can subscribe below, and follow this blog @fediversereport.com and my personal account @laurenshof.online on Bluesky.

<form action="https://fediversereport.com/wp-admin/admin-ajax.php?action=tnp&na=s" method="post" style="text-align: center"><input type="hidden" name="nr" value="minimal"><input type="hidden" name="nlang" value=""><input class="tnp-email" type="email" required name="ne" value="" placeholder="Email"><input class="tnp-submit" type="submit" value="Yep, I want to receive the newsletters" style=""></form>

fediversereport.com/atmosphere

Detail of building in Amsterdam-North
0

How do we know that Big Tech doesn't care about your privacy? Your privacy isn't profitable to them. You're a product and make most of their money selling your data...which is the case for every "free" product and service out there. They work for their shareholders, not for you.

0
0

よっこらどっこいし :saba:

d43bfa95aa (upstream/main) Adds featured tab to web (#34405)
678c8dfeec Refactor `StatusCacheHydrator` (#34414)
5d817a758d Add dropdown to lists of accounts in web UI (#34391)
de19af3650 Extract `frontend_translations` helper to support module (#34400)
4c2f64907b Remove deprecated `Import` model (#34371)
e74d682b21 chore(deps): update dependency linzer to v0.6.5 (#34409)
a89ddcfd2d New Crowdin Translations (automated) (#34407)

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0

차단 기능의 밑작업으로… 차단 당하는 기능을 만들었습니다. Hackers' Pub 사용자 여러분은 이제 연합우주 내 다른 인스턴스의 사용자로부터 차단 당할 수 있습니다. ActivityPub의 Block 액티비티 및 Undo(Block) 액티비티를 수신하고 처리할 수 있게 되었다는 뜻입니다. 하지만 아직 차단을 하는 건 안 됩니다. 오늘은 일단 여기까지 하기로 하고… 차단 기능은 아마 내일이나 완성될 것 같군요.

5
0
0
0
0
0
0
0
0
0
0
0

I've paid and been using Niagara Launcher on my Fairphone 4 running CalyxOs but I have been looking at FOSS launchers. I'm testing Kiss Launcher but I cannot get it to scan or display application shortcuts like scan barcode which I get from my camera app under Niagara. I have enabled the settings but it seems others have issues on certain Android versions and I'm on 15. Are there any other launchers like Kiss that allow custom icons , tags, favorite's and widgets ?
0
0
0
0
0
0
0
0
0

Pequeño update el 20 de abril oficialmente cierro esta cuenta, asi que los invito a que me sigan en mis otras redes para que en un futuro no se pierdan de mi contendio, muchas gracias por haberme acompañado aqui espero poderlos ver por allá

Atte
LuXiao

0
0
0
0
0
0
0
0
0
0

OK so

Toenail clippings aren’t a requirement for something to be a Lisp. In fact, Apple made one back in the day that was basically Common Lisp with Algol syntax: en.m.wikipedia.org/wiki/Dylan_

It’s important that additional reader syntax has always been a part of Lisp family languages, and that it’s more about heritage and philosophy than aesthetics, when it comes to determining language families.

In fact, the original Lisp was never meant to just be toenail clippings: that was a lower level syntax intended for an initial prototype. But they found that it kinda worked well enough and just kept it that way for that iteration.

If I had to pick one thing that really defined what makes a Lisp, it’s a combination of dynamicity and ease of defining DSLs on the fly for every little thing. Two things that are really not uncommon today (thanks to Lisp and its more obvious descendants)

From: @mcc
mastodon.social/@mcc/114308921

0