Conway’s Game of Life

I kveld har Bergen CodingDojo hatt sitt andre møte. Jeg skulle vært med, men måtte desverre trekke meg i siste liten pga. sykdom.

Oppgaven det skulle jobbes med i dag var Conway’s Game of Life. Dette er en god dojo-oppgave fordi det er mange måter å angripe problemet på, og det finnes flere løsninger med ulike kvaliteter. Corey Haines og de andre som arrangerer Code Retreats rundt omkring i verden bruker også denne oppgaven. Er du interessert i å vite mer om hva det er for noe anbefaler jeg å ta en titt på Corey’s introduksjon til en Code Retreat som ble arrangert i Cleveland.

Jeg løste Game of Life i forrige uke i påvente av kveldens dojo. Da brukte jeg CoffeeScript og HTML. Jeg brukte ingen enhetstester, men testet interaktivt i browseren hele tiden.

Og jeg tok det opp på video. Har du 12 minutter til overs kan du se hva jeg gjorde. Bruk full screen, og pass på at du ser den i HD. Skru også opp lyden, for jeg la på litt kul musikk.

Conway & Coffee from Torbjørn Marø on Vimeo.

Etter at jeg lagde videoen utvidet jeg også løsningen til å støtte et uendelig grid. Har du Chrome (virker i alle fall ikke i IE) kan du se løsningen live her (pass på, den begynner å bli ressurskrevende etterhvert hvis griddet vokser seg stort).

Vi jobbet også med Conway’s Game of Life i en intern coding dojo i PSWinCom i forrige uke, og vi har tenkt å gjøre det igjen i flere uker fremover – som en Code Retreat strukket utover i tid. Og vi begynner på nytt hver gang – fokuset er ikke å fullføre en komplett løsning, men å trene på å skrive “perfekt kode”.

Nå er jeg spent på å høre hvordan det har gått på kveldens dojo…

Kategorier: NNUG / community, Webutvikling.
RSS feed for kommentarene. Tilbaketråkk.

4 kommentarer til “Conway’s Game of Life”

  1. Lars Storjord Says:

    Lærerikt (jeg kan ikke coffeescript) og fint å se på! Det ville vært ekstra stas om du lagde to versjoner: én i vanlig hastighet med stemmekommentar om hva du gjør/hvorfor, eller som viser tankegangen, og én som den du har laget.

    Vil forresten anbefale å titte på noen html-plugins til vim :)

  2. Torbjørn Says:

    Flere som har bedt meg legge på stemmekommentarer på videoene mine, og jeg driver og manner meg opp til å gjøre det på fremmtidige videoer :)

    Og det finnes sikkert mange Vim plugins jeg kunne hatt gleden av. Har du noen å anbefale?

  3. Lars Storjord Says:

    Det er sikkert en treningssak! Det hjelper kanskje å ha en kamerat ved siden av første gang du gjør det, så kan du snakke til ham i stedet for til mikrofonen? Føles kanskje mer naturlig.

    For HTML er surround.vim et must for meg. Har samlet opp en enkel (og kanskje litt utdatert) oversikt over mine viktigste vim-ressurser her: http://folk.uio.no/larsstor/vim.html

  4. Bjørn Einar Bjartnes Says:

    Sweet :)
    Jeg tror egentlig jeg liker det som det er, med musikk. Litt av utfordringen, som jeg synes du gjør bra, er å kode godt og la koden snakke for seg, ikke snakke seg det rundt den naturlige flyten, og vise med eksempler underveis.
    Er det noe man _må_ forklare med ord, mener jeg det er best gjort som f.eks. når du kopierer inn noen kommentarer.

Skriv en kommentar

Tillatte tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Torbjørn: Jostein: Generator expressions heter det vel i Python-verden, og er vel i...

Jostein: Gleder meg til å følge med videre på denne serien! :) Spørsmål: Jeg ser ...

Torbjørn: Godt mulig du traff på den siste der ja :)...

Ameth: Hmm, parser innebygget i språket … Perl 6 rules? REBOL?...

Torbjørn: Haskell er ikke et av språkene jeg har tenkt å bruke, så takk for den. Intere...

Torbjørn: He, har Ruby også flat_map?? Jaja, man lærer sålenge man lever :)...

Ole Christian Rynning: For ordens skyld, Ruby-variant med flat_map: ['This is a test', 'And so is this'...

Ameth: Kult, gleder meg. Her er en løsning i haskell, btw: http://hpaste.org/64031...

Svein Arne Ackenhausen: Høres spennende ut. Gleder meg til å følge med :-)...

Torbjørn: Takk for at du leste en gammel artikkel, takk for kode, og takk for link til et ...

Mulig relaterte linker

 Hold deg oppdatert

Søk i bloggen

Ferske innlegg

  • Tanker om NDC 2012
  • Opus Polyglotis II: Ruby
  • Opus Polyglotis II: Python
  • Opus Polyglotis II
  • Kategorier

  • .net ninja (37)
  • Bøker (17)
  • Diverse prosjekter (36)
  • DSL (10)
  • Erlang (10)
  • F# (5)
  • Hardware (1)
  • Jobb (78)
  • Julekalender (51)
  • kjempekjekt.com (23)
  • LISP/Clojure (33)
  • NNUG / community (61)
  • O/RM & databaser (10)
  • Off topic (116)
  • OO-design/clean code (30)
  • Podcasts (14)
  • Polyglot (80)
  • Ruby (28)
  • Silverlight / RIA (3)
  • Software/verktøy (20)
  • Softwareutvikling (21)
  • Testing / TDD (30)
  • the contiki strip (13)
  • User experience (3)
  • WCF (3)
  • Webutvikling (32)
  • WPF (9)
  • WTF (12)
  • Last ned Wallpaper

    Programmeringsbloggens tøffe skrivebordsbakgrunn med snippets fra ulike språk laster du ned her!

    Abonner via epost

    Om du vil kan du få alle nye blogposter tilsendt til din epost. Abonner nå, det er kjempeenkelt!

    Meta