This action will delete this post on this instance and on all federated instances, and it cannot be undone. Are you certain you want to delete this post?
This action will delete this post on this instance and on all federated instances, and it cannot be undone. Are you certain you want to delete this post?
This action will block this actor and hide all of their past and future posts. Are you certain you want to block this actor?
This action will block this object. Are you certain you want to block this object?
#PHP 13 hashtags
I did some basic explanations and screenshot-showcase of my new bookmarking / note taking #PHP web application #rememori: https://src.jayvii.de/pub/rememori/index.html#features
Suggestions for new features (and coding style...) are very appreciated!
Been working on a simple bookmarking client ("rememori") completely written in #PHP, without any data base in the back, but instead based on simple .txt files.
The features include (for now):
1. tagging (only one per note),
2. a simple search through all your notes,
3. automatic title-fetching for URL-notes,
4. a simple API endpoint for programmatically adding new notes (I imported all my linkding bookmarks via three lines in bash and #curl),
5. #RSS feeds for individual categories (so you can use it as read-it-later application together with an RSS reader
Reworked my tiny #tw2html webtool that let's me check and "follow" streams on #Twitch. Checking is now done client-side via #JavaScript instead of the much slower server-side #PHP procedure. The new procedure checks 30 streams in well under 1 second.
Feel free to try it out here: https://twitch.jayvii.de/
On yesterday's #serci Update post (https://social.jayvii.de/objects/MVKQo4c6huo), today I finished a massive overhaul of the web-frontend for this Meta² search engine.
Besides looking a lot slicker, it should be a lot easier to understand for new users now. The list of search engines can now be searched and filtered and your personal default search engine can be chosen easily with a single click! I also added descriptions for each search engine, to make the list easier to browse and understand.
Feel free to try it yourself! https://search.jayvii.de
Oh, and the re-factoring increased performance by 33%! Searching on average takes 0.12s before redirect (same as before), but loading the web-frontend takes only 0.18s instead of 0.28s now. Really happy with how it turned out. Still: any suggestions are more than welcome!
I have been adding quite a few more search engines to #serci today, including #Fireball, #SearX/#SearXng, #eTools, #TigerCH, #WolframAlpha and #DBLP today. All new additions are already live at https://search.jayvii.de.
With 64 search engines in the default configuration, I feel like the webfrontend has to present all the options in a better way. But I am really out of ideas on what that could look like... Suggestions are very welcome! #webdev #php #foss #search
The move to a different VPS actually increased the performance for the HTML-building of #serci substantially from 0.28s above to 0.19s over 100 trials (also, this might have to do with #PHP updates and smarter Apache configuration). Redirection does not differ. This is likely the minimal overhead I can achieve.
Migrating all my tools was quite a hassle, eventhough most of my self-written ones require not much configuring (if at all) and need no databases, etc.
I switched my rss reader from #miniflux to #selfoss, let's see how that turns out. I am also thinking about trying #ttrss again.
I do need to limit server load on this tiny 1-core, 1 GB RAM VPS. But that is part of the fun! Now, in the coming weeks I plan to go over my tools again and improve their performance (especially server-load) substantially. I think there is still room for improvement!
For example, I would love for yt2html to be pure #PHP instead of the old #Rstats script. Also, I would like to write a really simple file-based notes and bookmarking tool in PHP and retire the linkding service I am running, as it is a bit overkill for my uses.
If I were to transform yt2html to pure #PHP (and fetching feeds dynamically on each load rather than creating HTML files) instead of taking the shortcut throuh my years-old #Rstats script, this could also run on a webhost.
The only things I'd need a proper #VPS for would then be ktistec (i.e. social.jayvii.de) and stagit (src.jayvii.de) as well as my rss reader miniflux. All of the rest are either static content or simple PHP scripts (typically even DB-less): yt2rss, yt2html, tw2html, serĉi, pastesrv, ...
On the other side: If I do need a VPS either way, I might as well throw everything onto it. With the exception of ktistec, those are super low traffic anyways (and even ktistec's traffic is quite low).
I finally transferred almost all my webtools to SimpleCSS, for example the #goaccess dashboard for privacy preserving web traffic measurements:
https://src.jayvii.de/pub/goaccess_dashboard/ (see it in action here: traffic.jayvii.de
Or other tools such as a barebones youtube-feed yt2html, twitch-feed tw2html, youtube-to-podcatcher service yt2rss, ...
I really like the idea of simple and classless #CSS. It helped me improve the visuals of my #PHP services quite a lot!
After a few performance improvements, I did some loading time tests for #serci, between my home network (wifi) and a random VPN where the service is running.
echo "html,redirect" | tee timestamps.csv for i in $(seq 1 1 100); do HTML=$(curl -o /dev/null -s -w '%{time_total}' https://search.jayvii.de) REDI=$(curl -o /dev/null -s -w '%{time_total}' https://search.jayvii.de?q=test) echo "$HTML,$REDI" | tee --append timestamps.csv done
Across 100 runs for loading the site's HTML (generated from pure #PHP) versus a redirect to a chosen service (here the default #MetaGer), I can measure on average 0.28s for loading the frontend (HTML) and 0.13s for processing input and issuing the redirect.
I am quite happy with this relatively low overhead, although performance may decrease a little if more services are added (currently: 47). At some point maybe an #sqlite database may be more efficient than my pre-constructed #json files which are loaded on-demand.