PayPal hardware powered by Go

10,135 views
Skip to first unread message

Brad Fitzpatrick

unread,
Sep 9, 2013, 5:57:17 PM9/9/13
to golang-nuts
"PayPal Debuts Its Newest Hardware, Beacon, A Bluetooth LE Enabled Device For Hands-Free Check Ins And Payments"

http://techcrunch.com/2013/09/09/paypal-debuts-its-newest-hardware-beacon-a-bluetooth-le-enabled-device-for-hands-free-check-ins-and-payments/

...

"He, along with the engineers I spoke to, said that this launch was much different than launches past. They all said the launch and collaboration felt more engrained in the startup culture. Not only did the team feel like what they were doing was cutting edge and unique, but written in go (code)"

minux

unread,
Sep 9, 2013, 6:46:48 PM9/9/13
to Brad Fitzpatrick, golang-nuts

awesome, iiuc, the go code is running in the beacon itself, which means it must be using go for linux/arm?

if it's not using linux, then things will be really interesting.

Brad Fitzpatrick

unread,
Sep 9, 2013, 8:09:22 PM9/9/13
to minux, golang-nuts
Yes, gc linux/arm, I believe.

And it's either Go tip, or Go 1.1 with cherry-picked changes from Go tip.

Dave Cheney

unread,
Sep 9, 2013, 8:14:22 PM9/9/13
to Brad Fitzpatrick, minux, golang-nuts
*JOY*

I don't suppose anyone from Paypal on the ML can comment on this ?
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.

Brad Fitzpatrick

unread,
Sep 9, 2013, 8:17:11 PM9/9/13
to Dave Cheney, Joshua Bleecher Snyder, minux, golang-nuts
[+josharian]

Josh Bleecher Snyder is mentioned in the article and has contributed to the Go standard library.

(I'm guessing >= 1.1 because he's sent in changes to Go since 1.1 came out)

Josh Bleecher Snyder

unread,
Sep 9, 2013, 8:23:37 PM9/9/13
to Brad Fitzpatrick, minux, golang-nuts
Thanks for sharing this, Brad. You beat me to it.

Yes, gc linux/arm5. And yes, I'm using Go 1.1 plus cherry-picking.
I've encountered a few arm-only bumps with tip recently that I've not
looked into carefully yet. Don't worry, I'll file issues. :)

Look for a blog post with more details sometime soonish. Once it is
up, I'll be sure to share here.

-josh

P.S. Thanks to all, both for the language and for the wonderful
community. Writing in Go continues to be the best part of an
all-around very interesting project. (Bespoke hardware and crypto and
BLE, oh my!)

Josh Bleecher Snyder

unread,
Sep 9, 2013, 8:24:57 PM9/9/13
to Dave Cheney, Brad Fitzpatrick, minux, golang-nuts
> *JOY*
>
> I don't suppose anyone from Paypal on the ML can comment on this ?

That would be me. Ask me anything. I'll answer as much as I possibly can. :)

-josh

Dave Cheney

unread,
Sep 9, 2013, 8:27:41 PM9/9/13
to Josh Bleecher Snyder, Brad Fitzpatrick, minux, golang-nuts
> Yes, gc linux/arm5. And yes, I'm using Go 1.1 plus cherry-picking.
> I've encountered a few arm-only bumps with tip recently that I've not
> looked into carefully yet. Don't worry, I'll file issues. :)

I don't think we'll ever be able to put a stake through the marvel
kirkwood chipset, that thing has more lives than a cat.

philip...@gmail.com

unread,
Sep 10, 2013, 1:08:59 AM9/10/13
to golan...@googlegroups.com, Dave Cheney, Brad Fitzpatrick, minux
How well does Go play with low-memory systems? From playing with Go, it seems to me that it would be an awesome language for embedded development, but that GC could cause problems with limited memory. Did you write a custom malloc? How well did it interact with the threading model?

pasb

Job van der Zwan

unread,
Sep 10, 2013, 2:52:39 AM9/10/13
to golan...@googlegroups.com, Brad Fitzpatrick, minux
On Tuesday, 10 September 2013 02:14:22 UTC+2, Dave Cheney wrote:
*JOY*

You're kind of the godfather of the ARM version of Go, aren't you? I guess congratulations to you and all other ARM contributors are in order, this looks like quite an endorsement.

Dave Cheney

unread,
Sep 10, 2013, 3:30:04 AM9/10/13
to Job van der Zwan, golan...@googlegroups.com, Brad Fitzpatrick, minux
Hardly, I'm kind of an uncomfortable Uncle. 


--

Job van der Zwan

unread,
Sep 10, 2013, 3:55:30 AM9/10/13
to golan...@googlegroups.com, Job van der Zwan, Brad Fitzpatrick, minux
The awkward one who always has the best gifts at birthdays?

Josh Bleecher Snyder

unread,
Sep 10, 2013, 7:32:13 AM9/10/13
to philip...@gmail.com, golang-nuts, Dave Cheney, Brad Fitzpatrick, minux
> How well does Go play with low-memory systems?

It has been surprisingly smooth sailing (although I am looking forward
to precise GC).

-josh



> On Monday, September 9, 2013 5:24:57 PM UTC-7, Joshua Bleecher Snyder wrote:
>>
>> > *JOY*
>> >
>> > I don't suppose anyone from Paypal on the ML can comment on this ?
>>
>> That would be me. Ask me anything. I'll answer as much as I possibly can.
>> :)
>>
>> -josh
>

Sander van Harmelen

unread,
Jul 22, 2014, 3:38:31 AM7/22/14
to golan...@googlegroups.com, brad...@golang.org, minu...@gmail.com
Hi Josh,

Sure sounds really cool indeed! The thing that triggered me the most, was the BLE part :) Is there anything written in Go that you are using to communicate with BLE hardware? Do you have knowledge of any Go packages or do you have any pointers?

Thanks so much for your time!

Cheers,

Sander


Op dinsdag 10 september 2013 02:23:37 UTC+2 schreef Josh Bleecher Snyder:

Sander van Harmelen

unread,
Jul 22, 2014, 3:52:36 AM7/22/14
to Sander van Harmelen, golan...@googlegroups.com, brad...@golang.org, minu...@gmail.com
Hi Josh…

After googling (once again ;) I found your talk of last GopherCon: http://confreaks.com/videos/3423-gophercon2014-embedded-go-and-bluetooth-low-energy-hardware

Great talk which seems have a whole bunch of pointers to get me started… So thanks and of course I’m always open to even more pointers if you have any!

Cheers,

Sander


For more options, visit https://groups.google.com/d/optout.

Josh Bleecher Snyder

unread,
Jul 22, 2014, 4:14:51 PM7/22/14
to Sander van Harmelen, golan...@googlegroups.com
Glad it was helpful! I'd say that the best thing to do at this point
is experiment and ask questions if/when you get stuck.

-josh

Sander van Harmelen

unread,
Jul 22, 2014, 4:35:17 PM7/22/14
to Josh Bleecher Snyder, golan...@googlegroups.com
Will do... Thx!

Sander

Raffaele Sena

unread,
Jul 22, 2014, 9:48:56 PM7/22/14
to Sander van Harmelen, Josh Bleecher Snyder, golan...@googlegroups.com
Slightly related to this, I just created a new package (https://github.com/raff/goble) that aims to implement support for BLE for OSX.
It's basically a port of nodejs noble/bleno and my intention was to add it to gatt directly, but right now gatt is a little too much "linux only".

If we can figure out a way to make it more platform independent (maybe do it like noble/bleno and move the HCI stuff in a "linux" package) I'd be more than happy to contribute directly there. Otherwise once I have a few more things working I may try to do the "reverse" (make my code generate the same data that HCI generates and plug it in as a "darwin specific" shim, or something like that).

-- Raffaele


On Tue, Jul 22, 2014 at 1:34 PM, Sander van Harmelen <SvanHa...@schubergphilis.com> wrote:
Will do... Thx!

Sander

On 22 jul. 2014, at 22:14, "Josh Bleecher Snyder" <josh...@gmail.com> wrote:

Glad it was helpful! I'd say that the best thing to do at this point
is experiment and ask questions if/when you get stuck.

-josh


On Tue, Jul 22, 2014 at 12:52 AM, Sander van Harmelen
<SvanHa...@schubergphilis.com> wrote:
> Hi Josh...

>
> After googling (once again ;) I found your talk of last GopherCon:
> http://confreaks.com/videos/3423-gophercon2014-embedded-go-and-bluetooth-low-energy-hardware
>
> Great talk which seems have a whole bunch of pointers to get me started... So

Josh Bleecher Snyder

unread,
Jul 23, 2014, 2:24:29 PM7/23/14
to Raffaele Sena, Sander van Harmelen, golan...@googlegroups.com
> Slightly related to this, I just created a new package
> (https://github.com/raff/goble) that aims to implement support for BLE for
> OSX.
> It's basically a port of nodejs noble/bleno and my intention was to add it
> to gatt directly, but right now gatt is a little too much "linux only".

That's great! I started playing with the XPC stuff but got distracted
by my looming GopherCon talk. :)


> If we can figure out a way to make it more platform independent (maybe do it
> like noble/bleno and move the HCI stuff in a "linux" package) I'd be more
> than happy to contribute directly there

I'm very open to moving the HCI stuff into a separate package. And I
do think for reasons of (enforced) interface compatibility that it'd
be better to have a single home for this stuff. I'd welcome pull
requests.

-josh
Reply all
Reply to author
Forward
0 new messages