Skip to content

Instantly share code, notes, and snippets.

View nkammah's full-sized avatar

Nassim Kammah nkammah

View GitHub Profile
@nkammah
nkammah / chef_java
Created June 11, 2012 17:13
chef java recipe failing install
[Mon, 11 Jun 2012 13:16:54 -0400] DEBUG: Processing package[java-1.6.0-openjdk] on castor
[Mon, 11 Jun 2012 13:16:54 -0400] INFO: Processing package[java-1.6.0-openjdk] action install (java::openjdk line 79)
[Mon, 11 Jun 2012 13:16:59 -0400] DEBUG: package[java-1.6.0-openjdk] couldn't match java-1.6.0-openjdk in installed Provides, loading available Provides - this may take a moment
[Mon, 11 Jun 2012 13:17:08 -0400] DEBUG: package[java-1.6.0-openjdk] checking yum info for java-1.6.0-openjdk
[Mon, 11 Jun 2012 13:17:08 -0400] DEBUG: package[java-1.6.0-openjdk] installed version: (none) candidate version: (none)
[Mon, 11 Jun 2012 13:17:08 -0400] ERROR: package[java-1.6.0-openjdk] (java::openjdk line 79) has had an error
[Mon, 11 Jun 2012 13:17:08 -0400] ERROR: package[java-1.6.0-openjdk] (/var/chef/cache/cookbooks/java/recipes/openjdk.rb:79:in `from_file') had an error:
package[java-1.6.0-openjdk] (java::openjdk line 79) had an error: Chef::Exceptions::Package: No version specified, and no candidate version avai
[
[0] {
"class" => "UINavigationButton",
"id" => nil,
"rect" => {
"center_x" => 258,
"y" => 24,
"width" => 60,
"x" => 4,
"center_y" => 308,
@nkammah
nkammah / lint.rb
Created July 2, 2014 14:32
iOS lint wrapper script
#!/usr/bin/env ruby
require 'json'
require 'optparse'
# Wrapper to run commands
def run_cmd(cmd, verbose = false)
puts " [executing] #{cmd}" if verbose
%x[ #{cmd} ]
end
@nkammah
nkammah / gist:9edfaff1056b73ab6a06
Created September 12, 2014 16:05
xcrun simctl list
== Device Types ==
iPhone 4s (com.apple.CoreSimulator.SimDeviceType.iPhone-4s)
iPhone 5 (com.apple.CoreSimulator.SimDeviceType.iPhone-5)
iPhone 5s (com.apple.CoreSimulator.SimDeviceType.iPhone-5s)
iPhone 6 Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-6-Plus)
iPhone 6 (com.apple.CoreSimulator.SimDeviceType.iPhone-6)
iPad 2 (com.apple.CoreSimulator.SimDeviceType.iPad-2)
iPad Retina (com.apple.CoreSimulator.SimDeviceType.iPad-Retina)
iPad Air (com.apple.CoreSimulator.SimDeviceType.iPad-Air)
Resizable iPhone (com.apple.CoreSimulator.SimDeviceType.Resizable-iPhone)
imac24:iOS-Functional etsy$ APP_BUNDLE_PATH='/private/var/hudson/.hudson/workspace/iOS-Functional/build/simulator/EtsyEnterprise.app' DEBUG=1 calabash-ios console
Running irb...
irb(main):001:0> start_test_server_in_background
launch_method => instruments
reset => false
bundle_id => com.etsy.corp.dogfood
device => iphone
no_stop => false
no_launch => false
sdk_version =>
#Lots of credit to http://www.merowing.info/2013/03/overlaying-application-version-on-top-of-your-icon/
# USAGE:
# Run setup.sh first to make sure ImageMagick works
# This script takes one argument: a path to the folder containing the icons to burn.
version=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${INFOPLIST_FILE}"`
branch=`git rev-parse --abbrev-ref HEAD`
caption="${branch}\n${version}"
command :pget do |c|
c.syntax = 'ipa pget <key> [options]'
c.summary = 'Retrieve a value in a plist'
c.description = ''
c.option '-p', '--plist FILE', "plist file to update"
c.action do |args, options|
@key = args.count > 0 ? args[0] : 'CFBundleShortVersionString'
determine_plist! unless @plist = options.plist

Fastlane is the most popular iOS app continuous deployment and integration tool, and has quickly become an indispensable asset to mobile developers everywhere.

Fastlane gives you a set of open source command line tools to unify and automate your entire app deployment process, cutting your release time down to mere hours. Hear directly from Fastlane creator, Felix Krause, on what this toolchain aims at achieving and it's place in your mobile apps pipeline.

filetype off
filetype plugin indent on
set nocompatible " We're running Vim, not Vi!
syntax on " Enable syntax highlighting
set ff=unix
set backspace=indent,eol,start
" colors
@nkammah
nkammah / cfp.md
Last active October 11, 2018 14:34
Remote teams are working better than you: productivity lessons for co-located teams from remotes

What seems to work well for co-located team breaks down once remotes join a team. The local team dials-in the remote to make them feel part of the team, yet remotes still feel disconnected. They don't feel like they have an equal voice in meetings than their local counterparts. They feel like they're missing key conversations from the hallway track. And having an ad-hoc, impromptu conversation, usually requires booking a meeting room. What if we were approaching this problem the wrong way ? What if the issues were not about remotes but rather latent issues exacerbated by being remotes ?

This talk will uncover how to improve your team's productivity by learning from