Search the web
Sign In
New User? Sign Up
wingding · Wing Ding Design Pattern
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Want to share photos of your group with the world? Add a group photo to Flickr.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Messages 1283 - 1312 of 1312   Newest  |  < Newer  |  Older >  |  Oldest
Messages: Show Message Summaries   (Group by Topic) Sort by Date v  
#1312 From: Joe Bowbeer <joe.bowbeer@...>
Date: Fri Nov 27, 2009 9:42 pm
Subject: Re: Anyone hiring for Scala in Seattle
joebowbeer
Offline Offline
Send Email Send Email
 
Bob,

I'm just, finally, looking at the language. I've run into Martin O. a few times over the years and you guys are reading a book about his language, so I figured I should at least keep up.

I've also been interested in some of the recent functional programming resurgence, functional data structures (Okasaki), and the newer, richer multi-paradigmatic languages, such as Oz.

So far, I think Scala is clever, intellectually fun, and very (too?) expressive. I think Scala resembles Java's replacement, though I have doubts that Scala can be the "working man's" language that Java is now. It's much easier to skewer code in Scala than in Java.

Joe

On Fri, Nov 27, 2009 at 12:44 PM, Robert Kuhar wrote:
Joe,

Are you doing Scala for pay, or are just working with Scala to become familiar. I'm asking because I wonder if anywhere in Seattle is hiring for Scala yet.

Bob

--- On Fri, 11/27/09, Joe Bowbeer wrote:

From: Joe Bowbeer
Subject: Re: [wingding] Re: scala collections redesigned in 2.8
To: wingding@yahoogroups.com
Date: Friday, November 27, 2009, 11:45 AM

I checked in another simple example:

MayorFinder/src/mayorfinder/Main.scala

This one doesn't use Scala collections -- despite the subject of this thread.

This example (findMayor) uses reduceLeft, whereas the first example could be refactored as a foldLeft (replacing the foreach).

Note: It seemed easier to code finfMayor using a "null" return value instead of using Scala's cool Option Some/None thing. If there's a cooler way to code this using Option, please let me know. I'm still honing my Scala style:)

--Joe

On Mon, Nov 23, 2009 at 9:31 PM, Joe Bowbeer wrote:
Ah yes. I just checked it in.

SpanningSubstring/src/spanningsubstring/Main.scala

--Joe

On Mon, Nov 23, 2009 at 8:45 PM, Robert Kuhar wrote:


We have an svn repository at google-code, although we haven't exactly been diligent about getting the code from this book in there: https://wing-ding.googlecode.com/svn/trunk

The project home shows you as a committer, so I think you can just send it.


--- On Mon, 11/23/09, Joe Bowbeer wrote:

From: Joe Bowbeer

Subject: [wingding] Re: scala collections redesigned in 2.8
To: "WingDing" <wingding@yahoogroups.com>
Date: Monday, November 23, 2009, 7:13 PM

Are you wingdingers posting code to a wiki or somewhere?

Here's the result of some Scala 2.8 collections hacking applied to a tricky little problem that I encountered recently.

The problem is: given a set of characters and an input string, find the shortest substring of the input that contains all the characters in the set.

If you run the following snippet with set "ABC" and input "ZCCYYBZXAXCWBWC" the output will be:

Shortest span = [AXCWB]

--- snip ---

import scala.collection._

object Main {

type E = Char

def span(goal: Set[E], pat: Iterable[E]) :(Int,Int) = {
var pos = 0
var len = 0
val map = mutable.LinkedHashMap[E,Int]()
pat.zipWithIndex.filter(p => goal(p._1)).foreach { p =>
// append next E->index to linked map
(map -= p._1) += p
// if we have a shorter span, record it
val newlen = map.last._2 - map.head._2 + 1
if (map.size == goal.size && (len == 0 || newlen < len)) {
pos = map.head._2;
len = newlen
}
}
return (pos, len)
}

def main(args: Array[String]) :Unit = {
val goal = args(0)
val pat = args(1)
val (pos, len) = span(goal.toSet, pat)
println("goal = " + goal)
println("pattern = " + pat)
println("Shortest span = [" + pat.substring(pos, pos + len) + "]")
}
}

--- snip ---

On Mon, Nov 23, 2009 at 3:47 AM, Joe Bowbeer wrote:
I was doing a little hacking in Scala 2.8 and I couldn't find any doc on the collections. The following paper (collections.pdf) was very helpful:

http://www.scala-lang.org/sid/3

"Scala 2.8 contains a major redesign of the collection libraries. This paper describes their API and architecture."

--Joe







#1311 From: Robert Kuhar <robertkuhar@...>
Date: Fri Nov 27, 2009 8:44 pm
Subject: Anyone hiring for Scala in Seattle
robertkuhar
Offline Offline
Send Email Send Email
 
Joe,

Are you doing Scala for pay, or are just working with Scala to become familiar.  I'm asking because I wonder if anywhere in Seattle is hiring for Scala yet.

Bob

--- On Fri, 11/27/09, Joe Bowbeer <joe.bowbeer@...> wrote:

From: Joe Bowbeer <joe.bowbeer@...>
Subject: Re: [wingding] Re: scala collections redesigned in 2.8
To: wingding@yahoogroups.com
Date: Friday, November 27, 2009, 11:45 AM



I checked in another simple example:

MayorFinder/src/mayorfinder/Main.scala

This one doesn't use Scala collections -- despite the subject of this thread.

This example (findMayor) uses reduceLeft, whereas the first example could be refactored as a foldLeft (replacing the foreach).

Note: It seemed easier to code finfMayor using a "null" return value instead of using Scala's cool Option Some/None thing.  If there's a cooler way to code this using Option, please let me know.  I'm still honing my Scala style:)

--Joe

On Mon, Nov 23, 2009 at 9:31 PM, Joe Bowbeer wrote:
Ah yes.  I just checked it in.

SpanningSubstring/src/spanningsubstring/Main.scala

--Joe

On Mon, Nov 23, 2009 at 8:45 PM, Robert Kuhar wrote:


We have an svn repository at google-code, although we haven't exactly been diligent about getting the code from this book in there:  https://wing-ding.googlecode.com/svn/trunk

The project home shows you as a committer, so I think you can just send it.


--- On Mon, 11/23/09, Joe Bowbeer wrote:

From: Joe Bowbeer

Subject: [wingding] Re: scala collections redesigned in 2.8
To: "WingDing" <wingding@yahoogroups.com>
Date: Monday, November 23, 2009, 7:13 PM

Are you wingdingers posting code to a wiki or somewhere?

Here's the result of some Scala 2.8 collections hacking applied to a tricky little problem that I encountered recently.

The problem is: given a set of characters and an input string, find the shortest substring of the input that contains all the characters in the set.

If you run the following snippet with set "ABC" and input "ZCCYYBZXAXCWBWC" the output will be:

Shortest span = [AXCWB]

--- snip ---

import scala.collection._

object Main {

  type E = Char

  def span(goal: Set[E], pat: Iterable[E]) :(Int,Int) = {
    var pos = 0
    var len = 0
    val map = mutable.LinkedHashMap[E,Int]()
    pat.zipWithIndex.filter(p => goal(p._1)).foreach { p =>
      // append next E->index to linked map
      (map -= p._1) += p
      // if we have a shorter span, record it
      val newlen = map.last._2 - map.head._2 + 1
      if (map.size == goal.size && (len == 0 || newlen < len)) {
        pos = map.head._2;
        len = newlen
      }
    }
    return (pos, len)
  }

  def main(args: Array[String]) :Unit = {
    val goal = args(0)
    val pat = args(1)
    val (pos, len) = span(goal.toSet, pat)
    println("goal = " + goal)
    println("pattern = " + pat)
    println("Shortest span = [" + pat.substring(pos, pos + len) + "]")
  }
}

--- snip ---

On Mon, Nov 23, 2009 at 3:47 AM, Joe Bowbeer wrote:
I was doing a little hacking in Scala 2.8 and I couldn't find any doc on the collections.  The following paper (collections.pdf) was very helpful:

http://www.scala-lang.org/sid/3

"Scala 2.8 contains a major redesign of the collection libraries. This paper describes their API and architecture."

--Joe










#1310 From: Joe Bowbeer <joe.bowbeer@...>
Date: Fri Nov 27, 2009 7:45 pm
Subject: Re: Re: scala collections redesigned in 2.8
joebowbeer
Offline Offline
Send Email Send Email
 
I checked in another simple example:

MayorFinder/src/mayorfinder/Main.scala

This one doesn't use Scala collections -- despite the subject of this thread.

This example (findMayor) uses reduceLeft, whereas the first example could be refactored as a foldLeft (replacing the foreach).

Note: It seemed easier to code finfMayor using a "null" return value instead of using Scala's cool Option Some/None thing. If there's a cooler way to code this using Option, please let me know. I'm still honing my Scala style:)

--Joe

On Mon, Nov 23, 2009 at 9:31 PM, Joe Bowbeer wrote:
Ah yes. I just checked it in.

SpanningSubstring/src/spanningsubstring/Main.scala

--Joe

On Mon, Nov 23, 2009 at 8:45 PM, Robert Kuhar wrote:


We have an svn repository at google-code, although we haven't exactly been diligent about getting the code from this book in there: https://wing-ding.googlecode.com/svn/trunk

The project home shows you as a committer, so I think you can just send it.


--- On Mon, 11/23/09, Joe Bowbeer wrote:

From: Joe Bowbeer

Subject: [wingding] Re: scala collections redesigned in 2.8
To: "WingDing" <wingding@yahoogroups.com>
Date: Monday, November 23, 2009, 7:13 PM

Are you wingdingers posting code to a wiki or somewhere?

Here's the result of some Scala 2.8 collections hacking applied to a tricky little problem that I encountered recently.

The problem is: given a set of characters and an input string, find the shortest substring of the input that contains all the characters in the set.

If you run the following snippet with set "ABC" and input "ZCCYYBZXAXCWBWC" the output will be:

Shortest span = [AXCWB]

--- snip ---

import scala.collection._

object Main {

type E = Char

def span(goal: Set[E], pat: Iterable[E]) :(Int,Int) = {
var pos = 0
var len = 0
val map = mutable.LinkedHashMap[E,Int]()
pat.zipWithIndex.filter(p => goal(p._1)).foreach { p =>
// append next E->index to linked map
(map -= p._1) += p
// if we have a shorter span, record it
val newlen = map.last._2 - map.head._2 + 1
if (map.size == goal.size && (len == 0 || newlen < len)) {
pos = map.head._2;
len = newlen
}
}
return (pos, len)
}

def main(args: Array[String]) :Unit = {
val goal = args(0)
val pat = args(1)
val (pos, len) = span(goal.toSet, pat)
println("goal = " + goal)
println("pattern = " + pat)
println("Shortest span = [" + pat.substring(pos, pos + len) + "]")
}
}

--- snip ---

On Mon, Nov 23, 2009 at 3:47 AM, Joe Bowbeer wrote:
I was doing a little hacking in Scala 2.8 and I couldn't find any doc on the collections. The following paper (collections.pdf) was very helpful:

http://www.scala-lang.org/sid/3

"Scala 2.8 contains a major redesign of the collection libraries. This paper describes their API and architecture."

--Joe







#1309 From: Joe Bowbeer <joe.bowbeer@...>
Date: Thu Nov 26, 2009 12:49 am
Subject: Re: Re: scala collections redesigned in 2.8
joebowbeer
Offline Offline
Send Email Send Email
 
Interesting. Looks like Lisp.

What "order" is your algorithm? Mine is O(n log m), where n is length of input and m is size of set.

The algorithm does a couple O(log m) HashMap operations per input character.

--Joe

On Wed, Nov 25, 2009 at 4:07 PM, Stan Dyck wrote:
Because I couldn't help myself here is a clojure implementation of Joe's problem. I suspect the combination-seq function
could be made lazy which would presumably improve the efficiency but I haven't figured that out yet.

(ns bowbeer
(:use [clojure.set :only [intersection]]))

;;The problem is: given a set of characters and an input string, find the shortest substring of the input that contains
;;all the characters in the set.
;;If you run the following snippet with set "ABC" and input "ZCCYYBZXAXCWBWC" the output will be:
;;Shortest span = [AXCWB]

(def test-string "ZCCYYBZXAXCWBWC")
(def test-substr "ABC")

(defn combination-seq [str substr]
(loop [result '()
n (count substr)]
(if (> n (count str))
result
(recur (concat result (partition n 1 str)) (inc n)))))

(defn is-subset?
"Tests to see if set1 is contained within the collection coll"
[set1 coll]
(= set1 (intersection set1 (set coll))))

(defn shortest-span [coll substr]
(let [comb (combination-seq coll substr)]
(first (filter #(is-subset? (set substr) %) comb))))

;;A call to to the test should return AXCWB
(shortest-span test-string test-substr)

Joe Bowbeer wrote:
>
>
> ... just for the record, these lines are unnecessary:
>
> // trim map and continue if we've gone far enough
> if (len != 0 && newlen >= len) {
> map take(1)
> }
> --Joe
>
>
> On Mon, Nov 23, 2009 at 7:13 PM, Joe Bowbeer wrote:
>
> Are you wingdingers posting code to a wiki or somewhere?
>
>
> Here's the result of some Scala 2.8 collections hacking applied to a
> tricky little problem that I encountered recently.
>
> The problem is: given a set of characters and an input string, find
> the shortest substring of the input that contains all the characters
> in the set.
>
> If you run the following snippet with set "ABC" and input
> "ZCCYYBZXAXCWBWC" the output will be:
>
> Shortest span = [AXCWB]
>
> --- snip ---
>
> import scala.collection._
>
> object Main {
>
> type E = Char
>
> def span(goal: Set[E], pat: Iterable[E]) :(Int,Int) = {
> var pos = 0
> var len = 0
> val map = mutable.LinkedHashMap[E,Int]()
> pat.zipWithIndex.filter(p => goal(p._1)).foreach { p =>
> // append next E->index to linked map
> (map -= p._1) += p
> // if we have a shorter span, record it
> val newlen = map.last._2 - map.head._2 + 1
> if (map.size == goal.size && (len == 0 || newlen < len)) {
> pos = map.head._2;
> len = newlen
> }
> }
> return (pos, len)
> }
>
> def main(args: Array[String]) :Unit = {
> val goal = args(0)
> val pat = args(1)
> val (pos, len) = span(goal.toSet, pat)
> println("goal = " + goal)
> println("pattern = " + pat)
> println("Shortest span = [" + pat.substring(pos, pos + len) + "]")
> }
> }
>
> --- snip ---
>
>
> On Mon, Nov 23, 2009 at 3:47 AM, Joe Bowbeer wrote:
>
> I was doing a little hacking in Scala 2.8 and I couldn't find
> any doc on the collections. The following paper
> (collections.pdf) was very helpful:
>
> http://www.scala-lang.org/sid/3 <http://www.scala-lang.org/sid/3>
>
> "Scala 2.8 contains a major redesign of the collection
> libraries. This paper describes their API and architecture."
>
> --Joe
>
>


#1308 From: Stan Dyck <stan.dyck@...>
Date: Thu Nov 26, 2009 12:07 am
Subject: Re: Re: scala collections redesigned in 2.8
standyck
Offline Offline
Send Email Send Email
 
Because I couldn't help myself here is a clojure implementation of Joe's
problem. I suspect the combination-seq function
could be made lazy which would presumably improve the efficiency but I haven't
figured that out yet.

(ns bowbeer
    (:use [clojure.set :only [intersection]]))

;;The problem is: given a set of characters and an input string, find the
shortest substring of the input that contains
;;all the characters in the set.
;;If you run the following snippet with set "ABC" and input "ZCCYYBZXAXCWBWC"
the output will be:
;;Shortest span = [AXCWB]

(def test-string "ZCCYYBZXAXCWBWC")
(def test-substr "ABC")

(defn combination-seq [str substr]
    (loop [result '()
           n (count substr)]
         (if (> n (count str))
           result
           (recur (concat result (partition n 1 str)) (inc n)))))

(defn is-subset?
    "Tests to see if set1 is contained within the collection coll"
    [set1 coll]
    (= set1 (intersection set1 (set coll))))

(defn shortest-span [coll substr]
    (let [comb (combination-seq coll substr)]
      (first (filter #(is-subset? (set substr) %) comb))))

;;A call to to the test should return AXCWB
(shortest-span test-string test-substr)

Joe Bowbeer wrote:
>
>
>  ... just for the record, these lines are unnecessary:
>
>       // trim map and continue if we've gone far enough
>       if (len != 0 && newlen >= len) {
>         map take(1)
>       }
> --Joe
>
>
> On Mon, Nov 23, 2009 at 7:13 PM, Joe Bowbeer <joe.bowbeer@...
> <mailto:joe.bowbeer@...>> wrote:
>
>     Are you wingdingers posting code to a wiki or somewhere?
>
>
>     Here's the result of some Scala 2.8 collections hacking applied to a
>     tricky little problem that I encountered recently.
>
>     The problem is: given a set of characters and an input string, find
>     the shortest substring of the input that contains all the characters
>     in the set.
>
>     If you run the following snippet with set "ABC" and input
>     "ZCCYYBZXAXCWBWC" the output will be:
>
>     Shortest span = [AXCWB]
>
>     --- snip ---
>
>     import scala.collection._
>
>     object Main {
>
>       type E = Char
>
>       def span(goal: Set[E], pat: Iterable[E]) :(Int,Int) = {
>         var pos = 0
>         var len = 0
>         val map = mutable.LinkedHashMap[E,Int]()
>         pat.zipWithIndex.filter(p => goal(p._1)).foreach { p =>
>           // append next E->index to linked map
>           (map -= p._1) += p
>           // if we have a shorter span, record it
>           val newlen = map.last._2 - map.head._2 + 1
>           if (map.size == goal.size && (len == 0 || newlen < len)) {
>             pos = map.head._2;
>             len = newlen
>           }
>           // trim map and continue if we've gone far enough
>           if (len != 0 && newlen >= len) {
>             map take(1)
>           }
>         }
>         return (pos, len)
>       }
>
>       def main(args: Array[String]) :Unit = {
>         val goal = args(0)
>         val pat = args(1)
>         val (pos, len) = span(goal.toSet, pat)
>         println("goal = " + goal)
>         println("pattern = " + pat)
>         println("Shortest span = [" + pat.substring(pos, pos + len) + "]")
>       }
>     }
>
>     --- snip ---
>
>
>     On Mon, Nov 23, 2009 at 3:47 AM, Joe Bowbeer <joe.bowbeer@...
>     <mailto:joe.bowbeer@...>> wrote:
>
>         I was doing a little hacking in Scala 2.8 and I couldn't find
>         any doc on the collections.  The following paper
>         (collections.pdf) was very helpful:
>
>         http://www.scala-lang.org/sid/3 <http://www.scala-lang.org/sid/3>
>
>         "Scala 2.8 contains a major redesign of the collection
>         libraries. This paper describes their API and architecture."
>
>         --Joe
>
>
>

#1307 From: Joe Bowbeer <joe.bowbeer@...>
Date: Wed Nov 25, 2009 11:50 pm
Subject: Re: FYI: A closure - not the anonymous function
joebowbeer
Offline Offline
Send Email Send Email
 
adhocfishly


#1306 From: Eric Jain <eric.jain@...>
Date: Wed Nov 25, 2009 10:02 pm
Subject: Re: FYI: A closure - not the anonymous function
ericjain
Offline Offline
Send Email Send Email
 
On Wed, Nov 25, 2009 at 13:44, P.Hill & E. Goodall
<goodhill@...> wrote:
> "I adhoculous create an anonymous function"?
>
> Hmm...  I want to say
>
> "I adhoculously create an anonymous function" :-)
>
> But I see your dictionary reference puts the modifier after the verb
> like we bespeaking some kind of Latin derived language.
>
> "I create ad doc an anonymous function"

"I create an anonymous function ad hoc"

Come to think of it: How can an anonymous function be anything but "ad hoc"?

#1305 From: "P.Hill & E. Goodall" <goodhill@...>
Date: Wed Nov 25, 2009 9:44 pm
Subject: Re: FYI: A closure - not the anonymous function
guate84105
Offline Offline
Send Email Send Email
 
Eric Jain wrote:
> On Wed, Nov 25, 2009 at 10:57, P.Hill & E. Goodall
> <goodhill@...> wrote:
>
>>p.s. when using adhoc as an adverb should it be "ad hocily" or "ad hocly"?
>
> adhoculous
>
> http://dictionary.reference.com/browse/ad+hoc

"I adhoculous create an anonymous function"?

Hmm...  I want to say

"I adhoculously create an anonymous function" :-)

But I see your dictionary reference puts the modifier after the verb
like we bespeaking some kind of Latin derived language.

"I create ad doc an anonymous function"

Well at least I learned something about English if not Scala this week.

-Paul

#1304 From: Eric Jain <eric.jain@...>
Date: Wed Nov 25, 2009 8:30 pm
Subject: Re: FYI: A closure - not the anonymous function
ericjain
Offline Offline
Send Email Send Email
 
On Wed, Nov 25, 2009 at 10:57, P.Hill & E. Goodall
<goodhill@...> wrote:
> p.s. when using adhoc as an adverb should it be "ad hocily" or "ad hocly"?

adhoculous

http://dictionary.reference.com/browse/ad+hoc

#1303 From: Joe Bowbeer <joe.bowbeer@...>
Date: Wed Nov 25, 2009 7:15 pm
Subject: Re: FYI: A closure - not the anonymous function
joebowbeer
Offline Offline
Send Email Send Email
 
Technically, the nerd is right.

The closure is the "lexically" bound environment that the function executes in.

My encounters with this, and my terminology, date from Scheme, which largely replaced Lisp's "dynamic" binding with lexical binding. In Lisp, you had plenty of anonymous functions ("lamdas") , but they executed in the environment of their invocation rather than the lexical environment of their creation. So free variables in the function would be bound to the invocation stack not to a closure.

Joe

On Wed, Nov 25, 2009 at 10:57 AM, P.Hill & E. Goodall wrote:
Last night at the meeting I mentioned that some obnoxious ComSci nerd
once corrected me (and everyone else on whatever list I was on at the
time) about the definition of closure.

The Wikipedia article captures the distinction:
"The term closure is often mistakenly used to mean [a] anonymous function."
vs.
"At runtime, when the outer function executes, a closure is formed,
consisting of the inner functions code and references to any variables
of the outer function required by the closure;"

For example, when you write the entire call to a "map" method/function
which includes a (typically anonymous) function the whole thing
eventually results in a closure. The closure is the result of act of
binding the provided function.

All of this involves the use those yet too hard for our yet untrained
little Java heads and those functionN(a1, ..., an ) things we saw last
night, so that instead of a predefined interface like our friend the
visitor pattern, we can adhoc create (using adhoc as an adverb) a type
safe 1, 2 or n (up to 23 for some reason) argument anonymous "visitor"
just with a few key strokes and probably the use "_" (particularly in
the 1 argument anonymous function).

You following all that? Neither am I.

-Paul

p.s. when using adhoc as an adverb should it be "ad hocily" or "ad hocly"?



#1302 From: "P.Hill & E. Goodall" <goodhill@...>
Date: Wed Nov 25, 2009 6:57 pm
Subject: FYI: A closure - not the anonymous function
guate84105
Offline Offline
Send Email Send Email
 
Last night at the meeting I mentioned that some obnoxious ComSci nerd
once corrected me (and everyone else on whatever list I was on at the
time) about the definition of closure.

The Wikipedia article captures the distinction:
"The term closure is often mistakenly used to mean [a] anonymous function."
vs.
"At runtime, when the outer function executes, a closure is formed,
consisting of the inner functions code and references to any variables
of the outer function required by the closure;"

For example, when you write the entire call to a "map" method/function
which includes a (typically anonymous) function the whole thing
eventually results in a closure.  The closure is the result of act of
binding the provided function.

All of this involves the use those yet too hard for our yet untrained
little Java heads and those functionN(a1, ..., an ) things we saw last
night, so that instead of a predefined interface like our friend the
visitor pattern, we can adhoc create (using adhoc as an adverb) a type
safe 1, 2 or n (up to 23 for some reason) argument anonymous "visitor"
just with a few key strokes and probably the use "_" (particularly in
the 1 argument anonymous function).

You following all that?  Neither am I.

-Paul

p.s. when using adhoc as an adverb should it be "ad hocily" or "ad hocly"?

#1301 From: Stan Dyck <stan.dyck@...>
Date: Wed Nov 25, 2009 4:50 pm
Subject: Re: WingDings Google Wave?
standyck
Offline Offline
Send Email Send Email
 
I have invites as well. My address is stan.dyck@.... What is your google
wave address, David? I didn't find you on
there.

StanD.

David Gallardo wrote:
>
>
> I thought the idea of using Google Wave for our Scala discussion
> sounded interesting.
>
> I've got a few extra invites if folks are interested.
>
> @D
>
> --
> Follow me on twitter: djgallardo
>

#1300 From: David Gallardo <david@...>
Date: Wed Nov 25, 2009 6:36 am
Subject: WingDings Google Wave?
bromo_man
Offline Offline
Send Email Send Email
 
I thought the idea of using Google Wave for our Scala discussion
sounded interesting.

I've got a few extra invites if folks are interested.

@D

--
Follow me on twitter: djgallardo

#1299 From: Joe Bowbeer <joe.bowbeer@...>
Date: Tue Nov 24, 2009 5:31 am
Subject: Re: Re: scala collections redesigned in 2.8
joebowbeer
Offline Offline
Send Email Send Email
 
Ah yes. I just checked it in.

SpanningSubstring/src/spanningsubstring/Main.scala

--Joe

On Mon, Nov 23, 2009 at 8:45 PM, Robert Kuhar wrote:


We have an svn repository at google-code, although we haven't exactly been diligent about getting the code from this book in there: https://wing-ding.googlecode.com/svn/trunk

The project home shows you as a committer, so I think you can just send it.


--- On Mon, 11/23/09, Joe Bowbeer wrote:

From: Joe Bowbeer
Subject: [wingding] Re: scala collections redesigned in 2.8
To: "WingDing" <wingding@yahoogroups.com>
Date: Monday, November 23, 2009, 7:13 PM

Are you wingdingers posting code to a wiki or somewhere?

Here's the result of some Scala 2.8 collections hacking applied to a tricky little problem that I encountered recently.

The problem is: given a set of characters and an input string, find the shortest substring of the input that contains all the characters in the set.

If you run the following snippet with set "ABC" and input "ZCCYYBZXAXCWBWC" the output will be:

Shortest span = [AXCWB]

--- snip ---

import scala.collection._

object Main {

type E = Char

def span(goal: Set[E], pat: Iterable[E]) :(Int,Int) = {
var pos = 0
var len = 0
val map = mutable.LinkedHashMap[E,Int]()
pat.zipWithIndex.filter(p => goal(p._1)).foreach { p =>
// append next E->index to linked map
(map -= p._1) += p
// if we have a shorter span, record it
val newlen = map.last._2 - map.head._2 + 1
if (map.size == goal.size && (len == 0 || newlen < len)) {
pos = map.head._2;
len = newlen
}
}
return (pos, len)
}

def main(args: Array[String]) :Unit = {
val goal = args(0)
val pat = args(1)
val (pos, len) = span(goal.toSet, pat)
println("goal = " + goal)
println("pattern = " + pat)
println("Shortest span = [" + pat.substring(pos, pos + len) + "]")
}
}

--- snip ---

On Mon, Nov 23, 2009 at 3:47 AM, Joe Bowbeer wrote:
I was doing a little hacking in Scala 2.8 and I couldn't find any doc on the collections. The following paper (collections.pdf) was very helpful:

http://www.scala-lang.org/sid/3

"Scala 2.8 contains a major redesign of the collection libraries. This paper describes their API and architecture."

--Joe






#1298 From: Robert Kuhar <robertkuhar@...>
Date: Tue Nov 24, 2009 4:45 am
Subject: Re: Re: scala collections redesigned in 2.8
robertkuhar
Offline Offline
Send Email Send Email
 
We have an svn repository at google-code, although we haven't exactly been diligent about getting the code from this book in there:  https://wing-ding.googlecode.com/svn/trunk

The project home shows you as a committer, so I think you can just send it.


--- On Mon, 11/23/09, Joe Bowbeer <joe.bowbeer@...> wrote:

From: Joe Bowbeer <joe.bowbeer@...>
Subject: [wingding] Re: scala collections redesigned in 2.8
To: "WingDing" <wingding@yahoogroups.com>
Date: Monday, November 23, 2009, 7:13 PM



Are you wingdingers posting code to a wiki or somewhere?

Here's the result of some Scala 2.8 collections hacking applied to a tricky little problem that I encountered recently.

The problem is: given a set of characters and an input string, find the shortest substring of the input that contains all the characters in the set.

If you run the following snippet with set "ABC" and input "ZCCYYBZXAXCWBWC" the output will be:

Shortest span = [AXCWB]

--- snip ---

import scala.collection._

object Main {

  type E = Char

  def span(goal: Set[E], pat: Iterable[E]) :(Int,Int) = {
    var pos = 0
    var len = 0
    val map = mutable.LinkedHashMap[E,Int]()
    pat.zipWithIndex.filter(p => goal(p._1)).foreach { p =>
      // append next E->index to linked map
      (map -= p._1) += p
      // if we have a shorter span, record it
      val newlen = map.last._2 - map.head._2 + 1
      if (map.size == goal.size && (len == 0 || newlen < len)) {
        pos = map.head._2;
        len = newlen
      }
      // trim map and continue if we've gone far enough
      if (len != 0 && newlen >= len) {
        map take(1)
      }
    }
    return (pos, len)
  }

  def main(args: Array[String]) :Unit = {
    val goal = args(0)
    val pat = args(1)
    val (pos, len) = span(goal.toSet, pat)
    println("goal = " + goal)
    println("pattern = " + pat)
    println("Shortest span = [" + pat.substring(pos, pos + len) + "]")
  }
}

--- snip ---

On Mon, Nov 23, 2009 at 3:47 AM, Joe Bowbeer <joe.bowbeer@...> wrote:
I was doing a little hacking in Scala 2.8 and I couldn't find any doc on the collections.  The following paper (collections.pdf) was very helpful:

http://www.scala-lang.org/sid/3

"Scala 2.8 contains a major redesign of the collection libraries. This paper describes their API and architecture."

--Joe





#1297 From: Joe Bowbeer <joe.bowbeer@...>
Date: Tue Nov 24, 2009 4:36 am
Subject: Re: scala collections redesigned in 2.8
joebowbeer
Offline Offline
Send Email Send Email
 
... just for the record, these lines are unnecessary:

// trim map and continue if we've gone far enough
if (len != 0 && newlen >= len) {
map take(1)
}
--Joe


On Mon, Nov 23, 2009 at 7:13 PM, Joe Bowbeer <joe.bowbeer@...> wrote:
Are you wingdingers posting code to a wiki or somewhere?


Here's the result of some Scala 2.8 collections hacking applied to a tricky little problem that I encountered recently.

The problem is: given a set of characters and an input string, find the shortest substring of the input that contains all the characters in the set.

If you run the following snippet with set "ABC" and input "ZCCYYBZXAXCWBWC" the output will be:

Shortest span = [AXCWB]

--- snip ---

import scala.collection._

object Main {

type E = Char

def span(goal: Set[E], pat: Iterable[E]) :(Int,Int) = {
var pos = 0
var len = 0
val map = mutable.LinkedHashMap[E,Int]()
pat.zipWithIndex.filter(p => goal(p._1)).foreach { p =>
// append next E->index to linked map
(map -= p._1) += p
// if we have a shorter span, record it
val newlen = map.last._2 - map.head._2 + 1
if (map.size == goal.size && (len == 0 || newlen < len)) {
pos = map.head._2;
len = newlen
}
// trim map and continue if we've gone far enough
if (len != 0 && newlen >= len) {
map take(1)
}
}
return (pos, len)
}

def main(args: Array[String]) :Unit = {
val goal = args(0)
val pat = args(1)
val (pos, len) = span(goal.toSet, pat)
println("goal = " + goal)
println("pattern = " + pat)
println("Shortest span = [" + pat.substring(pos, pos + len) + "]")
}
}

--- snip ---


On Mon, Nov 23, 2009 at 3:47 AM, Joe Bowbeer <joe.bowbeer@...> wrote:
I was doing a little hacking in Scala 2.8 and I couldn't find any doc on the collections. The following paper (collections.pdf) was very helpful:

http://www.scala-lang.org/sid/3

"Scala 2.8 contains a major redesign of the collection libraries. This paper describes their API and architecture."

--Joe



#1296 From: Joe Bowbeer <joe.bowbeer@...>
Date: Tue Nov 24, 2009 3:13 am
Subject: Re: scala collections redesigned in 2.8
joebowbeer
Offline Offline
Send Email Send Email
 
Are you wingdingers posting code to a wiki or somewhere?

Here's the result of some Scala 2.8 collections hacking applied to a tricky little problem that I encountered recently.

The problem is: given a set of characters and an input string, find the shortest substring of the input that contains all the characters in the set.

If you run the following snippet with set "ABC" and input "ZCCYYBZXAXCWBWC" the output will be:

Shortest span = [AXCWB]

--- snip ---

import scala.collection._

object Main {

type E = Char

def span(goal: Set[E], pat: Iterable[E]) :(Int,Int) = {
var pos = 0
var len = 0
val map = mutable.LinkedHashMap[E,Int]()
pat.zipWithIndex.filter(p => goal(p._1)).foreach { p =>
// append next E->index to linked map
(map -= p._1) += p
// if we have a shorter span, record it
val newlen = map.last._2 - map.head._2 + 1
if (map.size == goal.size && (len == 0 || newlen < len)) {
pos = map.head._2;
len = newlen
}
// trim map and continue if we've gone far enough
if (len != 0 && newlen >= len) {
map take(1)
}
}
return (pos, len)
}

def main(args: Array[String]) :Unit = {
val goal = args(0)
val pat = args(1)
val (pos, len) = span(goal.toSet, pat)
println("goal = " + goal)
println("pattern = " + pat)
println("Shortest span = [" + pat.substring(pos, pos + len) + "]")
}
}

--- snip ---

On Mon, Nov 23, 2009 at 3:47 AM, Joe Bowbeer <joe.bowbeer@...> wrote:
I was doing a little hacking in Scala 2.8 and I couldn't find any doc on the collections. The following paper (collections.pdf) was very helpful:

http://www.scala-lang.org/sid/3

"Scala 2.8 contains a major redesign of the collection libraries. This paper describes their API and architecture."

--Joe


#1295 From: Joe Bowbeer <joe.bowbeer@...>
Date: Mon Nov 23, 2009 11:47 am
Subject: scala collections redesigned in 2.8
joebowbeer
Offline Offline
Send Email Send Email
 
I was doing a little hacking in Scala 2.8 and I couldn't find any doc on the collections. The following paper (collections.pdf) was very helpful:

http://www.scala-lang.org/sid/3

"Scala 2.8 contains a major redesign of the collection libraries. This paper describes their API and architecture."

--Joe

#1294 From: Robert Kuhar <robertkuhar@...>
Date: Sat Nov 21, 2009 8:36 pm
Subject: Re: WingDing Study Group meeting November 24
robertkuhar
Offline Offline
Send Email Send Email
 
I hate when that happens.  Wingdings meets on November 24, not November 22, for
some tech talking about Scala.

Bob

--- On Sat, 11/21/09, Robert Kuhar <robertkuhar@...> wrote:

> From: Robert Kuhar <robertkuhar@...>
> Subject: [wingding] WingDing Study Group meeting November 24
> To: "SeaJUG" <seajug@yahoogroups.com>, wingding@yahoogroups.com
> Date: Saturday, November 21, 2009, 11:59 AM
> The WingDings Study Group (http://tech.groups.yahoo.com/group/wingding)
continues
> our coverage of "Programming Scala" by Dean Wampler and Alex
> Payne.  This book is available online at
http://programming-scala.labs.oreilly.com/index.html
>
> The next meeting is...
> Tuesday, November 22 7:00 to 9:00 PM
>
> Fulcrum Technologies
> 712 Aurora Ave. N.
> Seattle, WA. 98109
>
> We will Chapter 7:  The Scala Object System. 
> This chapter covers the structure and packaging of the Scala
> class hierarchy as well as method dispatch.  In Scala,
> linearization refers to the algorithm used to “flatten”
> a directed, acyclic graph for the purposes of resolving
> method lookup priorities, constructor invocation order,
> binding of super, etc.  Bob will lead the discussion,
> and is hopeful that he can make sense of it all before
> Tuesday.
>
> Bring some cash if you would like to order pizza for
> delivery at Fulcrum. All are welcome.
>
> Bob
>
>
>      
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>     wingding-fullfeatured@yahoogroups.com
>
>
>

#1293 From: Robert Kuhar <robertkuhar@...>
Date: Sat Nov 21, 2009 7:59 pm
Subject: WingDing Study Group meeting November 24
robertkuhar
Offline Offline
Send Email Send Email
 
The WingDings Study Group (http://tech.groups.yahoo.com/group/wingding)
continues our coverage of "Programming Scala" by Dean Wampler and Alex Payne. 
This book is available online at
http://programming-scala.labs.oreilly.com/index.html

The next meeting is...
Tuesday, November 22 7:00 to 9:00 PM

Fulcrum Technologies
712 Aurora Ave. N.
Seattle, WA. 98109

We will Chapter 7:  The Scala Object System.  This chapter covers the structure
and packaging of the Scala class hierarchy as well as method dispatch.  In
Scala, linearization refers to the algorithm used to “flatten” a directed,
acyclic graph for the purposes of resolving method lookup priorities,
constructor invocation order, binding of super, etc.  Bob will lead the
discussion, and is hopeful that he can make sense of it all before Tuesday.

Bring some cash if you would like to order pizza for delivery at Fulcrum. All
are welcome.

Bob

#1292 From: "dankirkd" <daniel.kirkdorffer@...>
Date: Thu Nov 19, 2009 4:24 am
Subject: Scala updates
dankirkd
Offline Offline
Send Email Send Email
 
#1291 From: Eric Jain <eric.jain@...>
Date: Mon Nov 9, 2009 7:15 pm
Subject: Re: WingDing Study Group meeting November 10
ericjain
Offline Offline
Send Email Send Email
 
On Sun, Nov 8, 2009 at 22:59, Kirkdorffer, Daniel
<daniel.kirkdorffer@...> wrote:
> I thought we decided just to do chapter 5.  Given how we barely got through
14 pages for chapter 4 last time, do we really expect to get through all of
chapter 5 (21 pages), and chapter 6 (34 more pages)?

Chapter 5 looks like it can be summarized in one or two "Java vs
Scala" slides... Unless we end up with another "let's see what else
can't be compiled" session :-)

#1290 From: Robert Kuhar <robertkuhar@...>
Date: Mon Nov 9, 2009 4:50 pm
Subject: RE: WingDing Study Group meeting November 10
robertkuhar
Offline Offline
Send Email Send Email
 
I don't think we expect to get through all of 6, but I thought the plan was to
get into 6, and pick up with the remainder at the Nov 24 meeting if necessary.

Chapter 5 doesn't really have much in terms of content and the examples kind-of
suck in that most of them don't compile; they seem to exist to show you what you
can't do regarding public, protected, private visibility.  Maybe Wampler is a
"glass half empty" kind-of guy?

I'm expecting the coverage of Chapter 5 to go rather quickly, things get more
interesting in Chapter 6.  Eric, what say you?  Did I just dream up this "lets
shoot for 2 chapters here" or didn't we talk about this?

Bob

--- On Sun, 11/8/09, Kirkdorffer, Daniel <daniel.kirkdorffer@...> wrote:

> From: Kirkdorffer, Daniel <daniel.kirkdorffer@...>
> Subject: RE: [wingding] WingDing Study Group meeting November 10
> To: wingding@yahoogroups.com
> Date: Sunday, November 8, 2009, 10:59 PM
> I thought we decided just to do
> chapter 5. Given how we barely got through 14 pages
> for chapter 4 last time, do we really expect to get through
> all of chapter 5 (21 pages), and chapter 6 (34 more pages)?
>
> Dan
>
> --
> Daniel Kirkdorffer
> Senior Consultant
> CGI
> 10655 NE 4ht Street, Suite 900
> Bellevue, WA 98004
> daniel.kirkdorffer@...
> <mailto:daniel.kirkdorffer@...>
>
> www.cgi.com <https://sera-phx.cgi.com/>
>
> CONFIDENTIALITY NOTICE: Proprietary/Confidential
> Information belonging to CGI Group Inc. and its affiliates
> may be contained in this message. If you are not a recipient
> indicated or intended in this message (or responsible for
> delivery of this message to such person), or you think for
> any reason that this message may have been addressed to you
> in error, you may not use or copy or deliver this message to
> anyone else. In such case, you should destroy this message
> and are asked to notify the sender by reply email.
>
> ________________________________
>
> From: wingding@yahoogroups.com
> on behalf of Robert Kuhar
> Sent: Fri 11/6/2009 9:18 PM
> To: wingding@yahoogroups.com;
> SeaJUG
> Subject: [wingding] WingDing Study Group meeting November
> 10
>
>
> 
>
> The WingDings Study Group (http://tech.groups.yahoo.com/group/wingding
<http://tech.groups.yahoo.com/group/wingding> )
> continues our coverage of "Programming Scala" by Dean
> Wampler and Alex Payne. This book is available online at
http://programming-scala.labs.oreilly.com/index.html
> <http://programming-scala.labs.oreilly.com/index.html>
>
>
> The next meeting is...
> Tuesday, November 10 7:00 to 9:00 PM
>
> Fulcrum Technologies
> 712 Aurora Ave. N.
> Seattle, WA. 98109
>
> We will cover 2 chapters this week as Chapters 5 and 6 are
> Basic and Advanced Object-Oriented Programming in Scala
> respectively. The book to date has concerned itself mainly
> with the syntax of the Scala language, Chapters 5 and 6 put
> this syntax to application presenting how the familiar OO
> constructs are realized in Scala. Eric will lead the
> discussion.
>
> Bring some cash if you would like to order pizza for
> delivery at Fulcrum. All are welcome.
>
> Bob
>
>
>
>
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>   wingding-fullfeatured@yahoogroups.com
>
>
>

#1289 From: "Kirkdorffer, Daniel" <daniel.kirkdorffer@...>
Date: Mon Nov 9, 2009 6:59 am
Subject: RE: WingDing Study Group meeting November 10
dankirkd
Offline Offline
Send Email Send Email
 
I thought we decided just to do chapter 5.  Given how we barely got through 14
pages for chapter 4 last time, do we really expect to get through all of chapter
5 (21 pages), and chapter 6 (34 more pages)?

Dan

--
Daniel Kirkdorffer
Senior Consultant
CGI
10655 NE 4ht Street, Suite 900
Bellevue, WA 98004
daniel.kirkdorffer@... <mailto:daniel.kirkdorffer@...>
www.cgi.com <https://sera-phx.cgi.com/>

CONFIDENTIALITY NOTICE: Proprietary/Confidential Information belonging to CGI
Group Inc. and its affiliates may be contained in this message. If you are not a
recipient indicated or intended in this message (or responsible for delivery of
this message to such person), or you think for any reason that this message may
have been addressed to you in error, you may not use or copy or deliver this
message to anyone else. In such case, you should destroy this message and are
asked to notify the sender by reply email.

________________________________

From: wingding@yahoogroups.com on behalf of Robert Kuhar
Sent: Fri 11/6/2009 9:18 PM
To: wingding@yahoogroups.com; SeaJUG
Subject: [wingding] WingDing Study Group meeting November 10




The WingDings Study Group (http://tech.groups.yahoo.com/group/wingding
<http://tech.groups.yahoo.com/group/wingding> ) continues our coverage of
"Programming Scala" by Dean Wampler and Alex Payne. This book is available
online at http://programming-scala.labs.oreilly.com/index.html
<http://programming-scala.labs.oreilly.com/index.html>

The next meeting is...
Tuesday, November 10 7:00 to 9:00 PM

Fulcrum Technologies
712 Aurora Ave. N.
Seattle, WA. 98109

We will cover 2 chapters this week as Chapters 5 and 6 are Basic and Advanced
Object-Oriented Programming in Scala respectively. The book to date has
concerned itself mainly with the syntax of the Scala language, Chapters 5 and 6
put this syntax to application presenting how the familiar OO constructs are
realized in Scala. Eric will lead the discussion.

Bring some cash if you would like to order pizza for delivery at Fulcrum. All
are welcome.

Bob

#1288 From: Robert Kuhar <robertkuhar@...>
Date: Sat Nov 7, 2009 5:18 am
Subject: WingDing Study Group meeting November 10
robertkuhar
Offline Offline
Send Email Send Email
 
The WingDings Study Group (http://tech.groups.yahoo.com/group/wingding)
continues our coverage of "Programming Scala" by Dean Wampler and Alex Payne. 
This book is available online at
http://programming-scala.labs.oreilly.com/index.html

The next meeting is...
Tuesday, November 10 7:00 to 9:00 PM

Fulcrum Technologies
712 Aurora Ave. N.
Seattle, WA. 98109

We will cover 2 chapters this week as Chapters 5 and 6 are Basic and Advanced
Object-Oriented Programming in Scala respectively.  The book to date has
concerned itself mainly with the syntax of the Scala language, Chapters 5 and 6
put this syntax to application presenting how the familiar OO constructs are
realized in Scala.  Eric will lead the discussion.

Bring some cash if you would like to order pizza for delivery at Fulcrum. All
are welcome.

Bob

#1287 From: Joe Bowbeer <joe.bowbeer@...>
Date: Sat Oct 31, 2009 11:07 am
Subject: Re: IntelliJ IDEA "Community Edition" + Scala
joebowbeer
Offline Offline
Send Email Send Email
 
Thanks. I expect IntelliJ will do a great job with this.

Your post spurred me to install the Netbeans Scala plugin (http://wiki.netbeans.org/Scala68v1). While I haven't done much more with it than Hello World at this point, I thought this tidbit was worth sharing:

The NetBeans Scala plugin was rewritten in Scala :)

http://blogtrader.net/dcaoyuan/entry/scala_plugin_for_netbeans_rewrite

The same guy (Caoyuan Deng in Vancouver) also wrote an Erlang plugin in Scala:

http://www.scala-lang.org/node/1140

--Joe


On Fri, Oct 30, 2009 at 7:03 PM, Eric Jain wrote:
There is a free (i.e. non-trial) version of IntelliJ IDEA that can be
used for experimenting with Scala.

Note: The version that's linked to from
http://www.jetbrains.com/idea/nextversion/free_java_ide.html is
outdated and does not work with the latest version of the Scala
plugin. Instead, download IntelliJ IDEA (ideaIC-90.137) from
http://www.jetbrains.net/confluence/display/IDEADEV/Maia+EAP. Then use
the built in plugin manager to add the Scala plugin.


#1286 From: Eric Jain <eric.jain@...>
Date: Sat Oct 31, 2009 2:03 am
Subject: IntelliJ IDEA "Community Edition" + Scala
ericjain
Offline Offline
Send Email Send Email
 
There is a free (i.e. non-trial) version of IntelliJ IDEA that can be
used for experimenting with Scala.

Note: The version that's linked to from
http://www.jetbrains.com/idea/nextversion/free_java_ide.html is
outdated and does not work with the latest version of the Scala
plugin. Instead, download IntelliJ IDEA (ideaIC-90.137) from
http://www.jetbrains.net/confluence/display/IDEADEV/Maia+EAP. Then use
the built in plugin manager to add the Scala plugin.

#1285 From: Piotr Wyrwinski <apwyrwa@...>
Date: Wed Oct 28, 2009 4:14 pm
Subject: trait file from yesterday's meeting
apwyrwa
Offline Offline
Send Email Send Email
 
I posted trait script that we were talking about during yesterday meeting.

Piotr

#1284 From: Robert Kuhar <robertkuhar@...>
Date: Wed Oct 28, 2009 4:32 am
Subject: Re: Behavior Driven Development video
robertkuhar
Offline Offline
Send Email Send Email
 
I think I did. Sorry for the repost.  Its a good talk. 

--- On Tue, 10/27/09, Joe Bowbeer <joe.bowbeer@...> wrote:

From: Joe Bowbeer <joe.bowbeer@...>
Subject: Re: [wingding] Behavior Driven Development video
To: wingding@yahoogroups.com
Date: Tuesday, October 27, 2009, 7:41 PM



Did you send a link to same talk on Oct. 5?

On Oct 27, 2009 7:37 PM, "Robert Kuhar" <robertkuhar@...> wrote:

http://video.google.com/videoplay?docid=8135690990081075324#

Google TechTalks from March 2006 on Behavior Driven Dev by Dave Astels (co-author of "A Practical Guide to eXtreme Programming" and author of Jolt Award winning "Test-driven Development: A Practical Guide")





------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
   http://groups.yahoo.com/group/wingding/

<*> Your email settings:
   Individual Email | Traditional

<*> To change settings online go to:
   http://groups.yahoo.com/group/wingding/join
   (Yahoo! ID required)

<*> To change settings via email:
   mailto:wingding-digest@yahoogroups.com
   mailto:wingding-fullfeatured@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
   wingding-unsubscribe@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
   http://docs.yahoo.com/info/terms/





#1283 From: Joe Bowbeer <joe.bowbeer@...>
Date: Wed Oct 28, 2009 2:41 am
Subject: Re: Behavior Driven Development video
joebowbeer
Offline Offline
Send Email Send Email
 

Did you send a link to same talk on Oct. 5?

On Oct 27, 2009 7:37 PM, "Robert Kuhar" <robertkuhar@...> wrote:

http://video.google.com/videoplay?docid=8135690990081075324#

Google TechTalks from March 2006 on Behavior Driven Dev by Dave Astels (co-author of "A Practical Guide to eXtreme Programming" and author of Jolt Award winning "Test-driven Development: A Practical Guide")





------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/wingding/

<*> Your email settings:
Individual Email | Traditional

<*> To change settings online go to:
http://groups.yahoo.com/group/wingding/join
(Yahoo! ID required)

<*> To change settings via email:
mailto:wingding-digest@yahoogroups.com
mailto:wingding-fullfeatured@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
wingding-unsubscribe@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/


Messages 1283 - 1312 of 1312   Newest  |  < Newer  |  Older >  |  Oldest
Advanced
Add to My Yahoo!      XML What's This?

Copyright 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help