Re: Is it possible to transfer data by using light

2015-09-21 Thread Sixten Otto
On Sun, Sep 20, 2015 at 9:55 PM, Jens Alfke  wrote:

> But honestly, if you're going this route, it will be much faster to
> transmit QR codes, since each code contains thousands of bits.
>

Especially given that recent versions of iOS can detect and decode QR codes
automatically, much like face detection.

https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVMetadataMachineReadableCodeObject_Class/index.html

https://developer.apple.com/library/ios/documentation/QuartzCore/Reference/CIQRCodeFeature/


> On Sep 20, 2015, at 7:21 PM, ico  wrote:
> >
> > After reading all of the replies, no one mentioned how to use iPhone to
> > detect the light changes (bright and dark) in codes, I just have no clue
> > how to make it works as long as I remember developers have no right to
> > access the light sensor, so I guess we have to use camera to achieve
> this,
> > but I just don't know how. Can anyone point me to something to read so I
> > can start digging into this and make the whole thing start to work?
> >
> > Thank you all.
> >
> > On Fri, 18 Sep 2015 at 20:38 Michael David Crawford <
> mdcrawf...@gmail.com>
> > wrote:
> >
> >> Do iOS devices support Trusted Computing in hardware?  If so is it
> >> accessible to userspace apps?
> >>
> >> If so, you could store your phones secret in a write-only register.
> >> For the profoundly paranoid, even the duplication of your storage
> >> would not yield your phone's secret, The Bad Guy would need your
> >> personal phone.
> >>
> >> Modern Macs - to the best of my knowledge - provide trusted computing
> >> chips, on can access them from userspace with a modest bit of code.
> >> Michael David Crawford P.E., Consulting Process Architect
> >> mdcrawf...@gmail.com
> >> http://mike.soggywizard.com/
> >>
> >>  One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To
> >> Light.
> >>
> >>
> >>> On Fri, Sep 18, 2015 at 3:12 AM, Maxthon Chan 
> wrote:
> >>> The "over-the-shoulder" issue can be avoided using what is effectively
> a
> >> Diffie-Hellman on top of QR codes. This can be done using front-facing
> >> cameras on two devices placed face-to-face.
> >>>
> >>> Sent from my iPhone
> >>>
>  On Sep 18, 2015, at 00:46, Pascal J. Bourguignon <
> p...@informatimago.com>
> >> wrote:
> 
> 
> 
> > On 17/09/15 17:32, Michael David Crawford wrote:
> > And what the man said: I myself experience seizures in which I lose
> > consciousness for as long as three weeks.  Before they were diagnosed
> > I would experience seizures while driving my car then suddenly find
> > myself in unfamiliar places without any clue how I got there.
> >
> > I don't know for sure but strongly suspect that modern computer user
> > interfaces caused my seizure disorder as well as that of my cousin.
> > Seizures are not otherwise found among any of our blood relatives.
> 
>  But then if you don't use the whole screen, but only the area that
>  should be in front of the camera of the superposed phone, then users
>  shouldn't be subjected to much stroboscopic light.
> 
>  Having the objective so close from the light source does not allow
>  the camera to distinguish pixels; for example, a black to white
>  transition takes about 1/10 of the height of the camera view.
>  But this means that you might still able to transmit about ten pixels
> >> at once,
>  and you can multiply that by a number of color that you can detect
> >> reliably
>  being that out of focus. Basically, I would expect 8 colors to be
> >> clearly
>  distinguishable.  Actually, probably more colors should be
> >> distinguishable,
>  if you can filter out the interferences due to the grid of the camera
> >> vs.
>  the grid of the screen. So assume 4 bits for the color, and 9 areas,
>  that's 36 bit/moment, and you should be able to do 30 moment/second,
>  for a total of 1080 bit/second.  A little less for ECC, about 1 KB/s
>  is not too bad.  It's good enough to transmit a good private key, and
> >> then
>  transfer the data thru wifi.
> 
> 
>  Of course, if you move the camera out to focus on the screen, then
>  you can transmit at a higher speed things like QR codes, but they
>  could also be seen over the shoulder by high resolution cameras.
> 
>  --
>  __Pascal J. Bourguignon__
>  http://www.informatimago.com/
> 
>  ___
> 
>  Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
>  Please do not post admin requests or moderator comments to the list.
>  Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
>  Help/Unsubscribe/Update your Subscription:
>  https://lists.apple.com/mailman/options/cocoa-dev/max%40maxchan.info
> 
>  This email sent to m...@maxchan.info
> >>>
> >>> 

Re: Is it possible to transfer data by using light

2015-09-21 Thread Jens Alfke

> On Sep 21, 2015, at 8:54 AM, Sixten Otto  wrote:
> 
> Especially given that recent versions of iOS can detect and decode QR codes
> automatically, much like face detection.

And Mac OS, too.

I just looked up some code I wrote a few months ago to do QR-code scanning. 
Here’s the guts of it:
https://gist.github.com/snej/6440a2e041222018cc7c
And here’s how to generate a QR-code:
https://gist.github.com/snej/c210cc4cbfe8fd277186

—Jens
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Is it possible to transfer data by using light

2015-09-21 Thread Alex Zavatone

On Sep 21, 2015, at 11:54 AM, Sixten Otto wrote:

> On Sun, Sep 20, 2015 at 9:55 PM, Jens Alfke  wrote:
> 
>> But honestly, if you're going this route, it will be much faster to
>> transmit QR codes, since each code contains thousands of bits.
>> 
> 
> Especially given that recent versions of iOS can detect and decode QR codes
> automatically, much like face detection.
> 
> https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVMetadataMachineReadableCodeObject_Class/index.html
> 
> https://developer.apple.com/library/ios/documentation/QuartzCore/Reference/CIQRCodeFeature/

IIRC, we tested that over a year ago with great success under iOS.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Is it possible to transfer data by using light

2015-09-20 Thread ico
After reading all of the replies, no one mentioned how to use iPhone to
detect the light changes (bright and dark) in codes, I just have no clue
how to make it works as long as I remember developers have no right to
access the light sensor, so I guess we have to use camera to achieve this,
but I just don't know how. Can anyone point me to something to read so I
can start digging into this and make the whole thing start to work?

Thank you all.

On Fri, 18 Sep 2015 at 20:38 Michael David Crawford 
wrote:

> Do iOS devices support Trusted Computing in hardware?  If so is it
> accessible to userspace apps?
>
> If so, you could store your phones secret in a write-only register.
> For the profoundly paranoid, even the duplication of your storage
> would not yield your phone's secret, The Bad Guy would need your
> personal phone.
>
> Modern Macs - to the best of my knowledge - provide trusted computing
> chips, on can access them from userspace with a modest bit of code.
> Michael David Crawford P.E., Consulting Process Architect
> mdcrawf...@gmail.com
> http://mike.soggywizard.com/
>
>   One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To
> Light.
>
>
> On Fri, Sep 18, 2015 at 3:12 AM, Maxthon Chan  wrote:
> > The "over-the-shoulder" issue can be avoided using what is effectively a
> Diffie-Hellman on top of QR codes. This can be done using front-facing
> cameras on two devices placed face-to-face.
> >
> > Sent from my iPhone
> >
> >> On Sep 18, 2015, at 00:46, Pascal J. Bourguignon 
> wrote:
> >>
> >>
> >>
> >>> On 17/09/15 17:32, Michael David Crawford wrote:
> >>> And what the man said: I myself experience seizures in which I lose
> >>> consciousness for as long as three weeks.  Before they were diagnosed
> >>> I would experience seizures while driving my car then suddenly find
> >>> myself in unfamiliar places without any clue how I got there.
> >>>
> >>> I don't know for sure but strongly suspect that modern computer user
> >>> interfaces caused my seizure disorder as well as that of my cousin.
> >>> Seizures are not otherwise found among any of our blood relatives.
> >>
> >> But then if you don't use the whole screen, but only the area that
> >> should be in front of the camera of the superposed phone, then users
> >> shouldn't be subjected to much stroboscopic light.
> >>
> >> Having the objective so close from the light source does not allow
> >> the camera to distinguish pixels; for example, a black to white
> >> transition takes about 1/10 of the height of the camera view.
> >> But this means that you might still able to transmit about ten pixels
> at once,
> >> and you can multiply that by a number of color that you can detect
> reliably
> >> being that out of focus. Basically, I would expect 8 colors to be
> clearly
> >> distinguishable.  Actually, probably more colors should be
> distinguishable,
> >> if you can filter out the interferences due to the grid of the camera
> vs.
> >> the grid of the screen. So assume 4 bits for the color, and 9 areas,
> >> that's 36 bit/moment, and you should be able to do 30 moment/second,
> >> for a total of 1080 bit/second.  A little less for ECC, about 1 KB/s
> >> is not too bad.  It's good enough to transmit a good private key, and
> then
> >> transfer the data thru wifi.
> >>
> >>
> >> Of course, if you move the camera out to focus on the screen, then
> >> you can transmit at a higher speed things like QR codes, but they
> >> could also be seen over the shoulder by high resolution cameras.
> >>
> >> --
> >> __Pascal J. Bourguignon__
> >> http://www.informatimago.com/
> >>
> >> ___
> >>
> >> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> >>
> >> Please do not post admin requests or moderator comments to the list.
> >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> >>
> >> Help/Unsubscribe/Update your Subscription:
> >> https://lists.apple.com/mailman/options/cocoa-dev/max%40maxchan.info
> >>
> >> This email sent to m...@maxchan.info
> >
> > ___
> >
> > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> >
> > Please do not post admin requests or moderator comments to the list.
> > Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> >
> > Help/Unsubscribe/Update your Subscription:
> > https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com
> >
> > This email sent to mdcrawf...@gmail.com
> ___
>
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/jche128%40gmail.com
>
> This email sent to jche...@gmail.com
___

Cocoa-dev 

Re: Is it possible to transfer data by using light

2015-09-20 Thread Jens Alfke
I don't think the ambient light sensor would be sensitive enough for this 
anyway, so the camera is the right thing to use.

Look into the AVFoundation framework; it has some classes for setting up a 
video feed from the camera and receiving frames. I believe there's sample code.

But honestly, if you're going this route, it will be much faster to transmit QR 
codes, since each code contains thousands of bits.

—Jens 

> On Sep 20, 2015, at 7:21 PM, ico  wrote:
> 
> After reading all of the replies, no one mentioned how to use iPhone to
> detect the light changes (bright and dark) in codes, I just have no clue
> how to make it works as long as I remember developers have no right to
> access the light sensor, so I guess we have to use camera to achieve this,
> but I just don't know how. Can anyone point me to something to read so I
> can start digging into this and make the whole thing start to work?
> 
> Thank you all.
> 
> On Fri, 18 Sep 2015 at 20:38 Michael David Crawford 
> wrote:
> 
>> Do iOS devices support Trusted Computing in hardware?  If so is it
>> accessible to userspace apps?
>> 
>> If so, you could store your phones secret in a write-only register.
>> For the profoundly paranoid, even the duplication of your storage
>> would not yield your phone's secret, The Bad Guy would need your
>> personal phone.
>> 
>> Modern Macs - to the best of my knowledge - provide trusted computing
>> chips, on can access them from userspace with a modest bit of code.
>> Michael David Crawford P.E., Consulting Process Architect
>> mdcrawf...@gmail.com
>> http://mike.soggywizard.com/
>> 
>>  One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To
>> Light.
>> 
>> 
>>> On Fri, Sep 18, 2015 at 3:12 AM, Maxthon Chan  wrote:
>>> The "over-the-shoulder" issue can be avoided using what is effectively a
>> Diffie-Hellman on top of QR codes. This can be done using front-facing
>> cameras on two devices placed face-to-face.
>>> 
>>> Sent from my iPhone
>>> 
 On Sep 18, 2015, at 00:46, Pascal J. Bourguignon 
>> wrote:
 
 
 
> On 17/09/15 17:32, Michael David Crawford wrote:
> And what the man said: I myself experience seizures in which I lose
> consciousness for as long as three weeks.  Before they were diagnosed
> I would experience seizures while driving my car then suddenly find
> myself in unfamiliar places without any clue how I got there.
> 
> I don't know for sure but strongly suspect that modern computer user
> interfaces caused my seizure disorder as well as that of my cousin.
> Seizures are not otherwise found among any of our blood relatives.
 
 But then if you don't use the whole screen, but only the area that
 should be in front of the camera of the superposed phone, then users
 shouldn't be subjected to much stroboscopic light.
 
 Having the objective so close from the light source does not allow
 the camera to distinguish pixels; for example, a black to white
 transition takes about 1/10 of the height of the camera view.
 But this means that you might still able to transmit about ten pixels
>> at once,
 and you can multiply that by a number of color that you can detect
>> reliably
 being that out of focus. Basically, I would expect 8 colors to be
>> clearly
 distinguishable.  Actually, probably more colors should be
>> distinguishable,
 if you can filter out the interferences due to the grid of the camera
>> vs.
 the grid of the screen. So assume 4 bits for the color, and 9 areas,
 that's 36 bit/moment, and you should be able to do 30 moment/second,
 for a total of 1080 bit/second.  A little less for ECC, about 1 KB/s
 is not too bad.  It's good enough to transmit a good private key, and
>> then
 transfer the data thru wifi.
 
 
 Of course, if you move the camera out to focus on the screen, then
 you can transmit at a higher speed things like QR codes, but they
 could also be seen over the shoulder by high resolution cameras.
 
 --
 __Pascal J. Bourguignon__
 http://www.informatimago.com/
 
 ___
 
 Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
 
 Please do not post admin requests or moderator comments to the list.
 Contact the moderators at cocoa-dev-admins(at)lists.apple.com
 
 Help/Unsubscribe/Update your Subscription:
 https://lists.apple.com/mailman/options/cocoa-dev/max%40maxchan.info
 
 This email sent to m...@maxchan.info
>>> 
>>> ___
>>> 
>>> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>>> 
>>> Please do not post admin requests or moderator comments to the list.
>>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>>> 
>>> Help/Unsubscribe/Update your Subscription:
>>> 

Re: Is it possible to transfer data by using light

2015-09-18 Thread Maxthon Chan
I used to have a multi-factor authenticating door lock using this QR code 
mechanism. The lock is powered by Raspberry Pi, and have a 128px by 64px 
monochromatic screen, a camera and an RFID reader attached on it.

Procedure to unlock the door:

1. You swipe a RFID card across the lock. A QR code challenge including the 
hash of the ID of the card and a cryptographic nonce concatenated is displayed 
on the screen.
2. You start an app on your phone, scan the code and type the PIN. A QR code of 
hash of the aforementioned challenge hash, some secret stored in the phone, and 
the PIN concatenated is displayed on the phone screen.
3. You scan the response QR code on the lock. If the RFID card ID/phone 
secret/PIN tuple matched a record in the database stored within the lock, the 
lock unlocks.

Sent from my iPhone

> On Sep 17, 2015, at 13:06, Jens Alfke  wrote:
> 
> 
>> On Sep 16, 2015, at 9:06 PM, Jonathan Hull  wrote:
>> 
>> The big question would be why you want to do it.  It is most likely easier 
>> to transfer via wifi (also traveling at the speed of light, and optimized 
>> for data transfer) or bluetooth.
> 
> Secure pairing, as you said, is one use. You need to ensure that the two 
> devices involved are exactly the ones you think they are, and WiFi or 
> Bluetooth don’t work because they see everything in range.
> 
> But it’s much higher bandwidth to use something like a QR code, where you can 
> send several thousand bits simultaneously. It’s pretty easy to send and 
> receive QR codes using APIs already available in iOS and Mac OS. You can send 
> an entire cryptographic key, and use that to bootstrap secure communication 
> over traditional networking.
> 
> —Jens
> ___
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/max%40maxchan.info
> 
> This email sent to m...@maxchan.info


smime.p7s
Description: S/MIME cryptographic signature
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Is it possible to transfer data by using light

2015-09-18 Thread Maxthon Chan
The "over-the-shoulder" issue can be avoided using what is effectively a 
Diffie-Hellman on top of QR codes. This can be done using front-facing cameras 
on two devices placed face-to-face.

Sent from my iPhone

> On Sep 18, 2015, at 00:46, Pascal J. Bourguignon  
> wrote:
> 
> 
> 
>> On 17/09/15 17:32, Michael David Crawford wrote:
>> And what the man said: I myself experience seizures in which I lose
>> consciousness for as long as three weeks.  Before they were diagnosed
>> I would experience seizures while driving my car then suddenly find
>> myself in unfamiliar places without any clue how I got there.
>> 
>> I don't know for sure but strongly suspect that modern computer user
>> interfaces caused my seizure disorder as well as that of my cousin.
>> Seizures are not otherwise found among any of our blood relatives.
> 
> But then if you don't use the whole screen, but only the area that
> should be in front of the camera of the superposed phone, then users
> shouldn't be subjected to much stroboscopic light.
> 
> Having the objective so close from the light source does not allow
> the camera to distinguish pixels; for example, a black to white
> transition takes about 1/10 of the height of the camera view.
> But this means that you might still able to transmit about ten pixels at once,
> and you can multiply that by a number of color that you can detect reliably
> being that out of focus. Basically, I would expect 8 colors to be clearly
> distinguishable.  Actually, probably more colors should be distinguishable,
> if you can filter out the interferences due to the grid of the camera vs.
> the grid of the screen. So assume 4 bits for the color, and 9 areas,
> that's 36 bit/moment, and you should be able to do 30 moment/second,
> for a total of 1080 bit/second.  A little less for ECC, about 1 KB/s
> is not too bad.  It's good enough to transmit a good private key, and then
> transfer the data thru wifi.
> 
> 
> Of course, if you move the camera out to focus on the screen, then
> you can transmit at a higher speed things like QR codes, but they
> could also be seen over the shoulder by high resolution cameras.
> 
> -- 
> __Pascal J. Bourguignon__
> http://www.informatimago.com/
> 
> ___
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/max%40maxchan.info
> 
> This email sent to m...@maxchan.info


smime.p7s
Description: S/MIME cryptographic signature
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Is it possible to transfer data by using light

2015-09-18 Thread Michael David Crawford
Do iOS devices support Trusted Computing in hardware?  If so is it
accessible to userspace apps?

If so, you could store your phones secret in a write-only register.
For the profoundly paranoid, even the duplication of your storage
would not yield your phone's secret, The Bad Guy would need your
personal phone.

Modern Macs - to the best of my knowledge - provide trusted computing
chips, on can access them from userspace with a modest bit of code.
Michael David Crawford P.E., Consulting Process Architect
mdcrawf...@gmail.com
http://mike.soggywizard.com/

  One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light.


On Fri, Sep 18, 2015 at 3:12 AM, Maxthon Chan  wrote:
> The "over-the-shoulder" issue can be avoided using what is effectively a 
> Diffie-Hellman on top of QR codes. This can be done using front-facing 
> cameras on two devices placed face-to-face.
>
> Sent from my iPhone
>
>> On Sep 18, 2015, at 00:46, Pascal J. Bourguignon  
>> wrote:
>>
>>
>>
>>> On 17/09/15 17:32, Michael David Crawford wrote:
>>> And what the man said: I myself experience seizures in which I lose
>>> consciousness for as long as three weeks.  Before they were diagnosed
>>> I would experience seizures while driving my car then suddenly find
>>> myself in unfamiliar places without any clue how I got there.
>>>
>>> I don't know for sure but strongly suspect that modern computer user
>>> interfaces caused my seizure disorder as well as that of my cousin.
>>> Seizures are not otherwise found among any of our blood relatives.
>>
>> But then if you don't use the whole screen, but only the area that
>> should be in front of the camera of the superposed phone, then users
>> shouldn't be subjected to much stroboscopic light.
>>
>> Having the objective so close from the light source does not allow
>> the camera to distinguish pixels; for example, a black to white
>> transition takes about 1/10 of the height of the camera view.
>> But this means that you might still able to transmit about ten pixels at 
>> once,
>> and you can multiply that by a number of color that you can detect reliably
>> being that out of focus. Basically, I would expect 8 colors to be clearly
>> distinguishable.  Actually, probably more colors should be distinguishable,
>> if you can filter out the interferences due to the grid of the camera vs.
>> the grid of the screen. So assume 4 bits for the color, and 9 areas,
>> that's 36 bit/moment, and you should be able to do 30 moment/second,
>> for a total of 1080 bit/second.  A little less for ECC, about 1 KB/s
>> is not too bad.  It's good enough to transmit a good private key, and then
>> transfer the data thru wifi.
>>
>>
>> Of course, if you move the camera out to focus on the screen, then
>> you can transmit at a higher speed things like QR codes, but they
>> could also be seen over the shoulder by high resolution cameras.
>>
>> --
>> __Pascal J. Bourguignon__
>> http://www.informatimago.com/
>>
>> ___
>>
>> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>>
>> Please do not post admin requests or moderator comments to the list.
>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>>
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/cocoa-dev/max%40maxchan.info
>>
>> This email sent to m...@maxchan.info
>
> ___
>
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com
>
> This email sent to mdcrawf...@gmail.com
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Is it possible to transfer data by using light

2015-09-17 Thread Pascal J. Bourguignon



On 17/09/15 07:06, Jens Alfke wrote:

On Sep 16, 2015, at 9:06 PM, Jonathan Hull  wrote:

The big question would be why you want to do it.  It is most likely easier to 
transfer via wifi (also traveling at the speed of light, and optimized for data 
transfer) or bluetooth.

Secure pairing, as you said, is one use. You need to ensure that the two 
devices involved are exactly the ones you think they are, and WiFi or Bluetooth 
don’t work because they see everything in range.

But it’s much higher bandwidth to use something like a QR code, where you can 
send several thousand bits simultaneously. It’s pretty easy to send and receive 
QR codes using APIs already available in iOS and Mac OS. You can send an entire 
cryptographic key, and use that to bootstrap secure communication over 
traditional networking.


To read QR codes you need a camera.
In the case of Toymail, they just need one photovoltaic cell to input a 
serial signal.


Any I/O peripheral can be used to communicate between devices.
eg. you could also use speaker/microphone to emit a sound, possibly even 
an ultrasound; but sound would have the same problem as bluetooth, being 
omnidirectional.


On the other hand, QRcodes, or full screen flashes, are visible at least 
as far as sound or bluetooth can be detected, and are also not very 
directional.


There's also NFC, but IIRC, there's no public API to use it on iOS.

If the two phones are superposed, then only the small rectangle of the 
screen that's in front of the camera needs to transmit the message (the 
rest of the screen could transmit random data to confuse neighbors).


--
__Pascal J. Bourguignon__
http://www.informatimago.com/

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Is it possible to transfer data by using light

2015-09-17 Thread Greg Weston

> This toy can connect to the iphone's network by detecting the blinking
> screen of an iPhone. I wonder if it is possible that using this technique
> to transfer data.

Absolutely. Such techniques have been used for 150 years, using lamps or 
reflected sunlight to send Morse-like codes to human observers. Consumer 
computer applications date back at least 20 years, such as the Timex Datalink 
watch.

As a practical matter, this is the same task as interpreting a 1D barcode, such 
as a UPC label.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Is it possible to transfer data by using light

2015-09-17 Thread Michael David Crawford
Strictly speaking, light is the most common way that data is
transferred, in that the forces between electrically charged particles
are moderated by virtual photons.  Other than light we have the
gravitational, strong nuclear and weak nuclear forces however it is
impractical to transmit much data by modulating gravity.

Look up the protocol standards for IrDA - Infrared Developer's
Association.  I don't think IrDA is in common use but at one time was
supported by Apple PowerBooks.  It enabled relatively private data
transfer between two boxen by transmitting and receiving infrared
light.  The source and sensor need not be pointed at each other as one
can bounce the beam off the walls or ceiling.

By contrast 802.11x wireless internet penetrates walls, unless
encrypted, James Bond could sit outside your house in a white van and
read your repository pushes.

A crude but simple way to transmit data from iOS devices would be to
write an app that displayed a plain black screen for zeroes and a
plain white screen for ones.  Blink the white screen on and off for
each ASCII 1 bit, black for 0 bits.

You will need error correction, but blinking ASCII will get you started.

And what the man said: I myself experience seizures in which I lose
consciousness for as long as three weeks.  Before they were diagnosed
I would experience seizures while driving my car then suddenly find
myself in unfamiliar places without any clue how I got there.

I don't know for sure but strongly suspect that modern computer user
interfaces caused my seizure disorder as well as that of my cousin.
Seizures are not otherwise found among any of our blood relatives.

Have A Nice Day.

Mike
Michael David Crawford P.E., Consulting Process Architect
mdcrawf...@gmail.com
http://mike.soggywizard.com/

  One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light.


On Thu, Sep 17, 2015 at 6:06 AM, Alex Zavatone  wrote:
> Yes.  How do you think TV remotes work?
>
> They use IR transmitters/receivers.
>
> They are, however, PAINFULLY SLOW.
>
> When we were making FiOS TV, we had to create an app called FiOS Mobile 
> Remote for the iPhone that would control your FiOS set top box.
>
> EVEN THOUGH the iPhone had to pipe its commands through a much much much 
> longer chain to get to the STB, it was a night and day in terms of 
> performance.  In fact, it was almost instant.
>
> Back then when we were prototyping FiOS I took an IR receiver and hooked it 
> up to a PC.  Then, using Director, we detected the signal that was being 
> broadcast and mapped each signal to the appropriate keypress.
>
> Then, we wrote a layer on top of that which created key events (press, 
> release, hold and repeat), and that allowed us to have a library which would 
> we could then use to issue commands based on the action being performed on 
> the remote.
>
> All being done by sending a signal over light.
>
>
> At another company, we turned data into QR codes and the QR codes became data 
> packets which we used to reimplement TCP/IP over a video capture transmission 
> method.  Our implementation was to have an iPhone in video capture mode and 
> flash a bunch of QR codes on another computer's screen.
>
> We then pulled each frame out of the video as it was captured, detected when 
> the image representing the QR code changes and rebuilt the data on the device 
> and decoded it.
>
> As I recall, we were testing driver's license detection software and used a 
> kitten as the photo in the license.
>
>
> So, yes, you can use light to transmit data.
>
>
>
>
> On Sep 16, 2015, at 11:14 PM, ico wrote:
>
>> First of all, please take a look at this video:
>> https://www.youtube.com/watch?v=LPyLHhiGTHM
>>
>> This toy can connect to the iphone's network by detecting the blinking
>> screen of an iPhone. I wonder if it is possible that using this technique
>> to transfer data.
>> For instance,
>> 1. you have some data, and transform it into a frequency of flash light
>> 2. you control iPhone A to blink its screen or its flashlight according to
>> this frequency
>> 3. you control iPhone B to detect this frequency of light
>> 4. you transform this message into some data which is the same as you have
>> in the 1st step
>>
>> Anyone can give a hint about achieving this?
>> Sorry for my bad English.
>>
>> Thank you!
>> ___
>>
>> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>>
>> Please do not post admin requests or moderator comments to the list.
>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>>
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/cocoa-dev/zav%40mac.com
>>
>> This email sent to z...@mac.com
>
>
> ___
>
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> 

Re: Is it possible to transfer data by using light

2015-09-17 Thread Alex Zavatone
Yes.  How do you think TV remotes work?

They use IR transmitters/receivers.

They are, however, PAINFULLY SLOW.

When we were making FiOS TV, we had to create an app called FiOS Mobile Remote 
for the iPhone that would control your FiOS set top box.

EVEN THOUGH the iPhone had to pipe its commands through a much much much longer 
chain to get to the STB, it was a night and day in terms of performance.  In 
fact, it was almost instant.

Back then when we were prototyping FiOS I took an IR receiver and hooked it up 
to a PC.  Then, using Director, we detected the signal that was being broadcast 
and mapped each signal to the appropriate keypress.

Then, we wrote a layer on top of that which created key events (press, release, 
hold and repeat), and that allowed us to have a library which would we could 
then use to issue commands based on the action being performed on the remote.

All being done by sending a signal over light.


At another company, we turned data into QR codes and the QR codes became data 
packets which we used to reimplement TCP/IP over a video capture transmission 
method.  Our implementation was to have an iPhone in video capture mode and 
flash a bunch of QR codes on another computer's screen.  

We then pulled each frame out of the video as it was captured, detected when 
the image representing the QR code changes and rebuilt the data on the device 
and decoded it. 

As I recall, we were testing driver's license detection software and used a 
kitten as the photo in the license.


So, yes, you can use light to transmit data.




On Sep 16, 2015, at 11:14 PM, ico wrote:

> First of all, please take a look at this video:
> https://www.youtube.com/watch?v=LPyLHhiGTHM
> 
> This toy can connect to the iphone's network by detecting the blinking
> screen of an iPhone. I wonder if it is possible that using this technique
> to transfer data.
> For instance,
> 1. you have some data, and transform it into a frequency of flash light
> 2. you control iPhone A to blink its screen or its flashlight according to
> this frequency
> 3. you control iPhone B to detect this frequency of light
> 4. you transform this message into some data which is the same as you have
> in the 1st step
> 
> Anyone can give a hint about achieving this?
> Sorry for my bad English.
> 
> Thank you!
> ___
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/zav%40mac.com
> 
> This email sent to z...@mac.com


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Is it possible to transfer data by using light

2015-09-17 Thread Michael David Crawford
Flashing the entire screen as I describe should not be done in product
(App Store) code, rather one might use it as a very, very rough
prototype.

I expect production-quality software could modulate the screen is
far-more subtle ways that both would transmit data far faster as well
as avoid stimulating seizures.

For the most part it is sharp, sudden flashes as from the Xeon strobes
in emergency responder vehicle lights (ie. Squad Car Lights) that,
without a doubt, trigger my own seizures.  While I also suspect
computer animations, I am as yet uncertain.

Analog transmission by displaying shades of grey could transmit more
data while avoiding the stimulation of seizures.
Michael David Crawford P.E., Consulting Process Architect
mdcrawf...@gmail.com
http://mike.soggywizard.com/

  One Must Not Trifle With Wizards For It Makes Us Soggy And Hard To Light.


On Thu, Sep 17, 2015 at 9:46 AM, Pascal J. Bourguignon
 wrote:
>
>
> On 17/09/15 17:32, Michael David Crawford wrote:
>>
>> And what the man said: I myself experience seizures in which I lose
>> consciousness for as long as three weeks.  Before they were diagnosed
>> I would experience seizures while driving my car then suddenly find
>> myself in unfamiliar places without any clue how I got there.
>>
>> I don't know for sure but strongly suspect that modern computer user
>> interfaces caused my seizure disorder as well as that of my cousin.
>> Seizures are not otherwise found among any of our blood relatives.
>
>
> But then if you don't use the whole screen, but only the area that
> should be in front of the camera of the superposed phone, then users
> shouldn't be subjected to much stroboscopic light.
>
> Having the objective so close from the light source does not allow
> the camera to distinguish pixels; for example, a black to white
> transition takes about 1/10 of the height of the camera view.
> But this means that you might still able to transmit about ten pixels at
> once,
> and you can multiply that by a number of color that you can detect reliably
> being that out of focus. Basically, I would expect 8 colors to be clearly
> distinguishable.  Actually, probably more colors should be distinguishable,
> if you can filter out the interferences due to the grid of the camera vs.
> the grid of the screen. So assume 4 bits for the color, and 9 areas,
> that's 36 bit/moment, and you should be able to do 30 moment/second,
> for a total of 1080 bit/second.  A little less for ECC, about 1 KB/s
> is not too bad.  It's good enough to transmit a good private key, and then
> transfer the data thru wifi.
>
>
> Of course, if you move the camera out to focus on the screen, then
> you can transmit at a higher speed things like QR codes, but they
> could also be seen over the shoulder by high resolution cameras.
>
> --
> __Pascal J. Bourguignon__
> http://www.informatimago.com/
>
> ___
>
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/mdcrawford%40gmail.com
>
> This email sent to mdcrawf...@gmail.com
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Is it possible to transfer data by using light

2015-09-17 Thread Pascal J. Bourguignon



On 17/09/15 17:32, Michael David Crawford wrote:

And what the man said: I myself experience seizures in which I lose
consciousness for as long as three weeks.  Before they were diagnosed
I would experience seizures while driving my car then suddenly find
myself in unfamiliar places without any clue how I got there.

I don't know for sure but strongly suspect that modern computer user
interfaces caused my seizure disorder as well as that of my cousin.
Seizures are not otherwise found among any of our blood relatives.


But then if you don't use the whole screen, but only the area that
should be in front of the camera of the superposed phone, then users
shouldn't be subjected to much stroboscopic light.

Having the objective so close from the light source does not allow
the camera to distinguish pixels; for example, a black to white
transition takes about 1/10 of the height of the camera view.
But this means that you might still able to transmit about ten pixels at once,
and you can multiply that by a number of color that you can detect reliably
being that out of focus. Basically, I would expect 8 colors to be clearly
distinguishable.  Actually, probably more colors should be distinguishable,
if you can filter out the interferences due to the grid of the camera vs.
the grid of the screen. So assume 4 bits for the color, and 9 areas,
that's 36 bit/moment, and you should be able to do 30 moment/second,
for a total of 1080 bit/second.  A little less for ECC, about 1 KB/s
is not too bad.  It's good enough to transmit a good private key, and then
transfer the data thru wifi.


Of course, if you move the camera out to focus on the screen, then
you can transmit at a higher speed things like QR codes, but they
could also be seen over the shoulder by high resolution cameras.

--
__Pascal J. Bourguignon__
http://www.informatimago.com/

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Is it possible to transfer data by using light

2015-09-16 Thread Jonathan Hull
This is how fibre optics work, so it is possible.  In this case, you have to be 
careful not to give people seizures by blinking at the wrong frequency.

The big question would be why you want to do it.  It is most likely easier to 
transfer via wifi (also traveling at the speed of light, and optimized for data 
transfer) or bluetooth.

The Apple watch pairing process does seem to use the camera and a moving 
pattern (not frequency of flash, but a pattern of dots on the screen)

Thanks,
Jon

> On Sep 16, 2015, at 8:14 PM, ico  wrote:
> 
> First of all, please take a look at this video:
> https://www.youtube.com/watch?v=LPyLHhiGTHM
> 
> This toy can connect to the iphone's network by detecting the blinking
> screen of an iPhone. I wonder if it is possible that using this technique
> to transfer data.
> For instance,
> 1. you have some data, and transform it into a frequency of flash light
> 2. you control iPhone A to blink its screen or its flashlight according to
> this frequency
> 3. you control iPhone B to detect this frequency of light
> 4. you transform this message into some data which is the same as you have
> in the 1st step
> 
> Anyone can give a hint about achieving this?
> Sorry for my bad English.
> 
> Thank you!
> ___
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/jhull%40gbis.com
> 
> This email sent to jh...@gbis.com


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Is it possible to transfer data by using light

2015-09-16 Thread ico
First of all, please take a look at this video:
https://www.youtube.com/watch?v=LPyLHhiGTHM

This toy can connect to the iphone's network by detecting the blinking
screen of an iPhone. I wonder if it is possible that using this technique
to transfer data.
For instance,
1. you have some data, and transform it into a frequency of flash light
2. you control iPhone A to blink its screen or its flashlight according to
this frequency
3. you control iPhone B to detect this frequency of light
4. you transform this message into some data which is the same as you have
in the 1st step

Anyone can give a hint about achieving this?
Sorry for my bad English.

Thank you!
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Is it possible to transfer data by using light

2015-09-16 Thread Jens Alfke

> On Sep 16, 2015, at 9:06 PM, Jonathan Hull  wrote:
> 
> The big question would be why you want to do it.  It is most likely easier to 
> transfer via wifi (also traveling at the speed of light, and optimized for 
> data transfer) or bluetooth.

Secure pairing, as you said, is one use. You need to ensure that the two 
devices involved are exactly the ones you think they are, and WiFi or Bluetooth 
don’t work because they see everything in range.

But it’s much higher bandwidth to use something like a QR code, where you can 
send several thousand bits simultaneously. It’s pretty easy to send and receive 
QR codes using APIs already available in iOS and Mac OS. You can send an entire 
cryptographic key, and use that to bootstrap secure communication over 
traditional networking.

—Jens
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com