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

Logiken bakom köp/gratis kaffe och lås-policy

Jag finner det ofta komiskt när ser hur logiken fungerat när man utformat ett hus med låsta dörrar. På universitetet finns det en mängd olika lokaler/ytor, en del är allmänna. Det är därför viktigt att kunna separera mellan vilka resurser som finns i ”allmänna” utrymmen och vilka som finns i ”låsta” utrymmen. Sådan viktigt resurs är kaffe, vi har kaffe automater utspridda lite här och var i huset. Alla kaffemaskiner som finns utanför de ”låsta” utrymmena, där alla studenter och alla andra besökare kommer in, är betalmaskiner. Du kan alltså inte få dig en kopp gratis kaffe utan måste betala för det, vilket kanske inte är helt ologiskt.

Nu kommer dock poängen, I ett led att göra lokalerna ”mer öppna” och öka bekvämlighetsfaktorn en aning för personaler en aning så att dessa inte behöver låsa upp för många dörrar togs beslutet att lämna dörrarna till personalmatsal och pentry öppna. Det betyder att om man tar en lite promenad runt i huset och tittar på de planlösningskartor som finns på varje våning kan man ganska snabbt lokalisera pentryt som är välutrustat med 3 eller fyra kaffemaskiner, koppar, skedar, tallrikar, bestick, kylskåp med mjölk, smör och förvaring av lunchlådor samt ett hyggligt sortiment utav knäckebröd, skorpor och te. Det enda som hindrar någon från att besöka detta rum, förse sig med vad man vill eller göra vad man vill med någon annans mat är känslan av att man ”inte borde”. Ingenstans finns det skyltar eller annan information som på något sätt talar om att man behöver vara anställd/personal för att utnyttja dessa faciliteter eller resurser och eftersom alla dörrar är olåsta ser jag ingen anledning till att inte göra det heller.

Frågan är då, vad är logiken i att ha gödslat med kaffemaskiner och andra maskiner där man kan köpa knäckemackor samtidigt som man beslutat att inte låsa in de kaffemaskiner där man kan få en obegränsad mängd gratis kaffe, samt mackor, utan att behöva betala ett öre? Det som gör det ännu mer komiskt är att det finns vissa som har sina kontor i samma utrymme som personalrummet, bakom samma olåsta dörrar. Detta betyder att dessa individer nu måste låsa och låsa upp sina egna kontor varje gång de behöver gå må muggen eller ta en kopp kaffe eftersom vem som helst annars kan förse sig med vad de vill från dessa kontor, en av anledningarna till att vi fick så mycket dörrar och lås i nybygget.

Jag har inget bra svar och jag kan inte se logiken i beslutet jämfört mot motivationen att installera en ofantlig mängd dörrar och lås.

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.

Läsplattor med papperskänsla

Det finns vissa saker som jag ibland kan sakna med den analoga eran, att föra anteckningar i ett block med penna och papper, att öppna en bok och bläddra igenom den, läsa texten på fysiska sidor och bläddra. Det är kanske egentligen inte så mycket boken och blocket jag egentligen saknar utan snarare en känsla och ett intryck. En iPad eller en mobiltelefon är fantastiska verktyg med vilka man kan läsa böcker och anteckna med ”handstil” med både finger och stylus men det är något som saknas, det är svårt att sätta fingret på exakt vad men det är en viss känsla. Under en ledig stund började jag därför titta runt på något som jag tidigare valt att ignorera, läsplattor. Det visar sig självklart att sedan jag sist tittade på en Amazon Kindle och insåg att det inte går att anteckna, spela spel o.s.v. så har utvecklingen gått vidare. Detta ledde till en tur på nätet för att se vad som nu fanns tillgängligt och jag tänkte lämna lite reflektioner kring detta här och nu.

Sony eInk plattor marknadsförs som deras ”digitala papperssystem”. DPTS1 som säljs för $799 enligt deras hemsida men som självklart inte finns tillgänglig i den svenska butiken. Om man sedan klickar sig vidare till Amazon hittar jag bara begagnade S1 modeller som ligger på $1056 och är begagnade. DPT-RP1 13″ som verkar vara en annan modell som har bättre tillgänglighet ligger på $600

När jag tittar på reklamen för denna blir jag riktigt imponerad, om den fungerar så bra som det ser ut på film är detta helt fantastiskt. De har lyckats fånga upp känslan av papper på ett riktigt imponerande sätt och det verkar vara en relativt lätt och mobil enhet som jag gladeligen skulle släpa med mig närhelst jag misstänker att jag skulle få några minuter över att läsa något. Något som dock sätter en rejäl vägspärr i detta fall är att den ännu inte verkar finns tillgänglig i Sverige och att jag för mitt liv inte kan motivera denna utgift just nu.

Andra modeller inkluderar reMarkable som också ser riktigt intressant ut, finns tillgänglig för köp i Sverige men landar på €599, så en saftig prislapp även på denna.

Bara baserat på vad jag kan se (eftersom jag inte har tillgång till någon av dessa produkter) så är även detta en riktigt imponerande produkt som ser ut att vara lätt och portabel med en fantastisk papperskänsla och möjlighet att föra naturliga anteckningar på ett effektivt sätt.

Sist ut på listan över produkter jag tronade över är Amazon Kindle Oasis 2 (32 GB) som landar på 3490:- och finns i Sverige men är självklart något billigare i USA $280 men med frakt och tullavgifter blir priset nästan detsamma.

Även här har det uppenbarligen hänt saker, det finns möjlighet att lyssna på talböcker, formatet är något annorlunda och från vad jag har förstått så är denna produkt även vattentät (om man vill läsa i poolen?). Vad jag fortfarande saknar med denna produkt är möjligheten att föra anteckningar, både generellt men även i de böcker jag läser. Bortsett från detta verkar detta vara den prismässigt mest tillgängliga produkten, även om den saknar några av de funktioner jag skulle vilja ha, det verkar även vara en av de minsta alternativen jag tittat på, vilket är ett plus (även om jag inte är helt övertygad av den nya formen) och papperskänslan ser ut att vara helt fantastisk.

Så, jag är fruktansvärt sugen på att ha en läs/skrivplatta med papperskänsla och de se alla riktigt intressanta ut men jag kan just nu inte motivera ett inköp på 3500-9500:- för ett digitalt anteckningsblock som endast fyller funktionen av digital bok och anteckningsblock, vilket är fruktansvärt synd. Så om något från Sony, reMarkable eller Amazon skulle råka snubbla över detta lilla tiggarbrev och skulle vara intresserade av en grundlig utvärdering av deras produkter på en sida som uppskattningsvis har en återkommande besökare, då är ni självklart mer än välkomna att skicka över era produkter. Om någon som snubblar över detta och läser detta samt har en av dessa produkter, lämna gärna någon liten kommentar om ert intryck av dessa.

Disenchantment

Äntligen är det dags, idag den 17:e Augusti 2018 är det premiär för Disenchantment på Netflix, det senaste alstret skapat av Matt Groening. För en man som växt upp med och antagligen sett vartenda avsnitt av The Simpsons (Wiki) och som med ännu större glädje tog del av den fantastiska serien Futurama (Wiki) för vilken den gamla VHS spelaren slaviskt programmerades och vartenda avsnitt spelades in är detta en stor dag och förväntningarna är skyhöga. Om detta är en bra eller dålig sak, ja det beror helt enkelt på kvaliteten på serien så klart, något som dock är klart är att denna serie troligtvis kommer bemötas av både brutal kritik och fantastiska lovord över internet av likasinnade fans i samma ålder som en annan.

För mig, jag tänker spara den fantastiska premiären tills i kväll och avnjuta det första avsnittet ”A Princess, an Elf, and a Demon Walked Into a Bar”. Jag vet ännu inte hur många som finns tillgängliga eftersom Netflix verkar ha ett visst problem att tillhandahålla denna serie på premiärdagen (se Figur 1), finns det fler så blir det antagligen så många jag orkar innan jag stupar.

Figur 1. Felmeddelande från Netflix när man försöker läsa om serien via mobiltelefonen

Om du som jag är ett fan, orkar/hinner titta på avsnittet och vill dela dina åsikter, gör gärna det. Det är alltid kul att höra vad andra människor tycker.

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.

Cybersecurity 2.0 by Wiley

Nu är det dags för en favorit i repris, via Humble Bundle har du nu chansen att införskaffa 14 stycken trevliga böcker som på ett eller annat sätt berör IT säkerhet för omkring 150:- vilket är ett svårslaget pris, eller det belopp du känner att du kan avvara.

Detta erbjudande innehåller följande titlar:

  • Secrets and Lies: Digital Security in a Networked World
  • The Shellcoder’s Handbook: Discovering and Exploiting Security Holes
  • Reversing: Secrets of Reverse Engineering
  • Threat Modeling: Designing for Security
  • Engineering: A Guide to Building Dependable Distributed Systems
  • Practical Reverse Engineering: x86, x64, ARM, Windows Kernel, Reversing Tools, and Obfuscation
  • Cryptography Engineering: Design Principles and Practical Applications
  • Wireshark for Security Professionals
  • Malware Analyst’s Cookbook: Tools and Techniques for Fighting Malicious Code
  • The Art of Memory Forensics: Detecting Malware and Threats in Windows, Linux, and Mac Memory
  • Advanced Penetration Testing
  • Investigating Cryptocurrencies
  • The Web Application Hacker’s Handbook: Finding and Exploiting Security Flaws
  • Applied Cryptography: Protocols, Algorithms and Source Code in C

Du kan ta dig direkt till erbjudandet via denna länk och välja att till exempel donera en del av din betalning till EFF för att behålla ett fritt internet.

International Conference on Molecular Imprinting 2018 (MIP2018)

Denna vecka pågår MIP2018 i Jerusalem (Israel)

Resan startade redan i lördags med tåg mot Kastrup klockan 07:00, mot alla odds lyckades SJ hålla tiden och anlände i tid till Kastrup. Detta innebar nästan fyra timmar buffert på flygplatsen, marginaler jag sällan upplevt under arbetsresor. Av någon spännande anledning lyckades jag bli ärad med en ”random check” och fick erhålla min första ”full body scan”. Flyget blev sedan försenat från Kastrup i vanlig ordning, med nästan en timme, detta till trots lyckades Lufthansa landa i Frankfurt endast cirka 20 minuter sent, detta lämnade helt plötsligt 50 minuter att ta oss tvärs över flygplatsen. Något mindre än de 85 minuter vi skulle haft men fortfarande förvånansvärt mycket tid jämfört med vad som förväntades när flyget var nästan en timme försenat.

Vi hann ta oss över flygplatsen, vi hann springa förbi taxfree butiken, vi klarade oss igenom den extra säkerhetskontrollen vi inte hade räknat med och hann med flyget. Det var den mest grundliga säkerhetskontroll jag påträffat, bagaget röntgades en extra gång, vilket inte är en speciellt konstig sak. Däremot förvånades jag när jag försökte ta av mig skärpen och damen vid disken talade om för mig att ”det inte spelar någon roll, vi kontrollerar alla i alla fall”. Detta gjorde dem, person nummer två kliver fram med trollstaven och börjar skanna. Denna metalldetektor var uppenbarligen satt på ”sinnessjukt känslig” eftersom hela min kropp tjöt som ett larm. Detta ledde till en grundlig kroppsvisitation där området runt gylfen fick en grundlig behandling med klämmande och kupande eftersom (till en enorm förvåning) området kring bältspänne och dragkedja konstigt nog lös upp som ett tomtebloss under avsökningen.

Suddigt nattfoto genom rutan under inflygningen

Efter ett par svettiga minuter, ”hold you belt like this”, ”do not remove the belt though do not let it interfere”, ”pull you pants up”, ”put you shirt down”, ”DO NOT MOVE YOUR HANDS SIR”, ”turn around”, ”lift your feet”, ”lift your shirt BUT DO NOT MAKE ME LOOSE SIGHT OF YOUR HANDS” och så vidare tog vi oss igenom kontrollen. Efter fyra timmar på ett överbokat plan senare landade vi på flygplatsen i Tel Avivs. Den sena timmen och de 15 timmarna på resande fot var inte tillräckligt för att hindra en förundran över flygplatsen. Den ”regnande” takfontänen, stendetaljerna o.s.v. Med en klump i magen närmade vi oss passkontrollen och efter en stund var det dags att kliva fram till båset. Efter ett par frågor angående var jag bodde, hur länge jag bott där och en stunds häcklande över Sveriges förlust i World Cup fick jag mitt blåa passerkort och välkomnades in i landet.

Taxifärden genomfördes i en luxuös minibuss med fungerande AC, tonade rutor ovh lädersäten där chauffören undvek att sätta igång någon slags 2011 års diskotek mix som stod på paus. Strax efter midnatt anlände vi till hotellet och efter en del strul gällande antalet rum lyckades vi alla checka in och lyckades trilla i säng strax innan klockan två.

Detta kan vara den minst problematiska konferensresa jag någonsin varit på hittills men mycket vecka återstår innan veckan är slut och hemresan väntar.  På torsdag är det min tur att presentera, nu återstår bara att färdigställa presentationen. Förhoppningsvis kan det kanske bli en eller annan uppdatering under konferensen som troligtvis väldigt få bryr sig om.

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.