Commit a05c1d9

mo khan <mo@mokhan.ca>
2013-05-08 14:50:06
complete exercises in first pdf
1 parent c4d614d
Changed files (30)
2013-05-07
My First App
My First App.xcodeproj
project.xcworkspace
xcuserdata
People
Primitives
String
2013-05-07/My First App/My First App.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate
Binary file
2013-05-07/People/People/main.m
@@ -0,0 +1,27 @@
+//
+//  main.m
+//  People
+//
+//  Created by mo khan on 2013-05-07.
+//  Copyright (c) 2013 mo khan. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import "Person.h"
+
+int main(int argc, const char * argv[])
+{
+
+    @autoreleasepool {
+        
+        // insert code here...
+        Person * newPerson = [[Person alloc] init];
+        [newPerson setFirstName:@"Mo"];
+        [newPerson setLastName:@"Khan"];
+        NSLog(@"Hello, World! %@ %@", newPerson.firstName, newPerson.lastName);
+        NSLog(@"%@", [newPerson putFirstAndLastTogether:newPerson.firstName]);
+        NSLog(@"%@", [newPerson fullName]);
+    }
+    return 0;
+}
+
2013-05-07/People/People/People-Prefix.pch
@@ -0,0 +1,7 @@
+//
+// Prefix header for all source files of the 'People' target in the 'People' project
+//
+
+#ifdef __OBJC__
+    #import <Foundation/Foundation.h>
+#endif
2013-05-07/People/People/People.1
@@ -0,0 +1,79 @@
+.\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples.
+.\"See Also:
+.\"man mdoc.samples for a complete listing of options
+.\"man mdoc for the short list of editing options
+.\"/usr/share/misc/mdoc.template
+.Dd 2013-05-07               \" DATE 
+.Dt People 1      \" Program name and manual section number 
+.Os Darwin
+.Sh NAME                 \" Section Header - required - don't modify 
+.Nm People,
+.\" The following lines are read in generating the apropos(man -k) database. Use only key
+.\" words here as the database is built based on the words here and in the .ND line. 
+.Nm Other_name_for_same_program(),
+.Nm Yet another name for the same program.
+.\" Use .Nm macro to designate other names for the documented program.
+.Nd This line parsed for whatis database.
+.Sh SYNOPSIS             \" Section Header - required - don't modify
+.Nm
+.Op Fl abcd              \" [-abcd]
+.Op Fl a Ar path         \" [-a path] 
+.Op Ar file              \" [file]
+.Op Ar                   \" [file ...]
+.Ar arg0                 \" Underlined argument - use .Ar anywhere to underline
+arg2 ...                 \" Arguments
+.Sh DESCRIPTION          \" Section Header - required - don't modify
+Use the .Nm macro to refer to your program throughout the man page like such:
+.Nm
+Underlining is accomplished with the .Ar macro like this:
+.Ar underlined text .
+.Pp                      \" Inserts a space
+A list of items with descriptions:
+.Bl -tag -width -indent  \" Begins a tagged list 
+.It item a               \" Each item preceded by .It macro
+Description of item a
+.It item b
+Description of item b
+.El                      \" Ends the list
+.Pp
+A list of flags and their descriptions:
+.Bl -tag -width -indent  \" Differs from above in tag removed 
+.It Fl a                 \"-a flag as a list item
+Description of -a flag
+.It Fl b
+Description of -b flag
+.El                      \" Ends the list
+.Pp
+.\" .Sh ENVIRONMENT      \" May not be needed
+.\" .Bl -tag -width "ENV_VAR_1" -indent \" ENV_VAR_1 is width of the string ENV_VAR_1
+.\" .It Ev ENV_VAR_1
+.\" Description of ENV_VAR_1
+.\" .It Ev ENV_VAR_2
+.\" Description of ENV_VAR_2
+.\" .El                      
+.Sh FILES                \" File used or created by the topic of the man page
+.Bl -tag -width "/Users/joeuser/Library/really_long_file_name" -compact
+.It Pa /usr/share/file_name
+FILE_1 description
+.It Pa /Users/joeuser/Library/really_long_file_name
+FILE_2 description
+.El                      \" Ends the list
+.\" .Sh DIAGNOSTICS       \" May not be needed
+.\" .Bl -diag
+.\" .It Diagnostic Tag
+.\" Diagnostic informtion here.
+.\" .It Diagnostic Tag
+.\" Diagnostic informtion here.
+.\" .El
+.Sh SEE ALSO 
+.\" List links in ascending order by section, alphabetically within a section.
+.\" Please do not reference files that do not exist without filing a bug report
+.Xr a 1 , 
+.Xr b 1 ,
+.Xr c 1 ,
+.Xr a 2 ,
+.Xr b 2 ,
+.Xr a 3 ,
+.Xr b 3 
+.\" .Sh BUGS              \" Document known, unremedied bugs 
+.\" .Sh HISTORY           \" Document history if command behaves in a unique manner
\ No newline at end of file
2013-05-07/People/People/Person.h
@@ -0,0 +1,16 @@
+//
+//  Person.h
+//  People
+//
+//  Created by mo khan on 2013-05-07.
+//  Copyright (c) 2013 mo khan. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@interface Person : NSObject
+@property (strong, nonatomic) NSString * firstName;
+@property (strong, nonatomic) NSString * lastName;
+-(NSString *)putFirstAndLastTogether:(NSString *)first;
+-(NSString *)fullName;
+@end
2013-05-07/People/People/Person.m
@@ -0,0 +1,23 @@
+//
+//  Person.m
+//  People
+//
+//  Created by mo khan on 2013-05-07.
+//  Copyright (c) 2013 mo khan. All rights reserved.
+//
+
+#import "Person.h"
+
+@implementation Person
+-(NSString *)putFirstAndLastTogether:(NSString *)first
+{
+    NSString * wholeName = [[first stringByAppendingString:@" "] stringByAppendingString:self.lastName];
+    return wholeName;
+}
+
+-(NSString *)fullName
+{
+    NSString * result = [[NSString alloc]initWithFormat:@"%@ %@", self.firstName, self.lastName];
+    return result;
+}
+@end
2013-05-07/People/People.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate
Binary file
2013-05-07/People/People.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "self:People.xcodeproj">
+   </FileRef>
+</Workspace>
2013-05-07/People/People.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/People.xcscheme
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "0460"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "CDF1963E1739E5EC00509574"
+               BuildableName = "People"
+               BlueprintName = "People"
+               ReferencedContainer = "container:People.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      buildConfiguration = "Debug">
+      <Testables>
+      </Testables>
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "CDF1963E1739E5EC00509574"
+            BuildableName = "People"
+            BlueprintName = "People"
+            ReferencedContainer = "container:People.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
+   </TestAction>
+   <LaunchAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Debug"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      allowLocationSimulation = "YES">
+      <BuildableProductRunnable>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "CDF1963E1739E5EC00509574"
+            BuildableName = "People"
+            BlueprintName = "People"
+            ReferencedContainer = "container:People.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </LaunchAction>
+   <ProfileAction
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Release"
+      debugDocumentVersioning = "YES">
+      <BuildableProductRunnable>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "CDF1963E1739E5EC00509574"
+            BuildableName = "People"
+            BlueprintName = "People"
+            ReferencedContainer = "container:People.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>
2013-05-07/People/People.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>SchemeUserState</key>
+	<dict>
+		<key>People.xcscheme</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>0</integer>
+		</dict>
+	</dict>
+	<key>SuppressBuildableAutocreation</key>
+	<dict>
+		<key>CDF1963E1739E5EC00509574</key>
+		<dict>
+			<key>primary</key>
+			<true/>
+		</dict>
+	</dict>
+</dict>
+</plist>
2013-05-07/People/People.xcodeproj/project.pbxproj
@@ -0,0 +1,255 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 46;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		CDF196431739E5EC00509574 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDF196421739E5EC00509574 /* Foundation.framework */; };
+		CDF196461739E5EC00509574 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CDF196451739E5EC00509574 /* main.m */; };
+		CDF1964A1739E5EC00509574 /* People.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = CDF196491739E5EC00509574 /* People.1 */; };
+		CDF196581739E67300509574 /* Person.m in Sources */ = {isa = PBXBuildFile; fileRef = CDF196571739E67300509574 /* Person.m */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+		CDF1963D1739E5EC00509574 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 2147483647;
+			dstPath = /usr/share/man/man1/;
+			dstSubfolderSpec = 0;
+			files = (
+				CDF1964A1739E5EC00509574 /* People.1 in CopyFiles */,
+			);
+			runOnlyForDeploymentPostprocessing = 1;
+		};
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+		CDF1963F1739E5EC00509574 /* People */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = People; sourceTree = BUILT_PRODUCTS_DIR; };
+		CDF196421739E5EC00509574 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+		CDF196451739E5EC00509574 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+		CDF196481739E5EC00509574 /* People-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "People-Prefix.pch"; sourceTree = "<group>"; };
+		CDF196491739E5EC00509574 /* People.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = People.1; sourceTree = "<group>"; };
+		CDF196561739E67300509574 /* Person.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Person.h; path = People/Person.h; sourceTree = "<group>"; };
+		CDF196571739E67300509574 /* Person.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Person.m; path = People/Person.m; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		CDF1963C1739E5EC00509574 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				CDF196431739E5EC00509574 /* Foundation.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		CDF196361739E5EC00509574 = {
+			isa = PBXGroup;
+			children = (
+				CDF196561739E67300509574 /* Person.h */,
+				CDF196571739E67300509574 /* Person.m */,
+				CDF196441739E5EC00509574 /* People */,
+				CDF196411739E5EC00509574 /* Frameworks */,
+				CDF196401739E5EC00509574 /* Products */,
+			);
+			sourceTree = "<group>";
+		};
+		CDF196401739E5EC00509574 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				CDF1963F1739E5EC00509574 /* People */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		CDF196411739E5EC00509574 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				CDF196421739E5EC00509574 /* Foundation.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		CDF196441739E5EC00509574 /* People */ = {
+			isa = PBXGroup;
+			children = (
+				CDF196451739E5EC00509574 /* main.m */,
+				CDF196491739E5EC00509574 /* People.1 */,
+				CDF196471739E5EC00509574 /* Supporting Files */,
+			);
+			path = People;
+			sourceTree = "<group>";
+		};
+		CDF196471739E5EC00509574 /* Supporting Files */ = {
+			isa = PBXGroup;
+			children = (
+				CDF196481739E5EC00509574 /* People-Prefix.pch */,
+			);
+			name = "Supporting Files";
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		CDF1963E1739E5EC00509574 /* People */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = CDF1964D1739E5EC00509574 /* Build configuration list for PBXNativeTarget "People" */;
+			buildPhases = (
+				CDF1963B1739E5EC00509574 /* Sources */,
+				CDF1963C1739E5EC00509574 /* Frameworks */,
+				CDF1963D1739E5EC00509574 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = People;
+			productName = People;
+			productReference = CDF1963F1739E5EC00509574 /* People */;
+			productType = "com.apple.product-type.tool";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		CDF196371739E5EC00509574 /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				LastUpgradeCheck = 0460;
+				ORGANIZATIONNAME = "mo khan";
+			};
+			buildConfigurationList = CDF1963A1739E5EC00509574 /* Build configuration list for PBXProject "People" */;
+			compatibilityVersion = "Xcode 3.2";
+			developmentRegion = English;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+			);
+			mainGroup = CDF196361739E5EC00509574;
+			productRefGroup = CDF196401739E5EC00509574 /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				CDF1963E1739E5EC00509574 /* People */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXSourcesBuildPhase section */
+		CDF1963B1739E5EC00509574 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				CDF196461739E5EC00509574 /* main.m in Sources */,
+				CDF196581739E67300509574 /* Person.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+		CDF1964B1739E5EC00509574 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				COPY_PHASE_STRIP = NO;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.8;
+				ONLY_ACTIVE_ARCH = YES;
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		CDF1964C1739E5EC00509574 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				COPY_PHASE_STRIP = YES;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.8;
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		CDF1964E1739E5EC00509574 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "People/People-Prefix.pch";
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Debug;
+		};
+		CDF1964F1739E5EC00509574 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "People/People-Prefix.pch";
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		CDF1963A1739E5EC00509574 /* Build configuration list for PBXProject "People" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				CDF1964B1739E5EC00509574 /* Debug */,
+				CDF1964C1739E5EC00509574 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		CDF1964D1739E5EC00509574 /* Build configuration list for PBXNativeTarget "People" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				CDF1964E1739E5EC00509574 /* Debug */,
+				CDF1964F1739E5EC00509574 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = CDF196371739E5EC00509574 /* Project object */;
+}
2013-05-07/People/Person.h
@@ -0,0 +1,13 @@
+//
+//  Person.h
+//  People
+//
+//  Created by mo khan on 2013-05-07.
+//  Copyright (c) 2013 mo khan. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@interface Person : NSObject
+
+@end
2013-05-07/People/Person.m
@@ -0,0 +1,13 @@
+//
+//  Person.m
+//  People
+//
+//  Created by mo khan on 2013-05-07.
+//  Copyright (c) 2013 mo khan. All rights reserved.
+//
+
+#import "Person.h"
+
+@implementation Person
+
+@end
2013-05-07/Primitives/Primitives/main.m
@@ -0,0 +1,28 @@
+//
+//  main.m
+//  Primitives
+//
+//  Created by mo khan on 2013-05-07.
+//  Copyright (c) 2013 mo khan. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+int main(int argc, const char * argv[])
+{
+
+    @autoreleasepool {
+        
+        // insert code here...
+        int myInt = 5;
+        float myFloat = 5.23467;
+        double myDouble = 6.2948585930;
+        char myChar = 'c';
+        BOOL myBool = YES;
+        NSLog(@"%d %f %f %c %d", myInt, myFloat, myDouble, myChar, myBool);
+        NSLog(@"Hello, World!");
+        
+    }
+    return 0;
+}
+
2013-05-07/Primitives/Primitives/Primitives-Prefix.pch
@@ -0,0 +1,7 @@
+//
+// Prefix header for all source files of the 'Primitives' target in the 'Primitives' project
+//
+
+#ifdef __OBJC__
+    #import <Foundation/Foundation.h>
+#endif
2013-05-07/Primitives/Primitives/Primitives.1
@@ -0,0 +1,79 @@
+.\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples.
+.\"See Also:
+.\"man mdoc.samples for a complete listing of options
+.\"man mdoc for the short list of editing options
+.\"/usr/share/misc/mdoc.template
+.Dd 2013-05-07               \" DATE 
+.Dt Primitives 1      \" Program name and manual section number 
+.Os Darwin
+.Sh NAME                 \" Section Header - required - don't modify 
+.Nm Primitives,
+.\" The following lines are read in generating the apropos(man -k) database. Use only key
+.\" words here as the database is built based on the words here and in the .ND line. 
+.Nm Other_name_for_same_program(),
+.Nm Yet another name for the same program.
+.\" Use .Nm macro to designate other names for the documented program.
+.Nd This line parsed for whatis database.
+.Sh SYNOPSIS             \" Section Header - required - don't modify
+.Nm
+.Op Fl abcd              \" [-abcd]
+.Op Fl a Ar path         \" [-a path] 
+.Op Ar file              \" [file]
+.Op Ar                   \" [file ...]
+.Ar arg0                 \" Underlined argument - use .Ar anywhere to underline
+arg2 ...                 \" Arguments
+.Sh DESCRIPTION          \" Section Header - required - don't modify
+Use the .Nm macro to refer to your program throughout the man page like such:
+.Nm
+Underlining is accomplished with the .Ar macro like this:
+.Ar underlined text .
+.Pp                      \" Inserts a space
+A list of items with descriptions:
+.Bl -tag -width -indent  \" Begins a tagged list 
+.It item a               \" Each item preceded by .It macro
+Description of item a
+.It item b
+Description of item b
+.El                      \" Ends the list
+.Pp
+A list of flags and their descriptions:
+.Bl -tag -width -indent  \" Differs from above in tag removed 
+.It Fl a                 \"-a flag as a list item
+Description of -a flag
+.It Fl b
+Description of -b flag
+.El                      \" Ends the list
+.Pp
+.\" .Sh ENVIRONMENT      \" May not be needed
+.\" .Bl -tag -width "ENV_VAR_1" -indent \" ENV_VAR_1 is width of the string ENV_VAR_1
+.\" .It Ev ENV_VAR_1
+.\" Description of ENV_VAR_1
+.\" .It Ev ENV_VAR_2
+.\" Description of ENV_VAR_2
+.\" .El                      
+.Sh FILES                \" File used or created by the topic of the man page
+.Bl -tag -width "/Users/joeuser/Library/really_long_file_name" -compact
+.It Pa /usr/share/file_name
+FILE_1 description
+.It Pa /Users/joeuser/Library/really_long_file_name
+FILE_2 description
+.El                      \" Ends the list
+.\" .Sh DIAGNOSTICS       \" May not be needed
+.\" .Bl -diag
+.\" .It Diagnostic Tag
+.\" Diagnostic informtion here.
+.\" .It Diagnostic Tag
+.\" Diagnostic informtion here.
+.\" .El
+.Sh SEE ALSO 
+.\" List links in ascending order by section, alphabetically within a section.
+.\" Please do not reference files that do not exist without filing a bug report
+.Xr a 1 , 
+.Xr b 1 ,
+.Xr c 1 ,
+.Xr a 2 ,
+.Xr b 2 ,
+.Xr a 3 ,
+.Xr b 3 
+.\" .Sh BUGS              \" Document known, unremedied bugs 
+.\" .Sh HISTORY           \" Document history if command behaves in a unique manner
\ No newline at end of file
2013-05-07/Primitives/Primitives.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate
Binary file
2013-05-07/Primitives/Primitives.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "self:Primitives.xcodeproj">
+   </FileRef>
+</Workspace>
2013-05-07/Primitives/Primitives.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/Primitives.xcscheme
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "0460"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "CDF1960A1739DA4100509574"
+               BuildableName = "Primitives"
+               BlueprintName = "Primitives"
+               ReferencedContainer = "container:Primitives.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      buildConfiguration = "Debug">
+      <Testables>
+      </Testables>
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "CDF1960A1739DA4100509574"
+            BuildableName = "Primitives"
+            BlueprintName = "Primitives"
+            ReferencedContainer = "container:Primitives.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
+   </TestAction>
+   <LaunchAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Debug"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      allowLocationSimulation = "YES">
+      <BuildableProductRunnable>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "CDF1960A1739DA4100509574"
+            BuildableName = "Primitives"
+            BlueprintName = "Primitives"
+            ReferencedContainer = "container:Primitives.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </LaunchAction>
+   <ProfileAction
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Release"
+      debugDocumentVersioning = "YES">
+      <BuildableProductRunnable>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "CDF1960A1739DA4100509574"
+            BuildableName = "Primitives"
+            BlueprintName = "Primitives"
+            ReferencedContainer = "container:Primitives.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>
2013-05-07/Primitives/Primitives.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>SchemeUserState</key>
+	<dict>
+		<key>Primitives.xcscheme</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>0</integer>
+		</dict>
+	</dict>
+	<key>SuppressBuildableAutocreation</key>
+	<dict>
+		<key>CDF1960A1739DA4100509574</key>
+		<dict>
+			<key>primary</key>
+			<true/>
+		</dict>
+	</dict>
+</dict>
+</plist>
2013-05-07/Primitives/Primitives.xcodeproj/project.pbxproj
@@ -0,0 +1,249 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 46;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		CDF1960F1739DA4100509574 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDF1960E1739DA4100509574 /* Foundation.framework */; };
+		CDF196121739DA4100509574 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CDF196111739DA4100509574 /* main.m */; };
+		CDF196161739DA4100509574 /* Primitives.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = CDF196151739DA4100509574 /* Primitives.1 */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+		CDF196091739DA4100509574 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 2147483647;
+			dstPath = /usr/share/man/man1/;
+			dstSubfolderSpec = 0;
+			files = (
+				CDF196161739DA4100509574 /* Primitives.1 in CopyFiles */,
+			);
+			runOnlyForDeploymentPostprocessing = 1;
+		};
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+		CDF1960B1739DA4100509574 /* Primitives */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Primitives; sourceTree = BUILT_PRODUCTS_DIR; };
+		CDF1960E1739DA4100509574 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+		CDF196111739DA4100509574 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+		CDF196141739DA4100509574 /* Primitives-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Primitives-Prefix.pch"; sourceTree = "<group>"; };
+		CDF196151739DA4100509574 /* Primitives.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = Primitives.1; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		CDF196081739DA4100509574 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				CDF1960F1739DA4100509574 /* Foundation.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		CDF196021739DA4100509574 = {
+			isa = PBXGroup;
+			children = (
+				CDF196101739DA4100509574 /* Primitives */,
+				CDF1960D1739DA4100509574 /* Frameworks */,
+				CDF1960C1739DA4100509574 /* Products */,
+			);
+			sourceTree = "<group>";
+		};
+		CDF1960C1739DA4100509574 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				CDF1960B1739DA4100509574 /* Primitives */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		CDF1960D1739DA4100509574 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				CDF1960E1739DA4100509574 /* Foundation.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		CDF196101739DA4100509574 /* Primitives */ = {
+			isa = PBXGroup;
+			children = (
+				CDF196111739DA4100509574 /* main.m */,
+				CDF196151739DA4100509574 /* Primitives.1 */,
+				CDF196131739DA4100509574 /* Supporting Files */,
+			);
+			path = Primitives;
+			sourceTree = "<group>";
+		};
+		CDF196131739DA4100509574 /* Supporting Files */ = {
+			isa = PBXGroup;
+			children = (
+				CDF196141739DA4100509574 /* Primitives-Prefix.pch */,
+			);
+			name = "Supporting Files";
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		CDF1960A1739DA4100509574 /* Primitives */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = CDF196191739DA4100509574 /* Build configuration list for PBXNativeTarget "Primitives" */;
+			buildPhases = (
+				CDF196071739DA4100509574 /* Sources */,
+				CDF196081739DA4100509574 /* Frameworks */,
+				CDF196091739DA4100509574 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = Primitives;
+			productName = Primitives;
+			productReference = CDF1960B1739DA4100509574 /* Primitives */;
+			productType = "com.apple.product-type.tool";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		CDF196031739DA4100509574 /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				LastUpgradeCheck = 0460;
+				ORGANIZATIONNAME = "mo khan";
+			};
+			buildConfigurationList = CDF196061739DA4100509574 /* Build configuration list for PBXProject "Primitives" */;
+			compatibilityVersion = "Xcode 3.2";
+			developmentRegion = English;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+			);
+			mainGroup = CDF196021739DA4100509574;
+			productRefGroup = CDF1960C1739DA4100509574 /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				CDF1960A1739DA4100509574 /* Primitives */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXSourcesBuildPhase section */
+		CDF196071739DA4100509574 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				CDF196121739DA4100509574 /* main.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+		CDF196171739DA4100509574 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				COPY_PHASE_STRIP = NO;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.8;
+				ONLY_ACTIVE_ARCH = YES;
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		CDF196181739DA4100509574 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				COPY_PHASE_STRIP = YES;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.8;
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		CDF1961A1739DA4100509574 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "Primitives/Primitives-Prefix.pch";
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Debug;
+		};
+		CDF1961B1739DA4100509574 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "Primitives/Primitives-Prefix.pch";
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		CDF196061739DA4100509574 /* Build configuration list for PBXProject "Primitives" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				CDF196171739DA4100509574 /* Debug */,
+				CDF196181739DA4100509574 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		CDF196191739DA4100509574 /* Build configuration list for PBXNativeTarget "Primitives" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				CDF1961A1739DA4100509574 /* Debug */,
+				CDF1961B1739DA4100509574 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = CDF196031739DA4100509574 /* Project object */;
+}
2013-05-07/String/String/main.m
@@ -0,0 +1,24 @@
+//
+//  main.m
+//  String
+//
+//  Created by mo khan on 2013-05-07.
+//  Copyright (c) 2013 mo khan. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+int main(int argc, const char * argv[])
+{
+
+    @autoreleasepool {
+        NSString * firstName;
+        NSString * lastName;
+        firstName = @"Kris";
+        lastName = @"Hopkins";
+        
+        NSLog(@"My name is NOT %@ %@", firstName, lastName);
+    }
+    return 0;
+}
+
2013-05-07/String/String/String-Prefix.pch
@@ -0,0 +1,7 @@
+//
+// Prefix header for all source files of the 'String' target in the 'String' project
+//
+
+#ifdef __OBJC__
+    #import <Foundation/Foundation.h>
+#endif
2013-05-07/String/String/String.1
@@ -0,0 +1,79 @@
+.\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples.
+.\"See Also:
+.\"man mdoc.samples for a complete listing of options
+.\"man mdoc for the short list of editing options
+.\"/usr/share/misc/mdoc.template
+.Dd 2013-05-07               \" DATE 
+.Dt String 1      \" Program name and manual section number 
+.Os Darwin
+.Sh NAME                 \" Section Header - required - don't modify 
+.Nm String,
+.\" The following lines are read in generating the apropos(man -k) database. Use only key
+.\" words here as the database is built based on the words here and in the .ND line. 
+.Nm Other_name_for_same_program(),
+.Nm Yet another name for the same program.
+.\" Use .Nm macro to designate other names for the documented program.
+.Nd This line parsed for whatis database.
+.Sh SYNOPSIS             \" Section Header - required - don't modify
+.Nm
+.Op Fl abcd              \" [-abcd]
+.Op Fl a Ar path         \" [-a path] 
+.Op Ar file              \" [file]
+.Op Ar                   \" [file ...]
+.Ar arg0                 \" Underlined argument - use .Ar anywhere to underline
+arg2 ...                 \" Arguments
+.Sh DESCRIPTION          \" Section Header - required - don't modify
+Use the .Nm macro to refer to your program throughout the man page like such:
+.Nm
+Underlining is accomplished with the .Ar macro like this:
+.Ar underlined text .
+.Pp                      \" Inserts a space
+A list of items with descriptions:
+.Bl -tag -width -indent  \" Begins a tagged list 
+.It item a               \" Each item preceded by .It macro
+Description of item a
+.It item b
+Description of item b
+.El                      \" Ends the list
+.Pp
+A list of flags and their descriptions:
+.Bl -tag -width -indent  \" Differs from above in tag removed 
+.It Fl a                 \"-a flag as a list item
+Description of -a flag
+.It Fl b
+Description of -b flag
+.El                      \" Ends the list
+.Pp
+.\" .Sh ENVIRONMENT      \" May not be needed
+.\" .Bl -tag -width "ENV_VAR_1" -indent \" ENV_VAR_1 is width of the string ENV_VAR_1
+.\" .It Ev ENV_VAR_1
+.\" Description of ENV_VAR_1
+.\" .It Ev ENV_VAR_2
+.\" Description of ENV_VAR_2
+.\" .El                      
+.Sh FILES                \" File used or created by the topic of the man page
+.Bl -tag -width "/Users/joeuser/Library/really_long_file_name" -compact
+.It Pa /usr/share/file_name
+FILE_1 description
+.It Pa /Users/joeuser/Library/really_long_file_name
+FILE_2 description
+.El                      \" Ends the list
+.\" .Sh DIAGNOSTICS       \" May not be needed
+.\" .Bl -diag
+.\" .It Diagnostic Tag
+.\" Diagnostic informtion here.
+.\" .It Diagnostic Tag
+.\" Diagnostic informtion here.
+.\" .El
+.Sh SEE ALSO 
+.\" List links in ascending order by section, alphabetically within a section.
+.\" Please do not reference files that do not exist without filing a bug report
+.Xr a 1 , 
+.Xr b 1 ,
+.Xr c 1 ,
+.Xr a 2 ,
+.Xr b 2 ,
+.Xr a 3 ,
+.Xr b 3 
+.\" .Sh BUGS              \" Document known, unremedied bugs 
+.\" .Sh HISTORY           \" Document history if command behaves in a unique manner
\ No newline at end of file
2013-05-07/String/String.xcodeproj/project.xcworkspace/xcuserdata/mo.xcuserdatad/UserInterfaceState.xcuserstate
Binary file
2013-05-07/String/String.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "self:String.xcodeproj">
+   </FileRef>
+</Workspace>
2013-05-07/String/String.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/String.xcscheme
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "0460"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "CDF196241739E25900509574"
+               BuildableName = "String"
+               BlueprintName = "String"
+               ReferencedContainer = "container:String.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      buildConfiguration = "Debug">
+      <Testables>
+      </Testables>
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "CDF196241739E25900509574"
+            BuildableName = "String"
+            BlueprintName = "String"
+            ReferencedContainer = "container:String.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
+   </TestAction>
+   <LaunchAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Debug"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      allowLocationSimulation = "YES">
+      <BuildableProductRunnable>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "CDF196241739E25900509574"
+            BuildableName = "String"
+            BlueprintName = "String"
+            ReferencedContainer = "container:String.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </LaunchAction>
+   <ProfileAction
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Release"
+      debugDocumentVersioning = "YES">
+      <BuildableProductRunnable>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "CDF196241739E25900509574"
+            BuildableName = "String"
+            BlueprintName = "String"
+            ReferencedContainer = "container:String.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>
2013-05-07/String/String.xcodeproj/xcuserdata/mo.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>SchemeUserState</key>
+	<dict>
+		<key>String.xcscheme</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>0</integer>
+		</dict>
+	</dict>
+	<key>SuppressBuildableAutocreation</key>
+	<dict>
+		<key>CDF196241739E25900509574</key>
+		<dict>
+			<key>primary</key>
+			<true/>
+		</dict>
+	</dict>
+</dict>
+</plist>
2013-05-07/String/String.xcodeproj/project.pbxproj
@@ -0,0 +1,249 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 46;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		CDF196291739E25900509574 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDF196281739E25900509574 /* Foundation.framework */; };
+		CDF1962C1739E25900509574 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CDF1962B1739E25900509574 /* main.m */; };
+		CDF196301739E25900509574 /* String.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = CDF1962F1739E25900509574 /* String.1 */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+		CDF196231739E25900509574 /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 2147483647;
+			dstPath = /usr/share/man/man1/;
+			dstSubfolderSpec = 0;
+			files = (
+				CDF196301739E25900509574 /* String.1 in CopyFiles */,
+			);
+			runOnlyForDeploymentPostprocessing = 1;
+		};
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+		CDF196251739E25900509574 /* String */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = String; sourceTree = BUILT_PRODUCTS_DIR; };
+		CDF196281739E25900509574 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+		CDF1962B1739E25900509574 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+		CDF1962E1739E25900509574 /* String-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "String-Prefix.pch"; sourceTree = "<group>"; };
+		CDF1962F1739E25900509574 /* String.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = String.1; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		CDF196221739E25900509574 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				CDF196291739E25900509574 /* Foundation.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		CDF1961C1739E25900509574 = {
+			isa = PBXGroup;
+			children = (
+				CDF1962A1739E25900509574 /* String */,
+				CDF196271739E25900509574 /* Frameworks */,
+				CDF196261739E25900509574 /* Products */,
+			);
+			sourceTree = "<group>";
+		};
+		CDF196261739E25900509574 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				CDF196251739E25900509574 /* String */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		CDF196271739E25900509574 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				CDF196281739E25900509574 /* Foundation.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		CDF1962A1739E25900509574 /* String */ = {
+			isa = PBXGroup;
+			children = (
+				CDF1962B1739E25900509574 /* main.m */,
+				CDF1962F1739E25900509574 /* String.1 */,
+				CDF1962D1739E25900509574 /* Supporting Files */,
+			);
+			path = String;
+			sourceTree = "<group>";
+		};
+		CDF1962D1739E25900509574 /* Supporting Files */ = {
+			isa = PBXGroup;
+			children = (
+				CDF1962E1739E25900509574 /* String-Prefix.pch */,
+			);
+			name = "Supporting Files";
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		CDF196241739E25900509574 /* String */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = CDF196331739E25900509574 /* Build configuration list for PBXNativeTarget "String" */;
+			buildPhases = (
+				CDF196211739E25900509574 /* Sources */,
+				CDF196221739E25900509574 /* Frameworks */,
+				CDF196231739E25900509574 /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = String;
+			productName = String;
+			productReference = CDF196251739E25900509574 /* String */;
+			productType = "com.apple.product-type.tool";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		CDF1961D1739E25900509574 /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				LastUpgradeCheck = 0460;
+				ORGANIZATIONNAME = "mo khan";
+			};
+			buildConfigurationList = CDF196201739E25900509574 /* Build configuration list for PBXProject "String" */;
+			compatibilityVersion = "Xcode 3.2";
+			developmentRegion = English;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+			);
+			mainGroup = CDF1961C1739E25900509574;
+			productRefGroup = CDF196261739E25900509574 /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				CDF196241739E25900509574 /* String */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXSourcesBuildPhase section */
+		CDF196211739E25900509574 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				CDF1962C1739E25900509574 /* main.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+		CDF196311739E25900509574 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				COPY_PHASE_STRIP = NO;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.8;
+				ONLY_ACTIVE_ARCH = YES;
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		CDF196321739E25900509574 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				COPY_PHASE_STRIP = YES;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				MACOSX_DEPLOYMENT_TARGET = 10.8;
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		CDF196341739E25900509574 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "String/String-Prefix.pch";
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Debug;
+		};
+		CDF196351739E25900509574 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "String/String-Prefix.pch";
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		CDF196201739E25900509574 /* Build configuration list for PBXProject "String" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				CDF196311739E25900509574 /* Debug */,
+				CDF196321739E25900509574 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		CDF196331739E25900509574 /* Build configuration list for PBXNativeTarget "String" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				CDF196341739E25900509574 /* Debug */,
+				CDF196351739E25900509574 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = CDF1961D1739E25900509574 /* Project object */;
+}
2013-05-07/notes.mkd
@@ -1,2 +1,258 @@
 instructor: kris hopkins
 kris.hopkins@sait.ca
+
+register for university developer program.
+access to all of the wwdc videos.
+  * publish up to 100 hours of video.
+
+Acronym soup:
+* OTA (over the air) download.
+
+
+xcodeproj - This is the xcode project.
+
+Why is there NS in front of log? 
+Objective C was created by the company NeXT. NeXT first introduced their
+object-oriented operating system, called NeXTSTEP, in the late 80s. Many
+of the classes you will see in Objective-C still have NS in front of
+them as a reference to Next Step.
+
+Why is there a symbol @ in front of the string we are logging?
+Objective-C is a strict superset of C. This means you can compile any C
+code in an Objective-C project. In Objective-C we never use C Strings,
+we always use object oriented strings, called NSStrings. The @ symbol is
+a heads up to the compiler that what is coming next is an Objective-C
+NSString and not a C string.
+
+## Objective-C Primitive Data Types
+
+There are 5 primitive datatypes in Objective-C:
+
+1. int - integer
+2. float - floating point number
+3. double - double precision floating point number
+4. char - a single character
+5. BOOL - YES or NO
+
+Everything else is a Class data type.
+
+## Objective-C Variables
+
+* variables are used to identify a value.
+* variables are always strongly typed.
+* every variable must be one data type only and must be declared.
+
+{% highlight objective-c %}
+  int myInt;
+  myInt = 5;
+  int myInt = 5;
+{% endhighlight %}
+
+### Format Specifiers
+
+* %d - int
+* %f - float, double
+* %c - char
+* %@ - any object e.g NSString
+
+* Note that when outputting the value for a BOOL data type use %d to get
+  the int value. 0 for NO and 1 for YES
+
+### NSString
+
+All objects use pointser. A pointer is a variable that holds a reference
+to an address in memory instead of an actual value. The address in
+memory holds the actual value that has been assigned.
+
+{% highlight objc %}
+
+  NSString * myString = @"Hello";
+
+  NSLog(@"What the what? %@", myString);
+
+{% endhighlight %}
+
+### Arithmetic Operators
+
+* + Add
+* - Subtract
+* * Multiply
+* / divide
+* % remainder (modulus)
+* = assignment
+* += add R to L, then assign to L
+* -= subtract R from L, then assign to L
+* *= multiply L by R, then assign to L
+* /= divide R into L, then assign result to L
+* %= L mod B, then assign to L
+* ++ add 1
+* -- subtract
+
+### Relational Operators
+
+Work same way they do in other C-based languages.
+
+* == equal to
+* != not equal to
+* < less than
+* <= less than or equal to
+* > greater than
+* >= greater than or equal to
+
+### Logical Operators
+
+All logical operators work exactly the same way they do in other C-based
+languages:
+
+* && and
+* || or
+* ! not
+
+### Custom classes
+
+NSObject is the top level class and parent class of all other classes in
+Objective-C.
+
+Objective-C classes contain two files. The first is the interface file,
+identified by the .h suffix. This can also be called the "header" file
+(h = header). The second is the implementation file, identified by a .m
+suffix.
+
+The interface file contains a declaration of the elements of a class
+that other classes can see. The implementation file contains all the
+actual content for the class.
+
+All of the declarations inside an interface file are contains within the
+@interface and @end keywords.
+
+All of the content inside an implementation file is contained within the
+@implementation and @end keywords.
+
+#### Interface
+
+{% highlight objc linenos %}
+
+  #import <Foundation/Foundation.h>
+  @interface Person : NSObject
+  @end
+
+{% endhighlight %}
+
+1. Preprocessor statement. Imports the Foundation framework so we have
+   access to the build Objective-C classes such as NSObject.
+2. Shows that this is an interface for Person.
+3. Closes the interface section of the file.
+
+#### Implementation
+
+{% highlight obj linenos %}
+
+#import "Person.h"
+@implementation Person
+@end
+
+{% endhighlight %}
+
+1. Import our header file so our implementation file can see it.
+2. begin implementation section of the file, and states the name of the classes.
+3. close the implementation.
+
+@property keyword tells the compiler that we want to create a property.
+strong and nonatomic keywords have to do with memory management and
+we'll talk about them later.
+
+{% highlight obj %}
+
+  Person * newPerson = [Person new];
+
+{% endhighlight %}
+
+Create a new instance of Person. This is like new Person() in other
+languages. Instead of "calling a method" we are "sending a message".
+
+Sending the new message to the Person class will work, but you'll rarely
+see it this way. It is much more common to see the instantiation of the
+object like this:
+
+
+{% highlight obj %}
+
+  Person * newPerson = [[Person alloc] init];
+
+{% endhighlight %}
+
+This breaks the new message into two parts. First we allocate memory for
+our object (alloc), then we initialize it by calling the object's
+initialization message (init). 
+
+Many objective c classes have many different init messages that do
+different things and pass in different arguments.
+
+{% highlight obj %}
+
+  NSString * newString = [[NSString alloc] initWithFormat:@"%@", @"my text"];
+
+{% endhighlight %}
+
+Here is how you set and get our firstName property:
+
+{% highlight obj %}
+
+  [newPerson setFirstName:@"Mo"];
+  newPerson.firstName = @"Mo";
+  [newPerson firstName]
+  newPerson.firstName;
+
+{% endhighlight %}
+
+### Methods (Messages)
+
+{% highlight objc %}
+
+  -(void) doSomething
+  {
+  }
+
+  -(void) doSomething:(NSString *)firstThing
+  {
+  }
+
+{% endhighlight %}
+
+* (+) class method
+* (-) instance method
+* (void) return type
+
+* A colon is required if there is at least one argument.
+* The data type must be stated.
+* We assign a name to each argument.
+
+If you want to be able to call your method from other classes, we need
+to declare it in our interface (header) file:
+
+### Public and Private
+Any property declared in the .h file is public. To make it private, put
+it in an @interface block above the @implementation block in the .m
+file, like this:
+
+{% highlight objc %}
+
+  @interface Person()
+  @property (strong, nonatomic) NSString * myPrivateString;
+  @end
+
+{% endhighlight %}
+
+Any method declared in the .h file is public. To make a method private,
+simple do not declare it in the .h file.
+
+### Strong/Weak References
+
+A *strong* reference to an object is one where the memory is reserved (and
+the object stays alive) until we don't need it any more. This is the
+default.
+
+A *weak* reference to an object is one where the memory is reserved only
+until all other strong pointers stop pointing to it strongly.
+
+We will almost always use a strong reference.