Open Source Tools For Freelancers
-
Upload
christie-koehler -
Category
Technology
-
view
3.204 -
download
3
description
Transcript of Open Source Tools For Freelancers
Open Source Tools for Freelancers
Christie KoehlerOpen Source Bridge
June 2009
Friday, June 19, 2009
Agenda
• Hosting
• Backups
• Version Control
• Time and Money
• Actually Working
Friday, June 19, 2009
Part 1: Hosting
Friday, June 19, 2009
Open Source Hosting
• LAMP (Linux/Apache/MySQL/PHP) is the most common
• Webservers: Lighttpd, Nginx, Mongrel
• Databases: PostgreSQL, Firebird, Drizzle, CouchDB
• Languages: Ruby/Rails, Python, Perl, etc.
Friday, June 19, 2009
4 Types of Hosting
• Shared Hosting
• Virtual Private Server
• Dedicated Server
• Cloud Hosting
Friday, June 19, 2009
Shared Hosting
• Cheap, ready-to-go, no technical expertise needed
• Often over sold, not much control, not very scalable
• Distributed vs. Traditional
Friday, June 19, 2009
Virtual Private Servers
• A chunk of a server is virtualized and made available to you.
• More power/control than shared hosting without the cost of dedicated server.
• Managed and Unmanaged.
• Many options: verify that resource allocation, options meets your needs.
Friday, June 19, 2009
Dedicated Server
• You have your own server. More control, more power.
• Managed and unmanaged.
• Most expensive option.
Friday, June 19, 2009
Cloud Hosting
• Dynamically scalable and virtualized hosting.
• Pay for what you use. Scale up/down very quickly.
• Technologies vary.
• Google App Engine (java/python), Amazon EC2, RackspaceCloud (Mosso).
Friday, June 19, 2009
Local Hosting
• Your laptop/desktop can act as a web host
• Great for developing, designing and testing
• Not really suitable for a live site
• XAMPP an easy way to start
Friday, June 19, 2009
Part 2: Backups
Friday, June 19, 2009
Keys to Success
• Should have both on-site and off-site backups.
• Automated (if you have to think about it, it won’t happen regularly)
• Test your system *before* you need it.
Friday, June 19, 2009
Local Backups
• rysnc to external drive
• Carbon Copy Cloner on Mac
• Other full-drive backups for Linux
• Complete local backup every week
Friday, June 19, 2009
rsync example
Friday, June 19, 2009
Offsite Backups
• option 1: backup to external drive, then take offsite (storage, office, friend’s house)
• option 2: backup to online storage (s3, another server, etc.)
Friday, June 19, 2009
Duplicity (+s3)
• Cross-platform (OSX and Linux at least)
• Can use any remote or local store, but I like Amazon s3
• Duplicity creates encrypted tar-format volumes and uploads to local or remote server
• Need gpg and other libraries
• http://duplicity.nongnu.org/
Friday, June 19, 2009
Duplicity Example
Friday, June 19, 2009
now automate it
• cron on *nix, osx < 10.4
• put in script in/etc/cron/{daily/weekly/monthly}
• or use crontab
• launchd on osx >= 10.5
• Lingon, by Peter Borg
• http://tuppis.com/lingon/
Friday, June 19, 2009
launchd + lingon
Friday, June 19, 2009
Part 3: Version Control
Friday, June 19, 2009
What is it?
• Stores your project files and manages changes to those files.
• Makes deploying your projects much easier.
• Maintain a complete history of your project.
• Just as important as backups.
Friday, June 19, 2009
Version Control Software
• git: http://git-scm.com/
• subversion: http://subversion.tigris.org/
• others: bazaar, mercurial, cvs
• lots of software integrates with VCS
Friday, June 19, 2009
How to Set up
• Server and client components.
• Can set up on own server.
• Or, use one of many hosted options (github, devguard, unfuddle, etc.)
• git gui clients: git k, git gui, GitX (mac)
• subversion gui clients: rapidSVN, svnX (mac), TortoiseSVN (win)
Friday, June 19, 2009
Subversion Example
• checking out: svn co http://svnurl .
• commiting changes: svn commit -m “commit message”
• updating: svn update .
• get status: svn status
Friday, June 19, 2009
Subversion Example
Friday, June 19, 2009
Trac Example
Friday, June 19, 2009
Part 3: Actually Working
Friday, June 19, 2009
Alternatives
• There are open source alternatives to nearly every propriety software product.
• See http://www.osalt.com/
Friday, June 19, 2009
Apps for Working
• Office/Accounting: OpenOffice, AbiWord, GnuCash
• Graphics: GIMP, InkScape
• Code Editing: vi/vim, jEdit, Netbeans, Amaya
• Media: vlc, audacity, songbird
• Files: cyberduck, ssh (putty), filezilla
• Communication: xchat, thunderbird, pidgin, psi, qute
• Virtualization: VirtualBox
Friday, June 19, 2009
Remember
• Open source isn’t perfect and isn’t necessarily going to fit all our your needs
• Sometimes you’ll have to go with a proprietary product
Friday, June 19, 2009
Part 4: Time and Money
Friday, June 19, 2009
Time Tracking
• timebook: python script for time tracking
• kimai: web-based time-tracking
Friday, June 19, 2009
Timebook Example
$ t switch writing
$ t in document timebook
$ t out
$ t display
Timesheet writing:
Day Start End Duration Notes
Mar 14, 2009 19:53:30 - 20:06:15 0:12:45 document timebook
20:07:02 - 0:00:01 write home about timebook
0:12:46
Total 0:12:46
Friday, June 19, 2009
Invoicing
• bamboo invoice
• simple invoices
Friday, June 19, 2009
Questions & Thanks!
• @christiekoehler
• christiekoehler.com
Friday, June 19, 2009