Resume Kevinpackard 2

Total Page:16

File Type:pdf, Size:1020Kb

Resume Kevinpackard 2 Kevin Packard, Software Engineering 7/25/19 101 Outpost Cv Cedar Park, TX 78613 mobile: (603) 440-8757 [email protected] Portfolio: http://blackfrog.com LinkedIn: https://www.linkedin.com/in/kevin-packard-2930b21/ GitHub: https://github.com/kpackard Profile: Experienced Software Engineer providing design leadership and development experience needed to suc- cessfully ship products. Specializing in iOS, macOS, Linux, Embedded Linux, AWS Serverless, and Communications. Skills iOS / macOS: Swift, Objective-C, App Kit, UI Kit, some Watch Kit, Core Animation, Core Graphics, Core Image, GameKit, some Metal, CloudKit, Core Data, Core Motion, MessageUI, StoreKit, Push Notifications, AVFoundation, Core Audio, Core Video, XCTest, GCD (libDispatch). Linux / Embedded Linux: C++, Qt, POSIX Threads, thread synchronization, sockets (UDP, TCP, SSL/TLS), mySQL. Amazon Web Services (AWS): Cognito, S3, CloudFront, SNS, API Gateway, Lambda (Python), DynamoDB, AWS Mobile SDK, AWS Amplify Framework. Operating Systems: iOS, macOS, Linux, AWS, Symbian S60. Some experience with Windows and Android. Have developed projects with a shared code base across multiple operating system targets, including Linux/Windows, Mac/ Windows, and iOS/Android. Graphics & Image Processing: Invented and implemented a real-time image compression algorithm for a Video Conferencing system using digital telephone lines (ISDN and Switch-56), analog telephone lines, and IP as transport medium. Experience with image filters, dithering, compression, and other aspects of image processing. Dabbled with OpenGL and Metal. Experience with related iOS / macOS technologies: Core Image, Core Video. Experience with Intel’s Integrated Performance Principals (IPP) library. Communications, VoIP, Conferencing, and Streaming: SIP, SDP, H.323, H.320, H.239, RTP, SRTP, En- crypted RTP, RTCP, ICE, STUN, TURN, RTSP, ISDN. Experience with realtime audio & video communications sub- systems. Open Source: AlamoFire, WebRTC, PJSip, Asterisk, oSIP, Reciprocate, OpenH323, VOVIDA SIP stack, PWLib, ptypes, ACE, Darwin RTSP Streaming Server, Qt, Intel IPP, MPFR on GMP. My own open source projects are PComm and Telecine Film Transfer. Drivers: Implemented macOS PCI driver for an image capture card. Implemented several classic Mac drivers. Web: REST, JSON, SOAP, XML, HTTP, HTTPS, some HTML, some CSS, Apache, Perl, some PHP, some Python. Networking Architecture: designed and implemented two large, scalable communications systems (one for fax- over-IP for Dialout.net, and one for audio/video/data communications for HCR), with authentication, authorization, encryption, and scaling. Implemented a turn-based game engine for online gaming using Game Center and AWS Serverless; it scales very large and costs very little to operate, making it ideal for a freemium game. !1 Resume - Kevin Packard - 101 Outpost Cv - Cedar Park TX 78613 - 603.440.8757 - [email protected] Experience blackfrog software, 1998 - present Owner Opposition - an analytical game of skill and deception, for the iPhone and iPad. Invented as a board game in the 1970’s by Bob Packard, a high school math teacher from Alaska. Bob is my father. He made game boards out of mahogany in his wood shop, then he’d take my brother & me to school where we’d play against his students. I brought the game to the iPad and iPhone. Now in the App Store ImageXpert, Jan 2001 to Feb 5, 2002; Fall 2002; Jan-Mar 2005; Jan-Mar 2006; Jan 2014 - present Consultant ImageAnalyst - an automated machine vision system providing image quality measurement and analysis, for macOS. Intermittently since 2001, I’ve added features and migrated this macOS app to new Apple technolo- gies. Added threading and GPU support to improve performance. Implemented a macOS driver for a PCI image capture card. Added support for TWAIN scanners. Ported to Carbon API's, then to intel processors on macOS, then again to Cocoa and 64-bits. Added dynamic plugin architecture for third party development. http://imagexpert.com TapTapTap, Oct 2008 to Sep 2009; Jan 2013 to Oct 2018 iOS Consultant Crossbang! - a multiplayer crossword game for iPhone and iPad. Designed by tap tap tap, the software was developed by myself. Development includes complex UI animations, and a very low-cost back-end using Apple’s Game Center and Amazon Web Services (Cognito, S3, CloudFront, SNS). Demo available upon request. Convert - a Unit Converter and complete Scientific Calculator for the iPhone. Designed by tap tap tap, the software was developed by myself. Uses a 256-bit precision floating-point engine to achieve the high degree of accuracy required for extreme conversions such as parsecs to angstroms. Version 1 released in 2009, and reached #2 in the App Store. Version 2 released in October, 2013. Convert is no longer in the App Store. http://taptaptap.com ShoreTel, June 2009 to Dec 2013 Staff Software Engineer, Architect 480 and 420 IP Desk Phone Families - a series of embedded Linux desk phones, developed in-house by ShoreTel. Was the first engineer hired for the newly created Phone Software team. Evaluated SOC’s, se- lected embedded graphics framework, and architected a single, reusable code base from which the 485g, 480g, 480, and 420 desk phones are built. Participated in Agile process (Kanban, scrum, estimations, etc.). ShoreTel has since been purchased by Mitel. ShoreTel Mobility - a soft phone for iPhone, iPad and Android, interfacing with ShoreTel’s desktop phone system. Overhauled the ShoreTel mobility app for usability. Worked with an outside design group to produce a brand new user interface for ShoreTel Mobility 7, for iOS and Android. ShoreTel has since been purchased by Mitel. RADVISION, Ltd., Mar 2006 to May 2007; June 2008 to June 2009 macOS / Windows / Linux Consultant Scopia Desktop - a desktop video conferencing solution. Developed conferencing client for macOS using my own PComm framework, now open sourced. Radvision has since been acquired by Avaya. Click To Meet - an ancestor of the desktop video conferencing solution Scopia Desktop. Implemented QuickTime plugins for macOS and Windows to decode H.239 content video, using Intel’s IPP libraries. Added encryption (SRTP & Encrypted RTP) to Windows client and Windows/Linux server. !2 Resume - Kevin Packard - 101 Outpost Cv - Cedar Park TX 78613 - 603.440.8757 - [email protected] Aweli, Inc. iOS Consultant adgrinder - a video advertisement creation, placement, and verification service. Developed a native iPhone application that interfaces with Aweli Inc.’s adgrinder REST service. Developed back end process that dy- namically constructs an MPEG-4 movie from a movie template, using still images and text gathered on the iPhone. The Real School of Music macOS Consultant Scheduling Kiosk - interactive kiosk software running on macOS. Displays live scheduling data, inter- spersed with promotional videos, displayed on flat screen televisions throughout the Real School facility, for macOS. Developed a Quartz composition to artfully display scheduling data, interspersed with client-con- trolled movies. Scheduling data is pulled from a TimeTrade server using SOAP/XML. https://www.therealschoolofmusic.com Aylus Networks, Inc. Symbian S60 Software Engineer MediaShare - a family of products that enable a new class of real-time multimedia services for mobile oper- ators. Tuned and standardized RTP stack, debugged and performed general maintenance of Symbian S60 IMS Video Share client. Extended open source project pjsip to signal and transmit H.263 video. sentitO Networks Software Engineer Carrier Asterisk - a web app for VoIP carriers to manage subscriber provisioning and push configurations to a farm of Asterisk boxes and sentitO VoIP gateways. Developed frontend, backend, and mySQL database. Health Communications Research Consortium Consultant, Chief Architect, Network Services Coherent Informatics - a technology platform for secure, real time audio/video conferencing and collabora- tion. Architected SIP signaling for authentication, location, and load-balancing services. Implemented por- table SIP (RFC 2543), BEEP (RFC 3080), and RTP (RFC 1889, 1890) stacks targeting Windows, Linux, and macOS. Implemented real-time audio/video QuickTime library for macOS. Dialout.net Consultant, Architect SccIP - a service for routing data and fax calls on the internet. SccIP uses SIP call signaling over TLS. Archi- tected a SIP signaling network for provisioning, authentication, location, billing, and load-balancing services. Implemented SIP stack targeting any 32-bit Windows kernel (client), and Linux (server). TeraGlobal Communications Corp Consultant TeraMedia - a collaboration service providing secure Audio, Video and Data communications across a pri- vate, reliable network. Implemented a realtime RTP subsystem for voice and video over IP, using secondary interrupts, on Mac OS 9. White Pine Software, now RADVISION, Ltd. Consultant CU-SeeMe - a multipoint video conferencing system for IP networks. Originally developed at Cornell Uni- versity, then acquired by White Pine Software. Redesigned and optimized QuickTime-based video and au- !3 Resume - Kevin Packard - 101 Outpost Cv - Cedar Park TX 78613 - 603.440.8757 - [email protected] dio subsystems for macOS. Architected and implemented C++ object framework for core engine. Architected flow between audio, video, and network subsystems, then profiled, and optimized. Implemented Motion-JPEG QuickTime codec from open source library. Assisted Apple debugging their H.263 QuickTime codec. Assisted third party video camera manufacturers
Recommended publications
  • Design of a Handset for the IP Multimedia Subsystem a Case Study
    Design of a Handset for the IP Multimedia Subsystem A Case Study James Sunil Selvam ITTIAM Systems [email protected] IMS Architecture OSA AS GSM SCF Application Layer OSA-SCS SIP AS IM-SSF Session Control CSCF Layer HSS GPRS, CDMA MGCF 802.11, DSL SIP Media Transport Layer Gateway EndPoint PSTN PTT, IM, VVoIP VoIP PTT, IM, VVoIP Hardware Block Diagram MIC LCD / Audio TOUCH Codec Speaker/ SCREEN Headphone GSM/ Keypad GPRS JTAG PROCESSOR WLAN Serial Board Control Flash/ Power SDRAM USB Reg TI Innovator Kit based on OMAP1510 Customised Hardware Based on OMAP™ Innovator Kit WLAN NOISE SUPRESSOR R O USB1 USB DWL-G122 T C TRANSCEIVER WLAN E 3.3V N N 5V O C GSM/ SIM E C GPRS CARD A F R E UART2 GM47 T LEVEL GSM/ N I SHIFTER GPRS R O T A MIC V O SPEAKER N N I POWER 2.75V (LEVEL SHIFTER) 5V POWER CONVERTERS 3.6V (GM47) Implementation Hardware Software Block Level SIP : oSIP Linux 2.6.16 RTP/RTCP : oRTP Circuit Design Audio Codec : Kernel Dep. G711, SPEEX, GSM Artwork Driver Management of SIM Test Programs Air Interface : GM47 TI Innovator Device + Custom Hardware Kernel Related Application Services VoIP : Linphone UA GUI Ergonomics Packaging ID Test Setup SIP Proxy & Registrar Ethernet Linphone UA Linphone UA IMS Handset Test Setup Integrated Product IMS Handset Design of a Handset for the IP Multimedia Subsystem - A Case Study James Selvam ITTIAM Systems (Pvt) Ltd Part 1: IMS Why IMS? • Internet – Ease of service creation & provision – Open protocols & large professional talent – Wealth of information • Cellular World – Service on the move
    [Show full text]
  • CARL ASHLEY Mac Admin, Occasional Photographer
    CARL ASHLEY mac admin, occasional photographer Posts from carlashley.com. Printed on June 14, 2020 using Print My Blog STARTING THE SWITCH TO PYTHON 3 28 JUNE 2019 CATEGORIES: MAC OS TAGS: PYTHON With Python (and other scripting languages) being dropped from deprecated in macOS Catalina*, and Python 2.7 maintenance ending in 2020, it’s time to start updating any Python 2 scripts so they are compatible with Python 3. This might seem like a big task, and it could very well be for your code-base, however there are a few things you can do to start the process. If you don’t already have Python 3 installed on your Mac, you’ll need to get it installed. You can install it using homebrew , or you can install it from the Python Releases for Mac OS X page. It’s also provided by Apple, but currently you need an Apple Developer account to access those command line tool betas. There’s a great guide on what to do and what not to do when installing Python 3 on macOS here. No matter which way you get it installed, your Python 3 interpreter will be in a new location, and you’ll de˚nitely want to update pip3 for package management. You can also expect a lot, if not all of the “standard” packages that Apple included with their Python 2.7 framework to not be installed, so you’ll need to make sure you’ve installed those as well. This is a great opportunity to start using virtual environments.
    [Show full text]
  • What Is Open Source?
    Putting OPen SOurce tO WOrk in the enterPriSe: A guide tO riSkS And OPPOrtunitieS © Copyright 2007 SAP AG. All rights reserved. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, No part of this publication may be reproduced or transmitted in Massachusetts Institute of Technology. any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed Java is a registered trademark of Sun Microsystems, Inc. without prior notice. JavaScript is a registered trademark of Sun Microsystems, Inc., Some software products marketed by SAP AG and its distributors used under license for technology invented and implemented contain proprietary software components of other software by Netscape. vendors. MaxDB is a trademark of MySQL AB, Sweden. Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, Duet, PartnerEdge, and other SAP products and services IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, mentioned herein as well as their respective logos are trademarks MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, or registered trademarks of SAP AG in Germany and in several xSeries, zSeries, System i, System i5, System p, System p5, System x, other countries all over the world. All other product and service System z, System z9, z/OS, AFP, Intelligent Miner, WebSphere, names mentioned are the trademarks of their respective compa- Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, POWER5+, nies. Data contained in this document serves informational OpenPower and PowerPC are trademarks or registered purposes only.
    [Show full text]
  • Modeling and Analysis of Next Generation 9-1-1 Emergency Medical Dispatch Protocols
    MODELING AND ANALYSIS OF NEXT GENERATION 9-1-1 EMERGENCY MEDICAL DISPATCH PROTOCOLS Neeraj Kant Gupta, BE(EE), MBA, MS(CS) Dissertation Prepared for the Degree of DOCTOR OF PHILOSOPHY UNIVERSITY OF NORTH TEXAS August 2013 APPROVED: Ram Dantu, Major Professor Kathleen Swigger, Committe Member Paul Tarau, Committee Member Sam G Pitroda Committee Member Barrett Bryant, Chair of the Department of Computer Science and Engineering Costas Tsatsoulis, Dean of the College of Engineering Mark Wardell, Dean of the Toulouse Graduate School Gupta, Neeraj Kant. Modeling and Analysis of Next Generation 9-1-1 Emergency Medical Dispatch Protocols. Doctor of Philosophy (Computer Science), August 2013, 192 pp., 12 tables, 72 figures, bibliography, 196 titles. In this thesis I analyze and model the emergency medical dispatch protocols for Next Generation 9-1-1 (NG9-1-1) architecture. I have identified various technical aspects to improve the NG9-1-1 dispatch protocols. The specific contributions in this thesis include developing applications that use smartphone sensors. The CPR application uses the smartphone to help administer effective CPR even if the person is not trained. The application makes the CPR process closed loop, i.e., the person who administers the CPR as well as the 9-1-1 operator receive feedback and prompt from the application about the correctness of the CPR. The breathing application analyzes the quality of breathing of the affected person and automatically sends the information to the 9-1-1 operator. In order to improve the human computer interface at the caller and the operator end, I have analyzed Fitts law and extended it so that it can be used to improve the instructions given to a caller.
    [Show full text]
  • Oracle® Communications Session Border Controller – SCZ730 - S-CZ7.3.0
    Oracle® Communications Session Border Controller – SCZ730 - S-CZ7.3.0 Program Documentation – License Document First Edition October 2015 Contents Copyright Notices ......................................................................................................... 3 License Restrictions Warranty/Consequential Damages Disclaimer .............................................. 3 Warranty Disclaimer ........................................................................................................................ 3 Restricted Rights Notice .................................................................................................................. 3 Hazardous Applications Notice ....................................................................................................... 3 Trademark Notice ............................................................................................................................ 4 Alpha and Beta Draft Documentation Notice................................................................................... 4 Revenue Recognition Notice ........................................................................................................... 4 Beta Program Notice ....................................................................................................................... 5 Documentation Accessibility ............................................................................................................ 5 Access to Oracle Support ...............................................................................................................
    [Show full text]
  • Apple in Education Data and Privacy Overview for Schools
    Apple in Education Data and Privacy Overview for Schools Education has always been part of Apple’s DNA. We believe technology has the power to transform every classroom and engage every student. Our products are designed to expand how teachers teach and students learn with access to powerful apps and engaging content on the devices they love to use. We also know how important security and privacy is to protect the data students create, store, and access throughout the learning experience. Security and privacy are fundamental to the design of all Apple hardware, software, and services. We take an integrated approach to ensure that every aspect of the experience has security and privacy built in. This approach considers the privacy and security of all users including those within an education setting such as teachers, faculty, staff and students. We have also created features and services that are designed specifically for education, including Apple School Manager, Managed Apple IDs, and Shared iPad. These capabilities are built with the same integrated approach and with additional consideration for the specific security and privacy needs of students and institutions. This overview covers how Managed Apple IDs and our related education features and services handle student data and privacy. You can use this overview to communicate to parents about how their students’ data is secured by Apple. Apple’s Commitment to Student Privacy Apple will never track, share, or sell student information for advertising or marketing purposes. We don’t build profiles of students based on their email content or web browsing habits. We also don’t collect, use, or disclose personal student information other than to provide educational services.
    [Show full text]
  • MD SAZZADUR RAHMAN [email protected] 3467 Avocado St., Riverside, CA 92507, USA Cell: (951) 823-3471 RESEARCH INTERESTS
    MD SAZZADUR RAHMAN [email protected] 3467 Avocado St., Riverside, CA 92507, USA Cell: (951) 823-3471 RESEARCH INTERESTS Security in Online Social Networks, Web classification, distributed systems EDUCATION University of California, Riverside December, 2013 Ph.D. in Computer Science CGPA earned: 3.92/4.00 University of Oklahoma May, 2009 M.Sc. in Computer Science CGPA earned: 4.00/4.00 Bangladesh University of Engineering and Technology Nov, 2004 B.Sc. in Computer Science CGPA earned: 3.58/4.00 RELEVENT COURSES • Advanced Computer Networks • Data Mining • Advanced Algorithms • Network Routing EXPERIENCES Summer Intern, VMware Inc., Palo Alto, CA June, 2011-September, 2011 • Implemented a scalable web-based framework for software update in VMware hypervisor (ESXi servers) in the cloud infrastructure. The framework enables system admins in data centers to update thousands of hypervisors in parallel using few clicks in web interface of the framework. Research Assistant, University of California, Riverside January, 2011-May, 2011 • Developed a Facebook security application MyPageKeeper which protects Facebook users from malicious links. Devised a real time classification technique for identifying malicious posts spreading over Facebook. Currently 12,000+ users are using this app. Summer Intern, Los Alamos National Lab, NM, USA June, 2010-September, 2010 • Implemented Cyber Command & Control System for command dissemination in a distributed p2p network. The prototype is running in thousands of PlanetLab nodes distributed around the world. Research Assistant, University of Oklahoma, OK, USA June, 2007-May, 2009 • Ported SCTP protocol in RTEMS kernel from FreeBSD kernel to the networking stack of a real time OS, RTEMS and cross-compiled it for i386 architecture.
    [Show full text]
  • Stream Control Transmission Protocol Support in Session Initiation Protocol Proxy Server
    STREAM CONTROL TRANSMISSION PROTOCOL SUPPORT IN SESSION INITIATION PROTOCOL PROXY SERVER by Thomas Kwok-Cheong Pang B.A.Sc. (Computer Engineering), Simon Fraser University, 1995 A PROJECT SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENT FOR THE DEGREE OF MASTER OF ENGINEERING in the School of Engineering Science ã Thomas Kwok-Cheong Pang 2003 SIMON FRASER UNIVERSITY May 2003 All rights reserved. This work may not be reproduced in whole or in part, by photocopy or other means, without permission of the author. Approval Name: Thomas Kwok-Cheong Pang Degree: Master of Engineering Title of report: Stream Control Transmission Protocol Support In Session Initiation Protocol Proxy Server Examining Committee: Chair: Dr. John Bird Professor _________________________________ Dr. Ljiljana Trajkovic Senior Supervisor Associate Professor _________________________________ Dr. James K. Cavers Supervisor Professor _________________________________ Mr. Patrick Leung Supervisor Senior Lecturer _________________________________ Mr. Trevor Cooper External Supervisor Project Manager Intel Corporation Date approved: ______________________ ii Abstract In recent years, Session Initiation Protocol (SIP) developed by the Internet Engineering Task Force (IETF) has gained significant popularity in the Voice- over-IP (VoIP) arena and is competing with the Internet Multimedia protocol H.323. SIP is also selected by Third Generation Partnership Project (3GPP) as a standard signaling protocol for service control in Third Generation (3G) wireless network. SIP is a communication control protocol capable of running on different transport layers, e.g., Transport Control Protocol (TCP), User Datagram Protocol (UDP), or Stream Control Transmission Protocol (SCTP). Today’s SIP application is mostly operating over the unreliable transport protocol UDP. In lossy environment such as wireless networks and congested Internet networks, SIP messages can be lost or delivered out of sequence.
    [Show full text]
  • Best Practices for Building Apps Used in Business and Education 0.9
    Distribution #WWDC16 Best Practices for Building Apps Used in Business and Education Session 304 David M. O’Rourke iOS Managed Configuration Team © 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. Agenda Agenda Modern App Design Practices Agenda Modern App Design Practices Architecture Overview of Shared iPad Agenda Modern App Design Practices Architecture Overview of Shared iPad Cover What iOS Technologies to Adopt for Shared iPad Agenda Modern App Design Practices Architecture Overview of Shared iPad Cover What iOS Technologies to Adopt for Shared iPad New Opportunities to Enhance Your App Modernize Your Application Modernize Your Application Customers expect a fully modern and up to date iOS experience • Stay current, adopt iOS features… Modernize Your Application Customers expect a fully modern and up to date iOS experience • Stay current, adopt iOS features… Some example technologies: Modernize Your Application Customers expect a fully modern and up to date iOS experience • Stay current, adopt iOS features… Some example technologies: Modernize Your Application Customers expect a fully modern and up to date iOS experience • Stay current, adopt iOS features… Some example technologies: Modernize Your Application Customers expect a fully modern and up to date iOS experience • Stay current, adopt iOS features… Some example technologies: Modernize Your Application Customers expect a fully modern and up to date iOS experience • Stay current, adopt iOS features… Some
    [Show full text]
  • Cloudkit Tips and Tricks Session 715
    System Frameworks #WWDC15 CloudKit Tips And Tricks Session 715 Nihar Sharma CloudKit Engineer © 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. CloudKit What is it? CloudKit What is it? iCloud database CloudKit What is it? iCloud database Large file storage CloudKit What is it? iCloud database Large file storage Privacy obsessed CloudKit What is it? iCloud database Large file storage Privacy obsessed Developer API CloudKit What is it? iCloud database Large file storage Privacy obsessed Developer API Apple applications built on it CloudKit One year later CloudKit No really, what is it? Introduction to CloudKit WWDC14 Advanced CloudKit WWDC14 100% Awesome with Swift 2! record.setObject(5, forKey: "numberOfClowns") if let partyDate = record.objectForKey("date") as? NSDate {…} record["numberOfClowns"] = 5 if let partyDate = record["date"] as? NSDate {…} record["numberOfClowns"] = 5 if let partyDate = record["date"] as? NSDate {…} modifyRecordsOperation.recordsToSave = ["I’m not a CKRecord!"] record["numberOfClowns"] = 5 if let partyDate = record["date"] as? NSDate {…} modifyRecordsOperation.recordsToSave = ["I’m not a CKRecord!"] error: cannot assign a value of type '[String]' to a value of type '[CKRecord]?' CloudKit Storage architecture CloudKit Storage architecture CloudKit Container CloudKit Storage architecture CloudKit Container Public Database CloudKit Storage architecture CloudKit Container Public Database Private Database CloudKit Storage architecture CloudKit
    [Show full text]
  • Core Data Cloudkit Xcoders Talk
    Integrating Core Data and CloudKit Jared Sorge Scorebook Remember Your Games Core Data Paul Goracke – “Core Data Potpurri”, February 2014 http://bit.ly/1A5fWGr Marcus Zarra – “My Core Data Stack”, March 2015 http://bit.ly/1KQaibt TaphouseKit – GitHub Project http://bit.ly/1e4AEwo CloudKit OS X Yosemite & iOS 8 Transport layer No black magic CloudKit Used by Apple iCloud Drive & iCloud Photo Library Used by third parties 1Password CloudKit Stack CKContainer CloudKit Stack Public CKDatabase Private CKDatabase CKContainer CloudKit Stack CKRecordZone Default Zone Custom Public CKDatabase Private CKDatabase CKContainer CloudKit Stack CKRecord CKRecordZone Default Zone Custom Public CKDatabase Private CKDatabase CKContainer CloudKit Stack CKSubscription (optional) CKRecord CKRecordZone Default Zone Custom Public CKDatabase Private CKDatabase CKContainer CloudKit Stack CKSubscription (optional) CKRecord CKRecordZone Default Zone Custom Public CKDatabase Private CKDatabase CKContainer CKRecord Store data using key/value pairs NSString, NSNumber, NSData, NSDate, NSArray, CLLocation, CKAsset, CKReference Use constant strings for keys recordType property is like a database table name CKRecord Initializers initWithRecordType: initWithRecordType:zoneID: initWithRecordType:recordID: CKRecordID 2 properties recordName, zoneID Initializers initWithRecordName: initWithRecordName:zoneID: CKRecordZoneID initWithZoneName:ownerName: Use CKOwnerDefaultName for ownerName Zone name is a string Use CKRecordZoneDefaultName for the default zone CKRecordZoneID CKContainer
    [Show full text]
  • The Homesip Project: Using Open Source SIP Stack for Home Automation
    FOSDEM 2007 The HomeSIP Project: Using Open Source SIP Stack for Home Automation email : [email protected] P. Kadionik, A. Ben Atitallah, P. Nouel web : http://www.enseirb.fr/~kadionik IMS, ENSEIRB, University of Bordeaux, France http://www.enseirb.fr/cosynux/ C. Consel, L. Burgy, N. Palix, W. Jouve et J. Lancia LaBRI, ENSEIRB, University of Bordeaux, France The HomeSIP Project pk/enseirb/2007 -1- INTRODUCTION The HomeSIP Project pk/enseirb/2007 -2- The HomeSIP Project • The HomeSIP project (acronym for Home Automation with SIP) consists to setup a HW/SW platform based on the SIP protocol. • This project is oriented embedded systems for Home Automation and is built with different hardware devices running free software (embedded Linux, protocol stacks…). • It will be used at the ENSEIRB School of Electrical Engineering (Ecole Nationale Supérieure d'Informatique Electronique et Radiocommunications de Bordeaux) The HomeSIP Project pk/enseirb/2007 -3- The HomeSIP Team HW/ • Cosynux Team from the IMS Lab (Intégration du Matériau Firm au Système): – COnception de – SYstèmes – NUmériques X (with the Linux Touch!) SW/ • Phoenix Team from the LaBRI Lab (Laboratoire Bordelais DSL de Recherche en Informatique). • More informations: http://www.enseirb.fr/cosynux/ http://phoenix.labri.fr/ The HomeSIP Project pk/enseirb/2007 -4- THE HOMESIP PROJECT AND M2M The HomeSIP Project pk/enseirb/2007 -5- The Idea • The HomeSIP project is based on the well known SIP protocol (Session Initiation Protocol) and generally used for VoIP (Voice Over IP). • The idea is to used SIP as an universal container for collecting data coming from sensors (inputs) and for driving actuators (outputs).
    [Show full text]