Hur minns många av er Compuserve? Vad sägs om Prodigy? Jag ber för att de under de goda dagarna var populära tjänster som gjorde det möjligt för dig att kommunicera med andra människor från hela världen. I många fall erbjöd de kompletterande tjänster, som forum eller klassificerade tjänster, för att inte tala om ett ganska tilltalande användargränssnitt (för tiden).
Vissa av er kanske för ung att ens veta om dessa tjänster, men jag går ut på en lem och antar att alla använder antingen AOL Instant Messenger, Skype eller Yahoo! Messenger vid någon tidpunkt. Huvuddelen är att de var avsedda att underlätta kommunikationen. I den ständigt växande världen av avlägsna lag och världsomspännande samarbete på projekt är förmågan att få bra, omedelbar återkoppling avgörande för att lösa problem. Intressant nog har alla tjänster som jag noterade ovan, medan de är fantastiska på egen väg, tagit en baksätning till ett annat medium för utvecklare: IRC.
Det jag har märkt under de senaste åren är en återupplevelse av att använda IRC som ett primärt kommunikationsmedel.
IRC (Internet Relay Chat) är ett protokoll, skapat 1988, och var tänkt att underlätta gruppdiskussioner via olika kanaler. Kanalerna fungerade för att identifiera olika diskussionsämnen som du kan komma in på. Jag har varit på Internet för en tid sedan (jag brukade ringa in med ett 2400 baudmodem), jag kommer ihåg att använda IRC, men gravitated till många av de tjänster som jag nämnde tidigare, eftersom de bara verkade mer användarvänliga och funktion -rik.
Det jag har märkt under de senaste åren är en återupplevelse av att använda IRC som ett primärt kommunikationsmedel, särskilt för open source-projekt. Medan det har funnits gruppbaserade tjänster för ett tag nej (Skype, Campfire, Google Hangouts, etc.), gör IRC: s relativt öppna natur det lätt för stora grupper av människor att hoppa på en kanal och enkelt samarbeta.
Jag kommer också att säga (och jag är säker på att jag får lite sorg för det) att jag tror att det finns lite "geek cred" -åtgärder som händer här när du kan berätta för någon, "låt oss prata om det på IRC".
Så du vill komma in i denna "IRC sak". Det är faktiskt en bra sak, för att vara ärlig, det händer en hel del stora diskussioner där och i vissa fall går det bara att få något anständigt stöd till en kanal, speciellt för vissa open source-insatser. Så låt oss först bryta ner hur sakerna fungerar.
Det första du behöver förstå är landets lek. IRC fungerar genom att använda någon typ av klient som kopplar dig till ett IRC-nätverk. Nätverket är bara maskiner som är inställda för att tillåta användare att ansluta till IRC. Det finns ett antal nätverk där ute, och de flesta är inriktade på specifika intressen. Aniverse är till exempel inriktad mot Anime-publiken, medan QuakeNet riktar sig till videospelare - speciellt Quakeworld-spelare. Enligt IRCHelp.org är de stora näten följande:
EFnet
Undernet
DALnet
Quakenet
Freenode
Dessa är nätverk som i genomsnitt 10 000 eller fler användare, och tenderar att ha de största, mest trafikerade kanalerna. Det finns också regionala nätverk för olika länder, men i utvecklingssyfte tenderar de flesta utvecklare att hoppa på Freenode - och med rätta. Så här beskriver Freenode-nätverket sig själv:
"Ett IRC-nätverk som tillhandahåller diskussionsmöjligheter för de fria och öppna källkodsprogramvarorna, ideella organisationer och närliggande samhällen."
Och med öppen källkodsprogramvara som är så viktig idag för nästan alla stora webbegenskaper, så är det perfekt förnuft varför så många av de populära utvecklingskanalerna finns på Freenode. Wikipedia listar den som den största av de stora nätverken, med cirka 85 k användare på den vid höga timmar. Det är det nätverk jag ska fokusera på i den här artikeln.
IRC stöder 1 till 1 privata chattar.
Jag hänvisade termom "kanaler" före; precis som när du tittar på tv, har specifika nätverk särskilda kanaler för specifika ämnen. Genom att gå med i en kanal väljer du att hoppa in i en diskussionsgrupp om ett visst ämne. Diskussionen är vanligen fri form, så förvänta dig inte att gå in i en gängad UX med allt tätt organiserat eller hierarkiskt. Faktum är, beroende på antalet användare i kanalen och hur aktiv de är, diskussioner kan vara utmanande att styra ihop. Den beskrivningen är inte avsedd att avskräcka dig från att använda IRC, men mer för att få dig mentalt förberedd, speciellt om du är van vid högorganiserade medier som onlineforum eller gängade e-postdiskussionslistor. IRC är ett brett öppet diskussionsmedium, så att du säkert ser att en rad diskussioner genomförs på en gång, i vissa fall överlappar varandra. Det viktigaste är att ha tålamod så att du kan filtrera genom bruset och träffa dina intressen.
Du kommer normalt att delta i gruppchattar, men IRC stöder också 1 till 1 privata chattar, tillsammans med möjligheten att överföra filer. Som alltid är säkra Internet-rutiner avgörande. Chansen är hög att du INTE känna personen i den andra änden av tråden; så du måste vara försiktig när du accepterar någonting från någon annan. Dessutom tillåter IRC att skript körs, vilket ger ytterligare möjligheter. Återigen, var säker och LÅT BLI kör några skript från någon om du inte är helt 100% säker på vad det är meningen att göra. Som en allmän regel accepterar jag inte några filer eller kör några skript via IRC. Jag tror inte att IRC är mer osäker än andra tjänster på Internet, men jag är övervaktig eftersom jag förmodligen inte kommer att känna personen som skickar mig något. Sunt förnuft enligt min åsikt.
Jag frågade nyligen offentligt vilka kanaler utvecklare använder och jag fick lite bra feedback. Följande lista är lite lång, men jag tror att det är värt att posta eftersom kanalerna är otroligt användbara:
Detta är INTE en allomfattande lista över alla fantastiska webbutvecklingskanaler, så om du tror att det finns andra som skulle vara användbara, släpp dem i kommentarfältet.
Hasan ("#") framför kanalen är ändamålsenlig och avsedd att identifiera kanaler som är tillgängliga över ett helt nätverk.
En sak att notera är att kanaler hanteras vanligtvis av kanal ops (kort för operatörer). Dessa människor bidrar till att ställa in kanalen och hålla i allmänhet jämna steg. De har också makt att hantera användare på kanalen och kan sparka eller förbjuda dig om du går ur ledningen. Du behöver inte betala dem hyllning eller någonting, men förstår att IRC är en förvaltad tjänst, trots att det är öppenhet, och de flesta kanaler, särskilt de för öppen källkod, kommer att förvänta sig en viss grad av artighet och professionalism så Häftigt.
Det snabbaste sättet att komma till IRC är att installera klientprogramvara. Oavsett om du använder Windows, OSX eller Linux finns det ett antal bra val som är tillgängliga för dig. Jag har använt klienter på både Windows och OSX och hitta följande som bra alternativ:
HexChat - Detta är min klient av val för Windows. Det är en gaffel av den populära XChat-klienten, men är aktivt underhållen och uppdaterad. Det är också öppen källkod och fritt tillgänglig. Jag använde XChat tidigare och till och med köpt en licens för det, men jag har inte sett någon utvecklingsaktivitet på den sedan Aug 2010 och kan bara anta att den inte längre stöds. HexChat har gått upp och tagit XChats plats, åtminstone för mig.
mIRC - mIRC har funnits för evigt och är en solid IRC-klient. Jag använde det för många år sedan, och det är förmodligen den mest använda Windows-baserade klienten. Det kräver användarregistrering efter 30 dagar om jag minns - och det kostar $ 20 - men det är en engångsavgift, livstid registreringsavgift som enligt webbplatsen kommer att fungera med nuvarande och framtida versioner av mIRC. Jag är verkligen inte arg för att spendera pengar på bra programvara, så jag kan återkomma mIRC i framtiden.
Colloquy - Detta är min klient av val för OSX. Jag tycker att användargränssnittet är mycket mer intuitivt än andra program, som LimeChat. Det kan vara att det påminner mig om HexChat, vilket gör det lättare att byta mellan operativsystem. Hur som helst är Colloquy den bästa OSX-baserade IRC-klienten. Det är också öppen källkod och det finns en app tillgänglig för iPhone, vilket är väldigt coolt.
LimeChat - Verkar som alla coola barn använder det här nu. Jag gav det en spring och det är inte dåligt; Men jag tror inte att det är bättre än Colloquy. Det var något om hur UI strukturerades som "bara inte kände mig rätt" för mig. Liksom Colloquy, det är öppen källkod och har också en app tillgänglig för iOS.
Text är också ett nytt alternativ som verkar vara ganska bra.
Vill du inte installera programvara? Inga problem. Hoppa bara vidare till Freenodes webbkamera. Med en webbläsare borde du kunna hoppa på Freenode och besöka kanaler efter eget val. Den enda nackdelen är att du inte kan lagra inställningar, så om du vill besöka en uppsättning kanaler regelbundet kan det bli besvärligt att komma in på dina kanaler igen.
Här är inloggningsskärmen:
Och här är kanalens chattgränssnitt:
Om du tittar på den här skärmdumpen och jämför den med HexChat eller Colloquy ser du att ur användbarhetssynpunkt använder du en dedikerad klient MYCKET lättare, eftersom det låter dig organisera och ansluta till dina kanaler varje gång du startar programmet. Om vi tittar på HexChat kan jag till exempel enkelt välja nätverk för att ansluta till:
samt definiera standardkanalerna som jag vill ansluta varje gång jag ansluter till Freenode:
Medan webgränssnittet för Freenode gör det bekvämt att ansluta från vilken enhet som helst utan att installera någonting begränsar jag mig specifikt till Freenode och tvingar mig att manuellt ansluta till varje kanal jag vill delta i att använda kommandot "/ join" så här:
/ gå med #jquery
Om du har en lista med IRC-kanaler så länge som Paul Irlands är att skriva allt detta om och om igen blir tråkigt riktigt snabbt:
I HexChat är allt jag behöver göra att ange en kommandorad lista över mina kanaler i fältet "Favoritkanaler" för nätverket och när jag ansluter får jag automatiskt anslutning:
# Bocoup, # Cordova, # css, # emberjs, # grunt, # html5, # inimino, ## javascript, # jQuery, # node.js, # requirejs, # rubyonrails, # WebGL, # WHATWG, # bonde
Mycket enklare.
När du går med i ett nätverk måste du identifiera dig själv med ett smeknamn, vanligen kallat "nick". Det är verkligen ingen annorlunda än att skapa ett användarnamn på din favoritplats, och hjälper människor att lära känna dig när du deltar i diskussioner. Jag rekommenderar inte bara att få ett nick, men lösenordsskyddet så att någon annan inte tar det från dig (oavsiktligt eller målmedvetet) senare.
Att skapa ett nick är väldigt enkelt. Först anger du smeknamnet som du vill använda och kopplar sedan till Freenode. När du har anslutit till nätverket använder du följande kommando för att skapa ditt lösenord och associera din e-postadress till ditt smeknamn:
/ msg NickServ REGISTER lösenord [email protected]
Du skulle ersätta "lösenord" med ditt lösenord och "[email protected]" med det e-postmeddelande som du vill associera till ditt nick. Då kommer du att få följande meddelande i din IRC-klient (jag har avbrutit mitt lösenord av uppenbara skäl):
[14:16] Nickserv REGISTRERA ***** [email protected]
[14:16] -NickServ- Ett e-postmeddelande med användarnamn för smeknamn har skickats till [email protected].
[14:16] -NickServ- Om du inte slutför registrering inom en dag kommer ditt smeknamn att löpa ut.
[14:16] -NickServ-bangoboom är nu registrerad på [email protected], med lösenordet *****.
Du är inte klar, eftersom Freenode skickar dig ett mail med ett aktiveringskommando. Här är vad jag fick:
/ msg NickServ VERIFY REGISTER bangoboom cikdmbzhrflr
Jag lägger in den i kommandoraden Freenode IRC, som returnerade följande meddelande:
[14:20] Nickserv VERIFY REGISTRERA bangoboom cikdmbzhrflr
[14:20] -NickServ-bangoboom har nu verifierats.
[14:20] -NickServ- Tack för att du verifierar din e-postadress! Du har vidtagit åtgärder för att säkerställa att dina registreringar inte utnyttjas.
Den sista meningen förstärker vad jag noterade tidigare:
"Du har vidtagit åtgärder för att säkerställa att dina registreringar inte utnyttjas."
Ditt nick är din identitet på IRC, och du bör skydda det så bra som möjligt.
När du är i mixen och chattar bort, finns det några kommandon som gör ditt liv enklare. Jag ska lista dem nedan:
/vem
/lista - Detta kommer att returnera en lista över alla kanaler som är tillgängliga i ett nätverk.
/Ansluta sig
/ msg
/inbjudan
/bort - Berätta för användarna att du är borta från din dator för lite
/sluta med - Berättar nätverket du är klar och lämnar
Det borde vara sunt förnuft nu, men tyvärr leder uppfattningen av anonymitet på Internet att människor tror att de kan agera på något sätt som de gillar. Kom bara ihåg det, oavsett vad du pratar med en annan person i den andra änden av den tråden. Så mitt typiska råd är inte agera online som om du inte skulle agera personligen. Glöm inte att de flesta kanaler har kanal ops, och de kommer att starta dig om du kommer ur hand. Var inte "den killen".
När det gäller hur man kommunicerar, här är några av de saker jag har observerat:
Använd inte alla kepsar. Bör vara uppenbart men du skulle bli förvånad.
Om du har en fråga, försök att vara så detaljerad som möjligt. Att försöka avkoda ett problem på nätet är tufft.
Att skapa ett reducerat testfall innan du skickar in en kanal får dig mycket längre för att lösa ditt problem snabbt. Gemenskapen kommer också att uppskatta det faktum att du har tagit dig tid att begränsa problemet.
Undvik att översvämma en kanal med massor av ljud. Vad jag menar är gör ditt bästa för att hålla diskussionen kort och på ämnet så att det gynnar alla.
Vissa kanaler kommer att ha bannermeddelanden när du först kommer in i den. LÄS DEM eftersom de i allmänhet finns där för att skissera kanalriktlinjer eller erbjuda viktiga uppdateringar om kanalen eller projektet. Här är bannern från jQuery-kanalen:
"jQuery 1.9.1 http://jquery.com | jQuery UI 1.10.2 http://jqueryui.com | jQuery Mobile 1.3.0 http://jquerymobile.com | Dokument: http://api.jquery.com http://learn.jquery.com | Klistra in kod på http://jsfiddle.net eller http://jsbin.com | Dev Channels # jquery-dev # jqueryui-dev # jquerymobile-dev | http: // försök. jquery.com för att lära grunderna | Channel publicly logged till http://irc.jquery.org/ "
Observera att den beskriver de senaste versionerna av libs och erbjuder länkar till resurser för att hjälpa till med att lösa dina problem i jQuery-relaterade frågor.
Jag kan inte tillräckligt betona att IRC erbjuder ingen anonymitet. Antag inte något du säger är privat och kan inte ses (om du inte har gått långt för att anonymisera dig själv). Samtal kan loggas och faktiskt har de flesta IRC-klienter den funktionen inbyggd. Din IP-adress är också lätt synlig genom att helt enkelt använda kommandot "/ vem".
Som jag nämnde ovan:
Acceptera inte filöverföringar
Acceptera inte direktanslutningsförfrågningar (du kringgår IRC-servern och kopplar direkt till en annan dator)
Kör inte kommandon som någon berättar att du ska köra
Kör inte skript som någon har skickat dig. Du kan få backdoored.
Detta är mina egna personliga känslor och du kan göra som du vill. Om du tycker att någon är skadlig, rapportera den till en kanal så att de kan kolla in det.
Den här sidan ger en bra översikt över vad du ska se efter så att du inte brinner.
IRC är den nya svarta när det gäller onlinekommunikation och det är viktigt att vi, som tider ändras, anpassar oss till hur människor pratar med varandra. IRC erbjuder ett bra tillfälle att få utvecklare från hela världen tillsammans och dela med sig av en mängd kunskaper. Gränssnittet är enkelt och tydligt, vilket gör det otroligt enkelt att hämta och vara produktiv. Och med de många tillgängliga klienterna är det enkelt att engagera sig. Så, om du ännu inte har provat IRC eller du är veteran som behöver smälta hjulen igen, är IRC tillbaka och redo för dig.