Halvtid – Stanford

Ytterst klyshigt, men _vad_tiden_flyger_. Att det har gått runt 5 månader sen de här första dagarna med introevent?? Men vad är halvtid utan en halvtidsutvärdering. Det blir inte en lång en, för imorgon är det midterm och jag behöver min smarthetssömn. Men allt som allt är jag toppennöjd hittills! Det är verkligen ett häftigt campus att hålla till på. Småsaker som att en föreläsare pratar om Youtubes databaser som exempel och frågar ”är det förresten någon här inne som har jobbat på Youtube?”, någon säger ja och kan inflika med lite detaljer. Eller som när man vill komma förbi en annans kontor men ”det funkar inte på måndag för då är jag på Pixar”. Jag fick höra från en som var här på utbyte för många år sen att han ångrade lite att han inte hade lagt mer tid på den sociala biten. Har haft det i bakhuvudet och varit på så många event jag kunnat och är glad för det. Allt från middagar, pysselstugor, barrundor, potlocks, pumpakarvning, amerikansk fotboll, game jams, kickbox och happy hours. Det är så härligt med hur öppna folk är här, att man liksom kan träffa en ny kompis när man låser cykeln. Jag ser framför mig hur jag nog kommer att bryta många sociala normer i Sverige när jag kommer hem, gillar detta bättre nämligen. 

Systemet med alla korta deadlines lär jag inte sakna lika mycket. Det är en blandad känsla av att vilja stanna tiden och spola fram den för att bli klar med allt. Tänker att ”vad skönt det ska bli på torsdag när alla deadlines är avklarade”. Plötsligt är jag där och har ett par dagar för livet att komma ikapp. Sen är man där igen, ”vad skönt det ska bli nästa torsdag när nästa gäng deadlines är över”. Hoppa över yogapassen och vi har ett perfekt recept på flygande tid. 

Om 123 dagar lyfter planet mot Sverige.

Även om jag gärna hade kramat om alla där hemma är jag väldigt glad att utbytet är ett helt läsår!

Lite mycket nu

Hittade precis hemsidan/projektet Lite Mycket Nu och kände mig något träffad haha, för det ÄR mycket nu. Mycket plugg och många sociala event, och så det vanliga livspusslet med att få ihop mat, träning och sömn. Lägg till lite personliga dilemman.

Förra veckan kunde jag pusta ut när fyra deadlines var avklarade. Firade med en hyffsat pluggfri helg som inställdes fylldes med middagsbjudning hos mig, yoga, kickbox, FaceTime, pysselevent och en lång utekväll i San Fransico. Helgen fick fortsätta lite till och i måndags var jag på Nordic Innovation House där Johanna hade avskedsevent och på tisdagen var vi på inspirations-/karriärsmiddag som hölls av tjejföreningen för Computer Science. Insåg sen att jag kanske pustat ut lite väl mycket i och med mina tre nya deadlines varav två är stora programmeringsuppgifter. Min kod spökar och jag letar nu envist efter buggarna. Bortsett från att jag inte fått det att fungera än är det väldigt roliga uppgifter! I den ena kodar vi ett eget Maya/Blenderliknande program (”Cardinal3D”) och behöver implementera egna funktioner för t ex subdivision och beveling. I den andra uppgiften simulerar vi kollisioner – med spaghetti och köttbullar som testobjekt. Det får bli en plugghelg. Eventuellt att jag inte kan motstå de fester som vankas för Super Bowl, men, mestadels en plugghelg. 

Procedurella kottar (?!)

Jag har alltid haft lite för kort tålamod för 3D-modelleringsprogram. Det kan börja med att jag föreställer mig att snart kunna modellera ett urhäftigt lejon där man ser varenda muskel arbeta i animationerna. Ett par timmar av frustration senare stänger jag mer – med en grå kub som resultat ungefär. Vill kunna allt på en gång och tar mig inte tiden att gå igenom grunderna.

Nu använder vi Houdini i en av mina kurser och jag gillar det (stundtals haha). Det är specialiserat för att kunna skapa procedurella modeller, animationer och simuleringar. Det vill säga att jag kan komma undan rätt bra med kod istället för att trixa manuellt. Jag tokgillar kottar av någon anledning så det fick bli min utmaning för veckans homework. Genom att skapa parametrar som justerar längd, form, täthet och taggar kan jag nu skapa många unika kottar på nolltid. Behöver alltså inte flytta runt på alla kottfjäll om jag vill testa ett nytt utseende. Det här är modellering mer i min smak – även om jag inte kände så i förrgår när ”kotte” såg ut som i första bilden.

Början till en procedurell kotte! Varje fjäll utgår från en box som jag modifierat formen på. Detta fjällobjekt kopieras sedan enligt matematiska uttryck till punkter på mittaxeln.
Efter två kvällar av slit! Vet inte om jag gillar kottar lika mycket länge men med tanke på att det ändå blev hyffsat kott-likt är jag nöjd.

Detaljer, För den kunskapstörstiga:

Dessa är parametrarna jag skapade. Ändrar jag värdet på någon så har jag sett till att det i sin tur påverkar egenskaper hos mina objekt.
Här kan ni se ett exempel av hur egenskaperna påverkas. Storleken av denna box (som utgör basen för ALLA kottfjällen) är direkt beroende på vad man väljer i slidern. Centerpositionen är dessutom beroende av radien på mittaxeln. Och så vidare!

”It should be fun because you can do whatever the hell you want”

(Ett utdrag ur en av dagens introduktionsföreläsningar). Lite så låter det faktiskt i alla tre kurser jag ska läsa nu, ett slutprojekt i varje som är open-ended. Väldigt skönt och roligt på ett sätt, att få fria tyglar, men det ger också utrymme för att ändra idéer cirka tusen gånger under de här första veckorna.

Uggh jag har mest bara behov av att skriva av mig lite.

Det kommer bli tufft att rodda tre större projekt (utöver alla mindre projekt som räknas som homeworks) under en och samma period. Jag försöker därför se om det går att koka ihop två kursprojekt till ett större vilket är vanligt att göra här. Sedan valen om att köra projekten själv eller i grupp. Ensam = kan välja helt själv vad jag vill göra (+), mindre socialt (-), lättare att kombinera (+) och så vidare. All logistik som skulle komma med beslutet att ha tre projektgrupper samtidigt känns inte så lockande. Deep learning blir ett grupprojekt är det spikat nu iallafall, så får vi se med de andra.

Så dessa stressande tankar i kombination med alla nya intryck av nya kurser, nytt folk och information och utebliven lunch pga schemat gjorde sitt idag. Men, bättre känsla i slutändan samt taggad på kursen i animering och simulering. Härlig liten klass och en föreläsare som verkligen håller oss vakna med sina skämt och är inspirerade. Efter introduktionen hörde jag en annan student säga något i stil med ”wow haha nu känner jag typ att jag vill dedikera all min vakna tid åt detta” och jag relaterar. Bland annat den här videon gjorde oss peppade!

Mina kurser för andra quartern

Här är de kurser som jag börjar läsa nu och fram till slutet av mars!

Det blir en mix av att fördjupa mig i medieteknikiska ämnen samt en första kurs inom AI. Har insett att jag kan lyssa på en podcast om machine learning utav bara intresse snarare än att det känns som att jag pluggar. Det är nog en bra utgångspunkt för att välja en sådan kurs. ”Everyone does machine learning” har jag hört det sägas många gånger sen jag kom hit. Om jag fastnar för det helt får vi se, men jag känner att jag vill ha en grundförståelse. Kunna hänga med i artiklar och nyheter, vara kapabel till att koda ihop något om det behövs. Förbereder mig med podcasten Machine Learning Guide. Jag har aldrig riktigt tagit tag att lära mig Python ordentligt så det blir förhoppningsvis två flugor i en smäll.

Är också taggad på att läsa två kurser inom computer graphics, det känns som att det var ett tag sen nu. Så pass att jag känner mig en aning ringrostig när det gäller linjär algebra, modeller för sådant som kollisioner, animationer, perception och så vidare. Så en snabb recap och sedan dyka ner i alla programmeringsuppgifter, det känns både utmanande och roligt. 

CS 230: Deep Learning

Instructor: Andrew Ng, Kian Katanforoosh

”In this course, you will learn the foundations of Deep Learning, understand how to build neural networks, and learn how to lead successful machine learning projects. You will learn about Convolutional networks, RNNs, LSTM, Adam, Dropout, BatchNorm, Xavier/He initialization, and more. You will work on case studies from healthcare, autonomous driving, sign language reading, music generation, and natural language processing. You will master not only the theory, but also see how it is applied in industry. You will practice all these ideas in Python and in TensorFlow, which we will teach. AI is transforming multiple industries. After this course, you will likely find creative ways to apply it to your work.”

CS 348C: Computer Graphics: Animation and Simulation

Instructor: Doug James

”Core mathematics and methods for computer animation and motion simulation. Traditional animation techniques. Physics-based simulation methods for modeling shape and motion: particle systems, constraints, rigid bodies, deformable models, collisions and contact, fluids, and fracture. Animating natural phenomena. Methods for animating virtual characters and crowds. Additional topics selected from data-driven animation methods, realism and perception, animation systems, motion control, real-time and interactive methods, and multi-sensory feedback.”

CS 248: Interactive Computer Science

Instructor: Kayvon Fatahalian

”Topics include: 2D and 3D drawing, sampling theory, interpolation, rasterization, image compositing, the real-time GPU graphics pipeline (and parallel rendering), VR rendering, geometric transformations, curves and surfaces, geometric data structures, subdivision, meshing, spatial hierarchies, image processing, time integration, physically-based animation, and inverse kinematics.”

Vinterledighet som innebär lov på riktigt

Väldigt, väldigt skönt.

Senast vintern för 4 år sedan var jag helt ledig över jul. Då hade jag precis tentat av de fyra kurser jag läste på komvux för behörighet till civilingenjörsprogrammet. Egentligen hade jag inga spikade planer förrän hösten därpå, men pluggade ändå i turbofart bara för att vara helt klar innan jag skulle iväg med familjen. Bara för att det är så skönt att koppla av totalt. Sedan dess har risgrynsgröt varvats med linjär algebra och afterski har inneburit vektoranalys.

I år blev jag alltså klar redan den 14 december, med hela tre veckor ledigt tills nästa kursstart. Bara ett par timmar efter att jag lämnat in min tenta den dagen landade Samuels flyg och vi fick äntligen krama om varandra efter 100 dagar på olika kontinenter. Vi åkte in till San Francisco, beställde hamburgare på In n Out och njöt av fina höjdmeter i Pinnacles national park. Lite Game of Thrones, lussebullsbak och lyxbrunch på det. Vi reste sedan vidare tillsammans till Mexiko, mötte upp Samuels familj och gottade oss med fina stränder och god mat. Efter några dagar på tu man hand ute på Isla Mujeres är jag nu tillbaka på ett väldigt tomt Stanford. Nu har jag en vecka att bara vara, förbereda mig inför våren lite. Klyshigt nog har jag en massa nystartspepp!

2/3 kurser avklarade av första quartern!

Det finns alltid en anledning att fira med en Dish Hike. Speciellt två avslutade kurser (!!). Igårkväll hade vi deadline i kursen Incentives in Computer Science där vi trixat med cybersecurity som projektarbete, ett arbete som resulterade i att jag blev rätt såld på idén om att bli en grym ethical hacker. Vi får se när jag hittar tiden till det haha. Och wow att alla homeworks i den här kursen är markerade som submitted nu. Jag känner mig rätt säker gällande att klara saker så länge jag har tid på mig, men nu får jag allt jobba upp min hastighet för att hänga med.

Samt i onsdags hade vi presentation av vårat spel Mars 2030. Det var roligt att endel av domarna var branchfolk från t ex Apple, Zynga, och Riot och att de alltså spelade vårt spel. Det har minst sagt varit en intensiv kurs med att koda ett nytt spel i veckan de första 4 veckorna och sedan ett slutprojekt på 5 veckor. Extra kul att få publicera spelet för att sen marknadsföra med GoogleAds och analysera resultatet, verklighetsförankrat liksom. Det var många bitar som skulle klaffa då vi valde att göra ett RTS-spel på så kort tid, men vi fick ihop det ändå (med ett par buggar såklart) och framförallt var vi så nöjda med sammarbetet i gruppen!

Nu har jag en knapp vecka att plugga inför min sista tenta. Sedan har jag en jul i Mexiko att se fram emot tillsammans med Samuel. Ytterst bra motivation alltså. Hörs! 

Launching of our game ’Mars 2030’

Yay we’re launching our final project in the game development course!!

Interested in the multiplanetary idea, SpaceX etc?? Let’s see if you would enjoy the red planet. ツ
This is a RTS style game where you’re just arriving at the planet Mars, but your pod is crashing. This makes the start of your new life more difficult as you start off with absolutely nothing.. By exploring and collecting resources you can start building your home base and also train new units to grow your people/army. Try it! 

Created by Kristina Beck, Sara Olsson, and Maurice Chiang.
Course CS 146, Stanford University. Project time: ~5 weeks 

Make sure to also have a look at our trailer. Extra fun: The first 13 seconds show a visualization of the successful landing sequence of the Mars InSight lander on November 26th, 2018. Rendered using the open-source Astrovisualization framework OpenSpace which is a collaboration between Linköping University, the American Museum of Natural History, Goddard’s Community Coordinated Modeling Center, New York University, and the University of Utah.

Envy-free

Under en föreläsning i spelteorikursern den här veckan så gick vi igenom Envy-freeness. Algoritmer för att dela resurser så att ingen blir missnöjd, ingen avundsjuk. Tänk om en kunde komma på en bra algoritm för hantera även subjektiv avundsjuka. Det vill säga den som kan dyka upp oväntat, den som ofta är ologiskt och destruktiv.

För ibland bara finns den där, nyheten. Den som ger en underlig känsla. Kanske är det ett inlägg på sociala medier, någons nya jobb, nyheten om vem som blev projektledare. Det lär vara olika för alla just vilka typer av nyheter en har svårt att ta, själv känner jag att mina ofta är underliga. Liksom, småsaker, antaglingen inte de man skulle chansa på. 

Så har jag kommit på någon bra algoritm för det här? Hm. Åtminstone har jag börjat förstå vad som fungerar för mig. Jag tror inte att man varken helt och hållet kan eller nödvändigtvis behöver stänga ute all avundsjuka från sitt liv, det kan säkert vara motiverande till ett viss grad. Men jag vill inte gärna vara avundsjuk på en specifik grej i mer än ett par timmar eller en max en dag. Så jag tar in nyheten och låter tankarna komma, försöker kliva ut ett steg och förstå anledningen till känslan. Hade jag velat att det här hände mig istället? Är jag rädd att de personer jag bryr mig om kommer påverkas på något vis? Ville jag att det var jag som kom på den där idén? Sen är det bara att acceptera: oj där blev jag avis. Ibland räcker det med att jag tänker det eller skriver av mig, andra gånger fungerar det fint att tala om för den eller de berörda personerna att det där sved till lite. Trist att en kan tro/tycka att det är tabu.

Tanke som slagit mig:
Det kommer alltid finnas något att vara avundsjuk på, oavsett vilka mål jag når. Låt säga att jag slår världsrekord i något. Jag skulle fortfarande kunna vara avundsjuk på en nybörjare i samma gren bara för att personen har en snabbare utveckling än mig. Slutsats: och då kommer jag aldrig vilja ge för mycket energi åt det.

För min egen del är jag nog mest mottaglig för nyheter som går in i kategorin ”hade jag velat att det där var min bedrift?” Ett knep som jag har använt nu många gånger är ett tankesätt som jag tog åt mig från podden Something You Should Know. En smart snubbe sa något i stil med att om man brinner för något och kämpar för att prestera inom det området, men inte kan hantera andras framgångar inom samma sak, då kanske man brinner för att vara bäst (inom vadsom) snarare än för det man gör. Så om jag exempelvis skulle känna avundsjuka för att någon annan, speciellt en tjej, firar en framgång inom sin teknsika karriär så påminner jag mig själv att om jag låter en sån giftig tanke finnas kvar så säger det emot allt jag brinner för som har att göra med teknikutveckling och ökningen av kvinnor i teknikvärden. Det blir då väldigt enkelt att vinka adjö.

Förmågan att kunna glädjas med andras framgångar, det är en fin grej det.