[#335632] SOAP - issue with openssl verification failure — Venkat Alla <spinhoo2000@...>

I have the following code in a script that I am trying to use at work -

10 messages 2009/05/01

[#335755] Should I upgrade Ruby from 1.8.5 to 1.8.7? — Cali Wildman <caliwildman2004-info@...>

I just upgraded to Rails 2.3.2 but my Ruby is still 1.8.5. Rails 2.3.2

23 messages 2009/05/04

[#335777] my logroll code, please critique — Derek Smith <derekbellnersmith@...>

My goal is to keep 10 files each at 100Mb. Please critique and suggest

12 messages 2009/05/05

[#335842] '=||' — James Byrne <byrnejb@...>

Can someone point out to me where exactly in the API I find a discussion

18 messages 2009/05/05
[#335843] Re: '=||' — Eleanor McHugh <eleanor@...> 2009/05/05

On 5 May 2009, at 20:51, James Byrne wrote:

[#336031] Superclass of eigenclass — Danny O cuiv <danny.ocuiv@...>

On page 261 of The Ruby Programming Language, they state:

30 messages 2009/05/07
[#336052] Re: Superclass of eigenclass — Rick DeNatale <rick.denatale@...> 2009/05/07

On Thu, May 7, 2009 at 8:35 AM, Danny O cuiv <danny.ocuiv@gmail.com> wrote:

[#336056] Re: Superclass of eigenclass — Rick DeNatale <rick.denatale@...> 2009/05/07

On Thu, May 7, 2009 at 11:50 AM, Rick DeNatale <rick.denatale@gmail.com> wrote:

[#336061] Ruby memory usage — Pete Hodgson <ruby-forum@...>

Hi Folks,

23 messages 2009/05/07

[#336087] File over tcp? with out using net/ftp — Bigmac Turdsplash <i8igmac@...>

Im trying to send a file back and forth between a client.rb and

12 messages 2009/05/07

[#336160] CGI help — Jeff Leggett <hikerguy@...>

So, I am trying ot read the contents of a file and format the contents

19 messages 2009/05/08

[#336168] ruby string slice/[] w/ range, weird end behavior — Gary Yngve <gary.yngve@...>

First the docs:

17 messages 2009/05/08
[#336169] Re: ruby string slice/[] w/ range, weird end behavior — Eleanor McHugh <eleanor@...> 2009/05/08

On 9 May 2009, at 00:26, Gary Yngve wrote:

[#336205] converting UTF-8 to entities like &#x525B; — Jian Lin <winterheat@...>

15 messages 2009/05/09

[#336385] Any current preprocessor/Ruby language add-ons? — "C. Dagnon" <c-soc-rubyforum@...>

This is kind of a wide-ranging question but for some fairly specific

16 messages 2009/05/12

[#336411] Whaaaaat? — Tom Cloyd <tomcloyd@...>

p [0..5].include? 0

26 messages 2009/05/12

[#336458] what could be improved in Ruby for Science? — Diego Virasoro <Diego.Virasoro@...>

Hello,

20 messages 2009/05/13

[#336505] Syntactic sugar idea — Daniel DeLorme <dan-ml@...42.com>

It seems that often an object will be passed into a block only to invoke

26 messages 2009/05/14
[#336508] Re: [bikeshed] Syntactic sugar idea — Jan <jan.h.xie@...> 2009/05/14

* Daniel DeLorme <dan-ml@dan42.com> [2009-05-14 11:42:31 +0900]:

[#336766] Berkeley DB or Store equivalent? — Mk 27 <halfcountplus@...>

I have never used mySQL because perl's Storable or BerkeleyDB modules

16 messages 2009/05/17

[#336783] permute each element of a ragged array? — Phlip <phlip2005@...>

Rubies:

19 messages 2009/05/17

[#336821] Sorting numbers as strings — Jack Bauer <realmadrid2727@...>

I'm trying to sort some strings containing numbers. The strings

14 messages 2009/05/18

[#336850] Introducing RubyScience on GitHub! — Joshua Ballanco <jballanc@...>

In the tradition of actions vs. words, I present to you:

14 messages 2009/05/18

[#336930] Create an exe with Ruby 1.9.1 — Marc-antoine Kruzik <kadelfek@...>

Hello !

23 messages 2009/05/19

[#336939] Pythonic indentation (or: beating a dead horse) — J Haas <Myrdred@...>

Greetings, folks. First time poster, so if I breach

235 messages 2009/05/19
[#337016] Re: Pythonic indentation (or: beating a dead horse) — Roger Pack <rogerpack2005@...> 2009/05/20

> ...maybe something like this:

[#337699] Re: Pythonic indentation (or: beating a dead horse) — J Haas <Myrdred@...> 2009/05/28

On May 27, 10:21=A0pm, James Britt <james.br...@gmail.com> wrote:

[#337734] Re: Pythonic indentation (or: beating a dead horse) — James Britt <james.britt@...> 2009/05/28

J Haas wrote:

[#337740] Re: Pythonic indentation (or: beating a dead horse) — Juan Zanos <juan_zanos@...> 2009/05/28

On May 28, 2009, at 2:33 PM, James Britt wrote:

[#337745] Re: Pythonic indentation (or: beating a dead horse) — J Haas <Myrdred@...> 2009/05/28

On May 28, 11:15=A0am, Eleanor McHugh <elea...@games-with-brains.com>

[#337954] Re: Pythonic indentation (or: beating a dead horse) — Steven Arnold <stevena@...> 2009/05/30

After listening to this debate for some time, the position of allowing

[#338133] Re: Pythonic indentation (or: beating a dead horse) — Andy F <andchafow-ruby@...> 2009/06/02

[#338172] Re: Pythonic indentation (or: beating a dead horse) — Eleanor McHugh <eleanor@...> 2009/06/02

On 2 Jun 2009, at 06:20, Andy F wrote:

[#337023] Re: Pythonic indentation (or: beating a dead horse) — J Haas <Myrdred@...> 2009/05/20

On May 20, 8:51=A0am, Rick DeNatale <rick.denat...@gmail.com> wrote:

[#337025] Re: Pythonic indentation (or: beating a dead horse) — Rick DeNatale <rick.denatale@...> 2009/05/20

On Wed, May 20, 2009 at 2:35 PM, J Haas <Myrdred@gmail.com> wrote:

[#337045] Re: Pythonic indentation (or: beating a dead horse) — J Haas <Myrdred@...> 2009/05/20

On May 20, 12:25=A0pm, Tony Arcieri <t...@medioh.com> wrote:

[#337581] Re: Pythonic indentation (or: beating a dead horse) — J Haas <Myrdred@...> 2009/05/27

On May 22, 9:01=A0am, Roger Pack <rogerpack2...@gmail.com> wrote:

[#337673] Re: Pythonic indentation (or: beating a dead horse) — Juan Zanos <juan_zanos@...> 2009/05/28

[#337686] Re: Pythonic indentation (or: beating a dead horse) — Eleanor McHugh <eleanor@...> 2009/05/28

On 28 May 2009, at 15:06, Juan Zanos wrote:

[#337002] Ruby 1.8 vs. Ruby 1.9 — Calvin <cstephens4@...>

Hi,

17 messages 2009/05/20

[#337094] snailgun-1.0.2 — Brian Candler <b.candler@...>

New experimental project:

18 messages 2009/05/21

[#337115] w00t! Party for Gregory! — pat eyler <pat.eyler@...>

> On May 20, 2009, Gregory Brown wrote:

12 messages 2009/05/21

[#337221] Cryptogram II (#206) — Daniel Moore <yahivin@...>

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

17 messages 2009/05/22

[#337323] String concatenation in Ruby — Jagadeesh <mnjagadeesh@...>

Hi,

18 messages 2009/05/25

[#337340] Do you nest classes inside classes? — Mike Stephens <rubfor@...>

Object Orientation is conceptually about a sea of objects interacting

11 messages 2009/05/25

[#337366] Runnin code at a certain time? — Tom Ricks <carrottop123@...>

Hello all,

20 messages 2009/05/25
[#337392] Re: Runnin code at a certain time? — Caleb Clausen <vikkous@...> 2009/05/25

On 5/25/09, Tom Ricks <carrottop123@gmail.com> wrote:

[#337413] Other languages to try? — Adam Gardner <adam.oddfellow@...>

So, I've been programming in Ruby for a good while now. Not an expert,

20 messages 2009/05/26

[#337421] Newbie on Threads — Nabs Kahn <nabusman@...>

I'm creating a screen scraping software and I want to have X (let's say

13 messages 2009/05/26
[#337424] Re: Newbie on Threads — Robert Klemme <shortcutter@...> 2009/05/26

2009/5/26 Nabs Kahn <nabusman@gmail.com>:

[#337507] Something Not going with my LDAP using SSL — Xeno Campanoli <xeno.campanoli@...>

I have the following working with cleartext LDAP:

20 messages 2009/05/26
[#337539] Re: Something Not going with my LDAP using SSL — Brian Candler <b.candler@...> 2009/05/27

Xeno Campanoli wrote:

[#338073] Re: Something Not going with my LDAP using SSL — Xeno Campanoli <xeno.campanoli@...> 2009/06/01

Brian Candler wrote:

[#338082] Re: Something Not going with my LDAP using SSL — Brian Candler <b.candler@...> 2009/06/01

Xeno Campanoli wrote:

[#338084] Re: Something Not going with my LDAP using SSL — Xeno Campanoli <xeno.campanoli@...> 2009/06/01

Brian Candler wrote:

[#338094] Re: Something Not going with my LDAP using SSL — Brian Candler <b.candler@...> 2009/06/01

Xeno Campanoli wrote:

[#338095] Re: Something Not going with my LDAP using SSL — Xeno Campanoli <xeno.campanoli@...> 2009/06/01

Brian Candler wrote:

[#338096] Re: Something Not going with my LDAP using SSL — Xeno Campanoli <xeno.campanoli@...> 2009/06/01

Xeno Campanoli wrote:

[#337574] Installing Ruby 1.9.1 Binary on Windows Vista — Joel Dezenzio <jdezenzio@...>

I've searched and only found one topic which did not have an answer or

27 messages 2009/05/27

[#337671] death toll — deka <rocha.deka@...>

Hi, I am a Brazilian girl and I have a doubt abour numbers in English.

13 messages 2009/05/28

[#337823] Endless Ruby 0.0.2 — Caleb Clausen <vikkous@...>

endless.rb is a pre-processor for ruby which allows you to use python-ish

22 messages 2009/05/29

[#337841] Regular expression — Harry Kakueki <list.push@...>

I want to write a regular expression to do the following.

13 messages 2009/05/29

[#337869] Quine (#207) — Daniel Moore <yahivin@...>

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

46 messages 2009/05/29
[#338000] Re: [QUIZ] Quine (#207) — pjb@... (Pascal J. Bourguignon) 2009/05/31

Robert Dober <robert.dober@gmail.com> writes:

[#338018] Re: [QUIZ] Quine (#207) — Aureliano Calvo <aurelianocalvo@...> 2009/06/01

I did something like that, but with parenthesis.

[#337899] Requesting Japanese Translation — James Gray <james@...>

I'm adding a little Japanese to a Ruby presentation I am giving. I

13 messages 2009/05/30

[#337961] nokogiri 1.3.0 Released — Aaron Patterson <aaron@...>

nokogiri version 1.3.0 has been released!

32 messages 2009/05/30
[#337962] Re: nokogiri 1.3.0 Released — Roger Pack <rogerpack2005@...> 2009/05/30

Aaron Patterson wrote:

[#337966] Re: nokogiri 1.3.0 Released — Aaron Patterson <aaron@...> 2009/05/30

On Sun, May 31, 2009 at 06:43:05AM +0900, Roger Pack wrote:

[#337968] Re: nokogiri 1.3.0 Released — Iii Iii <bqotatjyujepur@...> 2009/05/30

> gem install nokogiri

[#337985] Re: nokogiri 1.3.0 Released — Aaron Patterson <aaron@...> 2009/05/31

On Sun, May 31, 2009 at 08:37:54AM +0900, Iii Iii wrote:

[#338049] Re: nokogiri 1.3.0 Released — Roger Pack <rogerpack2005@...> 2009/06/01

[QUIZ][SUMMARY] Encyclopedia Construction (#205)

From: Daniel Moore <yahivin@...>
Date: 2009-05-24 18:31:34 UTC
List: ruby-talk #337304
There were three submitted solutions to this week's quiz. Srijayanth
Sridhar provided the following:

    #! /usr/bin/ruby

    require 'pp'

    words=File.readlines("../words.txt").map { |word| word.chomp.capitalize }
    dict = {}
    words.each do |word|
       dict[word[0..0]] ||= []
       dict[word[0..0]] << word
    end

    count=0
    sub_array = []
    main_dict =  {}
    dict.keys.sort.each do |alphawords|
       sub_array += dict[alphawords]
       count += sub_array.flatten.size
       if ( count >= 10 )
          alpha=sub_array.flatten.map { |x| x[0..0] }.uniq
          alpha.size > 1 ? key=Range.new(alpha.min,alpha.max) : alpha[0]
          main_dict[key] = sub_array.flatten
          count = 0
          sub_array=[]
       end
    end

    # Attach last remaining words
    alpha=sub_array.flatten.map { |x| x[0..0] }.uniq
    alpha.size > 1 ? key=Range.new(alpha.min,alpha.max) : alpha[0]
    main_dict[key] = sub_array.flatten
    count = 0
    sub_array=[]

    pp main_dict

Srijayanth's solution works by building a dictionary of all the words
grouped by first letter. Starting from the beginning the words in the
next letter are added until the total number of words in the current
volume is greater than or equal to `count` (10 by default).

The advantage of this solution is that it is simple to implement and
only needs to make one pass through the lists of words. One potential
weakness is that if the words in the second to last letter added and
it goes above the threshold, then the words beginning with the last
letter won't have any possibility to be merged in and could be left as
a very small volume.

Luke Cowell's solution repeatedly merges the smallest adjacent pairs
until the requested number of volumes is reached. This is a simpler
technique and produces pretty good results as long as the input data
is well behaved.

Frank Fischer's solution uses dynamic programming[1]. Dynamic
programming is a method of solving complex problems by breaking them
down into simpler steps. There are two key attributes that a problem
must have in order for dynamic programming to be applicable: optimal
substructure and overlapping subproblems. Optimal substructure means
that the solution to a given optimization problem can be obtained by
the combination of optimal solutions to its subproblems. Overlapping
subproblems means that the space of subproblems must be small, that
is, any recursive algorithm solving the problem should solve the same
subproblems over and over, rather than generating new subproblems.

Frank's solution provides different methods to optimize the
arrangement of the volumes.

    # divide into +nbooks+ books by minimizing the maximal number
    # of words in one book
    def min_maximum( nbooks )
        dyn_min( nbooks ) { |s, rest| [s, rest || 0].max }
    end

    #...

    # divide into +nbooks+ books by minimizing the quadratic deviation
    # from the average number of words in one book
    def min_deviat2( nbooks )
        mean = sum( 0 ... @nletters.size ).to_f / nbooks
        dyn_min( nbooks ) { |s, rest| (rest || 0) + (s - mean) ** 2 }
    end

Each of these methods passes a different block to the `dyn_min` method
depending on what objective you wish to optimize. The `dyn_min` method
iterates through the possible solutions and stores the best
combinations of volumes according to the metric passed in.

Thank you Srijayanth, Frank, and Luke for your contributions this week.

P.S. From now on the summaries will have an attached archive of the
quiz solutions.

[1]: http://en.wikipedia.org/wiki/Dynamic_programming

Attachments (1)

205.tar.gz (4.76 KB, Archive)

In This Thread

Prev Next