långtryck på macOS

Av ett rent misstag märkte jag idag en funktion i macOS 10.14 som jag inte hört talas om eller noterat tidigare. För vissa tecken kan man ”långtrycka” (genom att hålla in tangenten en lite längre stund) och precis som på mobiltelefonen få upp en liten bubbla med specialtecken och annat relaterat till knappen du trycker på.

Effekten av ett ”långtryck”

Detta är ett riktigt smidigt sätt att få in tecken som inte finns på tangentbordet och jag är något förbluffad över att detta inte har marknadsförts lite hårdare eftersom detta är första gången jag har noterat att detta fungerar.

Grafisk editering

För att fortsätta på linjen med bilder och media, det händer relativt ofta att jag behöver arbeta med bilder och grafik för undervisning eller publikationer. Från mitt arbete finns möjligheten att få åtkomst till Photoshop vilket länge har varit en standard länge när det gäller att hantera grafiskt material och Adobe har dessutom utvecklat produktlinjen för att innehålla mjukvara för en mängd andra saker än bara foto editering men låt oss konstatera att detta inte är ett givet alternativ för hemanvändare och entusiaster eftersom det kostar en slant. Detta ledde mig i vanlig ordning, för några år sedan, på jakt efter ett bättre och billigare alternativ.

Fortsätt läsa ”Grafisk editering”

Firefox Send

Jag hade fått för mig att detta var något som slagit hårt och som alla kände till eftersom det är gratis, säkert och så sjukt användbart, trotts detta verkar få ha hittat denna lilla guldklimp som jag använt nu i över ett år.

Ibland behöver man skicka filer, stora filer, som man inte orkar ladda upp på något slags molnlagring och sedan skapa en länk och sedan skicka denna länk för att sedan behöva ta bort denna fil igen. Det är väldigt enkelt, gå till send.firefox.com, ladda upp filen genom att släppa den i fönstret eller välja en fil och ladda upp. Välj om du vill skicka med ett lösenord, hur många gånger filen skall få laddas ned eller hur många dagar denna fil skall finnas kvar på servern innan den tas bort.

Självklart är det ingen som kan säga att dessa filer faktiskt tas bort efter att de har laddats ned eller när den deadline man satt passerats men generellt sett har jag relativt högt förtroende för Firefox och litar även på denna service.

OpenGL genom X/VNC

Har du spenderat tid med att stånga dig blodig för att lyckas få en OpenGL display att fungera när du ansluter via SSH mot en server? Det har jag. Det visade sig dock att lösningen var relativt enkel, det handlade om att XQuartz inte längre gör detta som default, man behöver aktivera funktionen och sen fungerar det…

defaults write org.macosforge.xquartz.X11 enable_iglx -bool true

Efter detta kan du ansluta till din server och njuta av OpenGL displayer över X eller VNC.

ssh [-X/-Y] username@server

Installera AmberTools18 (amber18) på Mac OS X 10.14 (Mojave) med eller utan Homebrew

Så efter en del velade tog jag beslutet att hoppa över från MacPorts till Homebrew. Detta har inte varit en smärtfri övergång och även om jag gillar Homebrew så är det vissa saker jag inte riktigt förstår motivationen till. Med det sagt, jag kör nu homebrew så instruktionerna för hur man kompilerar mjukvaror kommer att hänvisa till homebrew fortsättningsvis, lagt kort ligger.

Med uppdateringen från OS X 13.X High Sierra till OS X 14.X Mojave gick självklart en hel massa saker sönder, något jag nu för tiden har kommit att förvänta mig från uppdateringar av macOS. Detta includerade självklart möjligheten att kompilera amber på macOS. Det visade sig, bland annat, att Apple nu bestämt att ”libstdc++” tjänat ut sin roll och alla skall i stället använda ”libc++” utan att lämna någon bakåt kompabilitet eller sätt att lösa detta. Det har även försvunnits en del filer som brukade husera i /usr/include som man nu måste installera via en installer som ligger begravd i Xcode, dock kommer detta sluta fungera med nästa release av Xcode och garanterat orsaka en massa nya problem. Lång historia kort, detta är vad du måste göra för att kompilera amber på macOS Mojave med Homebrew GCC8 eller med macOS clang direkt. Resan fram till vad som fungerade är lång och innehåller en massa fel och problem, jag kommer inte att beskriva alla dessa problem då det skulle ta väldigt lång tid och potentiellt inte vara av generellt intresse.

Kompilera AmberTools18/amber18 med Homebrew GCC8

  1. Installera Xcode och Command Line Tools
    Xcode10 installerar du lämpligast via AppStore på din dator
    Du behöver installera Command Line Tools manuellt genom att köra följande i din Terminal.app
    sudo xcode-select --install

  2. Installera Homebrew och GCC
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    brew install gcc

  3. Installera saknade headder filer
    I Terminal.app, kör följande kommando för att öppna PKG installeraren och följ instruktionerna.
    open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

  4. Laddda ned AmberTools18/amber18 och extrahera där du vill installera
    tar xvf AmberTools18.tar.bz2

  5. Configurera och installera
    export AMBERHOME=/[PATH]/[TO]/amber18
    export PATH=${AMBERHOME}:$PATH
    cd $AMBERHOME
    export MACOSX_DEPLOYMENT_TARGET='10.14'
    Eliminerar ett fel med "cannot find <include> file".
    ln -s /usr/local/bin/gcc-8 /usr/local/bin/gcc
    ln -s /usr/local/bin/g++-8 /usr/local/bin/g++
    ln -s /usr/local/bin/c++-8 /usr/local/bin/c++
    ./configure -macAccelerate gnu
    make install

Detta producerar en fungerande version av AmberTools18/amber18 genom att använda Homebrew GCC men det finns fortfarande problem och det kommer garanterat att fortsätta uppstå mer problem innan allt går som det ska.

Kompilera AmberTools18/amber18 med macOS clang

  1. Installera Xcode och Command Line Tools
    Xcode10 installerar du lämpligast via AppStore på din dator
    Du behöver installera Command Line Tools manuellt genom att köra följande i din Terminal.app
    sudo xcode-select --install

  2. Installera saknade headder filer
    I Terminal.app, kör följande kommando för att öppna PKG installeraren och följ instruktionerna.
    open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

  3. Laddda ned AmberTools18/amber18 och extrahera där du vill installera
    tar xvf AmberTools18.tar.bz2

  4. Configurera och installera
    export AMBERHOME=/[PATH]/[TO]/amber18
    export PATH=${AMBERHOME}:$PATH
    cd $AMBERHOME
    export MACOSX_DEPLOYMENT_TARGET='10.14'
    Eliminerar ett fel med "cannot find <include> file".
    vi $AMBERHOME/AmberTools/src/configure2
    Kommentera ut raderna 2237-2241
    # if [ "$intelmpi" = 'yes' ]; then
    # echo "Intel MPI must be used with the Intel compilers."
    # exit 1
    # fi
    #


    vi $AMBERHOME/AmberTools/src/pytraj/setup.py
    Ändra libstdc++ till libc++ på rad 142
    142 extra_compile_args.append('-stdlib=libstdc++’)
    --->
    142 extra_compile_args.append('-stdlib=libc++’)


    Och ändra samma sak på radeta 2289-2293
    2289 # mac/clang
    2290 if [ "$skippython" = "no" ]; then
    2291 cpptrajcxxflags="-stdlib=libstdc++ $cpptrajcxxflags"
    2292 cpptrajldflags="-stdlib=libstdc++ -L/usr/lib/"
    2293 fi
    --->
    2289 # mac/clang
    2290 if [ "$skippython" = "no" ]; then
    2291 cpptrajcxxflags="-stdlib=libc++ $cpptrajcxxflags"
    2292 cpptrajldflags="-stdlib=libc++ -L/usr/lib/"
    2293 fi


    ./configure -macAccelerate clang
    make install

Detta producerar en fungerande version av AmberTools18/amber18 genom att använda macOS clang men det finns fortfarande problem och det kommer garanterat att fortsätta uppstå mer problem innan allt går som det ska.

CTFR – Underdomäner hos HTTPS sidor

Hittade nyligen detta intressanta lilla skript som kan användas för att på några få sekunder lista upp tillgängliga underdomäner till HTTPS adress.

Det som är trevligt med detta skript är att det inte använder ”ordlistor”/”uttömmande nyckelprövning” för att identifiera sidorna utan certifikat loggarna.

Detta skript har gjorts tillgängligt av UnaPibaGeek och du hittar det på dennes Github sida.

Använd inte detta script på domäner/sidor du inte själv äger eller har tillstånd från ägaren att undersöka för att undvika eventuella problem (legala problem inkluderade) eller upprörda känslor.

Installera AmberTools17 (amber16) på Mac OS X 10.13.3 med MacPorts

Detta kommer bli en opolerad snabb genomgång av hur du får in en version av AmberTools17 och på samma sätt Amber16 om du har en licens med hjälp av pakethanteraren MacPorts. Jag kommer gå igenom Homebrew vid ett senare tillfälle och ska försöka putsa till detta senare och göra en mer utförlig och trevligare guide.

Jag har bytt dator på min arbetsplats relativt nyligen och av ren rutin körde jag in MacPorts som pakethanterare och började fylla i luckorna. Dock kom jag på att jag hittat en väldig massa information som jämför MacPorts mot Homebrew där det antingen är ett fåtal väldigt engagerade eldsjälar eller en växande majoritet av användare som rekommenderar Homebrew över MacPorts av olika anledningar. Jag kommer inte gå in på detaljerna kring detta här, det kommer dock komma en reflektion kring skiftet.

Jag sitter som sagt på en relativt ny Mac på jobbet men processen borde vara densamma för de flesta versioner av OS X (kan bekräfta detta nämligen) från  på en 2009 års modell MacBook Pro med 10.11 upp till 10.13.

Du måste vara en administratör på datorn du försöker göra detta på, oavsett vilken metod du väljer senare eftersom även Homebrew behöver installeras och i något skede kräver ett administratörslösenord. 

För att installera med hjälp av MacPorts, gör följande

  1. Installera Xcode från AppStore
  2. Öppna en terminal och kör följande kommandon för att installera extra komponenter du behöver och godkänna licensen.
    xcode-select --install
    xcodebuild -license
  3. Starta Xcode och installera eventuella updateringar
  4. Gå till MacPorts hemsida, ladda ned och installera enligt instruktion
  5. Gå till XQuartz hemsida för att ladda ned och installera XQuartz (ersättaren för Apples X11 som inte längre finns)
  6. Starta en ny terminal session (cmd+space, skriv terminal och öppna Terminal.app)
  7. Kör följande kommandon
    sudo port selfupdate
    sudo port upgrade outdated
    sudo port install gcc6
    sudo port install mpich-gcc6
    sudo port select --set gcc mp-gcc6
    sudo port select --set mpi mpich-gcc6-fortran
    exit
  8. Registrera dig och ladda ned AmberTools från nedladdningssidan
  9. Du kommer få hem en fil som heter något i stil med AmberToolsXX.tar.bz2, hitta den i finder (glöm inte att byta ut XX mot de siffror du faktiskt har). Placera detta arkiv i en mapp där du har läs/skriv rättigheter och där du vill installera programmet. Jag tänker skapa en mapp i min hemkatalog som heter ”Software” där jag installerar AmberTools så jag flyttar dit arkivet. Gör detta med musen och finder eller kör något liknande nedan i terminalen
    mkdir ~/Software/
    mv ~/Downloads/AmberToolsXX.tar.bz2 ~/Software/
    cd ~/Software/
  10. Om du vet hur terminalen fungerar använd ”cd” för att placera dig i samma ”mapp” som arkivet, alternativt om du tagit dig hit med mus/trackpad och finder. Öppna en terminalsession, skriv ”cd ” (glöm inte ett litet mellanslag) och ta sedan ”tag i mappen” där arkivet ligger med muspekaren och släpa till terminalfönstret där du ”släpper”, tryck sedan ”enter”.
  11. Väl i terminalfönstret i samma mapp som arkivet, kör detta kommando
    tar xvf AmberToolsXX.tar.bz2
    för att extrahera arkivet.
  12. Kör sedan detta kommando
    export AMBERHOME=~/Software/amberXX/
    (igen, byt ut XX mot korrekta siffror)
  13. Kör sedan detta för att hamna i rätt mapp
    cd $AMBERHOME
  14. Kör sedan detta kommando
    ./configure -macAccelerate gnu
    Kompilera sedan seriella versionen
    make install
  15. När detta är klart kommer lite info och att du skall göra något, det blir på enklast sätt detta (stäng inte terminalen ännu)
    vi ~/.profile
    Tryck på ”i” på tangentbordet för att aktivera skrivläget, markera i terminalfönstret detta och klistra in på en egen rad
    test -f ~/Software/amberXX//amber.sh && source ~/Software/amberXX//amber.sh
    Tryck på ”esc” tangenten, håll ned ”shift” och tryck två gånger på ”z” (shift+z+z) för att spara och gå ur editorn.
    exit
  16. Starta en ny terminalsession
    cd $AMBERHOME
    make test
  17. Om testen ser OK ut har du nu en installerad seriell version av Amber/AmberTools. Det som nu återstår är parallell versionen. Kör följande kommandon
    ./configure -macAccelerate -mpi gnu
    make install
    export DO_PARALLEL='mpirun -np 2'
    make test.parallel
    export DO-PARALLEL='mpirun -np 4'
    make test.parallel
  18. Om testerna fungerar och inget större problem inträffar är du nu klar.

Den här posten ser hemsk ut, jag ska försöka hinna gå loss på CSS och ändra bakgrundsfärgen och indenteringen för kod vid tillfälle.