Romin2021-08-15T13:00:02+02:00http://romin.se/Johan Rominjohan@romin.seknähund som inte riktig förstår sin storlek2021-08-15T00:00:00+02:00http://romin.se/2021/08/15/knähund
<p><img src="/assets/resized/1200/20210815-knahund.jpg" class="pure-img" alt="" srcset=" /assets/resized/380/20210815-knahund.jpg 380w, /assets/resized/700/20210815-knahund.jpg 700w, /assets/resized/1200/20210815-knahund.jpg 1200w, " /></p>
<p>På hösten vill Nässla sova i mitt knä, bara det att mitt knä inte är lika rymligt som när hon var valp.</p>
Johan Rominhttp://romin.se/about.htmlSimple guide to move DB2 databases2020-04-19T00:00:00+02:00http://romin.se/2020/04/19/db2-database-move<p>This week I did something that I found wasn’t very well documented. I was to move a few DB2 databases from one server installation to another one and also from an older version of DB2 to a newer one.</p>
<p>The process should be simple but as with most technologies it wasn’t quite as simple. My initial idea was to use online backups to not have any downtime but i wasn’t able to do that. For me i wasn`t able to restore the online backups om a newer version.</p>
<p>Instead I went with the route of doing offline backups and restores. Another issue in my setup was that I had different disk setup between the servers.
So how did I do this? I shutdown the applications that was connected to the databases and then i did these steps on the source server:</p>
<figure class="highlight"><pre><code class="language-bash" data-lang="bash">db2 connect to WPSDB
db2 quiesce database immediate force connections
db2 connect reset
db2 deactivate db WPSDB
db2 backup db WPSDB to e:<span class="se">\d</span>b2backups compress
db2 activate db WPSDB
db2 connect to WPSDB
db2 unquiesce database
db2 connect reset</code></pre></figure>
<p>The above will do an offline backup and write it to the selected path.
Next step is to restore the database on the destination server. I copied the database file to a destinstion path and opened a db2 cli window on the destination server. And ran these commands:</p>
<figure class="highlight"><pre><code class="language-bash" data-lang="bash">db2 restore db WPSDB from d:<span class="se">\d</span>b2backups taken at 20200415140318 on d:<span class="se">\ </span>dbpath on d:<span class="se">\D</span>B2<span class="se">\N</span>ODE0000<span class="se">\W</span>PSDB into WPSDB replace existing redirect
db2 restore db WPSDB <span class="k">continue
</span>db2 update db cfg <span class="k">for </span>WPSDB using logarchmeth1 DISK:D:<span class="se">\D</span>B2LOGS<span class="se">\W</span>PSDB</code></pre></figure>
<p>What is import with the restore command is to specify the correct parh to the db2 database as well as the root path för the db2 instance. Also after <code class="highlighter-rouge">restore db .. continue</code> you need to change the path for the archives logs as the restore will set the path from the source server.</p>
<p>Now everything should have worked and your database is available on the new server. The exemples above is for Windows based environments but to do the same in linux you should only need to specify other patha.</p>
<p>I hope you as a reader will find this useful if you are like me a db2admin as part of many other roles.</p>
Johan Rominhttp://romin.se/about.htmlLördagmorgon i stugan.2020-04-18T00:00:00+02:00http://romin.se/2020/04/18/varsol-nassla
<p><img src="/assets/resized/1200/20200418-varsol.jpg" class="pure-img" alt="" srcset=" /assets/resized/380/20200418-varsol.jpg 380w, /assets/resized/700/20200418-varsol.jpg 700w, /assets/resized/1200/20200418-varsol.jpg 1200w, " /></p>
<p>När vårsolen sticker fram passar Nässla på att njuta i solen.</p>
Johan Rominhttp://romin.se/about.htmlQuake Quest2019-11-27T00:00:00+01:00http://romin.se/2019/11/27/quake-quest<p>Idag tog jag tag i saken och laddade ner något som heter <a href="https://sidequestvr.com">sidequest</a> som ger möjligheten att ladda in tredje parts program.
Det första jag tog tag i var då Quake Quest som är en VR implementation av Quake 1. Känslan av att återvända till Quake 1 i ett VR headset var otrolig.</p>
<p>Inlevelsen blev mycket bra och det var väldigt roligt att spela det spelet igen.
Den största nackdelen är att jag upplevde kontrollerna lite svåra och jag blev lite lätt åksjuk på några ställen när jag spelade. Troligen för att jag spelade i början med att gå åt det hållet jag pekade huvudet och det gav nog en rolig syn för om världen där jag står och snurrar runt för att se min omgivning.</p>
<p>Om du har en Oculus Quest rekommenderar jag dig att ta besväret att sätta upp <a href="https://sidequestvr.com">sidequest</a> och utforska alla andra spel och program som går att lägga till. Nästa på tur är Quake 2 som också kan bli roligt att återvända till i VR form.</p>
Johan Rominhttp://romin.se/about.htmlUnderlig url malware i windows2019-10-10T19:52:00+02:00http://romin.se/2019/10/10/underlig-url-malware-i-windows<p>Här om dagen hade min sambo fått in något underligt på sin dator, ibland utan någon systematik öppnades den <code class="highlighter-rouge">http://insightlk.com/download/index.php?mn=9995</code> urlen i chrome. När det dök upp igen och igen så inser vi att det är något galet. Fram med malware verktygen och efter flera timmars sökande med programmen utan framgång börjar jag undra vad det är för konstig saker som ramlat in på datorn.</p>
<p>Jag går igenom chrome och ser vilka plugins som finns installerade och hittar inga där som är relevanta. Passar däremot på att rensa upp lite när man ändå håller på. Ikväll satt jag och letade den här gången använde jag url:en som en del av frågan när jag letade runt. Efter en stunds mer letande ramlade jag på den <a href="https://linustechtips.com/main/topic/611833-mysterious-website-popping-up-randomly/">här tråden på linus tech tips forum.</a></p>
<p>En bit ner i tråden berätta en annan person på forumet om att det troligen rörde sig om ett schemalagt jobb i windows som heter “PPI Update”. Jobbet i sig är väldigt enkelt då det enbart startar url:en i fråga via explorer.exe i windows. Det är med gläje man går in och raderar den schemalagda åtgärden “PPI Update” och är tacksam för att någon varit hjälpsam nog att berätta om vad det är och att det var så pass enkelt att få bort. Tänk om alla andra malware var lika enkla att plocka bort. Nu återstår att se om det dyker upp igen men jag hoppas det är ett löst problem för oss.</p>
Johan Rominhttp://romin.se/about.htmlRedirects with kubernetes ingress proxy2019-08-13T00:00:00+02:00http://romin.se/2019/08/13/kubernetes-ingress-redirect-domains<p>I had the need to have my application running in a <a href="https://kubernetes.io">kubernetes</a> cluster using nginx ingress proxy. And also have a bunch of redirect domains to point to the main appplication domain.
At first I had some troubles to understand how to create a redirect url that didn’t collide with the application routes. As it turns out you should see each ingress configration in kubernetes as it’s own nginx server configuration or virtualhost in apache terms.
So my solution became to create a separate ingress configuration with the redirect rule and associate all my domains I wanted to redirect to the main application.
Overall it became quite simple and easy once I got the hang of how ingress scopes nginx resources.</p>
<p>How my setup became without the whole setup of our application parameters and domains:</p>
<figure class="highlight"><pre><code class="language-config" data-lang="config">---
<span class="n">apiVersion</span>: <span class="n">extensions</span>/<span class="n">v1beta1</span>
<span class="n">kind</span>: <span class="n">Ingress</span>
<span class="n">metadata</span>:
<span class="n">name</span>: <span class="n">application</span>-<span class="n">ingress</span>
<span class="n">annotations</span>:
<span class="n">kubernetes</span>.<span class="n">io</span>/<span class="n">ingress</span>.<span class="n">class</span>: <span class="s2">"nginx"</span>
<span class="n">spec</span>:
<span class="n">rules</span>:
- <span class="n">host</span>: <span class="n">primarydomain</span>.<span class="n">tld</span>
<span class="n">http</span>:
<span class="n">paths</span>:
- <span class="n">path</span>: /
<span class="n">backend</span>:
<span class="n">serviceName</span>: <span class="n">applicationServiceName</span>
<span class="n">servicePort</span>: <span class="m">9080</span>
---
<span class="n">apiVersion</span>: <span class="n">extensions</span>/<span class="n">v1beta1</span>
<span class="n">kind</span>: <span class="n">Ingress</span>
<span class="n">metadata</span>:
<span class="n">name</span>: <span class="n">redirect</span>-<span class="n">ingress</span>
<span class="n">annotations</span>:
<span class="n">kubernetes</span>.<span class="n">io</span>/<span class="n">ingress</span>.<span class="n">class</span>: <span class="s2">"nginx"</span>
<span class="n">ingress</span>.<span class="n">bluemix</span>.<span class="n">net</span>/<span class="n">server</span>-<span class="n">snippets</span>: |
<span class="n">rewrite</span> ^ <span class="n">http</span>://<span class="n">primarydomain</span>.<span class="n">tld</span>$<span class="n">request_uri</span> <span class="n">permanent</span>;
<span class="n">spec</span>:
<span class="n">rules</span>:
- <span class="n">host</span>: <span class="n">misspelled</span>.<span class="n">tld</span>
<span class="n">http</span>:
<span class="n">paths</span>:
- <span class="n">path</span>: /
<span class="n">backend</span>:
<span class="n">serviceName</span>: <span class="n">applicationServiceName</span>
<span class="n">servicePort</span>: <span class="m">9080</span>
- <span class="n">host</span>: <span class="n">alternativeapplication</span>.<span class="n">tld</span>
<span class="n">http</span>:
<span class="n">paths</span>:
- <span class="n">path</span>: /
<span class="n">backend</span>:
<span class="n">serviceName</span>: <span class="n">applicationServiceName</span>
<span class="n">servicePort</span>: <span class="m">9080</span></code></pre></figure>
Johan Rominhttp://romin.se/about.htmlXCode and wierd messages2019-08-10T00:00:00+02:00http://romin.se/2019/08/10/xcode-coresimulator-error-message<p>After an my latest Xcode update on my laptop I noticed things got wierd.
First my list of simulators was empty and that was wierd but I thought that I might be a temporary issue so I restarted Xcode to no luck.
Then I thought hey, some build cache is corrupt let’s do a clean build, and then I got this strange error message:</p>
<figure class="highlight"><pre><code class="language-plaintext" data-lang="plaintext">Failed to find a suitable device for the type IBSimDeviceTypeiPad2x (com.apple.dt.Xcode.IBSimDeviceType.iPad-2x) with runtime iOS 12.4 (12.4 - 16G73) - com.apple.CoreSimulator.SimRuntime.iOS-12-4</code></pre></figure>
<p>A quick search on the web showed that killing the ‘CoreSimulatorService’ was the solution:</p>
<figure class="highlight"><pre><code class="language-plaintext" data-lang="plaintext">sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService</code></pre></figure>
<p>So if anyone else happends to encounter the same issue I hope this helps you as it did help me.</p>
Johan Rominhttp://romin.se/about.htmlFörsta intrycken av Oculus Quest2019-05-28T00:00:00+02:00http://romin.se/2019/05/28/forsta-intryck-occulus-quest<p>Strax innan förra helgen kom den <a href="https://www.oculus.com/quest/">Oculus Quest</a> jag beställt. Kortfattat är Oculus Quest en av de första VR headset som inte kräver någon extern hårdvara för att fungera, en sanning med modifikation.
Man behöver en app på sin mobil eller surfplatta för att konfigurera igång den därefter så är den helt självständig och kräver inga kablar för att köras. Det var något som lockade mig tillräckligt för att beställa en.</p>
<p><img src="/assets/resized/1200/occulus_quest_headset.jpg" class="pure-img" alt="" srcset=" /assets/resized/380/occulus_quest_headset.jpg 380w, /assets/resized/700/occulus_quest_headset.jpg 700w, /assets/resized/1200/occulus_quest_headset.jpg 1200w, " /></p>
<p>Så helgen blev mina första steg in i VR världen och vad den har att erbjuda. Att komma igång med Quest:en var mycket enkelt efter att grundläggande inställningarna var gjorda via mobilappen så var det bara att ta på sig headsetet och ställa in det för rummet jag befann mig i och börja utforska det som följer med.
Jag har inget att jämföra med men upplevelsen att ställa in headset samt de medföljande introuktionsprogrammet var väldigt bra, det gick ganska fort att lära sig hur man navigerar i VR och hur de medföljande kontrollerna fungerar.
Det man får på köpet är lite demoprogram installerade och möjligheten att se på lite film i VR. Det hade varit trevligt tycker jag med något mer komplett spel att spela från början, lite så som Nintendo gjorde med Wii:et och skickade med Wii Sports.
Nu har jag läst mig till att det finns något som liknande Wii Sports som heter rec room som jag ska kika på. Det första jag testat är Star Wars: Vader Immortal som kan beskrivas som en interaktiv historia med spel element.
Är man ett Star Wars fan så är det ändå underhållande och för mig var nivån lagom, jag kunde navigera och röra mig i den virtuella världen och slås med lasersvärd och njuta av miljöerna. Det kommer fler episoder och det ser jag fram emot.</p>
<p><img src="/assets/resized/1200/occulus_quest_box.jpg" class="pure-img" alt="" srcset=" /assets/resized/380/occulus_quest_box.jpg 380w, /assets/resized/700/occulus_quest_box.jpg 700w, /assets/resized/1200/occulus_quest_box.jpg 1200w, " /></p>
<p>Tillbaka till själva hårdvaran så känns den mycket välbygd och trevlig. Själva headset:et väger inte mycket och har inte varit något problem att ha det på i 1-2 timmar med tanke på vikten eller så. Däremot var jag lite ovan så en smula desorienterad var jag efter att ha spelar Star Wars en tid, det är nog en vanesak.
Den enda kabel man behöver är den medföljande laddkabeln som är en usb-c kabel i båda ändar, batteriet tror jag håller 3-4 timmar utifrån mina uppskattningar. I övrigt är det väldigt enkelt, den går själv ner i viloläge när jag tar av mig headset:et efter en kort stund och vaknar väldigt snabbt igen när jag tar upp och sätter på mig.
Nästan som att sträcka sig efter mobilen och väcka den för att spela något. Än så länge är jag tidigt i smekmånaden men känns som en lovande leksak. Kommande veckor/semester ska jag börja undersöka hur jag kan bygga egna program/spel och installera på min Quest.
Jag tycker att Oculus har gjort en fantastisk jobb med ett headset som känns väldigt lätt tillgängligt och smidigt, visst en Rift eller Vive kan säkert ge bättre grafik men då ska du ha en pc som driver allt. Jag hoppas att det kommer fler headset som matchar för helt fristående headset som dessa känns som en nödvändighet om VR ska nå en bredare publik.
Har du några frågor så hör av dig så försöker jag besvara så gott jag kan.</p>
Johan Rominhttp://romin.se/about.html25år sem Commodore gick i graven2019-05-03T00:00:00+02:00http://romin.se/2019/05/03/25ar-sen-commodore-gick-i-graven<p>Helt ofattbart att det är 25år sedan Commodore gick i graven, många varma minnen från både C64 & Amigan. <a href="https://www.datormagazin.se/2019/25-ar-sedan-commodore-gick-i-graven/">Läs mer här</a> om Commodores öde och få en bra summering av bolagets historia och en vindlande väg mellan framgång och undergång.</p>
Johan Rominhttp://romin.se/about.htmlAtt äga sitt innehåll2019-05-01T00:00:00+02:00http://romin.se/2019/05/01/att-aga-sitt-innehall<p>Inom tekniksfären skrivs det mer och mer om vikten att äga sitt innehåll. Ett initiativ som <a href="https://indieweb.org">indieweb</a> förespråkar en standard för hur vi ska märka upp innehåll på webben för att det enkelt ska gå att konsumera det på liknande sätt som dom etablerade plattformarna som facebook och twitter.</p>
<p>I veckan har jag börjat läggs in taggar i mina jekyll mallar för detta. När jag kommit lite längre ska jag beskriva hur jag gjort och vilka lärdomar det går att dra av detta.
Inspirationen att ta tag i det här kom av att jag lyssnade på <a href="https://kompilator.se/007/">avsnitt 7</a> av podradion <a href="https://kompilator.se">kompilator</a>.</p>
Johan Rominhttp://romin.se/about.htmlScripts for iOS image management2019-01-19T00:00:00+01:00http://romin.se/2019/01/19/icon-scaling-for-appstore<p>Since the last year I’ve been doing more and more iOS development and found last week that this thing with icons and sizes can be a tiersome timesink so I wrapped up two small scripts to shave off some time.
The first one is one to generate AppStore icons from the original 1024x1024 image and all the sizes I need for a universial app.</p>
<figure class="highlight"><pre><code class="language-bash" data-lang="bash"> <span class="c">#!/bin/bash</span>
<span class="nv">fileName</span><span class="o">=</span><span class="k">$(</span><span class="nb">echo</span> <span class="nv">$1</span> |cut -f 1 -d .<span class="k">)</span>
<span class="nv">sizes</span><span class="o">=(</span> 180 167 152 120 76 <span class="o">)</span>
<span class="k">for </span>size <span class="k">in</span> <span class="s2">"</span><span class="k">${</span><span class="nv">sizes</span><span class="p">[@]</span><span class="k">}</span><span class="s2">"</span>
<span class="k">do
</span>convert <span class="nv">$1</span> -resize <span class="nv">$size</span><span class="s1">'x'</span><span class="nv">$size</span> <span class="nv">$fileName</span>-<span class="nv">$size</span>.png
<span class="k">done</span></code></pre></figure>
<p>Just copy and pastet the script above into a file, make it executable and run it. I think you could optimize it by giving ImageMagick more parameters for scaling quality but so far I haven’t seen any visual degrading so far, but use it at your own risk.</p>
<p>The second script is just a simple one to create two images in 1x and 2x sizes. I’ve use this for some icons that I get in the 3x size and need to scale down to 1x and 2x sizes. This script scales down the original image into a 67% size and 33% size for the images and sizes I have tested this creates the best 1x and 2x sizes.</p>
<figure class="highlight"><pre><code class="language-bash" data-lang="bash"> <span class="c">#!/bin/bash</span>
<span class="nv">fileName</span><span class="o">=</span><span class="k">$(</span><span class="nb">echo</span> <span class="nv">$1</span> |cut -f 1 -d .<span class="k">)</span>
convert -resize 67% <span class="nv">$1</span> <span class="nv">$fileName</span>-@2x.png
convert -resize 33% <span class="nv">$1</span> <span class="nv">$fileName</span>-@1x.png</code></pre></figure>
<p>This has already save me some time and hopefully someone else might have some use of these scripts as well.</p>
Johan Rominhttp://romin.se/about.htmlVeckans musik tips2018-05-19T00:00:00+02:00http://romin.se/2018/05/19/veckans-musik-tips<p>Den här veckan släppe <a href="http://www.nin.com">Nine Inch Nails</a> den första låten från den kommande skivan <a href="http://www.nin.com/music/bad-witch/">Bad Witch</a>. Efter ett par lyssningar börjar intrycken landa. Det är en annan skepnad än innan. Vreden från tidigare verk är borta. Jag tycker det låter bra även om det inte är det NIN jag är van vid.
Jag är fortfarande nyfiken och peppad på den nya skivan.</p>
<p>Veckans andra nyhet för mig var att <a href="http://ghost-official.com">Ghost</a> släppte en andra singel från den kommande skivan Prequelle. Även med detta band finns en tydligare vändning i stilen från tidigare skivor men jag kan inte låta bli att gilla även dom nya låtarna. För även om dom inte är lika hårda som innan så finns det en hook som gör att låtarna fastnar och du svänger med som lyssnare. Under den lite poppigare tonen finns dom mörka texterna kvar.</p>
<p>Juni kommer bli en bra månad för skivor både ny skivan med Ghort och Nine Inch Nails båda kommer snurra många varv på skivspelaren hemma. När skivorna landat hemma och jag hunnit lyssna igenom kommer mer tankar och intryck.</p>
Johan Rominhttp://romin.se/about.htmlEtt perspektiv om branchen2018-04-18T00:00:00+02:00http://romin.se/2018/04/18/reflektion<p>Den <a href="https://medium.com/p/a-quest-for-a-better-world-a1fcd6443d55">här</a> artikeln dök upp i mitt twitter flöde idag och den är väldigt tänkvärd.
Det finns mycket kvar att göra både inom branschen som utanför jag rekommenderar även att läsa den <a href="https://medium.freecodecamp.org/being-a-developer-after-40-3c5dd112210c">här</a>.
Den ger ett annat perspektiv som hör ihop med den första artikeln om vad vi kan göra och vikten av att reflektera över vad vi tillför till världen.</p>
Johan Rominhttp://romin.se/about.htmlInitiala tankar om Swift Kuery ORM2018-03-02T00:00:00+01:00http://romin.se/2018/03/02/swift-kuery-orm-initiala-tankar<p>IBM har precis släppt en första version av ett ORM lager för Swift och deras Webb ramverk Kitura som heter <a href="https://github.com/IBM-Swift/Swift-Kuery-ORM">Swift Kuery ORM</a>.
Vid en första läsning av <a href="https://developer.ibm.com/swift/2018/03/01/introducing-swift-kuery-orm/">lanserings bloggposten</a> så ser det ut som en väldigt trevlig blandning mellan JPA och Spring JPA.
För mig som har Java backend utveckling som tidigare erfarenhet ser det väldigt lovande ut och definitivt något jag vill utvärdera.</p>
<p>Jag gjorde ett försök att använda mig av <a href="https://github.com/IBM-Swift/Swift-Kuery">Swift Kuery</a> mot postgresSQL tidigare i år men resultatet var inte riktigt som jag förväntade mig och att gå tillbaka till att skriva SQL manuellt för alla operationer kändes som att gå många steg tillbaka i tiden. Planen är att göra ett nytt test med swifty kuery orm och se hur det fungerar och även fortsätta utvärdera Kitura och jämföra med vardagen som idag är java web.</p>
Johan Rominhttp://romin.se/about.htmlRecensionstips av Things 3.4 för iOS2018-02-23T00:00:00+01:00http://romin.se/2018/02/23/things-34-ios-recension<p>För någon dag sedan släppte <a href="https://www.macstories.net/stories/things-automation/">federico viticci på macstories</a> en omfattande recension av <a href="https://culturedcode.com/things/blog/2018/02/hey-things/">Things 3.4</a> med fokus på de nya funktionerna för integration i iOS med url scheman. Jag läste igenom recensionen och blev åter igen inspirerad att ta upp workflow för iOS och automatisera mera. Om du använder Things och <a href="http://workflow.is/">workflow</a> kika på hans exempel för hur man lätt kan lägga in en uppgift i ett valt projekt/vy via workflow. Den länkade bloggposten till Things blog innehåller mer information och fler länkar till hur det går att automatisera Things i iOS.</p>
Johan Rominhttp://romin.se/about.htmlWWDC 2017 State of the union2017-06-05T00:00:00+02:00http://romin.se/2017/06/05/WWDC-2017-state-of-the-union<p>Även på state of the union så presenterade Apple många nyheter för utvecklare. De blev stor fokus på nyheterna i Xcode 9 som verkar mycket lovande. Med version 9 kommer Xcode i kapp mer etablerade verktyg som intellij Idea, eclipse och visual studio. Förhoppningsvis kommer den här versionen lösa många problem med stabilitet som kan vara ett återkommande problem.</p>
<p>CoreML verkar mycket lovande för att kunna göra avancerande analyser. Det kvarstår att förstå hur api:et ser ut och om det är så enkelt som de gav sken av under presentationerna idag.</p>
<p>Likaså är ARKit mycket imponerande både på en API nivå men även i verkligheten. Vi fick möjligheten att testa en av demo apparna som visades upp på keynoten. Det är mycket imponerande vad de gjort och vilka möjligheter som uppstår med AR. Hårdvaru kraven ställer lite till det anser jag eftersom jag måste köpa nytt men förstår fördelarna att kunna lägga stor del av beräkningarna i hårdvaran.
Det ska bli spännande och se vilka appar med Ar stöd som dyker upp tidigt och vad som kommer bli bra på längre sikt.</p>
<p>Till sist var VR demon imponerande, jag trodde inte att det skulle komma hårdvara som klarade av VR och än mindre möjligheten att köra med externa grafikkort. Jag får intrycket att Apple verkligen tar och visar att dom inte glömt bort highend grafik.</p>
<p>Resten av veckan kommer visa mer om hur de nya API:erna kommer fungera och vilka andra nyheter i iOS 11 och macOS High Sierra som är intressanta. En summering av veckan kommer när den tagit slut.</p>
Johan Rominhttp://romin.se/about.htmlWWDC 2017 Keynote summering2017-06-05T00:00:00+02:00http://romin.se/2017/06/05/WWDC-2017-Keynote<p>Under dagens keynote hade jag en tanke att jag skuller skriva detaljerat om allt som presenterades men allt eftersom keynoten fortskred insåg jag hur svårt det skulle vara.
En kort summering från en utvecklares perspektiv är att Apple storsatsar på att öka sin grafik prestandan i alla sina operativsystem.
Nya versionen av metal verkar lovande även om jag saknar något om Vulkan men är nog så att Apple kör på Metal i stället.
Jag blir väldigt glatt överraskad av satsningen på VR och möjlgiheterna med externa grafikkort. Vi får se hur det fungerar i praktiken men på pappret än så länge ser det mycket lovande ut.</p>
<p>iOS för mobiltelefoner var en evolution mer än en revolution. Tittar vi på iOS 11 för iPad så har vi mer av en revolution. Nu närmar sig iPad:en funktionsmässigt en laptop med stormsteg. Framförallt med tanke på hur filer kan hanteras och möjligheterna att arrangera app fönster och hoppa mellan olika uppsättningar.
Skillnaden att jobba på en macbook eller en ipad pro är inte stor idag utan kan mer styras av vilka verktyg du arbetar med. Har man en uppsättning verktyg som finns för både iOS och macOS kan det vara lätt att hoppa mellan plattformarna.
Sparar man filerna i iCloud eller annan plattform kommer filer appen hantera det utan problem. Det ska bli mycket spännande att se hur det rör sig när jag tänker på vad som visades och vad som går att göra på en iPad pro.
Det är samtidigt inte en ersättare för alla men målgruppen som kan använda en iPad pro heltid ökar med iOS 11.
Det ska bli spännande att testa beta versionerna när dom släpps och sen ha en bra hårdvara där alla funktioner kommer vara tillgängliga.</p>
<p>Nu är det dags för imn favorit State of the union när alla tekniska detaljer presenteras.</p>
Johan Rominhttp://romin.se/about.htmlWWDC 2017 Dagen innan2017-06-04T00:00:00+02:00http://romin.se/2017/06/04/WWDC-2017-Dagen-innan<h1 id="wwdc-dagen-innan">WWDC dagen innan</h1>
<p><img src="/assets/resized/1200/WWDC2017-Skylt.jpg" class="pure-img" alt="" srcset=" /assets/resized/380/WWDC2017-Skylt.jpg 380w, /assets/resized/700/WWDC2017-Skylt.jpg 700w, /assets/resized/1200/WWDC2017-Skylt.jpg 1200w, " /></p>
<p>Idag är det söndag och dagen innan WWDC 2017 startar. Jag började dagen med att hämta ut konferenspasset och allt runt omkring. Brickan i år är tråkigare än förra året. Förra året var det swiftkod igår bara namnet.
Däremot gillar jag det övriga bättre i år. Jackan som vi fick är som en jeansjacka med en diskret WWDC text. På köptes blev det även pins med lite olika häftiga Apple ikoner.</p>
<p><img src="/assets/resized/1200/WWDC2017-Pins.jpg" class="pure-img" alt="" srcset=" /assets/resized/380/WWDC2017-Pins.jpg 380w, /assets/resized/700/WWDC2017-Pins.jpg 700w, /assets/resized/1200/WWDC2017-Pins.jpg 1200w, " /></p>
<p>Det blev en bra start inför WWDC, imorgon drar det igång på riktigt först keynoten och sen state of the union. Jag tänker berätta om det jag tycker är intressant utan att bryta NDA:er eller så.</p>
Johan Rominhttp://romin.se/about.htmlMobiltelefonen ur ett xkcd perspektiv2017-02-23T00:00:00+01:00http://romin.se/2017/02/23/mobiltelefon-xkcd<p><a href="https://xkcd.com/1802/">xkcd</a> sätter huvudet på spiken igen kan inte annat än hålla med om bilden är lysande och visar ett problem dom flesta av oss nog är skylda eller medskyldiga till.</p>
Johan Rominhttp://romin.se/about.htmlFörsta stegen med let's encrypt2017-02-20T00:00:00+01:00http://romin.se/2017/02/20/letsencrypt_ssl_nginx_experiment<p>I helgen började jag testa med <a href="http://letsencrypt.org/">let’s encrypt</a> eftersom jag tyckte det var dags att kika på det.
Det var ett bra tag sen jag läste om let’s encrypt projektet och möjligheten att ha ett giltigt SSL certifikat med en enkel uppsättning är ju bra. Jag har i mitt arbete trasslat med SSL certifikat av många varianter och det tar alltid tid och pill att få det på plats.</p>
<p>När jag då testade att skapa ett certifikat för den här webben så antog jag att jag skulle behöva trassla för att det skulle ramla på plats för inte kan väl det bara fungera rakt av? Döm av min förvåning när jag gjorde körde kommandot certbot med parametrarna enligt instruktionerna för en nginx uppsättning och där på filsystemet fanns giltiga certifikat filer. Två rader senare i nginx filen för siten och en omstart så fungerade det bara med mellan certifikat och allt. Kan varmt rekommendera alla som behöver SSL certifikat i en *nix miljö att installera <a href="https://certbot.eff.org">certbot</a> och följa instruktionerna.</p>
<p>Lathund för den otåligen blir:</p>
<figure class="highlight"><pre><code class="language-config" data-lang="config"> <span class="n">sudo</span> <span class="n">echo</span> <span class="s2">"deb http://ftp.debian.org/debian jessie-backports main"</span> >> /<span class="n">etc</span>/<span class="n">apt</span>/<span class="n">sources</span>.<span class="n">list</span>
<span class="n">sudo</span> <span class="n">apt</span>-<span class="n">get</span> <span class="n">install</span> <span class="n">certbot</span> -<span class="n">t</span> <span class="n">jessie</span>-<span class="n">backports</span>
<span class="n">sudo</span> <span class="n">certbot</span> <span class="n">certonly</span> --<span class="n">webroot</span> -<span class="n">w</span> /<span class="n">var</span>/<span class="n">www</span>/<<span class="n">webbsite</span>>/<span class="n">www</span> -<span class="n">d</span> <<span class="n">dom</span>ä<span class="n">nnamn</span>>
<span class="n">sudo</span> <span class="n">vim</span> /<span class="n">etc</span>/<span class="n">nginx</span>/<span class="n">conf</span>.<span class="n">d</span>/<span class="n">romin</span>.<span class="n">se</span>.<span class="n">conf</span></code></pre></figure>
<p>Lägga till dessa rader i nginx configen:</p>
<figure class="highlight"><pre><code class="language-config" data-lang="config"><span class="n">listen</span> <span class="m">443</span> <span class="n">ssl</span>;
<span class="n">ssl</span> <span class="n">on</span>;
<span class="n">ssl_certificate</span> /<span class="n">etc</span>/<span class="n">letsencrypt</span>/<span class="n">live</span>/<<span class="n">dom</span>ä<span class="n">nnamn</span>>/<span class="n">fullchain</span>.<span class="n">pem</span>;
<span class="n">ssl_certificate_key</span> /<span class="n">etc</span>/<span class="n">letsencrypt</span>/<span class="n">live</span>/<<span class="n">dom</span>ä<span class="n">nnamn</span>>/<span class="n">privkey</span>.<span class="n">pem</span>;</code></pre></figure>
<p>Domännanet i mitt fall är romin.se och numera har siten ssl certifikat som gäller i ett par månader. Återkommer och ser om förnyelsen blir lika enkel tiden lär utvisa. Nu ska jag skripta och göra samma för övriga siter.</p>
Johan Rominhttp://romin.se/about.html