Kebmans blogg

Hvordan kryptere passord i PostgreSQL

Posted in Data, Programmering, Teknologi by kebman on 26/08/2015

PostgreSQL kan med et enkelt håndgrep gjøre passordkryptering for deg. Alt du trenger å gjøre er å legge til en extension i psql, sånn her:

CREATE EXTENSION pgcrypto;

Så er det bare å lage en database for å teste litt:

CREATE DATABASE test;

Og en tabell for å lagre noen data med passord:

CREATE TABLE testusers (
	id SERIAL PRIMARY KEY,
	email TEXT NOT NULL,
	password TEXT NOT NULL,
);

SERIAL er her ekvivalenten til AUTO_INCREMENT i MySQL. Strengt tatt kunne vi sikkert brukt email-feltet som PRIMARY KEY, sånn som her:

CREATE TABLE testusers (
	email TEXT PRIMARY KEY,
	password TEXT NOT NULL,
);

…men jeg synes det er kjekt å kunne kalle opp en god, gammeldags ID. Istedenfor kan man gjøre sånn her for å sikre at email-feltet forblir unikt:

ALTER TABLE users ADD CONSTRAINT unique_email UNIQUE (email);

Men så, endelig, kan vi teste med å sette inn noe ordentlig data! For å lage skikkelig gode passord, er det ikke nok med bare en god krypteringsalgoritme. Man trenger også salt. Dette for å hindre såkalte rainbow angrep. Her er årsaken til at vi la til den extensionen i sta, for med den kan vi legge til skikkelig godt salt, sånn her:

INSERT INTO testusers(email, password) VALUES (
	'test@test.com', crypt('det_hemmelige_passordet', gen_salt('md5'))
);

Som du ser så hashes passordet med det samme det legges inn i databasen med en funksjon som heter crypt(). Denne tar to argumenter: Passordet og en funksjonen gen_salt() som lager salt. For å sjekke at passordet stemmer, kan man bruke denne spørringen:

SELECT email FROM testusers WHERE id=1 AND
password=crypt('det_hemmelige_passordet', password);

Så, når dette er gjort, burde det være en smal sak å få det til å fungere med et passende serverskriptingspråk. Best av alt, skulle noen uvedkomne få tilgang til databasen, vil de uansett ikke kunne finne ut hva passordene er – ikke lett, i alle fall.

Hvordan få tilgang til delte Windows-filer fra Linux

Posted in Data, Fildeling, Internett, Networking by kebman on 30/07/2015

Kjører du en versjon av Linux er det som regel en smal sak å få tilgang til filer delt fra Windows-maskiner på hjemmenettverket. Her er hvordan!

Kjøpte nylig en Raspberry Pi 2 Model B, og ønsket tilgang til filene jeg har delt fra Windows PCen min, dermed kommer guiden til å ta utgangspunkt i det. Men har du et annet Linux-system, så frykt ikke! Pi-en bruker en versjon av Debian Linux kallt Raspian, dermed vil denne guiden funke for de fleste andre UX-distribusjoner også.

Forhåndskunnskaper:

  1. Du må være komfortabel med command line prompts og bruk av terminalverktøy.
  2. Du må allerede ha fungerende internett-tilgang på UX-enheten din.
  3. Du må allerede ha filer som er delt på hjemmenettverket ditt fra Windows-PCen din.
  4. Du må vite IP-ene til de forskjellige enhetene, enten ved å bruke windows > cmd > ipconfing på Windows, ifconfig på UX-enheten, eller ved å bruke Advanced IP scanner
  5. UX-enheten din bør være koblet til samme hjemmenettverk som PCen din, men det er ikke et absolutt krav så lenge du vet hvordan du setter opp port-forwarding.

Mangler en av punktene over, må du finne ut av hvordan du order det selv. Tips: Google er din venn!

Logg inn på UX-enheten din, enten via terminalen eller via command prompt. Er du på en annen maskin kan du bruke PuTTy fra PC (må lastes ned), eller logge inn via SSH fra Mac eller andre UX-maskiner. Hvordan du gjør det har ikke så mye å si, og vil ikke bli dekket av denne guiden. Siden jeg er lat, gadd jeg ikke fysisk gå heeelt ned gangen og bort til Pi-en min, så istedenfor brukte jeg PuTTy.

Opprett en mappe på Linux-maskinen som du kommer til bruke til å vise alle Windows-filene dine i. Du kan både kalle den hva du vil og legge den hvor du vil, men jeg har valgt å kalle den windows-share og å legge den på hjemmemappen min. Du trenger ikke angi hele filbanen hvis du allerede er i hjemmefolderen din, men jeg har likevel gjort det for ekstra klarhet. Alt etter hvordan UX-system du er på, kan det hende at hjemmemappen din har en litt annen adresse enn den som er vist. Min hjemmemappe er selvsagt /home/pi/.

I terminalen, skriv:

mkdir /home/pi/windows-share

OK, det var den enkleste delen av guiden! Så må du koble til Windows-maskinen. Her er et eksempel på hvordan du kan gjøre det:

sudo mount -t cifs //255.0.0.128/delt-windows-folder \
-o user=dittbrukernavn /home/pi/windows-share

sudo betyr at du må være superbruker for å få det til. mount er programmet som finner den delte mappen din. Så er det noen kommandoer som sendes til mount-programmet, inkludert IPen til Windows-maskinen din, og hvilken delt mappe du ønsker å få tilgang til.

Etter \-tegnet må du trykke enter.  Du vil da få en >-prompt, og der må du skrive en kommando for brukernavn og hvilken UX-mappe du vil dele til. Så trykker du enter en gang til for å finalisere.

Oppsummert trenger du altså å vite IP-en til din Windows-maskin, og navnet på mappen du deler med nettverket. Så må du ha brukernavnet til Windows-maskinen din. Sist men ikke minst må du huske på hvilken mappe du ønsker å dele filene med på UX-enheten din.

Og det var det! Har du gjort det riktig, skal du nå kunne gå inn i mappen windows-share på UX-enheten din og se alle filene som er delt til den fra Windows-PCen din. Her er et eksempel på hva du kan prøve:

cd /home/pi/windows-share
ls

Med det vil du kunne se og bruke alle de delte filene på UX-enheten din.

Fjern bjellen Mac-menyen

Posted in Data, Internett by kebman on 31/07/2014

Denne er egentlig utdatert, men lar den stå i tilfelle noen bruker en gammel versjon av Chrome.

Plutselig en dag var den der; bjellen. Så irriterende! Hvor kom den fra? Oi, den ble borte da jeg avsluttet Chrome! Så det er Chrome som er forbryteren!

Å finne ut av hvordan man fjerner bjellen for hendelsesvarslinger mellom operativsystemer i Chrome var en aldri så liten detektivjobb, men selve oppskriften på hvordan man gjør det er ganske enkel.

I Chrome, gå til chrome://flags/

Scroll ned til Aktiver synkroniserte varsler og velg Deaktiver.

Har du gjort det skal bjellen forsvinne. Har du engelsk Chrome er det lettere å google seg til hvordan man får bjellen til å forsvinne. Hovedproblemet er egentlig å få bjellen til å forvinne i den norske utgaven av Chrome fordi man må prøve å tenke seg til  hvordan programmet er oversatt. På toppen av det hele har de av og til endret oversettelsen. Uansett, sånn fjerner man bjellen på engelsk Chrome:

I Chrome, gå til chrome://flags/

Scroll ned til Enable Rich Notifications og velg Disabled.

Sånn, nå har du fjernet bjellen både på norsk og engelsk! For de med andre språk, se etter en tekstbit som har noe med varsler eller varsling å gjøre, etterfulgt av en oppramsing av forskjellige operativsystemer som Mac, Windows, Linux, etc. Det er vanligvis den som skal deaktiveres.

Hvordan enkelt kryptere meldinger med offentlige nøkler

Posted in Data, Internett, Konspirasjonsteorier, Programvare, Sikkerhet, Teknologi by kebman on 19/02/2014

Aldri før har kryptering vært viktigere. Derfor har jeg laget en noen jukselapper for hvordan enkelt bruke ett av de ledende krypteringsprogrammene for å sende og motta krypterte meldinger sikkert over nett. På sikt vil det komme en mer inngående tutorial, men dette burde få deg i gang.

Kryptering med offentlige nøkler fungerer sånn her: Om du vil motta filer sikkert, så oppretter du et nøkkelpar med en offentlig og en privat nøkkel. Den offentlige nøkkelen sender du til dine kompiser eller kollegaer. De kan nå bruke den til å kryptere sine meldinger til deg. Det kule her er at disse meldigene nå kun kan dekrypteres med din private nøkkel. Derfor er det selvsagt viktig at du også holder din private nøkkel hemmelig.

For å sende en fil sikkert til en venn, må du bruke din venns offentlige nøkkel til å kryptere filen før du sender den. Nå kan bare din venn dekryptere filen, og ingen andre.

Datatilsynet krever ved lov at persondata og ting som er unntatt offentligheten krypteres etter visse standarder før det sendes over nett. Det fine er at denne krypteringsmåten langt overstiger Datatilsynets krav, dermed kan du trygt bruke det til å sende slike data med.

Her er instruksjonene:

Jukselapper for GNU Privacy Guard (Kleopatra)

  1. Last ned GNU Privacy Guard fra http://www.gnupg.org/ (det er gratis)
  2. Installer programmet
  3. Hvordan opprette et privat/offentlig nøkkelpar
    1. Åpne Kleopatra
    2. I menyen, velg File > New Certificate…
    3. Velg Create a personal OpenGPG key pair
    4. Skriv inn ditt fulle navn og din e-post
    5. Skriv inn et passord. NB! Dette er det viktigste steget!
    6. Gå videre og sjekk at alt er riktig.
    7. Eksporter nøkkelen. Huk av ASCII Armor slik at den blir enklere å sende over nettet.
    8. Gjør den offentlige nøkkelen din tilgjengelig for dine venner
  4. Hvordan importere en offentlig nøkkel…
    1. …om du må merke og kopiere en offentlig nøkkel:
      1. Merk og kopier en offentlig nøkkel fra nettet eller i en e-post
      2. Lagre den i en egen fil, og pass på at filendelsen er «.gpg». NB! Husk også hvor du lagrer den!
      3. Åpne Kleopatra
      4. I menyen, velg File > Import Certificates…
      5. Finn filen legg den inn
    2. …om du laster ned eller får tilsendt en fil med en offentlig nøkkel:
      1. Lagre filen på et sted du husker (nedlastinger, f.eks)
      2. Åpne Kleopatra
      3. I menyen, velg File > Import Certificates…
      4. Finn filen og legg den inn
  5. Hvordan kryptere en fil med en offentlig nøkkel
    1. Åpne Kleopatra
    2. I menyen, velg File > Sign/Encrypt Files…
    3. Velg filen du vil kryptere (eller signere)
    4. Klopatra spør hva du vil gjøre; huk av Text Output (ASCII Armor) og trykk Next
    5. Legg til (Add) den offentlige nøkkelen du ønsker å kryptere med
    6. Du vil få en advarsel om at bare mottakeren av filen vil kunne dekryptere den. Trykk Continue.
    7. Den krypterte filen lagres med samme navn som originalen, men med filendelsen «.asc»
    8. Bare eieren av den private nøkkelen kan nå dekryptere filen så kopier innholdet i filen og send over nettet, eller legg hele filen med som vedlegg i en e-post
  6. Hvordan dekryptere en fil med din private nøkkel
    1. Lagre mottatt fil, eller opprett en ny fil, kopier det krypterte innholdet inn i den, og lagre den med filendelsen «.gpg»
    2. Åpne Kleopatra
    3. I menyen, velg File > Decrypt/Verify Files…
    4. Finn den krypterte filen
    5. Velg hvor du vil at den dekrypterte filen skal havne
    6. Trykk på Decrypt/Verify
    7. Du kan nå åpne den dekrypterte filen der du la den

Slik lager du vektormasker i Photoshop CS6

Posted in Design, Foto, Programvare, Spesialeffekter by kebman on 15/11/2013

Vektormasker kan brukes til alle komposisjoner som involverer manipulasjon av flere lag i Photoshop. Alle steder hvor du tidligere brukte viskelær (Eraser Tool), er det som regel mye bedre å bruke vektormaske.

Bruker du viskelæret på et lag, kan du ikke gå tilbake i historikken etter at du har lagret prosjektet ditt. Da blir hullet du laget værende. Men med en vektormaske kan du når som helst endre på utskjæringen. Det fungerer også fint til justeringslag, for eksempel når du bare ønsker å fargekorrigere en liten bit av bildet.


Oversikt over verktøy

Du trenger å bruke følgende verktøy i Photoshop:

PenFocus Pen Tool (penneverktøyet)

AngleFocus Convert Point Tool (vinkelverktøyet)

DirectSelectFocus Direct Selection Tool (den hvite pekeren)

PathSelectFocus Path Selection Tool (den sorte pekeren)

OBS! Path Selection Tool er ikke det samme som Move Tool selv om de begge er formet som sorte piler. Pass på at riktig verktøy er aktivt.


Viktige hurtigtaster

Pennevertkøyet har hurtigtast P, og seleksjonsverktøyene har hurtigtast A. For å rask flippe mellom verktøy innen samme kategori, trykk Shift og så hurtigtasten. Så for å skifte fra den hvite til den sorte pekeren, holder du bare inne Shift mens du trykker A.

Arbeidsflyten går dessuten mye kjappere om du også lærer deg hurtigtastene du kan bruke i kombinasjon med disse verktøyene – vanligvis shift, command (control på PC) eller alt-tasten.


Verktøyenes bruksområder

  • Penneverktøyet er for å legge til og trekke fra vektornoder, samt legge til og justere bezierkurver.
  • Den sorte pekeren er for å velge en hel vektorsti (vector path).
  • Den hvite er for å redigere noder og spaker hver for seg.
  • Sammen med penneverktøyene er det dessuten et vinkelverktøy (Convert Point Tool) for å slette eller legge til bezierkurver til eksisterende noder, eller justere dem ved å dra i spakene til aktive noder.


Gjennomgang

Åpne et bilde med noe du har lyst å klippe i.

Trykk P for å aktivere penneverktøyet, og pass på at verktøyet er satt til «Path» i alternetivene for verktøyet øverst under filmenyen.

path

Av og til er et annet penneverktøy valgt. Da kan du enten flippe mellom verktøy i samme kategori ved å holde inn Shift mens du trykker P, eller klikke og holde på ikonet i verktøymenyen, og så velge den øverste pennen i rullegardinen. Du skal bruke verktøyet som har den enkleste pennesplitten som ikon.

Har du fått frem riktig verktøy, er det bare å klikke der du ønsker å lage første node. Klikk igjen for å lage en ny node. Gjenta til du har laget noder helt rundt det du har lyst å klippe ut, slik at det danner en hel sti. Du får en liten ring på penneverktøyet i det stien blir sluttet. Så klikker du A og bruker den sorte eller hvite pekeren til å aktivere stien (the path). Du kan se at stien blir aktiv ved at alle nodekvadratene vises.

Hold så inne cmd (ctrl på PC) og trykk på ikonet for «Add layer mask» i lagfanen (Layers) helt til høyre i Photoshop. Og voila, du har en vektormaske!

Ikonet du skal cmd-klikke ser ut som en slagt sort-hvit versjon av det japanske flagget, sånn: AddLayerMaskFocus


Hull istedenfor utklipp

add-subtr_done«Men jeg vil lage et hull istedenfor å klippe noe ut!» hyler du kanskje. Frykt ikke! Oppe i alternativmenyen er det et lite ikon som ser ut som to små firkanter inni hverandre, like til høyre for Shape-knappen. Trykk der og du får en meny hvor du kan velge hvordan stien skal klippes ut; enten som et utklipp eller som et hull. Bare pass på at du har korrekt sti aktivert.


Myke linjer istedenfor vinkler

Istedenfor å lage spisse vinkler hver gang du setter ned en node, kan du lage myke linjer med penneverktøyet. Disse buene kalles bezierkurver. Om du istedenfor å klikke holder nede museknappen og drar når du skal sette ned en node, vil du få en slik bezierkurve. Blir du først vant til å bruke denne teknikken, vil du fort merke at du trenger langt færre noder for å lage stien din – kanskje til og med bare tre eller fire.

bezier

Du kan også gjør hver node myk i etterkant. Velg penneverktøyet (P), og hold inne alt-tasten mens du trykker og drar på en node. Du vil da få opp to spaker for hver node. Disse kan du også etterredigere med den hvite pekeren. Det finnes i tillegg et spesifikt vinkelformet verktøy i pennefamilien som bare er til for å redigere bezierkurver kalt Convert Point Tool.


Redigere masken

Om du i ettertid vil gjøre små endringer på stien, kan du trykke A og bruke den hvite pekeren (Direct Selection Tool) for å flytte på enkelte noder. Du kan også redigere på aktive bezierkurver med den samme hvite pekeren. Dette gjør du ved å dra i spakene som kommer ut av de nodene som har slike kurver.

Vil du legge til eller trekke fra en node fra vektorstien, kan du trykke P og bruke penneverktøyet. Så lenge stien er aktiv, vil du få en liten pluss ved sidden av pennesplitten som tegn på at du kan legge til noder, og en liten minus som tegn på at du kan slette noder fra stien.

Vil du flytte på hele stien, så bruk den sorte pekeren. Bare pass på at det er Path Selection Tool som er valgt og ikke Move Tool.


Fjerne bezierkurver

Du kan enkelt fjerne en bezierkurve ved å velge penneverktøyet (P), holde inne alt-tasten, og klikke på en node. Vips så er kurven slettet.


Ordliste

Vektornode, eller bare node: Et vektorpunkt eller håndtak med en X- og en Y-posisjon brukt til å redigere formen til en vektorsti.
Spake: Et punkt eller håndtak brukt til å redigere en bezierkurve.
Vektorlinje: En matematisk linje som går mellom to noder. Tykkelsen eller formen på linjen blir alltid lagt til i ettertid. Se også bezierkurve.
Bezierkurve: En matematisk utregnet kurve som går mellom to noder. Se også vektorlinje.
Vektorsti, eller bare sti: En mengde vektornoder med matematiske linjer (kurver) mellom dem.

Oppstandelsen

Posted in animasjon, Design, Dramaturgi, Foto, Fotografi, Konspirasjonsteorier by kebman on 11/10/2013

Denne bildeserien er basert på en oppgave fra pedagogikkstudiet hvor målet var å fortelle en historie med fem bilder. Her har jeg valgt å presentere Director’s Cut av oppgaven, og har dermed tatt med fire bilder ekstra. Foreleseren valgte å kalle serien for ‹Oppstandelsen›, og det synes jeg var et så bra navn at jeg valgte å vrake min originale tittel, «Student».

Going to School - Waking Up

Going to School - Shower

Going to School - Nickers

Going to School - Pants

Going to School - Food

Going to School - Shoes

Going to School - Public Transportation

Going to School - On the Bus

Going to School - Finally There

I ettertid er jeg litt lei meg for at jeg ikke fikk med en hånd på skoen, men jeg tenker å rette på det i «Oppstandelsen Part Deux».

Nytt kristendomsfag bryter med all logikk

Posted in Konspirasjonsteorier, Nyheter, Politikk by kebman on 01/10/2013

Nytt kristendomsfag kan bryte menneskerettighetene, hevder TV2.no. Ikke bare det, men det bryter med all logikk. Denne saken fikk meg derfor til å lure på hva det egentlig er RLE går ut på for tiden.

Det er faktisk veldig konkret. Kompetansemålene (de tingene kompetansen til eleven blir målt etter) står som bullet-points i læreplanen. Her er for eksempel kompetansemålene for 1.-4. klasse på barneskolen: Læreplan i religion, livssyn og etikk – kompetansemål.

Som man kan se ut fra kompetansemålene i denne planen, har kristendom allerede en større og mer omfattende del av kompetansemålene enn de andre religionene. I tillegg dekker også kompetansemålene for både jødedom og islam viktig kompetanse innen kristendommen, og motsatt. Så hva vil det si at kristendom får en større del av RLE-faget?

Jo, det vil si at det blir plass til færre kompetansemål innen de andre religionene – og filosofi og etikk, som Utdanningsdirektoratet i sin visdom har funnet det klokt å samle sammen med religion…

Men hva skal man skjære vekk, da? Hva om man slår sammen målene for islam og jødedom med kristendom? Hva om man fjerner buddhisme og hinduisme? Det er jo så få som driver med det i Norge uansett… Eller hva med å få Filosofi og etikk ut av religionsfaget, som jo stort sett er et samfunnsfag uansett, og få filosofien inn som eget fag? Den fortjener jo tross alt litt bedre plass enn det den får i dagens skole, eller? Jeg tror ikke jeg klarer å dekke alle alternativene. Det er ikke min jobb heller, men jeg ser at debatten går friskt for seg. Bare på TV2 sine debattsider har det kommet mange forslag.

Argumentasjon for at vi burde ha kristendom som en større del av RLE-faget:

Kristendom er en del av vår kulturarv, og fortjener derfor mer plass innen RLE

Selvsagt er kristendommen en viktig del av norsk historie, noe som gjenspeiles godt i læreplanene for både nyere og eldre historie. Men dette svarer jo ikke på om det er viktig å vite innholdet i sentrale verker innen kristendommen, som er va RLE går ut på.

Kristendom har den beste moralen og etikken, og derfor bør vi ha mer kristendom

Dette er rett og slett tull. Jeg tror ikke jeg vet om noen bok som har flere moralske selvmotsigelser i seg enn nettopp Bibelen. Igjen gir dette seg ut i utspredt bruk av dobbeltmoral, noe som heller ikke er bra.

De fleste andre religioner vil hevde at de har en bedre etikk og moral enn kristendommen igjen, og når man ser hva som utløser «dårlig moral» har det ofte lite med reglene som ligger til grunn, men heller mer med utøvelsen av disse.

La meg minne om at det ikke bare finnes muslimske ekstremister der ute. De er også kristne, eller endog buddhistiske! Vi har også hatt kristne konflikter i nyere tid, slik som konfliktene om irsk og baskisk frigjøring – og ikke minst krigen i tidligere Yugoslavia.

Nei, det vi bør ha mer av, er filosofi og etikk uavhengig av religion. Moral og etikk innen religion har nemlig en tendens av å 1) gå på bekostning av andre religioner, eller de som ikke tror, 2) gå på bekostning av evnen til å tenke selv, og 3) gå på bekostning av viten om at det faktisk rent logisk lønner seg bedre å oppføre seg godt i et samfunn, enn ondt – og det helt på tross av religion (kristendommen inkludert)! Ikke minst er filosofi faktisk nyttig innen studier og i arbeidslivet (med mindre du skal bli prest).

Mer kristendom vil skyve vekk annen religion, noe som er bra siden annen religion utvanner vår kultur

Vi har en kultur for at norske og protestantiske prester er de snilleste onklene i familien. Ikke har de særlig mye å si i norsk sekulært dagligliv lenger heller. Da er det i det minste litt mer futt i imamene. Sjansen er uansett svært liten for at de som allerde er kristne slutter å være det, eller at de som er etnisk norske plutselig omvender seg til muslimer fordi annen religion liksom skyver vekk norsk kultur. Hele dette argumentet har derfor mye mer med fremmedfrykt å gjøre enn faktiske forhold; at vi slipper inn ikke-vestlige innvandrere i hopetall uten å stille krav til dem. Men seriøst, jeg synes heller vi skal kreve av dem at de lærer seg norsk og tar inn over seg norsk kultur enn at vi tvinger dem til å lære Det nye testamentet. Om det er etikken eller moralen du er redd for, se avsnittet over.

Arma 3: Fyll bensin på ditt helikopter

Posted in Data, Programmering, Scripting, Spill by kebman on 28/09/2013

En enkel oppskrift på hvordan kode fylling av drivstoff på ditt helikopter i Arma 3.

Forhåndskunnskaper: Du må minimum kunne plassere objekter ved hjelp av editoren i spillet. Hvis du ikke kan det enda, se her: http://www.youtube.com/watch?v=oN8s58xEi0k
Ellers er prosessen forklart veldig nøye. Teskje-metoden here we come! :D

Oppskrift

Åpne opp kartet du har lyst å jobbe med og plasser enten en player eller et helikopter som du gjør til player.
Gi helikopteret navnet myHeli. Lagre kartet med Mission Name «Trigger» og som User Mission.

Plasser så en trigger (finnes under flagg-ikonet).
Sett størrelsen slik at det passer med landingsplassen din.
Pass også på at den er satt til Repeatedly og at enten din gruppe, eller alle, kan trigge den.
Repeatedly betyr ganske enkelt at du kan bruke triggeren til å fylle bensin så mange ganger du måtte ønske.

I boksen Condition, skriv følgende kode:

({getPosATL _x select 2 < 0.1} count thisList) > 0 && fuel myHeli < 0.9;

Forklaring av koden

Den første delen av koden gjør at triggeren kun fyrer av om helikopteret er under 0,1 meter over bakken (Merk: i USA bruker de punktum for å skille mellom desimaler, mens vi bruker komma her i Norge).
Den andre delen av koden (etter &&) gjør at triggeren kun fyrer av om helikoptere har under 90 prosent drivstoff i tanken.

getPosATL finner plassering og høyde over land. Det kommer som en array _x bestående av posisjonskoordinatene 0=X, 1=Y og 2=Z.
Vi er selvsagt bare interessert i høydevektoren Z, derfor står select 2 der.
For at det ikke skal fylles drivstoff før helikopteret står på bakken, vil ikke «listen» bli telt som 1 før høyden er under 0,1 meter over land.

I tillegg vil ikke triggeren skyte av før helikopteret har under 90 prosent drivstoff.
&& står simpelten for en logisk «og», som betyr at begge delene av kondisjonalen må være sann før triggeren fyrer av. Det holder ikke at bare én av dem er det.

I boksen On Act (On Activation), skriv følgende kode:

nul = [] execVM "fuel.sqf";

Forklaring til koden

Dette lager en null-array, fordi det av en eller annen grunn kun kan kjøres fra en sånn… Og execVM kjører ganske enkelt filen fuel.sqf.

Denne filen finnes naturlig nok ikke enda, derfor er det på tide at du starter opp din beste tekst-editor (Notepad++, f.eks., men vanlig Notisblokk funker også).

I tekst-editoren, skriv inn følgende skript:

heliFuel = fuel myHeli;
addFuel = 0.1;
while {heliFuel < 1.0} do {
     myHeli setfuel heliFuel + addFuel;
     addFuel = addFuel + 0.1;
     sleep 0.2;
};

Lagre skriptet som fuel.sqf i mission-folderen. Denne ligger vanligvis på C:\Users\DittBrukernavn\Documents\Arma 3\missions\Trigger.Map . I alle fall gjelder det Windows 7
For alt jeg vet har du den på D-disken. Bytt i så fall C: ut med D:. DittBrukernavn bytter du selvfølgelig med ditt brukernavn.
.Map er det kartet du har valgte, enten Stratis, Altis eller et annet kart.

Forklaring av skriptet

heliFuel = fuel myHeli lagrer simpelten hvor mye drivstoff helikopteret har igjen i tanken i variabelen heliFuel.
addFuel lagrer hvor mye som skal fylles hver gang skriptet slår en ny løkke. Det definerer altså hvor fort tanken fylles opp. Jo høyere tall, jo fortere går det, men det er ingen grunn til å sette tallet over 1, siden 1 er normalisert til å bety «full tank».
while-løkken kjører så lenge det er plass til mer drivstoff i tanken (så lenge heliFuel er under 1), men ikke noe mer enn det.
Inni while-løkken, legger setfuel ganske enkelt den eksisterende mengden drivstoff (heliFuel) sammen med ny mengde drivstoff (addFuel).
sleep pauser ganske enkelt løkken så mange sekunder det er angitt (0,2 sekunder i dette tilfellet).

Som du ser er det et ganske lite skript. Kanskje tenker du da at det kunne vært i kondisjonal-feltet i triggeren. Grunnen til at det ikke kan være der, er fordi triggeren ikke godtar pauser. Det er kun mulig i eksterne skript, derfor trenger det å være i sin egen fil.

Valgfritt

Om du vil at det skal se ekstra bra ut, plasser også ut et helipad-objekt under triggeren fra Empty > Objects (Signs).
Det er nemlig litt lettere å finne igjen trigger-området i spillet om du også har en synlig landingsplass assosisert med den. ;)

Q-taggen

Posted in Data, Webdesign by kebman on 11/09/2013

Anbefaling for hvordan bruke Q-taggen innen HTML: Ikke i det hele tatt!

Meningen bak Q-taggen er å definere et kort sitat, i følge W3Schools. W3C forklarer Q-taggen som et element som representerer formulering av innhold sitert fra en annen kilde. Ren skrift representerer dette med et sitat-tegn, enten engelske hermetegn («»), eller norske gåsøyne («») og anførselstegn (‘’). Med andre ord finnes det allerede fullgode typografiske tegn for dette.

Selv om visse maskiner har vansker med å vise frem disse tegnene, kan alle maskiner med tilgang til kodetabellen UTF-8 vise disse fram riktig. Med det som basis anbefaler jeg alle som vurderer å bruke Q-tagg om å heller droppe det og bruke de tegnene vi har tilgjengelig.

Q-taggen var et forsøk fra W3C om å få vist frem korte sitater riktig på alle typer maskiner, da ikke alle maskiner har denne typen tegn. Problemet er at de fleste nettlesere viser dette fram med engelske hermetegn, som skaper et problem når teksten er europeisk, eller når sitatet også inneholder et «undersitat». Som resultat blir man nødt til å skrive ekstra CSS-kode om man vil at teksten skal rendres riktig av nettleseren, noe som er helt unødvendig når du allerede vet hvordan du bruker tegnene riktig. Enda mer unødvendig blir det også når du i HTML-en enkelt kan angi hvilken kodetabell teksten du publiserer skal tolkes med.

Bruker du HTML5 er det bare å sette inn denne kodesnutten i hodet av koden din:

<meta charset="utf-8" />

SMPTE-synkronisering på GitHub

Posted in Data, Filmredigering, Internett, Programmering, Programvare, Scripting, Teknologi, Video by kebman on 13/05/2013

Endelig har jeg oppdaget GitHub og lagt ut mitt første prosjekt der. Driver på med et videoprosjekt nå, men jeg fikk noen problemer med SMPTE-koder (tidskoder for video) som ikke stemte med hverandre da jeg logget. Først sjekket jeg ut noen programmer, men de dugde ikke, så da bare satte jeg i gang å lage min egen kode.

Sjekk det ut her: https://github.com/kebman/Simple-SMPTE-class-in-PHP

Følg meg

Få nye innlegg levert til din innboks.