Anställdas aktieoption - ESO BREAKING DOWN Anställd aktieoption - ESO Anställda måste vanligtvis vänta på en viss vinstperiod innan de kan utnyttja optionen och köpa aktiebolaget, eftersom tanken bakom aktieoptioner är att anpassa incitament mellan anställda och aktieägare av ett företag. Aktieägare vill se aktiekursökningen, så lönerande anställda när aktiekursen går upp över tiden garanterar att alla har samma mål i åtanke. Hur ett aktieoptionsavtal verkar Anta att en chef beviljas aktieoptioner och optionsavtalet tillåter chefen att köpa 1.000 aktier i bolagets aktiekurs till en aktiekurs eller ett övningspris på 50 per aktie. 500 aktier av totalväst efter två år och resterande 500 aktier väger i slutet av tre år. Vesting hänvisar till den anställde som förvärvar äganderätten över alternativen, och uppgörelsen motiverar arbetaren att stanna hos företaget tills alternativen västar. Exempel på aktieoptionsutövning Med samma exempel antar du att aktiekursen stiger till 70 efter två år, vilket är över lösenpriset för aktieoptionerna. Chefen kan träna genom att köpa de 500 aktierna som är belägna till 50 och sälja dessa aktier till marknadspris på 70. Transaktionen genererar en vinst per aktie på 20 eller totalt 10 000. Företaget behåller en erfaren chef i ytterligare två år och den anställdes vinst från aktieoptionsutövningen. Om aktiekursen i stället inte överstiger 50-teckningspriset, utövar chefen inte optionerna. Eftersom arbetstagaren äger alternativen för 500 aktier efter två år kan chefen kunna lämna företaget och behålla aktieoptionerna tills alternativen upphör att gälla. Detta arrangemang ger chefen möjlighet att dra nytta av en aktiekursökning på vägen. Factoring i företagskostnader ESOs beviljas ofta utan krav på kontantutlägg från arbetstagaren. Om lösenpriset är 50 per aktie och marknadspriset är 70, kan bolaget helt enkelt betala arbetstagaren skillnaden mellan de två priserna multiplicerat med antalet aktieoptioner. Om 500 aktier är placerade är det belopp som betalas till arbetstagaren (20 X 500 aktier) eller 10 000. Detta eliminerar behovet av att arbetaren ska köpa aktierna innan börsen säljs, och denna struktur gör alternativen mer värdefulla. ESO är en kostnad för arbetsgivaren och kostnaden för att emittera optionsoptionerna redovisas i bolagets resultaträkning. Få de bästa möjliga personaloptionerna En personaloptionsplan kan vara ett lukrativt investeringsinstrument om det hanteras korrekt. Av dessa skäl har dessa planer länge fungerat som ett framgångsrikt verktyg för att locka toppledare, och de senaste åren blivit ett populärt sätt att locka ut ledande anställda. Tyvärr misslyckas vissa fortfarande inte fullt ut av de pengar som genereras av deras personalbestånd. Förstå naturoptionerna. beskattning och inverkan på personlig inkomst är nyckeln till att maximera en sådan potentiellt lukrativ förmån. Vad är en anställd aktieoption Ett anställningsoptioner är ett avtal som utfärdats av en arbetsgivare till en anställd att köpa en viss mängd aktier i bolagslagen till ett fast pris under en begränsad tid. Det finns två breda klassificeringar av optioner som emitterats: icke-kvalificerade aktieoptioner (NSO) och incitamentoptioner (ISO). Icke-kvalificerade aktieoptioner skiljer sig från incitamentsprogramoptioner på två sätt. Först erbjuds NSO: er till icke-verkställande anställda och utomstående chefer eller konsulter. Däremot är ISOs strikt reserverade för anställda (mer specifikt, chefer) i företaget. För det andra erhåller icke-kvalificerade optioner ingen särskild federal skattebehandling, medan incitamentoptioner ges gynnsam skattebehandling eftersom de uppfyller särskilda lagaregler som beskrivs i Internal Revenue Code (mer om denna fördelaktiga skattebehandling finns nedan). NSO - och ISO-planerna delar ett gemensamt drag: de kan känna sig komplexa Transaktioner inom dessa planer måste följa särskilda villkor som framgår av arbetsgivaravtalet och Internal Revenue Code. Grant Date, Expiration, Vesting och Exercise Till att börja med ges anställda vanligtvis inte full äganderätt till alternativen på kontraktets startdatum (även känt som bidragsdatum). De måste följa ett specifikt schema som kallas fastighetsplanen när de utövar sina alternativ. Fastighetsplanen börjar den dag optionerna ges och listar de datum då en anställd kan utöva ett visst antal aktier. Till exempel kan en arbetsgivare bevilja 1 000 aktier på bidragsdatumet, men ett år från det datumet kommer 200 aktier att väckas (arbetstagaren har rätt att utöva 200 av de 1000 aktier som ursprungligen beviljades). Året efter kommer ytterligare 200 aktier, och så vidare. Fastighetsplanen följs av ett utgångsdatum. På det här datumet förbehåller arbetsgivaren inte längre rätten för sin anställd att förvärva bolagets aktie enligt villkoren i avtalet. En personaloption ges till ett visst pris, känt som lösenpriset. Det är det pris per aktie som en anställd måste betala för att utöva sina alternativ. Utnyttjandepriset är viktigt eftersom det används för att bestämma vinsten (kallad förhandlingselementet) och den skatt som ska betalas på kontraktet. Förhandlingselementet beräknas genom subtraktion av lösenpriset från börskursens marknadspris på det datum som optionen utövas. Skattepliktiga personaloptioner Den Internal Revenue Code har också en uppsättning regler som en ägare måste lyda för att undvika att betala kraftiga skatter på hans eller hennes kontrakt. Beskattningen av optionsoptioner beror på vilken typ av option som ägs. För icke-kvalificerade aktieoptioner (NSO): Bidraget är inte en skattepliktig händelse. Beskattning börjar vid träningstillfället. Bargain-elementet i ett icke-kvalificerat aktieoption betraktas som ersättning och beskattas till ordinarie inkomstskattesatser. Till exempel, om en anställd beviljas 100 aktier i aktien A till ett lösenpris på 25, är aktiens marknadsvärde vid tidpunkten för övningen 50. Avtalsdelen i kontraktet är (50-25) x 1002 500 . Observera att vi antar att dessa aktier är 100 placerade. Försäljningen av säkerheten utlöser en annan skattepliktig händelse. Om arbetstagaren beslutar att sälja aktierna omedelbart (eller mindre än ett år från träning) kommer transaktionen att redovisas som en kortfristig realisationsvinst (eller förlust) och kommer att bli föremål för skatt till vanliga inkomstskattesatser. Om arbetstagaren beslutar att sälja aktierna ett år efter utövandet redovisas försäljningen som en långfristig realisationsvinst (eller förlust) och skatten kommer att sänkas. Incitamentoptioner (ISO) får särskild skattemässig behandling: Bidraget är inte en skattepliktig transaktion. Inga skattepliktiga händelser redovisas vid utövandet, men prissättningen av ett incitamentsprogram kan utlösa alternativ minimiskatt (AMT). Den första skattepliktiga händelsen inträffar vid försäljningen. Om aktierna säljs omedelbart efter att de utnyttjats, behandlas prissättningen som vanlig inkomst. Vinsten på kontraktet kommer att behandlas som en långfristig realisationsvinst om följande regel är hedrad: lagren måste hållas i 12 månader efter träning och bör inte säljas till två år efter tilldelningsdagen. Antag att Stock A beviljades den 1 januari 2007 (100 inkomster). Verkställande direktören utövar optionerna den 1 juni 2008. Om han eller hon vill rapportera vinsten på kontraktet som en långsiktig realisationsvinst, kan beståndet inte säljas före 1 juni 2009. Övriga överväganden Även om tidpunkten för ett lager alternativ strategi är viktigt, det finns andra överväganden som ska göras. En annan viktig aspekt av options optionsplanering är den effekt som dessa instrument kommer att få på den totala tillgångsallokeringen. För att någon investeringsplan ska lyckas måste tillgångarna vara tillräckligt diversifierade. En anställd bör vara försiktig med koncentrerade positioner på någon företags aktie. De flesta finansiella rådgivare föreslår att aktiebolag bör utgöra 20 (högst) av den övergripande investeringsplanen. Medan du kan känna dig bekväm att investera en större andel av din portfölj i ditt eget företag, är det helt enkelt säkrare att diversifiera. Konsultera en finansiell och skattespecialist för att bestämma bästa genomförandeplanen för din portfölj. Bottom Line Konceptuellt är alternativen en attraktiv betalningsmetod. Vilket bättre sätt att uppmuntra anställda att delta i företagets tillväxt än genom att erbjuda dem en bit av cirkeln I praktiken kan emellertid inlösen och beskattning av dessa instrument vara ganska komplicerat. De flesta anställda förstår inte skatteeffekterna av att äga och utöva sina alternativ. Som ett resultat kan de bli kraftigt straffade av Uncle Sam och missar ofta på några av de pengar som genereras av dessa kontrakt. Kom ihåg att sälja ditt anställningsobjekt direkt efter träning kommer att leda till den högre kortsiktiga kapitalvinstskatten. Väntar tills försäljningen kvalificerar till mindre långsiktiga kapitalvinster skatt kan spara dig hundratals, eller till och med tusentals. Ett mått på förhållandet mellan en förändring i den mängd som krävdes av ett visst gott och en förändring i dess pris. Pris. Det totala dollarns marknadsvärde för alla bolagets utestående aktier. Marknadsvärdet beräknas genom att multiplicera. Frexit kort för quotFrench exitquot är en fransk spinoff av termen Brexit, som uppstod när Storbritannien röstade till. En order placerad med en mäklare som kombinerar funktionerna i stopporder med de i en gränsvärde. En stopporderorder kommer att. En finansieringsrunda där investerare köper aktier från ett företag till en lägre värdering än värderingen placerad på. En ekonomisk teori om totala utgifter i ekonomin och dess effekter på produktion och inflation. Keynesian ekonomi utvecklades. Huvud 187 Artiklar 187 Personaloptionsfaktablad Traditionellt har optionsoptionsplaner använts som ett sätt för företagen att belöna toppledningen och nyckelpersoner och koppla sina intressen med bolagets och andra aktieägares intressen. Fler och fler företag anser emellertid nu att alla anställda är viktiga. Sedan slutet av 1980-talet har antalet personer som innehar aktieoptioner ökat ungefär nio gånger. Medan optioner är den mest framträdande formen för individuell aktieförmån, har aktiehandel, aktiebolag och aktieuppskattningsrättigheter ökat i popularitet och är också värda att överväga. Bredbaserade alternativ förblir normen i högteknologiska företag och har blivit mer utbredd inom andra branscher. Större, börshandlade företag som Starbucks, Southwest Airlines och Cisco ger nu aktieoptioner till de flesta eller alla sina anställda. Många icke-högteknologiska, närstående företag ingår också i ledningarna. Från och med 2014 uppskattade den allmänna sociala undersökningen att 7,2 anställda hade optionsrätter, plus förmodligen flera hundra tusen anställda som har andra former av eget kapital. Det är dock nere från toppen i 2001, dock när antalet var cirka 30 högre. Nedgången kom till stor del till följd av förändringar i redovisningsregler och ökat aktieägartryck för att minska utspädning från aktieutmärkelser i offentliga företag. Vad är en aktieoption Ett aktieoption ger en anställd rätt att köpa ett visst antal aktier i bolaget till ett fast pris under ett visst antal år. Det pris som erbjuds får kallas bidragspriset och är vanligtvis marknadspriset när optionerna beviljas. Anställda som har erhållits aktieoptioner hoppas att aktiekursen kommer att gå upp och att de kommer att kunna tjäna in genom att utöva (köpa) aktierna till det lägsta bidragspriset och sedan sälja aktien till nuvarande marknadspris. Det finns två huvudtyper av optionsprogram, var och en med unika regler och skattekonsekvenser: icke-kvalificerade aktieoptioner och incitamentoptioner (ISOs). Optionsoptionsplaner kan vara ett flexibelt sätt för företag att dela ägande med anställda, belöna dem för prestanda och locka till sig och behålla en motiverad personal. För tillväxtinriktade mindre företag är alternativ ett utmärkt sätt att bevara pengar samtidigt som anställda får en viss framtida tillväxt. De är också meningsfulla för offentliga företag vars förmånsplaner är väl etablerade, men som vill inkludera anställda i ägande. Utspädningseffekten av optionerna, även när de beviljas de flesta anställda, är vanligtvis mycket liten och kan kompenseras av deras potentiella produktivitet och anställningsförmåner. Alternativ är emellertid inte en mekanism för befintliga ägare att sälja aktier och är vanligtvis olämpliga för företag vars framtida tillväxt är osäker. De kan också vara mindre tilltalande i små, närstående företag som inte vill bli offentliga eller sälja eftersom de kan ha svårt att skapa en marknad för aktierna. Stock Options och Employee Ownership Är alternativ äganderätt Svaret beror på vem du frågar. Föredragandena anser att alternativen är äkta ägande eftersom anställda inte får dem gratis, men måste lägga upp egna pengar för att köpa aktier. Andra tror emellertid att eftersom optionsplaner tillåter att anställda säljer sina aktier kort efter att de beviljats, skapar dessa alternativ inte långsiktigt ägarskap och attityder. Den ultimata effekten av någon anställningsplan, inklusive en optionsoptionsplan, beror mycket på bolaget och dess mål för planen, sitt engagemang för att skapa en ägarkultur, mängden utbildning och utbildning som den förklarar planen, och målen för enskilda anställda (huruvida de vill ha pengar snarare än senare). I företag som visar ett verkligt engagemang för att skapa en ägarkultur kan aktieoptioner vara en viktig motivator. Företag som Starbucks, Cisco och många andra paving way och visar hur effektiv en options optionsplan kan vara i kombination med ett verkligt engagemang för att behandla anställda som ägare. Praktiska överväganden Generellt måste företagen vid utformningen av ett optionsprogram noga överväga hur mycket lager de är villiga att göra tillgängliga, vilka kommer att få optioner och hur mycket sysselsättning kommer att växa så att rätt antal aktier beviljas varje år. Ett vanligt fel är att ge för många alternativ för tidigt, vilket inte ger utrymme för ytterligare alternativ till framtida anställda. En av de viktigaste övervägandena för plandesignen är syftet: Är planen avsett att ge alla anställda aktier i företaget eller bara ge en fördel för vissa nyckelpersoner vill företaget främja långsiktigt ägande eller är det ett engångsutjämning Är planen avsedd som ett sätt att skapa medarbetarägande eller helt enkelt ett sätt att skapa ytterligare anställningsförmåner. Svaren på dessa frågor kommer att vara avgörande för att definiera specifika planegenskaper, såsom behörighet, fördelning, intjäning, värdering, innehavsperioder , och aktiekurs. Vi publicerar aktieoptionsboken, en mycket detaljerad guide till aktieoptioner och köpoptionsplaner. Håll dig informerad
Tuesday, 31 October 2017
Moving genomsnittet ruby
Början Ruby (köp den på Amazon) är en Ruby programmeringsbok riktad till nykomlingar på språket. It8217s skrivs i instruktionsformat och går igenom grundläggande programmeringskoncept genom att bygga webbapps, databasprogram, nätverksdemoner och GUI-baserade appar. It8217 är väl lämpad för nybörjare till programmering samt erfarna utvecklare som bara är nya till dynamiska språk. Se innehållsförteckningen. Var du kan köpa Amazon erbjuder det bästa priset för Beginning Ruby. Kolla in det på Amazon (USA) eller Amazon. co. uk (Storbritannien). Boken är tillgänglig i både utskrifts - och Kindle-format. Alternativt har utgivaren Apress också boken till försäljning till full pris samt e-bookPDF-versionen. Början Ruby har 27 5-stjärniga recensioner över på Amazon, men andra har mottagits i tredjepartsrecensioner eller via e-post: Det här är inte bara en introduktion till Ruby. Ganska mycket varje teknik som är kopplad till Ruby på något sätt diskuteras. Författaren Peter Cooper är uppenbarligen en väl avrundad Ruby-utvecklare, och hans entusiasm för ämnet skiner igenom. Och med nästan dubbelt så många sidor som de andra böckerna som granskats här, är han lätt det bästa värdet av de tre. 8212 Andy Hudson, Linux Format Peter Cooper8217s Beginning Ruby: Från nybörjare till professionell har två publik, nybörjare utan programmeringserfarenhet som vill lära Ruby som sitt första programmeringsspråk och veteraner som vill lägga till Ruby i sin programmeringsverktyg. Cooper8217s svar på denna utmaning är en solid entré i den begränsade arenan av Ruby tutorials. 8212 Tim Hunter Det här måste vara den bästa boken för Ruby-nybörjare, vare sig det gäller skript eller för att röra sig mot Rails. . Lätt en 910 i mina ögon får inte 10, om det inte är nudity8230.and det är inte en inbjudan Peter. 8212 Jamie van Dyke I8217 har läst Beginning Ruby av Peter Cooper. I8217m verkligen imponerad. . En bra bok för en ny programmör, eller en programmerare ny till Ruby. It8217 är ett bra alternativ till de andra beginner8217s böcker om Ruby där ute. 8212 Pat Eyler Både Chris Pine8217s bok och why8217s guide har sina ögonblick, men enligt min mening har Cooper8217s bok en betydande kant i tydlighet och användbarhet. . Förutom att vara en bra rubinbok, är it8217s också en av de bästa 8220tech8221 böckerna I8217ve någonsin köpt. It8217s sällsynta att se denna nivå av kvalitet i tekniskt skrivande. 8212 8220Phren0logy8221 på Amazon Jag gillar verkligen Beginning Ruby. I8217ve undervisade en Ruby-kurs på CCSF (City College of San Francisco) under de senaste två åren och I8217ve använde Pickaxen som huvudbok. It8217 är en bra bok, men det är en kamp för att anpassa den knutna röra till en serie av didaktiska lektioner. Nästa semester I8217m med din bok (CS132A) eftersom jag tycker att du gjort ett bra jobb att organisera materialet i lärbara bitar. You8217ve räddade mig att jag skrev min egen lärobok. Bra jobbat. 8212 Douglas Putnam 8211 Professor i datavetenskap, CCSF Genom att arbeta genom de tidiga avsnitten och verkligen njutit av boken hittills är din beskrivning av objektorientering det bästa jag har stött på i någon bok. 8212 Caoimh O8217Broin Den bästa och mest omfattande introduktionen till Ruby I8217ve ses. . Texten är varken torr eller nyckfull, men en perfekt blandning mellan referensmaterial och hands-on handledning. . Jag vill nästan köpa en andra exemplar av ren uppskattning för Peter Cooper som ger en bra guide till ett bra programmeringsspråk. 8212 Zeff Morgan Jag tror Början Ruby: Från nybörjare till professionell är en bättre första Ruby-bok än den ärevördiga Pickaxe. .. Om du vill lära dig Ruby är Beginning Ruby boken att köpa. 8212 Larry Wright 2 oktober 2009 183 Filed under Uncategorized Som författare till Beginning Ruby. Jag tjänar pengar för varje kopia som säljs i tryck och elektroniska format (liksom vissa diverse inkomster I8217ll täcker senare). It8217s inte mycket pengar 8211 men det var inte motivationen att skriva boken. I detta inlägg kommer I8217m att visa dig hur allting fungerar från min synvinkel inklusive försäljningsuppgifter. bilder av mina kungliga uttalanden. information om min förskott. och liknande grusliga saker. Det finns även en del i slutet på hur Apress pissade mig lite (även om jag inte ångrar upplevelsen med dem 8211 de8217 är en bra utgivare i allmänhet, men mindre så sedan deras omstrukturering) och varför jag är glad med dig piratkopierar min bok om du så välj (även om det inte är en uppmuntran att göra det 8211 it8217s fortfarande olagligt, tyvärr) 19 oktober uppdatering: Efter att ha blivit mottagen bra av läsare på Hacker News och Reddit för en vecka sedan, var den här historien Slashdotted med en felaktig sammanfattning den 16 oktober 8211 samma dag som min dotter föddes Jag omdirigerade all trafik till den här sidan till en donationssida för cancer som jag inte kunde neka de otäcka kommentarerna och jag hade större saker i mitt sinne vid den tiden. Jag känner emellertid att jag måste ge lite extra information i hela detta inlägg för att klargöra de punkter som missförstod av en minoritet av läsare. Dessa tillfogade noteringar är fetstil kursiv. Advance 8220advance8221 är en summa pengar du får från din förläggare uppe under skrivandet av boken. Ögonblickligt stöder förskottet dig när du skriver boken, men det är verkligen för att du ska få boken klar. För första upplagan i 2006 fick jag ett förskott på 6000. Apress ger dig en tredjedel i taget på följande punkter: 1) när tre kapitel är färdiga och godkända, 2) när två tredjedelar av boken är färdiga och 3) när manuskriptet är klart. Så min 6000 spred sig över ca 9 månader. Obs! Några icke-författare gör misstaget att ett förskott är en typ av stipendium eller stipendium och att när boken är ute tjänar du mer pengar per kopia som säljs. Ordet 8220 förskott 8221 är välvalgt, eftersom betalningen helt enkelt är royalties på förhand. Så om du får ett 1000 förskott och gör 1000 i royalties under det första året får du inga extra pengar. De royalties som gjordes när boken faktiskt säljer 8220pay back8221 det förskott du fick tidigare. Den enda fördelen för dig är att om dina bokbomber och inte säljer tillräckligt med kopior för att betala tillbaka förskottet, måste du (oftast) donera utgivaren tillbaka ett öre. Hur mycket får jag per bok Detaljpriset (Beginning Ruby) är 40 (ge eller ta ett öre) men min utgivare, Apress, gör ett varierande belopp per bok 8211 Jag vet inte varför (Uppdatering: I8217 har blivit informerad av informerade läsare att det varierande nettopriset beror på att olika återförsäljare och distributörer får bättre rabatter än andra.). Ett 8220average nettopris8221 visas på mina royalties, men det här fluktuerar. It8217s brukar var som helst mellan 18.00-19.00. Let8217s säger 18.50. Från den här 18.50 får jag: 10 (1,85) för var och en av de första 4000 kopiorna sålda 12,5 (2,31) på kopiorna 4001-8000 15 (2.77) på kopiorna 8001-12000 17.5 (3.23) på kopiorna 12001-25000 20 (3.70) därefter Notera: Om jag marknadsför boken med en affiliate-länk till Amazon och gör 4 provisioner på deras 26-försäljning, kan jag lägga till ytterligare en dollar per försäljning. Trots att e-boken säljs direkt vid 27,99, kommer nettopriset för e-boken till ca 18.00 totalt. Eftersom det inte finns några utskrifts - eller utbudskedjekostnader får du dubbla royalties på e-böcker. Om dina tryckta kopior för närvarande tjänar 10 royalties, säg du 20 på e-boksförsäljningen. Detta betyder vid 10 mark, it8217s 3,70 per e-bok, 4,62 på 12,5-nivå, 5,54 på 15-nivå, och så vidare. Försäljningsfigurer Som en inledande bok till ett programmeringsspråk har Beginning Ruby sett en ständig försäljning 8211 it8217s inte en tidsspecifik bok (som, tyvärr, 90 av Rails-böcker). Den största explosionen var runt lanseringen 8211 som för de flesta tekniska böckerna 8211 men försäljningen didn8217t släppte avsevärt för första upplagan under dess livslängd. På 2 år (8 hela kvartalen) såldes 7673 papperskopior och 486 e-böcker. Försäljningen i början av 2009 ökade detta till cirka 8500 papperskopior och 500 e-böcker totalt för första upplagan. även om uttalandena sedan 2008 är så svåra att läsa har jag fått en exakt siffra. Den andra upplagan av Beginning Ruby beställdes i slutet av 2008 och kom ut i augusti 2009, så det finns inte några försäljnings siffror för det alls. När det är, kommer I8217ll att skickas igen. It8217ll vara intressant att se om den andra upplagan upplever en liknande explosion mot den första. Andra Apress-författare har föreslagit att det ska. I den stora planen av saker är det inte anledning att sälja cirka 9000 exemplar av en teknisk bok för en stor fest eller förtvivlan. Boken betalade lätt tillbaka sitt förskott under de två första kvartalen och it8217s gav Apress cirka 170 000 i nettoomsättning under två år (varav cirka 19 000 har hamnat). Påståenden De viktigaste detaljerna har givits ovan men jag vill visa upp några av Apress8217s royalties. Tillbaka 2007 såg de så här ut: Obs! Du kanske uppskattar att se John Resig8217s royaltyutlåtande för ungefär samma period för Pro JavaScript-tekniker. På något sätt min bok outsold hans, men han fick ett bättre förskott Jag trodde att dessa uttalanden var ganska coola. Jag kunde inte alltid räkna ut varför reserven beräknades som den var eller vad 8220licensed rights8221 var, men jag kunde lätt se hur många exemplar I8217d sålde i både utskrifts - och e-bokformat per kvartal och hade en bra historia och uppdelning av mina betalning. Obs! Se 30 skattelättnader i skatten längst ner till höger Det visar sig om du don8217t identifierar som en amerikansk skattebetalare (och har det obligatoriska nummer 8211 som tyvärr tvingar dig att skicka avkastning i USA i USA), USA: s skatt mannen kommer fortfarande att stjäla 30 av dina royalties (men märkligt inte dina framsteg) för att finansiera all sorts oförskämd nonsens. Lyckligtvis kan du, om du är i ett av flera länder med ett skatteavtal med USA, åtminstone begära tillbaka någon eller all avdragbar skatt från din lokala inkomstskatt. It8217 är inte lätt men. Under 2008 implementerade Apress ett nytt, förmodligen bättre backofficesystem, och nu är royaltyutlåtanden så här: ursäkta för bildkvaliteten jag tog den på min iPhone och Photoshopped den. Detta uttalande uppstod idag och det täcker bara en del e-bokförsäljning som inträffade i klyftan mellan första och andra upplagan (det är därför det täcker endast cirka 150 försäljningar). Så, it8217s fick ett av de enklare uttalandena I8217ve men jag känner mig fortfarande som en grad i steganografi för att räkna ut det. Jag får jisten, men de gör galen saker som dela en 12,5 royalty upp i en sektion för 10 och en för 2,5. då har du 8220proportional ebook royalty8221 sektioner lagt till. Du får också din 8220reserve8221 tillbaka efter 18 månader och när du lägger till dem också. it8217s ett tågavverk jämfört med uttalandena i 2007-stilen. Jag vet att I8217m inte är den enda Apress-författaren som känner på det här sättet. Om du inte visade referensen till 8220reservat8221 i ovanstående royalties, bläddrar du tillbaka och kontrollerar. I huvudsak får du en rabatt på dina royalties dolda i 18 månader (tekniskt 82206 perioder8221 8211 men eftersom en period är kvart, 1882) 18 månader) för att betala för 8220returns8221 8211 böcker som bokhandlarna skickar tillbaka till förlaget som de kan sälja . År 2007 tror jag 8211 men jag vet inte 8211 att jag hade 2200 av royalties borttagna som reserver. Jag fick sedan dessa belopp tillbaka någon gång nyligen. Nyfiken, skatterna för dessa reserver togs bort tillbaka år 2007, så trots att det var 8220income8221 US taxwise, materialiserades inkomstnivån till 2009. Detta förvirrar mig så mycket som I8217m, det skulle du vilja. Licensierade rättigheter På royalties ovanstående bör du se referenser till 8220Licensed Rights.8221 Min första redaktör berättade för mig att det här är betalningar du får för utländska versioner av din bok, för att inkludera på system som O8217Reilly Safari och 8220similar.8221 I8217ve frågade en några gånger nu, men I8217ve fick aldrig reda på vad dessa belopp är specifika för och I8217m inte medveten om några översatta utgåvor av Beginning Ruby. (Uppdatering: den 13 oktober 8211 6 dagar sedan 8211 kontaktade någon från Apress mig för att få mig att ställa frågor om några av dessa problem, men jag har ännu inte fått något svar.) Andra utgåvan 8211 En ny framtid men royalties Gå tillbaka till 10 .. I slutet av 2008, en redaktör på Apress 8211 Michelle Lowman (Uppdatering: Vem, förresten, var en bra redaktör.) 8211 kom i kontakt med mig om att skriva en andra utgåva av Beginning Ruby. Sedan 2006 har ett antal biblioteksinställningar ändrats, webbadresser har ändrats, och det fanns en hel del uppdateringar eller nya avsnitt att göra (till exempel referenser till Ruby 1.9, nya bibliotek, GUI-utveckling och alternativa webbramar). Nu var jag speciellt angelägen om att göra en andra upplagan av olika skäl, men Apress-kontraktet säger att om du inte har rätt att göra det utan dig, har någon någon annan namn på den här boken, och jag tror , du får pengar tagna av dina royalties för att betala för olika bitar av extra arbete. Att ha min bok drog från under mina fötter låtade inte tilltalande så jag anmälde mig att göra det. Det konstiga med att göra en andra upplaga är att it8217s inte riktigt behandlas som en 8220sekrets utgåva.8221 Istället är det8217 som en helt ny bok. Du får ett nytt förskott (6500 i mitt fall 8211 500 mer än mitt första men betydligt sämre på grund av USD-GBP-kursen vid den tiden) och du måste gå igenom alla samma rörelser som med en ny bok. Din royaltiesats och försäljningsfrekvens återställs till och med till en kvadrat. Så du8217re rakt tillbaka till 10 royalties efter att du har klivit upp till 15 efter 8000 försäljningar. Ick. Gratis PDF Fiasco (eller hur Apress verkligen blev av med mig) Eftersom pengarna var för varmt och I8217m mer intresserade av utskriftsförsäljning gick jag ändå in i andra upplagsförhandlingar med en insistering på att den elektroniska versionen av boken kunde vara fri tillgänglig 8211 som i öl, snarare än tal. När allt kommer omkring var försäljningen av e-book8217s fattig 8211 utgåvan utdelade 17 till 1 8211 och Apress hade gjort en ynklig 7500ish över 2 år från den. Liksom Seth Godin, och, hundratals andra författare, tror jag att gratis elektroniska kopior kan öka synvinkel och tryckförsäljning avsevärt. Med en bok som Beginning Ruby. Flertalet av läsarna vill ha en utskrivningsbok, så det verkade som en no-brainer att hålla försäljningen stark på en marknad med ökande konkurrens (från Manning, särskilt). Jag har ingen anledning att tro min redaktör gjorde inte mitt hjärta, men när hon tog det till mötena (där alla de bästa Apress-honchosna bestämde vilka böcker att publicera och hur) kom hon tillbaka och sa att den främsta mässingen var upptagen. Jag bad och bad, skrev ett par grunder, och erbjöd mig att prata direkt med dessa människor för att få mina idéer över, men noll 8211 ingenting. Den enda kompromissen som uppnåddes var att ett par kapitel skulle kunna släppas per månad, separat 8211, vilket är ungefär lika attraktivt för läsarna som att få en tiondel av en orgasm. Även här gjorde didn8217t det i mitt kontrakt, och jag tryckte på det. (Uppdatering: Några läsare har med rätta påpekat att det finns olika affärssaker när det gäller att ge bort e-böcker för att uppmuntra utskriftsförsäljningen 8211 och inte alla böcker kommer sannolikt att uppfylla kriterierna. Jag skulle ha kommit överens om min första utgåva, men min andra utgåva går in i en mer konkurrenskraftig atmosfär 8211 it8217s är inte längre den enda aktuella boken. Också, trots god försäljning och bra recensioner, har min bok noterats av en stor swathe av de mest erfarna Ruby-gemenskaperna. Vem rekommenderar böcker till andra Om de mer erfarna personerna kan boka gratis för dem, är de mer benägna att rekommendera den till nykomlingarna. Min bok isn8217t är även upptagen i den officiellt godkända Ruby-boklistan på ruby-doc. org 8211 som en sida, det var en gång med en snygg kommentar bredvid det, men jag tror att underhållaren har ett mod mot mig) Så småningom blev boken publicerad i augusti 2009 och jag har ännu inte sett hur den kommer att sälja. Vad som verkligen vred mitt lock var dock att se andra Apress-böcker som Dive Into Python och Pro Git att få den behandling jag ville ha. Du kan läsa båda dessa fantastiska titlar online, helt gratis. Att erbjuda elektroniskt innehåll gratis att marknadsföra tryck bokförsäljning isn8217t är ett främmande koncept att Apress så någon8217s spelar favoriter där borta. Pirate My Book (Ja, that8217 är ett frågetecken.) (Uppdatering: Det här är den mest omtvistade delen och den mest missförstådda. Jag säger i grund och botten två saker: 1 8211 om du pirater min bok, tycker jag that8217s ganska cool och 2 8211 I8217m kör ett tankeexperiment på vägarna kring de juridiska restriktionerna där. Observera att jag inte säger 8220. Du borde piratkopiera min book8221 eller 8220please bryta lagen och komma in i trouble8221 som vissa Slashdotters tror. Jag säger att det här inte är en bra idé om du Jag är inte medveten om riskerna. Så, nej, jag kommer inte att driva dig och jag tror faktiskt att det är bra när jag ser min bok är piratkopierad, men jag kan inte förespråka att du bryter mot lagen.) Min reaktion på att se andra Apress-böcker att få fri, elektronisk version behandling är: I8217m bra med dig piratkopierar min bok (Uppdatering: 8220I8217m bra med you8221 INTE betyder 8220Du måste 8221 som vissa Slashdotters tror.) Nu kan jag naturligtvis delta aktivt i att pirera min bok men heck, it8217s runt på massor av 8220fria e-book8221-webbplatser och på RapidShare. Det finns även länkar på Twitter för att torrents så här. Jag är glad för att du piratkopierar min bok, men. I8217m INTE EN LAGARE, och jag kan garantera vad Apress skulle göra åt det 8211 så att du gör det av din egen rygg Så, oj, don8217t pirat det Det enda villkoret är självklart att om du gillar boken och du tror att en utskrift skulle svälla att äga, snälla köp en 8211 även om it8217s bara för någon du vet som vill lära sig att programmera (Uppdatering: I8217ve fick e-post från läsare som fortsatte att göra exakt detta.) Nu 8211 ett tankeexperiment. Enligt mitt kontrakt äger jag upphovsrätten till hela boken med undantag för omslaget, innehållsförteckningen och indexen. Mitt kontrakt säger också att jag endast har tillåtit Apress att publicera och reproducera mitt innehåll. Så. Jag misstänker att om du tog min bok, tog bort omslaget, innehållet och indexerna och omvandlade det till en PDF med ett eget skapningsskydd, skulle Apress couldn8217t göra någonting åt det eftersom allt skulle vara min upphovsrätt. Nu kan jag inte tillåta dig att göra det här, men jag skulle inte driva dig om du gjorde det, don8217t gör det (Uppdatering: Ja, I8217m medveten om detta är 8220cute8221 språk men mitt meddelande isn8217t är för dunkat 8211 Jag gillar att se min bok piratkopierad men jag kan inte juridiskt kräva att du gör det eller att bryta lagen) Slutsatser Som ett sätt att bli välkänd, ha något bra för din rsume eller för att möta en ambition att skriva en bok och få den publicerad8221, skriva en bok och få Det publiceras av en stor utgivare isn8217t är ett dåligt sätt att spendera din tid. Om en liten berömmelse och respekt är allt du vill, är en bok tillräcklig. Om du vill tjäna en seriös inkomst från böcker måste du pumpa ut flera böcker. Det är därför som de flesta tekniskt böcker verkar vara av författare som har skrivit en enda bok eller många böcker (jag verkar vilja komma ihåg att Knuth gjorde den observationen en gång). I8217d hävdar att om du inte skriver en mycket nischbok (det är troligt att det inte kommer att tjäna tillbaka förskottet) eller en bok som8217s troligen kommer att bli extremt populär, borde du undvika de stora förlagen och istället hitta en medelstor utgivare som kan erbjuda mer attraktiva royalties. Förskott ser tilltalande ut, men om din royalty suger, det spelar ingen roll om du inte tror att du aldrig kommer att tjäna tillbaka den. I stället leta efter en utgivare som The Pragmatic Bookshelf som kan erbjuda dig 50 royalties. (Uppdatering: Det har varit mycket FUD över Prags8217 royaltiesats som Dave har motverkat här.) Även om I8217d sålde endast 2000 böcker för 18 nät (mot 8500 vid Apress), har I8217d gjort samma pengar. Marknadsföringen som en förläggare som Apress kan ge, gör att du inte kvadrerar din försäljning, så you8217d är framåt. Mindre utgivare är också lättare att prata med (från vad jag har hört) och du kan förhandla om bättre licensavtal med dem. Jag kan verkligen inte säga att jag ångrar min början Ruby-upplevelse, dock. Ovanstående är allt jag har lärt mig på grund av den här processen och där är mycket du inte vet som en nybörjare. Att få en enda bok under ditt bälte med en 8220regular8221 utgivare kan öppna dina ögon och ha stor effekt på din tankegång. I8217ve fick också jobba med några riktigt intressanta personer på Apress (de flesta av dem har tyvärr lämnat eller blivit avfyrade i den stora scaledownen som de gjorde nyligen). Effekten av Begin Ruby har bara varit positiv mot mig, även om den inte har gått så smidigt som jag önskade. och det kan säkert vara värre än att få slumpmässiga kontroller med oförutsägbara royaltyutlåtanden varje några månader 8 oktober 2009 183 Filed under Uncategorized Med detta inlägg vill jag hålla reda på några av de 8220Beginning Ruby8221 recensioner som gjorts på andra bloggar genom åren. About8217s Review 8211 8220 Beginning Ruby är ett utmärkt val för alla Ruby programmerare. Inom ramen för den etablerade konkurrensen har Beginning Ruby sitt eget och är fortfarande ett bra val.8221 29 recensioner på Amazon 8211 26 varav 5 stjärnor 3 är 4 stjärnor. Pat Eyler8217s recension 8211 8220Beginning Ruby är en bra bok för en ny programmerare, eller en programmör ny för Ruby. Dess ett bra alternativ till de andra nybörjareböckerna på Ruby där ute.8221 Stephen Bartholomew8217s översyn 8211 8220Even med ett språk som Ruby, lär du helt nya nybörjare hur man programmerar inte är någon betydelsefull prestation. Peter Cooper8217s nya bok 8216Beginning Ruby8217 försöker ta den fullständiga nybörjaren genom att vara en kompetent programmerare.8221 Huw Collingbourne8217s recension 8211 8220 Återigen kan jag så rekommendera den här boken som en bra introduktion till grundprinciperna för Ruby programmering och dess uppdaterade avsnitt på webben utvecklingsramar är välkomna.8221 Recension på Slashdot 8211 8220It8217s en bra bok för någon som vill lära Ruby som sitt första programmeringsspråk. Det kunde vara bättre. Jag gillade Cooper8217s tålmodiga och tankefulla förklaringar om hur man installerade Ruby and RubyGems, hur man använder en kommandorad och vad en textredigerare är för. Cooper ger svar på alla typiska Ruby-Nuby-frågor, men hans förklaring av grundläggande begrepp är förvirrad av tillfällig förvirrande hänvisning till avancerade eller till och med irrelevanta ämnen. För den erfarna programmeraren som lär sig bäst genom att läsa och arbeta igenom exempel är boken ett bra val. Dave Thomas8217 Programming Ruby, den Pragmatic Programmer8217s Guide (a. c. Pickaxe) är en tuff konkurrent, men varje bok har en stor mängd material som inte finns i den andra boken. Till exempel är Pickaxe8217s kärnbibliotekets referens uttömmande men det har bara en begränsad mängd av de slags handledning förklaringar som är Beginning Ruby8217s styrka.8221 7 oktober 2009 183 Filed under Uncategorized Let8217s Få det igång: Installera Ruby Programming Joy: En visselpipa - Stopp rundtur Ruby och Objektorientering Ruby8217s Byggblock: Data, Expressions och Flow Control Utveckla din första Ruby-applikation Ruby Ecosystem och gemenskapsklasser, Objekt och Modul Projekt och Bibliotek Dokumentation, Felhantering, Felsökning och Testning av filer och databaser Utveckling Ruby-applikationer och - bibliotek Avancerade rubyfunktioner som tyder på det tillsammans: Utveckla en större applikationsram för webbapplikationer i Ruby: Rails, Sinatra och Ramaze Ruby och Internetnätverk, Sockets och Daemons GUI-baserad skrivbordsapplikationsutveckling Användbara Ruby-bibliotek och - gems Bilagor BILAGA A Ruby Primer och Review for Developers BILAGA B Ruby Reference APPENDIX C Använd fulla resurser 2 oktober 2009 183 Filed under UncategorizedMigration Basics Även om kolibri migration inte är väl dokumenterad av ett stort antal bandningsrekord, vet vi några fakta, och vi kan dra logiska slutsatser om några av de okända områdena. (quotBandingquot betyder att fånga en fågel och förpacka en liten numrerad remsa av aluminium runt ett ben. Det här är för närvarande det enda sättet att identifiera enskilda kolibrier. Arter studeras genom att samla in uppgifter om ett stort antal individer.) Varje kolibrier har sin egen migrationsstrategi , och det är felaktigt att tänka på quothummingbirdsquot som en enda typ av djur, alla lika. Denna artikel kommer att diskutera Ruby-throated migration, eftersom det är troligt att fler människor ser den arten än alla andra i Nordamerika kombinerad, och dess dynamik liknar andra arter, även om datum och plats varierar. Ett undantag är Annas Hummingbird, som vanligtvis inte migrerar men kan vandra upp och nedåt efter säsongens matresurser. Bandingstudier föreslår att enskilda fåglar kan följa en bestämd rutt år efter år, som ofta kommer fram till samma matare samma dag. Vi vet inte om någon enskild fågel följer samma rutt i båda riktningarna, och det finns några tecken på att de inte gör det. Varför migrera Som med de flesta av våra flyttfåglar utvecklades kolibrier till deras nuvarande former under den senaste istiden. De var (och i stor utsträckning fortfarande) tropiska fåglar, men när de stora islakorna återvände från Nordamerika utvidgade de gradvis sina områden för att utnyttja rika, tempererade livsmedelsresurser och häckande utrymme, fylla oupptagna nischer i USA och södra Kanada medan de undviker intensiv konkurrens i troperna. Vissa sångfåglar har anpassat sig helt till våra variabla nordamerikanska klimat, delvis genom att bli vegetarianer på vintern och inte migrera. Men kolibrier är köttätare (nektar är bara bränslet för att driva sin flycatching-aktivitet), och beror på insekter som inte är rikliga i underfrysande väder, så de flesta måste återvända tillbaka quothomequot till Centralamerika på vintern eller risken svält. Några Ruby-throated förblir längs Gulfkusten varje vinter i stället för att fortsätta till Centralamerika, kanske för att de är för gamla eller sjuka för att göra ett annat trans-Gulf-flyg eller för ung (från mycket sena bonar) att ha haft tid att växa fett och tillräckligt stark för att migrera sina överlevnadschanser beror på svårigheten hos varje viss vinter, och många försvinner i ovanligt kalla år. En annan liten befolkning vintrar i de yttre bankerna i North Carolina. Nordlig migrering De flesta Ruby-throated Hummingbirds vinter mellan södra Mexiko och norra Panama. Eftersom kolibrier leder ensamma liv och varken bor eller migrerar i flockar, kan en enskild fågel spendera vintern någonstans i det här området där habitatet är gynnsamt, men återgår förmodligen till samma plats varje vinter. Ruby-throats börjar röra sig norr så tidigt som i januari och i slutet av februari är de vid Yucatans norra kust, gorgar på insekter och spindlar för att lägga till ett tjockt lager fett som förberedelse för att flyga till USA. av Mexiko och följ Texas kusten norrut, medan de flesta tydligen korsar viken, som vanligtvis lämnar skymningen för en icke-stopp flyg upp till 500 miles, vilket tar 18-22 timmar beroende på vädret. Även om kolibrier kan flyga över vatten i sällskap med blandade flockar av andra fågelarter, quothitchhikequot inte på andra fåglar. Vissa kolibrier landar på oljeplattformar eller fiskebåtar på vila. Enskilda fåglar kan göra landfall någonstans mellan södra Texas och centrala Florida. Innan avgår, kommer varje fågel nästan att fördubblas sin vikt, från ca 3,25 gram till över 6 gram när den når den amerikanska Gulf Coast, den kan väga bara 2,5 gram. Det är också möjligt att några Ruby-throats island-hop över Västindien och komma in i USA via Florida Keys. Män avgår Yucatan först, följde ungefär 10 dagar senare av de första kvinnorna. Men migreringen spridas över en tre månadersperiod, vilket förhindrar en katastrofal väder händelse att utplåna hela arten. Det innebär att några få fåglar kommer fram till vilken plats som helst tidigt (prickarna på migreringskartan), men större delen av befolkningen kommer att följa senare, så du får inte se din första kolibri i flera veckor. Varje enskild person har sin egen interna karta och schema, och quotyourquot fåglar kan komma tidigt, sent eller någonstans inom en tvåmånadersperiod. En gång i Nordamerika fortsätter migrationen med en genomsnittlig hastighet på ca 20 miles per dag, i allmänhet efter den tidigaste blomningen av blommor kolibrier föredrar. Den norra gränsen för den här arten sammanfaller med den Gula Bellied Sapsucker om de tidigaste männen anländer till Kanada innan tillräckliga blommor blommar, de slår sapsuckerbrunnar till socker samt äter insekter som fångas i sap. Den nordliga migrationen är klar sen i maj. Bandingstudier visar att varje fågel tenderar att återvända varje år till samma plats som det kläckde, även att besöka samma matare. Se Ruby-throated migrationskartan för artens sortiment och tidigaste ankomstdatum. Southward Migration Till skillnad från Rufous och andra kolibrier i de västra bergen, där frusna nätter är vanliga även på sommaren, är det inte säkert att Ruby-throats är väl anpassade till kalla temperaturer, de har en hård tid under mitten av 20-talet (F) och går inte in som regelbundet som deras västkusiner att spara energi. För att undvika kyla och brist på mat när blommor slutar blomma och insekter slutar flyga, går de söderut. Vissa vuxna män börjar migrera söder redan i mitten av juli, men toppen av södra migrationen för denna art är sen augusti och början av september. I mitten av september migrerar i huvudsak alla de Ruby-throated hos matare genom från längre norrut, och inte samma individer ses på sommaren. Det här är svårt att se, eftersom de alla ser lika ut, men det har bevisats av bandingstudier. Antalet fåglar som migrerar söder kan vara dubbelt så högt i norrgående resa, eftersom det inkluderar alla omogna fåglar som kläckte under sommaren, såväl som överlevande vuxna. För en hummer som bara kläckt, finns inget minne om tidigare migrationer, bara en önskan att lägga på mycket vikt (se ovan) och flyga i en viss riktning under en viss tid, leta efter ett bra ställe att spendera vinter. När en gång har läst en sådan väg kan en fågel återfå det varje år så länge det lever. Den initiala trängselen utlöses av förkortningslängden av solljus som höstens närmande, och har inget att göra med temperatur eller tillgången på mat i själva verket kolibrier migrera söderut vid tiden för största matflöde. När fågeln är tjock nog, migrerar den. Det är inte nödvändigt att ta ner matare för att tvinga kolibrier att lämna, och på hösten migrerar alla fåglarna på din matare ändå redan. Om du tar bort mataren kommer fåglarna bara att mata någon annanstans, men får inte stör att återvända till din gård nästa år. Jag rekommenderar att du fortsätter att behålla matare tills frysning blir ett problem. Many people notice that adult males migrate earlier than females, because in the last month or so there may be no birds with red throats at feeders. However, remember that immature Ruby-throats of both sexes look much like their mothers. Young males often have a quot5 oclock shadowquot of dark throat feathers in broken streaks, and many develop one or more red gorget feathers by the time they migrate. Immature females may have much lighter streaks in their throats, but no red. There is evidence that fewer Ruby-throats cross the Gulf in fall than in spring, most instead following the Texas coast back into Mexico. Perhaps the hurricane season is a factor, and the genes of many birds with a tendency to fly over water were lost at sea during storms. We still have many more questions than answers about hummingbird migration. Until technology provides radio transmitters small enough for a 3-gram hummingbird to carry safely, banding is the best tool to collect data on individual birds. But since only a few dozen people in North America - almost all of them amateurs like me - are licensed to handle hummingbirds, progress is slow and the odds of recapturing a banded bird are very low. Hi, I8217m Leo. Im a hybrid software developer, designer, marketer and entrepreneur. I am the CEO of Ballistiq. a web software design and development company. A little more about me gtgt Ballistiq Web Development Looking for a trusted, North-American based web development team who has a great track record Ballistiq provides bespoke design and development services. Weve built sites and applications for top companies including Autodesk, NVIDIA, Gnomon School of Visual Effects, Allegorithmic, Luxion and more. Categories Ruby on Rails vs PHP 8211 The good, the bad Note 8211 this article was written in 2012. I8217ve added an addendum to update the article with latest thoughts on May 30th, 2014 at the bottom. I8217ve been developing with PHP since version 2 (a very long time ago). I had been wanting to get into Ruby on Rails and had played with it since version 1 but never had the chance to really use it in production seriously until this past year with Ballistiq. Since then, I8217m now coding 8020 Ruby on Rails and PHP, so I8217ll give my thoughts on the two. At the time of writing, the versions I8217ll be talking about are PHP 5.3PHP 5.4 and Ruby on Rails 3.2 (running on Ruby 1.9.3). The context of this post is comparing the two specifically for web development. Aren8217t you comparing apples to oranges Rails is a framework for Ruby. PHP is a language and has many frameworks. What I8217m mostly comparing is my experiences working with both ecosystems: PHP framework (there are many) vs Ruby Rails (the predominant framework). While some may get hung up over trying to compare the two and may balk at the title of the article, this is a legitimate question that many developers ask. Many developers want to know what are the benefitsshortcomings of both ecosystems and genuinely just want a clear answer. From the popularity of the article via Google, it8217s something that tens of thousands of people actually are asking. Isn8217t it just a preference Yes and no. Both the PHP and Ruby ecosystem are very powerful. In many cases, yes you can just boil it down to a preference. However, there are many strengths for both and it8217s useful to be able to compare them in a level-headed fashion. I8217m not religiously attached to one or another. I8217ve used both. My company works with both. Both are here to stay and play important roles in the global web development industry. PHP 8211 The Good Simplicity and Learning Curve What I absolutely love about PHP is its simplicity and relatively shallow learning curve. When you first get into PHP, all you need is a single HTML web page. Change the extension to. php. Throw in some ltphp code here gt inline PHP, run it on a PHP web server and off you go. It8217s really dead simple for someone totally fresh to get something usable done and deployed within a few minutes. This has been one of the strengths of PHP and why it8217s so darn popular 8212 designers and non-coders can be productive right away. This simplicity, however, comes at a cost. It is a double edged sword as it leads to a lot of sloppy, unmaintainable code. This leads people to use frameworks that force a particular coding standard. The benefit of PHP8217s simplicity and shallow learning curve is a really big thing going for it and this has business benefits too: it8217s easier to find people who know PHP. If you look around, Ruby on Rails developers are more expensive and harder to find. The good developers who really know Ruby and Rails (the L33T ) tend to be more hardcore devs. The documentation for PHP is also fantastic. I find the docs for PHP far more useful than the ones for Ruby and the Rails Guides. The user comments really help and there is a lot of example code that shows you how to solve common problems. It8217s Made For The Web One big thing about PHP is that it really is focused entirely for the web. It8217s not a general purpose programming language like Ruby (or PythonJavaCPerletc.). Many of its inbuilt functions are specific to solving web problems and this makes it a very straightforward language to program for the web. T. ex. if you want to send a header to the browser, just use the header() function. An MD5 or SHA1 hash is simply md5() and sha1(). It8217s not as straightforward to do this with RubyRails as you have to load in libraries and use namespacesmodules to get to the same functions. Lot8217s of Resources PHP has a ton of resources, frameworks, applications and libraries available for it. From CMS8217 like WordPress and Drupal to frameworks like Symfony and libraries like Doctrine, PHP really has a lot of good resources available. When it comes to deploying a simple CMS, for example, I almost always default to just using WordPress instead of building a Rails app for it. I just feel that it8217s a much simpler solution. Dead Simple to Deploy Deploying PHP is dead simple. At its simplest, you just FTP the files to a web server (which we at Ballistiq never do 8211 we deploy using Git). Thing is, with PHP you don8217t have to know about or care necessarily about the web stack. Many hosting services just use a LAMP environment (Linux, Apache, MySQL, PHP), so as long as your files are in place they just run and that8217s that. Even using a framework like CodeIgniter is relatively simple as you don8217t ever need to use the command line 8212 you just copy the entire framework directory onto the server and run. That8217s it. PHP 8211 The Bad Its Evolution Led to a Lot of Bad Code This is not a direct feature flaw of PHP, but is the result of years and years of building on top of a simple scripting language that was specific to solving simple web problems. PHP was not always Object Oriented. Even when it did support OOP, for years it was not really OOP (missing important features like static methods), so programmers got around the problems through all kinds of shenanigans like using global variables or setting a local variable using a global reference pointer. T. ex. Typical pre-PHP5 code These are just a couple of examples, but there are more which I won8217t go into here. It8217s unfortunate but is just one of the side effects of working with a language that has evolved rapidly. One thing that drives us crazy at Ballistiq is going into projects where we have to upgrade or maintain applications written with old PHP. This is the case with one of our largest projects where we8217re trying to upgrade a large app written in PHP4 code and it is horrific. A lot of sloppy code there that we have to work with. Better Coding Standards Lead To Really Purist Code As mentioned above, sloppy code is not an inherent feature flaw of PHP. It8217s just how people have used the language. As PHP has gotten more popular, it8217s gotten a lot of influence from enterprise developers who take a really purist approach to programming. When you go to conferences and listen to these PHP experts talking about best practices, PHP no longer becomes fun to program. You8217re almost looking at a Java program. Classes explicitly declare namespaces, importing namespaces, explicit getter and setter methods, explicit declaration of publicprivate methods, etc. The code becomes extremely verbose. Now If you want to see a framework that takes a more purist approach to things, check out Symfony. It8217s a great PHP framework that8217s ready for enterprise level usage but from a development point of view, I find it tedious. Ruby on Rails 8211 The Good Mature Framework The more I develop on Rails, the more I really appreciate and love it. I8217ve found that it enables us to create higher quality products for clients much faster, that are more maintainable. It8217s a mature and stable framework that many large companies are comfortable with introducing into their environments. Compare this with the PHP ecosystem that has many frameworks 8212 there8217s a risk of selecting a framework and finding that it8217s just not that well supported several years from now (we made this mistake). Speed and Development Joy I absolutely love working with Rails because as a development platform, it is extremely automated. So many menial tasks have been automated so that you just focus entirely on solving the business problem instead of hacking your way around a framework. Some things really going for Rails in this regard are: GeneratorsScaffolding 8211 Provide a very good starting point for developing around. Some PHP frameworks now provide scaffolding features. GemsPlugins 8211 the Rails community provides a wealth of plugins as Ruby Gems that you simply add to your project Gemfile and install. This significantly accelerates development and maintenance time as you8217re not trying to integrate disparate libraries, it8217s already done for you. Active Record ORM 8211 Of all the ORM8217s I have used (for PHP I8217ve used DataMapper DMZ, FuelKohana, Doctrine), ActiveRecord in Ruby on Rails is simply the best. It actually works and is remarkably straightforward to use. Integrated testing tools 8211 I love it that out of the gate, Rails has a testing framework that can be used. In PHP, many frameworks have only recently been trying to integrate PHPUnit, to varying degrees of success. As a programming language, Ruby is really quite an amazing language. Unlike PHP, it really is Object Oriented from the ground up. Its code is very concise and powerful. Gems (extensions) enable you to bolt on needed functionality. After coding in Ruby, I find coding in PHP (or anything else really) rather tedious. Ruby on Rails 8211 The Bad Steep Learning Curve My main beef with Ruby on Rails is that it actually has a steep learning curve. Do not believe the hype that says that it is really easy. They will show you podcasts where you build a simple blog application using scaffolding and voila Instant website. Inget kunde vara längre från sanningen. Rails is seen to be easy because they have automated many things in the framework 8212 this does not make it easy to understand. Developing a Rails app and deploying it actually requires you to know the full stack. With PHP, you can just cobble together some inline PHP code, FTP it to a server and off you go. In Rails, you really need to know what you are doing from the web server (Apache or NginX), setting up Phusion Passenger and database engine. Then you have to deal with the asset pipeline process to prepare your app to run in Production mode. It8217s not as simple as running it in production mode 8212 you have to precompile your assets and make sure files are actually there. If they are not, Rails will simply blow up and you have to find out why by accessing the Rails logs. Compared to PHP, Rails is also unfriendly when it comes to errors. With PHP, it will spit out errors at you in development and the error messages actually make sense. Typically a page will render but the part with the error will show you which line the error occurred and the message is useful. In Rails, typically the whole app blows up. One last thing to throw in is that good Ruby on Rails developers tend to be polyglots. They are able to pick up and learn many languages. While beginners are battling to just learn Ruby, Rails people are using CoffeeScript instead of Javascript, SCSS (or LESS), and Slim or HAML. For a newcomer to Rails, part of the steep curve is not just learning Ruby and the Rails framework, but all these other languages as well Ruby is not an easy language I8217m sorry to offend some people here, but Ruby is simply not as straightforward as PHP to learn. It is by all intents an extremely powerful language. I choose to use Ruby simply because as a developer I feel it is a much better language than PHP. But from a learning perspective, it is not. Ruby has many features that are simply not straightforward for a beginner programmer to understand. One such concept are blocks, procs and lambdas, which Rails uses heavily. The classic Ruby on Rails example I will use is for creating a form: If you8217re new to Ruby, you can be forgiven for saying, 8220Wait a minute8230.what8217s f8221 Yes sir. Welcome to blocks. Here8217s a bit of an extreme example : Even as an experienced programmer, I went crosseyed when seeing the above line of code. It8217s very simple actually 8211 generate an 8 character random string. Another area is meta programming. Here8217s an example: I8217ve taught Ruby on Rails to experienced developers and this always trips them up. What exactly is hasone. hasmany and hasandbelongstomany. It looks like it8217s some kind of reserved keyword or declaration as these are not encapsulated in a method. However, in Ruby, ALL code is executed. Every line of code is executed, so hasone. hasmany and hasandbelongstomany are just methods that execute when the class is declared. Finally another thing that makes Ruby challenging for beginners is its loose syntax. Let8217s look again at the above code. It8217s not obvious (to a beginner) that hasone :address is invoking a method because the brackets are missing from the method invocation. In PHP, the syntax is stricter and this makes it simpler for beginners to know what8217s what. As a language, especially if you8217re coming in from others such as CJavaPHP, Ruby is challenging and it will bend your mind. Once you8217re up and running though, it8217s fantastic and many who have taken the leap really enjoy coding with it. Conclusion So from all of that, what do I conclude PHP is a friendlier entry point into web development than RubyRails. It8217s easier, there are more resources available and you can get results fast. Despite this, I personally enjoy working with Ruby and Rails more than PHP. For many of the reasons I8217ve described in this article, I just feel that the Ruby ecosystem offers a superior toolset for developing applications. I respect that the die-hard PHP fans won8217t feel the same way 8211 that8217s cool. My opinion has formed from working with both languages and ecosystems thoroughly in production. Since moving to Rails, I8217ve never really felt much of an urge to move back to developing with PHP and so all my new projects tend to be RubyRails. At Ballistiq. we develop in both. If a client project already has existing PHP code and we8217re developing for that, needing to integrated at the software level, we stay in PHP. If a client needs a brand new application, or we are building our own app use Rails. Addendum 8211 30 May 2014 Wow it8217s been a while since I wrote this and it continues to be a very highly ranked article on Google, which attracts a lot of traffic. Because technology advances at such a breakneck pace, I wanted to update this article with some new thoughts. PHP has come a long way since I wrote this article When I wrote this article, PHP was in a bit of a transitory phase as many folks were still using PHP 4 and trying to migrate to 5. Symfony 2 had not yet been released, and Laravel just was not a big thing. As of right now, PHP is having a bit of a renaissance. Here are some great technologies that really make PHP shine: Laravel 8211 As a framework, Laravel looks really excellent and many PHP folks have chosen it as their framework of choice. I can8217t speak for it because I haven8217t used it in production. But it does look good. Composer 8211 Composer is to PHP what RubyGems Bundler is to Ruby. It does package management that doesn8217t suck. For years the PHP community had to deal with Pear, which really didn8217t gain much traction. PHP web server 8211 For the longest time, developing with PHP on your computer meant that you had to rely on an external web server like Apache. Many devs ended up installing MAMP. As of PHP 5.4, PHP now comes with its own command line web server, and it8217s actually remarkably easy to fire up. Now, not everything works with the command line web server (I had trouble getting WordPress to boot up with it), but if you8217re developing with a framework that supports this, it8217s a much nicer and saner way of developing. Codeception 8211 One of our team members at Ballistiq gave a really nice talk about a testing framework called Codeception, and I have to say it actually looks decent, supporting things like Selenium and BDD style tests. HHVM 8211 Opensource project led by Facebook, this takes PHP and compiles it to bytecode that in turn gets translated into x64 machine code and runs really fast. This is a very interesting project that makes PHP highly performant and scalable. So PHP isn8217t going away anytime soon. Many people use it and put it to good use. However, I (and many web engineers) have moved on. As engineers, we8217ll hack in anything that we need to get the job done, however, by choice, I won8217t start a new project in PHP. Why I feel that there are more interesting solutions out there that are worth looking at. Why I still love Rails as a framework and Ruby as a language As I mentioned back in 2012, I really enjoyed working with Ruby and Rails. Despite it8217s steep learning curve, after a while I hit a groove and now the applications that we are delivering are so good that I can8217t imagine going back. Here8217s some of the things going for RubyRails that I feel really make it such a strong choice: Gems 8211 When I started coding in Ruby, Gems confused me more than they helped because there was too much 8216magic8217. Once I learned that you could (and should) just read the source code for gems, everything made so much more sense. Due to the pluggable nature of gems and the community8217s standards, gems can give your application a tremendous amount of functionality very quickly. Some gems that I cannot live without: Devise (authentication 8211 handles user logins, social sign on, forget password workflows and so much more), Paperclip (file uploads 8211 even handles uploading to S3, image croppingresampling), Simple Form makes forms incredibly simple to standardize and render on websites. Mountable Engines 8211 We did a mammoth project for a Fortune 500 company where after building the initial application, it was so successful that other departments wanted the same application, but with slightly different functionality and different UI. Rather than copypasting the application and having to support several codebases, we were able to extract most of the core functionality into a Rails mountable engine, and literally have one codebase but several websites. The client was absolutely thrilled with this and it was a huge win for us. Scaling 8211 Rails has a stigma of being unable to scale and they are referring to Twitter dumping Rails. We have not found any scaling issues with Rails and we have applications that run with millions of pageviews and hundreds of thousands of users each month. The fact is, majority of you will never have the scaling problems that Twitter had. And8230in fact, we found it easier to scale with Rails than with PHP. How First of all, Rails supports caching out of the box. You8217re able to do view fragment caching within your application code and use Redis as a cache store. That is a far simpler solution than trying to use Varnish which caches everything that goes through it and leaving logged-in users without caching. Using built-in Rails caching enabled us to scale easily. Secondly, Rails Capistrano Chef makes it very simple to scale to multiple server environments very quickly. Our typical Amazon AWS infrastructure includes Elastic Load Balancer, several application server instances a redissearch server, backed by an RDS database instance. We set up server provisioning with Chef, enabling us to provision a new ready-to-run instance in minutes. Simultaneous deployment complete with data migrations can be done with Capistrano from the command line. Literally, I type in cap production deploy:migrations and everything is magically deployed to all our application servers. Users don8217t see any downtime as we have Phusion Passenger Enterprise and rolling restarts. Background jobs 8211 PHP was designed as a hypertext pre-processor which means that it executes only when there is a web request. Compared with Ruby which runs a process. In Rails, you can easily set up background jobs using Sidekiq or Resque. This also adds to Rails8217 ability to scale easily. In our applications, we move a lot of stuff that can slow down requests like emailing users into background jobs. Now, PHP can do background jobs using Gearman but that8217s not standardized 8211 you have to install the PECL extension. In RubyRails, background jobs are a non-issue. You just do it. Rails is BORING 8211 Rails is now at version 4.x. It8217s a mature framework. It8217s boring now. The cool kids are touting NodeJS these days. Rails is boring because it8217s robust and stable. We8217ve developed apps in Rails now for some of the world8217s largest companies and people in their IT departments don8217t bat an eyelid. It8217s known that it8217s a good choice to build your (robust, enterprise-ready, scalable, performant) application on. Other technologies that I think are shaping the web AngularJS 8211 We introduced AngularJS into our client projects earlier this year for two Fortune 500 companies and it was a huge win. AngularJS enables you to build single-page applications that run in Javascript. Most of your front-end logic goes into AngularJS, and your backend simply because an API that serves JSON. Doing this, we were able to build highly performant applications. The user experience is very good with this approach because pages load extremely quickly as the browser does not have to do a full roundtrip request. NodeJS 8211 I started developing in NodeJS a few months ago and it blew my mind. What NodeJS is very good for is building networked applications. T. ex. if you8217re building a real-time chat application, you can use NodeJS for that. Due to the maturity of Rails, I don8217t think we8217re moving off that anytime soon for building large applications, but to add real-time components, I would use NodeJS SocketIO . So what should you do Web development is becoming incredibly complex. The days of a single developer being able to ship a full application from start to finish are becoming more difficult. Even front-end can no longer be handled by a single hybrid designerdeveloper who can hack CSS HTML markup. If you are just starting out, I still recommend that you start with PHP. You will get results much faster, and this will fuel your growth and knowledge. Jumping into RubyRails as your first language might leave you really frustrated trying to get results 8211 remember, with Rails, you have to know the full stack so it8217s not just the language and framework you8217re challenged with. Once you8217re comfortable with building bespoke applications in PHP, you can then whet your appetite and start using other technologies like RubyRails and even NodeJSExpress, and you8217ll appreciate what these technologies offer. Many of the concepts you will learn from PHP in frameworks like Symfony amp Laravel will carry over to other languages and frameworks. Another reason why I recommend PHP as a great starting point is that it8217s very useful to know so that you can hack on things like WordPress themes and plugins. WordPress is so widely used today in business (especially marketing departments) and it8217s great to have software polyglots who can work with many different tools and platforms. The thing that you have to realize is that the Web is not about what language you choose to develop with 8212 it8217s about the standards and what it takes to get information in and out of the web browser. It doesn8217t matter what is on the server, as long as it spits out HTML and the right JSON data 8211 you can use C for all anyone cares. That8217s why there are so many web technologies from PHP to Ruby to Python to to Java and gosh Perl is still used (I met a guy that wrote a Shopify App entirely in Perl). So there you go. Keep on hacking You can do anything in PHP that you can in Rails and visa versa. That8217s enough for me to stick with PHP. As far as Rails being faster to deploy, I really doubt it. There is not much time that can be saved in PHP vs. another language with the existing frameworks I already use (unless of course, we build AI to start programming code). Nice article. I totally agree because I8217ve had the same experience coming from a PHP background over to RoR. I8217m just glad I8217m not the only one that thinks learning Rails is difficult. I8217m still trying to get my head around Coffeescript. I would like to offer some advice to readers, a really good way to learn Ruby and Rails is by doing the FREE SaaS course from Edx (edx. orgcourseuc-berkeleycs-169-1xsoftware-service993 ). Not only will you be learning solid Ruby on Rails, but you will learn good engineering aspects and end up with a certificate from Berkeley University as well Other than that, I can recommend the Ruby on Rails Tutorial 2ed by Michael Hartl. and Head First Rails (O8217 Reilly). Remember, the more you give RoR a chance, the more you8217ll love it. Great write up. Im more of a javascript guy who occasionally uses php for the server side. Since node came, started to use javasript on the server side too. A lot of the cool tools that I use like Jekyll, Sass and compass are written in Ruby, so I always got tempted to learn ruby. I have observed a lot of my colleagues moving to Ruby or Python because they feel that being a php programmer just doesn8217t get the same respect. Great, balanced article Leo, thank you for not hyping one or the other and remaining objective about your experience. Deployment complexity of RoR concerns me, while I like the other aspects. Nice article. Im both PHP and Ruby on Rails programmer. I choose Rails because unlike PHP there8217s too many to study depending on your needs. A lot of framework and cms. While Ruby, rails is all you need. you can do scale apps. Really helpful article, Leo. I8217ve been dipping my toes into web development for the last six months and have been working mainly with PHP, however Ruby on Rails is next on my list of languages. As an experienced web developer, would you suggest I continue with PHP and move on to Rails after I get some experience Or jump right into Rails Hi Michael. I think it is valuable to know both. Definitely in the current climate a knowledge of Rails will get you a job very quickly as there is more demand and less competition. If you are completely new to web development, I think PHP is a better starting point because you will get results faster, which will spur you on to continue in web development. I can8217t stress enough how small successes build on each other. You can build a good, custom MVC application quickly using something like CakePHP or CodeIgniter. When you do move to Rails, I8217d advise not to learn Rails first. Learn Ruby first and try using a framework like Sinatra to start with. My reasoning is that Rails has too much 8220automagic8221 which makes it very difficult to understand what is happening under the hood. If you don8217t understand what Rails is doing under the hood, and you don8217t know how to look in Rails source code and figure it out, debugging your applications can be very long and frustrating, especially for a beginner. Thanks for the helpful response Leo I definitely agree that learning the Ruby is super important before jumping into Rails. There8217s definitely a lot to learn for me still but I8217m super excited and motivated by each little success. Cheers Couldn8217t agree more. As a newer Ruby and RoR dev, it was instrumental that I learned Ruby first. While RoR is Ruby at its core, it handles a lot of the rudimentary tasks for you8230 hence, Rails 8220Magic8221. If you don8217t have a decent grasp on how to use Ruby without a web framework, what8217s going on under the hood will absolutely frustrate you, especially when it comes to debugging or even understanding what the right toolmethod is for the job. Great article, Leo I, like most others, appreciate the fair and balanced representation of both languages and their respective frameworks. or chars (8216a8217..8217z8217).toa Array. new(8).join First language I ever learned was Turbo Pascal. Then Java. First web programming language I learned was PHP. Very informative. I8217m new to programming and am looking at both PHP and Ruby as server-side languages (I8217ll decide which one to go with once I8217m in to it a bit more). I agree that PHP is easier to pick up 8216off the bat8217 but it is very hard to find good quality tutorials or guidance out there. It8217s ridiculous really seeing as it8217s been around for so long. On the other hand Ruby does have a steep learning curve (though learning PHP in tandem seems to have helped me understand it) but the resources for learning that are out there are both easier to find and a whole heap better. Code school, for example (check it out if you8217re new to development) is a fantastic resource8230 but doesn8217t even touch PHP. I see Ruby as the SS language of the future. I am working on Ruby on rails. Using Ruby on rails to build rock solid code thus quality websites that will be easy to maintain afterwards. Ruby on Rails is also well known for its coding convention, Agile practices and security strength. But it is valuable to know both Nice article. I8217ve been getting into web dev with Rails over the past few months and it8217s nice to see that I8217m not alone in my belief that it simply isn8217t very intuitive. The comparison is indeed like apples and oranges, but it is useful when considering which area to focus on studying. I8217m currently picking up industry experience with Rails, but am hesitant to commit to going the full mile in that area because the curve is so steep, and I don8217t know if I want to be a Rails dev. Good article. I feel exactly the same way. After gt10 years php and Java I learned to like ruby. And the peace of mind that rails gives me in a stressful project. Blindly knowing where to put new code even after 12 hours of coding at 4 in the morning. But I really hate the complexity you mentioned concerning the infrastructure setup. Some people enjoy that 8211 I don8217t. Live is too short for such stupid tasks. I always wonder why can8217t the RubyRails folks manage to create a setup routine that8217s as as easy as php Why do I have to fight with Ruby version gem version mac OSX version inconsistencies for 2 days before rails server will run the first time Grmpffff8230. Actually, you don8217t have to 8220fight with8221 versions. 8211 Ruby versions: Generally managed by rbenvrvm et al. (rbenv is officially recommended by Rails 8211 rubyonrails. orgdownload ). If your native Ruby satisfies the Ruby version required by the project at hand (e. g. 1.9.3 for Rails 4, 1.8.7 for Rails 3.2) then you are good and you don8217t need those tools. But if you are doing client work, or even experiments (e. g. your main project is Rails 3, you are experimenting onplanning on switching to Rails 4) you8217ll need multiple Ruby versions running simultaneously in the same machine. You can use Vagrant et al. but that can8217t beat having it in your base OS. Rbenvrvmetc makes this possible only with a few lines of commands. You can say that one can just use the latest possible Ruby, but it doesn8217t always work like that (compatibility problems etc). Now try that with PHP. There are PHP version switching tools but they were nowhere near maturefull-fledgedeasy-to-use as rbenvrvm last time I checked. 8211 Gem versions: Seriously Show me a single languageframework with a packagedependency manager that doesn8217t involve version numbers (e. g. PHP8217s composer, Python8217s PIP, Closure8217s Leiningen, Java8217s Maven) Ever heard of DLL Hell 8211 Mac OSX: I8217m an Ubuntu user but I8217d be surprised if you can8217t get anything related to RubyRails working in MacOSX, seeing that most Rails developers are using Macs. 8211 You need to to install rbnevrvm on a machine only once. After that, you can install any version of Rubies and Gems in a matter of minutes. And with Heroku, you can see your thing in interwebs in seconds. And you have proven deployment tools like Capistrano which works for any empty Linux box. Yeah, PHP shared hosting is really ubiquitous (in most of which you still can8217t reliablysecurely run modern PHP frameworks), but here the scopes are really different. 8230from a long time PHP user who is busy switching to Laravel 4 and Rails 4 at the same time in production projects for the last 1-2 months. I8217m just finishing up a big L4 project and about to get started with ROR myself. hi leonard I am from India this article is very useful I want some suggestions on building a big eCommerce website. I have a good experience of making website in asp, asp Ajax and sql server 2008. Now I am thinking about moving from Microsoft (because of cost). Please help me choose between php(plain),php with mvc framework, django (not rails because of steep learning curve and updating the website after the host has updated the version).I have no experience on any of the above three. and I will develop alone and I want to cost to be on lower side. Any help would be useful Thanks for this article. As a programmer who8217s been out of the loop for a while (no pun), I had suddenly been preached to about RoR by kids who had never been across other languages. as if RoR was the be all and end all. Your article clarifies all the pros and cons very objectively. Much appreciated. As a would-be programmer starting out and slightly overwhelmed with all the languages and pressure with choosing one: really interesting article. Thanks Thanks for this Article. I8217m using PHP (Laravel framework) for development and Codeception for automate testing. Should I try RoR I8217ve heard that RoR have testing amp deployment tool which help us saving time a lot. Do you have any recommends for me. Thank you in advance We can not compare a programming language with a framework for a programming language. If you don8217t get this then you must start to learn again. A very well considered, helpful and well written article. Thank you Leo. Just read your article. I started my developing 8216career8217 in ASP webforms, which was quite easy and then switch to MVC with scaffolding, razor, nuget, entity framework, jquery, etc. It seems to me that Microsoft8217s stack is well-build and although I found it hard to learn MVC, it all fits together. Maybe they have 8216stolen8217 all good ideas from other frameworks and languages but they combined them very well and build a great IDE. So why does no one use it these days I read a lot of articles about what framework and language is the best, but they never compare it to ASP. Is it 8216just8217 because it8217s Microsoft The best article i8217ve ever read about ruby n php. Thanks for this Meanwhile, in Morocco: Hi. I loved your blog and it helped me a lot. Thank you so much I wanted to ask you one thing My first Rails app is a mobile app that will start with almost 1 million users (from another app my company is buying) and also a web application, like Facebook that you use in the browser and on your iPhone. I don8217t know how many nodes I can start with and I can8217t find a lot of information online. We have one server (16 GB RAM) I am using to test load balancer, database replication I can create as many VPS in the server as it fits in this server. I don8217t know if 16 GB will be enough for 1 million users but I created 6 nodes for staging (and learn): 8211 one with Nginx for load balancing (512MB) 8211 two with Unicorn for the Rails application (1GB each) 8211 two for MySQL (one master, one slave, but I still have to learn how to make Rails read from slave and write in the master, 2GB each) 8211 one for files (512MB shared via NFS with the load balancers and apps, where paperclip will write). The database will have a lot of writes. What architecture configuration you recommend Am I too wrong I used small RAM because I will use more for production but I don8217t know if 6 nodes is enough or if 16 GB will be enough. Can you help me Thank you 1 million users who are logged in, or 1 million users per month who are mostly just browsing the site Also, is the Rails application going to just be for an API or will it actually deliver the pages It also depends on the memory footprint of your application, if it is large or not. 1. 16GB is not likely enough for 1 million users if it is a reasonably sized application, and for that number of users I wouldn8217t put everything on a single server anyway. I8217d load balance across 2x 16GB (or 32GB) servers, quad cores minimum and scale from there. Remember, Ruby applications tend to bloat with lots of gems that you load in. The typical way to scale is to get as much memory as possible and run as many concurrent processes as you can in memory. 2. I would not use Unicorn. It is flaky and consumes a lot of memory. For that kind of scale, I would use Passenger Enterprise. If you want to be cheap and not pay for the Passenger license (which is worth it), you can use Puma. 4. Cache, cache, cache. Have one server just for Redis and cache the hell out of your application: guides. rubyonrails. orgcachingwithrails. html 5. Move slow processes into Sidekiq for background processing. Tack så mycket. It is 1 million users registered but usually 20,000 to 300,000 concurrent connections. And it8217s HTML and JSON, depends of the extension. We want to grow, of course, so need to be ready to more. I thought Unicorn was the best. I was using memcached but I will try Redis. Thank you very much again. It was hard to find something online explaining how much memory and how many servers in the load balancer and things like this. Just think about this: if Facebook was done in PHP, which is probably the most robust and used web application in the planet, you don8217t need to be a very smart person to realize php is far from being a bad programming language. in fact, PHP in the next 5 years will become the definitive best web programming language on top of every other one by far. Why Because its syntax is more human readable. The only reason why RoR is so trendy, is because it did very cool stuff a few years ago not available in php. But php is getting better day by day, frameworks like laravest are getting tremendous attention, and even bringing back old php users who are dropping RoR and coming back like prodigal sons. Yes, RoR deserves the credit of pioneering MVC and many other things, but it lacks the beauty and simplicity of C syntax, which will reign forever and ever. There8217s a lot of hype regarding RoR, most people try RoR just because they want to feel trendy and cool, one of the reasons most hipsters use it. Don8217t be a victim of the phenomenon. PHP is not a trendy thing, PHP, without all the noise and propaganda, still dominates the web. Juan David Pasts Rivera Another alternative is Meteor, which is great, is a framework on top of node js, is the one I like the most from all that I have tried: derbyjs, deployd, sails, express, from what I remember. Even when it8217s not comparable with Angular, Meteor supersedes it since you have 2 way data binding and backend logic at the same time and written in JavaScript, also you don8217t have to learn ng attributes. PHP has Facebook as a great representative, but its syntax is not as simple as you can get with Meteor and preprocessing packages. Anyway, scaling is always another whole story, it8217s a huge work which can be done in all languagesframeworks, I am not sure in which of them is easier though. If that8217s so then why does nobody choose to write apps in COBOL or BASIC anymore Why would you choose CoffeeScript over Javascript Why has Apple created Swift when people can just as well use Objective-C Why does it take a non-speaker on average twice as long to learn Russian compared to Italian To say it8217s all about preferences and claim that somehow all languages are equal is pretty naive. I like Php spent a lot of time learning it built most projects in Php and will continue doing so. The only reason I8217m learning ROR now is because I get tons of job offers some remote. I look at it this way freelance jobs I8217m using Php. Contract long term company jobs ROR I guess. I8217m currently in between angularjs now because at my company we wanted to try this out with Ruby as the backend. So imagine the steep learning curve I8217m going through for both of these languages Ruby and AngularJS at the same time.
Optioner as del of ersättning
Om aktieoptioner Aktieoptioner som del av ersättningsplaner för anställda Fler och fler arbetsgivare tilldelar personaloptioner till anställda som en del av sina ersättningsprogram. Noggrann hantering av de möjligheter som erbjuds av dina optioner kan hjälpa dig att bygga en investeringsportfölj eller förbättra din ekonomiska situation. Aktieoptioner Hjälp Skapa ett ägarskapskultur Företag som utfärdar aktieoptioner till sina anställda ger i själva verket rätt att äga en del av företaget. Anställda som erhållit optioner har ett intressant intresse för utövandet av bolagets aktie. En ökning av de anställdas prestation kan återspeglas i lönsamheten för företaget, vilket i sin tur gynnar börsens pris. Dessutom, eftersom aktieoptioner tenderar att beviljas i regelbundna scheman, med uppehållsperioder med intervall i framtiden, ökar aktieoptionerna anställdas engagemang för deras bolag. Två typer av aktieoptioner Tips: Kontrollera dina planregler för att se om du är berättigad till NSOs och eller ISOs. Det finns två typer av optioner klassificerade enligt deras skattestatus. Nonqualified Stock Options (NSO) är mer traditionella aktieoptioner som inte uppfyller vissa IRS-krav som gör att du kan få särskild skattemässig behandling. Med NSO kommer du att beskattas när du utövar aktieoptionerna. IRS tar ut vanliga inkomstskatter, sociala avgifter och Medicare-skatter på skillnaden mellan det verkliga marknadsvärdet när du utnyttjar aktieoptionerna och bidragspriset. Incentive Stock Options (ISOs) uppfyller IRS-kraven för särskild skattebehandling. Med ISO-satser behöver du inte betala vanliga inkomstskatter vid den tid du tränar, men du måste hålla dina aktier minst ett år från dagen för träning och två år från beviljandedagen för att få särskild skattemässig behandling. Om du väljer att sälja dina aktier efter väntetiden kommer du att bli föremål för en kapitalvinstskatt (till skillnad från inkomstskatt med NSO) om skillnaden mellan försäljningspriset och bidragspriset. Om du säljer dina aktier före den angivna väntetiden är dessa sålda aktier föremål för diskvalificerad disposition vilket innebär att du kommer att bli skyldig att betala inkomstskatter i allmänhet på skillnaden mellan det verkliga marknadsvärdet vid utövning och bidragspriset. Faktorer att tänka på när du utövar aktieoptioner Det här är några saker du kan tänka på när du utövar dina aktieoptioner. Se Utöva aktieoptioner för mer information. Vad du kan få genom att vänta. Vilka är dina förväntningar på aktiekursuppskattningen och marknaden i allmänhet Hur mycket tid kvarstår tills aktieoptionen löper ut? Behöver du handla snabbt eller har mer tid? Reglerna för din plan. Du behöver inte utöva alla dina aktieoptioner på en gång, dock kan minimier och avgifter vara tillämpliga. Dina planregler kommer att ha detaljerna. Dina nuvarande och framtida ekonomiska behov. Är det här en möjlighet att förbättra nuvarande kassaflöde eller en investering för framtiden Din nuvarande och eventuella framtida skattesituation. Utbildningsoptioner har skatteeffekter. Kommer du att vara i samma, en högre eller lägre skattesats när du är redo att utöva dina alternativ Din risk tolerans. Är du redo att möta marknaderna potentiella upp-och nedgångar, eller vill du ha en stabilare investering? Kompensation: Incitament Planer: Aktieoptioner Rätten att köpa aktier till ett visst pris vid något tillfälle i framtiden. Optionsoptionerna finns i två typer: Incentive stock options (ISOs) där arbetstagaren kan skjuta upp beskattning tills de aktier som köpts med optionen säljs. Företaget får inte skatteavdrag för denna typ av alternativ. Nonqualified stock options (NSO) där den anställde måste betala infome skatt på spridningen mellan aktiens värde och det belopp som betalats för optionen. Bolaget kan få ett skatteavdrag på spridningen. Hur fungerar optionsoptioner Ett alternativ är skapat som anger att ägaren av alternativet kan utnyttja rätten att köpa en företags aktie till ett visst pris (bidragspriset) med ett visst datum för utgången. Normalt är priset på optionen (bidragspriset) fastställt till börskursens marknadspris vid den tidpunkt då optionen såldes. Om det underliggande lagret ökar i värde blir alternativet mer värdefullt. Om den underliggande aktien minskar under bidragspriset eller förblir densamma i värde som bidragspriset, blir alternativet värdelöst. De ger anställda rätt, men inte skyldighet, att köpa aktier av deras arbetsgivare lager till ett visst pris under en viss tid. Alternativ beviljas vanligen till det aktuella marknadspriset på aktien och varar i upp till 10 år. För att uppmuntra anställda att hålla sig fast och hjälpa företaget att växa, har alternativen normalt en fyra till fem års vinstperiod, men varje företag sätter sina egna parametrar. Gör det möjligt för ett företag att dela ägande med de anställda. Används för att anpassa anställdas intressen till företagets intressen. På en nedgångsmarknad, för att de snabbt blir värdelösa Försvinnande ägande Förklaring av rörelseintäkter Ovaliserade aktieoptioner Stödjer möjligheten att köpa aktier till fast pris för en fast löptid vinster från bidrag till övning beskattas till inkomstskattesatser Aligns verkställande och aktieägare intressen. Bolaget erhåller skatteavdrag. Ingen kostnad för intäkter. Utspädningar EPS Executive investeringar krävs May inkräkta på kortfristig aktiekursmanipulation Begränsad aktiehantering Direkt tilldelning av aktier till ledande befattningshavare med restriktioner för försäljning, överlåtelse eller pantsättning av aktier som förverkas om verkställande avslutar sysselsättningsvärdet av aktier som restriktioner förfaller beskattas som vanligt inkomst Aligns verkställande direktör och aktieägarnas intressen. Ingen verkställande investering krävs. Om aktievärdet uppskattas efter beviljandet överskrider företagets skatteavdrag fast debitering till resultat. Omedelbar utspädning av EPS för totalt beviljat aktier. Verkligt marknadsvärde belastat vinst över restriktivitetsperiod. Prestationsaktier Enhetens bidrag Kontingentaktier av aktier eller ett fast kontantvärde vid början av förvaltningsperioden verkställande tjänsteman ger en del av bidraget då prestationsmålen träffas Aligns ledande befattningshavare och aktieägare om aktier används. Prestationsorienterad. Ingen verkställande investering krävs. Företaget erhåller skatteavdrag vid utbetalning. Avgift till intäkter, markerad på marknaden. Svårighetsgrad vid inställning av prestationsmål. När fungerar optioner bäst Passar till små företag där framtida tillväxt förväntas. För offentligt ägda företag som vill erbjuda en viss grad av företagsägande till anställda. Vad är viktiga överväganden när man genomför aktieoptioner Hur mycket lager ett företag är villigt att sälja. Vem kommer att få alternativen. Hur många alternativ finns att sälja i framtiden. Är detta en permanent del av förmånsplanen eller bara ett incitament. Webblänkar på aktieoptionerHem 187 Artiklar 187 Personaloptionsfaktablad Traditionellt har optionsoptionsplaner använts som ett sätt för företagen att belöna toppledningen och nyckelpersoner och koppla sina intressen med bolagets och andra aktieägares intressen. Fler och fler företag anser emellertid nu att alla anställda är viktiga. Sedan slutet av 1980-talet har antalet personer som innehar aktieoptioner ökat ungefär nio gånger. Medan optioner är den mest framträdande formen för individuell aktieförmån, har aktiehandel, aktiebolag och aktieuppskattningsrättigheter ökat i popularitet och är också värda att överväga. Bredbaserade alternativ förblir normen i högteknologiska företag och har blivit mer utbredd inom andra branscher. Större, börshandlade företag som Starbucks, Southwest Airlines och Cisco ger nu aktieoptioner till de flesta eller alla sina anställda. Många icke-högteknologiska, närstående företag ingår också i ledningarna. Från och med 2014 uppskattade den allmänna sociala undersökningen att 7,2 anställda hade optionsrätter, plus förmodligen flera hundra tusen anställda som har andra former av eget kapital. Det är dock nere från toppen i 2001, dock när antalet var cirka 30 högre. Nedgången kom till stor del till följd av förändringar i redovisningsregler och ökat aktieägartryck för att minska utspädning från aktieutmärkelser i offentliga företag. Vad är en aktieoption Ett aktieoption ger en anställd rätt att köpa ett visst antal aktier i bolaget till ett fast pris under ett visst antal år. Det pris som erbjuds får kallas bidragspriset och är vanligtvis marknadspriset när optionerna beviljas. Anställda som har erhållits aktieoptioner hoppas att aktiekursen kommer att gå upp och att de kommer att kunna tjäna in genom att utöva (köpa) aktierna till det lägsta bidragspriset och sedan sälja aktien till nuvarande marknadspris. Det finns två huvudtyper av optionsprogram, var och en med unika regler och skattekonsekvenser: icke-kvalificerade aktieoptioner och incitamentoptioner (ISOs). Optionsoptionsplaner kan vara ett flexibelt sätt för företag att dela ägande med anställda, belöna dem för prestanda och locka till sig och behålla en motiverad personal. För tillväxtinriktade mindre företag är alternativ ett utmärkt sätt att bevara pengar samtidigt som anställda får en viss framtida tillväxt. De är också meningsfulla för offentliga företag vars förmånsplaner är väl etablerade, men som vill inkludera anställda i ägande. Utspädningseffekten av optionerna, även när de beviljas de flesta anställda, är vanligtvis mycket liten och kan kompenseras av deras potentiella produktivitet och anställningsförmåner. Alternativ är emellertid inte en mekanism för befintliga ägare att sälja aktier och är vanligtvis olämpliga för företag vars framtida tillväxt är osäker. De kan också vara mindre tilltalande i små, närstående företag som inte vill bli offentliga eller sälja eftersom de kan ha svårt att skapa en marknad för aktierna. Stock Options och Employee Ownership Är alternativ äganderätt Svaret beror på vem du frågar. Föredragandena anser att alternativen är äkta ägande eftersom anställda inte får dem gratis, men måste lägga upp egna pengar för att köpa aktier. Andra tror emellertid att eftersom optionsplaner tillåter att anställda säljer sina aktier kort efter att de beviljats, skapar dessa alternativ inte långsiktigt ägarskap och attityder. Den ultimata effekten av någon anställningsplan, inklusive en optionsoptionsplan, beror mycket på bolaget och dess mål för planen, sitt engagemang för att skapa en ägarkultur, mängden utbildning och utbildning som den förklarar planen, och målen för enskilda anställda (huruvida de vill ha pengar snarare än senare). I företag som visar ett verkligt engagemang för att skapa en ägarkultur kan aktieoptioner vara en viktig motivator. Företag som Starbucks, Cisco och många andra paving way och visar hur effektiv en options optionsplan kan vara i kombination med ett verkligt engagemang för att behandla anställda som ägare. Praktiska överväganden Generellt måste företagen vid utformningen av ett optionsprogram noga överväga hur mycket lager de är villiga att göra tillgängliga, vilka kommer att få optioner och hur mycket sysselsättning kommer att växa så att rätt antal aktier beviljas varje år. Ett vanligt fel är att ge för många alternativ för tidigt, vilket inte ger utrymme för ytterligare alternativ till framtida anställda. En av de viktigaste övervägandena för plandesignen är syftet: Är planen avsett att ge alla anställda aktier i företaget eller bara ge en fördel för vissa nyckelpersoner vill företaget främja långsiktigt ägande eller är det ett engångsutjämning Är planen avsedd som ett sätt att skapa medarbetarägande eller helt enkelt ett sätt att skapa ytterligare anställningsförmåner. Svaren på dessa frågor kommer att vara avgörande för att definiera specifika planegenskaper som behörighet, fördelning, intjäning, värdering, innehavsperioder , och aktiekurs. Vi publicerar aktieoptionsboken, en mycket detaljerad guide till aktieoptioner och köpoptionsplaner. Håll dig informerad