sindreij.com
Mitt lille sted på det store nettet-
Gravsims kildekode oppe på github
Posted on February 25th, 2010 No commentsNå er gravsim sin kildekode oppe på http://github.com. Addressen er http://github.com/sindreij/Gravsim. Koden skal i teorien kompilere på både Linux og Windows, men for øyeblikket er bare Linux testet. GitHub er forresten en veldig bra side for kildekode, som bruker git til versjonskontroll. Git er litt vanskelig å lære seg, men anbefales på det varmeste til store og små kodeprosjekter.
Og så har jeg laget en liten video:
-
Embedding av flash i blogger
Posted on November 2nd, 2009 No commentsTidligere i dag skrev jeg en post om et Flash-”spill”. Jeg ville så klart embedde denne flashen i inlegget, og da lærte jeg litt om hvordan dette kan gjøres.
Først brukte jeg en plugin til wordpress, Kimili Flash Embed. Problemet er at da fungerte ikke videoene i firefox med flashblock. Flasblock er en veldig nyttig utvidelse til firefox jeg bruker, som gjør at flash-animasjoner ikke starter automatisk på websider, men når jeg velger å starte dem. Dette er spesielt smart på visse websider, som har en tendens til å ha veldig mye forstyrrende animerte reklamer.
Denne løsningen virket heller ikke med Google Reader, og da måtte jeg finne en ny. Jeg lette litt rundt, og fant til slutt en løsning der jeg bruker koden Adobe Flash selv bruker når man velger publish. Dette fungerte bedre, men fremdeles ble det tomt på Google Reader. Jeg lette litt rundt, og fant ut at reader blokkerer alle andre flash-filer enn noen whitelistede, blant annet YouTube.
-
Hoppende ball i flash
Posted on November 2nd, 2009 1 commentNå er det en stund siden jeg har publisert noe på denne bloggen. Mye av grunnen er at jeg går på folkehøgskole for tiden, og har mye å gjøre, samtidig som skolen har ganske dårlig tilgang til Internett. Jeg vil også ikke ha en situasjon der jeg legger ut masse tull for å få mange poster, men vil legge ut når jeg føler jeg har noe som er av kvalitet.
Nå har jeg hatt frihelg, og har hatt tid til å drive litt her igjen. På bloggen har jeg fått oppdatert til nyeste versjon, og har satt opp en løsning for backup til Amazon S3, slik at jeg ikke mister denne siden, eller andre ting som er på denne serveren. (Kanskje blir det tema for et blogginnlegg en annen gang).
Jeg ble også utfordret en gang på å lage gravsim i flash, og har lekt litt med tanken. Nå har jeg fått tid til å sette meg ned og se på det, og har prøvd å lære meg litt ActionScript (”programmeringsspråket” til flash). Jeg brukte adobe sine egne sider. Her ligger det masse stoff for å lære seg ActionScript. Når jeg hadde lært meg det grunnleggende gikk jeg hit og fant eksempler jeg så på. Så satt jeg meg ned og programmerte litt. Jeg ville ha en ball som spratt rundt, og fulgte Newtons lover. Slik ble resultatet:
Jeg har brukt en plugin som heter Kimili Flash Embed for å embede flashen i wordpress.Jeg har ikke brukt animasjon i flashen, ballen flytter seg rundt med programmering og newtons lover.Jeg er ganske fornøyd, og med litt mer arbeid får vi kanskje snart se en flash-versjon av gravsim. Fordelen da er at man kan spille det uten å måtte laste ned og installere, og jeg tror det gjør at flere får med seg hva jeg lager. Det er ingenting som er bedre enn at folk bruker det jeg lager, så det er bare bra.
Hva synes så dere om dette? Er flash bedre for små spill på nettet? Kommentarfeltet er åpent.
Oppdatering: Jeg har hatt litt problemer med å vise flashen slik den var. Nå bruker jeg en annen måte for å embedde flashen, og forhåpentligvis fungerer det bedre.
-
Smeltende krem
Posted on July 17th, 2009 3 commentsI dag har jeg eksperimentert litt med timelapse, eller fort-film. Slik ble resultatet:
Hvordan får man til dette?
Først trenger man et kamera. Jeg brukte et Nikon D80, men mange kameraer kan brukes. Man trenger så en mulighet for å få kameraet til å ta bilder etter hverandre med et visst intervall. Jeg koblet kameraet til PC-en, men noen kameraer kan også gjøre det direkte. Programmet jeg brukte heter gphoto2, og kjører på Linux. Gphoto2 er et kommandolinjeprogram. Dette kan skremme, men jeg synes det gjør at det blir mer logisk og enklere.For å bruke gphoto2 åpner du en terminal og skriver (husk å vende kameraet mot noe interessant først):
gphoto2 --capture-image-and-download -I 10
Det finnes også mange andre muligheter, men dette er det enkleste. Denne kommandoen tar et bilde hvert 10ende sekund og lagrer det i gjeldende mappe.Dette er det som tar lengst tid i prosessen med å lage en timelapse. Man lar den stå så lenge man vil, og den står og produserer bilder. Det er viktig at intervallet mellom bildene passer med hvor lenge man vil ta bilder, både på grunn av harddiskplass og for å få fornuftig lengde på sluttresultatet. Vanlig film har 25 bilder pr sekund, det vil si at hvis man har intervall på 10 sekunder, vil ett sekund film være ca 4 minutter.
Etter en stund sitter man da med mange bilder. I mitt tilfelle hadde jeg 312 bilder. Når man da vil endre litt på dem, så kan man ikke behandle ett og ett bilde. Her kommer programmet ImageMagick til sin rett. Med kommandolinjen:
mogrify -verbose -crop 1920x1080+1000+400 +repage -unsharp 0x1.5 *
Cropper jeg alle bildene til 1920×1080 piksler med hjørnet øverst til høyre i punktet 1000,400 og skarper de opp. Merk at denne kommandoen endrer bildene direkte, så det er lurt å gjøre dette på en kopi av bildene.Når man så har alle bildene er det tid for å sette de sammen til en film. Til dette bruker jeg mencoder:
mencoder "mf://*.jpg" -mf fps=25:type=jpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:vbitrate=7000 -vf scale=1280:720 -oac copy -o movie.avi
Dette tar alle jpg-bildene i mappen og lager en film med 25 bilder pr sekund. Filmen blir i formatet mpeg4 i avi-kontainer. Størrelsen er 1280×720, altså hd-kvalitet (720p). Når dette er ferdig er vi ferdige, og vi har en film i mappen.
Denne filmen lastet jeg så direkte opp på youtube. Så er det bare å lene seg tilbake og nyte resultatet.Er noe utydelig, så ikke nøl med å skrive en kommentar.
Linker
http://www.imagemagick.org/Usage/basics/
http://www.dsi.unive.it/~marzolla/software/time_lapse_movies/ -
Utelaptop
Posted on May 30th, 2009 No commentsHva gjør man når man vil sitte med laptopen ute, men ikke kan det på grunn av sola. Jo, man tar pizzaesken fra i går og litt gaffateip, og slik blir resultatet:

-
Arduino + Lego = sant?
Posted on April 2nd, 2009 1 commentJeg har nå et nytt prosjekt på tegnebordet. Det vil si: jeg har egentlig kommet et like stykke lengre enn tegnebordet.
Det begynte med en idé om å prøve å lage en robot. Jeg ville lage en robot på hjul, siden det er det jeg regner som lettest å kontrollere. Et poeng var at jeg ikke ville gjøre det for dyrt. Derfor ville jeg ikke kjøpe et dyrt robot-sett. Jeg kom på at jeg på loftet har veldig mye lego fra jeg var liten. Den har ligget og støvet ned i ganske mange år, men jeg fant ut at dette var en gyllen anledning til å ta den frem igjen.
Jeg har også bestemt meg for å bruke en arduino til å kontrollere denne roboten. En arduino er veldig grei til dette, den er ganske liten og har samtidig mange koblinger og den er rask. Jeg bruker også en ULN2803A som buffer for å kunne kontrollere motoren, siden strømmen man kan trekke fra en arduino ikke er store greiene.
Derfor gikk jeg opp på loftet, og noen strevsomme og støvete minutter senere hadde jeg funnet frem noe lego. Jeg fant ikke den motoren jeg ville bruke, men jeg fant en annen. Jeg trengte også en overgang fra legomotorenes legokobling til kabler. Derfor fant jeg fram loddebolten, og loddet på en kabel. Med litt strips fikk jeg festet arduinoen min til det jeg etter hvert fikk satt sammen, og slik ble det seendes ut til sist:
Så har jeg bestilt en del ting fra sparkfun, blant annet servo til styringen.
-
Ny versjon av GravSim og RomFotball
Posted on March 25th, 2009 No commentsNår jeg lagde første versjon av RomFotball, lagde jeg et rask utkast til bane. For de som har spilt spillet, består den av nesten rette hvite streker på svart bakgrunn. Det var morsomt med den banen, men etter hvert fant jeg ut at det var på tide å bytte den ut med noe litt penere. Derfor åpnet jeg opp inkscape og designet en ny bane. Resultatet ble seendes slik ut:
Jeg er ganske fornøyd med dette resultatet. Det eneste som nå er igjen av det opprinnelige designet er den grønne og den blå spilleren. Jeg lurer på om jeg skal bytte ut de også, eller la de være slik de er nå.Spillet med ny bane har fått versjonsnummer 0.3 og kan lastes ned på spillsiden.
Jeg har også forbedret GravSim. Den største nyheten er at det endelig har blitt mulig å gjøre noe med planetene. Høyreklikker man på en planet så fjerner man den. Hvis du venstreklikker og drar, lager du en ny planet, hvor langt du drar bestemmer startfarten. For øyeblikket kan man bare legge til “jord-planeter”, det vil si planeter som ser ut som og jorden og har samme masse som jorden. Slik kan det se ut hvis man har lagt til en del:
Det står på todo-listen min å gjøre det mulig å legge til andre planeter.Denne versjonen av GravSim har fått versjonsnummer 0.2 og kan hentes ned på spillsiden
-
GravSim
Posted on March 22nd, 2009 No commentsJeg har fysikk på skolen, og i den anledning lagde jeg en gang en gravitasjons-simulator i Python. Det virket veldig bra, men problemet med Python er at man må ha Python for å kjøre det. Jeg har lenge hatt lyst til å prøve å lage den i c++, og nå har jeg fått gjort det. Det vil si jeg har basic simulasjon inne. Hvis du laster ned programmet og prøver, vil du se de fire innerste planetene i solsystemet vårt svirre rundt solen. Slik ser det ut:
Hvis du laster ned programmet og ser etter, vil du legge merke til hvordan banene til planetene er veldig nøyaktig. De holder seg til banene sine selv om programmet kjører lenge. Hvordan fikk så jeg dette til spør du kanskje, og det skal jeg fortelle deg.Programmet bruker nemlig vanlig fysikk til å regne ut hvordan kreftene påvirker de forskjellige planetene. Formelen skal være velkjent for de som har tatt fysikk, newtons gravitasjonslov, den ser slik ut:
På norsk: Kraften mellom to legemer (for eksempel planeter) er en gravitasjonskonstant ganger massen til det ene legemet ganger massen til det andre legemet, delt på kvadratet av lengden mellom legemene. Jeg bruker her den ekte gravitasjonskonstanten, som er 6,67 × 10−11 Nm2/kg2. Når jeg så hadde dette på plass, gikk jeg inn på wikipedia og fant avstand mellom planetene og sola, og banefarten til hver planet. Så puttet jeg dette inn i programmet, og vips, så åpenbarte planetenes baner seg på skjermen (det vil si, ikke med en gang, men med en gang jeg hadde luket bort noen åpenbare bugs).
Programmet er fremdeles i beta, men det skal være relativt stabilt. Grunnen til at det er i beta, er at det mangler en del funksjonalitet:
- Interaktivitet. Du kan bare se på planetene. I Python-utgaven går det an å legge til og fjerne planeter. Dette kommer også i denne utgaven i nær fremtid.
- Kollisjondekteksjon. Dette fantes ikke i Python-versjonen, noe som gav intresange resultater når planetene kom nærme nok hverandre. Siden planetene ikke er i riktig størrelse i forhold til hverandre, er jeg usikker på om det er vits i å lage dette. Uansett vil man aldri legge merke til det i denne utgaven, siden man ikke kan legge til planeter, og de som er der nå, kommer til å holde seg fra hverandre lenge.
En siste detalj før nedlastingslenken. Når du sitter og ser på simulasjonen er det du føler som ett sekund: 57 dager, 20 timer, 53 minutter og 20 sekunder (eller 5000000 sekunder om du vil) i simulasjonstid. I tillegg er en pixel på skjermen din 434564860 meter i simulasjonslengde.
Vil du prøve programmet, så kan du laste det ned her: GravSim 0.1 for Windows
-
Nytt domene og nytt navn
Posted on March 20th, 2009 No commentsNå har jeg ikke blogget her på en stund. Når jeg for en tid siden bestemte meg for å prøve å blogge litt, så lagde jeg en blogg som handlet om programmering. Dette var fordi jeg hadde noen prosjekter jeg ville legge ut for allmenhetens beskuelse.
Men livet mitt handler om mer enn programmering, og jeg har lyst til å publisere dette også. I tillegg var jeg ikke fornøyd med domenet. refs.no er et domene jeg disponerer, men jeg hadde ikke lyst til å la min side asosieres med bloggen refs.no.
Dette har gjort at jeg nå har kjøpt et nytt domene, sindreij.com. sindreij er nicknamet jeg bruker på internett. Her skal jeg skrive om programmering, men også alt mulig annet jeg driver på med. Derfor har jeg også byttet navn på bloggen til sindreij.com. Så får vi se hva jeg får lagt ut her etter hvert.
(PS: prog.refs.no peker fremdeles også hit, men hoveddomenet er sindreij.com. Jeg anbefaler alle å oppdatere bokmerkene, det er ikke sikkert det gamle domenet kommer til å eksistere evig)
-
Nytt design
Posted on February 12th, 2009 No commentsNå har jeg fått et nytt design på bloggen. For øyeblikket har jeg ikke gjort store endringer på det, og det er slik som jeg fant det. Det heter gear og jeg fant det på Wordpress sine sider. Jeg får se utover om jeg er fornøyd, eller om jeg skal gjøre noe annet, men akkurat nå virker det som et godt theme.
(Folk som er redd for tekniske begreper kan hoppe over neste avsnitt
)Ellers holder jeg på å lære meg å strukturere mappene med kildekoden min så det skal bli mer oversiktelig, selv om jeg skal ha mulighet for både å kompilere for Window og Linux og eventuelt andre systemer. I tillegg til å lage pakker med kildekoden. Jeg holder på å se på hvordan jeg skal få Visual Studio-filene til å leve sammen med autoconfig og automake sine filer uten at det blir en salat av filer. Derfor ser jeg på hvordan det skal struktureres i mapper. Etter hvert skal jeg få lagt ut kompilert binary til begge systemer og kildekode pakker i tillegg til SVN.



