phone

    • chevron_right

      Ignite Realtime Blog: Openfire 4.7.0 beta & Hazelcast plugin 2.6.0 releases!

      guus • news.movim.eu / PlanetJabber • 6 December, 2021 • 2 minutes

    After a long few months full of hard work, we are happy to tell you that we are close to a 4.7.0 release for Openfire!

    This next version of our real time communications server has received a lot of improvements and bug fixes .

    A key area of the code that has received updates is the Multi-User Chat (MUC) implementation, with the objective of making that more stable in clustered environments. As always, but especially so if you’re making use of this functionality, we’d very much appreciate your feedback!

    Together with this beta release, we’ve also released a new version of the Hazelcast plugin, which is the plugin that adds Clustering support to Openfire. This release, version 2.6.0, goes hand-in-hand with the Openfire 4.7.0 release: Version 2.6.0 of the Hazelcast plugin will not work for any version of Openfire prior to the 4.7.0 (including the beta) release, while Openfire 4.7.0 (beta) and later will require at least version 2.6.0 of the Hazelcast plugin to enable clustering.

    We value your feedback!

    All feedback that we receive based on this beta will help us to improve the non-beta release. Even if you test this beta and find no issues, that’d be helpful for us to know! Please leave your feedback as a comment to this blogpost, or create a posting in our community’s forum ! If you want to chat with one of the developers, feel free to join the open_chat chatroom. We provide a web client with direct access , or you can join using your XMPP client of choice at open_chat@conference.igniterealtime.org .

    The beta release of Openfire 4.7.0 is available at our downloads page for beta releases . You can download version 2.6.0 of the Hazelcast plugin from that plugin’s archive page .

    The sha256sum values for the Openfire artifacts are listed below:

    6cf4cc7a0a834b23cdea0ade198c724ee4f0be5560f1d16321414497c4f5903b  openfire-4.7.0-0.2.beta.noarch.rpmceee17f76d2645f2fcc29f5a84efbcc7fc376f7e01ef05ba28b65e850fff96f8  openfire_4.7.0.beta_all.deb71e1a373420e048ee4c5921bcb54b4efa2357aaf9e57501284f20f0edeaa0428  openfire_4_7_0_beta.dmg7d1f248e03c60dbb071eeee6abf671932c47e154fae888bee9293f875323fdd7  openfire_4_7_0_beta.exe44bebac3da5f5d5d00270dcc303b34b6efce4c7c2bd1bfd4520827f6e8a58549  openfire_4_7_0_beta.tar.gz72f1cd7dc2015ec70902b3b18a5248651a6e3091ba12ebf8d2767834b057c17f  openfire_4_7_0_beta_x64.exe76e4cf8da32b062ed719812792849bcfc475a22208e721a5f1b7dcddda45a4a4  openfire_4_7_0_beta.zip

    Please note that starting with this release, a Java Runtime Environment is no longer distributed with Openfire.

    Thank you for using Openfire!

    For other release announcements and news follow us on Twitter

    1 post - 1 participant

    Read full topic

    • chevron_right

      The XMPP Standards Foundation: The XMPP Newsletter November 2021

      The XMPP Standards Foundation • news.movim.eu / PlanetJabber • 5 December, 2021 • 8 minutes

    Welcome to the XMPP Newsletter covering the month of November 2021 - the last release for this year! After our editorial break we will be back in February 2022!

    Many projects and their efforts in the XMPP community are a result of people’s voluntary work. If you are happy with the services and software you may be using, especially throughout the current situation, please consider to say thanks or help these projects!

    Read this Newsletter via our RSS Feed !

    Interested in supporting the Newsletter team? Read more at the bottom.

    Other than that — enjoy reading!

    Newsletter translations

    Translations of the XMPP Newsletter will be released here (with some delay):

    Many thanks to the translators and their work! This is a great help to spread the news! Please join them in their work or start over with any another language!

    XSF Announcements

    • The XSF members have to elected their new XSF Board and XSF Council ! Congratulations to everyone!

    • The XSF offers fiscal hosting for XMPP projects now! Please apply via Open Collective . For more information, see the announcement blog post .

      • Moreover, the XSF has accepted its first project to the fiscal hosting program! A big welcome to the MAM Plugin for XMPP.js (note that this is unaffiliated with the upstream xmpp.js project)! They will be working on adding MAM support to xmpp.js with the eventual goal of adding it to the Matrix Bifrost bridge, allowing XMPP users to fetch history from their favorite Matrix channels. You can donate to the effort here .
    • The XSF is planning to participate the Google Summer of Code 2022 (GSoC). If you are interested in participating as a student, mentor or as project in general please add your ideas and reach out to us !

    • Blog and newsletter pages at xmpp.org/blog now support multiple languages. We are happy for volunteers to support translating!

    Events

    XMPP Office Hours - Also, checkout our new YouTube channel !

    Berlin XMPP Meetup (remote) : Monthly Meeting of XMPP Enthusiasts in Berlin - always 2nd Wednesday of the month.

    Videos

    Sam Whited gave a talk for the XMPP Office Hours about the XSF’s new fiscal hosting service!

    Guest talk at Berlin XMPP Meetup: Diving deep into Briar at the XMPP Meetup Berlin

    Articles

    PeerTube Live Chat is using XMPP : Give your instance’s audience the ability to chat during live streams!

    Using XMPP instead of ActivityPub? Well, openEngiadina decided to do so !

    Missed for the September ‘21 newsletter, Nicholas A. Ferrell has written about their transition to XMPP for SMS communication via jmp.chat .

    Nicola Fabiano is back with another article about why they chose XMPP, and more specifically hosting Snikket to have control over personal information . Article also available in Italian

    Take Back Our Tech has started a series of articles (and companion video podcasts) about “XMPP: A Comeback Story”. First one is called A 20 Year Old Messaging Protocol For Robust, Private and Decentralized Communications and covers the ‘ecosystem’ of apps and servers with a quick starting guide. The second one continues with Making Anonymous Phone Calls & Texts With JMP.Chat .

    Niklas of gnulinux.ch asks (in German) “Is the free software community losing its values?”, wondering how come participation in free software discussions can no longer take place without using non-free software. Read the full article to find out why this matters and what solution exists already.

    The jmp.chat blog had two small updates, a guide on How to Subscribe Using Movim and an update about the official ways to communicate with the community and about the upcoming app (with dialer integration).

    Software news

    Clients and applications

    Gajim Development News : Annoyed of spam messages in public channels? Gajim just gained support for Message Moderation. Also this month: better message corrections and improved notifications.

    Gajim Message Moderation

    xmpp-dns was released in version 0.2.2 , a minor update that added the possibility to fall back on testing default ports if no XMPP SRV records are provided by the server.

    UWPX was released in version 0.38.0.0 . This release updates the OMEMO implementation from 0.7.0 (2020-09-05) to 0.8.1 (2021-10-07) and includes a bunch of OMEMO related bug fixes.

    SiskinIM version 7.0 was released. It’s a major release with support for XEP-0333 Chat Markers , location sharing and improved UI/UX, fetching history, cache handling and push improvements alongside number of bugfixes.

    BeagleIM version 5.0 was released. It’s a major release with support for XEP-0333 Chat Markers , screen, voice-messages and location sharing, improved UI/UX, fetching history and much more.

    Libervia (formerly “Salut à Toi”) 0.8 “La Cecília” has been released . Libervia is a multi-frontends client with social features such as blogging, photo albums, events organisation, etc. This release is a big milestone, preparing the field to make Libervia a great fit for family and friends focused social networks.

    A new major version of Converse.js is out after three months of development, version 9.0.0 brings compressed avatars, new media render settings and a lot of bugfixes. Admins should read the release notes and update their deployments.

    The new Converse.js version also got updated in the inVerse plugin version 9.0.0.1 for the Openfire server , and should appear in the instance updates list.

    Servers

    The new Snikket server update comes with improvements for the user interaction on iOS, an increased file sharing limit, resource monitoring and better account management!

    MongooseIM 5.0 was released on 7th October! What’s new? Dynamic XMPP domains, improved documentation, multiple bug fixes and more. Virtual hosting XMPP domains was already possible with MongooseIM, but dynamic domains make it possible to add new domains without restarting the server - and to add a lot of them! Load tests with up to 100k users have shown that now there’s practically no difference between all the users connecting to a single domain and all of them connecting to 100k domains - that is one domain per user - yes, it’s that flexible!

    Libraries

    The Mellium Dev Communiqué for November2021 has been released! This month work mostly focused on the carbons package and on creating a re-usable test suite that other libraries can import to test message styling .

    Openfire Smack publish version 4.4.4 as patch level release !

    Extensions and specifications

    Developers and other standards experts from around the world collaborate on these extensions, developing new specifications for emerging practices, and refining existing ways of doing things. Proposed by anybody, the particularly successful ones end up as Final or Active - depending on their type - while others are carefully archived as Deferred. This life cycle is described in XEP-0001 , which contains the formal and canonical definitions for the types, states, and processes. Read more about the standards process . Communication around Standards and Extensions happens in the Standards Mailing List ( online archive ).

    Proposed

    The XEP development process starts by writing up an idea and submitting it to the XMPP Editor. Within two weeks, the Council decides whether to accept this proposal as an Experimental XEP.

    • No XEPs proposed this month.

    New

    • No new XEPs this month.

    Deferred

    If an experimental XEP is not updated for more than twelve months, it will be moved off Experimental to Deferred. If there is another update, it will put the XEP back onto Experimental.

    • No XEPs deferred this month.

    Updated

    • Version 0.2.0 of XEP-0459 (XMPP Compliance Suites 2022)
      • Rename Advanced Server and Advanced Client to Server and Client
      • Add XEP-0455 to Future Development section (sp)

    Last Call

    Last calls are issued once everyone seems satisfied with the current XEP status. After the Council decides whether the XEP seems ready, the XMPP Editor issues a Last Call for comments. The feedback gathered during the Last Call help improving the XEP before returning it to the Council for advancement to Draft.

    • No Last Call this month.

    Stable (formerly known as Draft)

    Info: The XSF has decided to rename ‘Draft’ to ‘Stable’. Read more about it here.

    • Version 1.0.0 of XEP-0459 (XMPP Compliance Suites 2022)

      • Advance to Draft as per Council Vote from 2021-11-03. (XEP Editor (jsc))
    • Version 1.0.0 of XEP-0313 (Message Archive Management)

      • Advance to Stable as per Council Vote from 2021-10-27. (XEP Editor (jsc))

    Deprecated

    • No XEP deprecated this month.

    Call for Experience

    A Call For Experience - like a Last Call, is an explicit call for comments, but in this case it’s mostly directed at people who’ve implemented, and ideally deployed, the specification. The Council then votes to move it to Final.

    • No Call for Experience this month.

    Thanks all!

    This XMPP Newsletter is produced collaboratively by the XMPP community.

    Therefore many thanks to xdelatour, wurstsalat3000, seveso, palm123, Nicola Fabiano, mdosch, MattJ, Licaon_Kter, Goffi, erszcz, emus, Benoît Sibaud, Anoxinon e.V., Adrien Bourmault (neox) for their support and help in creation, review and translation!

    Many thanks to all contributors this year and their continuous support!

    Spread the news!

    Please share the news via other networks:

    Find and place job offers in the XMPP job board .

    Subscribe to the XMPP newsletter

    Also check out our RSS Feed !

    Help us to build the newsletter

    We started drafting in this simple pad in parallel to our efforts in the XSF Github repository . We are always happy to welcome contributors. Do not hesitate to join the discussion in our Comm-Team group chat (MUC) and thereby help us sustain this as a community effort. We really need more support!

    You have a project and write about it? Please consider sharing your news or events here, and promote it to a large audience!And even if you can only spend a few minutes of support, these would already be helpful!

    Tasks we do on a regular basis are for example:

    • Aggregation of news in the XMPP universe
    • Short formulation of news and events
    • Summary of the monthly communication on extensions (XEP)
    • Review of the newsletter draft
    • Preparation for media images
    • Translations: especially German, French, Italian and Spanish

    License

    This newsletter is published under CC BY-SA license .

    • wifi_tethering open_in_new

      This post is public

      xmpp.org /2021/12/the-xmpp-newsletter-november-2021/

    • chevron_right

      Ignite Realtime Blog: inVerse plugin for Openfire version 9.0.0.1 released!

      guus • news.movim.eu / PlanetJabber • 2 December, 2021

    The Ignite Realtime community is happy to announce the immediate availability of a an update to the inVerse plugin for Openfire, which makes the Converse.js web client available to your users.

    This release updates Converse to version 9.0.0.

    Your Openfire instance should automatically display the availability of the update. Alternatively, you can download the new release of the plugin at the inVerse plugin’s archive page . If you’ve got feedback or ideas about this plugin, come and join the conversation on Discourse !

    For other release announcements and news follow us on Twitter

    1 post - 1 participant

    Read full topic

    • chevron_right

      Jérôme Poisson: Libervia v0.8 « La Cecília »

      goffi • news.movim.eu / PlanetJabber • 30 November, 2021 • 7 minutes

    I'm proud to announce the release of Libervia 0.8 « La Cecília » (formerly known as « Salut à Toi »), after more than 2 years of development.

    This version is a big milestone preparing the future of the project. Let's have an overview of some major changes.

    Project Renaming

    In the interest of simplicity, the project has been renamed to " Libervia " (with was formerly the name of the web frontend), and all official frontends have now a straightforward name such as Libervia Web , Libervia Desktop / Mobile (same frontend for both), Libervia CLI for Command-Line Interface , and Libervia TUI for Terminal User Interface . The backend is, as you can guess, Libervia Backend . The former names are for now still used as aliases.

    Beside simplicity, the name change was also due to concerns with international audience: some people were thinking that "Salut à Toi" was dedicated to French-speaking people only. Hopefully, it will be easier for everybody, and people won't get confused any more by all the names which were previously used.

    Note that the renaming has implications on your configuration file which is now named libervia.conf ( sat.conf is still working for now). The sections have been updated with new names (to configure the CLI frontend you now use [cli] section instead of [jp] , for the web frontend it's now [web] instead of [libervia] ). Please check documentation in case of doubt.

    Technical Changes

    Libervia has been ported to Python 3, which has opened the door to other changes.

    Brython has been integrated to Libervia Web, to replace the unmaintained "Pyjamas" (which was a Python port of GWT ).

    Nunjucks is also now integrated in Libervia Web, making it possible to share some templates with Jinja . This is notably useful to make some pages working with or without JavaScript.

    OMEMO implementation has been completed with support for MUCs (group chats) and files (via XEP-0454: OMEMO Media Sharing ).

    Many other changes are not explained in this note to avoid it being indigestible, you can check the CHANGELOG for more information.

    Libervia Web New Default Theme

    A new theme for Libervia Web based on the nice Bulma CSS framework has been made and is now the default one. Thanks to it the interface is clearer and more pleasant to use.

    Events list with the new theme

    Invitations

    An easy to use invitation system has been implemented in Web frontend, and can be used either to give access to something to somebody with an existing XMPP account, or to invite somebody by email. The goal is to be able to share things (e.g. photo album, event) with family or friends without having to expect them to install a software or create an account.

    Inviting people to see a photo album

    Lists

    A decentralised issue tracking system was implemented since version 0.7, which was notably used to manage Libervia's own tickets. It was using a non-standard feature available only in Libervia Pubsub (formerly "SàT Pubsub", server independent Pubsub/PEP component, a side project).

    This feature has been renamed to "Lists" and now uses XEP-0346: Form Discovery and Publishing which makes it usable with a generic Pubsub service.

    Any kind of list can be created, from project tickets to keep track of bug report of feature requests, to To-do list, grocery list, etc. Being based on XMPP pubsub, lists can be federated, and permissions can be managed easily (for instance to allow various family members to modify a shopping list).

    Grocery List on Libervia Web

    For the moment 3 kinds of lists are available (generic tickets, To-Do, grocery), but more are expected to come in future versions.

    Photo albums

    Lots of improvements have been made on the photo albums in the web frontend. They can now be created or deleted from Libervia Web, photos or videos can be uploaded, a touch/mobile-friendly slideshow is available, ogv.js has been integrated to make possible the viewing of videos in Ogg Vorbis/Opus/Theora ans WebM VP8/VP9/AV1 on platforms not supporting them natively, and the invitation system mentioned above has been integrated.

    you can now use a slideshow to see your photos and videos

    Desktop

    Libervia Desktop UI has also been updated, the top menu has been removed, file dropping is now possible on suitable platforms, chat has infinite scrolling, a new "chat selector" screen makes it easier to select entity to chat with or room to join, message attachments are show in a more user-friendly way, and several other improvements has been done.

    Chat Selector on Libervia Desktop

    Work has also been done on Libervia Mobile (which is Android only for now), but this frontend is not user-friendly enough yet for end-user.

    Attachment on Libervia Mobile

    CLI

    The CLI frontend is now fully documented and following the renaming can now be accessed either by libervia-cli or the shorter li (legacy jp is still working for now). Among new commands we can highlight li file get which retrieve a file with support of aesgcm scheme (i.e. OMEMO Media Sharing), which makes it a kind of OMEMO enabled wget like. li file upload also handle end-to-end encryption, it's thus easy to share an encrypted file from command-line or a script.

    Background colour is now automatically detected on compatible terminal emulator, and theme is adapted consequently.

    But Also…

    File Sharing Component

    Libervia can act as a component (which can be seen as generic XMPP server plugins), and it includes a File Sharing Component.

    This component store files which can be retrieved either according to given permissions or publicly.

    Files can be uploaded or downloaded via XEP-0234: Jingle File Transfer and XEP-0363: HTTP File Upload is now also implemented, making it possible to share files via HTTPS link.

    This component can now be used to replace internal XMPP servers HTTP File Upload implementations. In addition to the fine permission management, it does not have a size limit and user quotas can be set, check the documentation to see how to set them. Files uploaded can be retrieved using XEP-0329: File Information Sharing and deleted with XEP-0050: Ad-Hoc Commands .

    This component is necessary to use the Photo Album feature.

    Libervia Pubsub

    A Pubsub/PEP component (formerly named "SàT Pubsub") is developed next to Libervia. It aims to provide a server independent feature-full implementation.

    Libervia Pubsub is released at the same time as the Libervia XMPP client, and has also been ported to Python 3.

    Among novelties, Full-Text Search has been implemented ( XEP-0431: Full Text Search in MAM ), as well as XEP-0346: Form Discovery and Publishing which replaces the former non-standard node schema, and PEP is now working for the server itself, making it usable for XEP-0455: Service Outage Status .

    Docker Images

    Docker images have been updated and moved directly to libervia-backend repository (in docker subdirectory).

    Official Website

    The Official Website has been updated with a new theme (based on Libervia Web new theme).

    Installation

    Libervia is available on several GNU/Linux distributions (at least Debian and derivative and Arch Linux). Unfortunately, the current Debian version is outdated (due to incompatible Debian and Libervia release dates), hopefully the new version will be available as a backport soon.

    You can easily install Libervia on any distribution by using pipx :

    $ pipx install libervia-backend$ pipx install libervia-desktop

    Then launch libervia-backend , and a frontend (e.g. libervia-cli or libervia-desktop ). Check the documentation for details.

    Docker images are available, and notably a web-demo.yml file can be used with docker-compose to quickly try a local demo:

    $ hg clone https://repos.goffi.org/libervia-backend $ cd libervia-backend/docker$ docker-compose -f web-demo.yml up

    Then open your browser on http://localhost:8880 and use the login demo with password demo .

    What's Next

    A Libervia based project has been selected by NLnet for a grant. This project is in 2 parts: working on an XMPP ⟺ ActivityPub gateway, then on pubsub and files end-to-end encryption. You'll find more information on this blog post and on NLnet project page . The project has already well started, and you can follow the progress on my blog (which is Libervia/XMPP powered) or on the ticket tracker (which is also Libervia/XMPP powered). A huge thanks to NLnet/NGI0 Discovery Fund!

    Besides, work is planned to improve user experience and instant messaging feature (notably on Web frontend). Libervia aims to be a good fit for private networks for family and friends.

    Last but not least, I've been pleased to see that Libervia Web is used to power jmp.chat blog . JMP is a company which give you a real phone number which can be used with XMPP and SIP (you can call this number from a traditional phone and get the voice call from a XMPP client).

    This concludes this release post. Stay tuned!

    • wifi_tethering open_in_new

      This post is public

      www.goffi.org /b/libervia-v0-8-la-cecilia-BdQ4

    • chevron_right

      JMP: Newsletter: New website, new forums, new app feature

      Stephen Paul Weber • news.movim.eu / PlanetJabber • 30 November, 2021 • 2 minutes

    Hi everyone!

    Welcome to the latest edition of your pseudo-monthly JMP update!

    In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client.  Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free as in Freedom; Share one number with multiple people.

    This month we launched a full rewrite of our website.  While this rewrite was mostly precipitated by changes at our primary carrier partner, we managed to get a few improvements in there as well.  First of all, the search box on the homepage now accepts more than just area codes: a city then comma then two-letter state or province code is accepted, as well as zip codes or vanity patterns (like ~woof or ~1234 ).  This search is also now powered by XMPP commands in the backend, so you can now get a JMP number entirely without ever visiting the website, just talk to cheogram.com and send register jmp.chat to get started.

    Next, our community has been testing more features in the pre-release Cheogram app.  This app is available to anyone who wants to test it by coming by the chatroom and asking for access.  When the app is a bit more ready, it will be released on F-Droid, hopefully in Q1 2022.  The big new feature right now is dialer integration.  This allows anyone using the app with cheogram.com added to their contacts to head to their native Android dialer and visit Settings > Calls > Calling accounts in the menu.  From there it should be possible to enable the calling account associated with your Jabber ID and then dial out directly from your native Android dialer app over JMP!  Any questions about this feature or the Cheogram app in general should be directed to the chatroom.

    As our community grows it makes sense to reach more people where they are at, and not just hang out where we are most comfortable.  This month the freedomware project we sponsor and rely on, Sopranica , is opening two more venues where you will be able to get news from JMP or discuss the project generally: Lemmy and Reddit.  Here is the new complete list of official ways to communicate with our community:

    Thanks for reading and have a wonderful rest of your week!

    • wifi_tethering open_in_new

      This post is public

      blog.jmp.chat /b/november-newsletter-2021

    • chevron_right

      Gajim: Development News November 2021

      Gajim • news.movim.eu / PlanetJabber • 29 November, 2021 • 1 minute

    Annoyed of spam messages in public channels? Gajim just gained support for Message Moderation! Also this month: better message corrections and improved notifications.

    Changes in Gajim

    If you’re participating in public channels you might have witnessed spam from time to time. Someone comes along and pastes some URL about a promising business opportunity, or leaves an offending picture. Moderators can kick/ban spammers, but that does not remove those messages. With XEP-0425 Message Moderation, there is a standard for retracting messages from a group chat. Both server and client have to support this standard, and you have to be Moderator/Admin/Owner in order to be able to retract messages. Gajim 1.4 will support message moderation in both ways: by offering moderation actions for messages, and by displaying a disclaimer for message which have been moderated.

    Message Moderation in action

    Message Moderation in action

    Coming with Gajim 1.4, message corrections done via XEP-0308 Last Message Correction will be stored in the database. Up until now, each correction has been stored as a separate message. From now on, the original message text will be stored, and each subsequent correction will replace the message’s text. This way, Gajim can restore message corrections when loading messages from the database while showing the original message in a tooltip. While working on this, we also updated Gajim to the latest version of the Last Message Correction standard, which allows to edit the same message multiple times.

    Many of you asked about how to clean up the list of chats in Gajim’s Start Chat window. We went ahead an added a “Forget Group Chat” menu item for each group chat. This effectively obsoletes the bookmarks management window, which is now read-only.

    What else happened:

    • Windows installer is ready for Gajim 1.4
    • Notifications now show details of received files instead of a plain https:// or aesgcm:// link
    • Avatars: non-square images are now displayed correctly by zooming in before cutting out a circle

    Plugin updates

    Almost all plugins are now ready for Gajim 1.4.

    Changes in python-nbxmpp

    XEP-0425 Message Moderation is now supported by python-nbxmpp.

    There is a huge change for python-nbxmpp coming, which involves a new XML parser and a lot of type checking. Read more about that in upcoming posts.

    As always, feel free to join gajim@conference.gajim.org to discuss with us.

    Gajim

    • wifi_tethering open_in_new

      This post is public

      gajim.org /post/2021-11-29-development-news-november/

    • chevron_right

      Peter Saint-Andre: Aristotle Research Report #17: Let the Re-Reading Begin

      Peter Saint-Andre • news.movim.eu / PlanetJabber • 28 November, 2021

    Just under two years ago, I thought I was done with phase one of my research into Aristotle's views o human flourishing, having at that point read around 120 distinct works by or related to Aristotle (including all of Plato's dialogues). Well, I was wrong: since then I've read an additional 150 works, almost exclusively in the scholarly literature on Aristotle. Now I have three whole shelves of books about Aristotle in my office....
    • chevron_right

      Erlang Solutions: Blockchain Tech Deep Dive 1/4

      Erlang Admin • news.movim.eu / PlanetJabber • 22 November, 2021 • 6 minutes

    INTRODUCTION

    Blockchain technology is transforming nearly every industry, whether it be banking,  government, fashion or logistics. The benefits of using blockchain are substantial – businesses can lower transaction costs, free up capital, speed up processes, and enhance security and trust. So it’s no surprise that more and more companies and developers are interested in working with the technology and leveraging its potential than ever before.

    This blog post series will cover some of the thinking from Erlang Solutions’ subject matter experts on blockchain technology published over the last couple of years. Across four main themes, we will explore how companies and developers are working with blockchain, the principles behind the technology, what we can expect in the future and where we all fit into things.

    Theme I – 6 Principles – Blockchain Guidance

    Theme II – Blockchain Myths vs Reality

    Theme III – Digital Asset Ownership

    Theme IV – How Erlang Optimises Blockchain

    Blockchain – an overview

    The world is becoming decentralised.

    A multitude of platforms, technologies, and services are moving from centralised proprietary systems to decentralised, open ones. This is being driven by several powerful social and psychological factors which you can find discussed later in Blockchain: Myths vs Reality and Digital Asset Ownership in the Era of Blockchain by Dominic Perini and MIchael Jaiyeola.

    A blockchain is one architectural design of the broader concept of distributed ledger technology (DLT). Essentially, a blockchain is an expanding list of cryptographically signed, irrevocable transactional records that are shared by all participants in a network. Each record is time-stamped and references links to previous transactions. Anyone with access rights can trace back a transactional event, at any point in its history, belonging to any participant.


    For organisations, blockchain presents an opportunity for a fundamental change in how data is managed; from where every company has its own copy of a data set to a scenario in which all parties in a network have controlled access to a shared copy.

    The key benefit of this is that traditional independent institutions can collaboratively work together to integrate and optimise existing processes to mutual advantage while, crucially, not compromising on the security of sensitive data.

    We view it as vital that relevant parties from every industry are across the latest in debate surrounding blockchain as the technology is set to become increasingly prevalent in all of our lives.

    Theme I

    6 Principles – Blockchain Guidance

    1. Software Engineering

    Embrace the best practices in software engineering, in particular, the exploitation of functional programming and the design patterns that emerge from it. Develop and optimise code that speeds up the software development process, its evolution and adaptation, delivering on critical time-to-market business requirements, which is essential when it comes to blockchain!

    Take a modern approach to test ensuring that a high degree of quality is preserved throughout the lifecycle of a system. Leverage auto-generated Property-Based Test and continuous stress tests combined with traditional Test-Driven Development.

    Empower your software engineers to embrace modern agile software development methodologies that support scaling the workforce whenever and however needed. Practising agile ways of deployment automation, type checks, sensible naming conventions and documentation is extremely important, especially during handovers or when onboarding new developers.

    Distributed Systems

    Work with engineers previously involved in the development of massively scalable systems. Their experience working on messaging systems or distributed databases gives you the confidence that they will choose the correct partitioning, sharding and replica parameters.

    The need for engineering highly scalable and distributed systems has grown, and this is what we do every day. Building distributed systems to cater to billions of users and transactions on a daily basis. Delivering solutions that are resilient against node crashes or bad actors, and therefore exclude single points of failure.

    “Having numerous clients around the globe spanning from startups to Fortune 500 companies, Erlang Solutions has gained invaluable experience and thrives when working on complex cases and providing solutions to distributed systems.”

    Yanislav Malahov, æternity founder

    Networking

    Find a team with vast experience in growing automated network traffic management and dynamic topologies. Check if their monitoring capacity and expertise can be embedded to allow adaptation to changing scenarios, and identify problems before they occur (preemptive adaptation).

    Does their approach also ensure that back-pressure control protects the system’s capacity against overloads and increases its robustness? These modern approaches are valid for centralised, decentralised and distributed peer-to-peer (p2p) networks, often associated with bespoke service discovery mechanisms, and should be something that you clear with your team early on.

    Security & Resilience

    Make sure that you have the right people to monitor your system and repair mechanisms, and strategies using important resilience components. Dedicated secure p2p protocols, static analysis and property-based testing are among the techniques you should adopt to drive the security of a system. Information validation is used to protect against the man in the middle (MitM) attacks. Back pressure mechanisms protect against distributed denial of service attacks (DDOS).

    Both symmetrical and asymmetrical encryptions are used to achieve the highest level of security possible. It’s also worth checking on hardware security ensuring that sensitive private keys are only accessible via hardware security modules (HSM).

    Erlang is a high-level language that avoids a lot of the security issues that are an issue with C/C++ (no buffer overflows, no dangling pointers, etc)

    Dal Gemmell, Head of Product at Helium Inc.

    Integration

    ‘Blockchain needs to be integrated into existing technology to be usable and affordable.’
    Arzu Toren, Global Banker

    Integrating applications on top of complex backends, as well as providing synchronous and asynchronous interfaces among backends, is a serious job. So it’s worth checking if your team uses frontend facing APIs such as REST and Websocket to implement responsive applications. They should comply with industry standards for compatibility and security to drive message exchanges on top of a variety of AMQP and JMS queuing mechanisms.

    In the Blockchain space, we are highly competent in designing cross-chain smart contracts capable of changing anchor data to major networks such as Bitcoin, leveraging its security against history revisions. We can provide guidance to plan effective and reliable integration tests, ensuring the compliance of data validation and communication protocols is preserved throughout the development process.

    Erlang can easily interface with C/C++/Rust libraries using Native Implemented Functions (NIFs), and we do that a lot to talk to cryptographic libraries and for performance-critical code.

    Dal Gemmell, Head of Product at Helium Inc.

    Programming Language

    Engage with us as true polyglots! We specialise in Erlang and Elixir, but we are highly competent in every other language in the industry, this could be Java/Scala, JS, C/C++, Python, Rust or Go , we stay relevant!

    Vast expertise in language interpretation and virtual machines has proven to be critical know-how in a variety of modern blockchain solutions.

    “Erlang Solutions is renowned for its technical talent, and having already embedded some of its engineers and architects in our development team, we have no doubt that Erlang Solutions will play a crucial part in building out an extremely strong core team.”

    Yanislav Malahov, æternity founder

    For any business size in any industry, we’re ready to investigate, build and deploy your blockchain-based project on time and to budget.

    Get in touch with your blockchain project queries general@erlang-solutions.com or via the contact us form. Stay tuned for the next theme in this series ‘Blockchain: Myths vs Reality by Dominic Perini.

    The post Blockchain Tech Deep Dive 1/4 appeared first on Erlang Solutions .

    • chevron_right

      Snikket: November 2021 server release

      Snikket Team (team@snikket.org) • news.movim.eu / PlanetJabber • 18 November, 2021 • 3 minutes

    We’re excited to introduce a new release of the Snikket server! The Snikketserver is an easy-to-install server package that allows you to run your ownprivate messaging service for family, friends and other small groups.

    Since the previous server release, we’ve been focusing our work mainly on theSnikket apps, especially the first release of our iOS app. We’ve continuedwork on the server part of Snikket though, and we’re glad to share a range ofnew improvements with you now.

    For information on how to upgrade from a previous release, see our quick upgrade guide .

    iOS improvements

    In case you missed it, we released thefirst version of our iOS app to the app store a couple of months ago. We’vebeen continuing to develop the app, and more releases are already in thepipeline.

    Upon the app’s initial release there were still a few “rough edges”, such asthe lack of notifications for group messages while the app is closed. Fixing anumber of these issues required work on the server, and so that has been a bigfocus of this release.

    In particular:

    • Encrypted messages show a nicer notification (“You have received an encrypted message”). Displaying the contents of encrypted messages without opening the app is not yet possible, but is planned.
    • The app can now show notifications from group chats even while the app is closed. A couple more small changes are required before this works seamlessly, and these will be included in a future app update.

    Now that these issues are resolved, a link to the iOS app will be shown bydefault on the Snikket invitation page, starting from this release.

    File sharing limit increased

    You can now share files up to 100MB using Snikket! Previously this was limitedto 16MB for technical reasons. Although most shared files are much smallerthan 16MB, there is the occasional need to share larger files. Now you’recovered.

    To help server operators plan their system resources, it’s now possible to seta service-wide quota for the storage of uploaded files. This means that even if your users have alittle too much fun with the new limits, you can be sure your system won’t runout of disk space.

    Limited accounts

    In the previous release we introduced the ability to select whether an accountis an administrator or a normal user. In this release we add one further type:“limited” accounts.

    A limited account has a number of restrictions. In particular they:

    • may only communicate with users and group chats on the same server,
    • may not create public channels,
    • may not invite new users to the server.

    The purpose of limited accounts is to allow you to grant use of the server forcommunication with other users of the server only. This can be applied toaccounts for children or guest users, for example.

    For more information, see the documentation on User Roles .

    Resource monitoring

    The web admin dashboard now shows some basic statistics about your serverresources, such as system load and memory usage of the various Snikketcomponents. This can be helpful to ensure Snikket is performing well and youhave enough resources available to serve your users.

    Screenshot of the resources panel in the Snikket web interface

    Screenshot of the resources panel in the Snikket web interface

    Server announcements

    In the same system health area of the admin dashboard, you can also now sendan announcement message to all users of your server - e.g. to inform themabout upgrades and maintenance.

    Support and questions

    As usual if you need any help or have questions about the new release, you’rewelcome to join our community chat where folk will be glad tohelp you out.

    Stay tuned for more upcoming releases, and… happy chatting!

    • wifi_tethering open_in_new

      This post is public

      snikket.org /blog/nov-2021-server-release/