Debug Gradle Task in Android Studio

# Debug Gradle Task in Android Studio

- Click the dropdown near the Run icon > Edit Configuration > (+) icon - Add New Configuration > Remote JVM Debug > leave everything as default > Add a name (Eg. GradleTaskDebug) > OK.
- Add breakpoint(s) to Gradle/Groovy/Kotlin DSL script.
- Append the following to Gradle command:
``` 
-Dorg.gradle.daemon=false -Dorg.gradle.debug=true

// Eg.
./gradlew publishToMavenLocal -Dorg.gradle.daemon=false -Dorg.gradle.debug=true
```
- Select the previous GradleTas

Criar um arquivo

Documentação: - [FSUtil](https://docs.dopus.com/doku.php?id=reference:scripting_reference:scripting_objects:fsutil).OpenFile - usei para criar um novo arquivo e obter o handle dele. - [DOpus.Dlg](https://docs.dopus.com/doku.php?id=reference:scripting_reference:scripting_objects:dialog).GetString - usei para solicitar um novo nome de arquivo para o usuário. Onde usei: **_CLIPBOARD_Paste_Smart** Este código tenta criar um novo arquivo com um nome padrão. Se o arquivo já existir, solicita para o usuário qual o novo nome a ser dado para o arquivo sendo criado. Entra em loop até que o nome do arquivo seja válido (não tenha nenhum arquivo com o nome informado). Aborta se o nome informado for em branco ou se clicar no botão Cancelar.
// Create a new File
var strFile_name = "Site"; // Nome default que quero dar para o arquivo.
objFile = DOpus.FSUtil.OpenFile(clickData.func.sourcetab.path + "\\" + strFile_name + ".url", "wrcf");  // wr = read/write c=create (dá erro se já existir) f=force
// Se o arquivo já existir, pergunta para o usuário qual o novo nome que quer dar para o arquivo.
// Fica em loop enquanto não digitar um nome que não existe, ou até clicar em Cancelar ou clicar em OK com um nome em branco.
while (objFil

Deselect all files

[Select Documentation](https://docs.dopus.com/doku.php?id=reference:command_reference:internal_commands:select)
// Clear file selection
cmd.deselect = true; // Ensure the command deselects files
cmd.RunCommand("Select NONE");

Laravel 11 with Boostrap 5


https://www.techiediaries.com/how-to-add-bootstrap-5-laravel-11/


Ubuntu 22.04 Runs Very Slow And The Solutions

### Solution 1. Upgrade your system

Apparently, upgrading the whole Ubuntu 22.04 system can fix the performance issue. By upgrade we mean updating all installed programs into their latest version, not updating the OS version. We did it and we can confirm Kubuntu works better and faster again after that. Please note that this will cost you time, money (for internet access) and a lot of disk space.

1. Disable all PPA.
2. Do repository refresh:
   `$ sudo apt-get update`
3. Do the first system-wi

Find Min Height Trees

/**
 * @param {number} n
 * @param {number[][]} edges
 * @return {number[]}
 */
var findMinHeightTrees = function(n, edges) {
    // Check if the graph is linear (a straight line)
    edges.sort((a, b) => a[0] - b[0]);
    let linear = true;
    for (let i = 0; i < edges.length - 1; i++) {
        if (edges[i][1] !== edges[i + 1][0]) {
            linear = false;
            break;
        }
    }

    // If the graph is linear, the root is the middle node(s)
    if (linear) {
        let x = Ma

Link2CSV

(()=>{const e=t=>{if(""!==t.id)return`id("${t.id.replace(/"/g,'""')}")`;if(t===document.body)return t.tagName.toLowerCase();let n=0;const o=t.parentNode.childNodes;for(let r=0;r<o.length;r++){const a=o[r];if(a===t)return`${e(t.parentNode)}/${t.tagName.toLowerCase()}[${n+1}]`;1===a.nodeType&&a.tagName===t.tagName&&n++}},t=e=>`"${e.replace(/"/g,'""')}"`,n=document.querySelectorAll("a"),o=[];n.forEach((n=>{const r=t(n.href),a=(e=>{const t={internal:new RegExp(`^https?://${location.host}`,"i"),exter

api-key-authentication asp.net core api

https://code-maze.com/aspnetcore-api-key-authentication/

Lenis Smooth Scrolling

// include Lenis script where appropriate (e.g. enqueued in setup.php).
// https://unpkg.com/lenis@1.0.44/dist/lenis.min.js

// Lenis settings
const lenis = new Lenis({
    duration: 1.2,
    easing: (t) => (t === 1 ? 1 : 1 - Math.pow(2, -10 * t)),
    direction: "vertical",
    gestureDirection: "vertical",
    smooth: true,
    smoothTouch: true,
    touchMultiplier: 2,
});

function raf(time) {
    lenis.raf(time);
    requestAnimationFrame(raf);
}

requestAnimationFrame(raf);

get Param From Url Search | from window.location

/**
 * @source https://gist.github.com/artemsites/8d260ef1682d10c70c2cf1cd256c629d
 */
export default function getParamFromUrlSearch(paramName) {
  if (location.search) {
    let params = location.search.split('?')[1].split("&")
    let param = params.find(p=>p.includes(paramName))
    return param.split('=')[1]
  }
  return false
}

Identify media container with extra medias for banner components

select {mediacontainer} from {media} where {mediacontainer} is not null group by {mediacontainer} having count({mediacontainer}) > 4

Airtable - Code to concatenate First and Surname

Saved from https://chat.openai.com/c/f5df1155-d81c-41ba-b6dc-7fa748667568
{First Name} & " " & {Surname}

JWT Token Authentication in ASP.NET Core API Project

Project: EmailCommonService.API
Nuget Package : Microsoft.AspNetCore.Authentication.JwtBearer (6.0.27)

//appsetting.json
  "Jwt": {
    "Key": "ASDDSefI99oSbcayHOH3VdpF86vnXXXX", //Generate random String from https://www.random.org/strings
    "Issuer": "https://localhost:7197/", //Project Property-> Debug-> IIS-->App URL (you can local host url as well)
    "Audience": "https://localhost:7197/"
  }
  
  //Program.cs
  var builder = WebApplication.CreateBuilder(args);
builder.Services.AddContro

custom hook

import React from 'react';
import { AnswersState, addAnswers, selectAnswers } from '../redux/answersSlice';
import { useAppDispatch, useAppSelector } from '../redux/hooks';
import {
    QuoteOptions,
    addCaller,
    addCallerEvent,
    getQuote as reduxGetQuote,
    setQuoteAnswers,
} from '../redux/quoteSlice';
import { netbankTheme } from '../utils/constant';
import { dateReformatyyyyMMdd } from '../utils/valueUtil';
import { GetQuoteResponse } from '../types/quote/GetQuoteRespo

wsl2-wiki

# WSL

## Install and Run jetbrains-tool

`sudo apt install libgtk-3-dev libfuse2 libxi6 libxrender1 libxtst6 mesa-utils libfontconfig libgtk-3-bin`



## Other- Unsure if needed

* libXrender.so.1: cannot open shared object file: No such file or directory

`sudo apt install libxrender1 libxtst6 libxi6`

* Failed to connect to bus: No such file or directory: org.freedesktop.dbus.exceptions.DBusException: Failed to connect to bus: No such file or directory

https://x410.dev/cookbo

Return Type

How do we know that the return type was what it is?
func GetEventByID(id int64) (*Event, error) {
	query := `SELECT * FROM events WHERE id = ?`
	row := db.DB.QueryRow(query, id)

	var event Event
	err := row.Scan(&event.ID, &event.Name, &event.Description, &event.Location, &event.DateTime, &event.UserID)
	if err != nil {
		return nil, err
	}
	return &event, nil
}