contact us

Use the form on the right to contact us.

You can edit the text in this area, and change where the contact form on the right submits to, by entering edit mode using the modes on the bottom right.

           

123 Street Avenue, City Town, 99999

(123) 555-6789

email@address.com

 

You can set your address, phone number, email and site description in the settings tab.
Link to read me page with more information.

App Blog

po frame

Black Elephants

touch ~/.lldbinit
echo display @import UIKit >> ~/.lldbinit
echo target stop-hook add -o \"target stop-hook disable\" >> ~/.lldbinit

django on heroku

Black Elephants

https://devcenter.heroku.com/articles/getting-started-with-django
http://www.django-rest-framework.org/tutorial/quickstart/
http://marcantoinelemieux.com/blog/posts/2013/01/13/how-to-build-a-basic-timeserver-using-django-and-heroku
https://github.com/tomchristie/rest-framework-tutorial/blob/master/requirements.txt

  • mkdir <project name>
  • cd <project name>
  • virtualenv venv
  • source venv/bin/activate
    // this will activate virtual environment. verify prompt prefixed with (venv)
  • pip install django-toolbelt djangorestframework 
    // you will probably get compile warnings. safe to ignore
  • django-admin.py startproject <project name> . <-- don't forget the dot
  • cd <project name>
  • django-admin.py startapp <app name>
  • cd ..
  • echo 'web: gunicorn <project name>.wsgi --log-file -' > Procfile
  • foreman start // verify at http://localhost:5000
  • pip freeze > requirements.txt

settings.py

// add after DATABASES = {}
import dj_database_url
DATABASES['default'] = dj_database_url.config()
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

ALLOWED_HOSTS = ['*'] // modified

// add after BASE_DIR
STATIC_ROOT = 'staticfiles'
STATICFILES_DIR = (
os.path.join(BASE_DIR, 'static'),
) 

// add to INSTALLED_APPS
'rest_framework'

REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAdminUser',),
'PAGE_SIZE': 10
}

wsgi.py

// add after from django.core.wsgi
from dj_static import Cling

application = Cling(get_wsgi_application()) // modified
  • touch .gitignore
  • open .gitignore

.gitignore

venv
*.pyc
staticfiles
.idea // pycharm ide
  • git init
  • git add .
  • git commit -m "Initial commit"
  • heroku create
  • git push heroku master
  • heroku run python manage.py migrate
  • heroku run python manage.py createsuperuser 
    // prompts for username, email, pw
  • heroku open

 

Upgrade git

Black Elephants

http://coolestguidesontheplanet.com/install-update-latest-version-git-mac-osx-10-9-mavericks/

cd ~
open .bash_profile (or touch .bash_profile first)
export PATH="/usr/local/git/bin:$PATH"
<restart terminal>
echo $PATH
git --version

Xcode6 simulators

Black Elephants

xcrun simctl list

xcrun simctl erase <device-id>

xcrun simctl delete <device-id>

xcrun simctl list devices | grep -v '^[-=]' | cut -d "(" -f2 | cut -d ")" -f1 | xargs -I {} xcrun simctl delete "{}"

Localization

Black Elephants

http://www.raywenderlich.com/64401/internationalization-tutorial-for-ios-2014
http://www.ibabbleon.com/iphone_app_localization.html
http://www.objc.io/issue-9/string-localization.html

http://stackoverflow.com/questions/2744401/how-to-use-genstrings-across-multiple-directories

find ./ -name "*.m" -print0 | xargs -0 genstrings -o en.lproj

Cocoapods

Black Elephants

  1. Create XCode project
  2. using terminal, navigate to project folder
    1. $ touch Podfile
    2. $ open Podfile
    3. enter dependencies, for example: 
      platform :iOS, '7.0'
      pod 'Parse'
    4. $ pod install
  3. close current XCode project
  4. open .xcworkspace

CoreData

Black Elephants

UIImage

For PriceCatcher.app

CoreData setting: attribute type is undefined, transient property is checked.

NSArray

CoreData setting: attribute type is transformable