Efter at have fået opsummeret år 2013 er det tid til at kigge på år 2014 der allerede er godt igang. Inspireret af erfaringerne fra sidste års målsætning har jeg i år valgt at prøve at lave min målsætning på en lidt anden måde. Jeg har sat mig to mål får året, et personligt og et professionelt, indlægget her vil fokusere på det professionelle.

Jeg har længe haft en ambition om at blive selvstændig og kunne leve af egen (egne?) virksomhed(er). Målet for i år er derfor at begynde at tjene penge på egen virksomhed. Målet er ikke at gå selvstændig på fuld tid i år, men bare at bruge en del af min fritid på at bygge et fundament der forhåbentlig gør det muligt over en årrække.

Jeg har et par projekter i støbeskeen som forhåbentlig kan begynde at give en indtjening i løbet af året, plus jeg er stille og roligt begyndt at finde nogle potentielle samarbejdspartnere og kundeemner. Så det handler om at finde en måde at give værdi til disse, så jeg forhåbentlig kan gøre nogle af dem til indkomstkilder.

Målet er ikke nær så skarpt defineret som de målene fra sidste år, men erfaringen siger at det fungerer bedre at sætte de mere konkrete mål indenfor en kortere tidshorisont, da det gør det lettere at tilpasse dem løbende i takt med at virkeligheden ændrer sig.

2013 er overstået, 2014 er godt i gang, og det er ved at være på tide at få afsluttet det forgangne år så fokus rigtigt kan komme på det igangværende.

Jeg satte mig i starten af året en række mål for 2013. Der var en del mål, og flere af dem vidste jeg på forhånd var ret ambitiøse. Det var heller ikke alle målene jeg nåede, men jeg synes at jeg nåede nogle af de væsentlige, desuden lærte jeg en del, selv af de mål jeg ikke nåede så det må betegnes som en succes.

Jeg vil her nøjes med at opsummere de væsentligste sejre og nederlag. Nederlagene først.

Jeg havde udvalgt 2 projekter jeg gerne ville lancere i løbet af året, og ingen af dem har endnu set dagens lys. Efter at have afsluttet mit speciale valgte jeg at gennemgå alle de projekter jeg havde liggende på sidelinjen. Det viste sig at jeg på det tidspunkt ikke længere mente at de projekter jeg havde udvalgt mig ved årets start gav lige så meget mening som da jeg valgte dem. Projekterne i sig selv blev altså ikke en succes (det ene er dog ikke helt afskrevet endnu), men tankerne jeg gjorde mig om valget af projekter og deres skæbne lærte mig en del om hvordan jeg bedst udvælger projekter med potentiale, samt hvordan jeg bedst arbejder med dem. På trods af projekternes skæbne fik jeg mig altså nogle gode insights som jeg er sikker på jeg får meget glæde af fremover.

Jeg havde også som mål at deltage i en form for startup- eller hacker- weekendarrangement. Dette skete da jeg i starten af året deltog i Nordic game jam. Det var en hård, men spændende weekend hvor jeg mødte nogle spændende mennesker, og prøvede projektarbejde på en måde der var meget anderledes end hvordan jeg normalt arbejder. Dette var altså både lærerigt på flere planer, samt et fuldført mål.

Lidt i samme boldgade havde jeg en plan om at forlade landet min. 2 gange. Et mål jeg også nåede, først med en tur til Barcelona med nogle venner, efterfulgt af en tur med arbejdet til DrupalCon i Prag. Det var to meget forskellige, men utroligt gode ture på hver sin måde, og endnu et mål opnået.

En anden aflægger af weekenden og rejserne er at jeg er blevet bedre til at deltage i arrangementer af både professionel og social karakter i min fritid. Jeg har både deltaget i et par CopenhagenJS og WordPress Meetup arrangementer. Det har været spændende fagligt og har givet en del til mit netværk, så det vil jeg helt sikkert gøre noget mere.

Det vigtigste kortsigtede mål var nok at få afsluttet mit studie. Det lykkedes i Juni da jeg forsvarede mit speciale. Det betyder at jeg nu kan kalde mig Civilingeniør, eller M.Sc in Digital Media Engineering. Dette medførte at jeg i September gik fuld tid på mit daværende studiejob hos webbureauet Dwarf hvor jeg stadig sidder som Drupaludvikler. Endnu en succes for året!

Alt i alt har det været et rigtig godt år, og jeg føler virkelig at jeg har rykket mig fremad på mange områder. Så gælder det bare om at holde dampen oppe og blive ved med at rykke. 2014 kan kun blive godt!

Jeg erklærede tidligere min 30-dages udfordring for April, så det må være på sin plads med en lille opsamling, selvom April er ved at være længe siden. Udfordringen bestod i at dyrke en eller anden form for motion hver eneste morgen hele April måned, og den korte version er at udfordringen er klaret.

Den lidt længere version indeholder en del armbøjninger, der hurtigt blev den foretrukne motion de fleste morgener. Men der blev da også plads til næsten 50km løb i løbet af måneden ikke overvældende, men det hjalp med at få mig i gang med at løbe igen.

Udover den planlagte motion siger min skridttæller at jeg i gennemsnit har gået 11114 skridt/dag, så alt i alt en fornuftig måned rent motionsmæssigt.

Hovedformålet med ufordringen var at se om motion fra morgenstunden ville have indflydelse på min produktivitet i løbet af dagen, men umiddelbart fandt jeg ingen, eller kun meget lille sammenhæng. Til gengæld har projektet hjulpet mig med at få dyrket mere motion, hvilket betyder at jeg er kommet i bedre form over det sidste stykke tid, så helt spildt har det selvfølgelig ikke være. Desuden har jeg haft bedre fokus og jeg har generelt fået lavet mere, bl.a blev arbejdet med mit speciale en del mere effektivt. Om dette skyldes at jeg er kommet i bedre form, den voksende mængde af solskinstimer eller noget helt andet er så noget jeg må eksperimentere herfra.

Desuden har jeg nu gennemført 2 af de 3 30-dages udfordringer jeg har sat som mål for 2013.

Der er i øjeblikket mange der taler om et botnet der på nuværende tidspunkt skulle være i gang med at brute force sig adgang til WordPress sites overalt. Der skulle efter sigende være tale om et angreb fra op til 90.000 forskellige kilder.

Om et sådan angreb er i gang eller ej skal jeg ikke kunne sige, men det har tilsyneladende fået rigtig mange WordPressbrugere til at genoverveje deres nuværende sikkerhedsniveau, så noget positivt er der da kommet ud af det lige meget hvad.

Jeg ser mange der diskuterer problemet og mulige løsninger, hvilket igen er positivt, men der er mange der ikke har helt styr på hvad der er godt og skidt, og evt. hvorfor, så jeg vil her prøve at give mit bud på nogle overvejelser man bør gøre sig inden man hovedløst kaster sig ud i installation af tilfældige sikkerhedsplugins.

En række supportere på det officielle WordPress support forum har sammen lavet en side på WordPress codex med tips og tricks til at sikre sig mod angrebet, så hvis du vil have den korte version på engelsk kan den findes her. Jeg vil gå lidt mere i dybden og forsøge at forklare det hele på dansk.

Hvad sker der egentlig?

For god ordens skyld vil jeg lige starte med at forklare det egentlige problem, så vi allesammen snakker om de samme ting, og for at give en idé om de overvejelser man bør gøre sig.

Botnets? What?

Det omtalte angreb stammer fra et stort botnet. Et botnet er et antal computere der, for det meste uden at ejeren ved det, bliver brugt af tredjepart til andre formål end hvad ejeren af computeren havde til hensigt.

I dette tilfælde handler det efter sigende om at bagmændende bag botnettet prøver at tiltvinge sig kontrol over flere computere, for på den måde at udvide deres botnet. De gør det ved at “brute force” sig administratoradgang til maskiner der kører websites bygget på WordPressplatformen. Hvis det lykkedes dem at få adgang til et WordPress-site gør de så dette site til en del af deres botnet, og på den måde vil angrebet vokse hver gang det lykkedes dem at overtage et WordPress-site.

Hvad så med det “brute forcing”?

Brute forcing handler om at tiltvinge sig adgang ved “brute force”, altså rå magt. Det foregår ved de simpelthen prøver at logge ind som adminbrugeren, ved at prøve mere eller mere tilfældige passwords, i teorien kan man jo gætte alle passwords hvis man har uendelige forsøg og god tålmodighed. Da der er tale om et automatisk angreb er det ikke noget der koster bagmændende noget tid, og de har derfor rigeligt med tålmodighed.

Men hvad kan jeg gøre ved det?

For det første skal du tage dine normale forholdsregler. Sørg ALTID for at holde WordPress fuldt opdateret. Det samme gælder alle installerede plugins og temaer. Dette er ikke specielt for det nuværende angreb, men alt software er usikkert på den ene eller anden måde. Folkene bag WordPress arbejder hårdt for at lukke alle sikkerhedshuller der bliver fundet så hurtigt så muligt, så sørg for altid at være opdateret. Sørg desuden for at slå alle plugins fra du ikke bruger. Som nævnt er intet software 100% sikkert, så en tommelfingerregel er at jo mindre software du har jo bedre.

Mht. det nuværende angreb er der selvfølgelig nogle ekstra ting du kan gøre.

Tag backup af alt!

En backup sikrer dig selvfølgelig ikke imod angreb udefra. Men hvis du skulle være uheldig enten at blive offer for angrebet, eller at få ødelagt dit site i et forsøg på at sikre det er det altså noget rarere at have end up-to-date backup, end at skulle starte helt forfra. Sørg altså for at tage backup af både selvesitet (via. FTP) og databasen (f.eks. via phpmyadmin), gerne lige nu, inden du forsøger at øge din sikkerhed.

Selve backupprocessen er afhængig af hvor du har dit website liggende, så der kan jeg ikke være så behjælpelig, men der findes som sædvanlig en række forslag på WordPress Codex.

Skift navnet på din adminbruger

Det igangværende angreb udnytter tilsyneladende at WordPress i gamle dage automatisk oprettede en administratorbruger med brugernavnet. Fra version 3.0 og frem har det været muligt selv at bestemme dette brugernavn, men det er ikke alle der har ændret det. En ændring af dette brugernavn vil gøre det sværere at brute force sig adgang til dit site, da angriberne så både skal finde brugernavn og password, i stedet for kun password.

Hvis du har en administratorbruger med brugernavnet admin kan det ændres forholdsvist enkelt med et plugin, eller ved et par manuelle skridt:

  1. Login som din administratorbruger
  2. I adminpanelet gå til “Brugere” -> “Tilføj ny”
  3. Opret en ny bruger, sæt brugerens rolle til administrator (med et ordentlig password!)
  4. Log ud.
  5. Log ind med din nyoprettede administratorbruger.
  6. I adminpanelet gå til “Brugere” -> “Alle brugere”.
  7. Hold musen hen over admin-brugeren, og tryk på det “slet”-link der kommer frem.

Hvis du oplever at du ikke kan slette admin-brugeren så dobbeltcheck lige at du har logget ind med din nyoprettede bruger, og ikke stadig er logget ind som adminbrugere (ja, vi kan alle lave trykfejl :-)).

Brug ordentlige passwords

Dette er vel nok det vigtigste punkt på listen, og desværre nok også det mest besværlige at gøre ordentligt. Sørg altid for at bruge ordentlige passwords der ikke er lige til at gætte. Som sagt foregår det nuværende angreb som et brute force angreb, hvor de prøver sig at gætte sig til dit password, dette vil normalt foregå på en af to måder.

Enten kan man prøve fra en ende af, med “a” som password, derefter “b”, når alle muligheder er opbrugt prøver man så med to bogstaver, “aa”. Dette kan selvsagt tage lang tid, men hvis dit password f.eks. er “asdf” tager det altså ikke lang tid.

En anden metode er at tage udgangspunkt i en ordbog. I stedet for at prøve alle kombinationer af tal og bogstaver nøjes man med ord fra en prædefineret liste af ord. Disse liste vil ofte også indeholde ofte brugte afarter af ord, hvor f.eks bogstaver er udskiftet med tal. Dette betyder at hverken “password” eller “p4ssw0rd” er særlig gode passwords.

Der er skrevet rigtig, rigtig, rigtig, meget om hvordan man gør sine passwords sikre. WordPress Codex nævner også nogle gode forholdsregler man kan forholde sig til. Der henvises desuden til nogle services der kan hjælpe med at generere og huske gode passwords. De væsentligste ting må være:

  • Lad være med at bruge personlige oplysninger, såsom dit navn, din fødselsdag eller lignende offentlige oplysninger.
  • Lad være med at bruge ord fra ordbogen.
  • Længere passwords er generelt bedre passwords.
  • Brug en blanding af store og små bogstaver, tal og tegn

Men husk altid på de ovenstående metoder der bruges til at gætte passwords. 5up3rM4nRul3z43v3r (superman rules forever) er altså ikke nødvendigvis et godt password, da det stadig er en sammensætning af ord der garanteret vil stå i enhver password breaking ordbog.
Gode passwords vil oftest (altid?) være svære at huske. En metode til at gøre det lettere er at bruge en passwordmanager, et program eller en service til at huske dine passwords for dig. Jeg bruger selv LastPass som gør at jeg har et meget stærkt password som jeg skal huske. Dette masterpassword giver så adgang til alle mine passwords til diverse websites. Det betyder at jeg kan bruge services til at generere tilfældige passwords (eller, ihvertfald tilfældige nok), uden selv at skulle huske alle disse passwords, eller nedskrive dem på papirer som jeg kan smide væk.

Bloker adgang til din loginside

Da det igangværende angreb forsøger at få adgang administratorinterfacet på WordPress sites via den normale loginmetode, er en mulighed for øget beskyttelse at begrænse adgangen til adminpanelet. De to mest brugte metoder til dette er:

  • Password-beskyt adminpanelet
  • Bloker adgang til filen på IP-niveau

Fælles for de to metoder er at de kan fungere på et af to niveauer. Det kan enten gøres via. WordPress selv, eller det kan gøres direkte på serverniveau. Om man bruger den ene eller anden metode kan umiddelbart virke ligegyldigt, men jeg vil gerne lige understrege hvorfor det gør en forskel.

WordPress er skrevet i PHP, som bl.a. bruges til at skabe dynamiske hjemmesider. Jeg har andetsteds skrevet lidt om forskellen på statiske og dynamiske hjemmsider (læs afsnittene om statiske og dynamiske hjemmesider, resten af artiklen er ikke relevant for dette emne). Men det betyder at hver gang sikkerheden bliver håndteret i WordPress skal serveren have hele WordPress i gang med at arbejde for først at finde ud af om en bruger skal have adgang til en ressource. Samme sikkerhed kan ofte klares på serverniveau, hvilket betyder meget mindre arbejde for serveren, da en evt. angriber vil blive forment adgang allerede inden WordPress bliver sat i gang.

Password-beskyt adminpanelet

Passwordbeskyttelse kan som nævnt foregå både på server- og på WordPressniveau. Passwordbeskyttelse på WordPressniveau foregår via. WordPress eget loginsystem, det er en beskyttelse vi snakkede om tidligere med ændring af adminbrugernavn, og brug af gode passwords.

Passwordbeskyttelsen kan dog også flyttes ned på serverniveau med HTTP authentication. Dette vil resultere i at når du tilgår din WordPress loginside vil du først møde en popup hvor du skal skrive brugernavn og password, og derefter vil du møde den normale WordPress loginside. Dette er selvfølgelig en afvejning af sikkerhed vs. convenience da det kan virke lidt irriterende at skulle logge ind to gange. Hvis du vælger denne metode skal du selvfølgelig huske ikke at bruge samme brugernavn/passwordkombination til begge lag af beskyttelse. WordPress Codex har selvfølgelig også instruktioner til hvordan du opsætter HTTP authentication, både på Apache og Nginx servere.

Bloker adgangen på IP-niveau

En anden metode er at blokere adgangen til WordPress-loginformen ud fra forespørgerens IP-adresse. Hvis du ved at du har en fast IP-adresse og at du vil have den samme adresse lige så længe som du har din WordPressside kan du selvfølgelig lave en opsætning der kun giver den ene IP-adresse adgang til din loginside, men det er de færreste forundt (og nu er ikke tidspunktet til en IPv6-diskussion).

Et alternativ, som vil være mere relevant for de fleste, er kun at tillade en IP-adresse X antal loginforsøg, før denne blokeres. Dette kan gøres på WordPressniveau vha. et plugin som WordFence (tak til Kasper Bergholt for anbefaling af pluginet, der tilsyneladende også kan mange andre lækre ting), men igen har vi problemet med at hele WordPresspakken skal startes op, før der kan tages stilling til om en bruger skal have adgang eller ej. Dette er dog noget mere besværligt, og nok ikke noget alle og enhver bare bør kaste sig ud i, men en guide til opsætning af af rate-limiting på Apache kan findes her. Hvis man vil opsætte rate limiting i .htaccess, kræver det dog at man kører Apache med mod_security 2.7.3 eller senere.

Et problem med denne tilgang til det igangværende angreb er at angrebet som forklaret udføres af et botnet der arbejder fra mere end 90.000 forskellige IP-adresser (med mulighed for udvidelse, hvis de får succes). Det betyder at de potentielt kan fortsætte angrebet fra en ny IP, hvis en af adresserne bliver spærret. Dog må der altid være en form for ressource cost tilknyttet hvis angrebet skal flyttes til en ny afsender, da der skal holdes styr på hvor langt hver angriber er nået i ordbogen. Så jo flere lag af sikkerhed du kan opsætte, jo sværere bliver det for angriberen.

Opsummering

Så for at opsummere hvad jeg mener du bør gøre for at højne din WordPress-sikkerhed generelt, og imod det måske igangværende angreb er:

  1. Hold WordPress opdateret, inkl.
    • WordPress core
    • Alle installerede plugins
    • Alle installerede temaer
  2. Tag backup. Om ikke andet for at gøre det lettere at komme tilbage på benene hvis uheldet skulle være ude.
  3. Lad være med at have en adminbruger med navnet admin.
  4. Brug ordentlige passwords. Brug evt. en passwordmanager.
  5. Passwordbeskyt din loginside.
  6. Bloker adgangen for IP-adresser der prøver at gætte dit password.

Hvis i har andre gode råd til beskyttelse af WordPress hører jeg selvfølgelig også gerne om det i kommentarfeltet nedenfor, så vi kan få spredt ordet om ordentlig sikkerhed (At lade være med at bruge WordPress godtages ikke som et godt råd, så hvis det er din mission, så spar dig selv besværet og lad være med at skrive det her).

Nu har jeg efterhånden ikke haft en 30-dages udfordring siden Januar. Det holder jo ikke hvis jeg nogensinde skal kunne nå at gennemføre min. 3 stk i løbet af året. Desuden har jeg nu i ca. 3 måneder arbejdet med forskellige systemer og metoder, til at holde overblik over mine projekter og til at nå mere, så jeg burde have lært noget brugbart efterhånden, og det mener jeg da også at jeg har.
Jeg har flere gange læst om den fantastiske sammenhæng mellem motion og produktivitet. Jeg har ingen konkrete beviser på sammenhængen, men jeg mener selv at jeg har set en sammenhæng i form af øget produktivitet på dage hvor jeg har dyrket en eller anden form for motion.
Min 30-dages udfordring for April bliver derfor at starte hver dag med at dyrke en eller anden form for motion. Omfanget vil svinge meget fra dag til dag, alt efter hvad jeg lige har af tid fra morgenstunden. Nogen dage vil jeg starte stort enten med en WOD eller en løbetur, mens andre dage (især arbejds- og tømmermandsdage) vil være noget mindre prangende, disse kunne f.eks. bestå af 10 armbøjninger eller lignende. Planen er selvfølgelig at dette skal hjælpe mig til at blive mere produktiv, men det skal også hjælpe med at holde mig til ilden i forbindelse med min træning, og ændre mit mindset mht. både produktivitet og træning. Dette er et emne jeg vil komme mere ind på i senere indlæg, hvor jeg også vil komme lidt ind på hvad der kom ud af udfordringen med de 750 ord fra min Januarudfordring.

Jeg har i tidens løb nævnt en række projekter af forskellig størrelse, som jeg har arbejdet på. Nu er det tid til endnu et, og det er et større et af slagsen, specialet på mit studie på DTU, og dermed afslutningen på mit studie til civilingeniør.

Jeg skal arbejde med en idé jeg har haft igennem længere tid, men som jeg aldrig er kommet i gang med, men nu skal det være. At jeg kan få lov til at arbejde med et projekt som jeg synes er så interessant er jo kun en bonus.

Den grundlæggende ide

Den grundlæggende idé er rimelig simpel, så simpel at det egentlig undrer mig at jeg ikke kan finde andre der har gjort det endnu, ihvertfald ikke i København.

Der er mange muligheder for at gå ud i København, her tænker jeg på barer, værtshuse, spillesteder osv. Faktisk er der så mange at det kan være svært at vælge hvilket sted man skal vælge på et givent tidspunkt. Samtidig er der tilpas mange til at det er svært at have et overblik over de muligheder man har når man gerne vil ud. Det bliver ikke lettere hvis man på et tidspunkt befinder sig et sted i byen man måske ikke kender så godt, og hvor man måske ikke lige ved hvor man bør gå hen (*host* Amager).

Den grundlæggende idé er så en simpel mulighed for at søge efter steder i nærheden af hvor man befinder sig. De fleste har efterhånden adgang til en smartphone når de går ud. Disse indeholder både adgang til internettet og lokationsmuligheder, så de teknologiske krav er som oftest opfyldt, der mangle bare servicen.

Dette kan man delvist klare allerede med eksisterende services som AOK eller Yelp hvis man kan få filtreret spisesteder og shopping fra. Det nu hedengangne MitKBH kunne indtil for nylig også delvist tilbyde noget lignende, ligesom Carlsberg med deres nye CrowdIt vist nok også prøver.

Hvor er underholdningen?

Nogen gange vil man dog lidt mere end bare at finde det nærmeste sted, da man forskellen mellem en god og en dårlig bar kan være så simpel som en 30m gåtur. Derfor kan det være relevant at kigge på lidt mere end bare afstanden.

Den første udvidelse til den grundlæggende idé var derfor at udvide søgningen til at omfatte flere af barernes tilbud. Det kunne være noget så simpelt som at finde en ryger eller ikke-rygerbar, eller f.eks. det kunne være muligheden for at søge efter barer der tilbyder

  • Poolbord
  • Billard
  • Dart
  • Whiskeykort
  • Specialøl
  • Osv.

Mulighederne er mange da vi hver især har forskellige formål med at tage ud. Teknisk er der dog stadig tale om en rimelig simpel søgefunktion, næppe noget der har specialepotentiale for en IT-studerende. Det skal være vildere!

Det mere avancerede

En lokation er bare en af de mange ting en smartphone kan fortælle om brugeren. En smartphone er på mange måder en bærbar PC i klassisk forstand, altså en Personlig Computer (frit oversat). Den vil derfor ofte have kendskab til mange flere oplysninger der kan gøre et søgeresultat mere interessant for brugeren, og det er her det egentlige specialepotentiale kommer ind i billedet. Med adgang til flere oplysninger om brugeren bliver det muligt at tilbyde en mere personaliseret service, og der er generelt mange data der kan bruges til at forbedre oplevelsen.

Dine vaner kan over tid fortælle noget om hvilke steder, eller hvilken type steder du normalt vil vælge. Dette kan bruges til at anbefale nye steder enten i samme genre, eller steder som andre med vaner i stil med dine anbefaler.

En anden mulighed er at kigge på Facebook. Hvilke steder anbefaler dine venner, disse kunne måske have interesse for dig også, især hvis det er venner du i forvejen er meget sammen med, eller ofte tager i byen med.

Selv noget så simpelt som tidspunktet kan være interessant at kigge på. Der er næppe nogen grund til at anbefale en bar der lukker en halv time senere, hvis det i forvejen tager ti minutter at gå derhen. På den anden side kunne det være interessant hvis dine venner har offentliggjort, f.eks. med et Facebook check-in, at de er et sted i nærheden af dig.

Selve specialet

Jeg har efterhånden diskuteret idéen med en del mennekser (mange tak for inputs, alle sammen!) og det er der kommet rigtig mange spændende idéer ud af, også mange flere end opsummeret ovenfor, så jeg tror på at der er rigeligt med muligheder for at udvide konceptet, og hvilke idéer og tilgangsvinkler jeg ender med at vælge er jeg stadig ikke helt sikker på, men jeg tror der er potentiale.

Drupal er et stort og komplekst system. Der er mange ting man skal sætte sig ind i for at forstå, og kunne arbejde med det. Dette indlæg vil være en oversigt over en del af Drupals terminologi, og en række vigtige koncepter vil blive opsummeret. Dette er mere en huskeliste, end en introduktion, så forvent ikke at det lærer dig alt om Drupal, men hvis du er i gang med at lære Drupal kan det forhåbentlig hjælpe til at forstå nogle af koncepterne bedre.

For at gøre det hele lidt sjovere har nogle af termerne flere forskellige betydninger i Drupal, så det gælder om at holde tunge lige i munden.

Entity
  • Drupals fundamentale klasse til indholdstyper.
Node
  • Basistypen for det meste indhold i Drupal.
  • Et indholdselement, f.eks. et blogindlæg.
Content type
  • En definition af en type indhold, f.eks. billede, eller blogindlæg. Nedarver fra Node.
Page
  • En content type til statisk indhold
  • En display type. En page kan definere hvordan indholdet på en side skal struktureres.
Block
  • Et mindre, selvstændigt element på en page. En block kan f.eks indeholde en statisk tekst såsom en copyright disclaimer, eller funktionalitet i form at et søgefelt eller en loginformular.
View
  • Et view definerer et dataudtræk fra en database. Views kan inkluderes på andre sider og f.eks vise nyeste indlæg eller lignende.
Field
  • Et field er et datafelt tilknyttet en contenttype. Det kan f.eks. være et tekst-felt til nodens brødtekst, eller et datofelt der fortæller hvornår en node er offentliggjort.
Template
  • En template er en skabelonsfil. Det er en PHP-fil der beskriver hvordan sider skal opbygges. Templates kan både være meget generelle, såsom node.tpl.php, men kan overskrives af mere specifikke templates, såsom node-type.tpl.php.
    Region
    • En region er en underdel af en template.
    Theme
    • Et theme beskriver et websites udseende. Det består af en række templatefiler, css-filer og PHP-filer hvor Drupals theme_ funktioner overskrives.
    Taxonomy
    • Taxonomies bruger til at styre kategoriseringen af indhold på et website
    Vocabulary
    • Et vocabulary, eller et ordforråd, er en kategori af de tags der bruges til at kategorisere indhold på et website.
    Term
    • En term er selve det tag der bruges til at kategorisere indhold på et website. Tags er hierarkiske, dvs. de kan have andre termer som parents og childrens.

    Forskellige content typer kan få tildelt ordforråd. Hvis du f.eks. driver en webshop der sælger tøj, kan man lave et ordforråd der hedder farver. Der kan så laves en content type der hedder “trøjer”, der linkes til ordforrådet “farver”. En trøje node, vil så kunne tagges med farver fra ordforrådet, alt efter hvilke farve trøjen findes i. Hvis trøjer også er linket til et ordforråd kalder “størrelser” vil man f.eks. hurtigt og enkelt kunne søge efter ting som “røde trøjer i størrelse XL”.

    Jeg er stadig ny til Drupal, så dette er de beskrivelser jeg er kommet frem til indtil videre. De fleste burde være nogenlunde på rette spor, men jeg kan ikke garantere validiteten af alle ovenstående beskrivelser. Hvis du har indspark eller rettelser hører jeg meget gerne om det, så jeg, og andre der evt. læser med, kan blive lidt klogere.

    Så sluttede Januar og det er tid til et tilbageblik på måneden. Som det har været antydet på bloggen er der sket en del i denne årets første måned, både i mit liv generelt, og i forhold til mine mål for året.

    Måneden der gik

    De første to mål på listen handler om at skrive hvad der svarer til et indlæg per uge, både her og på mad og øl-bloggen. Her på bloggen er jeg stadig med, med ca. et indlæg per uge, og jeg har desuden et par emner til techindlæg jeg skal have skrevet. På ølbloggen er jeg en smule bagud, men jeg må jo se at få smagt nogle flere øl.

    Næste mål er lanceringen af mit nye PHP-site. Dette har jeg fået arbejdet en del på i løbet af måneden og det er nu meget tæt på at være klar. Det bliver meget rart snart at få det ud til offentligheden.

    Lanceringen af localpub og afslutningen af mit studie var fra starten af to forskellige projekter, men det ser nu ud til at de to bliver kombineret. Projektet er altså skudt i gang, og jeg håber snart at kunne komme med noget mere konkret om projektet her på bloggen også.

    Et andet mål for i år har været at ville gennemføre min. 3 30-day challenges. Januarudfordring var at skrive dagligt, på 750words. Med 31 dage og mere end 25.000 ord overstået er dette lykkedes, hvilket betyder at jeg har gennemført den første af de 3 udfordringer.

    Statistik fra 750words.com

    Målet om at gennemføre 3 onlinekurser er der endnu ikke sket nogen udvikling i, men man kan jo ikke nå det hele på en gang. Jeg har heller ikke forladt landet endnu, men jeg er lige så stille begyndt at gøre nogen overvejelser og snakke med nogle mennesker om hvordan og hvornår.

    Som nævnt i et tidligere indlæg var jeg frivillig og deltager til årets Nordic Game Jam, hvilket ud over at være en sjov oplevelse med nogle spændende mennesker også tæller som det hackerjam jeg i følge planen gerne ville nå i år. Jeg kan altså allerede nu strege første mål fra listen. Det skal selvfølgelig ikke holde mig fra at deltage i andre hackerjams hvis der dukker flere spændende tilbud op.

    Jeg har endnu ikke fået bidraget med kode til nogen open source projekter, men jeg er sikker på jeg nok skal nå det i løbet af året.

    Udover mine mål for året er jeg i den forgangne måned også startet på nyt job, hvor jeg skal arbejde med PHP og Drupal. Det kan derfor godt forventes at der vil dukke flere Drupalindlæg op her på bloggen løbende. Dette vil forhåbentlig også kunne hænge sammen med mit mål om at bidrage kode til et open source projekt.

    Den kommende måned

    Det var selvfølgelig også meningen jeg skulle have haft en udfordring til Februar måned, men pga. en lidt klodset start på måneden er det allerede lykkedes mig at springe dage over, så jeg regner med at gemme udfordringen til næste måned. I stedet vil jeg forsøge at arbejde lidt videre med skriveudfordringen.

    I Januar har jeg skrevet dagligt, men det har været meget tilfældigt hvornår på dagen det er sket. Fremover har jeg tænkt mig at prøve at nå at skrive som noget af det første hver eneste dag, både for at forbedre oddsene for at få det gjort til en egentlig vane, men også fordi de fleste af de ting jeg laver til hverdag kræver en del kreativ tænkning, jeg tror derfor det vil være en fordel rent produktivt, hvis jeg kan få kickstartet hjernen ordentligt hver dag.

    Årets første måned er hermed overstået. Jeg synes det har været en begivenhedsrig måned, og jeg synes jeg har opnået en del. Året starter godt, og jeg glæder mig til at se hvad der kommer til at ske herfra!

    Jeg er for kort tid siden startet på et nyt job hos Dwarf A/S, hvor jeg skal sidde som PHP-udvikler på deltid mens jeg skriver mit speciale. Jeg sidder i Drupal-afdelingen, så langt det meste af mit arbejde vil foregå i det PHP-baserede CMS Drupal.

    Jeg har god erfaring med PHP fra tidligere job og projekter, men Drupal kender jeg kun meget overfladisk, så en del af min arbejdstid går i øjeblikket med at lære systemet bedre at kende. Det er et stort og komplekst system, men jeg synes jeg lærer en del.

    Det betyder også at der her på bloggen sandsynligvis vil komme nogle indlæg omhandlende Drupal. Dette vil både være tips og tricks jeg finder, som jeg mener er værd at dele med hele verden, men det vil også være noter og lister med ting jeg skal huske på, og som andre måske og vil finde interessante hvis de vil lære Drupal bedre at kende.

    Den foregående weekend valgte jeg at bruge alt min tid sammen med 470 andre spilinteresserede mennesker på Aalborg Universitet i København. Dette foregik i regi af dette års Nordic Game Jam, et weekendprojekt hvor en masse spilinteresserede mødes, og bruger en weekend på at lave et spil. Normalt er der fokus på computerspil, men i år var konceptet udvidet til også at indeholde en analogt spor.

    Årets tema var grotesk. Det var et ret spændende tema, da det er et koncept de fleste har en klar forestilling om hvad betyder, men når man begynder at dykke lidt ned i ordets definition og oprindelse viser det sig at være et noget bredere koncept end hvad man tænker over til daglig. Det dannede grundlag for nogle spændende diskussioner om hvordan konceptet skulle forstås, og hvordan denne forståelse kunne udtrykkes i spil.

    Jeg var selv på det digitale spor, hvor jeg i en gruppe bestående af 6 (plus 1/3 lydmand), hvor vi til sammen lavede spillet MonsterMash.

    Det var sjovt at prøve at deltage i et arrangement med så mange mennesker med en fælles interesse. Der var mange sjove folk imellem, og man endte hurtigt i nogle sjove og interessante diskussioner når man faldt i snak med mere eller mindre tilfældige mennesker man mødte i elevatoren, i køen til maden, eller i rygerområdet.

    Udover en sjov weekend betyder jammets afslutning også at jeg kan krydse første element af på min liste af mål for 2013.

    Deltage i enten en (gerne flere) hacker eller startup weekend, f.eks. Startup Weekend eller Hack4DK hvis der bliver holdt et lignende arrangement i år.

    Jeg synes dog stadig godt om jam-konceptet, så jeg håber stadig på at nå med til noget som Startup Weekend.

    Til sidst vil jeg gerne anbefale Nordic Game Jam til alle med interesse for udvikling af computerspil, også selvom det bare er noget du synes lyder sjovt. Jeg mødte selv op uden nogensinde at have arbejdet på computerspil før, så man behøver ikke at vide alting på forhånd, man bliver overrasket over hvor mange forskellige skills der kan bruges på sådan et udviklingshold:

    • Projektledelse
    • Ide generering / brainstorming (hvilket mest bare kræver en smule fantasi, og evnen til at sætte to idéer sammen til en ny idé)
    • Tegner/grafiker
    • Programmør
    • Historiefortæller/tekstskriver
    • Ukulelespiller (men venligst lad være med at gøre det i fælleslokalerne hvor du generer 30 andre der prøver at koncentrere sig!)
    • Ølkøber og kaffehenter (nogen skal jo sørge for at holdet holder sammen)

    Så der er plads til alle, og det er bare et spørgsmål om at tage afsted og deltage.

    Arrangørerne har desuden samlet en oversigt over alle tilmeldte spil, de fleste af spillene har vist mulighed for at man kan downloade dem eller spille dem online. Find alle spillene her.

    Update: Vi har tilsyneladende også fået en smule presseomtale for vores spil, MonsterMash fra indie game sitet Indie Statik. Sejt!