Find Rotate Steps

/**
 * @param {string} ring
 * @param {string} key
 * @return {number}
 */
// Define the function findRotateSteps with parameters ring and key
function findRotateSteps(ring, key) {
    // Create a memoization map to store the results of subproblems
    const memo = new Map();

    // Define the dynamic programming function dp with parameters indexRing and indexKey
    function dp(indexRing, indexKey) {
        // Base case: if we have spelled all the characters in the key, return 0
        if (i

Zoom-install

Saved from https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0063458#h_75e1dc24-8db1-4b89-8db9-eb049f9b7987
#!bin/bash
sudo apt install gdebi  
wget  -cO - https://zoom.us/client/6.0.2.4680/zoom_amd64.deb >> ~/softwares/zoom.deb
sudo chmod +wrx ~/softwares/zoom.deb
sudo apt-get install -y ~/softwares/zoom.deb
sudo apt-get autoremove && sudo apt-get clean && sudo apt-get autoclean && sudo apt-get purge
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp
sudo apt install fd-find  
sudo apt install libncurses5-dev 
s

authoriation in sqlalchemy

```python
class BaseLog(Base):
    __abstract__ = True
    created_at: so.Mapped[datetime | None] = so.mapped_column(sa.DateTime(timezone=True), server_default=sa.func.now())
    updated_at: so.Mapped[datetime | None] = so.mapped_column(
        sa.DateTime(timezone=True),
        server_default=sa.func.now(),
        onupdate=sa.func.now(),
    )

    @so.declared_attr
    def created_by_id(cls):
        return so.mapped_column(sa.ForeignKey('user.id', ondelete='cascade'))

    @so.declared_att

QT Designer with Ubuntu 20.. wayland issue == turn off wayland only while in use

https://linuxconfig.org/how-to-enable-disable-wayland-on-ubuntu-22-04-desktop You also need this: sudo apt-get install build-essential libgl1-mesa-dev see here for openGL when wayland is turned off: https://doc.qt.io/qt-6/linux.html
sudo vim /etc/gdm3/custom.conf
# change wayland option to false
sudo systemctl restart gdm3

Check version of pyenv

Looking to find the library for a particular pyenv? Start with this then go ~/.pyenv/versions/your_env_name/bin
which pyenv

Usabilidade

#### FAYT (Find As You Type)

Ao começar a digitar, os arquivos com o nome digitado são marcados. Para ir de um arquivo para outro, da mesma forma que o MultiCommander faz, usar o **F3**.

Everything

## Everything Config

O Directory Opus requer [configurações específicas](https://docs.dopus.com/doku.php?id=additional_functionality:everything_integration) do Everything, que não vem por default nele.

.1) Em Indexes, habilitar os seguintes itens:

![](https://cdn.cacher.io/attachments/u/3m7rozzc0i4fj/sAjA3Mtmb-W1uNljlS4bwgg0KwBXriYQ/f6qflhtrl.png)

.2) Em Indexes > Exclude, desabilitar todos os ítens.

Min Falling Path Sum

/**
 * @param {number[][]} grid
 * @return {number}
 */
var minFallingPathSum = function(grid) {
    const n = grid.length;
    const dp = Array(n).fill(0).map(() => Array(n).fill(Infinity));
    
    // Initialize the first row of dp with the first row of grid
    for (let j = 0; j < n; j++) {
        dp[0][j] = grid[0][j];
    }

    for (let i = 1; i < n; i++) {
        for (let j = 0; j < n; j++) {
            for (let k = 0; k < n; k++) {
                // If the columns of the current cel

items.jsx

import { getAccessToken, withApiAuthRequired } from "@auth0/nextjs-auth0";

export default withApiAuthRequired(async function handler(req, res) {
  const { accessToken } = await getAccessToken(req, res);
  const fetchOptions = {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Access-Control-Request-Headers": "*",
      jwtTokenString: accessToken,
    },
  };
  const fetchBody = {
    dataSource: process.env.MONGODB_DATA_SOURCE,
    database: "so

item.js

import { getAccessToken, withApiAuthRequired } from "@auth0/nextjs-auth0";

export default withApiAuthRequired(async function handler(req, res) {
  const { accessToken } = await getAccessToken(req, res);
  const fetchOptions = {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Access-Control-Request-Headers": "*",
      jwtTokenString: accessToken,
    },
  };
  const fetchBody = {
    dataSource: process.env.MONGODB_DATA_SOURCE,
    database: "so

ExcelJS

import ExcelJS from 'exceljs';
import { saveAs } from 'file-saver';

const workbook = new ExcelJS.Workbook();
const worksheet = workbook.addWorksheet('ExchangeRates');
let counter = 1;

worksheet.columns = data.headers.map((title) => ({
  key: title,
  width: 25,
  style: {
    numFmt: title === 'date' ? 'yyyy.mm.dd' : '#,##0.000000',
  },
}));

const table = worksheet.addTable({
  name: 'Table',
  ref: `A${counter}`,
  headerRow: true,
  totalsRow: false,
  style: {
    theme: 'TableStyleLight8

express server with auth

// Importing necessary modules
const express = require('express');
const dotenv = require('dotenv');
const connectDB = require('./database');
const authRoutes = require('./routes/authRoutes');
const noteRoutes = require('./routes/noteRoutes'); // Import note routes

// Initialize dotenv to load environment variables
dotenv.config();

// Connect to MongoDB
connectDB();

// Initialize express
const app = express();

// Middleware to parse JSON bodies
app.use(express.json());

//

Pick Loc

SELECT
    dbo.dmprod.pr_codenum,
    dbo.dmd3.d3_value AS picklocation
FROM
    dbo.dtd2
    INNER JOIN dbo.dmd3 ON CAST(dbo.dtd2.d2_value AS int) = dbo.dmd3.d3_id
    INNER JOIN dbo.dmprod ON dbo.dtd2.d2_recid = dbo.dmprod.pr_id
WHERE
    (dbo.dtd2.d2_d1id = 134)

Payroll Detail Cleanup

SELECT
    jo_jobnum,
    jo_closed,
    iif(
        jo_closed <> min(gl_date),
        FORMAT(min(gl_date), 'MM/dd/yyyy'),
        ''
    ) AS gl_date,
    dtjob3.ch_account AS paydetacct,
    dtjob3.payrolldetail,
    gldet.ch_account AS gldetacct,
    SUM(gl_debits) AS gldetail,
    dtjob3.payrolldetail - SUM(gl_debits) AS variance
FROM
    dtjob
    JOIN (
        SELECT
            j3_jobnum,
            ch_id,
            ch_account,
            SUM(ROUND(j3_modhour * 

On POs

SELECT
    dbo.dmprod.pr_codenum,
    dbo.dmprod.pr_descrip,
    SUM(dbo.dtpur.pu_ordman) AS Ordquant
FROM
    dbo.dtpur
    INNER JOIN dbo.dttpur ON dbo.dttpur.tp_recevd IS NULL
    AND dbo.dttpur.tp_ordtype IN ('p', 'r')
    AND dbo.dttpur.tp_id = dbo.dtpur.pu_tpid
    INNER JOIN dbo.dmprod ON dbo.dmprod.pr_id = dbo.dtpur.pu_prid
GROUP BY
    dbo.dmprod.pr_codenum,
    dbo.dmprod.pr_descrip

Onhand Onorder

SELECT
    dbo.dmprod.pr_codenum AS PartNumber,
    dbo.dmprod.pr_descrip AS Description,
    ISNULL(lots.'lotquant', 0) AS Onhand,
    ISNULL(pur.'purquant', 0) AS OpenPurchaseOrders
FROM
    dbo.dmprod
    LEFT OUTER JOIN (
        SELECT
            SUM(fi_quant) AS 'lotquant',
            fi_prid
        FROM
            dbo.dtfifo
        WHERE
            (fi_zeroed IS NULL)
            AND (fi_type = '')
        GROUP BY
            fi_prid
    ) AS lots ON lots.fi_prid