What are the most difficult things people have to learn in their 20s?


Answer by Rich Tatum:

Here are some things I really, really wish I knew when I was twenty.

  • Love hurts, but not as much as not loving.
  • The friendships you nurture will have a greater effect on your life than where you work or what you earn.
  • You are not your job. You are not your bankroll. You are not the sum of your possessions.
  • The company does not love you. It has no heart. You are replaceable. Keep your parachute handy.
  • Few decisions will ever shape your future life more than who you choose to marry. To marry well, you must choose well.
  • Love is a commitment.
  • Your passions will grow out of your values. Make early, wise choices to value what (and who) is good, trustworthy, and praiseworthy.
  • Integrity preserved is honor won.
  • Rejoice in your health. It fades fast.
  • Find a passion. Pick a hobby, own it: photography, juggling—whatever. Get your 10K hours of perfect practice in early and change your life.
  • Don’t bother comparing yourself to others—this only leads to heartbreak, anger, and disappointment.
  • Most disappointments arise from unmet expectations. Set realistic expectations for yourself, based on your strengths, then strive to exceed them.
  • Don’t drive others to meet expectations they’ve committed to — lead, inspire, and help them do it.
  • Don’t set expectations for others when they have not or cannot commit to them.
  • Expectations you never communicate and negotiate will rarely be met—except by accident.
  • Don’t complain. Either change your situation, learn to cope, or change perspective.
  • Don’t worry about getting a big salary in your youth: first learn to execute tasks with skill, excellence, and grace.
  • Little stuff matters—even in lowly jobs. The boss notices—and even if not, your peers and colleagues will.
  • Ultimately, privacy is a myth: God sees everything. The cloud records everything. NSA files everything. So, live transparently and don’t waste useless energy hiding failures.
  • Don’t look down on others because they don’t have what you didn’t earn: your intellect, your beauty, and your culture of birth are undeserved gifts. Stay humble.
  • Failure is an opportunity: no great man or woman ever achieved significance without great failures. Fail forward.
  • Never withhold an apology when it’s merited. Deliver it quickly, sincerely, and personally—before resentment festers.
  • You don’t need to nurture old guilt when you’re forgiven. But remembering the shame can help you avoid repeats.
  • Mere belief in anything signifies little more than assent: trust and behavior reveal where true convictions lie.
  • The main thing you need to do quickly is to stop doing things quickly. Trade hurry for calm, confidence, and precision.
  • Everybody needs an editor. Everybody. Especially editors.
  • Get your work done first so you can play without guilt. Even better, make work play and the fun never ends!
  • If you want to develop your passion and gift, stop worrying about the things you do poorly. Go with your strengths!
  • Avoid fights. Seriously. Avoid them like a plague: nobody wins in a fight, even if you walk away unscathed. But when a fight picks you, leave everything on the mat and give it your all. Hold nothing back.
  • If you’re bored, you’re doing it wrong.
  • The skills that will help your career most are the abilities to assimilate, communicate, and persuade. Keep learning.
  • Nothing in this life—no pain, no agony, no failure—compares to the eternal joy of Heaven. Live in light of eternity.
  • Protect your joy. Nothing is easier to lose by over-thinking, overanalyzing, and second-guessing. On the other hand, always consider the long-term consequences of your choices: stupid decisions made in the moment can rob you of years of joy and happiness.
  • Your purpose in life determines how you frame events. You can maintain your joy in the most dire circumstances if you find meaning for your life. Dig deep.
  • It truly matters what you think about. Think well by reading good books, building good, loving relationships, having good conversation, and imitating great people.

I’m still learning — in fact I haven’t fully appreciated most of the list I made, myself. And I’m still adding to it. But I’m getting better.


What are the most difficult things people have to learn in their 20s?

Office Remote App-Turn Your Phone To A Smart Remote


Best App for Presentation… technology


Office Remote turns your phone into a smart remote that interacts with Microsoft Office on your PC. The app lets you control Word, Excel, and PowerPoint from across the room, so you can walk around freely during presentations. With Office Remote, you can start your PowerPoint presentation, advance the slides, see your speaker notes, and control an on-screen laser pointer with a touch of your finger — all from your phone. You can also navigate between Excel worksheets and graphs, and control data slicers from the palm of your hand. And you can scroll through a Word document or quickly jump to specific sections or comments.


– Jump to the next, previous, and last slide
– View slide thumbnails and jump to a slide
– View speaker notes on phone
– View presentation timer and slide numbers
– Laser pointer using touch on your phone
– Change…

View original post 73 more words

How to Install Drivers for Canon Printers PIXMA IP Series on Ubuntu 12.04 – 14.04


Canon is the largest printer manufacturer, but it does not have drivers for every printer model, running on Linux.

I will show you how to install the Ubuntu drivers for Canon IP Series Printers, on Ubuntu 14.04 Trusty Tahr, Ubuntu 13.10 Saucy Salamander, Ubuntu 13.04 Raring Ringtail, Ubuntu 12.10 Quantal Quetzal and Ubuntu 12.04 Precise Pangolin

The installation instructions are for the following Canon printers:

  • Canon iP100 Ubuntu Driver –  cnijfilter-ip100series
  • Canon iP1800 Ubuntu Driver – cnijfilter-ip1800series
  • Canon iP1000 Ubuntu Driver – cnijfilter-pixmaip1000series
  • Canon iP1500 Ubuntu Driver – cnijfilter-pixmaip1500series
  • Canon iP1900 Ubuntu Driver – cnijfilter-ip1900series
  • Canon iP 2200 Ubuntu Driver – cnijfilter-ip2200series
  • Canon iP2500 Ubuntu Driver – cnijfilter-ip2500series
  • Canon iP2600 Ubuntu Driver – cnijfilter-ip2600series
  • Canon iP2700 Ubuntu Driver – cnijfilter-ip2700series
  • Canon iP3300 Ubuntu Driver – cnijfilter-ip3300series
  • Canon iP3500 Ubuntu Driver – cnijfilter-ip3500series
  • Canon iP3600 Ubuntu Driver – cnijfilter-ip3600series
  • Canon iP4200 Ubuntu Driver – cnijfilter-ip4200series
  • Canon iP4500 Ubuntu Driver – cnijfilter-ip4500series
  • Canon iP4700 Ubuntu Driver – cnijfilter-ip4700series
  • Canon iP4800 Ubuntu Driver – cnijfilter-ip4800series
  • Canon iP5200 Ubuntu Driver – cnijfilter-ip5200series
  • Canon iP6600 Ubuntu Driver – cnijfilter-ip6600series
  • Canon iP7500 Ubuntu Driver – cnijfilter-ip7500series

Add the repository and update the system:

$ sudo add-apt-repository ppa:michael-gruz/canon-trunk
$ sudo apt-get update

For Ubuntu 14.04 Trusty Tahr ONLY, you need the libtiff4 library which is not available via the default repositories, but we can download it from the Debian Sid sources.

Download and install the libtiff4 library, for either 32 bit and 64 bit systems:

How to install the libtiff4 library on 32 bit Ubuntu 14.04 system:

$ wget http://cz.archive.ubuntu.com/ubuntu/pool/universe/t/tiff3/libtiff4_3.9.7-2ubuntu1_i386.deb
$ sudo dpkg -i libtiff4_3.9.7-2ubuntu1_i386.deb
$ sudo apt-get install -f

How to install the libtiff4 library on 64 bit Ubuntu 14.04 system:

$ wget http://cz.archive.ubuntu.com/ubuntu/pool/universe/t/tiff3/libtiff4_3.9.7-2ubuntu1_amd64.deb
$ sudo dpkg -i libtiff4_3.9.7-2ubuntu1_amd64.deb
$ sudo apt-get install -f

And install the drivers for your printer:

Canon iP100 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip100series

Canon iP1800, iP1880, iP1890 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip1800series

Canon iP1000 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-pixmaip1000series

Canon iP1500 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-pixmaip1500series

Canon iP1900 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip1900series

Canon iP2200 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip2200series

Canon iP2500 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip2500series

Canon iP2600 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip2600series

Canon iP2700 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip2700series

Canon iP3300 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip3300series

Canon iP3500 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip3500series

Canon iP3600 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip3600series

Canon iP4200 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip4200series

Canon iP4500 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip4500series

Canon iP4700 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip4700series

Canon iP4800 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip4800series

Canon iP5200 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip5200series

Canon iP6600D Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip6600dseries

Canon iP7500 Ubuntu Drivers:

$ sudo apt-get install cnijfilter-ip7500series

Now plug in your Printer and enjoy!
Lima Kilo

Website Hosting also Free Choices

Nowadays I see a lot of folks talking about web hosting. Most of the time, people don’t know that different websites require different solutions and therefore different hosts. They also don’t know the difference between a host and a domain name, and that there are services for each one of those problems. Here I will try to tackle this a little bit and give you a few suggestions.Thus, by the end of this article, you should be able to answer the following questions on your own:

  • What is Web Hosting and Domain Naming?
  • Is a Domain Name absolutely necessary?
  • What are the main difference between Static Web pages and Dynamic We pages?
  • Is my website static or dynamic?
  • What free solution should I pick to host my website?


For the purpose of this article, we will use the following definitions of web hosting and domain naming as follows:

Web Hosting

Consists in hosting and keeping files and data for websites, in machines called servers, that give away part of they available disk space to maintain the data. Web servers also provide internet access, which can be payed separately.

Domain Name

A name owned by a person or a company, made of a string composed by letters, number and special characters, used as an internet address that identifies the location of specific webpages.

So, now that we have these two aspects defined let’s see how they play together. A Web Hosting service, will give you a machine with a connection to the internet, where you can put your website’s data. Because the machine is connected to the internet, everyone can access it’s contents by using the machine’s IP address. However, IP numbers are long sequences, and are also very hard for people to memorize. To fix this problem, the Domain Name System was created. Shortly put, this system maps IP numbers, to website names that you can memorize.

Your needs

So, now that you know that Web Host service will give you a computer (server) to store data, and a Domain Name service will map the server’s IP address into a name that people can memorize, it is time to understand what your web site needs.

To know what your website needs, you must know the type of your website. Websites are made of Web Pages, and there are two main types of these:

  1. Static Web page: Also called flat page/stationary page, this is usually a web page that never changes, and that presents the same content in the same way to all users no matter what. Static Web pages are usually made using only HTML and CSS, and are the easiest to create because they don’t require databases, nor advanced programming skills. Some Static Web Pages can also use javascript and jquery to present content, but there is never the need to store data from the user in any case. To deploy a static Web page, all you need to do is to place your files in a server connected to the internet.
  2. Dynamic Web Page: A dynamic web page is generated in real-time. These pages usually include web scripting code and require access to databases in order to keep and manage information from users or programs. These Web pages usually use frameworks, and languages like Ruby, PHP, Python, Java, Javascript and so on to make the communication with the server’s local database easier.

With this information we can then make the following statement: If a Website contains one or more Dynamic Web pages, it is a dynamic website, otherwise it is a Static Website.

Overall, Static Websites are easier to create, and are ideal for beginners. Dynamic websites, require more knowledge and are harder to create, but they are a lot easier to maintain then static websites due to all the automation they have.
The list of advantages and disadvantages between static and dynamic websites goes longer, but these are the basics you need to know.

Your choices

So, now that you probably know the type of website you are building, it’s time to evaluate the market that exists. The important thing here is the type of Web hosting service that you will need. Some web hosts only allow for static web sites, while others also allow for dynamic.
Domain Name services are independent of your web host, however, sometimes the web host company also provides an integrated web naming service that you can use.

Free Web Hosting for Static Websites:

Free Web Hosting for Dynamic Websites:

All these web hosts will make your webpage available online for everyone for free, however they will create very long and horrible links for your websites. This is where Domain Naming comes in.

Free Domain Naming services:

Using Custom Domain with Google Drive:

Using a Custom Domain with Dropbox:

An alternative to choosing a domain and a name for your website is also URL shortening:

Free URL shorteners services:

For more information about this section, please visit the Sources Section.


By now you should be able to answer the formulated questions presented in the introduction. Web hosts provide servers that can hold your data and are connected to the internet. Domain Names are pretty much “masks” that map IP addresses and other horrible long names into string that people can actually memorize. URL shorteners can therefore be seen as a sort of Domain Naming service, provided of course that you can actually memorize the URL they give you.
Last but not least, the more complex your website is, the more complete the service you rent must be. Dynamic websites many times require complex online platforms such as Heroku or Google Apps to be deployed, and there are many others out there depending on the language set you use.



Web hosting: http://en.wikipedia.org/wiki/Web_hosting_service
Web hosting: http://www.w3schools.com/hosting/default.asp
Domain Name: http://www.techterms.com/definition/domain_name
Domain Name: http://dictionary.reference.com/browse/domain+name
IP address: http://www.techterms.com/definition/ipaddress
Domain Name System: http://en.wikipedia.org/wiki/Domain_Name_System

Your Needs:

Static Web Page: http://www.techterms.com/definition/staticwebsite
Static Web Page: http://en.wikipedia.org/wiki/Static_web_page
Dynamic Web Page: http://www.techterms.com/definition/dynamicwebsite
Dynamic Web Page: http://en.wikipedia.org/wiki/Dynamic_web_page
Static website’s advantages, disadvantages and examples: http://nellen.co.za/static-websites
Dynamic vs Static Websites, what’s the difference?: http://www.edinteractive.co.uk/article/?id=4

Your Choices:

Dropbox free web Hosting: http://www.groovypost.com/howto/host-simple-website-dropbox-free-hosting/
Best free Domain Naming services: http://www.prchecker.info/web-hosting/best-free-domain-name-services/
How to Host a Website on Google Drive : http://www.codeitpretty.com/2013/03/how-to-host-website-on-google-drive.html
Extra URL shortners: http://www.webdevelopersnotes.com/resources/shorten-url.php

Special Thanks


Hope that helps.

Lima Kilo

Finding a computer’s model using command prompt & terminal


May be you want to find out the drivers for your PC and you need to be specific, you have to have the model of your PC. It’s fairly simple.

A. On Windows Command Prompt:

wmic csproduct get name

On my machine that returns two lines, one saying Name and another with my machine’s model name:

Dell Inspiron 15 N5040

Now that’s cool!!

B. For Linux Terminal:

sudo dmidecode | grep -A3 '^System Information'


This is what you get:


Hope it helped.


Lima Kilo

To All First Years!!


When we join campus,we get to embrace, wait. We have no choice but to embrace what is happening around us. By that I mean, the Technology bit where you get a whole room of first years with laptops, a sound system and to make it worse, the talk geek. So how do you adapt. Interact with them, they usually don’t bit and they make come out as arrogant but in the long run, if you know how compromise, you will learn a lot.

These are the Tech items you really need in first year:


  1. Flash Disk preferably 8GB and above. Why that big? Yes, we want to also copy movies to watch other than notes and assignments. I don’t encourage you copy your friends’ assignment but if you are referring, that’s fine with me. Please don’t buy cheap fake one.
  2. Smart Phone. When I say smart phone, please don’t assume I mean those china phones with aerials, shiny silver plastic phones with these weird interface that has all in one features. No no. I mean the ones with Big brand names that are common like Samsung, Sony, LG, Nokia, HTC (if you have that much cash) and etc. These phones is like your laptop, in fact it is your laptop! You can do anything with it! Watch Movies, play games (CandyCrush, Flappy Bird), watch movies in the landscape rotation, music, you download stuff and the greatest of all *drum rolls* DO ASSIGNMENTS in it!!!! That I learnt waaay before I got my laptop.
  3. Original USB Cable. If you have the smartphone, use the usb it came with. If you don’t, please don’t steal. It’s quite painful to find an original one. If you don’t have an original, go to a technology shop and buy one. You will always know how to differentiate a fake one.
  4. Phone Memory Card. Again it is same as Flash Disk but very mobile.
  5. Location of Computer Lab. Needless to say, the phone can be annoying and the wireless connection in the school can be down and you need to send an email or check what’s new on facebook. But please NEVER copy anything from the computers in the Computer Lab. NEVER! If you love yourself, leave alone others, don’t even let that thought of transferring data from them cross your mind. Free advice there. 🙂
  6. Laptop. As eager as you are to know what about the laptop am going to write, you will get your answers finally. It all depends with the company you have who will influence you in the choice of laptop you get. Be it friends from home, school, relatives, your boyfriend (a girl can’t influence the choice of a dudes laptop, no offence. UNLESS she’s your big sister.) and lastly for the wise, those who Google the question. For me being a smart guy together with my roommate,we went to inquire from the Chairmain of our Department. For my roommate, he still says he will buy the laptop ( 3 years later!!). Here comes the biggest mistake. Please DON’T forget to mention either to Google or to whoever you are asking for the advice, what you love. For me, am a Gamer and Coder. So I can say I got a laptop that plays low graphics game.
  7. All Wi-fi hotspots. This one is MANDATORY if you know that you have a purpose in life. Who lives without Internet Access?? Who? How do you know? Good question. You will see more than 5 guys on the same space or may be one selfish guy in a certain corner on their laptop who knows that place is a good hotspot and they won’t even sell that secret to anyone. Those will be where you will reside.
  8. A nocturnal body. Universities in Kenya are all the same. Internet is best at the wee hours of the morning. 1Am – 5am. If you need to sleep at that time, good for you. Benefits for the rest of us. I will give you this simple tip I got from the movie Undisputed 3. That reminds me I need to download it. Anyway, the quote goes like this: “Improvise, Adapt, Overcome.” Boyka was being advised by a Black-American Boxer.
  9. An extension Cable. Guys guys! The hotspots have few sockets. Lets share the electricity. Help a brother.
  10. I almost forgot! Headphones!! It won’t cost you more than Ksh.1000. It does two things, keeps you happy when browsing through the internet (music). Two, keeps your personal stuff to yourself. We are not interested in listening to what your listening to. Whether it’s a video or music.

In summary, this is a what I got to learn when I was in first year in Taveta, Kenya. Hope you will learn from all this.


Lima Kilo

How to create and run a collaboration effectively


This is a post written by Jacob Edie from Codecademy.

<< As more and more people finish codecademy it would be likely that many of them would want to work on collaborative projects together. Unfortunately, many users find themselves with lacking knowledge on how to create collaborative environments efficiently. Many collaboration proposals today only say things like “Let’s make a game!” or “let’s start a team or something…” without Adequate information on the collaboration, they plan on making. This Guide/ Tutorial explains on how to create successful collaborations that people will want to join and work on.


The very first thing you should do before creating a collaboration is to plan on what you hope to make, and what resources you will need to do so. Resources include:
• Amount of people
• Frameworks that you might use
• Software
• Collaborative tools such as Github, cloud9, google drive, pastebins, etc. (http://www.codecademy.com/groups/html-projects/discussions/51ea70889c4e9d0bbb002b70 )
• Computer languages your team will need to know
• Time
• Money


planning on what tools to use ahead of time is important and choosing the right tools will make your production go a lot smoother. I made a list tools you can use based on category. (Names with a “$” means they cost money usually on a monthly basis)

The Whole Package:
• Github- https://github.com/
• TeamBox$- http://teambox.com/
• BaseCamp$ – http://basecamp.com/
• ActiveCollab$ – https://www.activecollab.com//
• Photonotes- http://www.protonotes.com/
• ProjectPier- http://www.projectpier.org/
• BeanStalk – http://beanstalkapp.com/
• Jira$ – https://www.atlassian.com/software/jira

• OpenProj – http://sourceforge.net/projects/openproj/
• dotProject – http://www.dotproject.net/
• ganttproject- http://www.ganttproject.biz/
• consultcomm- http://consultcomm.sourceforge.net/
• taskjuggler- http://www.taskjuggler.org/
• collabtive – http://collabtive.o-dyn.de/?lang=en
• opengoo- http://www.fengoffice.com/web/
• Microsoft Excel
source: http://www.smashingapps.com/2010/02/15/10-free-tools-for-effective-project-management.html

• Skype – http://www.skype.com/en/
• Email – https://mail.google.com
• Google Hangouts- http://www.google.com/+/learnmore/hangouts/
• IRC – http://webchat.freenode.net/
• Cisco WebX – http://www.webex.com/
• Join Me – https://join.me/
• Moxtra – http://www.moxtra.com/
• Podio – https://podio.com/
• Yammer – https://www.yammer.com/

Sharing Code:
• Github – https://github.com/
• Cloud9 – https://c9.io/
• Koding – https://koding.com/
• PastBin – http://pastebin.com/
• Google code – https://code.google.com/
• BitBucket – https://bitbucket.org/
• Stypi – https://code.stypi.com/b8h97ita
Source: http://blog.monitor.us/2013/05/cc-in-review-4-online-collaboration-tools-for-developers/

Sharing Ideas:
• RealTime board – https://realtimeboard.com/
• Prezi – https://prezi.com/
• XMind – http://www.xmind.net/
• SpiderScribe – http://www.spiderscribe.net/
• Coggle – http://coggle.it/
• FreeMind – http://freemind.sourceforge.net/wiki/index.php/Main_Page
• Haiku Deck – http://www.haikudeck.com/
• See more here: http://mashable.com/2013/09/25/mind-mapping-tools/

• KickStarter – https://www.kickstarter.com/
• Indegogo- http://www.indiegogo.com/
• crowdFunder – https://www.crowdfunder.com/
• RocketHub – http://www.rockethub.com/
• appBacker – http://www.appbackr.com/
• finding sponsors – http://www.wikihow.com/Seek-Sponsorships

Balancing your project-

When coming up with ideas about your project it is important that you keep a level mind about how ambitious your project will be. Sure ambitious projects sound a whole lot more fun to make but once you get started does it dawn on you how much work your project will really require. That is why of instead of making large ambitious projects first you should start on small projects before going on to larger ones. Too many collaborations and personal projects aim too high to what the developers can actually achieve and are given up on. Here is a post on the unity forums that explains this nicely. Link


The second step to creating your collaboration is to recruit members to your team. You do this by either contacting the people you wish to recruit directly, or posting a way for people to sign on to your project through a forum. It is important that in both cases that you inform them thoroughly on what type of project you plan on making, and convince them that your project is worth devoting their time to.

Recruiting through a forum:

• Good for projects that need a fair amount of people
• More visibility
• People come to you to join instead of you going to them
• You don’t need to know personal contact details beforehand
• With popular collaborations it will be hard to look through all people wanting to join
• Not suited towards projects that you don’t want to disclose much information to the public
• You have to compete with other collaborations for attention

When creating your forum it is important, that you give adequate information about the project you are creating. Here is a little template you can use when creating collaborations:


this is the first thing people see so make sure it accurately describes your project and is short to the point
BAD TITLE: Looking for people to collab with!! (not descriptive enough)

GOOD TITLE: Recruiting Members to build a program to Find the Largest Prime Number (Waaaay too long)

BEST TITLE: COLLAB: Finding largest Prime Number (short, sweet, and to the point)


Explains what you plan to achieve with your collaboration or what it is about. This is the make it or break it moment for most people interested in your collaboration.

BAD INTRO: I was thinking about making a game. (There are many types of games)

OKAY INTRO: I was thinking like a space fighter game but actually, I think a 2d platformer would be better. Maybe even a sandbox game… (Lacks a clear goal)

BEST INTRO: AHOY maytes! Pirate simulator is a group project that focuses on teamwork and pushing your skills to the limit while creating a realistic pirate simulator game using html5 and JavaScript. In this game you are poor merchant that is looking for other ways to make a living it is then you notice the lucrative but dangerous life of a pirate. With your measly 12 crew members and your small, but fast trade boat you set sail to make it rich in the pirating business. However, this is no easy path; you will come across many challenges including: maintain your crew, enemy vessels, dribbling supplies, weather, wars, and many other challenges.
(perfectly explains what the collaboration project is about and also some features that will be made while keeping the reader engaged.)

Certifications to join (not required) –

this is where you tell the people interested in joining what they need to know before applying (can also be combined in roles) this can be determined by self-judging or series of tests that you might give them. This can be things such as age, time available, skill, experience, work effort, time zones, language, etc.
(there really is no correct or bad way to do this) example:

Applying for:
Time available:


roles help people know what their job is. It gives them a sense of purpose. It is important that everyone is clear what his or her role is in your collaboration. One person that does not have enough skill or determination at their role can slow down the entire project.

BAD ROLE LIST: we need:
Programmers: lots!! (What type of programmers? What skill level?)
Artists: about 1-10

GOOD ROLE LIST: we need:
JavaScript programmers 1-5 (how much skill?)
Web designers 3 (skill?)
Artists 5

BEST ROLE LIST: we need:
JS Leaders (1) (explains how many you need)
Show one of your best projects. Also familiar with Phaser.js

JS Devs (1-5)
Completed js track and is familiar with Phaser.js (shows what type of skill your looking for)

Html Lead(1)
Show best project. Good art skills would be nice

HTML Devs(10)
Completed web fundamentals
Php dev (2-4)
All skill levels (make sure to note the skill level you’re looking for even if you’re not looking for anything specific)

Testers (unlimited)
Good at explaining problems that you had playing the game

Past Projects (Optional)-

you would put this here to show that you have some skill and are serious about this project. This is especially important if your collaboration is quite ambitious and you need to earn some respect so people know that you have the driving will to put this project through. Make sure to post only the projects you are proud of here.

BAD EXAMPLE: look at this moving ball I made in 5min. (make sure you post actual projects and not small tests)

GOOD EXAMPLE: I created this platformer over the weekend. (Impressive but does not show your skill with working with a group)

BEST EXAMPLE: check out what I did with the last collaboration! (Shows that your last collaboration was a success and this one is just as likely to succeed also)

Where to post:

Once you have written your collaboration proposal it is now time to figure out where exactly to post it. It is important that you post in a forum that generally has members of the skill your project requires. Here are places you might consider:

Codecadmey Groups: the people here are relatively young and are still learning, although many of them would be very happy to join a collaboration of some sorts.

HTML5 Game Dev forums: many people here are roughly in their 20s and 30s and are quite skilled but most of them aren’t looking for any sort of collaboration unless there is money involved. Link: http://www.html5gamedevs.com/forum/6-collabs/

GitHub: one of the best places to find collaborations of all skill and age levels Link: https://github.com/

*If You Know Of Any more Sites Please Tell Me *

Recruiting Directly:

• Get absolute control of who you want to ask to join
• Possibly quicker startup time
• Great for private collaborations
• Suited for small collaborations
• Sometimes hard to get a hold of people
• Person might not be interested
• You need to know a lot of people to get a decent sized collaboration going

Just like getting together a collaboration on a forum it is important that the person you are contacting sees that your project is worthy of his/her time and effort. To contact someone directory it is important that you have their contact details such as their email. It is also important that you think the person would be interested to help with the project in the first place. In this guide we will be focusing on contacting through email. Here is a guide to help you along.


make sure your subject is catchy and concise you have to speak curiosity so the receiver is lured in. Mention the most important details first.


if you do not know this person very well it is important to use “Dear” or “To” but if you already familiar with this person it is okay to use “hello”. Or even just write their name with a comma ex: “Susan,”


make sure you are to the point. Write shorter active sentences instead of long passive sentences. Take out “and” to form two sentences. Give the eyes a rest. Create brief paragraphs to break up text. A solid block of text can be discouraging to read.


make sure to use “Best,” “Regards” or “Sincerely,” followed by your full name. Do not use “Cio” or “cheers”.

Rules to go by:

• Use proper spelling and grammar
• Avoid abbreviations
• Never pile up exclamation marks!!!
• If you have important points to make regarding email content, simply quote the selected text and respond in the line below.
• Avoid Emoticons such as 🙂

• Make sure your letter is under 2mb (you only have to worry about this if you have images or files attached to your email)

Other resources when writing an email:


Now that you have all your members, it is time to get to work! Here are some tips on making sure that everyone is productive.

Make Sure Everyone is On the Same Page-

This is the most important thing that needs to be done for your team to be successful. Make sure that everyone has the same goals. If everyone is working on what they think will make the project better and not working as a whole, there will be many conflicts within the group. To fix this, you need to discuss your long and short-term goals of the group also, how you are going to go about them and who is assigned to what.

Set Expectations-

Everyone needs to know what he or she is assigned to and when he or she needs to be done with what they are assigned. It is also important that all the code that is submitted to the project works and is formatted correctly if not they need to know where they can get help to fix the problem.

Be open about everything-

If somewhere in the project you are stuck or don’t know something don’t be afraid to ask your group. Just because you are the leader of the group does not mean you have to seem the smartest or most talented member of your group.

Hold Effective Team Meetings-

Make sure each team meeting is a productive one; before you start a meeting make sure you have a purpose for it. Another good tip is to set an agenda. This way you can measure the success of each meeting.

More tips for effective meetings: http://thebuildnetwork.com/team-building/brainwriting/

How to create an agenda: http://www.omafra.gov.on.ca/english/rural/facts/05-037.htm

Source: http://quickbase.intuit.com/blog/2013/06/12/the-5-best-ways-to-collaborate-with-your-team/

What to do if your project begins failing-

sometimes a collaboration is not successful either because one your important members quit, team members lose excitement for the project, you didn’t plan ahead enough and many other factors. To fix this it is important to get together with your group and see if your collaboration can be repaired. Often collaborations that fail at one thing can continue in other forms. Sometimes relationships established in collaboration can lead to new collaborative effort. Check out this website to see things you need to watch out for during your collaboration: http://www.hunter.cuny.edu/socwork/ecco/coalition_project/j.htm


Congratulations! You have finished your collaboration! Now it is time to spread the word about what you have made. Here are some sites you can use to promote your creation:
• Best Codecademy Projects – why not share your work right here at Codecademy and get reviewed by your peers. Link: http://www.codecademy.com/groups/best-codecademy-projects/about

• HTML5 Game Dev forums – If the project you made was a html5 game than this is the perfect place to post. Link: http://www.html5gamedevs.com/forum/8-game-showcase/

• SourceForge – If your project happens to be an open source application this is one of the best places to put it.

• Bloggers – if you know any bloggers that would be interested in your project make sure to contact them and they might feature a blog on your team’s work http://www.rocknrollbride.com/2013/08/10-ways-to-make-all-bloggers-want-to-work-with-you/

• Create a website- make sure you have a home page. Where you can keep your project and any news or updates to it.
How to create a website: http://www.codecademy.com/groups/html-projects/discussions/5167394881c2702060000d1f

• Ads – if your collaboration was for commercial purposes then you might want to buy some advertisements. Link: http://www.google.com/adwords/?sourceid=awo&subid=ww-ns-g-awhp_nelsontest3_nel_p&clickid

Closing thoughts:

I hope that by now you have a good idea how much thought and dedication that goes into a collaboration. The main point I want to leave here is that collaborations are not for lazy people, most of the time it takes 10x more work to do a collaboration than it is to do it yourself. Being in a collaboration is probably the most enjoyable thing. Because you are making not only your dreams come true but also you get to be part of something larger than yourself.

Thanks for reading. I hope that this can be part of the growing list of tutorials on “Web Development Tutorials”. >>

*Also I am looking for more sites to put in the “Where to post section so if you have any suggestions please tell me.