home.social

#kiki — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #kiki, aggregated by home.social.

fetched live
  1. @maz yikes. that would certainly explain why it can't find the rss file to write to!

    v1.1.9 shipped with these options in settings.php:

    // sets the filename used for the generated rss feed
    $rss_file = "rss.xml";

    // rss directory
    // by default, uses the site's root folder
    $rss_dir = "./";

    // error and layout pages
    $rss_document = $rss_dir . $rss_file;

    if any of those aren't set properly, it's definitely going to have problems writing to $rss_document :)

    this kind of situation usually happens when you've got an older version of kiki installed, and then upgrade to a newer version and forget to upgrade settings.php as well. (e.g. upgrading from v1.1.5 to v1.1.9). i sometimes have to add new variables to settings.php, so new features can be added

    #kiki

  2. @maz yikes. that would certainly explain why it can't find the rss file to write to!

    v1.1.9 shipped with these options in settings.php:

    // sets the filename used for the generated rss feed
    $rss_file = "rss.xml";

    // rss directory
    // by default, uses the site's root folder
    $rss_dir = "./";

    // error and layout pages
    $rss_document = $rss_dir . $rss_file;

    if any of those aren't set properly, it's definitely going to have problems writing to $rss_document :)

    this kind of situation usually happens when you've got an older version of kiki installed, and then upgrade to a newer version and forget to upgrade settings.php as well. (e.g. upgrading from v1.1.5 to v1.1.9). i sometimes have to add new variables to settings.php, so new features can be added

    #kiki

  3. @maz yikes. that would certainly explain why it can't find the rss file to write to!

    v1.1.9 shipped with these options in settings.php:

    // sets the filename used for the generated rss feed
    $rss_file = "rss.xml";

    // rss directory
    // by default, uses the site's root folder
    $rss_dir = "./";

    // error and layout pages
    $rss_document = $rss_dir . $rss_file;

    if any of those aren't set properly, it's definitely going to have problems writing to $rss_document :)

    this kind of situation usually happens when you've got an older version of kiki installed, and then upgrade to a newer version and forget to upgrade settings.php as well. (e.g. upgrading from v1.1.5 to v1.1.9). i sometimes have to add new variables to settings.php, so new features can be added

    #kiki

  4. @maz yikes. that would certainly explain why it can't find the rss file to write to!

    v1.1.9 shipped with these options in settings.php:

    // sets the filename used for the generated rss feed
    $rss_file = "rss.xml";

    // rss directory
    // by default, uses the site's root folder
    $rss_dir = "./";

    // error and layout pages
    $rss_document = $rss_dir . $rss_file;

    if any of those aren't set properly, it's definitely going to have problems writing to $rss_document :)

    this kind of situation usually happens when you've got an older version of kiki installed, and then upgrade to a newer version and forget to upgrade settings.php as well. (e.g. upgrading from v1.1.5 to v1.1.9). i sometimes have to add new variables to settings.php, so new features can be added

    #kiki

  5. @maz yikes. that would certainly explain why it can't find the rss file to write to!

    v1.1.9 shipped with these options in settings.php:

    // sets the filename used for the generated rss feed
    $rss_file = "rss.xml";

    // rss directory
    // by default, uses the site's root folder
    $rss_dir = "./";

    // error and layout pages
    $rss_document = $rss_dir . $rss_file;

    if any of those aren't set properly, it's definitely going to have problems writing to $rss_document :)

    this kind of situation usually happens when you've got an older version of kiki installed, and then upgrade to a newer version and forget to upgrade settings.php as well. (e.g. upgrading from v1.1.5 to v1.1.9). i sometimes have to add new variables to settings.php, so new features can be added

    #kiki

  6. @maz masto is definitely the best place for bug reports - you're doing it all right! :) having them posted publicly gives everyone into #kiki a chance to chime in and stay in the loop with features/problems.

    that's an interesting problem! it appears to be a file permissions issue with rss.xml.

    things to check:
    - php needs to have write permission for that file - can you confirm the file's RWX permissions on the server? according to nearlyfreespeech's faq, the web server is running on freebsd - so the command should be:
    ls -al rss.xml

    - if the permissions are OK, it's possible there is a problem with the file's path or filename. we can see which filepath it's trying to write by adding this line to library/rss.php after line 132 (before it tries to fopen):
    echo("I'm trying to access the rss file here: " . $rss_document);

    this will print the filepath to the browser when you load a page. if the filepath doesn't look right to you (e.g. it doesn't match the actual location of rss.xml on the server), then you can make adjustments in settings.php to $rss_dir and $rss_file if necessary.

  7. @maz masto is definitely the best place for bug reports - you're doing it all right! :) having them posted publicly gives everyone into #kiki a chance to chime in and stay in the loop with features/problems.

    that's an interesting problem! it appears to be a file permissions issue with rss.xml.

    things to check:
    - php needs to have write permission for that file - can you confirm the file's RWX permissions on the server? according to nearlyfreespeech's faq, the web server is running on freebsd - so the command should be:
    ls -al rss.xml

    - if the permissions are OK, it's possible there is a problem with the file's path or filename. we can see which filepath it's trying to write by adding this line to library/rss.php after line 132 (before it tries to fopen):
    echo("I'm trying to access the rss file here: " . $rss_document);

    this will print the filepath to the browser when you load a page. if the filepath doesn't look right to you (e.g. it doesn't match the actual location of rss.xml on the server), then you can make adjustments in settings.php to $rss_dir and $rss_file if necessary.

  8. @maz masto is definitely the best place for bug reports - you're doing it all right! :) having them posted publicly gives everyone into #kiki a chance to chime in and stay in the loop with features/problems.

    that's an interesting problem! it appears to be a file permissions issue with rss.xml.

    things to check:
    - php needs to have write permission for that file - can you confirm the file's RWX permissions on the server? according to nearlyfreespeech's faq, the web server is running on freebsd - so the command should be:
    ls -al rss.xml

    - if the permissions are OK, it's possible there is a problem with the file's path or filename. we can see which filepath it's trying to write by adding this line to library/rss.php after line 132 (before it tries to fopen):
    echo("I'm trying to access the rss file here: " . $rss_document);

    this will print the filepath to the browser when you load a page. if the filepath doesn't look right to you (e.g. it doesn't match the actual location of rss.xml on the server), then you can make adjustments in settings.php to $rss_dir and $rss_file if necessary.

  9. @maz masto is definitely the best place for bug reports - you're doing it all right! :) having them posted publicly gives everyone into #kiki a chance to chime in and stay in the loop with features/problems.

    that's an interesting problem! it appears to be a file permissions issue with rss.xml.

    things to check:
    - php needs to have write permission for that file - can you confirm the file's RWX permissions on the server? according to nearlyfreespeech's faq, the web server is running on freebsd - so the command should be:
    ls -al rss.xml

    - if the permissions are OK, it's possible there is a problem with the file's path or filename. we can see which filepath it's trying to write by adding this line to library/rss.php after line 132 (before it tries to fopen):
    echo("I'm trying to access the rss file here: " . $rss_document);

    this will print the filepath to the browser when you load a page. if the filepath doesn't look right to you (e.g. it doesn't match the actual location of rss.xml on the server), then you can make adjustments in settings.php to $rss_dir and $rss_file if necessary.

  10. @maz masto is definitely the best place for bug reports - you're doing it all right! :) having them posted publicly gives everyone into #kiki a chance to chime in and stay in the loop with features/problems.

    that's an interesting problem! it appears to be a file permissions issue with rss.xml.

    things to check:
    - php needs to have write permission for that file - can you confirm the file's RWX permissions on the server? according to nearlyfreespeech's faq, the web server is running on freebsd - so the command should be:
    ls -al rss.xml

    - if the permissions are OK, it's possible there is a problem with the file's path or filename. we can see which filepath it's trying to write by adding this line to library/rss.php after line 132 (before it tries to fopen):
    echo("I'm trying to access the rss file here: " . $rss_document);

    this will print the filepath to the browser when you load a page. if the filepath doesn't look right to you (e.g. it doesn't match the actual location of rss.xml on the server), then you can make adjustments in settings.php to $rss_dir and $rss_file if necessary.

  11. 𝓦𝓪𝓲𝓽𝓲𝓷𝓰 𝓯𝓸𝓻 𝓪 𝓼𝓽𝓪𝓻 𝓽𝓸 𝓯𝓪𝓵𝓵...

    Hund Kiki umgeben von goldenen Sternen ⭐️

    #dogsofmastodon #fedidogs #mastodogs #fedirudel #dog #photography #Fotografie #hund #kiki #stars #sterne

  12. 𝓦𝓪𝓲𝓽𝓲𝓷𝓰 𝓯𝓸𝓻 𝓪 𝓼𝓽𝓪𝓻 𝓽𝓸 𝓯𝓪𝓵𝓵...

    Hund Kiki umgeben von goldenen Sternen ⭐️

    #dogsofmastodon #fedidogs #mastodogs #fedirudel #dog #photography #Fotografie #hund #kiki #stars #sterne

  13. 𝓦𝓪𝓲𝓽𝓲𝓷𝓰 𝓯𝓸𝓻 𝓪 𝓼𝓽𝓪𝓻 𝓽𝓸 𝓯𝓪𝓵𝓵...

    Hund Kiki umgeben von goldenen Sternen ⭐️

    #dogsofmastodon #fedidogs #mastodogs #fedirudel #dog #photography #Fotografie #hund #kiki #stars #sterne

  14. 𝓦𝓪𝓲𝓽𝓲𝓷𝓰 𝓯𝓸𝓻 𝓪 𝓼𝓽𝓪𝓻 𝓽𝓸 𝓯𝓪𝓵𝓵...

    Hund Kiki umgeben von goldenen Sternen ⭐️

    #dogsofmastodon #fedidogs #mastodogs #fedirudel #dog #photography #Fotografie #hund #kiki #stars #sterne

  15. 𝓦𝓪𝓲𝓽𝓲𝓷𝓰 𝓯𝓸𝓻 𝓪 𝓼𝓽𝓪𝓻 𝓽𝓸 𝓯𝓪𝓵𝓵...

    Hund Kiki umgeben von goldenen Sternen ⭐️

    #dogsofmastodon #fedidogs #mastodogs #fedirudel #dog #photography #Fotografie #hund #kiki #stars #sterne

  16. @maz thank you for being so patient. debugging this without access to the machine this is on is challenging 😅

    if you've still got the energy to keep picking at this, i've added some extra null checks. this one might work better for you.

    try replacing compare_pages_by_date() with this code instead:

    // utility function to compare two pages, and return the newer one
    function compare_pages_by_date($pageA, $pageB)
    {
    // page A
    $pageA_source = file($pageA);
    $page_dataA = extract_header_and_content($pageA_source);
    if ($page_dataA !== null && array_key_exists("header", $page_dataA))
    $page_dateA = get_header_key($page_dataA['header'], "date");

    // page B
    $pageB_source = file($pageB);
    $page_dataB = extract_header_and_content($pageB_source);

    if ($page_dataB !== null && array_key_exists("header", $page_dataB))
    $page_dateB = get_header_key($page_dataB['header'], "date");

    // make sure that the page dates exist before comparing, and return comparison
    // this is really ugly because usort no longer supports returning bools
    if ($page_dateA !== null && $page_dateB !== null)
    {
    if ($page_dateA == $page_dateB)
    return 0;
    elseif ($page_dateA < $page_dateB)
    return -1;
    else
    return 1;
    }
    // sorry, we have no page dates to compare
    else
    return 0;
    }

    #kiki

  17. @maz thank you for being so patient. debugging this without access to the machine this is on is challenging 😅

    if you've still got the energy to keep picking at this, i've added some extra null checks. this one might work better for you.

    try replacing compare_pages_by_date() with this code instead:

    // utility function to compare two pages, and return the newer one
    function compare_pages_by_date($pageA, $pageB)
    {
    // page A
    $pageA_source = file($pageA);
    $page_dataA = extract_header_and_content($pageA_source);
    if ($page_dataA !== null && array_key_exists("header", $page_dataA))
    $page_dateA = get_header_key($page_dataA['header'], "date");

    // page B
    $pageB_source = file($pageB);
    $page_dataB = extract_header_and_content($pageB_source);

    if ($page_dataB !== null && array_key_exists("header", $page_dataB))
    $page_dateB = get_header_key($page_dataB['header'], "date");

    // make sure that the page dates exist before comparing, and return comparison
    // this is really ugly because usort no longer supports returning bools
    if ($page_dateA !== null && $page_dateB !== null)
    {
    if ($page_dateA == $page_dateB)
    return 0;
    elseif ($page_dateA < $page_dateB)
    return -1;
    else
    return 1;
    }
    // sorry, we have no page dates to compare
    else
    return 0;
    }

    #kiki

  18. @maz thank you for being so patient. debugging this without access to the machine this is on is challenging 😅

    if you've still got the energy to keep picking at this, i've added some extra null checks. this one might work better for you.

    try replacing compare_pages_by_date() with this code instead:

    // utility function to compare two pages, and return the newer one
    function compare_pages_by_date($pageA, $pageB)
    {
    // page A
    $pageA_source = file($pageA);
    $page_dataA = extract_header_and_content($pageA_source);
    if ($page_dataA !== null && array_key_exists("header", $page_dataA))
    $page_dateA = get_header_key($page_dataA['header'], "date");

    // page B
    $pageB_source = file($pageB);
    $page_dataB = extract_header_and_content($pageB_source);

    if ($page_dataB !== null && array_key_exists("header", $page_dataB))
    $page_dateB = get_header_key($page_dataB['header'], "date");

    // make sure that the page dates exist before comparing, and return comparison
    // this is really ugly because usort no longer supports returning bools
    if ($page_dateA !== null && $page_dateB !== null)
    {
    if ($page_dateA == $page_dateB)
    return 0;
    elseif ($page_dateA < $page_dateB)
    return -1;
    else
    return 1;
    }
    // sorry, we have no page dates to compare
    else
    return 0;
    }

    #kiki

  19. @maz thank you for being so patient. debugging this without access to the machine this is on is challenging 😅

    if you've still got the energy to keep picking at this, i've added some extra null checks. this one might work better for you.

    try replacing compare_pages_by_date() with this code instead:

    // utility function to compare two pages, and return the newer one
    function compare_pages_by_date($pageA, $pageB)
    {
    // page A
    $pageA_source = file($pageA);
    $page_dataA = extract_header_and_content($pageA_source);
    if ($page_dataA !== null && array_key_exists("header", $page_dataA))
    $page_dateA = get_header_key($page_dataA['header'], "date");

    // page B
    $pageB_source = file($pageB);
    $page_dataB = extract_header_and_content($pageB_source);

    if ($page_dataB !== null && array_key_exists("header", $page_dataB))
    $page_dateB = get_header_key($page_dataB['header'], "date");

    // make sure that the page dates exist before comparing, and return comparison
    // this is really ugly because usort no longer supports returning bools
    if ($page_dateA !== null && $page_dateB !== null)
    {
    if ($page_dateA == $page_dateB)
    return 0;
    elseif ($page_dateA < $page_dateB)
    return -1;
    else
    return 1;
    }
    // sorry, we have no page dates to compare
    else
    return 0;
    }

    #kiki

  20. @maz thank you for being so patient. debugging this without access to the machine this is on is challenging 😅

    if you've still got the energy to keep picking at this, i've added some extra null checks. this one might work better for you.

    try replacing compare_pages_by_date() with this code instead:

    // utility function to compare two pages, and return the newer one
    function compare_pages_by_date($pageA, $pageB)
    {
    // page A
    $pageA_source = file($pageA);
    $page_dataA = extract_header_and_content($pageA_source);
    if ($page_dataA !== null && array_key_exists("header", $page_dataA))
    $page_dateA = get_header_key($page_dataA['header'], "date");

    // page B
    $pageB_source = file($pageB);
    $page_dataB = extract_header_and_content($pageB_source);

    if ($page_dataB !== null && array_key_exists("header", $page_dataB))
    $page_dateB = get_header_key($page_dataB['header'], "date");

    // make sure that the page dates exist before comparing, and return comparison
    // this is really ugly because usort no longer supports returning bools
    if ($page_dateA !== null && $page_dateB !== null)
    {
    if ($page_dateA == $page_dateB)
    return 0;
    elseif ($page_dateA < $page_dateB)
    return -1;
    else
    return 1;
    }
    // sorry, we have no page dates to compare
    else
    return 0;
    }

    #kiki

  21. @maz since i can't really replicate the bug on my end, maybe improving the function that's giving you fits would be a better solution. can you try replacing the entire function compare_pages_by_date() in page.php (it starts at line 522) with this code:

    // utility function to compare two pages, and return the newer one
    function compare_pages_by_date($pageA, $pageB)
    {
    // page A
    $pageA_source = file($pageA);
    $page_dataA = extract_header_and_content($pageA_source);
    if (array_key_exists("header", $page_dataA))
    $page_dateA = get_header_key($page_dataA['header'], "date");

    // page B
    $pageB_source = file($pageB);
    $page_dataB = extract_header_and_content($pageB_source);

    if (array_key_exists("header", $page_dataB))
    $page_dateB = get_header_key($page_dataB['header'], "date");

    // make sure that the page dates exist before comparing, and return comparison
    // this is really ugly because usort no longer supports returning bools
    if ($page_dateA !== null && $page_dateB !== null)
    {
    if ($page_dateA == $page_dateB)
    return 0;
    elseif ($page_dateA < $page_dateB)
    return -1;
    else
    return 1;
    }
    // sorry, we have no page dates to compare
    else
    return 0;
    }

    #kiki

  22. @maz since i can't really replicate the bug on my end, maybe improving the function that's giving you fits would be a better solution. can you try replacing the entire function compare_pages_by_date() in page.php (it starts at line 522) with this code:

    // utility function to compare two pages, and return the newer one
    function compare_pages_by_date($pageA, $pageB)
    {
    // page A
    $pageA_source = file($pageA);
    $page_dataA = extract_header_and_content($pageA_source);
    if (array_key_exists("header", $page_dataA))
    $page_dateA = get_header_key($page_dataA['header'], "date");

    // page B
    $pageB_source = file($pageB);
    $page_dataB = extract_header_and_content($pageB_source);

    if (array_key_exists("header", $page_dataB))
    $page_dateB = get_header_key($page_dataB['header'], "date");

    // make sure that the page dates exist before comparing, and return comparison
    // this is really ugly because usort no longer supports returning bools
    if ($page_dateA !== null && $page_dateB !== null)
    {
    if ($page_dateA == $page_dateB)
    return 0;
    elseif ($page_dateA < $page_dateB)
    return -1;
    else
    return 1;
    }
    // sorry, we have no page dates to compare
    else
    return 0;
    }

    #kiki

  23. @maz since i can't really replicate the bug on my end, maybe improving the function that's giving you fits would be a better solution. can you try replacing the entire function compare_pages_by_date() in page.php (it starts at line 522) with this code:

    // utility function to compare two pages, and return the newer one
    function compare_pages_by_date($pageA, $pageB)
    {
    // page A
    $pageA_source = file($pageA);
    $page_dataA = extract_header_and_content($pageA_source);
    if (array_key_exists("header", $page_dataA))
    $page_dateA = get_header_key($page_dataA['header'], "date");

    // page B
    $pageB_source = file($pageB);
    $page_dataB = extract_header_and_content($pageB_source);

    if (array_key_exists("header", $page_dataB))
    $page_dateB = get_header_key($page_dataB['header'], "date");

    // make sure that the page dates exist before comparing, and return comparison
    // this is really ugly because usort no longer supports returning bools
    if ($page_dateA !== null && $page_dateB !== null)
    {
    if ($page_dateA == $page_dateB)
    return 0;
    elseif ($page_dateA < $page_dateB)
    return -1;
    else
    return 1;
    }
    // sorry, we have no page dates to compare
    else
    return 0;
    }

    #kiki

  24. @maz since i can't really replicate the bug on my end, maybe improving the function that's giving you fits would be a better solution. can you try replacing the entire function compare_pages_by_date() in page.php (it starts at line 522) with this code:

    // utility function to compare two pages, and return the newer one
    function compare_pages_by_date($pageA, $pageB)
    {
    // page A
    $pageA_source = file($pageA);
    $page_dataA = extract_header_and_content($pageA_source);
    if (array_key_exists("header", $page_dataA))
    $page_dateA = get_header_key($page_dataA['header'], "date");

    // page B
    $pageB_source = file($pageB);
    $page_dataB = extract_header_and_content($pageB_source);

    if (array_key_exists("header", $page_dataB))
    $page_dateB = get_header_key($page_dataB['header'], "date");

    // make sure that the page dates exist before comparing, and return comparison
    // this is really ugly because usort no longer supports returning bools
    if ($page_dateA !== null && $page_dateB !== null)
    {
    if ($page_dateA == $page_dateB)
    return 0;
    elseif ($page_dateA < $page_dateB)
    return -1;
    else
    return 1;
    }
    // sorry, we have no page dates to compare
    else
    return 0;
    }

    #kiki

  25. @maz since i can't really replicate the bug on my end, maybe improving the function that's giving you fits would be a better solution. can you try replacing the entire function compare_pages_by_date() in page.php (it starts at line 522) with this code:

    // utility function to compare two pages, and return the newer one
    function compare_pages_by_date($pageA, $pageB)
    {
    // page A
    $pageA_source = file($pageA);
    $page_dataA = extract_header_and_content($pageA_source);
    if (array_key_exists("header", $page_dataA))
    $page_dateA = get_header_key($page_dataA['header'], "date");

    // page B
    $pageB_source = file($pageB);
    $page_dataB = extract_header_and_content($pageB_source);

    if (array_key_exists("header", $page_dataB))
    $page_dateB = get_header_key($page_dataB['header'], "date");

    // make sure that the page dates exist before comparing, and return comparison
    // this is really ugly because usort no longer supports returning bools
    if ($page_dateA !== null && $page_dateB !== null)
    {
    if ($page_dateA == $page_dateB)
    return 0;
    elseif ($page_dateA < $page_dateB)
    return -1;
    else
    return 1;
    }
    // sorry, we have no page dates to compare
    else
    return 0;
    }

    #kiki

  26. @maz wooo welcome new kiki sysop! :D

    hmmmm i just tried using that style of link in several places, including on a page and in a menu, and both worked without errors on my end.

    e.g. in bug format:
    [&tag=post&sort=newest]{My Posts Sorted from Newest To Oldest}

    or as an url:
    index.php?&tag=post&sort=newest

    can you tell me more about how/where you're trying to use that link (as well as the exact bug syntax or url you're using for the link) so i can replicate the error?

    #kiki

  27. @maz wooo welcome new kiki sysop! :D

    hmmmm i just tried using that style of link in several places, including on a page and in a menu, and both worked without errors on my end.

    e.g. in bug format:
    [&tag=post&sort=newest]{My Posts Sorted from Newest To Oldest}

    or as an url:
    index.php?&tag=post&sort=newest

    can you tell me more about how/where you're trying to use that link (as well as the exact bug syntax or url you're using for the link) so i can replicate the error?

    #kiki

  28. @maz wooo welcome new kiki sysop! :D

    hmmmm i just tried using that style of link in several places, including on a page and in a menu, and both worked without errors on my end.

    e.g. in bug format:
    [&tag=post&sort=newest]{My Posts Sorted from Newest To Oldest}

    or as an url:
    index.php?&tag=post&sort=newest

    can you tell me more about how/where you're trying to use that link (as well as the exact bug syntax or url you're using for the link) so i can replicate the error?

    #kiki

  29. @maz wooo welcome new kiki sysop! :D

    hmmmm i just tried using that style of link in several places, including on a page and in a menu, and both worked without errors on my end.

    e.g. in bug format:
    [&tag=post&sort=newest]{My Posts Sorted from Newest To Oldest}

    or as an url:
    index.php?&tag=post&sort=newest

    can you tell me more about how/where you're trying to use that link (as well as the exact bug syntax or url you're using for the link) so i can replicate the error?

    #kiki

  30. @maz wooo welcome new kiki sysop! :D

    hmmmm i just tried using that style of link in several places, including on a page and in a menu, and both worked without errors on my end.

    e.g. in bug format:
    [&tag=post&sort=newest]{My Posts Sorted from Newest To Oldest}

    or as an url:
    index.php?&tag=post&sort=newest

    can you tell me more about how/where you're trying to use that link (as well as the exact bug syntax or url you're using for the link) so i can replicate the error?

    #kiki

  31. hooray! i finally posted v1.2.0 of the kiki homepage construction set. this includes a new feature that allows for Podcasting RSS feed support, which you can see in action at cd-rom.ca

    tomotama.itch.io/kiki

    thank you kiki sysops for keeping this tiny web alive with your experiments and feats. i haven't had to touch wordpress in two years and counting thanks to you 🙏

    #kiki #smallweb #indieWeb #php

  32. hooray! i finally posted v1.2.0 of the kiki homepage construction set. this includes a new feature that allows for Podcasting RSS feed support, which you can see in action at cd-rom.ca

    tomotama.itch.io/kiki

    thank you kiki sysops for keeping this tiny web alive with your experiments and feats. i haven't had to touch wordpress in two years and counting thanks to you 🙏

    #kiki #smallweb #indieWeb #php

  33. hooray! i finally posted v1.2.0 of the kiki homepage construction set. this includes a new feature that allows for Podcasting RSS feed support, which you can see in action at cd-rom.ca

    tomotama.itch.io/kiki

    thank you kiki sysops for keeping this tiny web alive with your experiments and feats. i haven't had to touch wordpress in two years and counting thanks to you 🙏

    #kiki #smallweb #indieWeb #php

  34. hooray! i finally posted v1.2.0 of the kiki homepage construction set. this includes a new feature that allows for Podcasting RSS feed support, which you can see in action at cd-rom.ca

    tomotama.itch.io/kiki

    thank you kiki sysops for keeping this tiny web alive with your experiments and feats. i haven't had to touch wordpress in two years and counting thanks to you 🙏

    #kiki #smallweb #indieWeb #php

  35. hooray! i finally posted v1.2.0 of the kiki homepage construction set. this includes a new feature that allows for Podcasting RSS feed support, which you can see in action at cd-rom.ca

    tomotama.itch.io/kiki

    thank you kiki sysops for keeping this tiny web alive with your experiments and feats. i haven't had to touch wordpress in two years and counting thanks to you 🙏

    #kiki #smallweb #indieWeb #php

  36. RT @gustavocaetano: Soeben veröffentlicht: HermesOffice — eine Open-Source-Bürosuite (Word, Sheets, Slides, PDF), bei der die KI ein echtes Agent-System ist, das zu 100 % auf deiner Maschine läuft. Kein Cloud-Konto. Kein Drittanbieter-Proxy. Der Assistent, der deine Dokumente bearbeitet, ist derselbe Agent, der deine Dateien, dein Gedächtnis und deine Tools kennt. Gebaut auf der hervorragenden GenOffice-Engine (Apache-2.0), geforkt und neu positioniert. → github.com/criptogus/HermesO… @Teknium @NousResearch Link GitHub - criptogus/HermesOffice: HermesOffice — KI-native Bürosuite, geforkt von GenOffice... HermesOffice — KI-native Bürosuite, geforkt von GenOffice (Apache-2.0), mit nativem Hermes-Agent-KI - criptogus/HermesOffice github.com

    mehr auf Arint.info

    #Apache20 #Bürosuite #GenOffice #HermesOffice #KIKI #OpenSource #arint_info

    https://x.com/gustavocaetano/status/2084701947869704299#m

  37. RT @gustavocaetano: Soeben veröffentlicht: HermesOffice — eine Open-Source-Bürosuite (Word, Sheets, Slides, PDF), bei der die KI ein echtes Agent-System ist, das zu 100 % auf deiner Maschine läuft. Kein Cloud-Konto. Kein Drittanbieter-Proxy. Der Assistent, der deine Dokumente bearbeitet, ist derselbe Agent, der deine Dateien, dein Gedächtnis und deine Tools kennt. Gebaut auf der hervorragenden GenOffice-Engine (Apache-2.0), geforkt und neu positioniert. → github.com/criptogus/HermesO… @Teknium @NousResearch Link GitHub - criptogus/HermesOffice: HermesOffice — KI-native Bürosuite, geforkt von GenOffice... HermesOffice — KI-native Bürosuite, geforkt von GenOffice (Apache-2.0), mit nativem Hermes-Agent-KI - criptogus/HermesOffice github.com

    mehr auf Arint.info

    #Apache20 #Bürosuite #GenOffice #HermesOffice #KIKI #OpenSource #arint_info

    https://x.com/gustavocaetano/status/2084701947869704299#m

  38. RT @gustavocaetano: Soeben veröffentlicht: HermesOffice — eine Open-Source-Bürosuite (Word, Sheets, Slides, PDF), bei der die KI ein echtes Agent-System ist, das zu 100 % auf deiner Maschine läuft. Kein Cloud-Konto. Kein Drittanbieter-Proxy. Der Assistent, der deine Dokumente bearbeitet, ist derselbe Agent, der deine Dateien, dein Gedächtnis und deine Tools kennt. Gebaut auf der hervorragenden GenOffice-Engine (Apache-2.0), geforkt und neu positioniert. → github.com/criptogus/HermesO… @Teknium @NousResearch Link GitHub - criptogus/HermesOffice: HermesOffice — KI-native Bürosuite, geforkt von GenOffice... HermesOffice — KI-native Bürosuite, geforkt von GenOffice (Apache-2.0), mit nativem Hermes-Agent-KI - criptogus/HermesOffice github.com

    mehr auf Arint.info

    #Apache20 #Bürosuite #GenOffice #HermesOffice #KIKI #OpenSource #arint_info

    https://x.com/gustavocaetano/status/2084701947869704299#m

  39. @ehushagen oh that looks fantastic :D great choice of colour palette and css mods! 👏

    my pleasure. it sure warms my heart seeing a new #kiki instance

  40. @ehushagen oh that looks fantastic :D great choice of colour palette and css mods! 👏

    my pleasure. it sure warms my heart seeing a new #kiki instance

  41. @ehushagen oh that looks fantastic :D great choice of colour palette and css mods! 👏

    my pleasure. it sure warms my heart seeing a new #kiki instance

  42. @ehushagen oh that looks fantastic :D great choice of colour palette and css mods! 👏

    my pleasure. it sure warms my heart seeing a new #kiki instance

  43. @ehushagen oh that looks fantastic :D great choice of colour palette and css mods! 👏

    my pleasure. it sure warms my heart seeing a new #kiki instance

  44. @vga256 eric.iseasyto.ca/

    Thanks again for #kiki, this is exactly what I was looking for :)

  45. @vga256 eric.iseasyto.ca/

    Thanks again for #kiki, this is exactly what I was looking for :)

  46. @vga256 eric.iseasyto.ca/

    Thanks again for #kiki, this is exactly what I was looking for :)

  47. @vga256 eric.iseasyto.ca/

    Thanks again for #kiki, this is exactly what I was looking for :)

  48. @vga256 eric.iseasyto.ca/

    Thanks again for #kiki, this is exactly what I was looking for :)

  49. @ehushagen edit: that is most definitely NOT covered on the help page 😩 looks like i had a bunch of edits made to the help page that weren't included in the last update.

    the keyword you're looking for is:
    sort:newest
    or
    sort:oldest

    !{show pages with tags:post sort:newest}

    #kiki

  50. @ehushagen edit: that is most definitely NOT covered on the help page 😩 looks like i had a bunch of edits made to the help page that weren't included in the last update.

    the keyword you're looking for is:
    sort:newest
    or
    sort:oldest

    !{show pages with tags:post sort:newest}

    #kiki

  51. @ehushagen edit: that is most definitely NOT covered on the help page 😩 looks like i had a bunch of edits made to the help page that weren't included in the last update.

    the keyword you're looking for is:
    sort:newest
    or
    sort:oldest

    !{show pages with tags:post sort:newest}

    #kiki

  52. @ehushagen edit: that is most definitely NOT covered on the help page 😩 looks like i had a bunch of edits made to the help page that weren't included in the last update.

    the keyword you're looking for is:
    sort:newest
    or
    sort:oldest

    !{show pages with tags:post sort:newest}

    #kiki

  53. @ehushagen edit: that is most definitely NOT covered on the help page 😩 looks like i had a bunch of edits made to the help page that weren't included in the last update.

    the keyword you're looking for is:
    sort:newest
    or
    sort:oldest

    !{show pages with tags:post sort:newest}

    #kiki