MySQL killed by OOM


Today the database server behind this and many other services died (or was killed) due to low-memory problems. When I SSH-ed in, it shows me this memory usage:
 total used free shared buffers cached
Mem: 7939312 3764024 4175288 0 203592 1434224
-/+ buffers/cache: 2126208 5813104
Swap: 12485748 11742532 743216

Looks like a zombie were around? All other processes are consuming lesser memory. Now I run a swapoff -av && swapon -av to cleanup swap space.

Sleeping daughter on my arm


My 9 months old daughter has fallen asleep on my arm while I was showing #Pingus to her. Maybe the music pingus-8.it was so nice and smooth that she felt easily asleep? Wow, really adorable and nice feeling ... :-) #daddy

Btw, here is the music:
cloud.mxchange.org/index.php/s…

You need, e.g. #modplug, #opencubicplayer or any other #MOD player to play them.

Friendica + WebDAV/$API = Nextcloud-Ready?


What do you think?, especially those @Friendica Developers ? Is it possible to rewrite #Friendica to have some "wrapper class" for storing pictures/movies locally (default) or remotely on a #WebDAV share like with Nextcloud?

Or does #Nextcloud have an other API for file storage/retrieval than WebDAV? Would be cool to not have pictures stored on so many places. Sure you need then a "WebDAV browser" where you can easily select your files you want to link here (including music files and videos, of course).

Rewrites of framework almost done


Today I have almost finished rewriting my #object-oriented #PHP #framework (not to be confused with yet-another PHP web framework, no) towards #namespace. It took me 77 commits (as I commit not in big chunks anymore) to add namespaces and "import" classes/interfaces + expanding configuration entries with proper namespaces.

My next work will be rewrites in reducing include files in folder "inc", they come from old times where I was "encapsulating" stuff in include files, now I do it with classes and methods.

Still ongoing (or temporary postponed is the rewrite towards a "wrapper" (not following naming convention here!) class around sockets and the bootstrap.

BTW: You can find it here:

Authentication with Friendica Jabber account?


I have tried to connect to my XMPP account I have with this #Friendica instance, it is the same as my web-finger, as I understand it. But what is the current password so I can connect? It is not the one I used to login.

cc @Friendica Support @Michael Vogel

NetBeans 8.2 adds Oracle copyright header to ant-deploy.xml


I have updated my NetBeans IDE to 8.2. I have found out that ant-deploy.xml has been changed. When I checked it (with diff view) a copyright header by Oracle has been added.

I don't like this much what companys writing free software slams their (huge!) copyright notices somewhere "hidden" and with the next version update in.

I have now manually prevent them from entering my projects. But for the future, I hope Oracle is not repeating this and removes such stuff.

More coding convention stuff is coming


@Friendica Developers I have more stuff in the pipline regarding coding-convention: github.com/friendica/friendica… Hope you don't mind to review some much ...

Many thanks to @Michael Vogel und @Hypolite on Friendica and one other I don't know here on #Friendica for their continued patience of reviewing such changes.

Most of these changes includes added spaces, converted intending (space -> tab), added curly spaces and usage of dbm::is_result() which is a wrapper for checking if a valid result has been returned from q().

"Infinite" scroll need overworking


When the small "addon" is enabled, more content is being loaded when users scroll down. So far so good. But if they scroll more down, more is being added to the DOM document which results in a growing browser procress and a slow-down due to the device has to handle more content.

I would prefer that the content in opposite scroll direction is being removed to allow smooth usage of the device (desktop PCs with low RAM will suffer greatly). If the user changes scroll direction, again content on the opposite direction is being removed.

in reply to Roland Häder🇩🇪

Yesterday I had a look at the jquery plugins you mentioned. github.com/pixelcog/parallax.j… is not about infinite scrolling. It is about to have a prallax effect. And github.com/fredwu/jquery-endle… doesn't do that much more than our implementation already do (OK it can load previous pages).

The problem isn't to load next or previous pages through ajax. That would be very simple.

The problems we would have to deal with are:

  • which posts belong e.g. to page 1 (which should be removed from the screen when we scroll e.g from page 2 to page 3)
  • how do we deal with the situation when new posts arrive (e.g. the user would be on page 3 - a new post does arrive, and he/she scrolls to page 4 - I guess in this situation the first post of page 4 would be missing)
  • how do we deal with comments on posts (wich would move the post on top of the first place


The whole topic is very complex. I think this is not something which is easy to implement. I don't want to say that it is unsolvable, I just want to highlight that this "extended" infinite scrolling is more than just adding and removing content

in reply to Roland Häder🇩🇪

Just using a request parameter, like "page" is not helpful, then you will may see duplicate posts as "page=2" will change when new posts are being added. #GNUSocial uses here something like "lastPostId" which is the id number of the last post that has been loaded and so displayed.

Maybe I better make an example on how I think how it can be done:

1) Load page and embed "last post id" directly into page
2) Send request out: "POST /ajax/network/?lastPostId=12345&page=current"
3) This returns the posts (lastPostId - postsPerPage) that just be displayed right away including a new lastPostId
4) The user scrolls up, send another request out: "POST /ajax/network/?lastPostId=12335&page=up" (I assumed 10 posts per page and again a new lastPostId is included)
5) On any of those requests, check that more can be loaded, if not, the new lastPostId should be empty, indicating that no more can beloaded
6) Similar when the user scrolls down, then &page=down is given

Maybe not perfect but newly added posts can be found out the same way:
"POST /ajax/network/?lastPostId=12345&page=up (as newer posts are added on top)

The JavaScript then needs to handle empty lastPostId (when < postsPerPage has been found) and removing/adding content.