Useful snippets

    Finne prog med port

    2021-03-26

    Relatert

    Eksempel

    Scenario

    Port er opptatt:

    Git bash

    $ docker-compose up -d
    Creating network "lamp_default" with the default driver
    Creating lamp_adminer_1 ...
    Creating lamp-redis     ...
    Creating lamp-database  ... error
    Creating lamp_adminer_1 ... done
    Creating lamp-redis     ... done
    ccess a socket in a way forbidden by its access permissions.
    

    ERROR: for database Cannot start service database: Ports are not available: listen tcp 127.0.0.1:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions. ERROR: Encountered errors while bringing up the project.

    Finne hvillket program som bruker det

    $ netstat -ano | findstr '3306'
      TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING       5028
      TCP    [::]:3306              [::]:0                 LISTENING       5028
    

    $ tasklist | findstr '5028' mysqld.exe 5028 Services 0 4,144 K

    Resultat

    mysqld.exe
    

    https://veerasundar.com/blog/2009/10/how-to-check-which-application-is-using-which-port/

    Ivareta git historikk ved file renaming

    2023-10-22

    Ifølge https://koukia.ca/rename-or-move-files-in-git-e7259bf5a0b7

    Hvis du vil være sikker på at file history blir ivaretatt i en fil om du renamer den (eller flytter den), så må du bruke commando-linja og kjøre

    git mv mycoolclass.cs myCoolClass.cs
    

    eller

    git mv layout/CardList common/List
    

    Hvis du renamer direkte i editor-en, så kan du ikke være sikker på at git skjønner at det er samme fil.

    Når du ivaretar git history så kan du bruke ting som git log -p --follow -- path/to/filename. Se gist: https://gist.github.com/paalss/7127b421ff7f3a862ae8d76c772aeb6a

    Kommentarer:

    Mulig det er unødvendig å bruke mv. Da jeg renamet og flyttet layout/CardList til common/List så skjønte git at disse to filene var 74% like.

    git log -p --follow components/common/List/List.tsx funker fjell. Historikken strekker seg tilbake til før renamingen

    Syntax highlighting i Nano commit diff

    2023-10-22

    nano ~/.nanorc

    sett inn

    https://gist.github.com/keithamus/736220/5e069767b22841610ee18fd2f92bd6026f5eb41d

    syntax "gitcommit" "COMMIT_EDITMSG$"
    color white "#.*"
    color green "#.(modified|added|deleted|unmerged|copy-edit|rename).*"
    color yellow start="# Changes.*" end="# Changed.*"
    color brightgreen "^\+.*"
    color brightred "^-.*"
    color brightyellow "(diff|index|---|\+\+\+).*"
    color brightmagenta "@@.*"
    color white "# Changes .*"
    color white "# Changed .*"
    color white "#.*\(use .*"
    color white "#$"
    

    =

    farger i git commit vinduet!

    Ohmybash

    2023-10-22

    Hvordan starte med ohmybash, velge theme og laste ned nødvendig font icons

    Installasjon

    bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)"
    

    Du får med masse aliases med dette. List alle med alias

    Velge theme

    nano ~/.bashrc
    
    OSH_THEME="agnoster"
    

    Save & exit: ctrl + x, y, [Enter]

    Reload:

    . ~/.bashrc
    

    Hvis du har mellomrom i path to oh-my-bash insallation, slik:

    # Path to your oh-my-bash installation.
    export OSH=/c/Users/Pål Stakvik/.oh-my-bash
    

    Må du enkapsulere path-en i quotes, ellers får du error

    skaffe nødvendige font icons

    evt. se på agnoster-zsh-theme

    last ned Hack-fonten

    1. Gå til https://sourcefoundry.org/hack/ og last ned font. Windows executable funker for WSL og VS Code
    2. Kjør executable i nedlastninger
    3. Godta restart

    Sette WSL til å bruke riktig font

    1. Åpne WSL
    2. høyreklikk toppmeny, velg 'properties'
    3. velg "Hack" fonten

    ubuntu-omb

    Sette VS Code til å bruke riktig font

    1. ctrl + shift + p
    2. settings.json
    3. lim inn "terminal.integrated.fontFamily": "Hack", https://stackoverflow.com/questions/37895501/display-issue-with-oh-my-zsh-agnoster-theme#answer-38475948

    vscode-omb

    Erstatte user @ hostname

    ...Med kun hostname:

    prompt_context() {
      if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
        prompt_segment black default "$USER"
      fi
    }

    Eller hva det skal være:

    prompt_segment black default "P"

    image (9)

    prompt_segment black default "%(!.%{%F{yellow}%}.)$USER" skal visstnok også funke, men jeg får bare slik tekst da:

    image (8)

    Git bash merknader

    Får du permission denied ved git add .?

    • Kjør VS Code som administrator

    Får du

    hint: Waiting for your editor to close the file... 'C:\Users\Pål' is not recognized as an internal or external command,
    operable program or batch file.
    error: There was a problem with the editor '"C:\Users\Pål Stakvik\AppData\Local\Programs\Microsoft VS Code\bin\code.cmd" --wait'.
    Please supply the message using either -m or -F option.
    

    ved git commit (-v)

    • Prøv å kjør git config --global core.editor "code --wait". Les mer https://stackoverflow.com/questions/52195877/how-can-i-fix-git-commit-error-waiting-for-your-editor-to-close-the-file-wi

    Task warrior (CLI todo app)

    2023-10-22

    Installer på Ubuntu (WSL)

    sudo apt-get install taskwarrior
    

    https://taskwarrior.org/download/

    Oppstart

    task version
    

    yes for å lage config file (.taskrc)

    Bruk

    📍 Legg til task

    task add bla bla bla bla
    

    📌 - med priority

    task priority:H add bla bla bla bla
    

    📅📃 List opp alle tasks

    task next
    

    next kan sløyfes

    ✔ Gjennomfør task nr X

    task X done
    

    ❌ 🗑 Slett

    task X delete
    

    https://taskwarrior.org/docs/30second/

    💬🗨 Se og rediger alle detalljer

    task X edit
    

    🗃 Opprett i prosjekter

    task add project:Kitchen Select floor tiles
    task add project:Kitchen Measure counter-top
    task add project:Kitchen Design placement of electrical outlets
    task add project:Kitchen Locate ideal placement for extractor duct
    task add project:Kitchen Select and order counter-top material
    task add project:Kitchen Talk to the Electrician about when the work can start
    

    https://taskwarrior.org/docs/best-practices/

    Interessant

    Delete all branches listed by git branch -a

    2023-10-29

    Færre antall branches i code completion suggestion når du skriver git checkout feat-[Tab].

    Slett alle branches som ikke finnes på remote:

    git fetch -p

    (git fetch prune)

    Også, sørg for å slette unødvendige tags

    List tags

    git tag
    git tag -d tagName

    install multiple versions of same dependency

    2023-10-29

    npm i bootstrap-toc@npm:bootstrap@5.1.3 --save-exact
    

    npm i bootstrap@5.2.3 --save-exact
    

    usage

    const bootstrap = require("bootstrap-toc/dist/js/bootstrap.bundle.min.js");
    new bootstrap.ScrollSpy(document.body, {
      target: "#scroll-nav",
      // give space for header
      offset: 100,
    });

    search for text appearance in a file's git history

    2023-11-05

    Eg. Search for "use-query-params" in package.json's git history

    git grep use-query-params $(git rev-list --all -- package.json) -- package.json

    As a function in .bashrc/.zshrc-file

    # search for word in a file's git history
    # usage: filehistorysearch "use-query-params" package.json
    

    filehistorysearch() { git grep $1 $(git rev-list --all -- $2) -- $2 }

    List & kill processes

    2023-12-08

    List processes

    related

    All

    sudo netstat -nlp | grep tcp

    Sudo gives more info on process id & stuff

    One specific port

    sudo lsof -i:3000

    sudo lsof -i:80
    sudo lsof -i:443
    sudo lsof -i:4173

    Kill process

    By name

    killall -9 node

    sudo killall -9 caddy related: https://useful-snippets.netlify.app/posts/quit-caddy-process/
    sudo killall -9 http-server

    By PID

    eg: tcp6 0 0 :::3000 :::* LISTEN 1686/node
    __________________________________^^______

    killall -9 1686

    By port

    eg: tcp6 0 0 :::3000 :::* LISTEN 1686/node
    ________________^^________________________

    sudo killall $(lsof -t -i:3000)

    Eller med

    fuser -k 3000/tcp

    npm link library

    2024-01-06

    Start

    tror det er viktig å uninstalle @scope/library først?

    • npm link in library
    • npm link @scope/library in app

    See if npm link works

    Run npm run build in the library. See if it updates the app.

    If stuff doesn't update in app, try

    • Restart app's dev server
    • Try as suggested in response from npm cache clean:
    npm install --cache /tmp/empty-cache

    Then restart app dev server

    Maybe try this on the app side

    • npm unlink @scope/library
    • npm link @scope/library

    Maybe also try this on the library side

    • npm unlink @scope/library
    • npm link

    I don't think it's necessary to uninstall library from node modules.

    If app cant find css

    attempting to import css from app (like with bootstrap css) does not always work for some reason

    inject css into js so that the package imports css by itself

    Reference

    When npm link works, npm ls @scope/package should return:

    app@0.1.0 /home/user/code/app
    └── @scope/package@0.1.0 extraneous -> ./../packages/package-components-project
    

    Useful information about npm link and cleaning up and stuff, see README!: https://github.com/jasonsturges/vite-typescript-npm-package