Erlang Solutions: Effortlessly Extract Data from Websites with Crawly YML
The workflowSo in our ideal world scenario, it should work in the following way:
- Pull Crawly Docker image from DockerHub.
- Create a simple configuration file.
- Start it!
- Create a spider via the YML interface.
The detailed documentation and the example can be found on HexDocs here: [https://hexdocs.pm/crawly/spiders_in_yml.html#content](https://hexdocs.pm/crawly/spiders_in_yml.html#c … ⌘ Read more
Mathieu Pasquet: Finding a new home for poezio and slixmpp
After more than a decade of starting the Poezio project, and more than half after starting the slixmpp fork or SleekXMPP, louiz’ does not have any day-to-day involvement in them.
Nonetheless, he has provided us with the space to host repositories and bug trackers (redmine at first, then gitlab), done the required sysadmin work every time it was needed, and has also paid ever … ⌘ Read more
Erlang Solutions: Optimización para lograr concurrencia: comparación y contraste de las máquinas virtuales BEAM y JVM
En esta nota exploraremos los aspectos internos de la máquina virtual BEAM o VM por sus siglas en inglés (Virtual Machine). Y haremos una comparación con la máquina virtual de Java, la JVM.
El éxito de cualquier lenguaje de programación en el ecosistema Erlang puede ser repartido a tres componentes estrechamente … ⌘ Read more
Paul Schaub: Creating an OpenPGP Web-of-Trust Implementation – Knitting a Net
There are two obvious operations your OpenPGP implementation needs to be capable of performing if you want to build a Web-of-Trust. First you need to be able to sign other users public keys (certificates), and second, you need to be able to verify those certifications.
The first is certainly the easier of the two tasks. In order to sign another users certificate, you simply take your own s … ⌘ Read more
Erlang Solutions: How to Manage Your RabbitMQ Logs: Tips and Best Practices
RabbitMQ is an open-source message broker software that allows you to build distributed systems and implement message-based architectures. It’s a reliable and scalable messaging system that enables efficient communication between different parts of your application. However, managing RabbitMQ logs can be a challenging task, especially when it’s deployed on a large cluster. In this article, we’ll ta … ⌘ Read more
Erlang Solutions: The business value behind green coding
Most large businesses – and many smaller ones – now have a sustainability strategy. Measuring Environmental, Social and Governance (ESG) impact has been transformed from a fringe activity into a fundamental differentiator.
That’s partly because organisations want to do the right thing – climate change affects everyone, after all – and also because sustainability makes sound business sense.
B2C businesses are dealing with increasingl … ⌘ Read more
Ignite Realtime Blog: Openfire inVerse plugin v10.1.4-1 release!
The Ignite Realtime community is happy to announce the immediate release of version “10.1.4 release 1” of the inVerse plugin for Openfire!
The inVerse plugin adds a Converse-based web client to Openfire ( Converse is a third party implementation). With this plugin, you’ll be able to set up a fully functional Converse-based chat clients with just a few mouse-clicks!
This update includes an … ⌘ Read more
Isode: Harrier 3.3 – New Capabilities
Harrier is our Military Messaging client. It provides a modern, secure web UI that supports SMTP, STANAG 4406 and ACP 127. Harrier allows authorised users to access role-based mailboxes and respond as a role within an organisation rather than as an individual.
, and the Internet of Things (IoT) has enabled highly sophisticated and interconnected systems. The … ⌘ Read more
Isode: M-Link 19.4 Limited Release
M-Link 19.4 provides a very significant update and in particular provides the M-Link User Server product. It also provides M-Link MU Server, M-Link MU Gateway and M-Link Edge. It does not provide M-Link IRC Gateway, which remains M-Link 17.0 only.
M-Link 19.4 Limited Release is provided ahead of the full M-Link 19.4 release. M-Link 19.4 Limited Release is fully supported by Isode for production deployment. There is one significant difference with a standard Isod … ⌘ Read more
Erlang Solutions: Unleashing the Power of SNMP: Exposing Your Embedded Elixir/Erlang (Nerves, GRiSP) Apps to the World
Did you know that Erlang/OTP ships with built-in SNMP (Simple Network Management Protocol) support? Using SNMP is a great way to integrate your Elixir or Erlang application into an industrial environment. This will be of particular interest for those working with embedded … ⌘ Read more
Erlang Solutions: Lifting Your Loads for Maintainable Elixir Applications
This post will discuss one particular aspect of designing Elixir applications using the Ecto library: separating data loading from using the data which is loaded. I will lay out the situations and present some solutions, including a new library called ecto_require_associations.
Applications will differ, but let’s look at [this example]( … ⌘ Read more
Erlang Solutions: Lifting Your Loads for Maintainable Elixir Applications
This post will discuss one particular aspect of designing Elixir applications using the Ecto library: separating data loading from using the data which is loaded. I will lay out the situations and present some solutions, including a new library called ecto_require_associations.
Applications will differ, but let’s look at [this example]( … ⌘ Read more
hrxi: Windows support for Dino
Hello, I’m back!
It’s been four years since I participated in my first Google Summer of\
Code. I’m hrxi, a mathematics student from Germany. I got accepted
into this year’s Google Summer of Code program with the XMPP software\
foundation as the mentoring
organisation. I chose the extended\
timeline, so I am
going to work on [ … ⌘ Read more
JMP: JMP is Launched and Out of Beta
JMP has been in beta for over six years, and today we are finally launching! With feedback and testing from thousands of users, our team has made improvements to billing, phone network compatibility, and also helped develop the Cheogram Android app which provides a smooth onboarding process, good Android integration, and phone-like UX for users of that platform. There is still a long road ahead of us, but with so much behind us we’re comfortable saying JMP is ready for la … ⌘ Read more
Erlang Solutions: Sign up for the RabbitMQ Summit Waiting List
Mark your calendars! The Very Early Bird tickets for the RabbitMQ Summit are set to open on 15th June, 2023. In joining the waiting list, you will receive exclusive access to the conference’s best-priced tickets.
This is your chance to secure your spot at the RabbitMQ Summit at a discounted rate, allowing you to make the most of this incredible learning and networking … ⌘ Read more
Erlang Solutions: Call for Speakers at the RabbitMQ Summit
Are you a user, operator, developer, engineer, or simply someone with interesting user stories to tell about RabbitMQ? If so, we have some exciting news for you! The RabbitMQ Summit 2023 is just around the corner, and we are thrilled to invite you to submit your talks for this highly anticipated event.
The RabbitMQ Summit brings together a vibrant, diverse community of enthusiasts from all corne … ⌘ Read more
The XMPP Standards Foundation: The XMPP Newsletter May 2023
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of May 2023.
Many thanks to all our readers and all contributors!
Like this newsletter, 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, please consider saying thanks or help these projects! Interested in supporting the Newsletter team? Read more [at the … ⌘ Read more
Erlang Solutions: How ChatGPT improved my Elixir code. Some hacks are included.
I have been working as an Elixir developer for quite some time and recently came across the ChatGPT model. I want to share some of my experience interacting with it.
During my leisure hours, I am developing an open-source Elixir initiative, Crawly, that facilitates the extraction of structured data from the internet.
Here I want to demonstrate how … ⌘ Read more
Gajim: Gajim 1.8.0
Gajim 1.8.0 comes with integrated OMEMO encryption! Integrating the OMEMO plugin brings tighter integration and better user experience. We also rearranged the chat menu and added some quick buttons for convenience. Both Gajim’s message search and conversation view received some important changes and fixes. Thank you for all your contributions!
In the past, we moved the most popular plugins into Gajim’s core: image preview, plugin installer, HTTP file upload, syntax highligh … ⌘ Read more
Erlang Solutions: Here’s why you should consider investing in RabbitMQ during a recession
Europe and the US are leading the way in the forecasted recession for 2023, due to persistently high inflation and increasing interest rates. With minimal projected GDP growth, modern technologies can play a crucial role in reducing the impact of economic downturns.
As caution looms, it can be tempting to reign in on your investment. Your initial thought is to balance t … ⌘ Read more
Ignite Realtime Blog: CVE-2023-32315: Openfire Administration Console authentication bypass
We’ve had an important security issue reported that affects all recent versions of Openfire. We’ve fixed it in the newly published 4.6.8 and 4.7.5 releases. We recommend people upgrade as soon as possible. More info, including mitigati … ⌘ Read more
Ignite Realtime Blog: Openfire 4.7.5 Release
The Ignite Realtime Community is happy to announce the 4.7.5 release of Openfire!
This release primarily addresses the issue that is subject of security advisory CVE-2023-32315, but also pulls in a number of improvements and bugfixes
You can find download artifacts [available here](https://ignit … ⌘ Read more
Ignite Realtime Blog: Openfire 4.6.8 Release
The Ignite Realtime Community is happy to announce the 4.6.8 release of Openfire!
We have made available a new release of this older version to addresses the issue that is subject of security advisory CVE-2023-32315.
We are aware that for some, the process of deploying a new major version of Openfire is not a trivial matter, as it may encompass a lot more than only pe … ⌘ Read more
Erlang Solutions: Entendiendo procesos y concurrencia
Bienvenidos al segundo capítulo de la serie “ Elixir, 7 pasos para iniciar tu viaje” .
En el primer capítulo hablamos sobre la máquina virtual de Erlang, la BEAM, y las características que Elixir aprovecha de ella para desarrollar sistemas que son:
- Concurrentes
- Tolerantes a fallos
- Escalables y
- Distribuidos
En esta nota explicaremos qué … ⌘ Read more
Erlang Solutions: Understanding Elixir processes and concurrency
Welcome to the second chapter of the “Elixir, 7 steps to start your journey” series.
In the first chapter, we talk about the Erlang Virtual Machine, the BEAM, and the characteristics that Elixir takes advantage of to develop systems that are:
- Concurrent
- Fault-tolerant
- Scalable and
- Distributed
In this note, I’ll explain … ⌘ Read more
Erlang Solutions: Entendiendo procesos y concurrencia
Bienvenidos al segundo capítulo de la serie “ Elixir, 7 pasos para iniciar tu viaje” .
En el primer capítulo hablamos sobre la máquina virtual de Erlang, la BEAM, y las características que Elixir aprovecha de ella para desarrollar sistemas que son:
- Concurrentes
- Tolerantes a fallos
- Escalables
- Distribuidos
En esta nota explicaremos qué si … ⌘ Read more
Erlang Solutions: Understanding Elixir processes and concurrency
Welcome to the second chapter of the “Elixir, 7 steps to start your journey” series.
In the first chapter, we talk about the Erlang Virtual Machine, the BEAM, and the characteristics that Elixir takes advantage of to develop systems that are:
- Concurrent
- Fault-tolerant
- Scalable
- Distributed
In this note, I’ll explain wha … ⌘ Read more
Isode: Messaging Products Update – 19.0 Capabilities
The below is a list of the new capabilities brought to our Messaging products for the 19.0 release. 19.0 adds a lot of extra functionality across the board for our messaging products, along with a complete rewrite of the codebase so that future releases and bug fixes can be developed more quickly. For the full release notes please check the individual product updates, available from the customer portal and evaluation sections of ou … ⌘ Read more
Isode: Directory Products Update – 19.0 Capabilities
The below is a list of the new capabilities brought to our Directory products for the 19.0 release. 19.0 adds a lot of extra functionality across the board for our messaging products, along with a complete rewrite of the codebase so that future releases and bug fixes can be developed more quickly. For the full release notes please check the individual product updates, available from the customer portal and evaluation sections of ou … ⌘ Read more
Erlang Solutions: MongooseIM 6.1: Handle more traffic, consume less resources
MongooseIM is a highly customisable instant messaging backend, that can handle millions of messages per minute, exchanged between millions of users from thousands of dynamically configurable XMPP domains. With the new release 6.1.0 it becomes even more cost-efficient, flexible and robust thanks to the new arm64 [Docker containers](https://hub.docker. … ⌘ Read more
Kaidan: Kaidan 0.9: End-to-End Encryption & XMPP Providers
It’s finally there: Kaidan with end-to-end encryption via OMEMO 2, Automatic Trust Management and support of XMPP Providers!
Most of the work has been funded by NLnet via NGI Zero PET and NGI Assure with [public … ⌘ Read more
JMP: Newsletter: Jabber ID Discovery, New Referral Codes
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 … ⌘ Read more
Erlang Solutions: Re-implement our first blog scrapper with Crawly 0.15.0
It has been almost four years since my first article about scraping with Elixir and Crawly was published. Since then, many changes have occurred, the most significant being Erlang Solution’s blog design update. As a result, the 2019 tutorial is no longer functional.
This situation provided an excellent opportunity to update the original work and re-implement the Crawler using the new version of Cra … ⌘ Read more
Isode: Red/Black 2.0 – New Capabilities
This major release adds significant new functionality and improvements to Red/Black, a management tool that allows you to monitor and control devices and servers across a network, with a particular focus on HF Radio Systems. A general summary is given in the white paper Red/Black Overview
Support added for Switch type devices, that can connect multiple devices and allow … ⌘ Read more
ProcessOne: ejabberd 22.10
This ejabberd 22.10 release includes six months of work, over 140 commits, including relevant improvements in MIX, MUC, SQL, and installers, and bug fixes as usual.
This version brings support for latest MIX protocol version, and significantly improves detection and recovery of SQL connection issues.
There are no breaking changes in SQL schem … ⌘ Read more
Erlang Solutions: Re-implement our first blog scrapper with Crawly 0.15.0
It has been almost four years since my first article about scraping with Elixir and Crawly was published. Since then, many changes have occurred, the most significant being Erlang Solution’s blog design update. As a result, the 2019 tutorial is no longer functional.
This situation provided an excellent opportunity to update the original work and re-implement the Crawler using the new version of Crawl … ⌘ Read more
ProcessOne: ejabberd 23.04
This new ejabberd 23.04 release includes many improvements and bug fixes, as well as some new features.
- Many SQL database improvements
mod_mamsupport for XEP-0425: Message Moderation
- New
mod_muc_rtbl, Real-Time Block List for MUC rooms
- Binaries useErlang/OTP 25.3, and changes in containers
A more detailed explanatio … ⌘ Read more
ProcessOne: ejabberd 23.04
This new ejabberd 23.04 release includes many improvements and bug fixes, as well as some new features.
- Many SQL database improvements
mod_mamsupport for XEP-0425: Message Moderation
- New
mod_muc_rtbl, Real-Time Block List for MUC rooms
- Binaries useErlang/OTP 25.3, and changes in containers
A more detailed explanatio … ⌘ Read more
The XMPP Standards Foundation: Elbe-Sprint Hamburg 2023
Elbe-Sprint Hamburg 2023 - _Source: Wiki Commons, Container terminals in port of Hamburg_
A new sprint is being organised within the XMPP Community: The Elbe-Sprint Hamburg!
We will have several days of good and fruitful exchange … ⌘ Read more
Sam Whited: Concord and Spring Road Linear Parks
In my earlier review of Rose Garden and Jonquil public parks I mentioned
the Mountain-to-River Trail
(M2R), a mixed-use bicycle
and walking trail that connects the two parks.
The two parks I’m going to review today are also connected by the M2R trail in
addition to the [Concord Road Trail](https://blog.samwhited.com/cate … ⌘ Read more
Erlang Solutions: Optimización para lograr concurrencia: comparación y contraste de las máquinas virtuales BEAM y JVM
En esta nota exploraremos los aspectos internos de la máquina virtual BEAM o VM por sus siglas en inglés (Virtual Machine). Y haremos una comparación con la máquina virtual de Java, la JVM.
El éxito de cualquier lenguaje de programación en el ecosistema Erlang puede ser repartido a tres componentes estrechamente ac … ⌘ Read more
JMP: Verify Google Play App Purchase on Your Server
We are preparing for the first-ever Google Play Store launch of Cheogram Android as part of JMP coming out of beta later this year. One of the things we wanted to “just work” for Google Play users is to be able to pay for the app and get their first month of JMP “bundled” into that purchase price, to smooth the common onboarding experience. So how do the JMP servers know that the app communicating with them is running a version of the app bought from Google P … ⌘ Read more
Erlang Solutions: You’ve been curious about LiveView, but you haven’t gotten into it
As a backend developer, I’ve spent most of my programming career away from frontend development. Whether it’s React/Elm for the web or Swift/Kotlin for mobile, these are fields of knowledge that fall outside of what I usually work with.
Nonetheless, I always wanted to have a tool at my disposal for building rich frontends. While the web seemed like the platform with the lowest bar … ⌘ Read more
Erlang Solutions: Captura de datos con Postgres y Elixir
La captura de datos es el proceso de identificar y capturar cambios de datos en la base de datos.
Con captura de datos, los cambios en los datos pueden ser rastreados casi en tiempo real, y esa información puede ser utilizada para apoyar una variedad de casos de uso, incluyendo auditoría, replicación y sincronización.
Un buen ejemplo de un caso de uso para captura de datos es considerar una aplicación que inserta un registro en la b … ⌘ Read more
Ignite Realtime Blog: Spark 3.0.2 Released
The Ignite Realtime community is happy to announce the availability of Spark version 3.0.2
The release contains bug fixes and updates two plugins Translator and Roar.
Many Spark translations are incomplete. Please help us translate Spark
Full list of changes can be found in the changelog.
We encourage users and developers to get invo … ⌘ Read more
Erlang Solutions: 5 Key Tech Priorities for Fintech Leaders in 2023
The fintech industry is a major disruptor. Each year, it impacts how consumers interact with financial companies and brings new and innovative means to meet ever-growing customer expectations and occupy market space.
As a business owner or executive in this space, you have no choice but to stay on top of your game to increase efficiency.
In simpler terms, if your business doesn’t scale, it could fail.
That mig … ⌘ Read more
Erlang Solutions: Cómo depurar tu RabbitMQ
Descubre las herramientas y métodos adecuados para la depuración de RabbitMQ.
Lo que aprenderás en este blog.
Nuestros clientes de consultoría de RabbitMQ provienen de una amplia gama de industrias. Como resultado, hemos visto casi todos los comportamientos inesperados que puede presentar. RabbitMQ es un software complejo que emplea concurrencia y cómputo distribuido (a través de Erlang), por lo que depurarlo no siempre es sencillo. Para llegar a la causa … ⌘ Read more
Erlang Solutions: Here’s Why You Should Build Scalable and Concurrent Applications with Elixir
In today’s world, when dealing with high levels of system requests, you need applications that can handle them without slowing down. Here’s where Elixir comes in. Elixir is a programming language that is designed to create highly scalable and concurrent applications. Built on Erlang’s virtual machine (BEAM), it has been used for decades to build highly reliable … ⌘ Read more
Alexander Gnauck: XmppDotNet announcement
I want to announce the availability of the XmppDotNet XMPP library.
XmppDotNet is the new name and next generation of our MatriX vNext XMPP library.
Why changing the name?
It was never intended to keep vNext in the name forever. And there is a lot of confusion between MatriX and MatriX vNext at some of our existing customers. Most of them expect both libraries to be fully API compati … ⌘ Read more