Escape-tecken: Introduktion
2019-06-12
Ett escape-tecken är ett tecken som ändrar betydelsen av efterföljande tecken. Dom används ofta för strängar i programmeringsspråk, men också i t.ex. en terminal eller en regex-motor. I många programmeringsspråk omger man strängar med citattecken: "en sträng". Men hur gör man om man vill ha med ett citattecken i strängen?Introduktion till datasäkerhet
2019-04-18
Du kommer inte bli en "hackare" som kan "pwn:a" intet ont anande användare genom att följa den här artikelserien. Målet är istället att du ska förstå några centrala koncept inom datasäkerhet, vilket kommer hjälpa dig att förstå vad säkerhet och den tillhörande terminologin innebär, och förhoppningsvis inse när man håller på att fatta dåliga säkerhetsbeslut, och hur dom kan förbättras.
Task
, async
och await
i C#: Introduktion
2019-04-05
I C# finns olika sätt att hantera concurrency, samtidig exekvering. Jag förespråkar Tasks, vilket är ämnet för den här artikelserien. Vi går igenom hur Tasks fungerar och några metoder som man kan använda med dom, och hur syntaxen för async/await ofta underlättar användandet av Tasks.C# 7: Numeriska värden
2019-03-01
C# är ett programmeringsspråk som utvecklas kontinuerligt. Medan det går att fortsätta skriva "gammal" C#, så kan man år 2019 ibland använda mer flexibel och kompakt syntax. I den här artikelserien går vi igenom några av dom viktigaste nyheterna i C# 7, som gavs ut år 2017.Navigera i webbdjungeln
2019-02-19
Om du tycker att webbtekniker kan vara lite trassliga, så är du inte ensam. I början på min egen programmeringskarriär förstod jag inte skillnaden mellan kod som körs på klientsidan och kod som körs på serversidan, och försökte således köra PHP direkt i webbläsaren.Webb-api:er: Soap
2019-02-06
Ett api definierar ett gränssnitt för användning av ett bibliotek eller tjänst i en applikation. Ett webb-api definierar ett sådant api, som kan användas med webbtekniker. Två tekniker - närapå modeord? - som brukar nämnas är Soap och Rest. Dessa kan man alltså använda för att skapa ett webb-api, men hur, och vad innebär begreppen?Introduktion till Linq
2019-01-26
Linq (Language Integrated Query) är en komponent i C# och .NET, som direkt i koden tillhandahåller query-funktionalitet mot databastabeller, listor eller andra IEnumerable. Tilläggsmetoder och frågesyntax Linq kan användas med två olika syntaxer. Dom båda följande uttrycken gör exakt samma sak, och vilken syntax man väljer är en smaksak.Ge feedback: Initiala tankar
2019-01-23
Jag har precis påbörjat en kurs i retorik, och en del av kursen går ut på att återkoppla när andra talar, och därigenom får man också själv kritik på det man framför. Det här är ett i en serie inlägg om feedback.När behövs escape-tecken?
2019-06-13
Escape-tecken har två stora kategorier användningsfall: hårdkodat i din egen kod, och när du har fått en sträng som input som behöver användas i en särskild kontext. Din egen kod Om du behöver en sträng som innehåller ett citattecken, så kanske ditt programmeringsspråk stödjer bakvänt snedstreck som escape-tecken: "\"dubbelfnutt\" är synonym till citattecken".Vad är datasäkerhet?
2019-04-19
När man pratar om datasäkerhet, säkerhet för informationssystem, så menar man: skydd av digital "data" och it-tillgångar mot interna och externa, illasinnade eller oavsiktliga hot På engelska finns två olika ord som båda översätts till "säkerhet" på svenska:Task: Run och FromResult
2019-04-06
Utför en uppgift Om man vill exekvera en uppgift i en egen tråd, men inte vill administrera trådpooler eller manuellt hålla koll på om uppgiften har utförts, så kan man använda Task.Run. Den resulterande Task som skapas innehåller information om huruvida den har kastat exception, avslutats korrekt eller avbrutits.
C# 7: Mönstermatchning med is
och switch
2019-03-02
C# är ett programmeringsspråk som kontinuerligt tar beprövade idéer från andra språk. En sådan idé är mönstermatchning (eng. pattern matching) från funktionella programmeringsspråk. Det är ett alternativ till objektorienteringens arv, där man med hjälp av virtual och override väljer implementation baserat på objektets typ.Navigera i webbdjungeln: Webbspråk
2019-02-21
När man gör webbplatser måste man använda dom programmeringsspråk som stöds på webben, och det är inte så många: en webbsida måste skicka Javascript, HTML och CSS till webbläsaren, och här finns det knappast några alternativ. Men, säger du, jag har hört talas om Typescript!Ge motiverat positiv feedback
2019-02-12
På min retorikkurs hade vi i uppgift att ge varandra positiv feedback efter att man hade gjort ett framförande. Det var riktigt roligt att ge positiv feedback, särskilt som den var motiverad. Utan att överdriva, kunde jag säga mina kurskamrater att:Webb-api:er: Rest och HTTP
2019-02-07
I förra inlägget introducerade jag webb-api:er och Soap, det senare ett gediget standardiserat protokoll med vilket man kan skapa det förra. Som kontrast till Soap ska vi i det här lägget översiktligt gå igenom Rest, en mindre formell, mer minimalistisk standard.Introduktion till Linq: Lambdauttryck
2019-01-30
Om du blir förvirrad av vad x => x egentligen betyder, så har du kommit rätt! Syntaxen är kompakt och kan vara svårtydd, om man inte vet vad alla delar betyder. Lambdauttryck (eng. lambda expressions) är metoder eller funktioner som man definierar som del av ett uttryck, oftast utan att ge dom ett namn.Escape-tecken: JSON
2019-06-16
JSON är ett enkelt dataformat. Strängar i JSON representerar Unicode-kodpunkter (precis som i språk som JavaScript, C# och Java). Dom flesta tecken går att inkludera innanför citattecknen, men dessa måste escapas: citattecken, bakvänt snedstreck och styrtecknena från U+0000 till U+001F.Introduktion till datasäkerhet: Terminologi
2019-04-21
Här följer några viktiga begrepp inom datasäkerhet. Tillgång. (eng. asset) Något som ingår i miljön som understödjer arbete med information. Man brukar räkna med hårdvara (t.ex. servrar och switchar), mjukvara (t.ex. verksamhetskritiska applikationer och supportsystem) och konfidentiell information. Hot.Task: ContinueWith
2019-04-07
Givet en Task kan man skicka in ett återanrop (callback), som exekveras när Tasken har fullföljts, antingen genom att resultatet satts, eller genom att exception har kastats. Task<int> futureResult = Task.Run(() => { // Gör en långsam beräkning i en annan tråd return 2 + 2; }); futureResult.C# 7: Deklarera utvariabler
2019-03-03
Likt förra artikeln i denna serie, där vi kunde deklarera en variabel direkt i is-uttrycket, kan man i C# 7 också deklarera och initialisera en variabel direkt i ett metodanrop med out. private Dictionary<string, string> Translations = new Dictionary<string, string> { { "Hello", "Hej" }, { "World", "Värld" }, }; public string Translate(string key) { string translation; if (Translations.Navigera i webbdjungeln: Klient och server
2019-02-22
Konceptet klient-server är ganska enkelt: en klient har rollen att begära tjänster av en server. Ofta finns det många klienter som begär tjänster av en centraliserad server. På webben är klienten det som sker i webbläsaren, medan servern är den som skickar kod och data till webbläsaren.Få motiverat positiv feedback
2019-02-13
På retorikkursen fick jag också feedback på mitt framförande. Det kändes ovant att få mer konkret feedback än "bra brown bag" eller "riktigt bra jobbat". Konkret, konstruktiv feedback, oavsett om den är positiv eller negativ, är åtminstone i mitt liv ganska ovanlig.Webb-api:er: HTTP utan Rest
2019-02-08
Jag har skrivit om Rest och HTTP, och hur dom utvecklades ihop och hur HTTP är en grundläggande förutsättning för Rest. Men det går förstås att använda HTTP utan Rest, vilket vi fick exempel på när vi tittade på Soap.Introduktion till Linq: Count(), Any() och All()
2019-01-27
I det här inlägget om Linq (Language Integrated Query), en komponent i C# och .NET, så går vi igenom några vanliga metoder för att räkna antal matchningar. Count() Om man har en IEnumerable, och vill ta reda på antalet element, antingen totalt eller som uppfyller ett visst kriterium, så kan Count() med fördel användas.Escape-tecken: Javascript
2019-06-25
Escapning i Javascript liknar den i JSON, men Javascript har många fler situationer där något måste - eller kan - escapas. Strängar I Javascript kan man ange vanliga strängar antingen med citattecken (dubbelfnuttar) eller apostrofer (enkelfnuttar). Dessa fungerar likadant, förutom att man i strängar med citattecken måste escapa eventuella citattecken, men inte behöver escapa apostrofer.Vem behöver datasäkerhet?
2019-04-22
Datasäkerhet behövs i vardagen. Här följer några exempel. Bankväsendet. Bankkort med pinkod och chip, monetära transaktioner, internetbanker, BankID, uttagsautomater. Mobiltelefoner. SIM-kort, operativsystemet, trådlösa uppdateringar, chattappar. Datorer. Operativsystemet, mjukvaruuppdateringar. Biljetter, id, access. Biljetter för kollektivtrafik, legitimation och pass, passerkort. Sakernas internet.
Snyggare syntax med async
/await
2019-04-12
async och await ger snyggare syntax när man arbetar med Tasks i C#. Låt oss börja med en synkron beräkning. När man anropar den, så kommer den aktuella tråden att blockeras tills beräkningen är klar, vilket kan ta lång tid om det är en långsam beräkning.Ge positiv feedback trots framförandet
2019-03-27
Alla framföranden kan inte vara felfria, och vissa är direkt dåliga. Också sådana får jag höra på retorikkursen. Hur kan man ge positiv feedback på ett framförande där talaren är märkbart nervös, ostrukturerad, flera gånger tappar tråden, flackar med blicken och inte artikulerar tillräckligt?
C# 7: Värdetuplar med ValueTuple
2019-03-04
I C# finns klasser och structar, men ibland räcker det med något lite enklare, och där är tuplar en lösning. Redan före C# 7 fanns det tuplar, men dom var osmidiga att använda, och för att komma åt innehållet fick man skriva använda properties med namn Item1, Item2 och så vidare.Navigera i webbdjungeln: Webbläsarmotorer och runtimemiljöer
2019-02-26
I den här artikeln ska vi gå igenom definitioner för några av komponenterna i en webbläsare, så det blir mer tekniskt än resten av serien. Om du vill kan du hoppa till den översiktliga tabellen. Definitioner Det finns åtminstone tre "motor"-koncept i en webbläsare: webbläsarmotorn, renderingsmotorn och Javascript-motorn, där dom senare två ingår som del i den förra.Introduktion till Linq: ToList() och ToArray()
2019-01-28
Det här inlägget om Linq (Language Integrated Query), handlar om hur man kan konvertera en samling till en annan typ. ToList() Om man har en IEnumerable kan det finnas många anledningar att göra om den till en lista. Man kanske behöver returnera samlingen som en lista, eller så vill man säkerställa att den IEnumerable man har inte gås igenom flera gånger (t.Escape-tecken: PHP
2019-06-26
PHP är ett språk med många olika behov av escapning. Här går vi igenom några exempel. Strängar I PHP finns fyra olika av strängsyntaxer, som escapas på olika sätt: apostrof, citattecken, heredoc och nowdoc. Här beskrivs syntaxen mycket kort. Mer information hittas i PHP:s dokumentation.Få positiv feedback trots framförandet
2019-05-15
Ironiskt nog var mitt sista framförande mitt sämsta. Efter att ha gått en kurs i retorik, skulle man ha kunnat tro att mitt sista tal skulle bli mitt bästa. Istället blev det rentav uselt, till sådan grad att det skulle kännas oärligt att kalla detta för motiverat positiv feedback.Introduktion till datasäkerhet: Principer
2019-04-24
Inom datasäkerhet finns några grundläggande antaganden om komplexitet och "absolut säkerhet". Komplexitet Ju mer komplext ett system är, desto lättare blir det (statistiskt) att attackera och därför svårare att skydda. På samma sätt kommer en mer komplex säkerhetslösning mer sannolikt ha egna säkerhetshål.Task: Delay
2019-04-13
Oftast vill man att ens kod ska köra så snabbt som möjligt, men ibland behöver man lägga in en fördröjning. Istället för Thread.Sleep kan man skapa en task som avslutas efter det angivna antalet millisekunder med Task.Delay. private async Task<int> CalculateDelay() { // Vänta i 3 sek await Task.C# 7: Lokala funktioner
2019-03-08
En lokal funktion är som en metod inuti en annan metod, och kan ibland vara ett alternativ till privata metoder som bara anropas från ett ställe. Dom är särskilt användbara när man behöver en hjälpfunktion och kan tydliggöra att en funktion bara används inom en annan metods kontext.Navigera i webbdjungeln: Bibliotek
2019-02-27
Ett Javascript-bibliotek är Javascript som "någon annan" har skrivit, och som underlättar utvecklingen av applikationer i Javascript. Ofta är det en samling funktioner som är lättare att använda än den underliggande tekniken, t.ex. eftersom biblioteket har testats i flera webbläsare som implementerar den underliggande tekniken lite olika.Introduktion till Linq: SelectMany()
2019-01-31
Här går vi igenom hur man väljer ut element i nästlade listor med SelectMany() från Linq (Language Integrated Query). Select() och SelectMany() Motsvarande i Javascript: map() och flatMap(). Redan i första inlägget gick vi igenom hur Select() fungerar: för varje element i listan väljer vi ett element som ska ingå i den resulterande listan.Escape-tecken: Terminal
2019-06-27
I Linux-terminaler kan strängar anges utan fnuttar, med enkelfnuttar eller med dubbelfnuttar. Strängar med enkelfnuttar är enklast: dom går inte att escapa. Både i strängar utan fnuttar och i strängar med dubbelfnuttar kan man använda variabler, vilket är en ganska komplicerad syntax.Introduktion till datasäkerhet: Säkerhetsmål
2019-04-27
För att lättare kunna resonera om vilken typ av attacker man vill skydda sitt system mot, brukar man inom datasäkerhet prata om "CIA": confidentiality (sekretess), integrity (integritet), och availability (tillgänglighet). Inte alla situationer kräver att alla dessa är uppfyllda, men i så fall bör det vara ett medvetet val.Ge negativ feedback
2019-04-20
Innan man ger sig ut i världen och ger sina medmänniskor negativ feedback, så bör man stanna upp och fundera vad det är man försöker uppnå. Risken för oönskade konsekvenser är stor. I bästa fall kan tolkar föremålet för feedbacken det man säger konstruktivt, och skapar bättre framträdanden eller andra verk i framtiden.Task: Result
2019-04-14
Om en metod returnerar en Task så är det ofta en bra idé att fortsätta använda Tasks och async/await i sin egen kod. Det gör det mer uppenbart för dom som använder ens metod att operationen kan ta lång tid. Ibland måste man emellertid implementera ett synkront interface, och alltså blockera aktuell tråd till dess att en Task har avslutats.Navigera i webbdjungeln: Ramverk
2019-03-11
I förra delen gick vi igenom bibliotek, det vill säga en samling funktioner som "någon annan" har skrivit. Både bibliotek och ramverk uppfyller denna definition, men det senare styr kodstrukturen för hela din applikation. Det faktum att du har byggt upp din applikation med ett ramverk som utgångspunkt kan betyda att det är svårt att byta ut det, något som inte nödvändigtvis gäller för bibliotek.
C# 7: Förenklat default
-uttryck
2019-03-09
Ett genomgående tema i C# 7 är små förbättringar som gör livet som programmerare lite lättare. I det här inlägget kikar vi på hur man kan förenkla default-uttryck. Om kompilatorn automatiskt kan sluta sig till vilken typ som ska användas, så behöver man inte längre ange typen efter default.Introduktion till Linq: join
2019-02-01
Nu ska vi gå igenom hur man kan matcha ihop två listor med hjälp av join, en del av Linq (Language Integrated Query). Enkel join, för uppdatering Motsvarande i SQL: INNER JOIN (synonym: JOIN). Om du har koll på JOIN i SQL, så kommer du känna igen det i Linq också.Escape-tecken: SQL
2019-06-27
SQL har inga officiella standarder för hur strängar och annat ska escapas. Det enda som är standardiserat är att strängar omges med apostrofer. Därför har varje databasmotor hittat på sin egen syntax för escapning. MariaDB och MySQL Här används \ som escape-tecken, och man har tillgång till vanliga escape-sekvenser, såsom \n för radbrytning och \\ för bakvänt snedstreck.
TaskCompletionSource
2019-04-15
I C# finns flera olika mönster för att hantera asynkronicitet. Det generella sättet att konvertera vilket mönster som helst till en Tasks är att använda en TaskCompletionSource. Därigenom gör man det möjligt att konsumera det andra mönstret via async/await.Navigera i webbdjungeln: Pakethantering och beroenden
2019-03-19
När din applikation börjar använda mer än något enstaka bibliotek, kan det vara bra att organisera alla dina beroenden med hjälp av en pakethanterare. I den här artikeln går vi igenom vad du behöver, men här följer en sammanfattning om du inte är intresserad av detaljerna.
C# 7: throw
-uttryck
2019-03-14
I C# har throw historiskt alltid varit ett eget statement, dvs. något som måste stå på sin egen rad, separerad med semikolon. Här följer ett exempel på hur man kan skriva en setter med en nullkontroll. private string name; public string Name { get => name; set { if (value == null) throw new ArgumentNullException("Value required"); name = value; } } I C# 7 utökar man throw.Hur man ger feedback
2019-02-20
Det finns stora likheter mellan definitioner och feedback, då bägge handlar om att särskilja något från en större mängd. Med detta som bakgrund, ger jag därefter några tips på vad man kan göra för att lära sig ge bättre feedback.Introduktion till Linq: Funktionell programmering och lat evaluering
2019-02-02
Linq (Language Integrated Query) är en komponent i C# och .Net. I det här inlägget tittar vi på hur Linq genom sin query-funktionalitet hjälper oss att uttrycka programmeringsproblem mer deklarativt i enlighet med principerna för funktionell programmering, i kontrast till imperativ programmering.Escape-tecken: C#
2019-06-27
Det finns fyra typer av strängar-literals i C#. Vanliga strängar tillåter en mängd escape-sekvenser med \ som escape-tecken. @ används för att ange "råa" strängar, där man bara kan escapa " genom att dubblera tecknet till "". $ används för att ange interpolerade strängar, där man kan inkludera uttryck direkt i strängen, genom att omge uttrycket med {}.Feedback: Sammanfattning
2019-06-09
Som del av en kurs i retorik fick vi både själva kritik på det vi framförde, och fick öva på att återkoppla när andra talat. Detta kallar jag för feedback, i kontrast till dom näraliggande termerna återkoppling (aningen mjukare), kritik (mer granskande, ofta negativ), konstruktiv kritik (också mer granskande, med förbättring som mål) och respons (mindre konkret).
Konvertera till och från Task
2019-04-16
När man programmerar i C#, finns det fall då man vill konvertera från ett värde till en Task, och andra situationer där man vill göra det omvända. En Task kan innehålla ett värde av vilken typ som helst, men i det här inlägget kommer jag att använda int.Navigera i webbdjungeln: Byggverktyg
2019-03-20
Även om webbläsaren stödjer Javascript, så kommer man bara undan kompilering i dom allra minsta projekten. Koden som skickas över nätverket till webbläsaren bör vara kompakt, och oftast är få requests att föredra. För att samla ihop all kod till "bundles", så används en "bundler", vilket jag rätt och slätt har benämnt "byggverktyg".C# 7: Mer information
2019-03-18
Vi har gått igenom några av dom bästa och viktigaste nyheterna i C# 7, men det finns många fler för den som vill fördjupa sig. Microsoft har dokumenterat samtliga nyheter i C# 7: What's new in C# 7.0 What's new in C# 7.Escape-tecken: Url
2019-06-27
En url består av många olika delar, som kan escapas på olika sätt. https://www.domännamn.se/sökväg/till/fil.html?query=string#hash Domännamn Ett domännamn består av en eller flera punktseparerade delar. Varje del kan bestå av bokstäver, siffror och bindestreck. Under huven används endast a-z, 0-9 och -, så vill man t.
Komposition: Arbeta med flera Task
s
2019-04-17
När man arbetar med Tasks i C# vill man ibland köra flera av dom parallellt, eller kanske veta när den första är avslutad. // Starta en task. var task1 = Task.Run(() => { if (!myServer.IsRunning) myServer.Start(); myMonitorService.Start(); }); // Starta ytterligare en task.Navigera i webbdjungeln: Lintning och formatering
2019-03-21
Det finns ett antal verktyg som inte egentligen krävs, men som markant förbättrar kvaliteten på koden man skriver. Här går vi igenom två kategorier av verktyg som hjälper en att följa en konsekvent kodstil: lintning och formatering. Lintning Ordet "lint" kommer från engelskan och betyder "ludd" på kläder eller liknande, vilket ju är extra fluff som man inte vill ha.Escape-tecken: XML
2019-06-27
XML används för att representera dokument - av många olika typer. SVG-bilder är kanske det populäraste XML-format som används på webben idag. HTML liknar XML, men det återkommer vi till i nästa post. I XML är reglerna någorlunda tydliga, om än ganska krångliga.Navigera i webbdjungeln: Minifiering
2019-03-22
När man skickar data över nätverket, så går det snabbare att skicka så lite som möjligt. Det här gäller förstås också den kod som skickas till webbläsaren. Därför brukar man använda verktyg för att minifiera sin kod: ta bort whitespace och kommentarer, förkorta variabelnamn och andra trick för att komprimera skriptet.Escape-tecken: HTML
2019-06-27
HTML är språket som används på alla webbsidor. Det används för att representera hela dokument, och innehåller därför ofta url:er, Javascript och CSS, vilket ofta kan leda till att dubbel escapning krävs. HTML fungerar likt XML, men är mer flexibelt.Navigera i webbdjungeln: Editorer
2019-03-24
Editorer, också kallade textredigerare, är dom program som man använder för att skriva kod vid programmering. En editor visar koden i filen med syntaxmarkering (eng. syntax highlighting), och hjälper normalt till med indentering och många andra centrala funktioner vid programmering.Navigera i webbdjungeln: Versionshantering
2019-03-25
Ett versionshanteringsprogram håller koll på olika versioner av din källkod, så att du lätt kan återgå till en tidigare version, eller arbeta tillsammans med andra utvecklare. Det i särklass vanligaste tekniken idag är Git, och även om det finns ett stort antal alternativa program, så kräver ett annat val än Git år 2019 en särskild motivering.Navigera i webbdjungeln: Serverspråk
2019-03-26
I webbläsaren, på klientsidan, är man begränsad till att använda Javascript, CSS och HTML. På serversidan däremot har man fler möjligheter att använda just dom språk man tycker bäst om, utifrån dom behov man har. Statisk webbsida Innan du bestämmer dig vilket språk du ska programmera din backend i, så kan du fundera över om du verkligen behöver en backend över huvud taget.Navigera i webbdjungeln: Servrar
2019-03-29
Ordet "server" har många betydelser. I det här inlägget tittar vi på förmedlare, den applikation som lyssnar på en port och vidarebefordrar förfrågningar och svar genom att skicka dom vidare till andra applikationer. Det har funnits många sådana servrar genom tiderna, men år 2019 är det tre som dominerar.Navigera i webbdjungeln: Serverramverk
2019-04-29
Tidigare gick vi igenom ramverk för frontend som alltså körs i webbläsaren. Serverramverk är dom ramverk som styr hur man skriver sin applikation på backend, på serversidan. Beroende på vilket språk man vill skriva sin backend i, så kan val av ramverk bli mer eller mindre givet.Navigera i webbdjungeln: Protokoll
2019-04-30
Ett protokoll är en uppsättning regler som definierar hur två eller fler datorprogram kan kommunicera med varandra. På webben finns flera olika protokoll, men HTTP är det överlägset vanligaste, och det som hela webben grundar sig på. Med hjälp av dessa protokoll, kan man skapa ett api, som definierar ett gränssnitt för användning av ett bibliotek eller tjänst i en applikation.Navigera i webbdjungeln: Cms
2019-05-01
Som programmerare kan det vara svårt att acceptera, men ibland är den bästa lösningen en som kräver minimal mängd programmering. Om målet är att skapa en webbplats där redaktörer själva ska kunna lägga till mestadels textbaserat innehåll, kan det vara en bra idé att använda ett färdigt innehållshanteringssystem, det vill säga ett cms (content management system).Navigera i webbdjungeln: Ajax
2019-05-02
Ajax är en uppsättning webbtekniker som låter en skapa webbplatser som kan skicka och hämta data från en server i bakgrunden, utan att påverka visningen av sidan man är inne på. Genom dessa Javascript-anrop, kan man sedan ändra innehållet dynamiskt, utan att behöva ladda om sidan.Navigera i webbdjungeln: Dokumentation
2019-05-03
Oavsett om man är grön eller senior utvecklare, så behöver man enkel tillgång till dokumentation. Det svåraste för nybörjare brukar vara att lista ut vilken teknik det ens är man behöver hjälp med. Exempelvis i ett Angular-projekt, så kan man bli osäker på om det man vill lära sig mer om har att göra med webbtekniker (Javascript och HTML), med Typescript, med Angular (api och HTML-mallsyntax) eller med RxJS.Navigera i webbdjungeln: Säkerhet för webbplatser
2019-05-04
Webbsäkerhet är ett delområde inom datasäkerhet, vilket jag har beskrivit närmare i en egen artikelserie. Här beskrivs istället översiktligt det viktigaste för dig som skapar webbplatser. Attacker Eftersom webben är en komplex plattform, så finns många olika typer av attacker.Hjälp varandra
2020-03-15
Det är många som är oroliga nu i coronatider. Låt oss hjälpa varandra, hjälpa våra grannar, för oavsett vilken del av landet man kommer från så står vi alla inför samma hot. Organisera er gärna, t ex i Facebook-gruppen COVID-19 Frivilliga i Sverige.Låt oss ändra åsikt utan förlora vår värdighet
2020-01-19
Vi människor är sociala varelser som behöver ett sammanhang att vara i. Med internet får vi plötsligt tillgång till ett stort antal små och stora gemenskaper som kan ge sina medlemmar stöd när livet är svårt. Eftersom det finns så många sådana gemenskaper, är det ofta lätt att hitta en som stämmer bra överens med just ens egen världsbild.Självdisciplin
2020-01-14
Att ha självdisciplin innebär att ha god kontroll över sig själv och sina känslor, och inte reagera alltför känslomässigt starkt och instinktivt vid pressade situationer1. Vi människor har en begränsad självdisciplinsbudget, så det gäller att inte slösa bort den på onödiga saker.Köttätare har en unik möjlighet
2020-01-10
Du som äter kött har i år en unik möjlighet! Gör en liten förändring i dina kostvanor, så sprider du glädje istället för lidande. Genom att äta veganskt kan du både minska din klimatpåverkan, och minska lidandet för djur som inte kan försvara sig själva.Prao för vuxna
2019-08-06
För några veckor sedan provjobbade jag i en restaurang. Det här är något som alla borde göra! Ta en dag eller en vecka om året för att pröva ett helt annat yrke. Man kommer få en liten inblick i hur vardagen ser ut för dom som jobbar med något helt annat.När hjärnan inte fungerar som vanligt
2019-07-31
Under alla år har hen varit på topp. Hen har alltid kunnat förstå sammanhanget. Hela tiden vetat vad som behöver göras och sedan genomfört det. Plötsligt hände något. Sådant som hen inte tidigare ens behövt reflektera över blir omöjligt. Det är lätt att minnas hur mycket hen brukade kunna göra.Vill du ha koriander?
2019-07-23
En man kommer fram till disken på snabbmatsrestaurangen och beställer en lunch. ”Vill du ha koriander?” Hela hans ansikte skiner upp när han säger ”Ja! Lägg gärna på lite extra.” En liten stund senare gör en kvinna en beställning. ”Vill du ha koriander?Djurparker
2019-07-21
I en djurpark inhägnas djur. Nästan alla djurarter rör sig över stora vidder, men för att besökarna i en djurpark ska kunna se djuren, så måste de inhägnas i ett ganska litet område, ibland till och med en bur. Jag besökte (beklagligt nog) en djurpark som beskrev hur en viss fågelart migrerade hundratals mil.Stereotyper att använda eller undvika
2019-07-19
Vi människor är bra både på att generalisera och att hitta specialfall. Stereotyper är ett av dom sätt vi generaliserar på, och dom gör världen lättare att förstå. Även om bilden inte alltid är alldeles rättvisande. Det finns många problem med stereotyper, men jag undviker ändå att fördöma deras användning.Översättning från engelska till svenska
2019-06-21
Vilka verktyg ska man använda när man översätter från svenska till engelska? I skrivande stund håller jag på att översätta några texter, och tänkte beskriva hur jag går tillväga och vilka verktyg jag använder. Google Översätt Wikipedia på engelska och svenska Wiktionary på engelska och svenska Tyda Linguee Synonymer.Dubbla passiv
2019-06-18
Jag har tidigare skrivit om hur dubbla imperativ och supinum är en egenhet som finns i vissas talspråk. Vissa kan också använda dubbla passivformer. Passivformer på svenska används när det saknas ett subjekt. Vissa verbformer som slutar på -s är passivformer.Entity Framework med Code first
2019-06-15
För att arbeta med databaser i C# använder man ofta Entity Framework (EF). Det är ett ORM-system (objekt-relationell mappning), som låter en skriva kod som om det vore vanliga objekt, istället för att manuellt skriva SQL-kod, exekvera den och därefter konvertera resultatet till objekt.
Enum-värdet value__
i C#
2019-06-14
Som member i en enum i C# kan man använda vilken identifier som helst. Nästan. enum Color { Yellow, Orange, Red, Magenta, value__, // <-- ERROR } Om man försöker döpa en member till value__, så får man detta felmeddelande:Argumentation och propaganda – en kort introduktion
2019-06-08
Vad krävs för att du ska lyckas övertyga någon om något? Och hur kan man använda propaganda? Med utgångspunkt i ”Konsten att tala” av Lennart Hellspong och i mina egna reflektioner, går vi igenom grunderna i argumentation.
Argumentation och propaganda – en längre introduktion
2019-06-08
Vad krävs för att du ska lyckas övertyga någon om något? Hur ska du lägga upp argumenten? Och hur kan man använda propaganda? Med utgångspunkt i ”Konsten att tala” av Lennart Hellspong och i mina egna reflektioner, går vi igenom grunderna i argumentation.För mycket text
2019-06-07
Vad gör man när man har för mycket text? Det var det jag råkade ut för när jag skrev min introduktion till retorik, men behövde en version som bara var en fjärdedel så lång. En lång sammanfattning, alltså. Min strategi var att i omgångar skala bort redundans och mindre viktiga exempel, meningar och stycken, och ibland hitta kortare formuleringar för samma sak.Retorik – en kort introduktion
2019-06-05
Hur går man tillväga för att förbereda ett framförande? Vad ska man tänka på, och i vilken ordning? För att besvara dessa frågor har jag valt ut några av dom viktigaste lärdomarna från ”Konsten att tala” av Lennart Hellspong och från Roland Anderssons kurs Retorik I, med några av mina reflektioner inblandade.Retorik – en längre introduktion
2019-06-05
Den här artikeln ersätter inte en kurs i retorik, och kommer inte heller ge dig alla insikter och lärdomar som dom forna grekerna har att erbjuda. Däremot hoppas jag att den kommer ge dig några verktyg för att bättre förbereda dina egna tal och framföranden.Döm dom på samhällets botten
2019-06-03
Visst kan du få lite pengar, så länge du dansar efter min pipa. Jag vill ju inte att någon ska råka illa ut, så självklart kommer jag vara generös och ge dig några kronor. Se bara till att bete dig ansvarsfullt, för jag vill ju inte slösa pengar på någon som inte följer min moral till punkt och pricka.Ta från den som inte kan försvara sig
2019-06-02
Stjäl från en hemlös man som sover. Han skulle nog inte orka försvara sig om han vaknade. Någon som gick förbi skulle knappast göra något. Mannen har ändå knappast ett skyddsnät, få om någon som bryr sig om honom, och om han mot förmodan skulle försöka gå till polisen.Drycken som sänkte matupplevelsen
2019-05-29
En liten falafelrestaurang på en bakgata. En tallrik med snyggt upplagd falafel, hummus, mutabal och en fräsch persilje- och tomatsallad. Ett glas husets lemonad. Maten var utsökt, men "husets lemonad" smakade så syntetisk att den var svår att få i sig.Välplanerad spontanitet
2019-05-25
Hur får man till ett humoristiskt framträdande som tas väl emot av publiken? Om du vill ha en guide från en expert, fråga en ståuppkomiker. Om du däremot vill reflektioner och tips från någon som knappast kan berätta ett skämt utan att slutklämmen faller platt, läs vidare.Tala inför 400 kolleger
2019-05-24
Pulsen är högre än den brukar, med tanke på att jag sitter framför datorn. Om mindre än två timmar ska jag och min kollega Niklas tala inför 400 personer. Vi har övat många gånger, men glömmer fortfarande en del av det vi hade tänkt säga.Jag kan inte leta
2019-05-22
Igår letade efter sådant, som jag nog kunde ha hittat med mycket mindre ansträngning. Varför går betalningen med Paypal inte igenom? Har jag ett sådant betalkort att betalning till en internationell sajt inte fungerar? Nog måste väl Paypal fungera med kort från en av Sveriges största banker?Äntligen politisk diskussion
2019-05-17
Dom säger att man inte ska prata så mycket politik, så när några av oss äntligen bröt mot den traditionen på jobbet igår fanns så mycket att diskutera. Som om en damm hade brustit. Förutom en aningen öppnare inställning till mina politiska "motståndare", så drar jag följande lärdomar.Hur reagerar man när någon visar en något?
2019-05-13
Vad vill man få för reaktion när man visar någon något? Oavsett om det är något man själv skapat, eller om det bara är en Youtube-video som man tyckte om, så vill man gå därifrån med känslan att man gjorde rätt som anförtrodde dom i sin omgivning med sådant man tycker om eller är stolt över.Mina ekonomiska mål
2019-05-11
Jag har aldrig tyckt om att göra budgetar, och tycker faktiskt inte om att tänka på pengar över huvud taget. I vår värld är det likväl bäst att ha någon typ av plan. Som början på det, listar jag här några av mina privatekonomiska mål.Få allt gjort
2019-05-09
Personer som får fler saker gjorda och som är smartare än mig, har redan beskrivit hur man får allt gjort. Här följer ett par av mina kanske-inte-så-revolutionerande strategier. Hur mycket har du att göra? Om det är en lättöversiktlig mängd, så spelar det ingen roll i vilken ordning du gör det.Skapa eller konsumera
2019-05-06
Allteftersom vi blir mer specialiserade, så lär vi oss olika färdigheter på djupet. Om vi har tur. Se till att ha någon eller några saker som du skapar eller där du är med och skapar en större helhet. Exempel på det kan vara något på jobbet, utöva en sport eller dans, skapa video, text eller musik, programmera, bygga eller renovera ett hus eller lägenhet, sy eller sticka, och vandra och tälta.En plats att komma hem till
2019-05-05
Vissa personer är sådana som skapar sig ett mysigt hem, där vänner och bekanta lätt känner sig välkomna. Jag är inte en av dom. Istället känner jag mig ofta som hemma hos släktingar och vänner, utnyttjar deras gästfrihet. Betyder detta att jag konsumerar hem, medan dom skapar hem?Jag vill ha en SVG-editor
2019-04-28
I mitt senaste blogginlägg om säkerhetsmål inom datasäkerhet, skapade jag flera SVG-diagram. Processen var denna: Rita upp en skiss i draw.io Exportera dessa som SVG Kopiera in SVG-koden Testa den i olika webbläsare och fixa eventuella problem (visning i Firefox och Chrome skilde sig) Förenkla SVG-koden, bl.Möte med 13
2019-04-26
Hon sover lugnt. Jag kysser henne fjäderlätt på kinden, känner hennes ljuvliga doft och reser mig långsamt ur sängen. Hon är så otroligt vacker där hon ligger, min älskade Anna. Klockan är 02:51 – ingen brådska alltså. Drar snabbt på mig kläder och ställer mig vid sängkanten.Fel sätt att hjälpa vänner
2019-04-10
Häromdagen ringde en vän mig, för hon hade haft en dålig interaktion med en chef, och ville försöka få chefen att ändra sitt beteende, så att ingen annan råkar ut för en liknande situation. Hon beskrev några händelser, och även om jag förstod varför min vän upplevde sig kränkt, så kunde jag också förstå chefens perspektiv.En ny skugga
2019-04-08
Det är mörkt. Månen lyser knappt igenom de tunga molnen och ett lätt duggregn faller över gatan. Dropparna glittrar i gatlyktornas orangefärgade natriumsken, men lamporna lämnar det mesta av omgivningen orörd. Allteftersom jag går blir min skugga längre och sedan kortare igen – än följer jag min skugga, än följer den mig.En extra tesked
2019-04-04
På jobbet dricker jag ganska mycket hett vatten, eller silverte, som vissa kallar det. Det som är viktigt för att förstå den här anekdoten, är att hett vatten knappast kräver att man rör om det med en tesked, så till min kopp hett vatten finns det aldrig en tesked.Osynlig
2019-03-30
Skuggan Det var mörkt. Månen hade gått i moln och ett lätt duggregn föll över gatan. Gatlyktorna kastade ett svagt orangefärgat sken över vägen och belyste dropparna som långsamt föll neråt, men skuggorna som blev var mörkare. Än följde jag min skugga, än följde den mig.Förbjud diväteoxid!
2019-03-28
Diväteoxid (förkortat DVO) är ett färglöst, luktlöst och smaklöst ämne som dödar tusentals människor varje år, varav de flesta dör genom att oavsiktligt inandas ämnet. Symptom som påvisar förtäring av DVO kan exempelvis vara överdriven urinering. För de många som är beroende, skulle upphörande av konsumtionen leda till en säker död.Mina sista minuter
2019-03-23
Det är varmt. Blundar och fuktar läpparna. De är torra av allt damm. Kallsvettas. Håller hårt om träbänken. Fingrarna glider längs det sträva träet. Någon knuffas, skrattar. De ser väl att jag är rädd. Försöker svälja, men halsen är torr.Lager på lager
2019-03-15
En Gud: Jag kan vara illmarig ibland; trix och jag, vi går hand i hand. Då och då jävlas jag, kanske nu, just idag. Grytkokerskan: Varför får du mig att gråta? Vad har jag att förlåta? Oh, Gud, du plågar mig!Concurrency-modell och eventloop i Javascript
2019-03-13
Javascript har en modell för concurrency, samtidig exekvering, som bygger på en "eventloop". Den här modellen skiljer sig rätt mycket från modellerna som finns i andra programmeringsspråk, såsom C, C# och Java. Koncept kopplade till exekvering Följande avsnitt förklarar en teoretisk modell.A-brunnen
2019-03-12
På Som vanligt gick jag med raska steg in i tunneln. Alltid hade jag känslan av att vara förföljd där. Alla lampor var trasiga. Ekande slag hördes. Jag vände mig om. Ingen där. Helt ensam. Med de ekande slagen. Fortsatte med något raskare steg, men de ekande slagen fortsatte, trots att jag gått bort från tunneln.Hank Green
2019-03-05
En av dom kändisar som betytt mest för mig dom senaste åren är Hank Green. Han blev känd genom Vlogbrothers, där han och hans bror regelbundet laddar upp videor, med reflektioner från sina liv. Videorna är alltid personliga och eftertänksamma, och man kommer ofta därifrån och känner att man har lärt sig något.Respekt för namn och pronomen
2019-02-18
Under några århundraden har individualismen varit en central del av våra (åtminstone västerländska) samhällen, och under dom senaste åren har detta spridit sig till könsidentitet. Istället för att tvingas leva med den identitet man blivit tilldelad, så har man i många sammanhang möjlighet att påverka hur omvärlden ser på en och hur man ska bli omtalat.Sluta sitt som en potatis - dubbla imperativ och supinum
2019-02-16
I några svenskars talspråk, däribland mitt, finns en egenhet som nog är otänkbar i många andra språk: att ha flera imperativ eller supinum efter varandra. Inte heller på svenska är det del av den rekommenderade grammatiken. Uppmaningar Imperativformen används för uppmaningar, såsom "sitt inte som en potatis!Idempotent
2019-02-15
Inom programmering är en funktion eller metod är idempotent om ett anrop till den ger samma slutresultat som många anrop. Ett konkret exempel skulle kunna vara en metod Delete(id). Att anropa Delete(12) en eller flera gånger ger samma resultat: elementet med id 12 raderas en enda gång.Avprogrammering
2019-02-11
Tidskriften Språkvård publicerade år 1988 en nyordlista med orden avprogrammera, avprogrammerare och avprogrammering. Ordet avprogrammera definieras i tidskriften som att "omvända person som är medlem av religiös rörelse, sekt, e.d." Ordet och dess ursprung vittnar om ett flertal utvecklingar i samhället.Diskskåp
2019-02-05
Det finns något i varje finskt hem, som varje finländare tar för givet. Det är del av hens vardag, och om hen flyttar utomlands och upptäcker att bostaden saknar en sån här, så blir hen nog lite besviken. Jag pratar förstås om diskskåp, ett koncept som få svenskar ens har bevittnat.När ska man donera till välgörenhet?
2019-01-29
Effektiv altruism är en rörelse som går ut på att med kritiskt tänkande förbättra världen så effektivt som möjligt. Det här inlägget handlar om när man ska donera pengar och tid till välgörenhet: nu, senare eller kontinuerligt? I huvudsak argumenterar jag för att donera kontinuerligt.Kommentarer och korrigering
2019-01-21
Jag tycker om konstruktiv kritik och intressanta infallsvinklar! Har du hittat faktafel, onödiga otydligheter eller alltför partiska publiceringar? Eller någon grammatisk groda eller något som inte står i standardstavning?
Gudsbilder
2019-01-20
Det här inlägget dokumenterar min tro på Gud genom tiderna, men först måste vi hitta en definition för Gud, så att vi vet vad vi pratar om. Vad är (en) gud? Dom flestas gudstro riktar sig knappast till en skäggig gubbe i himlen, och det har inte heller min någonsin gjort.