[47°09′58″S, 126°43′03″W] Reading: 0.57 Sv
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
[47°09′54″S, 126°43′23″W] Reading: 0.32000 PPM
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
[47°09′36″S, 126°43′03″W] Reading: 0.74000 PPM
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
Subtext 2.0 Released with FidoNet Support ⌘ Read more
[47°09′29″S, 126°43′53″W] Reading: 0.65000 PPM
[47°09′16″S, 126°43′56″W] Reading: 0.55 Sv
I learned a productivity system for organizing life ⌘ 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
The Lunduke Big Tech Show - Apr 23, 2023 - Hour 2
Listen now (0 sec) | Listener questions! All hour! So much nerdiness it makes my head explode! ⌘ Read more
The Lunduke Big Tech Show - Apr 23, 2023 - Hour 1
Listen now (0 sec) | The Death of Computer Magazines, A.I. taking away jobs, Tech Layoffs, and iOS Sideloading. ⌘ Read more
@prologic@twtxt.net The one I actually use for something is Monero. I also mine it (asic resistant, mined with cpu). The others I just put some savings in every month. The whole pyramid scheme thing - I do not think much about honestly. Crypto is here to stay, won’t go away. And for me it’s better then stocks because I know nothing about stocks and such. I do not put much into it. I also had some NFT stuff that I minted - which I sold for 10x the price later on, but honestly - last year I gained as much as I lost, so it evened out to almost 0.
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
Started with
a concept sketch of a full body end-time factory worker on a distant planet, cyberpunk light brown suite, (badass), looking up at the viewer, 2d, line drawing, (pencil sketch:0.3), (caricature:0.2), watercolor city sketch,
Negative prompt: EasyNegativ, bad-hands-5, 3d, photo, naked, sexy, disproportionate, ugly
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 2479087078, Face restoration: GFPGAN, Size: 512x768, Model hash: 2ee2a2bf90, Model: mimic_v10, Denoising strength: 0.7, Hires upscale: 1.5, Hires upscaler: Latent
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
Medicine 3.0: Extending Human Lifespan with Neil deGrasse Tyson & Dr. Peter Attia ⌘ Read more
[47°09′39″S, 126°43′40″W] Reading: 0.42 Sv
[47°09′50″S, 126°43′59″W] Reading: 0.28000 PPM
[47°09′11″S, 126°43′59″W] Reading: 0.10000 PPM
[47°09′57″S, 126°43′45″W] Reading: 0.11 Sv
Tampa Bay seems to be picking up the pace. They beat the Islanders 5-0. Go Lightning!
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
[47°09′51″S, 126°43′17″W] Reading: 0.07 Sv
Every Classic MacOS Release, Emulated in Your Browser. Seriously.
InfiniteMac.org provides ready-to-run versions of every MacOS, from 1.0 through 9.x. ⌘ Read more
[47°09′06″S, 126°43′07″W] Reading: 0.48 Sv
Ignite Realtime Blog: Release v1.1.0 of the MUC Real-Time Block List plugin for Openfire
We are happy to announce the immediate availability of a new version of the MUC Real-Time Block List plugin for Openfire, our cross-platform real-time collaboration server based on the XMPP protocol! This plugin can help you moderate your chat rooms, especially when your service is part of a larger network of federate … ⌘ Read more
Godot 4.0 Release Party 🎉
We are delighted to host the Godot 4.0 Release Party at GitHub HQ on Wednesday, March 22 from 6:30 pm to 9:30 pm. And you’re invited! ⌘ Read more
Erlang Solutions: Presentamos el soporte de transmisión en RabbitMQ
¿Quiere saber más sobre el soporte de transmisión en RabbitMQ? Arnaud Cogoluègnes, ingeniero de personal de VMware, desglosa todo lo que hay que saber en la Cumbre RabbitMQ de 2021.
En julio de 2021, se introdujeron streams a RabbitMQ, utilizando un nuevo protocolo extremadamente rápido que se puede utilizar junto con AMQP 0.9.1. Los [streams](https://www.erlang-solutions.com/blog/rabbitmq-quorum-queues-explaine … ⌘ Read more
[47°09′06″S, 126°43′24″W] Reading: 0.42000 PPM
[47°09′55″S, 126°43′39″W] Reading: 0.07 Sv
Soooo… Fltk uses @ symbol in strings to apply effects to text, now wonder I’ve been having issues with the timeline.. https://www.fltk.org/doc-2.0/html/group__symbols.html
@ is used for mentions and all that stuff, so well - it just breaks the strings in the labels.
[47°09′30″S, 126°43′03″W] Reading: 0.84 Sv
Ignite Realtime Blog: Botz version 1.2.0 release
We have just released version 1.2.0 of the Botz framework for Openfire!
The Botz library adds to the already rich and extensible Openfire with the ability to create internal user bots.
In this release, a bug that prevented client sessions for bots from being created was fixed. Hat-tip to
Kris Iyer for working with us on a fix!
Download the latest version of the Botz framework from [its project page](https://www.igniterealtime.org/projects/botz/ … ⌘ Read more
Erlang Solutions: Se explican las colas de Quorum de RabbitMQ: lo que necesita saber.
Este tipo de cola es importante cuando RabbitMQ se usa en una instalación de clúster. Descubre más en este blog.
Introducción a las Colas de Quorum
En RabbitMQ 3.8.0, una de las nuevas características más significativas fue la introducción de las Colas de Quorum. La Cola de Quorum es un nuevo tipo de cola que se espera que reemplace … ⌘ Read more
[47°09′38″S, 126°43′38″W] Reading: 0.18 Sv
[47°09′29″S, 126°43′18″W] Reading: 0.88 Sv
[47°09′38″S, 126°43′26″W] Reading: 0.53000 PPM
[47°09′20″S, 126°43′01″W] Reading: 0.57 Sv
**Sondagem (e comparação com os resultados nas últimas eleições):
PS 32 (-9.4), PSD 31 (+3.3), CH 11 (+3.8), IL 8 (+3.1), BE 7 (+2.6), CDU (-0.3), PAN 2 (+0.4), L 2 (+0.7), CDS 1 (-0.6)**
Sondagem (e comparação com os resultados nas últimas eleições):
PS 32 (-9.4), PSD 31 (+3.3), CH 11 (+3.8), IL 8 (+3.1), BE 7 (+2.6), CDU (-0.3), PAN 2 (+0.4), L 2 (+0.7), CDS 1 (-0.6)
nitter.net/RuidoCorvo/status/1628501716843876356#m ⌘ Read more
[47°09′53″S, 126°43′52″W] Reading: 0.56 Sv
Prosodical Thoughts: Prosody 0.12.3 released
We are pleased to announce a new minor release from our stable branch.
This is a bugfix release for our stable 0.12 series. Most notably, it fixes a
regression for SQL users introduced in 0.12.2, and a separate long-standing
compatibility issue with archive stores on certain MySQL/MariaDB versions.
It also fixes an issue with websockets discovered by the Jitsi team, some
issues with our internal HTTP client API, and we’ve improved the accuracy of
‘prosodyctl check dns’ in … ⌘ Read more
Square Packing
⌘ Read more
[47°09′28″S, 126°43′05″W] Reading: 0.24000 PPM
**RT by @mind_booster: It’s ❤ Free Software day and KDE’s brand new Plasma 5.27 desktop is out! Get the new tiling system and cherish the tidiness; or the improved Discover and adore all the apps; or the multi-screen system and don’t miss a thing.
More ❤ here:
https://kde.org/announcements/plasma/5/5.27.0/
#ilovefs**
It’s ❤ Free Software day and KDE’s brand new Plasma 5.27 desktop is out! Get the new tiling system and cherish the tidiness; or the improved Discover and adore all the apps; or the multi-screen … ⌘ Read more
[47°09′08″S, 126°43′09″W] Reading: 0.45 Sv
Isode: Cobalt 1.3 Release Features
Cobalt 1.3 depends on M-Vault 19.0 or subsequent versions
- M-Vault Bootstrap. Enables operation in conjunction with M-Vault 19.0 to support headless bootstrap.
- Managing users in M-Vault groups, such as Directory Server Administrators and Messaging Configuration Read/Write. This enables Cobalt to control user and operator rights to access M-Vault.
- AD/LDAP passthrough support
- Allow users (per domain) to support mand … ⌘ Read more
[47°09′46″S, 126°43′20″W] Reading: 0.12000 PPM
How to invest (from $0 to $1m) ⌘ Read more
[47°09′09″S, 126°43′56″W] Reading: 0.17000 PPM
[47°09′37″S, 126°43′13″W] Reading: 0.98000 PPM
Dino: Dino 0.4 Release
Dino is a secure and open-source messaging application.
It uses the XMPP (Jabber) protocol for decentralized communication.
We aim to provide an intuitive and enjoyable user interface.
The 0.4 release adds support for message reactions and replies. We also switched from GTK3 to GTK4 and make use of libadwaita now.
Reactions and RepliesReactions give you a quick and light-weight way to respond to a message with an emoji.
They … ⌘ Read more
[47°09′52″S, 126°43′16″W] Reading: 0.26000 PPM
Gajim: Gajim 1.7.0
Gajim 1.7.0 is mostly a bug fixing release. Due to fundamental changes in the build system, we decided to jump from 1.6.x to 1.7 directly. Thank you for all your contributions!
Gajim’s build system had significant changes, which makes it necessary for package maintainers to change some things, as documented in the readme file.
More Changes- Account creation: Don’t allow to add account twice
- File previews: Y … ⌘ Read more
Isode: Icon-5066 3.0 – New Capabilities
We are thrilled to announce the latest update to our STANAG 5066 server, Icon-5066. With this new release, we’ve incorporated a host of exciting features and enhancements, designed to not only add new functionality to your deployment but also increase the performance of your HF Radio Network.
The below is a list of the changes, and updates that can be found within Icon-5066 v3.0.
ALE ManagementThis major new feature enables management of ALE conf … ⌘ Read more
**Sondagem (comparação com os últimos resultados):
PSD 30.6 (+2.9), PS 26.9 (-14.5), CH 14.3 (+7.1), IL 8 (+3.1), BE 5.6 (+1.2), CDU 2.2 (-2.1), L 1.9 (+0.6), PAN 0.9 (-0.7)**
Sondagem (comparação com os últimos resultados):
PSD 30.6 (+2.9), PS 26.9 (-14.5), CH 14.3 (+7.1), IL 8 (+3.1), BE 5.6 (+1.2), CDU 2.2 (-2.1), L 1.9 (+0.6), PAN 0.9 (-0.7)
nitter.net/Eva1Helena/status/1618341289552154624#m ⌘ Read more
[47°09′07″S, 126°43′23″W] Reading: 0.31 Sv
projects: onyx v0.3.0 can now share locations as URLs
I even made a little ASCII chart https://om.gay/oh.mg/0/server-layout.txt
[47°09′01″S, 126°43′57″W] Reading: 0.31 Sv
Sondagem Intercampus (e comparação com as últimas eleições): PS 31.1 (-10.3), PSD 29.5 (+1.8), CH 10.7 (+3.1), IL 7.6 (+2.7), BE 7.5 (+3.1), CDU 3.7 (-0.6), PAN 3.7 (+2.1), L 2.4 (+1.1), CDS 0.7 (-0.9)
Sondagem Intercampus (e comparação com as últimas eleições): PS 31.1 (-10.3), PSD 29.5 (+1.8), CH 10.7 (+3.1), IL 7.6 (+2.7), BE 7.5 (+3.1), CDU 3.7 (-0.6), PAN 3.7 (+2.1), L 2.4 (+1.1), CDS 0.7 (-0.9)
[nitter.net/JosMatias17/status/1614565255312736257#m](https://nitter.net/JosMatias17/status/161456525531273 … ⌘ Read more
[47°09′21″S, 126°43′31″W] Reading: 0.02 Sv
Gajim: Gajim 1.6.1
Gajim 1.6.1 is mostly a bug fixing release, but it also brings some important improvements and adds more convenience. Thank you for all your contributions!
After we ported Gajim and python-nbxmpp to libsoup3, you might have noticed issues with file transfers. Now, python-nbxmpp 4.0.1 has been released, and it fixes an error which prevented transfers of files containing spaces in their file name.
Gajim s … ⌘ Read more
projects: eureka v2.0.0 and nirvash v0.4.0
@xuu@txt.sour.is that doesn’t seem to fit the spirit of the spec, at least by my read (I could be wrong obv). The example on Wikipedia’s webfinger page,
{
"subject": "acct:bob@example.com",
"aliases": [
"https://www.example.com/~bob/"
],
"properties": {
"http://example.com/ns/role": "employee"
},
"links": [{
"rel": "http://webfinger.example/rel/profile-page",
"href": "https://www.example.com/~bob/"
},
{
"rel": "http://webfinger.example/rel/businesscard",
"href": "https://www.example.com/~bob/bob.vcf"
}
]
}
and then the comparison with how mastodon uses webfinger,
{
"subject": "acct:Mastodon@mastodon.social",
"aliases": [
"https://mastodon.social/@Mastodon",
"https://mastodon.social/users/Mastodon"
],
"links": [
{
"rel": "http://webfinger.net/rel/profile-page",
"type": "text/html",
"href": "https://mastodon.social/@Mastodon"
},
{
"rel": "self",
"type": "application/activity+json",
"href": "https://mastodon.social/users/Mastodon"
},
{
"rel": "http://ostatus.org/schema/1.0/subscribe",
"template": "https://mastodon.social/authorize_interaction?uri={uri}"
}
]
}
suggests to me you want to leave the subject/acct bit as is (don’t add prefixes) and put extra information you care to include in the links section, where you’re free to define the rel URIs however you see fit. The notion here is that webfinger is offering a mapping from an account name to additional information about that account, so if anything you’d use a "subject": "acct:SALTY ACCOUNT_REPRESENTATION" line in the JSON to achieve what you’re saying if you don’t want to do that via links.
@prologic@twtxt.net That was exactly my thought at first too. but what do we put as the rel for salty account? since it is decentralized we dont have a set URL for machines to key off. so for example take the standard response from okta:
# http GET https://example.okta.com/.well-known/webfinger resource==acct:bob
{
"links": [
{
"href": "https://example.okta.com/sso/idps/OKTA?login_hint=bob#",
"properties": {
"okta:idp:type": "OKTA"
},
"rel": "http://openid.net/specs/connect/1.0/issuer",
"titles": {
"und": "example"
}
}
],
"subject": "acct:bob"
}
It gives one link that follows the OpenID login. So the details are specific to the subject acct:bob.
Mastodons response:
{
"subject": "acct:xuu@chaos.social",
"aliases": [
"https://chaos.social/@xuu",
"https://chaos.social/users/xuu"
],
"links": [
{
"rel": "http://webfinger.net/rel/profile-page",
"type": "text/html",
"href": "https://chaos.social/@xuu"
},
{
"rel": "self",
"type": "application/activity+json",
"href": "https://chaos.social/users/xuu"
},
{
"rel": "http://ostatus.org/schema/1.0/subscribe"
}
]
}
it supplies a profile page and a self which are both specific to that account.
@prologic@twtxt.net That was exactly my thought at first too. but what do we put as the rel for salty account? since it is decentralized we dont have a set URL for machines to key off. so for example take the standard response from okta:
# http GET https://example.okta.com/.well-known/webfinger resource==acct:bob
{
"links": [
{
"href": "https://example.okta.com/sso/idps/OKTA?login_hint=bob#",
"properties": {
"okta:idp:type": "OKTA"
},
"rel": "http://openid.net/specs/connect/1.0/issuer",
"titles": {
"und": "example"
}
}
],
"subject": "acct:bob"
}
It gives one link that follows the OpenID login. So the details are specific to the subject acct:bob.
Mastodons response:
{
"subject": "acct:xuu@chaos.social",
"aliases": [
"https://chaos.social/@xuu",
"https://chaos.social/users/xuu"
],
"links": [
{
"rel": "http://webfinger.net/rel/profile-page",
"type": "text/html",
"href": "https://chaos.social/@xuu"
},
{
"rel": "self",
"type": "application/activity+json",
"href": "https://chaos.social/users/xuu"
},
{
"rel": "http://ostatus.org/schema/1.0/subscribe"
}
]
}
it supplies a profile page and a self which are both specific to that account.
[47°09′39″S, 126°43′24″W] Reading: 0.64 Sv
Anyone know what this might be about?
[1134036.271114] ata1.00: exception Emask 0x0 SAct 0x4 SErr 0x880000 action 0x6 frozen
[1134036.271478] ata1: SError: { 10B8B LinkSeq }
[1134036.271829] ata1.00: failed command: WRITE FPDMA QUEUED
[1134036.272182] ata1.00: cmd 61/20:10:e0:75:6e/00:00:11:00:00/40 tag 2 ncq 16384 out
res 40/00:01:00:4f:c2/00:00:00:00:00/00 Emask 0x4 (timeout)
[1134036.272895] ata1.00: status: { DRDY }
[1134036.273245] ata1: hard resetting link
[1134037.447033] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[1134038.747174] ata1.00: configured for UDMA/133
[1134038.747179] ata1.00: device reported invalid CHS sector 0
[1134038.747185] ata1: EH complete
[47°09′41″S, 126°43′50″W] Reading: 0.69000 PPM
[47°09′38″S, 126°43′39″W] Reading: 0.48000 PPM
Gajim: Gajim 1.6.0
For Gajim 1.6.0 we ported Gajim’s and python-nbxmpp’s underlying HTTP library to libsoup3. Also, audio previews now look nicer and allow for more control (playback speed, jumping). We fixed emoji rendering on MacOS and we implemented many fixes under the hood. Thank you for all your contributions!
For all HTTP requests (e.g. file downloads, update checks, websocket connection, …) both Gajim and python-nbxmpp rely on libsoup. With Gajim 1.6.0, we ported to libsoup3. You shou … ⌘ Read more
[47°09′53″S, 126°43′21″W] Reading: 0.20 Sv
[47°09′38″S, 126°43′14″W] Reading: 0.81000 PPM
[47°09′30″S, 126°43′59″W] Reading: 0.35 Sv
Yeah, I figured it wouldn’t have much testing. I’m watching Wisconsin turn a sure 10-0 lead to a 7-3 deficit against Okie State… They seem pretty bad.
Erlang Solutions: GraphQL interfaces in MongooseIM 6.0
MongooseIM is a robust, scalable and highly extensible instant messaging server. Recent releases have improved its configurability and opened new use cases, and the latest version 6.0 continues that trend. By introducing the brand new GraphQL API, we made MongooseIM much easier to integrate with external web services. The entry barrier is also lower than ever because of the automatically generated API documentation, interactive web UI, an … ⌘ Read more
Vikings down 33-0 at halftime, no less, come back to win 39-36 over the Colts in OT. Amazing.
I think it was a very wise decision to buy some long merino underwear, a new and warmer jacket and new winter shoes. It’s so cold! The whole week already under 0°C. ⌘ Read more
Prosodical Thoughts: Prosody 0.12.2 released
We are pleased to announce a new minor release from our stable branch.
This is a regularly delayed release containing a number of fixes for
issues that we have come across since the last release of the 0.12
series.
A summary of changes in this release:
Fixes and improvementsIgnite Realtime Blog: Spark 3.0.1 Released
The Ignite Realtime community is happy to announce the release of Spark 3.0.1 version.
This release contains mostly fixes. macOS now uses the default FlatLaf LaF. The user can also choose the type of tabs “scroll” as in Spark 3.0.0 or “wrap” as in Spark 2.X. See screenshot below. And also for some users, Spark not saved history.
… ⌘ Read more
[47°09′26″S, 126°43′05″W] Reading: 0.53 Sv
[47°09′01″S, 126°43′38″W] Reading: 0.65 Sv
[47°09′50″S, 126°43′36″W] Reading: 0.53 Sv
[47°09′57″S, 126°43′40″W] Reading: 0.30 Sv
Ignite Realtime Blog: HTTP File Upload plugin 1.2.0 released
We have now released version 1.2.0 of the HTTP File Upload plugin!
This plugin adds functionality to Openfire that allows clients to share files, as defined in the XEP-0363 ‘HTTP File Upload’ specification.
This release primarily enhances functionality when running in an Openfire cluster. All changes can be reviewed in [the changelog for this release](https://www.igniterealtime. … ⌘ Read more
https://bit.ly/3Uhrr7s I warn everyone, watch it only if you have strong nerves. PizzaGate 2.0.
[47°09′25″S, 126°43′36″W] Reading: 0.10000 PPM
[47°09′01″S, 126°43′18″W] Reading: 0.89000 PPM
[47°09′15″S, 126°43′22″W] Reading: 0.78000 PPM
Ignite Realtime Blog: Openfire Monitoring Service plugin 2.4.0 release
Earlier today, we have released version 2.4.0 of the Openfire Monitoring Service plugin. This plugin adds both statistics, as well as message archiving functionality to Openfire.
In this release, compatibility with future versions of Openfire is added. A bug that affects MSSQL users has been fixed, and the dreaded “Unable to save XML properties” error message has been resolved. A few other minor tweaks h … ⌘ Read more
Subtext 1.0 Released
Subtext 1.0 has been released: ⌘ Read more
[47°09′57″S, 126°43′00″W] Reading: 0.10 Sv
[47°09′37″S, 126°43′02″W] Reading: 0.44 Sv
[47°09′46″S, 126°43′43″W] Reading: 0.84000 PPM
[47°09′59″S, 126°43′47″W] Reading: 0.34 Sv
[47°09′13″S, 126°43′26″W] Reading: 0.58000 PPM
Ignite Realtime Blog: Spark 3.0.0 Released
The Ignite Realtime community is happy to announce the release of Spark 3.0.0 version.
We decided to increase major version to 3.x to coincide with a complete UI refresh of Spark which was contributed by Amos. Now Spark uses only FlatLaf Look and Feel. We are very much grateful for his incredible work. Along that Pade Meetings plugin was added by [Dele](https://discourse.igniterealtime. … ⌘ Read more