Mike Macgirvin
 High Range, AustraliaTue, 31 May 2016 16:02:13 +1000 

Louis Armstrong "Dinah" 1933
by harryoakley on YouTube
Mike Macgirvin
 High Range, AustraliaTue, 31 May 2016 13:02:31 +1000 
Just noticed some weirdness with updating dev - one site worked fine, the other whitescreened. If it whitescreens, you may need to apply install/updates.php:update_r1169() manually. I don't know why - the manual update worked just fine and as mentioned the auto update worked fine on one site but not the other.
Mike Macgirvin
 High Range, AustraliaSun, 29 May 2016 09:52:10 +1000 
Just some thoughts about supporting conversation widgets...

- reshare support would have to be added to rpost, as there may or may not be an editor on the page.
- If there is an editor on the page, we have to query if we can use it (not a webpage element or edited post), else go to rpost.
- Figure out what to do about ajax content loading. Perhaps initially such widgets would just be static and you'd reload the page if you want to see new content.
Mike Macgirvin
 High Range, AustraliaSat, 28 May 2016 17:26:01 +1000 
What slime moulds can teach us about democracy


Humans can learn a lot about democracy from slime moulds.

Did anybody else look at this headline and think "OK, what did Trump do now?"
Charles Roth MPC
 Sat, 28 May 2016 18:18:55 +1000 
Mike Macgirvin
 High Range, AustraliaSat, 28 May 2016 10:29:41 +1000 
Loadaverage.org (the GNU-Social hub where I have an account) has been down for two days. It will probably come back eventually. Two days is a long time to be left in the dark.

Remind me again why it's such a useless idea to provide nomadic identity and automatic social media account failover on the decentralised web...
Mike Macgirvin
 High Range, AustraliaFri, 27 May 2016 18:23:55 +1000 
Choose your words carefully.

noun: federation; plural noun: federations

    a group of states with a central government but independence in internal affairs.
        "the Russian Federation"

    an organization or group within which smaller divisions have some degree of internal autonomy.
        "the World Chess Federation"

    the action of forming states or organizations into a single group with centralized control.
        "a first step in the federation of Europe"

noun: alliance; plural noun: alliances

    a union or association formed for mutual benefit, especially between countries or organizations.
        "a defensive alliance between Australia and New Zealand"

    a relationship based on similarity of interests, nature, or qualities.
        "an alliance between medicine and morality"

Manuel Jiménez Friaza
 Fri, 27 May 2016 19:19:19 +1000 last edited: Fri, 27 May 2016 19:28:25 +1000  
In what refers to decentralized networks, it would be more accurate the word confederation? According to the Merriam-Webster dictionary:


noun con·fed·er·a·tion \kən-ˌfe-də-ˈrā-shən\

a group of people, countries, organizations, etc., that are joined together in some activity or effort

Nulla dies sine linea[/footer]
Mike Macgirvin
 High Range, AustraliaFri, 27 May 2016 14:38:37 +1000 
How do I turn off Facebook's access to my microphone? | Facebook...


Facebook suggested an ad for me today for something I had only mentioned to my boyfriend in passing. I do not want Facebook to access my microphone for an...
Beni Grind
 Fri, 27 May 2016 15:46:18 +1000 
If this isn't a troll it's really scary... But I guess that's the world we live in now and since most people don't seem to care it's unlikely to change anytime soon.
Michael Meer
 Fri, 27 May 2016 17:14:38 +1000 last edited: Fri, 27 May 2016 22:28:45 +1000  
Don't know if this is/was a troll story. But you just have to look into the actual news:

DarpaDan (Dan Kaufman, now Chief of a Google development department) want to get rid of passwords using all sensors can be build into a mobile.
Using GPS, facial recognition, voice recognition, fingerprints, characteristics how you type on the keyboard, BT near by devices, Wifi near by AP and much more.

Not Google nor Facebook are trustworthy to handle all my credentials nor I want to get tracked by them in such a way. This harms my privacy.
Mike Macgirvin
 High Range, AustraliaFri, 27 May 2016 12:04:01 +1000 
"Better than Facebook"? This didn't exactly provide a compelling argument. Actually it kind of looks reminiscent of the old MySpace.  

I'm sure we could improve on this. Anybody?

A Quick Look At Diaspora Social Media (Better than facebook)
by dea lau on Dailymotion

[Click through - dailymotion isn't on our list of allowed embed providers (nor should it be) so the video won't play inline unless you add it to your site at admin/security; oh and you'll have to sit through the annoying ads that you can't pause or skip].
Andrew Manning
 Sat, 28 May 2016 19:53:37 +1000 
"Better than Facebook"? This didn't exactly provide a compelling argument.

I could not improve that understatement if I tried.
 Sat, 28 May 2016 21:19:49 +1000 
... the original post is from 10.02.2014

anyway ... a 10 minute movie with animated Gifs, wtf .... seriously??!
Mike Macgirvin
 High Range, AustraliaMon, 23 May 2016 19:23:32 +1000 
Listening to the wife explaining how to send texts to her mum (82). I laugh. One day I'll probably hear my daughter saying "Daddddd. Anti-matter flux capacitors aren't that complicated. Just think about where you want to materialise.".
Charles Roth MPC
 Mon, 23 May 2016 20:59:22 +1000 
90% of texts received from my mom:

Call me.
Manuel Jiménez Friaza
 Mon, 23 May 2016 21:24:40 +1000 
90% of texts received from my mom:

    Call me.

Mike Macgirvin
 High Range, AustraliaMon, 23 May 2016 15:59:14 +1000 
Anybody who pulled the dev tree in the last 4-5 hours pull again. Ditto if you updated a redmatrix site with the zot patch I mentioned yesterday. I've had to revise the patch slightly.
Mike Macgirvin
 High Range, AustraliaSun, 22 May 2016 10:28:29 +1000 
Working on an obscure security issue in the zot protocol. It would take some luck and effort and also cooperation by the target channel to exploit, but we should make it impossible rather than risk it. Fixing it requires a slight protocol change.

The deal is that we have to declare a cutoff time after which we will be unable to communicate with older software, otherwise fixing it is pointless if somebody can get around the fix by just using an older server. I'm currently thinking around the time of 2.0; which should be about the end of the year. I can possibly patch redmatrix but the patch would be cumbersome and may not be worth the effort for that platform. I should have the fix in place on dev in the next day or two, but it will be advisory only - and just trying to figure out what to do about the cutoff date. Another option is to allow individual servers to over-ride the cutoff and communicate with older sites if they want to risk it.
Mike Macgirvin
 Sun, 22 May 2016 14:35:36 +1000 
After some thought - it will be possible to keep redmatrix sites in the loop, but they'll have to update. I've pushed the necessary changes to the redmatrix repo. They won't be protected, but they won't be left out in the cold.
Mike Macgirvin
 High Range, AustraliaFri, 20 May 2016 12:40:08 +1000 
Oh right - is it @Haakon Meland Eriksen 's birthday today?
 Polis MassaSat, 21 May 2016 05:18:48 +1000 

Happy Birthday song
by infobells on YouTube
Haakon Meland Eriksen
 Sat, 21 May 2016 07:23:48 +1000 
Thank you, @Alex !
Mike Macgirvin
 High Range, AustraliaFri, 20 May 2016 12:35:08 +1000 
There's a lot of refactoring happening.

Currently I'm working on migrating all the background processes to a daemon class. More details on this in a minute. Anyway, after that is complete, we should be about 75% of the way through the transition from a primarily functional to a primarily object based architecture. The goal is for this transition to be reasonably complete before version 2.0 (there will always be some functional components in library code).

Once the majority of include files (API implementations) are migrated, we'll work on transitioning the database layer to a more formal PDO base with "actual" prepared statements instead of the pseudo-prepared statements we currently use. The end game or goal is "enterprise grade" and after the architecture stabilises we really only require formal testing and doco to get there.

So the current long term architecture roadmap is

  • Object Migration
  • DB driver (PDO) migration
  • Move all DB calls to backend classes so we'll have frontend (templates), controllers (modules), middleware (logic), and backend (storage).
  • Build a detailed test framework for all the above

Anyway - back   to daemons. We currently invoke these with


In the new world, we'll be replacing that construct with


This will indirectly invoke




which does all the OS process management, startup processing, and presenting arguments to the daemon in the manner expected.  

At this time I'll try and trap calls to the old interface and redirect them - this work will be painful but breaking everything isn't an option. Third party plugins that invoke proc_run directly will have to be updated before the compatibility code is removed later this year. We will also maintain the ability to invoke the poller from cron, but will do this by replacing 'include/poller.php' with something that doesn't even speak the same language. Again, this will give time for sites to upgrade their cron entries. I expect they will be running:

cd mywebsite; php Zotlabs/Daemon/Master.php Cron

but this isn't yet the final word on how that will work.
 Fri, 20 May 2016 16:19:52 +1000 
I very much appreciate your explanations! And I am adequately impressed by your daily (sometimes hourly or even minutely) work.
Mike Macgirvin
 High Range, AustraliaWed, 18 May 2016 11:05:06 +1000 
A nice write-up

Mike Macgirvin
 High Range, AustraliaTue, 17 May 2016 18:11:26 +1000 
@Channel One+

I've changed the default branch on github to point to dev. Everything should still work normally except that the default target for pull requests will now be dev instead of master and the repo you look at when you visit github is dev. I don't believe there are any bad side effects but I'm posting a warning so that folks keep an eye out for a few days.
Mike Macgirvin
 Tue, 17 May 2016 18:32:42 +1000 
That would probably be undesirable. I'll revert.
Andrew Manning
 Tue, 17 May 2016 19:36:33 +1000 
It's a nice thought, though. I've only made a handful of pull requests, but I've already made a bookmark I copy, where I change the branch name:

Mike Macgirvin
 High Range, AustraliaTue, 17 May 2016 16:00:50 +1000 
All in all a productive day, even though it was mostly just polishing up stuff I've been working on previously.

Was able to sync calendars between two completely different clients using the new CalDAV/CardDAV server.
Was able to follow tags in Diaspora.
Did some testing of using autoloaded classes in addons and some of the new Comanche stuff.
All these things seem to work satisfactorily.

Think I'll quit while I'm ahead and grab a #homebrew.
Michael Meer
 Tue, 17 May 2016 17:11:03 +1000 
 Tue, 17 May 2016 18:54:11 +1000 
Unbelievable but true! Great!
Mike Macgirvin
 High Range, AustraliaSat, 14 May 2016 21:08:45 +1000 
Eurovision favourites?
Mike Macgirvin
 Sun, 15 May 2016 11:42:07 +1000 last edited: Sun, 15 May 2016 16:58:01 +1000  
Actually I think the Grand Prix should go to the audio/visual team. This (being able to interact with a programmable wrap around stage) will likely change the entertainment industry forever.

[edit: and only a small handful of artists figured out that they could use this technology to advantage.]
 Sun, 15 May 2016 20:23:01 +1000 
Impressive what is possible with modern stage technology. The russion show was great.

Bur what was the ESC about? Oh. Songs. Ok, faulted on this. But the two rock songs and the country thing from the netherlands. Aaah. And italy of course :-)
Mike Macgirvin
 High Range, AustraliaFri, 13 May 2016 13:52:04 +1000 
Have made a slight change in the way we update the translation strings. From now on, we will provide the hmessages.po from the dev branch instead of the master branch. This will contain all the new strings and give folks time to translate before releases happen.

A possible situation might arise with strings that have changed. I don't know if transifex provides this ability, but you might want to keep both the old and new versions of changed strings. The old one will still be used in the master branch until the next release.

It also might be desirable to start checking in strings to the dev branch for testing. We'd really like to stabilise the master branch so just like code - the master branch should probably only be used for important fixes that can't wait for the next release.
 Fri, 13 May 2016 21:37:01 +1000 
I had some similar thoughts about this during the last days and was about to post a question soon but now you came first.

I also think the dev branch is the right place to do translations. Also - if we use release branches they would be good for fixing up and completing translations (because of the feature freeze) before everything goes to master. In such a scenario strings would be put to Transifex from dev branch between releases. As soon as a release branch with frozen functionality is created strings would be taken from there right away and kept that way until the release is out (translations go back into the release branch then). After release - back to pulling them from dev. I don't know if this is easy to automate in some way.

Without release branches everything goes to dev. But then it would be good to have some sort of pre-release warning at least two weeks in advance so translations can be completed before a release happens.

If the minor releases are not too far away from each other there would be no reason to do translation corrections on master - they can be done in dev and wait until the next release. Exceptions can be critical changes that also affect strings - then translations could go into a bugfix branch, too. But generally the master branch would be clean and only used for stable releases.

That also means I'll have to set up a separate dev branch installation for translation and testing soon because I want to keep the production installation on the server on stable branch.
Mike Macgirvin

Hubzilla 1.6

 High Range, AustraliaThu, 12 May 2016 13:38:10 +1000 
High Range Australia, 12-May-2016

Announcing the immediate availability of Hubzilla 1.6, our decentralised community platform and content management system.


Note: If you are upgrading from a previous release, please ensure that you upgrade hubzilla-addons at the same time. You can do this by typing 'util/udall' from your top level hubzilla web folder. Hundreds of files and hundreds of thousands of lines of code have changed so if you encounter any difficulties during the upgrade, shift-reload or otherwise refresh your browser cache to ensure you are getting the latest copy of all the resource files.


Hubzilla 1.6
    Cleanup and standardise the interfaces to the "jot" editor
    Router re-written to support calling class object methods as controllers
    All existing modules (160+) re-written as object classes
    Plugin hook interface adapted to call static class methods
    Context help improved dramatically with content for the most accessed pages.
    Reverted a compatibility change to support GNU-social events. We copied their feed format and their feed format is wrong (XML namespace collisions).
    Provide a querystring attribute to CSS/JS resources to avoid caching issues when our code changes (which is often).
    Fix javascript detection and allow either positive or negative detection.
    Refactor the plugin hook registration procedure, provide 'unregister all' ability.
    Fix RSD (Real Simple Discovery) which has been broken for some time.
    Update smarty library to 3.1.29
    Update jquery.textcomplete to 1.3.4
    Update font-awesome to 4.6.1
    Update SabreDAV to 3.0 (PHP version requirements prevent us from pushing it further at this time)
    Help text added to cmdline utilities config and pconfig
    Reworking of the database logging facility to avoid the rare but troublesome recursion when the log facility needed to query the DB internally to obtain config parameters.
    Implement singleton delivery (emulate nomadic identity to singleton networks and services)
    Fix empty album name in photo activities when photo is stored in top level folder.
    Allow engineering units to be used in service class data size restrictions (400M, 1G, etc.)
    Lots of work on bbcode auto-completion
    Admin interface provided to manage external resource repositories
    Oembed security reworked. Now all sources are filtered by default unless blocked.
    Remove the date-string version and use only STD_VERSION
    Add categories and categorisation filtering and the ability to edit all apps (including system apps) for a given channel
    Ensure the ability to translate names of all system apps (except those provided in addons)
    Provide ability to add categories to content from channel sources
    Lots of work on the presentation of the ACL widget to enhance usability and intuitiveness
    Allow somebody to follow a channel from a pasted redress containing a Unicode lookalike of the @ sign.
    Add conditional syntax to Comanche (if/then/else)
    Convert Comanche to an object class
    Removed IE6 compatibility code
    Explicitly close DB on shutdown/exit instead of allowing it to close naturally
    Allowed delayed publish of webpages
    Show current repository versions of master and dev on admin page and warn if your installation has fallen behind master
    Provide some extra security checks to import data and files to prevent mischief
    Block CalDAV/CardDAV namespace reserved words from being used as a channel nickname/redress since Sabre is somewhat inflexible in this regard
            markdown translator work needed to eradicate the DCV.    
            upgrade all inbound paths with the most recent protocol changes (several of these)
            convert 'diaspora_meta' (DCV) to iconfig and eradicate from sites with Diaspora disabled
            implement social relay and allow following tags
            upgrade statistics.json to NodeInfo. Currently hubzilla sites are tagged as 'redmatrix' because the NodeInfo schema lacks extensibility and project names are used to designate protocol compatibility rather than protocol names.
            New addon to allow a handful of corporate providers to run unfiltered embed code (youtube, vimeo, soundcloud)
            upgrade font-awesome icons and adapt a few addons to Objects and the new hook interface and new controller interface
Waitman Gobble
 Sat, 14 May 2016 15:38:41 +1000 
Hoppy Birthday!
 Sat, 14 May 2016 20:22:05 +1000 
Oh yes, Happy Birthday, Mike!