cover photo

Mike Macgirvin

 High Range, Australia 
Delivery reports and message tracking are coming. So you'll be able to visit a webpage and see who got your post and who didn't, and for zot hosts, why they didn't get it. For Diaspora hosts all we can say is we did our job and they accepted it and returned a success indication and then just lost the darn thing.

#redmatrix #hubzilla #diaspora
"Tracking" sounds pretty weird in our context ...
"Tracking" sounds pretty weird in our context ...

Fair enough - "delivery reports" it is.
 High Range, Australia 
I've been steadily making headway through the V3 roadmap, rewriting huge chunks of the project to improve performance dramatically, fixing lots of bugs, and improving federation. Mario has pretty much revamped the entire UI/UX and made webpages accessible for everybody. Along the way we've been steadily introducing new functionality and features.


You might think that nothing is happening with this project or that things are happening at glacial speed; as sometimes it seems like that,

...but you'd be wrong.
- webpages  and blocks (in html): I had to manually save all of them again to make sure they are parsed.

- menu's: not cloned

- bookmarks: not tried yet (have to wait when I'm cloning this channel)

- events: not used

That leaves us with:

- Links to original source (plink): they are not changed. So when deleting the original channel, they are dead links. Replacing with in the URL works for me. But that had had to be done manually in the database and is only fine for small channels with not much content.
- Redphoto's: only imports photo's from the default channel. I had to migrate the other ones manually.

of which the second one is a "works for me" but I may need to test it a bit more to make sure I didn't miss something.
Import has come a long way in the last two weeks, so you're pushing the edge a bit.

Yes I know and that's why I shared my experience to be helpful. 'Living on the edge' are my middle names ;)


A large part of my photo's (but not all) where imported three times (no I didn't clicked three times on import). That was of course easy to fix afterwards and it also possible that it was related to the channel. I had more problems with that/this channel in the past (see this post).

Thanks again for your work Mike.
Got it - thanks. I believe that's due to getting a list of all sizes of a photo and importing them all (importing each in all sizes). I thought I fixed this a couple of weeks ago but I do know it depends on a fix on the red side so make sure your redmatrix core is up to date. Otherwise I'll have another look when I get back to redphotos again.
 High Range, Australia 
[master 85f546e] crude but more or less functional event import from thunderbird ics files
I've been using Sylpheed these days, but maybe revisiting thunderbird is a good idea.
It would be curious to see how to 'best' represent a cross-timezone event in ical, for example 'the cannonball run', or a flight from boston to los angeles.
I recall having some serious performance issues with thunderbird, but that was some time ago. I'm guessing it's different/better now. Sylpheed works pretty good, except for HTML rendering, and for some reason it displays all Imap folders and not just those subscribed, which is annoying.
  last edited: Wed, 29 Jul 2015 06:51:19 +1000  
What about ?

Sure - we've already got the code.

And the key to sanity in timezones is to use UTC everywhere for transport - and indicate if the time should float to the observer timezone or be independent of it. 99.99% of the time the observer timezone is expected for floating times. Independent times are like holidays - "New Year's Day is January 1, regardless of what timezone you are in".  The remaining minority of cases can be handled with a conversion tool to display a chosen time as something else. [We also once had such a tool as a friendica module for the benefit of Diaspora folks.]

Anyway we don't need to generate ics files with timezone info. We just need to be able to parse them so we can convert the events that were transported in named timezones (which our platform has different names for) into UTC so we can use them.
Vote Now

 High Range, Australia 
This is a #redmatrix "consensus item". If you have up-to-date software and you have permission to comment on this post you may register your vote and participate in the decision using the buttons in your toolbar below.

And before you ask: the ability to vote on consensus items does not currently federate to #diaspora. Votes will however be visible on Diaspora as they are generic ActivityStream objects. They will just appear on other networks as comments instead of being tallied.

Should #redmatrix allow voting on posts?
Woaw, this is absolutely awesome.
weird... on my wall my votes are correct

We've seen this with likes also. I'm pretty sure that the problem is the result of a delete request coming in for an item we haven't yet received. It takes a few minutes to deliver everything and the deliveries are randomised. We'll ignore the delete since we don't have a matching item to delete. But then a second or two later the original activity comes in - and since we tossed the delete without acting on it, we don't know it's been deleted and deliver the original. I think the solution is probably that we have to store all deleted activities even if we don't (yet) have a matching activity.
I did this to provide some platform support for loomio-like functionality. I'm aware that a lot of folks are doing similar things. The community is getting large enough that we increasingly need community decisions on a range of issues and it makes no sense to make somebody create an account on a foreign system and use completely different tools just to add a tally to a conversation; and trying to figure out a final vote in a long-winded rambling thread that touches on twenty different subjects isn't very accurate. We also need to finish off the issue tracker for similar reasons. I've got a DB table for this and thomas had some barely-working (mostly broken) code long ago when we was still learning to spell php - but it never found its way back to the project. There's really no reason why we can't use our own software to manage the building of our own software.
 High Range, Australia 
Yawn, keep beating those sticks together guys. Owncloud is all well and good - unless you want to restrict who can see your shared files and realising that not everybody you want to restrict the files to has or even wants an account on your server and you are unwilling to make the files "public".  

We have a solution for that: it's called #redmatrix

Server 8 |


ownCloud Server 8.0 has significant feature improvements for users, administrators and developers.                     This page contains an overview of the most important features and improvements. Want to learn more about ownCloud from somebody in person? Meet us at an event! ownCloud Server 8 improves Federated Cloud sharing, allowing users to share files by d...
They say you do not need an account on multiple ownCloud-servers.

Right, but they only share public items across servers. You really have to dig it out of the doco because they don't say this clearly and make you think you can share privately with a@b and b@c. On closer examination, you have to make it a public file. Then you can share it with other sites. You can also give folks a password on your own box if I recall. So you can do this stuff if you know what you're doing, but you either have to create special logins or accounts for everybody you want to share with, or you need to make the file public.  

It would be neat if OwnCloud ended up one day becoming a Zot application itself.

It would.
Sometimes two dissimilar apps can co-exist side by side, and all you have to do is create an authentication provider plugin. Hint. Hint. There are a hundred ways to do this. Some are harder than others. If you choose the right approach it could be dead simple. Maybe a dozen lines of code in the right place and it would just work. I don't know. But you have two vast pluggable and extensible infrastructures here. There's no sense in copying all the code from an entire infrastructure into the other project. All you really need to do is set a bit somewhere that says the current action is permitted to the current observer or it isn't. One of the applications can answer that question. The other app *may* just have to ask it in the right way.

 High Range, Australia 
#redmatrix - putting the decent in decentralisation.
Not exactly no.
  last edited: Fri, 17 Oct 2014 18:06:51 +1100  
ha ha hi hi he he
Nah, you're imagining things.
So I'm looking at #redmatrix documentation. We aren't doing that bad. If nobody reads it, that's a different problem. But here are some mental notes I took and would like to share....

- Technical documentation should be devoid of politics. We can provide another section of "why you should use the redmatrix" or "why you shouldn't use spyware". But it doesn't belong in the basic documentation. Let's keep it to how you do get around and do stuff.

- We're missing a lot of necessary "configuration guide for hub admins". We've got a lot of install stuff, but we let somebody configure their site in a zillion different ways for a zillion different uses. Let's show them.  Include all the critical stuff like service classes and default privacy settings, through how you take a site off the grid and provide a different selection of apps and profile fields. And how to configure the home page. Let's list a bunch of the different config settings that one can tweak and the reasons why they might tweak it.

- Probably best to separate documentation into
    redmatrix for members
    redmatrix for hub admins
    redmatrix for developers
You may have missed the memo. In RedMatrix there are no "users" (well maybe there are, polite people don't ask about drug use).  I'm adamant about this. If you see the word "user" in our doco someplace, please get rid of it. If somebody isn't a member, but is a reader, call them a reader.

The #redshare Firefox addon has been updated to the updated RED_PLATFORM generator string and the current project icon and the version incremented to 1.0. It will be available at addons/ after preliminary review (which could take a week or three). If you want it today, point your browser at

It's already on the Mozilla add-ons site. The icon is OK there, but not Firefox' addon manager. I tested that with a new profile, so it can't be the local cache.
Something magical happened. The right icon is in my addon manager.
Anything is possible, to which I have to add the obligatory "it's open source" comment.
Facebook tests Snapchat-like vanishing act for posts


Faceboook's going Mission: Impossible, ephemeral-message on us, having confirmed that it's testing an auto-delete feature that will let users schedule their posts' demise.

#redmatrix had it almost two years ago...
And ours will actually delete the post.

Have been having many thoughts about privacy. People find it complicated. They are sceptical. After ten years of Facebook many don't want it, because it just complicates everything and they don't think they have a need or use for it. The biggest complaint about redmatrix and the misunderstandings and most of the support requests have been about mis-configured privacy settings. People flock to networks and projects that have none - because they don't have to think. I can't emphasise that last point enough. Thinking about complex topics like privacy and what that means and how to configure it makes ones' head hurt and so they avoid it.

Anyway we've proposed various solutions - tons of documentation, various "instant profiles" that pre-populate a channel with a collection of settings that are mostly idiot-proof.

So... let's make it an optional feature and leave it off until somebody decides they need or want it.

Perhaps give them PMs by default, and maybe collections, maybe not. Hide the ACL selectors or change the icon so it only brings up the cross-platform share options. Let them have their fantasies of "it's a stupid simple social network with some other cool features". Then let them go "holy !@#$" when they eventually discover that under the hood and under their nose is the most advanced and capable decentralised privacy platform that ever existed.  

All they have to do is flip the switch.

Also remember that hub admins can enable or disable features on a site level. So if you've got an organisation or company that really wants privacy - you can set it as a default for your hub. Let's just completely take away from the default out-of-the-box experience everything which might require a person to think and therefore scares people away and intimidates them.  

Thoughts? (I'm referring to those of you who still have the ability to create independent thought, which is thankfully most people reading this)
@Alexandre Hannud Abdo They are all defaults, no limits. People should be able to change it. Temporary via a simplified ACL selector or permanent via the advanced permission settings.
Does it work retro-actively too? Will all previous content only be visible to people with Zot if I flip the channel scope to public Internet after adding connections to a Friends-collection?

Tagging each post with the "public_policy" that was in effect has only been going on for a few weeks. The short answer is no. The long answer is it will work in the future and for all content created in about the last month - and/or if you retro-actively fix your old content in the DB.
I've added channel permission roles. Should be at least mostly working. Let's see how this goes - if folks still can't figure it out even though we've set everything for them, we'll revisit this discussion and figure out what to do. It's not so much that they can't figure it out as I think they're going to try and tweak everything and break it. The average person shouldn't ever have to mess with permissions beyond taking heed when  the connection page says "permissions have changed but have not been saved" (with a "Save" button immediately following the message).
  last edited: Fri, 05 Sep 2014 09:57:02 +1000  
In order to use RSS feeds as channel sources and let them federate elsewhere (instead of just viewing them in your own matrix) took one line of code -  to change the default permissions. Damn, I love this platform. #redmatrix
Is there an explanation of how to use RSS feeds as a channel source that I'm not finding? Poking through the settings, I found a site setting and a channel setting that would seem to be required. I found where to select other channels as sources, but not RSS feeds.
Whoa! The thought of putting the RSS url into the field where you put the channel source crossed my mind (and that is what I thought you meant the first time I read your reply), but I don't know if I'd ever have thought of adding it as a connection.
This is why it took one line of code. You can source from any of your connections who have given you permission. So I just gave rss connections "can source my channel" permissions. Done.
Coming along nicely...

Please wait. I'm just letting you know that work is progressing nicely. I'm still a few thousand lines of code away from having a creature that limps along with no arms and a missing eyeball and a few thousand more before I would consider it useful to normal humans.
Working on a utility to migrate #friendica photo albums to #redmatrix. Oh and I've started to port the #diaspora federation module from #friendica to #redmatrix, even though I'm guessing 90% of our content will have to be stripped since it just doesn't translate to legacy social networks.
No - there are some easter eggs in the code that acute folks will stumble on someday. That's all I have to say on the matter.
Sounds like a RedMatrix convergence to me ... :D Keep up the good work Mike!...:)
@tuscanhobbit It doesn't necessarily need a completely different architecture, just improvements to the one that's already there. With that being said, we are working to decouple the federation calls and protocol from Diaspora itself, so once it's in a gem, there will be a wider arc of opportunity for trying new protocols on.
Profile Changes

Redmatrix profiles are now a whole lot simpler. We now provide just slightly more fields than are available on all those other indieweb projects. You know which ones. But if you miss having the ability to enter lots of stuff in lots of different categories and tell everybody about your favourite bands and tv shows and having limitless gender and marital options - no worries, we've got you covered. Visit Settings -> Advanced Features and turn on "advanced profiles" and you'll find all the #redmatrix profile options you know and love. Everything is still there. We're just hiding it all from folks that can't handle freedom and choices.

@Channel One+
To sponsor the project please use (scroll down and find a paypal link). If you want to make a unique donation through Bitcoin now....I will transfer the funds to the project using my paypal account..No problem. Just make sure to let me know the amount you wish to donate to the project.

To sponsor the project please use (scroll down and find a paypal link). If you want to make a unique donation through Bitcoin now....I will transfer the funds to the project using my paypal account..No problem. Just make sure to let me know the amount you wish to donate to the project.

Thanks Thomas!
Announce: Red Matrix release "stable-1.6".

Announce: Red Matrix release "stable-1.6". This release incorporates a number of bug fixes and theme/UI enhancements; the introduction of the Red app control panel and the ability to easily create and share your own webapps. Additionally birthday event notifications have been revived. New plugins include Diaspora posting, and apps for QR generation, hex conversion, project donations, and a flashlight.  And much more.

 Nar Shaddaa 
Did webpage titles get fixed?
#redmatrix: noun - Where you go when you want to be in complete control of your online persona and privacy.
  last edited: Tue, 15 Apr 2014 11:03:36 +1000  
@Channel One+

In looking over the various JS editor interfaces we have, it looks like a plugin editor isn't horribly complicated. We just need to provide a few standard methods on the JS side:


(optional but desirable) positionCursor

Then on the server side we need a function for each that does any necessary input filtering prior to handing it off to our main input filter.
sasiflo hat Mike Macgirvins Status mit ⌗UI verschlagwortet
sasiflo hat Mike Macgirvins Status mit ⌗Pluggable_Editors verschlagwortet
Thanks for the ping!

When I was trying to add some more features for language detection I worked a bit with the editor, too. There were some places where tinymce functions were used directly, but there is also already quite a bit of abstraction like the function addeditortext(data) where we only need to replace tinymce in one place with the new editor interface. I think that is a great idea to have such interface. It should make the access to the editor much more structured and easier to use.

Yes, I was looking for a way to register "editors" for mimetypes or file extensions so we can open RedDAV files directly to view or edit them. It is another area, but maybe these two can share some parts. The editor interface could just select the editors that have registered for editor. The RedDAV interface will use the editors that have registered for the file mimetype. The interfaces for editor and RedDAV files I think is independent and have different requirements, but the editor registration in r# could be shared.
Is this a possible solution or do I overlook something?
90 100 120 different websites (and growing).

Hundreds of channels (and growing).

Independent publishers and people just like you and me - on small sites across the globe, all  linked together into a single "super-site".

One password.

As private as you want it to be.

Decentralised communications. Decentralised and nomadic identity. Decentralised publishing. Decentralised sharing. Decentralised permissions and access control. Decentralised directory services. Single sign-on across the entire network.

And this is only the beginning.

[The Red Matrix is now in Public Preview.]

Got Zot?
connected websites
Under such categories as "Anonymizing Network" you'll notice there aren't any proprietary services listed. In fact I was thinking of just having "Connected Websites" as the description but put under another category. Unfortunately the other categories don't fit - at all. We're back to the square peg in a round hole. I don't really care if we defy such efforts at categorisation, but it begs the question of what need are we trying to fill?

And the answer is we're trying to demonstrate how one can change the way websites interact and  remove the need for a lot of those proprietary software companies and their products completely.

And probably remove the need for a lot of the alternatives as well - because with very few exceptions the alternatives don't friggin' work. They can't share a photo or video or spreadhseet securely with relatives who use other nodes of the same project. They can't even find said relatives. And if they manage to do that, they can't share another photo with "all my friends" or "anybody on the internet". And this is why the proprietary services continue to grow and the alternatives will continue to fail. We're showing that you can change the way identity works between systems and the way websites interact at a basic level and do all those things and also keep personal control of your privacy in the wild west that is called the internet.

Now try putting all that into less than three words.
So maybe we just need a category called "Other".
Unbelievable amount of work left to do. But this is what I'm talking about. The red matrix - just another storage device.


#redmatrix #cloud
I know about owncloud. I've even got it installed somewhere - but I never use it. It's ok for saving personal files but the permissions system is pretty limited if you want to share stuff. It's centralised around your site. That's why I felt it important that this functionality was built-in to the matrix. Not only can you copy stuff "to the cloud", but everything has (ok "will have") access control that scales to internet levels. I can share photos with my sister and bash scripts with my Red friends and it's all decentralised so they can live on a different server than I do. They can all access what I allow them to access because they've got zot. That's the missing piece which would make owncloud useful.
It looks like a nice production platform for a Red server, but they've already abstracted storage at the application layer. All it means for a Red member is that you don't know where your data actually resides and what country and physical provider has jurisdiction over it.
I imagine it'd even be possible to leverage OpenStack on top of an Ubuntu/Debian/Whatever VPS with a service such as Linode. Might be interesting.