#codeao

2025-01-11
Finally !

A "what is alcea listening to atm" widget 😹

https://codepen.io/ryedai1/pen/ogvqWOr

I 💝 it
#PHP #Tasker #Poweramp
https://m.youtube.com/watch?v=_93SCep8rtc&feature=youtu.be
(I could let it track-n-write *any* trackchange instead of on buttonpress but my serverhoster'd be noot happy 🙀🙀🙀)
#CodeAo
2024-08-31
Let's play a fun game.

It's called:

"Why #blender sucks at #fbx and #noesis is just the best"

Observe:


-flipax 2
#CodeAo (kinda ?)
https://www.youtube.com/watch?v=3h9T_i2r_rY&feature=youtu.be

I <3 Noesis
It's so GOOD ❤️
2024-08-31
Since someone #keeps #DELETING by watch list..

I'll call em after my old classmate which I didn't like


(I hope I don't need to program more checks...
Imagine adding #padlocks to your own #home :nothehe: ...)

#CodeAo

PS:
If whoever is having fun messing up my #php stuff reads this:
You are wasting your time.
My php config weighs 11 megs.
I can restore it all before you cooked your dinner 20 fold.
Get a hobby
<?php
if (!isset($_GET['superusercc']) || $_GET['superusercc'] !== 'tr') {
    echo 'Bad Susan';
    exit;
}
$deleteUrl = $_GET['delete'] ?? '';
$buylistJson = file_get_contents('buylist.json');
$buylist = json_decode($buylistJson);
if ($buylist === null) {
    echo 'Error decoding the buylist JSON.';
    exit;
}
$matchingItem = null;
foreach ($buylist as $item) {
    if ($item->url === $deleteUrl) {
        $matchingItem = $item;
        break;
    }
}
if ($matchingItem && $deleteUrl !== '') {
    echo 'Are you sure you want to delete: ' . $matchingItem->name . '?';
    if (isset($_GET['confirm']) && $_GET['confirm'] === 'yes') {
        $index = array_search($matchingItem, $buylist);
        array_splice($buylist, $index, 1);
        echo 'Item deleted successfully!';
        $updatedBuylistJson = json_encode($buylist, JSON_PRETTY_PRINT);
        if (file_put_contents('buylist.json', $updatedBuylistJson) === false) {
            echo 'Error saving the updated buylist.';
            exit;
        }
    } else {
        echo '<a href="?superusercc=tr&delete=' . urlencode($deleteUrl) . '&confirm=yes">Confirm Deletion</a>';
    }
} else {
    echo 'No item with the specified URL found in the buylist.';
    echo 'Here are all the URLs and titles: <br>';
    foreach ($buylist as $item) {
        echo 'URL: <a href="?superusercc=tr&delete=' . urlencode($item->url) . '">' . $item->url . '</a><br>';
        echo 'Title: ' . $item->title . '<br>';
        echo '<br>';
    }
}
?>
2024-08-26
Yaay !

My #mmd renderer can run #locally on the #metaquest2 also via #FileSystemApi

#Javascript is the #best 😻
:FemShepLove:

Happpyyy ! 💝


https://m.youtube.com/watch?v=kWVrH7BmO_c&feature=youtu.be
#CodeAo

#metaquest
2024-08-25
Yay the #model selector option #querystring now works

https://alceawis.de/modelsmine.html?option=2024|08|04_-_MaronKusakabe

Now I can link to whichever model I want however .

#Protip :
Don't use "/" or "\" in a querystring.
& are difficult too
#slash #ampersand #codeao
},
            "https://example.com/page2.html": {
                title: "Example Page 2",
                description: "<p>Description for Example Page 2.</p>"
            }
        };

       const urlSelect = document.getElementById('url-select');
        const urlIframe = document.getElementById('url-iframe');
        const urlDescription = document.getElementById('url-description');
        for (const [url, data] of Object.entries(descriptionData)) {
            const option = document.createElement('option');
            option.value = url;
            option.textContent = data.title;
            urlSelect.appendChild(option);
        }
        function updateContent() {
            const selectedUrl = urlSelect.value;
            urlIframe.src = selectedUrl;
            urlDescription.innerHTML = descriptionData[selectedUrl].description;
        }



            function getQueryStringParameter(name) {
                const urlParams = new URLSearchParams(window.location.search);
                return urlParams.get(name);
            }

            // Get the query option from the URL
            const queryOption = getQueryStringParameter('option');

            // Set the <select> element value based on the query parameter
            if (queryOption) {
                // Find the URL corresponding to the given title
                const urlToSelect = Object.keys(descriptionData).find(url => descriptionData[url].title === queryOption);
                if (urlToSel
2024-08-20
Added a #comment #hidefunction to the #youtube comment fetch
https://codepen.io/ryedai1/pen/xxoYowO

Reason:

Some #comments are fetched via #api that are:
* not visible #publicly ( #shadowbanned )
* not on the" #comment held for #review. " in youtube #dashboard

The #commenters name is commmitted to #local #storage.

Sigh
Youtube.
You are so innefficient

#CodeAo
2024-08-19
2024-08-14
Finally wrote a lil #parcel track thingy
https://codepen.io/ryedai1/pen/BagmgRX

Downside:
(aside only being #dhl #dpd and #hermes 4 now):

there is apparantly no service that lets me #iframe the final url.

yeah.
not cool.

#codeao

Just like the #rss one from days ago, this uses #localstorage , so if you clear cache all is goooone
2024-08-14
Stooping so low.

addin a size check right into the file writer..

as #php offed my html collection (700 kb is soooo muuuch) too often
augh

https://www.youtube.com/watch?v=w4m7le9jndY&feature=youtu.be

https://codepen.io/ryedai1/pen/dyBZxOx

#CodeAo

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst