Till molnet och tillbaka igen

Den hälsosamme ekonomisten, Wednesday 12 June, 2019
Bild: 2017-09/dsc01062.jpg

Är lite obeslutsam angående var bloggen ska ligga. För tillfället ligger den på en virtuell server hos Google - en så kallad Compute engine. Det är en server som är väldigt snabb, men också hyfsat dyr. Egentligen onödigt då jag har en snabb server hemma i lägenheten som jag lika gärna kan använda. Äger också en Synology NAS av typen 1515+. Den är dock lite för långsam för att ha bloggen på, särskilt med tanke på att jag bara har 100 MBit.

Servern å sin sida är redan i dag hem för min virtuella värld, så problemet blir att kombinera två servrar med olika uppgifter. High Fidelity, alltså den virtuella världen, körs av praktiska skäl i Windows. Så jag behöver möjlighet att på samma dator även köra Linux.

Först installerade jag Windows på servern och försökte köra Virtual Box för Windows och sedan Ubuntu på en virtuell server i Virtual Box. Det var ingen bra idé, då Windows är högst instabilt och uppenbarligen inte lämpligt för servrar. Efter mycket om och men vände jag på steken och installerade i stället Ubuntu Server och därefter Linuxversionen av Virtual Box på servern. Därefter installerade jag Ubuntu Server i Virtual Box. 

Det går bättre. Den virtuella datorn är snabb och nätverket fungerar som det ska. Det är heller inga problem att installera Windows i Virtual Box och därefter High Fidelity i Windows.

Frågan är bara var man lägger databasen till bloggen? Det finns ingen bra backupfunktion om man använder Sqlite3 som databas och man vill inte manuellt spara ner kopior av de virtuella datorerna.

Lösningen blir därför att använda min Synology. Fördelen med den är att den är ytterst stabil - har inte krånglat sedan jag köpte den - och har stöd för MySQL i form av paketet MariaDB. Eftersom NAS:en ligger på samma nätverk kan bloggen med fördel försörja mitt CMS Bolt.cm med data, utan att jag behöver öppna några portar. Det går förstås att lägga databasen var som helst på nätet om man vill, men då bör man lämpligen slå på https. Hastigheten lär heller inte bli så hög.

Återstår att konvertera från Sqlite3 till MySQL. Det var svårare än väntat. Dels har formatet för lagring av inlägg ändrats något sedan jag började blogga, dels är det inte samma syntax i Sqlite som i MySQL. En kopia skapad med Sqlite går därför inte att omedelbart lägga in i MySQL.

Till min räddning kommer en gem, alltså ett program, i Ruby som heter Sequel. Sequel är en databashanterare som kan användas för att förändra data och som hanterar alla vanliga databasformat.

Det är inte helt uppenbart hur man ska göra om man aldrig använt en databashanterare, men när jag väl förstod var det extremt enkelt. Att justera tabellerna så att de blev konsistenta över tid var det första steget. Eftersom jag inte använt Sequel tidigare använde jag möjligheten att skriva SQL-kommandon direkt i Sequel. Så här i efterhand var det kanske inte det smartaste, men det var den metod som jag kände till.

DB = Sequel.sqlite('ekonomism.db')
items = DB.fetch "SELECT * FROM bolt_pages"
DB.run("UPDATE bolt_pages SET datedepublish='1900-01-01 00:00:00'")
items.each do |rad|
  image = rad[:image]
  id = rad[:id]
  # Ta bort datedepublish
  puts id, image
  # entries
  if !image.nil? then
    image = '{"file":"' + image + '"}' if image[0..1] == '20'
    DB.run("UPDATE bolt_pages SET image='#{image}' WHERE id='#{id}'")
    puts "pages"
    puts id, image
  end
end

Först måste datumet för kolumnen "datedepublish" fixas till så att MySQL inte slår bakut. Ett antal datum var nämligen inte verkliga datum. Därefter måste kolumnen där bilderna lagras förändras från vanligt textformat till JSON-Y. Lyckligtvis är teckenkodningen genomgående UTF-8 så det behöver jag inte tänka på.

Som ni ser använder jag raw SQL för att genomföra transaktionen, men lösningen är bristfällig av flera skäl. Framför allt lyckades jag aldrig klura ut hur man använder placeholders och flera placeholders i samma transaktion, så ovanstående kod skulle inte vara lämplig att använda i det fria.

Så hur ska man då konvertera allt, om det inte går att använda raw SQL? Lösningen blev som sagt att använda Sequels syntax, som visade sig betydligt enklare än SQL när allt kom omkring.

DB = Sequel.sqlite('ekonomism.db')
DB2 = Sequel.mysql2('xxx', user: 'xxxx', password: 'xxxx', host: 'xxx.xxxxx.xx')
entries2 = DB2[:bolt_entries]
entries = DB[:bolt_entries]
entries.each do |rad|
  entries2.insert(id: rad[:id], slug: rad[:slug],  ....  )
end  

DB och DB2 öppnar förbindelsen till databaserna. De följande två raderna skapar två dataset av respektive tabell och loopen skriver i tur och ordning över alla kolumnerna till den nya databasen. Det är faktiskt inget mer som behöver göras, entries2.insert skriver nämligen direkt i databasen.

Visade sig att Sequel inte enbart kan fungera som en databashanterare, utan också är ett väldigt smidigt verktyg för att konvertera mellan olika databasformat. Överväger nu att även använda Sequel i mina andra projekt. Ska dock nämna att det kan vara svårt att tänka om från raw SQL till Sequelsyntax. Kanske lättare för dom som kommer från en Railsmiljö och använt Active Records.

Måste förstås även flytta min rubykod till servern, men den ligger på GitHub så det är i princip bara att klona koden numera. Jag börjar med att utveckla den på Code Anywhere, pushar sedan upp till GitHub och kan sedan klona den därifrån till valfri server. Ytterst behändigt. Och med NGINX och virtuella värdar kan allting köras på samma IP. Det är bara serverns hastighet och bandbredden till lägenheten som blir begränsningen.

Molnet är nog praktiskt, men rätt dyrt. Personligen ser jag störst fördelar i att lägga utvecklingen av programvaran i molnet, som man gör med Code Anywhere, och sedan flytta ner allt på egen server. Inget hindrar ju att man kör containrar och sånt på sina egna servrar och har man en anslutning på 1 000 Mbit lär man få betala mycket för att få samma kapacitet som med en egen server.

Hassan behöver vård

Den hälsosamme ekonomisten
Bild: 2017-09/dsc01062.jpg

Applåderar Uppdrag Granskning som intervjuat "Hassan" som begått 221 olika brott . Han utgör det kanske starkaste argument jag hittills stött på för långa fängelsestraff. Hade Hassan varit inlåst på 10 år skulle det nämligen begåtts 200+ färre brott och det hade funnits 200+ färre brottsoffer. Oavsett vad man tycker om fängelsestraff som rehabilitering skulle det varit en stor vinst för samhället. Det kanske mest intressanta är att han har en förvånansvärt stor vokabulär för att vara …

Läs mer!

Facebook slutför det som NSA påbörjade

Den hälsosamme ekonomisten
Bild: 2017-09/dsc01062.jpg

Har varit på presentationen av Edward Snowdens memoarer på Hotell Rival . Kan dock inte delge er någon recension ännu, ni får vänta tills jag fått boken jag beställt. En vanlig fråga man får är om Snowden är dubbelagent av något slag - spion var han ju redan. Det är ett inte helt ovanligt påstående, som inte sällan kommer från utrikespolitiska hökar som sympatiserar med USA. Så i brist på ytterligare information får man försöka bedöma sannolikheten utifrån de data som vi har tillgång …

Läs mer!

Oväntat hög arbetslöshet i Sverige

Den hälsosamme ekonomisten

Noterar att de senaste arbetslöshetssiffrorna är väldigt dåliga. Det finns en rad förklaringar till det - den viktigaste är konjunkturen. Det är dock värt att notera att flyktingvågen 2015 spelar in och kan öka antalet personer som räknas till arbetskraften. Men med tanke på att personer som utsätts för åtgärder av våra myndigheter kan räknas … Läs mer!

Det är inte som på 90-talet

Den hälsosamme ekonomisten

En oljeprisuppgång på 12 procent är inte att förakta - faktiskt den största sedan det första gulfkriget. Det kan vara svårt att tro - men de geopolitiska späningarna var betydligt värre för 28 år sedan. Litauen och de övriga baltiska staterna höll dessutom på att frigöra sig från Sovjetunionen . Världen är långt mindre oljeberoende i dag. … Läs mer!

Låg skärmtid ett tecken på psykisk ohälsa

Den hälsosamme ekonomisten

En ny epidemiologisk studie v isar att personer som inte använder sin mobiltelefon - alltså personer med onormalt låg skärmtid - i snitt mår betydligt sämre än andra .  Eduardo J. Pedrero-Pérez och några andra forskare har specialstuderat en grupp som anger att de inte använder sin mobiltelefon regelbundet. Det är mer än dubbelt så många … Läs mer!

Jens Weidman förlorade dragkampen i ECB

Den hälsosamme ekonomisten

Väntar det en konstitutionell kris i EU? Tyska domstolar har ifrågasatt om Europeiska centralbankens köp av statsobligationer är förenliga med tysk grundlag, som förbjuder centralbanken att bedriva finanspolitik. Frågan är alltså - är de extraordinära åtgärderna finanspolitik? Tysklands motstånd handlar alltså inte enbart om att … Läs mer!

Bidraget som är för krångligt att söka

Den hälsosamme ekonomisten

"Vi uppfinner ett bidrag som är så krångligt och integritetskränkande att söka att nästan ingen söker det." "Ja, lysande idé. Då blir det flera miljarder billigare." Man funderar på om det var så politikerna resonerade när bostadstillägget infördes. Intressant nog har många i målgruppen begränsad kognitiv kapacitet - antingen för att de … Läs mer!

Sverige har nu högre arbetslöshet än snittet i EU

Den hälsosamme ekonomisten

För mycket länge sedan utfärdade den Socialdemokraterna ett löfte om att Sverige år 2020 skulle ha EU:s lägsta arbetslöshet. Man har sedermera tagit tillbaka löftet, men ändå är det intressant att notera att Sverige sedan innevarande månad har högre arbetslöshet än snittet i EU. En stor del av denna arbetslöshet är strukturarbetslöshet - … Läs mer!

Objektorientering handlar om oberoende

Den hälsosamme ekonomisten

Funderar på om samhället rent generellt kan lära sig av programmerare. När jag jobbade på Socialdepartementet slog det mig att lagstiftningen i väldigt stor utsträckning liknar ett datorprogram som måste hänga ihop logiskt. Den enda stora skillnaden är att det är jurister som tolkar lagen och kiselchip som tolkar datorprogrammen. Vissa skulle sä… Läs mer!

Om bloggen

Den hälsosamme ekonomisten är en blogg som handlar om sjukvårdens organisation, incitament och klassisk liberalism - allt skrivet ur ett ekonomistiskt perspektiv. Webbplatsen använder tredjepartskakor (cookies) från Disqus, Piwik, Facebook, Google och Twitter för att anpassa innehållet och annonserna till användarna, tillhandahålla funktioner för sociala medier och analysera vår trafik. Vi vidarebefordrar information om din användning av vår webbplats till de sociala medier och annons- och analysföretag som vi samarbetar med. Du kan läsa mer om webbplatsens kakpolicy här. Denna sida drivs med webbverktyget Bolt. Av Mattias Lundbäck.

VR och Vårdvalssidan

Den hälsosamme ekonomisten finns även tillgänglig i VR. Har man HTC Vive eller Occulus Rift når man hifi://ekonomism genom att först installera appen High Fidelity som ger tillgång till en stor mängd olika virtuella världar. Sedan skriver man bara "ekonomism" i Goto-fältet i HiFi. Fältet motsvarar adressraden i en vanlig webbläsare.

Besök gärna www.vårdval.se - det enklaste sättet att hitta och jämföra vårdgivare.

”Jag

Läs bloggkollegor

Anybodys Place Carl-Johan Westholm Cornucopia Danne Nordling Eskil Ullberg Fnordspottning Fredrik Malm Fredrik Segerfeldt Gustav Nipe Henrik Alexandersson Janerik Larsson Jonas Grafström Lennart Grundel Maria Abrahamsson Markus Uvell Mina Moderata Karameller Mattias Svensson Niclas Berggren Opassande Per Gudmundson Sjätte Mannen Tanja Bergkvist The Market Monetarist


Creative Commons-licens
Den hälsosamme ekonomisten av Mattias Lundbäck är licensierad under en Creative Commons Erkännande 4.0 Internationell licens.
Based on a work at https://www.ekonomism.us.

Sociala medier

Den hälsosamme ekonomisten är en blogg för dig som är intresserad av ekonomi, politik och teknik. Följ mig på Twitter för regelbundna uppdateringar. Läs mer om Den hälsosamme ekonomisten och Mattias Lundbäck här.


Linkonomism
Googelkonomism
Feedkonomism