align-toparrow-leftarrow-rightbackbellblockcalendarcamerachatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-crosscrosseditfacebookglobegoogleimagesinstagramlocation-pinmagnifying-glassmailmoremuplabelShape 3 + Rectangle 1outlookpersonplusImported LayersImported LayersImported Layersshieldstartwitteryahoo

Re: [ny-scala] Scalathon this Saturday -- you should come

From: Dave W.
Sent on: Wednesday, July 25, 2012 12:29 PM
Not only was it valid Scala, he also managed to both show off the Meetup API _and_ do it using the Dispatch library that Nate himself wrote (and which is pretty awesome).  Nicely done Mr. Hamblen.

On Wed, Jul 25, 2012 at 11:53 AM, Bill Venners <[address removed]> wrote:
scala> println("Yes, that was pretty cool how you answered the question in valid Scala!")
Yes, that was pretty cool how you answered the question in valid Scala!


On Wed, Jul 25, 2012 at 10:46 AM, Josh Cough <[address removed]> wrote:
Impressive. 


On Wed, Jul 25, 2012 at 11:42 AM, Nathan Hamblen <[address removed]> wrote:
On 07/25/[masked]:51 AM, Talmai Oliveira wrote:
Do we have a list of NY'ers who are going?

We can query the Meetup API to see who's going from ny-scala.

scala> import dispatch._
import dispatch._

scala> val key = Map("key" -> aRealAPIKey)
key: scala.collection.immutable.Map[java.lang.String,java.lang.String] = Map(key -> 2a[masked]e612c631a854a71427)

scala> val rsvps = url("https://api.meetup.com/2/rsvps.xml")
rsvps: com.ning.http.client.RequestBuilder = com.ning.http.client.RequestBuilder@3ff70d3c

scala> val elems = Http(rsvps <<? key + ("event_id" -> "[masked]") OK as.xml.Elem)
elems: dispatch.Promise[scala.xml.Elem] = Promise(-incomplete-)

scala> val ids = for (e <- elems) yield for (id <- e \\ "member_id") yield id.text
ids: dispatch.Promise[scala.collection.immutable.Seq[String]] = Promise(List[masked],[masked],[masked],[masked],[masked],[masked], [masked],[masked],[masked],[masked],[masked],[masked],[masked], [masked],[masked],[masked],[masked],[masked],[masked],[masked], [masked],[masked],[masked],[masked],[masked],[masked],[masked], [masked],[masked],[masked],[masked],[masked],[masked], [masked],[masked],[masked],[masked],[masked],[masked], [masked],[masked],[masked],[masked],[masked],[masked], [masked],[masked],[masked],[masked],[masked],[masked], [masked],[masked],[masked],[masked],[masked],[masked], [masked],[masked],[masked],[masked],[masked],[masked], [masked],[masked],[masked],[masked],[masked],[masked], [masked],[masked],[masked],[masked],[masked], 534604...
scala> val profiles = url("https://api.meetup.com/2/profiles.xml")
profiles: com.ning.http.client.RequestBuilder = com.ning.http.client.RequestBuilder@6bbe5a32

scala> val profs = Http(profiles <<? key + ("group_urlname" -> "ny-scala") + ("member_id" -> ids().mkString(",")) OK as.xml.Elem)
profs: dispatch.Promise[scala.xml.Elem] = Promise(-incomplete-)

scala> val names = for (p <- profs) yield for (i <- p \\ "item"; n <- i \ "name") yield n.text
names: dispatch.Promise[scala.collection.immutable.Seq[String]] = Promise(List(Nik Kolev, Richard Costine, Nilanjan, Geoffrey Knauth, Brendan W. McAdams, jherber, Artie Pesh-Imam, Jon Shea, Josh Suereth, Brian Clapper, Prashanth Acharya, Richard Wall, Rose Toomey, Bill Venners, Mahmood Ali, Aemon Cannon, Joe Stein, Jon Pretty, Brian Enochson, Hywel Evans, Eric Pederson, Chris League, Paul Fryzel, Derek Brown, Seth Tisue, Alex Gleyzer, Steve Levine, Stan Rosenberg, Leon Tubert, John Tan, Mike Selender, Jorge Ortiz, Owein, Ievgen Platonov, Jim Powers, Nikita Ivanov, Oleksii Iepishkin, Nermin Serifovic, Doug Tangren, Rao Venu, Nathan Hamblen, Eugene Yokota))

scala> for (n <- names().sorted) println(n)
Aemon Cannon
Alex Gleyzer
Artie Pesh-Imam
Bill Venners
Brendan W. McAdams
Brian Clapper
Brian Enochson
Chris League
Derek Brown
Doug Tangren
Eric Pederson
Eugene Yokota
Geoffrey Knauth
Hywel Evans
Ievgen Platonov
Jim Powers
Joe Stein
John Tan
Jon Pretty
Jon Shea
Jorge Ortiz
Josh Suereth
Leon Tubert
Mahmood Ali
Mike Selender
Nathan Hamblen
Nermin Serifovic
Nik Kolev
Nikita Ivanov
Nilanjan
Oleksii Iepishkin
Owein
Paul Fryzel
Prashanth Acharya
Rao Venu
Richard Costine
Richard Wall
Rose Toomey
Seth Tisue
Stan Rosenberg
Steve Levine
jherber






--

Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by Nathan Hamblen ([address removed]) from ny-scala.

To learn more about Nathan Hamblen, visit his/her member profile





--
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by Josh Cough ([address removed]) from ny-scala.
To learn more about Josh Cough, visit his/her member profile



--
Bill Venners
Artima, Inc.
http://www.artima.com





--
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by Bill Venners ([address removed]) from ny-scala.
To learn more about Bill Venners, visit his/her member profile
Set my mailing list to email me As they are sent | In one daily email | Don't send me mailing list messages

Meetup, PO Box 4668 #37895 New York, New York[masked] | [address removed]

Our Sponsors

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy