## Compiled source #
*.com
*.class
*.dll
*.exe
*.o
*.so
test

## Logs and databases #
*.log
*.sql
*.sqlite

## OS generated files #
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

## Build dir
Build/*

## xcode specific
*xcuserdata*
