[zeromq-dev] An interesting use-case for EdgeNet : Asynchronous IRC?

Sean Robertson sprobertson at gmail.com
Wed Jan 8 11:58:44 CET 2014


Depends how near - I would like to eventually, but right now it barely
works outside of carefully calibrated laboratory conditions.

On Wed, Jan 8, 2014 at 1:29 AM, crocket <crockabiscuit at gmail.com> wrote:
> Do you plan to submit Vector to play store in the near future?
>
> On Jan 8, 2014 10:00 AM, "Sean Robertson" <sprobertson at gmail.com> wrote:
>>
>> Ah wow that's exactly what this needed. I'll try to spend some time
>> this weekend porting it and moving things over to the edgenet org.
>>
>> On Tue, Jan 7, 2014 at 2:45 AM, Pieter Hintjens <ph at imatix.com> wrote:
>> > Sorry, forgot to provide the link to Jyre, it's here:
>> > https://github.com/zeromq/jyre
>> >
>> > Written by the one and only miniway.
>> >
>> > On Tue, Jan 7, 2014 at 11:42 AM, Pieter Hintjens <ph at imatix.com> wrote:
>> >> Wow, awesome!!
>> >>
>> >> There is Jyre, a Java implementation of Zyre 1.0 (since then, I
>> >> removed FileMQ from Zyre and simplified the API).
>> >>
>> >> If you use Jyre (and perhaps update it), it'll interoperate with Zyre
>> >> and we can then look at making protocols that interoperate. I'd been
>> >> aiming to make the core stack in C, but you're already so far along in
>> >> Java...
>> >>
>> >> I've added you to the admin team for the github/edgenet organization;
>> >> if you want you can move (rename) vector to that organization.
>> >>
>> >> At this stage, I think if we can get proofs of concept working we're
>> >> doing really well.
>> >>
>> >> On Tue, Jan 7, 2014 at 8:34 AM, Sean Robertson <sprobertson at gmail.com>
>> >> wrote:
>> >>> Here's my current attempt at an edgenet messaging app -
>> >>> https://github.com/spro/Vector
>> >>>
>> >>> All that works right now is shouting into a shared room, but it's
>> >>> using the edgenet design of UDP presence beacons & individual dealer
>> >>> -> router connections to achieve that. I wasn't sure how to go about
>> >>> compiling zyre into the project but it attempts to use the proper ZRE
>> >>> beacon format. (The messaging protocol doesn't comply at all (yet))
>> >>>
>> >>> On Mon, Jan 6, 2014 at 4:03 PM, Pieter Hintjens <ph at imatix.com> wrote:
>> >>>> Interesting. There are so many avenues for fun stuff. Right now the
>> >>>> challenge is just to get the basic libzmq+czmq+zyre+drops stack
>> >>>> building on Android.
>> >>>>
>> >>>> On Mon, Jan 6, 2014 at 10:12 PM, Lindley French <lindleyf at gmail.com>
>> >>>> wrote:
>> >>>>> Now that I've read Chapter 8 completely, I'm quite certain I could
>> >>>>> help get
>> >>>>> zyre working on Android once I get hold of a phone. For one thing,
>> >>>>> I've
>> >>>>> already created a very similar system for Android, so many of the
>> >>>>> same
>> >>>>> lessons should apply. It was a bit bizarre how similar my solution
>> >>>>> to peer
>> >>>>> messaging was to Zyre, actually----I found myself nodding many times
>> >>>>> throughout that chapter. UDP beacons for discovery, pooled TCP
>> >>>>> connections
>> >>>>> for peer messaging, the need for a HELLO message of sorts (although
>> >>>>> in my
>> >>>>> case, it went out with every new TCP connection, so port reuse
>> >>>>> wasn't an
>> >>>>> issue). I also sympathize entirely with the problems of setting up
>> >>>>> 30-phone
>> >>>>> simulations, at least until our python codebase matured to automate
>> >>>>> the
>> >>>>> process and we created a tool to issue ADB commands to all the
>> >>>>> phones in
>> >>>>> parallel.
>> >>>>>
>> >>>>> This tells me that we're both probably on the right track.
>> >>>>>
>> >>>>> The main differences were:
>> >>>>> 1) Mine was written in almost pure Java (one or two Android-specific
>> >>>>> things
>> >>>>> made it in).
>> >>>>> 2) I had to manage the TCP connections myself since I didn't use
>> >>>>> 0MQ. Also,
>> >>>>> messages flowed both ways across a single connection between peers
>> >>>>> rather
>> >>>>> than using multiple connections as in the Harmony pattern.
>> >>>>> 3) I put a lot of effort into giving senders a confirmation that
>> >>>>> their
>> >>>>> message had made it, or letting them know I wasn't able to confirm
>> >>>>> it, using
>> >>>>> a java Future and messaging ACKs.
>> >>>>> 4) I had a capability to supplement the beacon broadcasts with
>> >>>>> additional
>> >>>>> beacon unicasts to specified addresses. This turned out to be all
>> >>>>> that was
>> >>>>> necessary to create geographically distant "peers" under controlled
>> >>>>> circumstances. (I didn't address discovery of what addresses to
>> >>>>> unicast to.)
>> >>>>> 5) The system was created from the start to be edge-oriented rather
>> >>>>> than
>> >>>>> node-oriented. That is, a peer was defined both by the destination
>> >>>>> and the
>> >>>>> interface used to reach it.
>> >>>>> 6) I never attempted group messaging, although I was aware it was a
>> >>>>> desirable goal.
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> On Wed, Jan 1, 2014 at 4:37 PM, Pieter Hintjens <ph at imatix.com>
>> >>>>> wrote:
>> >>>>>>
>> >>>>>> Lindley, would you be able to help get Zyre et all working on
>> >>>>>> Android?
>> >>>>>>
>> >>>>>> On Wed, Jan 1, 2014 at 8:44 PM, Lindley French <lindleyf at gmail.com>
>> >>>>>> wrote:
>> >>>>>> > Oh---and some network functionality shuts down on Android when
>> >>>>>> > the
>> >>>>>> > device is
>> >>>>>> > inactive if you don't take the appropriate lock. This is a
>> >>>>>> > critical
>> >>>>>> > consideration when designing edge networking services.
>> >>>>>> >
>> >>>>>> > On Jan 1, 2014, at 1:17 PM, Lindley French <lindleyf at gmail.com>
>> >>>>>> > wrote:
>> >>>>>> >
>> >>>>>> > On Android at least, if you have any trouble with UDP broadcast
>> >>>>>> > or
>> >>>>>> > multicast, you should trying using the IPv6 all-hosts address.
>> >>>>>> > Android's
>> >>>>>> > built-in filtering doesn't seem to affect IPv6 the same way as
>> >>>>>> > IPv4.
>> >>>>>> >
>> >>>>>> >
>> >>>>>> > On Wed, Jan 1, 2014 at 12:10 AM, Sean Robertson
>> >>>>>> > <sprobertson at gmail.com>
>> >>>>>> > wrote:
>> >>>>>> >>
>> >>>>>> >> I have something like this in the works, in the form of an iOS
>> >>>>>> >> application
>> >>>>>> >> that I hope to soon port to Android. It doesn't properly use
>> >>>>>> >> Zyre but
>> >>>>>> >> rather
>> >>>>>> >> my own haphazard  reimplementation, due to some silliness with
>> >>>>>> >> Apple's
>> >>>>>> >> UDP
>> >>>>>> >> broadcast (https://github.com/zeromq/czmq/issues/297). The UI
>> >>>>>> >> works
>> >>>>>> >> decently
>> >>>>>> >> though. I'll send the code to this list later this week.
>> >>>>>> >>
>> >>>>>> >> On Dec 31, 2013 6:38 PM, "Lindley French" <lindleyf at gmail.com>
>> >>>>>> >> wrote:
>> >>>>>> >>>
>> >>>>>> >>> Asych twitter is a good idea and will work well. I've seen it
>> >>>>>> >>> done.
>> >>>>>> >>> Another fun application is async push to talk.
>> >>>>>> >>>
>> >>>>>> >>> On Dec 31, 2013, at 9:32 PM, crocket <crockabiscuit at gmail.com>
>> >>>>>> >>> wrote:
>> >>>>>> >>>
>> >>>>>> >>> May asynchronous twitter be more appropriate for my idea?
>> >>>>>> >>> Asynchronous twitter, asynchronous IRC, whatever.
>> >>>>>> >>>
>> >>>>>> >>>
>> >>>>>> >>> On Wed, Jan 1, 2014 at 11:19 AM, crocket
>> >>>>>> >>> <crockabiscuit at gmail.com>
>> >>>>>> >>> wrote:
>> >>>>>> >>>>
>> >>>>>> >>>> With asynchronous IRC software, you can choose your nickname
>> >>>>>> >>>> and a
>> >>>>>> >>>> topic.
>> >>>>>> >>>> You send messages that belong to a topic.
>> >>>>>> >>>> People who subscribed to that topic receive your message.
>> >>>>>> >>>> Or they might choose to receive messages from every topic.
>> >>>>>> >>>>
>> >>>>>> >>>> This becomes very interesting when population density goes up
>> >>>>>> >>>> very
>> >>>>>> >>>> high
>> >>>>>> >>>> in a small area.
>> >>>>>> >>>> Imagine that you went to comiket. Wikipedia says "Comiket
>> >>>>>> >>>> (コミケット
>> >>>>>> >>>> Komiketto?), otherwise known as the Comic Market (コミックマーケット
>> >>>>>> >>>> Komikku
>> >>>>>> >>>> Māketto?), is the world's largest dōjinshi fair, held twice a
>> >>>>>> >>>> year in
>> >>>>>> >>>> Tokyo,
>> >>>>>> >>>> Japan."
>> >>>>>> >>>>
>> >>>>>> >>>> ~590,000 people attended comiket last summer. It basically
>> >>>>>> >>>> looks like
>> >>>>>> >>>> http://en.wikipedia.org/wiki/File:Comiket77.jpg
>> >>>>>> >>>>
>> >>>>>> >>>> With hundreds of thousands of people in a small area,
>> >>>>>> >>>> asynchronous
>> >>>>>> >>>> IRC
>> >>>>>> >>>> becomes fun.
>> >>>>>> >>>> Not as fun as the near-synchronous one we have now, but still.
>> >>>>>> >>>>
>> >>>>>> >>>> I think asynchronous IRC may entice people to adopt EdgeNet
>> >>>>>> >>>> starting
>> >>>>>> >>>> from big meetups.
>> >>>>>> >>>
>> >>>>>> >>>
>> >>>>>> >>> _______________________________________________
>> >>>>>> >>> zeromq-dev mailing list
>> >>>>>> >>> zeromq-dev at lists.zeromq.org
>> >>>>>> >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >>>>>> >>>
>> >>>>>> >>>
>> >>>>>> >>> _______________________________________________
>> >>>>>> >>> zeromq-dev mailing list
>> >>>>>> >>> zeromq-dev at lists.zeromq.org
>> >>>>>> >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >>>>>> >>>
>> >>>>>> >>
>> >>>>>> >> _______________________________________________
>> >>>>>> >> zeromq-dev mailing list
>> >>>>>> >> zeromq-dev at lists.zeromq.org
>> >>>>>> >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >>>>>> >>
>> >>>>>> >
>> >>>>>> >
>> >>>>>> > _______________________________________________
>> >>>>>> > zeromq-dev mailing list
>> >>>>>> > zeromq-dev at lists.zeromq.org
>> >>>>>> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >>>>>> >
>> >>>>>> _______________________________________________
>> >>>>>> zeromq-dev mailing list
>> >>>>>> zeromq-dev at lists.zeromq.org
>> >>>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> _______________________________________________
>> >>>>> zeromq-dev mailing list
>> >>>>> zeromq-dev at lists.zeromq.org
>> >>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >>>>>
>> >>>> _______________________________________________
>> >>>> zeromq-dev mailing list
>> >>>> zeromq-dev at lists.zeromq.org
>> >>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> >>> _______________________________________________
>> >>> zeromq-dev mailing list
>> >>> zeromq-dev at lists.zeromq.org
>> >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> > _______________________________________________
>> > zeromq-dev mailing list
>> > zeromq-dev at lists.zeromq.org
>> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>



More information about the zeromq-dev mailing list