David Gray, Software Developer in Dublin, Ireland
David Gray

Software Developer in Dublin, Ireland

Member since March 19, 2016
David has extensive experience in software development and computer science in both the industry and academia. His work ranges from programming components of digital telephone switches in assembly language to architecting and implementing portable X.400 (OSI email standard) software. David is now focused on developing OS X and iOS applications.
David is now available for hire

Portfolio

Experience

  • C, 20 years
  • C++, 20 years
  • Objective-C, 6 years
  • Cocoa Touch, 6 years
  • iOS, 5 years
  • Core Data, 4 years
  • Swift, 3 years
  • Common Crypto, 3 years

Location

Dublin, Ireland

Availability

Part-time

Preferred Environment

MacOS, iOS, Linux, Xcode, Git, Swift, Obj-C, C/C++

The most amazing...

...thing I've done was to design and implement an ASN.1 compiler and certification authority software to generate and manage X.509 certificates.

Employment

  • iOS Developer | Founder

    2012 - PRESENT
    Formal Systems
    • Created an iOS gallery app for Adobe Lightroom.
    • Implemented plugins for Lightroom using the Lightroom SDK and Lua.
    • Installed a basic web server on iOS to allow Lightroom to export images to the gallery app.
    • Developed an iOS/OSX slide app for LaTeX documents using Swift.
    Technologies: iOS, Objective-C, Swift, AES, iCloud, Lightroom SDK, Lua
  • Lead Software Engineer

    2018 - 2018
    Stash
    • Integrated Zcash into Dash.
    Technologies: C++, Linux, Bitcoin, Dash, Zcash
  • Freelance Cryptography Developer

    2018 - 2018
    NDA Client (via Toptal)
    • Implemented a Sigma protocol; see "One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin," by Jens Groth & Markulf Kohlweiss.
    • Created zero-knowledge proofs.
    • Worked with cryptography.
    Technologies: C++
  • Freelance iOS Developer

    2017 - 2017
    Reputera (via Toptal)
    • Designed and implemented an iPad app.
    • Designed a RESTful API using Swagger.
    • Conducted beta testing using TestFlight.
    • Implemented interactive map view using Mapbox.
    Technologies: Swift 4, Core Data, Charts, JSON (Swift 4), Mapbox, Swagger, Kitura, JIRA, BitBucket, Git, TestFlight
  • Freelance iOS Developer

    2016 - 2017
    selfiepay (via Toptal)
    • Designed and implemented an iOS payment app using selfies.
    • Designed a RESTful API using Swagger.
    • Implemented the servers for the API using Go and Swift (Kitura).
    • Developed with Agile methodology using JIRA, Git, and GitBucket.
    • Used a Swift 3 package manager.
    Technologies: Swift 3, iOS, Xcode, Go, Kitura, JSON, Swagger, JIRA, Bitbucket, Git
  • Freelance Senior iOS Engineer

    2016 - 2016
    Docler USA (via Toptal)
    • Built a new UI feature.
    • Improved the memory performance using Instruments.
    • Fixed bugs.
    Technologies: Objective-C, iOS, Instruments
  • iOS Developer

    2014 - 2014
    Jumble
    • Developed an email app for iOS.
    • Used common cryptography and security frameworks.
    • Used a LibEtPan library to access email servers with IMAP and POP.
    • Worked with core data for the local storage of messages.
    Technologies: iOS, Objective-C, AES & RSA Cryptography, LibEtPan Mail API
  • Developer | Founder

    1998 - 2002
    Formal Systems
    • Implemented an ASN.1 compiler to output C++ and Java.
    • Implemented libraries to create and manage X.509 certificates.
    • Supported customers using a compiler and libraries.
    Technologies: C++, Java, ASN.1, X.509, Crypto Libraries
  • Technical Director | Co-founder

    1992 - 1995
    Synaptics (Ireland)
    • Adapted a commercial X.400 system to support MMHS (Military Message Handling System) for the DOD Defense Messaging System (DMS).
    • Interfaced X.400 components to the Fortezza Crypto-Card.
    Technologies: OSI, X.400, X.509, ASN.1, DOD DMS, MMHS
  • Software Developer | Technical Director (Ireland)

    1988 - 1991
    Retix
    • Managed a small conformance testing team.
    • Architected for an 1988 X.400 component of a portable OSI stack.
    • Implemented the 1988 X.400 product, as the developer team leader.
    • Implemented 1988 X.400 code in C using SCCS for source code control.
    Technologies: OSI, X.400, ASN.1, C, SCCS
  • Senior Software Engineer

    1987 - 1988
    British Telecom (BT)
    • Worked with OSI.
    • Designed and implemented the OSI Transport Layer software.
    Technologies: C, OSI, Transport Layer
  • Member of the Scientific Staff

    1980 - 1981
    Bell-Northern Research
    • Programmed with assembly language-INTEL 8085 and AMD Am2900.
    • Programmed using PROTEL.
    • Programmed digital telephone switches: DMS-100 (digital multiplex system).
    Technologies: Assembly Language Programming, INTEL 8085, AMD Am2900, DMS/PROTEL

Skills

  • Languages

    Swift, C, C++, Objective-C, Java, Python 2, PHP, Assembler x86, JavaScript
  • Libraries/APIs

    Common Crypto, Node.js
  • Paradigms

    X.400, Asynchronous Programming, Concurrent Programming, Agile Software Development, REST, Distributed Programming
  • Other

    Network Protocols, Cryptography, Software Development, Network Programming, X.509, Bitcoin, Zcash, Dash
  • Frameworks

    Kitura, Cocoa Touch, Cocoa, Core Data
  • Tools

    Git, Apache Tomcat, Xcode, GitHub
  • Platforms

    iOS, Linux, Unix, MacOS
  • Storage

    JSON, SQLite, CouchDB, MongoDB

Education

  • PhD degree in Computer Science
    1976 - 1979
    Queen's University of Belfast - Belfast, Northern Ireland
  • Bachelor of Science degree (1st class) in Computer Science
    1971 - 1976
    Queen's University of Belfast - Belfast, Northern Ireland

To view more profiles

Join Toptal
I really like this profile
Share it with others