jsTree e jQuery

Pesquisar este blog

Contribua

Te ajudei? Quer retribuir? PIX de qualquer quantia.

Somente meu ipv6 está funcionando. Como resolver?

Eu resolvi assim.

WIN+R

cmd

ipconfig

A linha importante

Gateway Padrão. . . . . . . . . . . . . . . : fe80::1%8

No navegador (Edge, Chrome, Firefox...), anote o quê apareceu em Gateway padrão.

Agora ignore o que estiver após o percentual em diante, digite entre colchetes apenas o que apareceu antes do percentual, no meu caso em particular:

[fe80::1]

Você tem que saber a senha do seu roteador, faça o login e habilite o DHCP, no meu caso em particular foi assim.

DHCP Server habilitei:

Enable Primary DHCP Server

Enable DHCP Relay

Enable Option 125

Cliquei no botão Apply.



#Ucrânia 2023-12-11: ZELENSKY empareda ORBÁN em Buenos Aires e VAI para os EUA falar com o CONGRESSO

 #Ucrânia 2023-12-11: ZELENSKY empareda ORBÁN em Buenos Aires e VAI para os EUA falar com o CONGRESSO 

https://www.youtube.com/watch?v=LTRBqWYuJuE&t


Minha opinião sobre o vídeo

Como os comentários são censurados e parciais, vou postar aqui.

Zelensky acreditou no apoio dos EUA, Reino Unido, Alemanha e decidiu pela guerra ao invés de um acordo, agora está todo lascado, a ajuda desses países foram ridículas e a Ucrânia está afundando feio.

Vejam vídeos de verdade com o comandante Robinson Farinazzo

https://www.youtube.com/watch?v=lNWSQ8n8Z_s

Hacker mala tentando dar golpe 2

 Olá, meu amigo pervertido,

Vou direto ao assunto.
Na verdade, já nos conhecemos há algum tempo, pelo menos eu conheço-te.
Podes chamar-me Big Brother ou o Olho Que Tudo Vê.
Sou um pirata informático que, há uns meses, teve acesso ao teu dispositivo, incluindo o histórico do teu browser e webcam.
Gravei alguns vídeos de ti a masturbares-te com vídeos "para adultos" altamente controversos.
Duvido que queiras que a tua família, colegas de trabalho e toda a lista de contactos do teu email  para veja imagens tuas a satisfazeres-te,
especialmente tendo em conta o quão excêntrico é o teu "género" favorito.
Também publicarei estes vídeos em sites pornográficos, tornar-se-ão virais e será fisicamente impossível retirá-los da Internet.

Como é que eu fiz isto?
Devido ao teu desrespeito pela segurança na Internet, consegui instalar facilmente um Trojan no teu disco rígido.
Graças a isso, consegui aceder a todos os dados do teu dispositivo e controlá-lo remotamente.
Ao infetar um dispositivo, consegui ter acesso a todos os outros dispositivos.

O meu spyware está incorporado nos controladores e atualiza a tua assinatura de poucas em poucas horas, pelo que nenhum antivírus ou firewall o consegue detetar.
Portanto quero fazer um acordo: uma pequena quantia de dinheiro em troca da tua antiga vida sem preocupações.

Transfere R$ 5000 para a minha çarteírã bítçoín: 14X2moJVznF31s4ynCyVZTQbs61cvkJLS5

Assim que eu receber a confirmação do pagamento, apagarei todos os vídeos que te comprometem,
removerei o vírus de todos os teus dispositivos e nunca mais ouvirás falar de mim.
É um preço muito pequeno para não destruir a tua reputação aos olhos dos outros,
que pensam que és um homem decente, de acordo com as tuas mensagens. Podes pensar em mim como uma espécie de treinador de vida que quer que comeces a apreciar o que tens.

Tens 48 horas. Receberei uma notificação assim que abrires este e-mail e, a partir desse momento, começará a contagem decrescente.
Se nunca lidaste com criptomoedas antes, é muito fácil. Basta escrever "cryptocurrency exchange" num motor de pesquisa e estará lá tudo.

Aqui está o que não deves fazer:
@ Não responder ao meu email. Foi enviado de uma conta de email temporária.
@ Não chamar a polícia. Lembra-te de que tenho acesso a todos os teus dispositivos e,
assim que me aperceber de tal atividade, isso levará automaticamente à publicação de todos os vídeos.
@ Não tentes reinstalar o teu sistema ou reiniciar o teu dispositivo.
Em primeiro lugar, já tenho os vídeos e, em segundo lugar, como já disse,
tenho acesso remoto a todos os teus dispositivos e, assim que me aperceber de tal tentativa, sabes o que acontece.

Lembra-te de que os endereços cripto são anónimos, pelo que não conseguirás localizar a minha carteira.

Resumindo, vamos resolver esta situação com um benefício para mim e para ti. Mantenho sempre a minha palavra, a menos que alguém me tente enganar.

Por fim, um pequeno conselho para o futuro. Começa a levar a tua segurança online mais a sério.
Altera as tuas palavras-passe regularmente e configura a autenticação multi-fator em todas as tuas contas.

Cumprimentos.

Flipper Zero

Invés de melhorar a segurança dos eletrônicos, proíbem equipamentos que detectam ou exploram eletrônicos totalmente inseguros.

 

HD Lento

 Achei esse post na internet

#6 Por Caio Budde
21/06/2015 - 13:35
Andei fuçando pelas configurações do pc e consegui resolver finalmente, é extremamente simples, um problema tão grande por pouca coisa.
Existe uma configuração do próprio HD Externo para limitar essa velocidade acho eu.
Abaixo os passos:g

Abra o gerenciador de dispositivos>Unidades de Disco>(procure o HD Externo no meu caso é Samsung M3 Portable)>Abra as propriedades do disco>Politicas> Selecione "melhor desempenho"> Após isso clique OK e reinicie o PC.
Essa mudança aumentou significativamente a velocidade do HD para jogar um arquivo de 15gb do HD interno para o Externo a velocidade ficou entre 20mb/s e 50mb/s !!!
Realmente muito bom.

Desde já agradeço a todos pela colaboração!

Autohotkey v2 - Exemplo de GUI

 #Requires Autohotkey v2
#SingleInstance Force ; Replace with new instance if script is running

;AutoGUI 2.5.8
;Auto-GUI-v2 credit to Alguimist autohotkey.com/boards/viewtopic.php?f=64&t=89901
;AHKv2converter credit to github.com/mmikeww/AHK-v2-script-converter

mainGUI := Gui()
mainGUI.Title := "Automação Data Modeler"
executarButton := mainGUI.Add("Button", "x456 y56 w80 h23", "&Executar")
executarButton.OnEvent("Click", (*) => executarButton_Click())

mainGUI.SetFont("s10 w600", "Georgia")
mainGUI.Add("Text", "x16 y16 w102 h24 +0x200", "Arquivo .sql:")

caminhoEdit := mainGUI.Add("Edit", "x131 y16 w405 h24")
caminhoEdit.SetFont("s10 w200", "Arial")
mainGUI.OnEvent('Close', (*) => ExitApp())
mainGUI.Show("w620 h118")

executarButton_Click(){
    ;GuiControlGet caminho, caminhoEdit, mainGUI
    caminho := caminhoEdit.Value

    ; ---------------------------
    ; Remove as aspas duplas do
    ; início e do fim da string
    ; ---------------------------
    ; Verifica se a string começa e termina com aspas duplas
    comeco_string := (SubStr(caminhoEdit.Value, 1, 1) = "`"")
    fim_string := (SubStr(caminhoEdit.Value, -1) = "`"")
    if (comeco_string && fim_string) {
        caminho := SubStr(caminhoEdit.Value, 2, StrLen(caminhoEdit.Value) - 2)
    } ; end if

    if (!FileExist(caminho)) {
        MsgBox "Arquivo '" caminho "' não encontrado."
    } ; end if
} ; end function

;mainGUIEscape:

;mainGUIClose:
;ExitApp()






Autohotkey v2 - Formatar lista de números

 Selecione uma lista de números.

Aperte ALT GR + L

Os números ficarão envoltos em aspas simples e com vírgula no final

Exemplo

 

Entrada

408563

808080

Saída

'408563',
'808080'


#Requires AutoHotkey v2.0
#SingleInstance Force

<^>!l::
{
    send "^c"
    Sleep(100) ; espera copiar

    ; Obter o conteúdo atual da área de transferência
    ;Clipboard := ClipboardAll ;ClipboardAll é um objeto e não uma string

    ; Dividir o conteúdo da área de transferência em linhas
    linhas := StrSplit(A_Clipboard, "`r`n")
    ;linhas := StrSplit(A_Clipboard, "`n`r") ; não funciona
    ;linhas := StrSplit(A_Clipboard, "`n")   ; não funciona

    ; Variável para armazenar números encontrados
    lista_numeros := ""

   ; Verificar cada linha
    for index, linha in linhas
    {
        if !IsAlpha(linha) ; IsInteger() não funciona
        {
            ; Formatar o número com aspas simples
            lista_numeros .= "'" . linha . "'"

            ; Adicionar uma vírgula, exceto no último número
            if (index < linhas.Length)
            {
                lista_numeros .= ",`n"
            } ;end if
        } ;end if
    } ;end for

    A_Clipboard := lista_numeros
    send "^v"
} ;end hotkey

Autohotkey V2 - Como instalar e configurar

Onde baixar

 

Autohotkey

Este é o interpretador.

https://www.autohotkey.com/download/

AutoHotkey_2.0.10_setup.exe

 

Scite4ahk

É um ambiente integrado para programação de scripts Autohotkey.

https://www.autohotkey.com/scite4ahk/ 

SciTE4AHK_v3.1.0_Install.exe

 

Editar o arquivo 

C:\Program Files\AutoHotkey\SciTE\ahk.properties

 

Configurar os caminhos

# Internal AutoHotkey path
LocalAHK=C:\Program Files\AutoHotkey\SciTE\InternalAHK.exe

# AutoHotkey path
AutoHotkeyDir=C:\Program Files\AutoHotkey\SciTE\..
AutoHotkey=C:\Program Files\AutoHotkey\v2\AutoHotkey.exe
ahk.help.file=C:\Program Files\AutoHotkey\v2\AutoHotkey.chm
ahk.compiler=C:\Program Files\AutoHotkey\Compiler\Ahk2Exe.exe


Compilador

Para converter ahk para exe tem que instalar o compilador

 

Executar o script abaixo

C:\Program Files\AutoHotkey\UX\install-ahk2exe.ahk

 

Em Base file (.bin .exe)

Escolher v2.0.10 U64 Auto Hotkey64.exe

Clicar no botão Browse 

Indicar o caminho

C:\Program Files\AutoHotkey\v2\AutoHotkey64.exe

 

Clicar no botão Save

 

 

Dica: Se fechou a janela de configuração do compilador

você pode pode acessá-la novamente executando o arquivo abaixo

C:\Program Files\AutoHotkey\Compiler\Ahk2Exe.exe

 

 

Nos seus scripts de versão 2 sempre inclua esta linha, assim o interpretador irá identificar a versão correta sem precisar perguntar.

#Requires AutoHotkey v2.0

 

 

 

 

 

 

 

Total de divisores inteiros de 360

O conjunto de divisores inteiros de um número é o conjunto de todos os números inteiros que podem dividir o número sem deixar um resto. 

Fatorização de 360: 360 = 2^3 * 3^2 * 5

Para o fator primo 2, temos 4 opções: 0, 1, 2, 3

Para o fator primo 3, temos 3 opções: 0, 1, 2

Para o fator primo 5, temos 2 opções 0, 1


Para encontrar todos os divisores de 360, multiplique todas as combinações possíveis dos fatores primos:

Divisor 1: 2^0 * 3^0 * 5^0 = 1
Divisor 2: 2^1 * 3^0 * 5^0 = 2
Divisor 3: 2^2 * 3^0 * 5^0 = 4
Divisor 4: 2^3 * 3^0 * 5^0 = 8
Divisor 5: 2^0 * 3^1 * 5^0 = 3
Divisor 6: 2^1 * 3^1 * 5^0 = 6
Divisor 7: 2^2 * 3^1 * 5^0 = 12
Divisor 8: 2^3 * 3^1 * 5^0 = 24
Divisor 9: 2^0 * 3^2 * 5^0 = 9
Divisor 10: 2^1 * 3^2 * 5^0 = 18
Divisor 11: 2^2 * 3^2 * 5^0 = 36
Divisor 12: 2^3 * 3^2 * 5^0 = 72
Divisor 13: 2^0 * 3^0 * 5^1 = 5
Divisor 14: 2^1 * 3^0 * 5^1 = 10
Divisor 15: 2^2 * 3^0 * 5^1 = 20
Divisor 16: 2^3 * 3^0 * 5^1 = 40
Divisor 17: 2^0 * 3^1 * 5^1 = 15
Divisor 18: 2^1 * 3^1 * 5^1 = 30
Divisor 19: 2^2 * 3^1 * 5^1 = 60
Divisor 20: 2^3 * 3^1 * 5^1 = 120
Divisor 21: 2^0 * 3^2 * 5^1 = 45
Divisor 22: 2^1 * 3^2 * 5^1 = 90
Divisor 23: 2^2 * 3^2 * 5^1 = 180
Divisor 24: 2^3 * 3^2 * 5^1 = 360

Uma forma rápida de chegar ao total de combinações, é somar mais 1 a todos expoentes e multiplicá-los. Assim encontramos o total de divisores.

Número total de divisores = 4 * 3 * 2 = 24

 

Observações

No caso acima, encontramos 3 fatores primos: 2, 3 e 5. Por isso dizemos, Fatorar um número em seus fatores primos. Sempre quando fatoramos, teremos números primos.

 

Lembrando o que é um número primo.

Os números primos são aqueles que têm exatamente dois divisores positivos, 1 e eles mesmos.

 

Lembrando o que é fatoração.

Fatoração é decompor o número em seus "blocos de construção" mais simples, que são os números primos.

 

A fatoração de números baseia-se em dois conceitos fundamentais da teoria dos números:

O Teorema Fundamental da Aritmética e a definição de números primos.

  1. Teorema Fundamental da Aritmética: Este teorema estabelece que todo número inteiro positivo maior que 1 pode ser expresso de forma única como um produto de números primos, até a ordem dos fatores. Isso significa que não importa como você fatora um número inteiro positivo, você sempre obterá os mesmos números primos como fatores básicos. Por exemplo, 24 pode ser fatorado como 2 x 2 x 2 x 3 ou como 2 x 3 x 2 x 2, mas os fatores primos básicos são sempre 2 e 3.

  2. Definição de Números Primos: Um número primo é um número inteiro maior que 1 que só é divisível por 1 e por ele mesmo. Isso significa que os números primos não têm outros divisores além desses dois. São os "blocos de construção" mais simples no sentido de que não podem ser divididos em números menores inteiros sem deixar um resto.

Portanto, devido ao Teorema Fundamental da Aritmética e à definição de números primos, podemos concluir que os números primos são os "blocos de construção" mais simples para fatorar outros números inteiros positivos em suas componentes básicas. Isso é o que torna a fatoração em fatores primos uma técnica poderosa e fundamental na teoria dos números e na matemática em geral.

 

 

Cartão para calibragem do Kinect

 Procurei esse cartão pela internet.

Quando encontrava, não estava no tamanho correto ou só queria que eu assinasse serviços de pdf.

Finalmente eu encontrei o correto e estou compartilhando para quem está passando pelo mesmo problema.

https://drive.google.com/file/d/1-GZflk6q00DcmI2-iZSS_fZoQs0wGsg8/view?usp=sharing 

Java Swing - Inserindo caixa de texto (JTextField) de forma dinâmica em um painel com o Layout GridBagLayout

//Insira um Panel chamado: jpanelDinamico
//Mude o layout para GridBagLayout
 
    private Map<String, JTextField> jtxtMap = new HashMap<>();
    private GridBagConstraints gbc = new GridBagConstraints();
    
    private void limparPainel(){
        this.jpanelDinamico.removeAll();
        this.jtxtMap.clear();               
    }//end method
    
    private void atualizarPainel(){
        SwingUtilities.invokeLater(() -> { updatePanel(this.jpanelDinamico); });            
    }//end method
    
    private void updatePanel(JPanel panel) {        
        panel.revalidate();
        panel.repaint();          
        this.pack();        
    }//end method
    
    private void addLabelTextFieldPair(String labelText, String fieldName, JPanel panel) {
        // Largura (preferred) do JTextField
        JTextField textField = new JTextField(20);
        
        // Armazena referência ao JTextField dinâmico
        this.jtxtMap.put(fieldName, textField);
        
        JLabel label = new JLabel(labelText);
        
        //Largura da label 50. Altura igual do jtextField
        label.setPreferredSize(new Dimension(50, textField.getPreferredSize().height));
        
        gbc.gridx = 1;
        panel.add(label, gbc);
        
        gbc.gridx = 2;
        panel.add(textField, gbc);
    }//end method

 
... 
//Como usar
this.limparPainel();
        jtxtMap.get("nameField").setText("New Name");
        
jtxtMap.get("ageField").setText("30");
        
jtxtMap.get("emailField").setText("new@example.com");
this.atualizarPainel();
 
 
 
 
 
 
 
 
  


Autohotkey - Clipboard

O conteúdo da área de transferência será sempre vazio, porque não dá tempo do sistema operacional copiar o contéudo, antes do if

The contents of the clipboard will always be empty, because the operating system does not have time to copy the contents, before the if

Errado (Wrong)

A_Clipboard := ""
Send "^c"
if(IsInteger(A_Clipboard)) ; Clipboard content will always be empty


Correto (Correct)


A_Clipboard := ""
Send "^c"
ClipWait
if(IsInteger(A_Clipboard))


Correto (Correct)

Send "^c"
if(IsInteger(A_Clipboard))










Clonando o cartão de acesso que é de código de barras

Em uma faculdade que eu trabalhava a entrada era por código de barras.
Fiquei imaginando se dava para clonar.


Consegui ler o número do código de barras, não lembro se foi com o smartphone, ou usei um scanner de código de barra de alguém, ou o número já estava impresso atrás do cartão de acesso.
Fui no Word e baixei várias fontes de código de barras para converte o número que encontrei em código de barras.


Imprimi colei do outro lado do cartão, nenhum funcionou. (Me cagando com medo do segurança notar)


Teve uma vez que achei que não estava passando na velocidade certa, fiquei repetindo a passada, aí o segurança falou: "Está passando o cartão do lado errado!" Desvirei rapidamente para ele não perceber o código de barras colado em papel e agradeci.


Percebi que o cartão era plástico e meio reflexivo, então imaginei, preciso de uma superfície reflexiva, o laser tem que bater e voltar.
Então colei uma fita adesiva transparente por cima do código de barras impresso em papel.
 

 Deu certo! 😎

Ensina a ativar o Windows - MSGuides

 

https://massgrave.dev/genuine-installation-media.html

 

https://msguides.com/

Autohotkey Testar se conteúdo do clipboard é inteiro

 #Requires AutoHotkey v2.0
#SingleInstance force

<^>!f:: ;ALT DIREITO + F
{
    A_Clipboard := ""  ; Start off empty to allow ClipWait to detect when the text has arrived.
    Send "^c"
    ;ClipWait  ; Wait for the clipboard to contain text.

    if(IsInteger(A_Clipboard))
        MsgBox "É inteiro!"
    else
        MsgBox "Não é inteiro!"
}

Fetos e Borboletas

Fetos e Borboletas
Para os que dizem que o feto não é um bebê.
Vamos usar o processo cognitivo de pensar de trás para a frente.
Pense em uma borboleta e seu ciclo: ovo, lagarta, pupa e borboleta.
Agora as perguntas:
Qual o estágio antes da borboleta?
Pupa.
Qual o estágio antes da pupa?
Lagarta.
Qual o estágio antes da lagarta?
Ovo.
Agora o ser humano. Um ciclo básico: embrião fertilizado, feto e bebê.
Você afirma feto não é bebê.
Qual o estágio antes do bebê?
Feto.

Qual o estágio antes do feto?

Embrião fertilizado.

Ops, mas se bebê não é feto, você não pode responder que seu estágio anterior ao bebê é feto.
Qual seria então o estágio antes do bebê? Você tem que responder de forma lógica e a resposta não pode ser feto, já que em seu pensamento um bebê não é feto.

Se responder feto, temos uma contradição, ou seja, uma mentira.



Autohotkey - cedilha

 

Send {U+00E7}
 

Note que o código Unicode aparece no rodapé.
 
Cedilha maiúsculo é {U+00C7} 
 
 
 
 
 
 
 

 

Java - Fazer seu programa de prompt rodar a partir de qualquer diretório

 Vantagens

  • Java roda em Linux, as possibilidades são infinitas.
  • Java é mais poderoso que um arquivo .bat e este não é compatível com Linux.
  • E eu particularmente acho o código Java muito mais fácil que o de um .bat 

 

Autohotkey 2

Eu confundia muito códigos da versão 1 e 2.

Existe diferenças significativas, a partir de agora irei tentarei identificar qual a versão de código estou usando.


 

Onde baixar


Autohotkey

Este é o interpretador.

https://www.autohotkey.com/download/

AutoHotkey_2.0.10_setup.exe


Scite4ahk

É um ambiente integrado para programação de scripts Autohotkey.

https://www.autohotkey.com/scite4ahk/ 

 SciTE4AHK_v3.1.0_Install.exe

 

Editar o arquivo 

C:\Program Files\AutoHotkey\SciTE\ahk.properties

 

Configurar os caminhos

# Internal AutoHotkey path
LocalAHK=C:\Program Files\AutoHotkey\SciTE\InternalAHK.exe

# AutoHotkey path
AutoHotkeyDir=C:\Program Files\AutoHotkey\SciTE\..
AutoHotkey=C:\Program Files\AutoHotkey\v2\AutoHotkey.exe
ahk.help.file=C:\Program Files\AutoHotkey\v2\AutoHotkey.chm
; ahk.compiler=C:\Program Files\AutoHotkey\v2\Compiler\Ahk2Exe.exe

; executar install-ahk2exe.ahk
ahk.compiler=C:\Program Files\AutoHotkey\Compiler\Ahk2Exe.exe


Compilador

Para converter ahk para exe tem que instalar o compilador

C:\Program Files\AutoHotkey\UX\install-ahk2exe.ahk


Configurar o compilador

Executar

C:\Program Files\AutoHotkey\Compiler\Ahk2Exe.exe


Em Base file (.bin .exe)

Escolher v2.0.2 U64 Auto Hotkey64.exe

Clicar no botão Browse 

Indicar o caminho

C:\Program Files\AutoHotkey\v2\AutoHotkey64.exe


Clicar no botão Save


Nos seus scripts de versão 2 sempre inclua esta linha, assim o interpretador irá identificar a versão correta sem precisar perguntar.

#Requires AutoHotkey v2.0







JavaScript para Tampermonkey - Revelador de texto rot13

// -----------------------------------------------------------------------
// ==UserScript==
// @name        Revelador de texto rot13
// @description Decodifica texto que está entre rot13-start e rot13-end
// @version     0.6
// @author      Wellington Gomes dos Santos
// @match       *://*/*
// @grant       none
// @run-at document-end
// ==/UserScript==
(function() {
    const NAO = -1;
    const tokenInicio = "rot13-start";
    const tokenFim = "rot13-end";

    // Obtém todo o conteúdo HTML da página
    let html = document.body.innerHTML;

    let existeTextoParaDecodificar = html.indexOf(tokenInicio);
    if(existeTextoParaDecodificar === NAO){
        return;
    }

    // Procura texto entre "rot13-start" e "rot13-end"
    let start = html.indexOf(tokenInicio);
    let end = html.indexOf(tokenFim);

    // Cria um array para armazenar os elementos img
    const textoArray = [];

    while (start >= 0 && end >= 0) {
        // Obtém o texto codificado entre os pontos de início e fim
        let textoCodificado = html.substring(start, end);

        // Remove o token a esquerda
        textoCodificado = textoCodificado.slice(tokenInicio.length);

        // Decodifica
        let texto = rot13(textoCodificado)

        // Remove espaços
        texto = texto.trim();

        // Adiciona o texto ao array
        textoArray.push(texto);

        // Encontra o próximo ponto de início e término
        start = html.indexOf(tokenInicio, end);
        end = html.indexOf(tokenFim, start);
    }

    //for (var i = 0; i < textoArray.length; i++) {
    for (var i = textoArray.length - 1; i >= 0; i--) {

        // ---------------
        // DIV
        // ---------------
        var div = document.createElement("div");
        //Bordas
        div.style.border = "1px solid black";
        div.style.borderLeft = "1px solid white";
        //Margens
        div.style.marginTop = "20px";
        div.style.marginBottom = "20px";
        //Centraliza
        div.style.width = "50%";
        div.style.marginLeft = "25%";
        div.style.marginRight = "25%";

        //Texto decodificado
        var texto = document.createTextNode(textoArray[i]);
        div.appendChild(texto);

        const body = document.getElementsByTagName('body')[0];
        body.insertBefore(div, body.firstChild);

    }

    // Função para decodificar a mensagem usando rot13
    function rot13(str) {
        var result = "";
        for (var i = 0; i < str.length; i++) {
            var charCode = str.charCodeAt(i);
            if (charCode >= 65 && charCode <= 90) {
                // Caracter maiúsculo
                result += String.fromCharCode(((charCode - 65 + 13) % 26) + 65);
            } else if (charCode >= 97 && charCode <= 122) {
                // Caracter minúsculo
                result += String.fromCharCode(((charCode - 97 + 13) % 26) + 97);
            } else {
                // Outros caracteres permanecem inalterados
                result += str.charAt(i);
            }
        }
        return result;
    }

})();

Autohotkey - não bloquear pc

 A cada 5 segundos mexe o mouse 1 pixel para o lado.

; não bloquear pc
While true
{
    Sleep, 5000
    MouseMove, 1, 0, 50, R
}
 

Corsair - Hardware bom mas software lixo

Tenho um mouse da Corsair, acho ele ótimo.

Mas o software que vem com ele chamado iCUE é uma porcaria.

Ele vem com drivers de todos dispositivos da empresa, vem com códigos para todos dispositivos da empresa, é pesado, vive caindo do nada e dando erros.


ERRO: CTPS Digital / Carteira de trabalho digital

Ao tentar imprimir sua carteira de trabalho pode dar o erro:

Estamos enfrentando um problema com nossos serviços. Tente novamente mais tarde.


Solução

Desligue o WI-FI e acesse pelo seu plano 3G/4G/5G, seus dados móveis.


Qualquer aplicativo do governo que estive dando erro, tente fazer isto.


Alura e DEVMedia

Sei que supostamente não pode pagar.
Mas ainda sim, indico a Alura e DEVMedia.
   São aulas com propósito, com projeto.
   Não são informações soltas que você não sabe onde se encaixam.
   Você não será só um espectador perdido com suas dúvidas.
   Não será um usuário entre outros mil rezando/orando para que o seu Youtuber preferido lhe dê atenção e te responda, há um suporte, um fórum, onde o instrutor lhe responde prontamente.
   O roteiro é bem organizado, tem começo, meio e fim, ao contrário de 'vídeos de internet' que você torce para o produtor continuar com o trabalho.
   O histórico dos vídeos ajuda muito, você vai poder continuar de onde parou sem ficar perdido entre centenas de vídeos fúteis que você assistiu no Youtube.
   No final do curso se obtém um certficado, é injusto e desanimador você perder uma vaga de emprego ou um cliente porque apesar de saber, você não consegue provar para eles que você realmente sabe.
   O roadmap (trilha de aprendizado) da Alura é tão famoso que quase todo mundo mostra ele quando alguém precisa de um "mapa" do que aprender depois.
   

   Sacrifique aquela pizza da semana, e/ou sacrifique aquela roupa de marca, se tem a intenção de estudar de verdade e ser um profissional assine, e/ou venda seu videogame, você não é mais um moleque, é um homem, com certeza vale a pena.

PT-BR: Cheat Engine 7.5 sem vírus / ENG: Cheat Engine 7.5 without virus

PT-BR: Eu fiz todos os passos do vídeo abaixo

ENG: I did all the steps in the video below

https://www.youtube.com/watch?v=oA6Uv7pyMY8


PT-BR: Se não deseja ter todo esse trabalho baixe diretamente aqui

ENG: If you don't want to go through all that work, download it directly here

https://drive.google.com/file/d/15eLifNGsf5TmN_nSfUGLaGiYeyDaf054/view?usp=sharing

Peixe raro quebra recorde e é registrado a 8 km da superfície do mar

Finding the world's deepest fish

https://www.youtube.com/watch?v=TktdNurphxA&t=14s 

 

 Já que não permite comentário vou opinar aqui no meu blog.

Caramba, nem a 8km de profundidade do oceano se tem mais sossego.


DBeaver - MySQL - Public Key Retrieval is not allowed

Public Key Retrieval is not allowed


Clique na aba Driver properties. E configure a propriedade abaixo para true:

 allowPublicKeyRetrieval=true

Competir com ChatGPT?

 ChatGPT não compete com programadores, mas colabora com eles, não faz sentido nenhum tentar competir com o ChaGPT, é a mesma coisa que você querer correr mais rápido que um carro, entre nele é acelere. ChatGPT faça o login e acelere também.

Querem tudo

 Nada novo no front, sempre irão querer tudo que você tem e controlar tudo que você sabe.

Postman - Unsupported Media Type

Estava tentando usar uma API e estava ocorrendo este erro.

Pegadinha da API, o client_id e client_secret eram apenas informações RAW em JSON e não chaves para o protocolo de autorização OAuth 2.0, ou seja, não precisa mexer na aba Authorization.


Na aba Headers

Eu adicionei 

KEY | Value 

Content-Type | application/json


Na aba body eu marquei (*) raw

Steam - Trainer

 1. Install ArtMoney
2. Select game in Select process
3. Press Search button to search the value shown on the screen, many results will appear.
4. Make the value shown on the screen change, for example by spending your money
5. Press the Filter button to search the value shown on the screen
6. Repeat step 4 and 5 until only 1 or 3 values appear in the list
7. Assuming that only 1 value appeared in the list, click twice on it
8. It will go to the list on the right, now change it to the value you want
9. Note: You may need to exit and return to the screen for the value to update in-game

Carta a mão para encerramento de conta no banco

 

AO

[NOME DO BANCO]

 

 

 

Ref.: Encerramento de Conta

 

 

Eu, _______________________________________________________, inscrito no CPF

 

sob o número __________________________________ , portador da cédula de identidade

 

RG. número ____________________________ , venho através deste, solicitar o

 

encerramento de minha conta número ________________________, nesta agência, por

 

motivo  de ____________________________________________________________________

 

____________________________________________________________________________ ,

 

aproveito a oportunidade para informa-lhes que não consta nenhuma pendência ou débito, no entanto, assumo toda e qualquer responsabilidade.

 

                Nada mais para o momento

 

São Paulo/SP, ______________________________________

 

 

_________________________________________________