novos tempos reveladores …
assim que percebem que aqui produzimos código em vez de passar o dia falando sobre código, os fantásticos CVs feitos por IA nem aparecem para a entrevista pessoal …
desenvolvedores se revelam engenheiros em ferramentas wix e hostinger, programadores não conseguem escrever um loop em php com iteração entre dois valores sem consulta de google, pedindo montar uma chamada ajax com callback de sucesso a pessoa magicamente desaparece e fica o cheiro de solas de tênis queimadas na sala …
devo estar brincando? pior que não …
de repente, aqueles que pedem salários de 5 cifras não estã viajando, apenas coerentes no meio de fantasmas …
Category: wpHakka Threads
-

situação real CV – IA …
-

CIO report …
those kiddy kackers do nothing really, they have nothing to do and pick patterns to scan web sites …
but it is also good to have an eye on them, to know who’s sniffing around, then you can decide if you block the source address or just notice it and keep tracking it
what hakka CIO does is not just logging, it silently redirects the false and suspicious requests, they do not even reach your wordpress site, the pseudo hackers do not see what happens, a real silent underground countermeasure for the wannabie attempts, the interception happens on lower level and is a life ensurance that your site works trouble free, it doesn’t get hit
the IP’s are real, the TZ is Brazil/East:02/12/2025 21:09:54 | IP: 195.178.110.201 | T: Ensaios | Req: /.git/config
02/12/2025 21:09:58 | IP: 195.178.110.201 | T: Ensaios | Req: /backend/.env
02/12/2025 21:10:00 | IP: 195.178.110.201 | T: Ensaios | Req: /admin/.env
02/12/2025 21:10:00 | IP: 195.178.110.201 | T: Ensaios | Req: /core/.env
02/12/2025 21:10:01 | IP: 195.178.110.201 | T: Ensaios | Req: /.env.bak
02/12/2025 21:10:02 | IP: 195.178.110.201 | T: Ensaios | Req: /.git/logs/HEAD
02/12/2025 21:10:04 | IP: 195.178.110.201 | T: Ensaios | Req: /.gitlab-ci.yml
02/12/2025 21:16:02 | IP: 43.153.102.138 | T: wpHakka | Req: /wp-json/oembed/1.0/embed
02/12/2025 22:52:00 | IP: 91.224.92.150 | T: wpHakka | Req: /wp-admin/
02/12/2025 23:26:51 | IP: 216.244.66.242 | T: Diarium | Req: /blog/aqyi-vamos-nos/feed/
02/12/2025 23:46:43 | IP: 52.167.144.220 | T: wpHakka | Req: /reorganized-s-cache-user-interface/feed/
03/12/2025 04:32:44 | IP: 124.156.179.141 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
03/12/2025 05:12:47 | IP: 101.32.49.171 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
03/12/2025 05:22:21 | IP: 43.130.3.120 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
03/12/2025 10:01:26 | IP: 57.141.0.62 | T: wpHakka | Req: /wp-json/oembed/1.0/embed
03/12/2025 10:32:46 | IP: 74.7.243.250 | T: wpHakka | Req: /wp-json/oembed/1.0/embed
03/12/2025 10:32:48 | IP: 74.7.243.250 | T: wpHakka | Req: /wp-json/oembed/1.0/embed
03/12/2025 10:33:01 | IP: 74.7.243.250 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
03/12/2025 10:33:03 | IP: 74.7.243.250 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
03/12/2025 10:33:04 | IP: 74.7.243.250 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
03/12/2025 10:33:05 | IP: 74.7.243.250 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
03/12/2025 10:33:06 | IP: 74.7.243.250 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
03/12/2025 10:33:07 | IP: 74.7.243.250 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
03/12/2025 11:08:54 | IP: 139.59.255.163 | T: wpHakka | Req: /wp-login.php
03/12/2025 11:08:56 | IP: 139.59.255.163 | T: wpHakka | Req: /wp-admin/
03/12/2025 12:55:56 | IP: 216.244.66.242 | T: Diarium | Req: /blog/morrer-ou-matar/feed/
03/12/2025 13:21:34 | IP: 162.243.187.204 | T: wpHakka | Req: /wp-admin/css/
03/12/2025 13:47:45 | IP: 216.244.66.242 | T: Diarium | Req: /blog/individualidade-de-ver/feed/
03/12/2025 14:18:13 | IP: 170.106.163.48 | T: Web-Dev | Req: /wp-json/oembed/1.0/embed
03/12/2025 14:28:25 | IP: 43.153.85.46 | T: Web-Dev | Req: /wp-json/oembed/1.0/embed
03/12/2025 14:34:22 | IP: 129.226.174.80 | T: Ensaios | Req: /wp-json/oembed/1.0/embed
03/12/2025 14:38:41 | IP: 43.153.48.240 | T: Web-Dev | Req: /xmlrpc.php
03/12/2025 16:38:17 | IP: 49.51.36.179 | T: Ensaios | Req: /xmlrpc.php
03/12/2025 16:48:03 | IP: 43.153.15.51 | T: Ensaios | Req: /wp-json/oembed/1.0/embed
03/12/2025 16:51:34 | IP: 216.244.66.242 | T: Diarium | Req: /blog/tem-vaga-pode-vir/feed/
03/12/2025 19:14:57 | IP: 195.24.236.57 | T: wpHakka | Req: /wp-login.php
03/12/2025 20:26:06 | IP: 43.159.132.207 | T: Diarium | Req: /blog/wp-comments-post.php
03/12/2025 20:36:29 | IP: 43.167.232.38 | T: Diarium | Req: /blog/wp-admin/admin-ajax.php
03/12/2025 22:22:29 | IP: 216.244.66.242 | T: Diarium | Req: /blog/17cm-desde-07-08/feed/
03/12/2025 22:52:14 | IP: 202.155.143.185 | T: wpHakka | Req: /wp-admin/style.php
03/12/2025 22:52:41 | IP: 202.155.143.185 | T: wpHakka | Req: /wp-admin/admin-ajax.php
03/12/2025 22:52:45 | IP: 202.155.143.185 | T: wpHakka | Req: /wp-admin/zwso.php
03/12/2025 22:52:59 | IP: 202.155.143.185 | T: wpHakka | Req: /wp-admin/css/index.php
03/12/2025 22:53:09 | IP: 202.155.143.185 | T: wpHakka | Req: /wp-admin/txets.php
03/12/2025 22:53:14 | IP: 202.155.143.185 | T: wpHakka | Req: /wp-admin/postnews.php
03/12/2025 23:45:10 | IP: 141.98.11.10 | T: wpHakka | Req: /wp-admin/
04/12/2025 03:46:40 | IP: 129.226.174.80 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
04/12/2025 04:13:25 | IP: 195.178.110.201 | T: wpHakka | Req: /.git/config
04/12/2025 04:13:26 | IP: 195.178.110.201 | T: wpHakka | Req: /backend/.env
04/12/2025 04:13:27 | IP: 195.178.110.201 | T: wpHakka | Req: /admin/.env
04/12/2025 04:13:28 | IP: 195.178.110.201 | T: wpHakka | Req: /.env.bak
04/12/2025 04:13:29 | IP: 195.178.110.201 | T: wpHakka | Req: /.git/logs/HEAD
04/12/2025 04:13:30 | IP: 195.178.110.201 | T: wpHakka | Req: /.gitlab-ci.yml
04/12/2025 04:13:35 | IP: 195.178.110.201 | T: wpHakka | Req: /.npmrc
04/12/2025 04:32:36 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:39 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:40 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:41 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:42 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:42 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:43 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:44 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:45 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:45 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:46 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:47 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:48 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:48 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:49 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:50 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:51 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:51 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:52 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:53 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:54 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:54 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:55 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:56 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:57 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:57 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:58 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:32:59 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:00 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:00 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:01 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:02 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:03 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:03 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:04 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:05 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:06 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:06 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:07 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:08 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:09 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:10 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:10 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:11 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:12 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:13 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:13 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:14 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:15 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:16 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:16 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:17 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:18 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:19 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:19 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:20 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:21 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:22 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:22 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:23 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:24 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:25 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:25 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:26 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:27 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:28 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 04:33:29 | IP: 104.28.240.84 | T: Ensaios | Req: /xmlrpc.php
04/12/2025 05:16:11 | IP: 170.106.15.3 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
04/12/2025 05:26:11 | IP: 43.154.140.188 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
04/12/2025 05:56:51 | IP: 43.166.136.202 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
04/12/2025 10:53:36 | IP: 57.141.0.22 | T: Diarium | Req: /blog/sem-medo-da-chuva/feed/
04/12/2025 11:15:07 | IP: 43.133.91.48 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
04/12/2025 12:35:56 | IP: 43.164.195.17 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
04/12/2025 13:16:45 | IP: 101.32.49.171 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
04/12/2025 13:25:57 | IP: 43.173.1.57 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
04/12/2025 13:32:49 | IP: 216.244.66.242 | T: Diarium | Req: /blog/recuperacao-impressionante/feed/
04/12/2025 13:35:43 | IP: 43.130.32.245 | T: Diarium | Req: /blog/wp-json/oembed/1.0/embed
04/12/2025 13:40:47 | IP: 103.163.161.30 | T: wpHakka | Req: /wp-admin/style.php
04/12/2025 13:41:15 | IP: 103.163.161.30 | T: wpHakka | Req: /wp-admin/admin-ajax.php
04/12/2025 13:41:22 | IP: 103.163.161.30 | T: wpHakka | Req: /wp-admin/zwso.php
04/12/2025 13:41:39 | IP: 103.163.161.30 | T: wpHakka | Req: /wp-admin/css/index.php
04/12/2025 13:41:54 | IP: 103.163.161.30 | T: wpHakka | Req: /wp-admin/txets.php
04/12/2025 13:42:00 | IP: 103.163.161.30 | T: wpHakka | Req: /wp-admin/postnews.php
04/12/2025 14:03:41 | IP: 217.113.194.6 | T: Diarium | Req: /blog/family-business/feed/
04/12/2025 14:03:57 | IP: 217.113.194.5 | T: Diarium | Req: /blog/morning-coming/feed/
04/12/2025 14:04:13 | IP: 217.113.194.9 | T: Diarium | Req: /blog/a-melhor/feed/
04/12/2025 14:04:30 | IP: 217.113.194.4 | T: Diarium | Req: /blog/good-night-sunday/feed/
04/12/2025 14:04:46 | IP: 217.113.194.2 | T: Diarium | Req: /blog/as-galerias/feed/
04/12/2025 14:05:02 | IP: 217.113.194.11 | T: Diarium | Req: /blog/convivencia/feed/
04/12/2025 14:05:18 | IP: 217.113.194.11 | T: Diarium | Req: /blog/quem-diria/feed/
04/12/2025 14:05:34 | IP: 217.113.194.4 | T: Diarium | Req: /blog/todo-que-existe/feed/
04/12/2025 14:05:50 | IP: 217.113.194.2 | T: Diarium | Req: /blog/vista-noturna-2/feed/
04/12/2025 14:06:06 | IP: 217.113.194.202 | T: Diarium | Req: /blog/apoio-da-cpfl/feed/
04/12/2025 14:06:22 | IP: 217.113.194.203 | T: Diarium | Req: /blog/cade-meu-amor/feed/
04/12/2025 14:06:38 | IP: 217.113.194.10 | T: Diarium | Req: /blog/visita-hoje-cedo/feed/
04/12/2025 14:06:54 | IP: 217.113.194.242 | T: Diarium | Req: /blog/um-pelotao-da-star-link/feed/
04/12/2025 14:07:11 | IP: 154.54.249.193 | T: Diarium | Req: /blog/nao-e-chuveiro-mas/feed/
04/12/2025 14:17:17 | IP: 43.130.40.120 | T: wpHakka | Req: /wp-json/oembed/1.0/embed
04/12/2025 14:27:30 | IP: 49.51.204.74 | T: wpHakka | Req: /wp-json/oembed/1.0/embed -

why do we still like wordpress ?
maybe because it is as messy as our own lifes are and so we feel at home?
maybe it is because we start working, building around the problems and at one point there is no way back … some even may think they’re then part of it?
or the panic-merchants selling their plugin stuff and you paid so much already and don’t wanna lose it?
well, nobody knows for sure, we just wanted to get rid of the uploads limitation and wrote our own library, things came together, new ideas came up and then the underground system was born
we keep posting, you keep reading, when you’re ready give us a call and we start teaming up
for a better wordpress -

we just dropped plasma
that’s what happens when you want to embrace the whole world … kde plasma 6 is just horrible … jeeee
oxygen theme comes out scrambled, panel doesn’t stick to the height, colors are not correctly applied …
and this settings menu? oooh god, who designed that piece of crap? must be AI who did that, disordered items, totally not intuitive, options spread everywhere
final judgement: unusable – dead by incompetence …
logout, select cinnamon desktop and guess what? back to a peaceful live
RIP Kde, I was faithful until you killed yourself and thanks for ending my pain
hey Cinnamon, let’s go hakking 😄
-

ready for takeoff to 2026
sadly we have to say, wordpress is still stuck in 1999 …
[27-Nov-2025 13:40:36 UTC] WTF of timestamp is that? it is 10:40 in Brazil!
how is that amount of ignorance even possible?
that happens until somebody gets rid of the shit, leaves his nice and cosy sofá from last century, smashes his beer can in the trash and does something — here is how:
[27-Nov-2025 10:40:49 America/Sao Paulo] not shorter, but the time is ok
but also you could get
[27-Nov-2025 10:55:19 Etc/GMT+3] well, nice, but still not really good
you can set the debug.log Timestamp to any string suitable to your location according to the original PHP documentations PHP Timezones, another example for Brazil is looking nize and functional
[27-Nov-2025 10:57:13 Brazil/East] This is our favorite timestamp for now
just add the following to your functions.php:
add_action(‘init’, function () {
date_default_timezone_set (‘Brazil/East’);
});
you can change the timezone string to any of the values int the PHP Docs at the link above, and that was the easy way, 5 miutes fix of a 100 year old problem
obviously we do not need a locations description in our logs, certainly we do know where we live, right? anybody does, just wp-devs not, don’t they have a home? and if, it is somewhere in the past …
we are preparing a small php method, which can be used for any php script, to be practical, fully configurable, like this as it would look for Brazil:
[27/11/25 10:59:09] so now we’re talking … right?
just wait for it, you don’t have to wait until 2026 … and just for not to forget, wake up wp devs!
Peace
H.Mich -

what is this Metro Framework ?
our Metro Framework is an autonomous subsystem what happens to run on wordpress CMS
it transforms the historic understanding of plugins into different module structure, and it is not some name-juggling, we took our plugins out of the pattern and treat them differently
all metro modules, and their individual files, are maintained by our own module repository and can be upgraded instantly form the Metro Control Center, in order to understand it easily, think about plugins from another repo, and each plugin can be updated partially, not only as entire module, each operation can be rolled back instantly troublefree
all modules work on metro’s framework with shared libraries, like php functions, js scripts, css sheets, db functions and templates, this restructuring is addressing several critical issues existing in wordpress core
the shared libraries practically substitute wp-core functions and methods, like $wpdb, we have our own db library and others as well
Important is understanding that the substitution is meant that HOW METRO USE ITS OWN LIBRARIES, but does not change or disable any wp core function, bottom line, wp and metro co-exist and do not conflict in any way and keep functioning as designed
Our Pro Commander is Metro’s “media library” without those restrictions WP Media Library has, we can create unlimited sub directories and have instant webp creation build in without depending on dubious third party add-ons or payed services, we do it directly, without extra costs and still do it better and faster
in a very near future the shared templates will not only have php templates for feeds, but also will be layout templates, that means no themes are needed anymore, the site admin creates the templates on the fly and they are instantly available for the gutenberg editor — we eliminate a whole ballon of floating problems and solve them in one hit with instant templates — want to change your site appearance? ok, hang on, and look at the new layout within a coupe of minutes without have to worry about theme-limitations, you just change the layout it instantly and lose nothing
just to mention it, you will miss nagging premium update alerts, you will miss all the other add-complication scenarios, Metro Framework gives you a being-at-home feeling, everything is intuitive, nothing needs to be studied, the controls are where they feel confortable, the options don’t use fancy names and certainly, without any exxageration, anybody who has a computer and knows to how use a keyboard can benefit from the Metro Framework
at the same time it changes the scenario for site makers, programmers and admins, a week for creating a wordpress site? those times are over, let it be the most complex layout, at the end of the day it is running and the owner can start posting from anywhere he actually is, troubleless, even from a smartphone
the Metro Security enhances any standard wordpress installation, we rise a double wall, we take care of outside attempts, as well from inside attempts, the Metro Framework is the countermeasure against plugin poisoning, backdoors attempts, file write access, hakka Orthrus and hakka Security Checks are both selfsustained modules which repair eventual damages immeadiatly and report any incident, that inlcudes the nasty native finctions.php-thing — you never have to worry about it anymore, you will forget it existence
HOW THAT? is what people ask, it is easy, we have build on a different standard from beginning, we do not build workarounds, we isolate the problem and solve it. it was always like that, we can not do anything about, that is difficult or let it be, this is good enough … those sayings do not exist here.
I hope this sheds some light on your doubts and you keep following us to see how it goes, and it is going fast now, we are still far from ready, but the actual state is fully fucntional and working, and for the know-it-better guys, you’re right, nothing is 100% secure and somebody could hack our system …
yeah, you might be right, then do it, but you get nothing — we have no clear passwords in Metro anymore, our Stealth Technique allows us to say, go ahead, steal our private data, steal our passwords, all encrypted and the time you need to discover our algorithm we go have a coffe on Mars and when we come back your still tearing your hair out … if you’re still alive
peace!
H.Mich -

certamente agradeço a todos
que me ignoraram, não ajudaram, não ofereceram serviço, especialemente aqueles que odeiam competência e vivem boicotando e inventando histórias cabulosas …
sem essa ajuda fundamental, que garantiu sossego total para desenvolver, nunca teria conseguido desenvolver o meu mais novo projeto Metro Framework para construir websites baseados em wordpress em tempo recorde e com segurança total que ninguém consegue invadir ou roubar conteúdo
uma obra mestre inédita, não existe semelhante, de
zfbsd/PROGS/Metro_Underground> wc -l ./*/*134235 linhas total
escrito a mão própria , bug-free, error-free, instalar e esquecer …
Obrigado a todos que participaram na sabotagem!
:) peace! -

wp’s latest monkey feature
it cost me 21h of debugging my system to death … thank you, eggheads!
I am the fiercest enemy of “it just happens, I did not do anything” … the most stupid lie ever, but in a way I had to chew on it
suddenly, after pressing a button on a wp plugin admin page a 500 error popped up and shortly I was misguided by the nature of 500, which normally by definition is a server error …
monkey feature part one is, that the shameless wp-dev who dragged it in, camuflaged it as if it was a 500, but it was just a miserable trick hiding what it really was …
I will not tell the whole story, so the short version is, it was in the names
this it was:
<select name=”post_type” id=”post_type”>
silently, immediately on button press, wp threw the 500 out, while this:
<select name=”p_type” id=”p_type”>
went through normally as before …
IT IS JUST A NAME, what’s the brain vacuum level of whom who did that?
here the prove of it being not only vacuum, but also quite close to zero kelvin in that genius’s brain:
this works now:
$p_type = sanitize_text_field($_POST[‘p_type’] ?? ‘post’);
but this too:
$post_type = sanitize_text_field($_POST[‘p_type’] ?? ‘post’);
defintely nuts, but it’s still missing the key for “it suddenly happened”, where is it ?
here it is, last week I upgraded to wp 6.83 … somebody put a box of rats into that upgrade just in order to sabotage honest people’s work
now it is a full monkey feature sticked on my wp’s wall of shame
then I thought, maybe those wp guys are losing it and it was just a way to say: who’s the boss? we are …
and I thought, but not anymore … -

the truth about wp’s functions.php
you never wanted to trash wordpress for that stupid functions.php?
that can be true only if you never used it …
but when, it doesn’t take long to hate it, but hate it more than anything else, who invented that thing, or better, why they never fixed it?
theme makers are just like any other average user, they just let it be, let the charge come down on you …
this madeness that it can be overwritten, expunged or have errors causing a fatal error which crashes your site, while at the same time it silently ignores errors and people believe everything is fine …
now we finish that battle for good, we wrote a self-containing method whith instant recovery and which can handle wp upgrade or themes upgrades without the need of touching that dangy file anymore never again
“hakka security checks” is the new name
it is like outsourcing the whole private content, functions.php is just a theme owned file and you do not need to care about anymore
with a simple tap or mouse click you toggle standard actions or filters, you can add your own functions and then you enable/disable them by a click without having to care about wp or theme anymore
the hassle is over, we are giving you back the control over your wordpress site
in a couple of days specific information about SecCheck wil be posted, so keep an eye on this blog, you wouldn’t want to miss it
-

the AI backscatter
after reading this you can say “I saw it coming” when it hits you, and it will, as hard as it gets …
the power of that backscatter depends on you, use AI in a moderate way and you will be spared from going down, depend on it and you will fall and hit the floor, build on it and you get eliminated for good
AI is nothing more than a scam to create dependency, increase your stupidity grade, acommodate you, then you get doomed to become a stupid copy-paste operator, your creativity will be erased
it is the ultimate autoritarism implementation, appearently without violence they take you over, the violence is deep hidden in the psychological trickery of AI’s MO
the simpliest prove is Elon Musk’s stupid try to change history with falsifying facts for his groggy-shit-pedia, if it wasn’t so sad, it would make me laugh, as stupid as the temptation is it hits for now only people more stupid then the try itself
but don’t be deluded that other’s don’t do it, just more sutil, another example is the invalidation of google responses, no clear date stamp on results, fully mixed old with new, just to confuse you more and more to make you opt-in to AI
and what appears to be intelligence is just a smartass response, when they don’t have a documented answer they make things up, just out of the blue, exactly like Bill Gates did when he scammed IBM trying to sell MsDos to them, which worked out well, MsDos didn’t exist yet … imagine that happens during your heart surgery …
just observe your mobil keyboard grammer and spell checker, aren’t they failing more and more? didn’t they skip correction or have no correct suggestion for a lot of words? and why? easy, they try to get you by your weakness, make you desist and use their AI keyboards so they can better spy on you
after all that, I just can say: YOU SHOULD HAVE NOTICED ALL THAT BY YOURSELF!
so, this is your last chance, wake up! react, reject AI and keep your integrity, stay to who you are and don’t listen to machine orders! it is always YOU who control the machine, unless you give up on yourself
so what now? just think and remember what I just told you, if not you will remember when it hits you and and it will: DAMNED, I SAW IT COMING
don’t let it come so far, be smart
and that the peace will be with you
H.Mich -

AI … the truth
face it, AIs are just machines, they can’t do anything by their own, they can’t see what happens and have not organizational or strategical capacity, they might have access to a lot of historical data, but never can predict anything, they are “smart enough” to make stuff up when they don’t know a real answer and that, makes them be extremely stupid
so, let’s cut to the chase
my question:
I get the folder list form imap in disorder, how could I easy fix the order, but the bang is, abc order and so wouldn’t work, so probably I need to define an order which matter to me and order the rest as abc any, suggestion?
AI:
You want a custom sort — a defined order for “important” folders (e.g.,INBOX,Sent,Drafts) and then a fallback alphabetical for everything else.
// 1️⃣ Define your priority order
$priority_order = [‘INBOX’, ‘Sent’, ‘Trash’, ‘Drafts’, ‘Junk’];
// 2️⃣ Normalize folder names
$normalized_folders = array_map(function($name){
return ucfirst(strtolower($name));
}, $mbox_list);
// 3️⃣ Split into priority and others
$priority_folders = [];
$other_folders = [];
foreach ($normalized_folders as $folder) {
if (in_array($folder, $priority_order)) {
$priority_folders[] = $folder;
} else {
$other_folders[] = $folder;
}
}
// 4️⃣ Order the priority folders according to $priority_order
$priority_folders_sorted = [];
foreach ($priority_order as $pname) {
if (in_array($pname, $priority_folders)) {
$priority_folders_sorted[] = $pname;
}
}
// 5️⃣ Sort the remaining folders alphabetically
sort($other_folders);
// 6️⃣ Merge final list
$final_folders = array_merge($priority_folders_sorted, $other_folders);// 7️⃣ Store in DB
$mbox_upd = [
‘imap_folders’ => json_encode($final_folders)
];
$result = $wpdb->update($acc_table, $mbox_upd, $thefilter, null, [‘%s’, ‘%s’]);
me …
naaa, too much fiddling I should do that easier I do a check if matches exist in my priority and add only if not, ready
I show you how:
$mbox_list = [‘Inbox’, ‘Sent’, ‘Trash’, ‘Drafts’, ‘Junk’];
$rem_folders = imap_list($established, $srv_cnx, “%”);
foreach ($rem_folders as $folder) {
if (preg_match(‘/}(.+)$/’, $folder, $matches)) {
$mbox = ucfirst(strtolower($matches[1]));
if (!in_array($mbox, $mbox_list)){
$mbox_list[] = $mbox;
}
}
32 vs 9 … too big for any bin, let’s call another nachine to throw it in a bucket, and now dear friends, you also know why apps are growing out of bound, megabytes of garbage in all apps, megas of shit all over the place, result of stupid programming
Artificial Intelligence … pfffffffffffffffffffffobs.: I made the exact same test with chatgpt, gemini,deepseek and copilot, there were slight differences in their answers, but at the end the same bunch of excessive garbage …
-

the theme maker insolence
this print is from the original Skylink Theme With Colibri Editor telling that to add shortcode you need to buy the pro version
and then there are people who buy that mafia upgrade …
what the problem?
shortcode stands for a very practical and failure-free wordpress core function, so how could come some wild guy, disable it, and try to make money out of it by adding back a core function?
that’s a scam!
that really should not exist and we can not understand: HOW CAN WORDPRESS allow that ???
seems they are envolved, they get comissions for each sale … but they say:
10.5. Shortcodes: “Themes should not contain custom shortcodes… If a theme registers shortcodes, the shortcodes must be functional in the context of the theme. The shortcode’s functionality must not be crippled.”10.6. Features & Functionality: “Themes should not hijack core functionality… Features must be functional without requiring the user to purchase a license key or upgrade to a “pro” version.”
that should be handled officially with a lawsuit against those crooks
nobody should be harmed by the plugin mafia anymore, and anybody who paid for it should get his money back -

mais um funniquito do WP ….
Morrison nunca teria adivinhado essa …
We don’t need no trailing slashes …
All in all it’s just a-nother quirk in the wall
o quirk neste caso sera um / … e nossa parede está crescendo, estamos prontos para receber o diploma de pedreiro mestre
wp links não são URLs absolutas, não terminam em php ou html, eles terminam com / e o core do wordpress gera o conteúdo, até aqui todo bem
quando alguém entra com uma url que não termina com slash e não tem a extensão de um arquivo, worpress adiciona silensiosamente um slash, isto em princípio também não está ruim, mas …
wordpress faz isso internamente e a URL na janela do navegador fica sem / .., esse é o funniquito
funniquito porque essa piada impossibilita o navegador fazer cache da pagina, também impede outros sistemas de cache tipo redis ou memcached gerar cache … isso porque site.com.br/conteúdo não tem conteúdo, o conteúdo está em site.com.br/conteúdo/
funniquito é apenas uma maneira de descrever “bosta” de uma forma mais elegante, mas isso ninguém entende, tem que esfregar o funnquito na cara para entender …
para quem estiver trabalhando com desenvolvimento, anote este assunto e lembre, se teu sistema de cache falha não é teu código, é pelo relaxo e curta visão dos core devs do wp … adicione sempre um sufixo “/” caso a URL não tiver e vai funcionar de maravilha, aqui é como:
$has_ext = pathinfo($url, PATHINFO_EXTENSION);
if (empty($has_ext) && !str_ends_with($url, ‘/’)){
$url = $url .’/’;
}
peace, H.Mich -

BUSTED ! LLAR Plugin Fake Reports!
OUTRAGEOUS !
anybody in contact with wordpress knows about the LLAR plugin, part of any standard wp installation, endorsed by wp org … LLAR stands for Limit Login Attempt Reloaded
look what we found:
since january ’25 we’re having an eye on LLAR because we noticed a weired pattern, after each plugin update we got a burst of blocked login attempt reports from that plugin, not much, but 10-20 for a couple of days, they came basically from two different /24 networks from the same service provider
those IP’s weren’t logged by our web server and we refined our htaccess rules, we redirected them to a catcher page and logged everything, the result was interesting, login attemps reported by LLAR were not in the log
LLAR’s reports include the login name and source IP, the login name indicates that the attempt was made by using wp-login.php, which is the only way the login name can come up
last two upgrades we got 150 to 250 fake attempts reported from this plugin, view their report below, as all the month before no trace in server log
who doesn’t is into technical, note, that wordpress cms runs on webservers with a html/php/sql environment, all incoming requests to the site are in FIRST PLACE handled by the server and then go through to the wordpress site
wordpress and none of its plugin has knowledge of what happens on the server part before getting the access request from the server ….
funny part is, together with the reports, that we, as well as you, get always an “invitation” to buy a premium upgrade in order to know more about the attempts and be safer … you probably understand already what it is about …
so are we dealing with fear-maker fake reports to trick people into paying the upgrade?
how far does it go? wp get’s comission or how is it possible that they endorse such a piece of software?
that is the right question to ask.
REMARK: if you are interesting we can provide you FOR FREE and without any condition the working htaccess rules to protect your site, together with the log-it scenario, you just need to change some lines to match your server name, just send a message and we send you the files
meanwhile, have a look at the last LLAR fake report graph
Disclaimer: We had the idea to show our good intentions and tried to report the issue to wordpress, but that idea wasn’t so good
there is no suitable contact address on wp sites
they just do what they do best, finding how to say “Core Ineligible Findings are out of scope.” and reject it
so we skip that part then -

the mysterious 7th argument
is just another stone in wp’s graveyard . . .
arguments are parameters passed to a method or function, in order to work they have defined formats, like string, number or whatever, sometimes they are optional, means you can omit them
wp dev docs explain the 7th argument is supposed to be an integer and in this case it is supposed to define the menu position, means when you add several items, with the position number you can order them in an adequate manner for their purpose, quite logical that it exist, as well as quite necessary in order not to come out like windows control panel with a wild random order . . .
then happens that the order isn’t obeyed, wp core adds the item in arbitrary order and the mess is on the table
then you find some notes about wp core function that the 7th argument is discontinued . . . hun? why that? probably they weren’t able to fix it, because it doesn’t worked anyway, they just chose to ignore it . . . hahaha
so ok, believe it, but better not, it isn’t true, the 7th argument is just ignored . . . as long as it exist and is NOT discontinued or removed, you still get an error like the 7th argument is supposed to be INT . . . haha
funny it is, but absurdly stupid, a menu without possibility to order the entries? only in a madhouse, what wp probably is . . .
how to solve it?
first, we defined our desired item order as default option
second, we have to compare the actual menu order with our desired order and reorganize it accordingly
third, the moment is the key, this has to be done after all plugins got through the wp admin ini phase, before the adm is displayed, so we hook into admin_head and run an order update
important is to run all checkes conditioned so that no arbitrary loop runs thousand times every day
of course it was an interesting journey through wp’s dark chambers and a good self-teaching lesson, but quite sad that such an extra work is necessary to compansate lazy core programmer’s leftovers . . . what is a very friendly comment
now you’re ready to dive in, or you can opt in to use our underground mainframe to be always one step in front of the crap
take care, peace!
H.Mich