31 januari, 2008

PHP: Arbeta med projekt i PHP

Förord
Tycker ni PHP är häftigt? Vill ni få tips om hur man kan arbeta med PHP som projekt? (t.ex en webbsida, forum, databas, e-handel ...) Har ni svårt att övertala er lärare, om ni nu går i skolan, att ni verkligen vill göra ett projekt med PHP? Då tror jag att denna artikeln kan vara bra för er. Jag ska nämligen tipsa om upplägg, kodning, arbete i grupp, säkerhet (inklusive skyddad kod) och liknande. Jag är ingen utbildad projektledare eller expert inom ämnet utan talar bara efter ren erfarenhet och mindre undersökningar.

Artikeln riktar sig mest till nybörjare men även till dig som redan arbetar i projekt men som vill se efter om det finns några tips att tänka på när man arbetar. Jag vill att så många som möjligt börjar använda PHP på riktigt och inte bara sitter och kodar små skript som sedan inte blir färdiga eller färdiga skript som skickas ut till diverse skriptarkiv. Jag tycker istället att man lär sig PHP ordentligt och sedan satsar på lite större skript efter att man programmerat grundläggande koder. Trevlig läsning!

Introduktion
Om man väjer att göra ett projekt med PHP som exempelvis ett diskussionsforum, statistikapplikation, nätverksövervakning, en webbsida för e-handel, rapporthantering, webbmail, en sökmotor, databashantering, databaslagring av information, fakturor och offerter, beställningar, eller liknande, så används nästan alltid samma arbetssätt och utvecklingmetoder. Men hur lyckas man med detta? Det finns många olika sätt att lösa problemen på och det är stor chans att ni får utveckla och komma på ett eget sätt för att åstadkomma ert projektmål, men sammanfattat kan jag säga att det egentligen inte finns ett "korrekt" sätt. Om ni använder ett sätt som fungerar com ni tycker är bra så tycker jag att ni borde fortsätta med det tills ni möter motgångar.

Det finns regler som helst bör följas när man arbetar med projekt, både stora som små, men om man utvecklar (i fortsättningen av artikeln kommer jag skriva utveckling som synonym till programmering) till exempel en tjänst eller en vanlig webbsida måste man även tänka på sådant som underlättar utvecklingen för samtliga parter i projektgruppen.

Upplägg
När ni har kommit på vad det är för projekt ni vill göra och tänkt igenom det noggrannt som kommer ni till hur ni ska lägga upp arbetet. Visst att ni redan har en projektplanering och en lista över sysslor och liknande men har ni tänkt på allt förarbete? När man ska arbeta med ett projekt inom utveckling är det viktigt att man först skriver upp minsta lilla krav. Detta hoppas jag ni redan har gjort i er kravlista för projektet. Detta är mycket viktigt eftersom när man väl börjar utveckla sitt projekt kan det vara knappt med tid och då är det bra att ha en kravlista med prioriteringar över vad som är viktigast för att projektet ska fungera. Har ni (eller du om du är ensam) de kunskaper som krävs för att nå projektmålet? När detta är igenomtänkt kan man sedan utesluta några punkter tills man känner att man har mera tid och man är säker på att man kommer nå sitt huvudmål nummer 1.

Det viktigaste man kan tänka på om man designar en typ av webbsida/webbtjänst är att skissa upp så mycket som möjligt på ett papper, måla modeller, använd t.ex Microsoft Visio för att visa ett händelseförlopp eller hur allt fungerar tillsammans. Webbdesignen bör skissas på några papper först så att alla får en klar bild över design och eventuell funktion. De som kodar i PHP kan diskuttera om huruvuda man ska använda redan befintliga skriptbibliotek, vilka tillägg som krävs i projektet (t.ex GD2, MySQL, eller kanske ReWriteRule i Apache). I ett projekt där man utvecklar en typ av webbsida så går nästan all tid åt till förarbete och forskning av lösningar och idéer. Mycket brainstorming samt hur mycket tid man har på sig inför varje delmoment. När allt detta sedan är klart är det bara att börja med utvecklingen, vilket inte brukar vara så svårt, eller ta så lång tid att utföra. Utvecklingen i ett projekt brukar ta cirka 20-30% av tiden men det beror givetvis även på vilket typ av projekt man tänker göra. Det är i alla fall ett estimerat värde ni kan använda i er utvecklingsprocess och förarbete.

Hur har ni tänkt dela upp arbetet?
Är ni en som designar webbsidan och designen, en som utvecklar koden i PHP, en som hanterar databasen eller filsystemet för lagring, eller är ni helt enkelt flera som arbetar inom samma område, och i så fall, arbetar ni på samma kod? Vet ni hur ni ska koppla ihop allt för att nå en slutgiltig produkt? I vilket fall kan det vara svårt att samarbeta om man inte har en väl utformad stategi för hur man ska dela upp arbetet. Det måste tydligt framgå vem som gör vad och att personen eller personerna i fråga verkligen gör det han eller hon har blivit tilldelad och inget annat.

När detta är uppklarat så kan det uppstå vissa problem. Om man är ensam så är problemen tydliga om man inte är mycket väl förberedd. Det kan vara svårt att utvärdera sin kod och fråga efter hjälp och stöd från andra plus att det är ett enormt jobb att ha koll på allt så att allt fungerar tillsammans. Det är inte omöjligt men definitivt en utmaning. Är man två eller fler så uppstår tydliga problem om någon part inte kan eller förstår den andra partens uppgift och lösningar. Ett exempel är att en person designar en webbsida (som inte kan PHP) där det sedan krävs PHP för att utföra specifika uppgifter på serversidan som sedan kommer visa ett resultat på sidan. Detta är det en annan person som arbetar med och en lösning arbetas fram. Problemet uppstår då detta slås samman; design (logik) med funktion. På sidan, tillsammans med HTML koden, visas även PHP som inte webbdesignern förstår. Om sedan designen kanske måste ändras eller om något liknande måste modifieras så kan han eller hon råka komma åt PHP koden och ändra- eller radera något av misstag. Koden kanske måste flyttas men det kan vara svårt om koden har anpassats för just den positionen (från t.ex en tabell till en annorlunda tabell eller div). Om inte webbdesignern förstår koden kan det bli krångligt plus att det blir rörigt och osmidigt med en massa PHP kod som är nästlat i HTML koden för webbsidan. För att lösa detta problem måste kan man börja med att separera logik från funktion, med andra ord "design från PHP". Detta kan göras med hjälp av ett så kallat "Template"-system eller mallar.

Hur fungerar ett "Template"-system eller mallar?
Det fungerar som så att på de platser på webbsidan där PHP måste användas för att visa information eller liknande (från t.ex ett register i en databas) ska visas eller upprepas kan man använda ett system som använder Nyckelord - speciella fraser. En sådan fras eller nyckelord kan t.ex se ut så här
  • {example_show_username}
  • [example_show_username]
  • |example_show_username|
  • (detta var bara exempel)
När mallen har fyllts med dessa på strategiska platser används ett mycket enkelt PHP skript som inkluderas med en rad kod som är enkel att förstå:
  • require_once(templatesystem.php)
  • include_once(templatesystem.php)
Det skriptet gör är att det hämtar mallen för att sedan söka upp valda nyckelord och ersätta dessa med text, bilder, varor, kommentarer, statistik eller liknande. Efter att mallen har uppdaterats med ny information skickas den till webbläsaren och den visas för slutanvändaren.

Ett populärt system som utför detta heter Smarty men det finns även många andra. Själv utvecklade jag en egen så kallad "Template-engine" för ett projekt eftersom jag inte hade tid att lära mig Smarty. Googla eller läs om det på Wikipedia för att veta mer.

Hur man kan flera personer modifiera en och samma fil samtidigt och få det rätt?
Låt oss säga att ni är två eller fler inom samma område (t.ex PHP utvecklingen), sitter och uppdaterar kod i samma skript hemma eller på jobbet som de andra, och sedan laddar upp det till projektet på servern för att se om det fungerar. Vad tror ni händer, eller kan hända? Det värsta är att en annans lösning skrivs över med kod som inte fungerar som tänkt och viktig tid har gått till spillo. Det kan också vara att två stycken sitter med samma problem och kommer upp med olika lösningar. Eller så ändrar man kod på ett annat ställe än vad det från början var tänkt. Då är nu den stora frågan: hur har man kontroll över detta för att minska eventuella problem och tiden det tar att återställa allt om det blir fel?

Lösningen på problemet som används nästan överallt i nästan varenda projekt är CVS-hantering. CVS står för "Concurrent Versions System" och hjälper till under utvecklingsprocesser för att spåra eventuella ändringar gjorda av en eller flera medlemmar i projektgruppen eller från allmänheten. Man kan enkelt se vad som har ändrats och av vem. Det är också även enklare att utvärdera flera lösningar på ett problem. Googla på CVS eller kolla upp det på Wikipedida. Kan tipsa om programmet Subversion.

Kodning
Okej, så ni har ordnat så att ert arbete är ihopkopplat, men hur ser koden ut? Är den väl kommenterad eller snabbt ihopkodad? Används samma kodstil utöver hela projektet; även kallat för kodkonvention (viktigt om ni är fler än en inom ett och samma område)? Är koden säker (mer om detta lite senare i artikeln)? I vilket fall gäller det att tänka till ordentligt. Det är bra att tänka på att någon annan redan kanske har löst ett visst problem. Kolla upp det så ni slipper "... uppfinna hjulet på nytt".

Tänk även enligt en MVC (Model View Controller) modell - ett bra sätt att dela upp funktion (kod) i olika delar som är väldigt flexibelt. Googla eller sök på Wikipedia om ni vill veta mer.

Om två stycken inom samma område arbetar i en speciell fil och utvecklar på två olika sätt. Då får man oftast mycket svårläst kod och det kan faktiskt vara svårare att förstå vad koden utför om man inte är van vid just den kodstilen - kodkonventionen. För att undvika detta är det viktigt att komma överrens om en gemensam kodkonvention som används utöver hela projektet. Det blir enklare för alla i projektgruppen att läsa och förstå koden samt att man får bättre struktur. Här nedanför kommer exempel på tre olika kodkonventioner som är vanliga:

Exempel 1
<?php
// Check if bla bla is true and then do that bla bla
if (true) callFunctionHere();
else callOtherFunctionHere();
?>


Exempel 2
<?php
if (true) {
callfunctionhere();// do something not so cool
} else {
callotherfunctionhere();//do something cool
}
?>


Exempel 3
<?php
if (true)
{
// Do important thing
call_function_here();
}
else
{
// Not so very important
call_other_function_here();
}
?>

Kan ni se skillnaderna? Jag hoppas ni gör det och att ni sedan bestämmer en gemensam kodkonvention som jag nämnde tidigare.

Arbeta i grupp
Grupparbete är väldigt vanligt när man arbetar med projektarbeten och det är många som tycker det är bra. Men det finns även de som aboslut inte tycker om att arbeta i grupp och då kan det vara svårt att kommunicera med parterna i gruppen eller komma fram till slutgiltiga beslut. Planeringen kan då bli svårt att få optimerad eftersom man kanske inte föra en diskussion med de involverade medlemmarna.

För att försöka lösa dessa problem måste man lära sig att börja tänka tillsammans - dela era åsikter med hela gruppen och lämna aldrig någon utanför. Ni är en grupp och då ska alla få ta del av all information som är nödvändig för att man ska nå projektmålet (eller deadline!). Man kan även i början hitta på aktiviteter någon dag eller två; kanske gå ut på stan och roa sig, umgås, prata och ta reda på lite information om varandra, eller ta en middag. Hitta gärna på minst en aktivitet som kräver samarbete två och två eller hela gruppen tillsammans.

När ni väl har gjort detta så kan ni sätta upp små delmål med projektet som måste nås för att klara av sin planering, om ni inte redan har gjort detta. När eller om ni når ett delmål får ni gärna belöna hela gruppen. Då är chansen större att man peppas inför nästa steg i utveckligen.

Handledning
Tala ofta med gruppens handledare för att ge statusrapporter och för att komma igång snabbt med arbetet i början. Om man vet att man måste visa upp sitt resultat så långt i arbetet för sin handledare brukar man få ett stadig flöde av arberskraft. Alla personer i gruppen gör sina delar för att sedan visa upp eller utvärderas inför nästa steg.

Om man talar med en handledare kan man också reda ut eventuella problem som gruppen har eller ställa lite mer allmänna frågor.

Projektrapport och loggbok
Detta kommer jag inte gå igenom eftersom ni redan borde kunna detta men det är en mycket viktig sak jag måste tipsa er om. Bara för att ni kan webbdesign, databashantering och PHP så är det inte säkert att er lärare/instruktör/chef kan detta. Förklara därför först väldigt ingående varför ni har valt att göra på vissa sätt, hur det fungerar och vad ni förväntar er av projektet. Ni behöver inte lära han/hon allt om PHP utan istället bara förklara enkla grunder och principer: till exempel att PHP används på serversidan för att utföra speciella viktiga uppgifter som t.ex hämta informationen ni har lagrat i en databas och sedan skicka detta till designmallen som senare omvandlas till en komplett webbsida. Det viktigaste är betoningen av Varför!

Säkerhet i PHP
När man arbetar med PHP är det även viktigt med säkerhet. Ofta när man arbetar med projekt (större arbeten) så brukar man skippa säkerheten i början för att sedan försöka implementera det när man har nått sitt mål. Detta gör man för att spara tid eftersom det alltid finns säkerhetsbrister som måste lösas, även om man redan har gjort klart projektet och implementerat viss säkerhet. Det uppstår hela tiden nya hot.

Om man börjar implementera säkerhetsrutiner när projektet är klart så är det lätt att man missar något litet som man tänkte på när man utvecklade just den koden, men som man har glömt vid projektets slut. En enkel lösning på detta är att antingen låta en tredje part - någon ni känner som har kunskaper inom PHP och säkerhet - få undersöka er kod. En annan lösning är att ni själva låter implementera säkerhet i koden vid varje delmål. Ni behöver inte skydda allt men använd i alla fall grundläggande säkerhet som att t.ex endast tillåta heltal om ni förväntar er ett heltal.

I framtiden kommer jag skriva några artiklar här på bloggen om säkerhet i PHP och vad man ska tänka på. Tills vidare kan ni söka efter det ämnet på Google.

Slutord
Så där... har ni lärt er något nytt eller har något klarnat nu som har legat dolt i er sinne? Jag hoppas i alla fall att ni har lärt er något som kan vara användbart i framtida projekt med PHP och att om ni arbetar i grupp har lärt er samarbete på högsta nivå.

Se inte problemen - se lösningarna. Om ni fastnar med något för länge så fortsätt med något annat istället. Om ni fastnar vi ett speciellt problem kan ni testa ta en paus och/eller börja tala med någon i er närnet om problemet så kanske ni till slut kommer fram till en lösning efter att sinnet har klarnat litegrann. Hjärnan måste också vila ibland.

Detta är en artikel om hur man "kan" arbeta med projekt i PHP och vad man bör tänka på under tiden och innan man väl har börjat. Själv har jag arbetat med ett par projekt, vilka två av dem har varit riktigt stora och mödosamma. Jag har arbetat både själv och i grupp och det har varit lärorikt - mycket lärorikt.

För att citera mig själv:
"Jag är ingen utbildad projektledare eller expert inom ämnet utan talar bara efter ren erfarenhet och mindre undersökningar. Jag skriver detta för att tipsa er alla och för att även tipsa och hjälpa mig själv vid framtida projekt i PHP. Jag vill dela med mig av min kunskap för att underlätta för andra."

Källor
Smarty - Template Engine
CVS - Concurrent Versions System
Subversion - CVS Application (v1.4.6 datum 080201)
Wikipedia: CVS
MVC Programmering i PHP
Gymnasial utbildning - Projektarbete (skolverket)

29 januari, 2008

Virtuellt: Ubuntu 7.10 och VMWare Toolbox

Jag har märkt att det inte bara är jag som har problem med VMWare Tools för den nya versionen (releasen) av Ubuntu 7.1. Om man använder VMWare Workstation och väljer att installera VMWare Tools via menyn så får jag bara en massa konstiga tecken från skripten - alltså inte korrekta filer. Som tur är visste nog vår instruktör detta när han undervisade oss om VMWare i skolan. Där hade han en CD separat med VMWare Tools på.

Jag har filerna men har ingen plats att lägga dem för tillfället (server space required/server utrymme krävs). Båda filerna är cirka 40MB så jag kan tyvärr inte lägga upp dem på mitt Googlepages utrymme. Jag har en server men den får inte vara påslagen denna och nästa månad för vi ska kontrollera elräkningen, som jag är med och betalar, för att kolla hur mycket min IT utrustning drar i el.

I alla fall! Man använder paketet genom att köra en specifik fil i paketet som slutar på .pl. Jag har för mig att den heter vmware-install.pl.

Tillägg 29/1-08
Har laddat upp VMWare Tools som RPM- och TGZ format på Rapidshare. Länkarna har ni i slutet av inlägget.

Länkar till VMWare Tools
Observera att endast "tgz" har testats för Ubuntu 7.10 och inte "rpm"-paketet.
Rapidshare: vmware tools (tgz) - Testad
Rapidshare: vmware tools (rpm)

IT Hjälp: Experterna hjälper dig

Jag gissar att varje person som besöker min blogg någon gång har varit i behov av experthjälp eller i all fall någon form av hjälp inom IT. Det är egentligen bara bra eftersom det har visat sig att de då har sökt på webben efter en lösning och kommit hit för att försöka finna en. Men ibland kan det vara svårt att hitta guider och artiklar som löser ett specifikt problem och då är det bästa alternativet att vända sig till ett diskussionsforum.

Om man använder ett specifikt operativsystem (t.ex. Ubuntu Linux) och behöver hjälp så finns det specifika forum för just den sorten av hjälp. Om man programmerar i t.ex. PHP kan man vända sig till några av de många svenska diskussionsforum som har dedikerat sina webbsidor och community för just PHP programmerare.

Men det finns även ett enormt diskussionsforum som jag rekommenderar starkt - Experts-Exchange.com. Där finns alla möjliga sorters kategorier för dem som behöver hjälp. Det jag gillar med forumet är att om man registrerar ett konto och hjälper andra så får man betyg och poäng på sitt svar eller feedback. Det är bra för då tror jag att man sporrar sig själv lite mer för att ge bra svar med hög kvalitet. Ju högre poäng man får destor högre grad kan man nå. Enda nackdelen är väl att det är på engelska.

Hur man söker efter hjälp med Google
Om man vill hitta hyfsat relaterade lösningar med Google ska man använda flera sökord. Om det är en text man söker kan man använda citationstecken runt sökorden. Använd även minustecken för att exkludera sökord och plustecken för att förstärka några sökord som måste finnas med.

Källor
www.experts-exchange.com
www.phpsidan.nu
www.phpfreaks.com
IDG Forum
IT Proffs
Datormagazin forum

Video: Spela in vad du gör på skärmen

Introduktion
Har ni hört talas om att det finns program som kan läsa av och spara alla tangenter som trycks ner under en viss period? Det tror jag säkert att ni har för det kallas ofta för Keylogger och brukar ingå i diverse trojaner (trojanska hästar/elaka program). Men visste ni att det finns program som även kan spela in händelser på skärmen? Det har jag i alla fall vetat länge men aldrig haft tiden att testa det. Men nu har jag testkört ett program som är prefekt för den som skriver guider/howto's/artiklar och introduktioner samt hjälpmedel för de program man utvecklar.

Programmet som jag har testat heter Camtasia 5 (den senaste versionen i dagsläget) och det var riktigt enkelt att använda. Man kunde dra en ruta på skärmen där man ville att programmet skulle spela in allt som skedde. Sedan kunde man bearbeta sin inspelning samt lägga till ljud. Om man sedan ska visa resultatet för någon används flash eller en vanlig videofil. Dessa finns även i olika upplösningar för olika portabla enheter som till exempel iPod eller mobiltelefonen.

Programmen
Det var först efter att ha diskutterat med en klasskompis som jag fick reda på att Camtasia fanns. Han berättade att det var enkelt att hantera och väldigt kraftfullt för de eventuella ändamål man söker. Men det finns även ett annat program som är mer välkänt inom kretsen hos de som spelar dataspel - nämligen Fraps. Det används mestadels för att ta skärmbilder och spela in sekvenser när man spelar ett spel.

Slutord
Än så länge har jag inte hunnit testa alla egenskaper hos Camtasias senaste version men det ser mycket lovande ut.

Källor
Camtasias hemsida

27 januari, 2008

Marknadsföring: Betala per klick

Förord
Visste ni att man kan använda olika tjänster på webben som faktiskt drar in pengar. Det är rena djungeln men det populäraste är "betala per klick" eller "pay per click (PPC)" som det också heter på engelska. Det är till för er som driver egna webbsidor med all möjlig information. Med hjälp av detta systemet kan man driva in lite pengar genom att visa annonser på sina webbsidor med relaterade annonser. Det är helt enkelt annonser som visar information som är relativt till det ni skriver om på webbsidan. Jag ska nu försöka vägleda er till hur man börjar tjäna lite pengar på fritiden.

Introduktion
Fenomenet inom marknadsföring som ger publicister kosing i fickan när man sitter hemma eller på jobbet och designar webbsidor kallas för "Betala per klick". Det finns flera men detta är det allra vanligaste.

Hur det går till (i stora drag)
  1. Ni designar webbsidor och skriver artiklar eller liknande på webben.
  2. Ni gör en anmälan till exempelvis Googles tjänst Adsense.
  3. Skapar en enkel kod som sedan klistras in på er webbsida.
  4. Ni klistrar in koden på webbsidan.
  5. Om man nu surfar till webbsidan ser man efter några minuter en annons med relaterat innehåll.
  6. Om någon klickar på annonsen får ni en liten andel av pengarna som huvudannonsören har valt att betala per klick. Det brukar vara cirka 20-40% av det totala värdet.
  7. Uppdatera webbsidan ofta och logga sedan in på Google Adsense för att skapa en rapport över era inkomster.
  8. Har ni tur så har ni nu tjänat lite (eller mycket) pengar. Det är svårt om man är privatperson men om man är ett företag som accepterar andras annonser på sin egna företagswebbsida så är det nog lite lättare.
  9. Klart!
Men hur går det till egentligen?
Jo, det går till så att Googles "robot" söker igenom er webbsida efter olika nyckelord och ser efter om webbsidan är okej - alltså inte spammad med populära ord och liknande i syfte att tjäna pengar. Rubriker kontrolleras med innehållet på sidan och om roboten hittar någorlunda relaterat material visas en annons från Google på webbsidan.

Annonserna bygger alltså på att webbsidorna är korrekt uppbyggda och dessutom att de uppdateras (helst) dagligen med nya texter och ny information. Det bästa är om man har en webbsida som håller sig till ett specifikt område - exempelvis fiske, medicin, sport, IT med mera. Då är det enklare för roboten att visa relaterat material på webbsidan.

Annonserna bygger mest på nyckelord så det är det man ska rikta in sig på om man är seriös. Om några utvalda nyckelord hittas på er webbsida så är det mycket bra. Då är frågan bara hur mycket huvudannonsören är villig att betala för ett riktigt och godkänt klick på annonsen.

Det finns listor på webben som folk har lagt upp där man kan se vad olika nyckelord är värda per klick. Det högsta priset per klick jag har sett är 50$ och det är cirka 320kr i dagens läge. Men tro inte att man bara kan kopiera och klista in massa sådana nyckelord på webbsidan och tro att man kommer tjäna otroligt mycket. Google är smarta så de har kontroller som kontrollerar om er sida är autentisk/verklig/ospammad samt hur mycket trafik ni får till sidan. Jag tror att man måste ha cirka 1000-5000 sidvisningar per dag om man ska ha chansen att få till det.

Men hur gör jag som inte har en så populär webbsida?
Försök att skapa en seriös webbsida om kanske tre olika ämnen eller relaterade ämnen. Skriv mycket och ofta. Lägg även till webbsidorna till olika sökmotorer på webben för att öka besökarantalet till sidorna. Ta sedan reda på så mycket information ni kan om Adsense och hur allt går till, hur en sida får se ut, vilket innehåll som tillåts med mera. Kolla upp listor på webben över högsta priset för "betala per klick", eller använd program som gör detta automatiskt.

Ett litet hjälpmedel
Jag har (bara) läst om ett program som heter Keyword Elite som används för att analysera annonser, Google AdWords, nyckelord och mycket mer, och sedan skapa avancerade rapporter över ekonomisk information som ni sedan kan använda, på rätt sätt, så att ni kan tjäna mer pengar på era annonser.

Jag använde Googles sökmotor och sökte på följande: intitle:"index of" keyword elite och hittade programmet som en ZIP-fil. Jag använder inte det eftersom jag inte har tid med sådant, så om ni vill testa det är det helt upp till er om ni vill använda det eller inte.

Om programmet fungerar för er får ni gärna höra av er om det för personligen så tror jag inte att det fungerar. För om det skulle göra det skulle väl varenda människa på planeten hålla på med sådant, om de bara har de rätta kunskaperna. Sedan skulle det väl skrivas om det i tidningen eller nåt.

Slutord
Var seriös och studera ämnet "betala per klick" noga innan ni börjar med det. Chanserna ökar betydligt om ni har en webbsida med mycket trafik och om ni samtidigt skriver om något som är hög prioritet för huvudannonsöer. Själv satsar jag inte så mycket på detta men det är kul och se statistiken bland alla företag på webben.

Optimering: Rensa skrivbordet

Förord
Detta är ett mycket kort artikel om hur man kan få ökad prestanda på datorn när den startar upp. Jag skriver detta eftersom jag på senaste tiden har stött på jättemånga som fullkomligt skiter i vad de sparar ner på skrivbordet i datorn. Sedan, efter ett tag, gnäller de på att det går segt att starta upp och logga in. Här kommer en möjlig lösning på det lilla problemet.

Då börjar vi
Skrivbordet ska man försöka hålla så rent som möjligt. Men varför kanske du frågar? Jo för att när datorn startar upp och när man loggar in så måste först alla ikoner och filer (i fortsättningen kallar jag dessa endast för ikoner) räknas och storleken på dem ska beräknas och laddas in i minnet. Om man har foton, stora dokument (PDF, DOC) och- eller musikfiler liggandes så måste allt laddas in i minnet innan du kan börja använda datorn. Några av de filer jag precis nämnde brukar ligga på några Megabyte (MB) och då tar det sin lilla tid.

Bakgrundsprogram
Sedan att det finns program som startar och körs i bakgrunden när man loggar in är en helt annan historia som jag inte tänker beskriva här och nu. Men kolla gärna upp detta på Google eftersom ni kan tjäna ganska mycket prestanda på det om ni stänger av rätt program, eller åtminståne stänger av onödiga program.

Undvik följande på skrivbordet
  • Högupplösta bilder (speciellt BMP, JPG).
  • Dokument.
  • Musikfiler (WAV, MP3, OGG, ACC, WMA).
  • Mappar/Kataloger med filer inuti (största boven!).
  • Andra eventuella filer som tar upp stor plats.
Är ni osäkra på hur stor en fil egentligen är behöver ni bara högerklicka på den och välja Egenskaper/Properties. Där ser ni sedan hur många MB stor den är.

Gör så här istället
En jättebra (Windows) lösning på problemet om ni fortfarande vill komma åt alla filer på ett enkelt sätt från skrivbordet är att skapa genvägar. För er som inte vet hur man gör det kommer här en kort guide.

Skapa genvägar
  1. Först, skapa en mapp någonstans på hårddisken. Kan till exempel vara i mappen Mina Dokument.
  2. Döp den till något bra som sammanfattar innehållet (t.ex BilderBåten0704).
  3. Högerklicka på den och välj Kopiera.
  4. Gå nu till skrivbordet och högerklicka på valfritt ställe där det är fritt från ikoner.
  5. Välj Klista in genväg.
  6. Nu har det skapats en genväg till mappen BilderBåten0704 på skrivbordet.
  7. Notera att det dyker upp en liten fyrkantig, kvadratisk, vit liten ruta på ikonen med en liten böjd pil. Detta betyder att det är en genväg.
  8. Glöm inte att flytta alla ikoner som tar mycket plats till en mapp, och skapa sedan genvägar.
Slutord
Det var faktiskt allt ni behöver testa för att göra er dator lite snabbare när den startar upp. Jag nämnde i artikeln att det finns andra sätt som man också kan testa på men de kommer jag inte gå ingenom här. Hoppas ni märker någon skillnad!

22 januari, 2008

Cisco: Avbryta ping och traceroute

Nu ska jag förklara hur man avbryter en ping eller traceroute på en Cisco router/switch
Om ni har använt kommandot #traceroute [ip-here] och det inte fungerar, får ni vänta tills den har sökt 30 gånger. Det orkar man inte vänta på. Eller är det så att ni har använt kommandot #ping [ip-here] repeat 100000 för att felsöka i nätverket (exv. EIGRP Load Balancing!) men inte kan avbryta pingen...

Här kommer lösningen: Tryck och håll inne CTRL+SHIFT+6 (två gåner för säkerhetsskull). Det är denna så kallade "Escape sequence" Cisco's IOS meddelar oss att vi kan använda men det är lite svårt när inte många vet hur den är.

15 januari, 2008

Programmering: Tjäna pengar som programmerare

Freelancer // Programmerare
Är du en programmerare som arbetar självständigt och vill tjäna lite extra snabba pengar? Då har jag några tips för dig här.

Besök då sidorna här nedan för mer information:
www.guru.com
www.getacoder.com
www.elance.com
www.getafreelancer.com
www.rentacoder.com
www.phpsidan.nu - Förmedling av jobb eller tjänster inom PHP utveckling

Jag har inte besökt alla men har hört talas om dem. Det går till så att man på något sätt ger bud eller registrerar sig och så får företag och andra som behöver er kompetens söka i ett stort register. Det kan också vara sidor där ni läser om folk som behöver hjälp och kompetens där ni sedan kan anmäla er. Alla sidorna strävar efter samma mål (tror jag) vilket är att både kund och utvecklare är nöjda när arbetet är slutfört. Det kan vara allt från stora projekt till bara någon simpel kod som man kan fixa över en natt eller två.

Här kommer även lite tips för dig som är självständig programmerare
  • Skaffa ett gott ryckte genom många vänner och kontakter. Nästan som ett socialt nätverk. Då ökar chanserna för uppgifter och kanske t.o.m. jobb.
  • Våga förhandla om priset men bara efter att du har fått reda på hela uppgiften.
  • Kom noga överens om priset så att inga missförstånd uppstår när allt är färdigt.
  • Dokumentera gärna tidigare arbeten och projekt som referenser om någon vill se vad du har åstadkommit hittills.
  • Uppträdande är viktigt - även om det är via epost, telefon eller personligen. Tänk på det.
  • Var extra tydlig för din kund/arbetsgivare om det är ett större projekt. Ge statusrapporter ofta och visa även dittills utfört arbete för att få han/hon att tro på ditt jobb och ryckte.
  • Spara allt arbete och strukturera din kod så du kan återanvända koden vi ett senare tillfälle. Kanske t.o.m. i ett senare projekt?
Nu har du fått några tips som jag har snappat upp under min tid som programmerare (sedan gymnasiet) hur man kan tjäna lite extra pengar som just programmerare/utvecklare.

12 januari, 2008

Webbutveckling: RTEPad - Rich Text Editor online

Rich Text Editor
Jag har funnit en perfekt WYSIWYG och RTE vid namn RTEPad som passar utmärkt om ni vill ha fler utökade funktioner till ert forum, gästbok eller mejlsystem. Fungerar som Microsoft Word och OpenOffice.org samt att det har en del funktioner från Adobe Dreamweaver.

Källa
www.rtepad.com

09 januari, 2008

Nätverk: Köra Cisco IOS på dator

Dynamips - Programvara för Cisco IOS i datorn
Idag tänker jag nämna att det finns en gratis programvara som används för att köra operativsystemet IOS, som Cisco routrar och switchar använder, på sin egna dator i hemmet. Med hjälp av detta behöver man inte köpa dyr eller begangad utrustning för egna laborationer utanför studierna eller arbetet.

Programmet heter Dynamips och låter dig ladda in binärfilerna för IOS av många olika router typer. Bland andra c2600, c7200, c3600 och många fler. Det är helt otroligt att man har lyckats simulera det på datorn så Packet Tracer (<= v4.1) och alla andra simulatorer kan ju ta och slänga sig i väggen. Det bästa av allt är att det är gratis och fungerar både för Linux och Windows. Men det tar inte slut här... man kan även simulera routrarna över det egna riktiga fysiska nätverket. Allt som behövs är två datorer och Dynamips installerat och konfigurerar på båda för att få det att fungera. Men en sak man måste tänka på är att de virtuella routrarna inte alls är lika snabba som de riktiga så man kan inte direkt använda dem för allt för tunga arbetsuppgifter. Ett bra användningsområde är väl om man vill felsöka i riktig miljö eller om man vill försöka hacka sitt egna nätverk i utbildningssysfte för att förbättra säkerheten. Ni bestämmer själva. * Har inte testat konfigurera en switch ännu med Dynamips så om ni vet om det går får ni gärna lämna en kommentar om det. Då menar jag naturligtvis en konfiguration med hjälp av ett switch IOS som binärfil.

Dynamips är textbaserat men det finns en grafisk nätverksdesignprogramvara som heter GNS3. Det är fortfarande i beta stadiet men fungerar hyfsat bra.

Här kommer några länkar för att hjälpa er litegrann
http://7200emu.hacki.at
http://www.dynagen.org

Välkomna till bloggen

Välkomna ska ni vara kära besökare. Jag skriver om IT för att det är kul och för att jag vill dela med mig av information och kunskap. Jag försöker hålla bloggen så kategoriserad som möjligt för att ni enklare ska hitta intressanta länkar och artiklar.