Searching txt.sour.is

Twts matching #update
Sort by: Newest, Oldest, Most Relevant
↳ In-reply-to » Tried to pull down the latest yarn, but I get this: unable to access 'https://git.mills.io/yarnsocial/yarn/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none

@prologic@twtxt.net Tried that - but that did not seem to change anything. But still - worth to do the update anyways, that way I do not have to worry about that for a good while. It’s a pain when it falls too far behind.

⤋ Read More
↳ In-reply-to » Hmmm, after fixing my feeds to move the <author> from <entry>s to <feed>, Newsboat marked all old affected articles as unread. IDs were untouched, of course. Need to investigate that. Had something similar happen with another feed change I did some time ago. Can't remember what that was, though.

Great, last system update broke something, building from current master I get:

/usr/bin/ld: /lib/x86_64-linux-gnu/libm.so.6: unknown type [0x13] section `.relr.dyn'

What the heck!?

And it also appears that I’m not really able to reproduce this unread bug. It only kind of works a single time. And it has something to do with my config. Not sure what it is yet. I also noticed that the <updated> timestamps in the entries somehow shifted between the old and new feed. Da fuq!?

⤋ Read More

Ignite Realtime Blog: REST API Openfire plugin 1.10.1 released!
We are happy to announce the immediate availability of version 1.10.1 of the REST API plugin for Openfire!

This is a bugfix release, that will improve the endpoints that make modifications to MUC rooms.

The updated plugin should become available for download in your Openfire admin console in the course of the next few hours. Alternatively, you can download the plugin directly, from [the plugin’s archive page](https:// … ⌘ Read more

⤋ Read More

JMP: Newsletter: New Cheogram Android Release, Chatwoot Instance
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 … ⌘ Read more

⤋ Read More
↳ In-reply-to » Trying to figure out what sql query maddy does to change user passwords, but first, i'm looking for the subcommand that actually does that... on the source code

it uses the queries you define for add/del/set/keys. which corrispond to something like INSERT INTO <table> (key, value) VALUES ($key, $value), DELETE ..., or UPDATE ...

the commands are issued by using the maddycli but not the running maddy daemon.

see https://maddy.email/reference/table/sql_query/

the best way to locate in source is anything that implements the MutableTable interface… https://github.com/foxcpp/maddy/blob/master/framework/module/table.go#L38

⤋ Read More
↳ In-reply-to » Trying to figure out what sql query maddy does to change user passwords, but first, i'm looking for the subcommand that actually does that... on the source code

it uses the queries you define for add/del/set/keys. which corrispond to something like INSERT INTO <table> (key, value) VALUES ($key, $value), DELETE ..., or UPDATE ...

the commands are issued by using the maddycli but not the running maddy daemon.

see https://maddy.email/reference/table/sql_query/

the best way to locate in source is anything that implements the MutableTable interface… https://github.com/foxcpp/maddy/blob/master/framework/module/table.go#L38

⤋ Read More

Disable RAM Plus on OneUI 4.1
When Samsung released the Android 12 update for my phone a few months ago, I noticed a new RAM Plus setting, which uses the storage to expand the memory. Pretty useless on my phone, as it has already 8 GB of RAM. ⌘ Read more

⤋ Read More

JMP: Newsletter: Voicemail Changes, Opt-in Jabber ID Discoverability
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 number … ⌘ Read more

⤋ Read More

Arnaud Joset: Updates: chatty server and HTTPAuthentificationOverXMPP
It’s been a long time since I updated this blog. It will be a short update post about two projects.

chatty_server

The first is chatty_server, a small XMPP bot I use to interact with my server. It allows me to get information about the CPU load, traffic, weather etc.
It also has a small feature to get reminder messages. There was a bug that allowed anyone to spam reminders. Anybody can add the bot to their rooster and could create random reminders t … ⌘ Read more

⤋ Read More

Release Radar · August 2022 Edition
We’ve been gearing up to launch GitHub Universe 2022 and our community has been launching cool projects left right and center.  These projects include everything from world-changing technology to developer tooling, and weekend hobbies. Here are some of the open source projects that released major version updates this August. Read more about these projects in […] ⌘ Read more

⤋ Read More

JMP: Newsletter: New Employee, Command UI, JMP SIM Card, Multi-account Billing
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 … ⌘ Read more

⤋ Read More
↳ In-reply-to » Progress! so i have moved into working on aggregates. Which are a grouping of events that replayed on an object set the current state of the object. I came up with this little bit of generic wonder.

(cont.)

Just to give some context on some of the components around the code structure.. I wrote this up around an earlier version of aggregate code. This generic bit simplifies things by removing the need of the Crud functions for each aggregate.

Domain Objects

A domain object can be used as an aggregate by adding the event.AggregateRoot struct and finish implementing event.Aggregate. The AggregateRoot implements logic for adding events after they are either Raised by a command or Appended by the eventstore Load or service ApplyFn methods. It also tracks the uncommitted events that are saved using the eventstore Save method.

type User struct {
  Identity string ```json:"identity"`

  CreatedAt time.Time

  event.AggregateRoot
}

// StreamID for the aggregate when stored or loaded from ES.
func (a *User) StreamID() string {
	return "user-" + a.Identity
}
// ApplyEvent to the aggregate state.
func (a *User) ApplyEvent(lis ...event.Event) {
	for _, e := range lis {
		switch e := e.(type) {
		case *UserCreated:
			a.Identity = e.Identity
			a.CreatedAt = e.EventMeta().CreatedDate
        /* ... */
		}
	}
}
Events

Events are applied to the aggregate. They are defined by adding the event.Meta and implementing the getter/setters for event.Event

type UserCreated struct {
	eventMeta event.Meta

	Identity string
}

func (c *UserCreated) EventMeta() (m event.Meta) {
	if c != nil {
		m = c.eventMeta
	}
	return m
}
func (c *UserCreated) SetEventMeta(m event.Meta) {
	if c != nil {
		c.eventMeta = m
	}
}
Reading Events from EventStore

With a domain object that implements the event.Aggregate the event store client can load events and apply them using the Load(ctx, agg) method.

// GetUser populates an user from event store.
func (rw *User) GetUser(ctx context.Context, userID string) (*domain.User, error) {
	user := &domain.User{Identity: userID}

	err := rw.es.Load(ctx, user)
	if err != nil {
		if err != nil {
			if errors.Is(err, eventstore.ErrStreamNotFound) {
				return user, ErrNotFound
			}
			return user, err
		}
		return nil, err
	}
	return user, err
}
OnX Commands

An OnX command will validate the state of the domain object can have the command performed on it. If it can be applied it raises the event using event.Raise() Otherwise it returns an error.

// OnCreate raises an UserCreated event to create the user.
// Note: The handler will check that the user does not already exsist.
func (a *User) OnCreate(identity string) error {
    event.Raise(a, &UserCreated{Identity: identity})
    return nil
}

// OnScored will attempt to score a task.
// If the task is not in a Created state it will fail.
func (a *Task) OnScored(taskID string, score int64, attributes Attributes) error {
	if a.State != TaskStateCreated {
		return fmt.Errorf("task expected created, got %s", a.State)
	}
	event.Raise(a, &TaskScored{TaskID: taskID, Attributes: attributes, Score: score})
	return nil
}
Crud Operations for OnX Commands

The following functions in the aggregate service can be used to perform creation and updating of aggregates. The Update function will ensure the aggregate exists, where the Create is intended for non-existent aggregates. These can probably be combined into one function.

// Create is used when the stream does not yet exist.
func (rw *User) Create(
  ctx context.Context,
  identity string,
  fn func(*domain.User) error,
) (*domain.User, error) {
	session, err := rw.GetUser(ctx, identity)
	if err != nil && !errors.Is(err, ErrNotFound) {
		return nil, err
	}

	if err = fn(session); err != nil {
		return nil, err
	}

	_, err = rw.es.Save(ctx, session)

	return session, err
}

// Update is used when the stream already exists.
func (rw *User) Update(
  ctx context.Context,
  identity string,
  fn func(*domain.User) error,
) (*domain.User, error) {
	session, err := rw.GetUser(ctx, identity)
	if err != nil {
		return nil, err
	}

	if err = fn(session); err != nil {
		return nil, err
	}

	_, err = rw.es.Save(ctx, session)
	return session, err
}

⤋ Read More
↳ In-reply-to » Progress! so i have moved into working on aggregates. Which are a grouping of events that replayed on an object set the current state of the object. I came up with this little bit of generic wonder.

(cont.)

Just to give some context on some of the components around the code structure.. I wrote this up around an earlier version of aggregate code. This generic bit simplifies things by removing the need of the Crud functions for each aggregate.

Domain Objects

A domain object can be used as an aggregate by adding the event.AggregateRoot struct and finish implementing event.Aggregate. The AggregateRoot implements logic for adding events after they are either Raised by a command or Appended by the eventstore Load or service ApplyFn methods. It also tracks the uncommitted events that are saved using the eventstore Save method.

type User struct {
  Identity string ```json:"identity"`

  CreatedAt time.Time

  event.AggregateRoot
}

// StreamID for the aggregate when stored or loaded from ES.
func (a *User) StreamID() string {
	return "user-" + a.Identity
}
// ApplyEvent to the aggregate state.
func (a *User) ApplyEvent(lis ...event.Event) {
	for _, e := range lis {
		switch e := e.(type) {
		case *UserCreated:
			a.Identity = e.Identity
			a.CreatedAt = e.EventMeta().CreatedDate
        /* ... */
		}
	}
}
Events

Events are applied to the aggregate. They are defined by adding the event.Meta and implementing the getter/setters for event.Event

type UserCreated struct {
	eventMeta event.Meta

	Identity string
}

func (c *UserCreated) EventMeta() (m event.Meta) {
	if c != nil {
		m = c.eventMeta
	}
	return m
}
func (c *UserCreated) SetEventMeta(m event.Meta) {
	if c != nil {
		c.eventMeta = m
	}
}
Reading Events from EventStore

With a domain object that implements the event.Aggregate the event store client can load events and apply them using the Load(ctx, agg) method.

// GetUser populates an user from event store.
func (rw *User) GetUser(ctx context.Context, userID string) (*domain.User, error) {
	user := &domain.User{Identity: userID}

	err := rw.es.Load(ctx, user)
	if err != nil {
		if err != nil {
			if errors.Is(err, eventstore.ErrStreamNotFound) {
				return user, ErrNotFound
			}
			return user, err
		}
		return nil, err
	}
	return user, err
}
OnX Commands

An OnX command will validate the state of the domain object can have the command performed on it. If it can be applied it raises the event using event.Raise() Otherwise it returns an error.

// OnCreate raises an UserCreated event to create the user.
// Note: The handler will check that the user does not already exsist.
func (a *User) OnCreate(identity string) error {
    event.Raise(a, &UserCreated{Identity: identity})
    return nil
}

// OnScored will attempt to score a task.
// If the task is not in a Created state it will fail.
func (a *Task) OnScored(taskID string, score int64, attributes Attributes) error {
	if a.State != TaskStateCreated {
		return fmt.Errorf("task expected created, got %s", a.State)
	}
	event.Raise(a, &TaskScored{TaskID: taskID, Attributes: attributes, Score: score})
	return nil
}
Crud Operations for OnX Commands

The following functions in the aggregate service can be used to perform creation and updating of aggregates. The Update function will ensure the aggregate exists, where the Create is intended for non-existent aggregates. These can probably be combined into one function.

// Create is used when the stream does not yet exist.
func (rw *User) Create(
  ctx context.Context,
  identity string,
  fn func(*domain.User) error,
) (*domain.User, error) {
	session, err := rw.GetUser(ctx, identity)
	if err != nil && !errors.Is(err, ErrNotFound) {
		return nil, err
	}

	if err = fn(session); err != nil {
		return nil, err
	}

	_, err = rw.es.Save(ctx, session)

	return session, err
}

// Update is used when the stream already exists.
func (rw *User) Update(
  ctx context.Context,
  identity string,
  fn func(*domain.User) error,
) (*domain.User, error) {
	session, err := rw.GetUser(ctx, identity)
	if err != nil {
		return nil, err
	}

	if err = fn(session); err != nil {
		return nil, err
	}

	_, err = rw.es.Save(ctx, session)
	return session, err
}

⤋ Read More

The XMPP Standards Foundation: Mid Term Evaluation Updates
It’s been a month since I wrote my last blog. For those of you who have been following my blogs, thanks a lot for taking the time to read them. In this blog, I will give the updates post mid-term evaluation and the challenges that I have been facing and how I overcame some of them.

The Mid-Term Evaluation

For those of you who don’t know much about GSoC, a mid-term evaluat … ⌘ Read more

⤋ Read More
↳ In-reply-to » Hi, I am playing with making an event sourcing database. Its super alpha but I thought I would share since others are talking about databases and such.

I have updated my eventDB to have subscriptions! It now has websockets like msgbus. I have also added a in memory store that can be used along side the disk backed wal.

⤋ Read More
↳ In-reply-to » Hi, I am playing with making an event sourcing database. Its super alpha but I thought I would share since others are talking about databases and such.

I have updated my eventDB to have subscriptions! It now has websockets like msgbus. I have also added a in memory store that can be used along side the disk backed wal.

⤋ Read More

Kids are in bed, dog is sleeping, Marlyn is watching Tv, and I’m on the computer trying to figure out what to do for the rest of the night. Last week of vacation now, so I get more and more interrested in doing things on the computer. Played around a bit with my Risc-v SBC today (Mangopi), it runs debian, got everything updated and all that, thinking about setting up a webserver on it. It has 512mb ram, so it should be fine to host some static website on it.

⤋ Read More

Release Radar · July 2022 Edition
While some of us have been wrapping up the financial year, and enjoying vacation time, others have been hard at work shipping open source projects and releases. These projects include everything from world-changing technology to developer tooling, and weekend hobbies. Here are some of the open source projects that released major version updates this July. […] ⌘ Read more

⤋ Read More

Ignite Realtime Blog: REST API Openfire plugin 1.9.0 released!
We have released version 1.9.0 of the Openfire REST API plugin! This version adds functionality and provides some bug fixes that relates to multi-user chat rooms.

The updated plugin should become available for download in your Openfire admin console in the course of the next few hours. Alternatively, you can download the plugin directly, from [the plugin’s archive page](https://www.igniterealtime.org/projects/openfire/pl … ⌘ Read more

⤋ Read More

JMP: Newsletter: Multilingual Transcriptions and Better Voicemail Greetings
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 numb … ⌘ Read more

⤋ Read More

Release Radar · June 2022 Edition
It’s been a crazy couple of months with the end of financial year and lots of products shipping. Our community has been hard at work shipping projects too. These projects can include everything from world-changing technology to developer tooling, and weekend hobbies. Here are some of these open source projects that released major updates this […] ⌘ Read more

⤋ Read More

Ignite Realtime Blog: REST API Openfire plugin 1.8.3 released!
We recently release version 1.8.3 of the Openfire REST API plugin. This version extends the MUC search capability to include the natural name of the MUC (instead of just the name). It also updates a number of library dependencies.

The updated plugin should be available for download in your Openfire admin console already. Alternatively, you can download the plugin directly, from [the plugin’s archive page](https://www.ign … ⌘ Read more

⤋ Read More

Erlang Solutions: Updates to the MIM Inbox in version 5.1

User interfaces in open protocols

When a messaging client starts, it typically presents the user with:

  • an inbox
  • a summary of chats (in chronological order)
  • unread messages in their conversation
  • a snippet of the most recent message in the conversation
  • information on if a conversation is muted (and if so how long a conversation is muted for)
  • other information that users may find useful on their welcome screen

Mongoos … ⌘ Read more

⤋ Read More
↳ In-reply-to » I launched a new version of my website (https://kolesnikov.se) last night. What do you think about it? Don't forget to leave a message in my guestbook ;-)

@win0err@kolesnikov.se I agree with @prologic@twtxt.net about the text size. Adding content="width=device-width" to your viewport meta tag will help massively with scaling on different device widths.

Eg. The first screenshot is the current site with a device width of 440px and the second is with the updated viewport meta tag.


Other than that, I like the aesthetic of it 😊 It gives me early-ish internet vibes, which I wasn’t online for (I’m a ‘90s baby) but I’ve seen some pretty early websites.

⤋ Read More

** Lamination for a lost explorer **
I remember the days when Kicks Condor used to update regularly. I miss those days.

For a while every post seemed to unearth some new, yet weirder corner of the little internet (maybe not yet the smol web).

There are folks doing similar web archeology…I do some of it myself…but no one does it like Kicks was doing it; there was often a feeling of unknown, but ulterior motive behind the curation — bits building towards a cohesive something.

Perhaps … ⌘ Read more

⤋ Read More

Ignite Realtime Blog: Push Notification Openfire plugin 0.9.1 released
The Ignite Realtime community is happy to announce the immediate availability of a bugfix release for the Push Notification plugin for Openfire!

This plugin adds support for sending push notifications to client software, as described in XEP-0357: “Push Notifications”.

[This update](https://www.igniterealtime.org/projects/openfire/plugins/0.9.1/pushnotificatio … ⌘ Read more

⤋ Read More

Dino: Project Stateless File Sharing: First Steps
Hey, this is my first development update!
As some of you might already know from my last blog post, my Google Summer of Code project is implementing Stateless File Sharing for Dino.
This is my first XMPP project and as such, I had to learn very basic things about it.
In my blog posts I’ll try to document the things I learned, with the idea that it might help someone else in the future.
I won’t refrain from explaining terms you might take for gran … ⌘ Read more

⤋ Read More

JMP: Newsletter: Command UI and Better Transcriptions Coming Soon
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 a … ⌘ Read more

⤋ Read More

Ignite Realtime Blog: REST API Openfire plugin 1.8.1 released!
Earlier today, version 1.8.1 of the Openfire REST API plugin was released. This version removes the need to authenticate for status endpoints, adds new endpoints for bulk modifications of affiliations on MUC rooms, as well as a healthy number of other bugfixes.

The updated plugin should become available for download in your Openfire admin console in the course of the next few hours. Alternatively, you can download the pl … ⌘ Read more

⤋ Read More

Telegram Premium is there, at least the announcement that it should be there, but the update on Google Play somehow not yet. Unfortunately, the announcement says that Premium is not (yet) available for users in Germany. ☹️ I’m especially waiting for the feature to be able to convert voice messages to text. 😅 ⌘ Read more

⤋ Read More

Release Radar · May 2022 Edition
Each month, we highlight open source projects that have shipped major updates. These projects can include everything from world-changing technology to developer tooling, and weekend hobbies. We cover what the project is and some of their breaking changes. Read about the project, and browse their repositories. Without further ado, here are our top staff picks […] ⌘ Read more

⤋ Read More

All this time spent being grumpy about how adding my Now updates directly into the html page is uncomfortable, and it just occurred to me I can chug it into a text file and use cat.

⤋ Read More

JMP: Newsletter: Togethr, SMS-only Ports, Snikket Hosting
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

⤋ Read More

The XMPP Standards Foundation: XMPP & Google Summer of Code 2022: Welcome new contributors!

Image

The Google Summer of Code 2022 is about to lift off and coding starts soon! The XSF has not just been
accepted (again!) as a hosting organization for XMPP projects, we also can welcome two new contributors who will work on open-source software projects in the XMPP environment! We have updated our [designated web-page](h … ⌘ Read more

⤋ Read More

Based.Cooking has become more grandma-usable.
Over the past month, I’ve taken some off-time to tinker with
Based.Cooking, the cooking site I/we made a year or so
ago as a proof of concept for a simple and unintrusive recipe website. There
have been over 250 recipes submitted, but the hobbled-together static site
generator originally used proved unable to keep up and with all the
submissions, there was a big issue of content organization.

There have been two big changes. Firstly, I port … ⌘ Read more

⤋ Read More

Based.Cooking has become more grandma-usable.
Over the past month, I’ve taken some off-time to tinker with
Based.Cooking, the cooking site I/we made a year or so
ago as a proof of concept for a simple and unintrusive recipe website. There
have been over 250 recipes submitted, but the hobbled-together static site
generator originally used proved unable to keep up and with all the
submissions, there was a big issue of content organization.

There have been two big changes. Firstly, I port … ⌘ Read more

⤋ Read More

Release Radar · April 2022 Edition
Each month, we highlight open source projects that have shipped major updates. These include everything from world-changing technology to developer tooling, and weekend projects. Here are our top staff picks on projects that shipped major version releases in April. Flyte 1.0 I was lucky enough to discover Flyte during Hacktoberfest last year. Now, Flyte has […] ⌘ Read more

⤋ Read More

JMP: Newsletter: New Staff, New Commands
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; … ⌘ Read more

⤋ Read More

Release Radar · March 2022 Edition
Each month, we highlight open source projects that have shipped major updates. These include everything from world-changing technology to developer tooling, and weekend projects. Here are our top staff picks on projects that shipped major version releases in March. Babylon.js 5.0 We featured Babylon.js in the November 2020 Release Radar. Since then, Babylon.js has come […] ⌘ Read more

⤋ Read More

second, there’s predictions. a prediction is Done when it’s made. you could add comments, explanations, models &c, but the prediction can be Done and stand there on its own. (there is a slight problem with the fact that predictions need to be updated over time, though, so there is some Piling there as well).

⤋ Read More

Ignite Realtime Blog: inVerse Openfire plugin 9.1.0-1 released!
Earlier today, version 9.1.0 release 1 of the Openfire inVerse plugin was released. This plugin allows you to easily deploy the third-party Converse client in Openfire. In this release, the version of the client that is bundled in the plugin is updated to 9.1.0!

The updated plugin should become available for download in your Openfire admin console in the course of the next few hours. Alternat … ⌘ Read more

⤋ Read More

Ignite Realtime Blog: JSXC Openfire plugin 4.4.0-1 released!
Earlier today, version 4.4.0 release 1 of the Openfire JSXC plugin was released. This plugin allows you to easily deploy the third-party JSXC client in Openfire. In this release, the version of the client that is bundled in the plugin is updated to 4.4.0!

The updated plugin should become available for download in your Openfire admin console in the course of the next few hours. Alternatively, you can … ⌘ Read more

⤋ Read More

Ignite Realtime Blog: Openfire Message of the Day (MotD) plugin version 1.2.3 released
Earlier today, version 1.2.3 of the Openfire Message of the Day plugin was released. This version adds a German translation to the admin console (thank you, Stephan Trzonnek, for providing the translation)!

The updated plugin should become available for download in your Openfire admin console in the course of the next few hours. Alternatively, you can download the plugin dir … ⌘ Read more

⤋ Read More

Ignite Realtime Blog: REST API Openfire plugin 1.8.0 released!
Earlier today, version 1.8.0 of the Openfire REST API plugin was released. This version adds a new endpoints for readiness, liveliness and cluster status!

The updated plugin should become available for download in your Openfire admin console in the course of the next few hours. Alternatively, you can download the plugin directly, from [the plugin’s archive page](https://www.igniterealtime.org/projects/openfire/plugin-arc … ⌘ Read more

⤋ Read More

Mastodon 3.5 finally supports the Update ActivityPub activity. GoBlog supports sending updates for quite a while already, but only Pleroma showed the updated posts and not Mastodon. That would have been useful recently, when I posted “Spaces!” but wanted to post “Tabs!” and updated my post. 😅 ⌘ Read more

⤋ Read More

JMP: Newsletter: Cheogram Android Release, Matrix Alpha
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

⤋ Read More

Ignite Realtime Blog: GoJara plugin for Openfire version 2.2.3 release
The Ignite Realtime community is happy to announce the immediate availability of a maintenance release of the GoJara plugin for Openfire. GoJara provides an implementation of XEP-0321 “Remote Roster Management” and helps out with monitoring Spectrum 2.

Your Openfire instance should automatically display the availability of the update. Al … ⌘ Read more

⤋ Read More

Vulnerability Alert: Avoiding “Dirty Pipe” CVE-2022-0847 on Docker Engine and Docker Desktop
You might have heard about a new Linux vulnerability that was released last week, CVE-2022-0847, aka “Dirty Pipe”. This vulnerability overwrites supposedly read-only files in the Linux kernel host, which could enable attackers to modify files inside the host images from the container instance. If you use Docker Engine natively, we recommend you should update … ⌘ Read more

⤋ Read More

Ok, so I have now installed CloudReady, switched to the beta channel as well, but I can’t use Linux because my CPU is not secured against Spectre/Meltdown and CloudReady doesn’t come with microcode updates. Until that comes, my ThinkPad will probably only be for browsing, watching videos, and blogging… ⌘ Read more

⤋ Read More

How I can access Linux with Chrome OS Flex
I recently installed CloudReady on my ThinkPad. Unfortunately, the Linux feature is not available there because microcode updates are missing, there is no BIOS update and Crostini is quite strict about security. ⌘ Read more

⤋ Read More

Ok, so I have now installed CloudReady, switched to the beta channel as well, but I can’t use Linux because my CPU is not secured against Spectre/Meltdown and CloudReady doesn’t come with microcode updates. Until that comes, my ThinkPad will probably only be for browsing, watching videos, and blogging… ⌘ Read more

⤋ Read More

Ignite Realtime Blog: Openfire 4.7.1 Released!
The Ignite Realtime Community is happy to announce the 4.7.1 release of Openfire. This release fixes a number of bugs and represents our effort to provide a stable 4.7.x series while work continues on the next feature release of Openfire.

Notable fixes include security updates to bundled database drivers, logging configuration fixes, and an important fix for users experiencin … ⌘ Read more

⤋ Read More

JMP: Newsletter: JMP is 5 years old today, and now with international calls!
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 … ⌘ Read more

⤋ Read More

Ignite Realtime Blog: REST API Openfire plugin 1.7.1 released!
Moments ago, we’ve released version 1.7.1 of the Openfire REST API plugin. This version fixes changes to the API (notably the JSON representation of some entities) that inadvertently sneaked into the 1.7.0 release. The API in 1.7.0 should closely resemble that of releases prior to 1.7.0!

The updated plugin should become available for download in your Openfire admin console in the course of the next few hours. Alternative … ⌘ Read more

⤋ Read More

Monal IM: Funding campaign: Mac Mini for faster Monal development

Update 15.02.2022 Thank you very much. We reached our target of 1000€ within less than a week. We will order our new Mac mini tonight. Stay tuned for a big development blog post.

Dear Monal Community,

as you know the Monal project is developed by volunteers and has no general funding so far.

To improve the development situation it would be of advantage to have a physical build server for the developers.

This would have … ⌘ Read more

⤋ Read More

In search of a new printer
Update: Thanks for all the answers! I have now tried to repair the ink cartridge, now something is printed again, but somewhat blurred. I finally decided to buy a black/white laser printer with scanner, a Xerox B225 as B-ware. I will probably report… ⌘ Read more

⤋ Read More

Celebrating Our Second Fiscal Year
Yesterday, January 31, we finished our second full fiscal year since our November 2019 restructuring and recapitalization, and I couldn’t be prouder of the Docker team and what we’ve accomplished together. While it’s difficult to summarize 12 months, highlights include: Shipping 7,000+ product features, fixes, and updates to developers, including Docker Desktop for M1 Macs, […]

The post [Celebrating Our Second Fiscal Year](https://www.docker.com/blog/celebrating-our-se … ⌘ Read more

⤋ Read More