[#379166] question: threads behaviour — Raphael Bauduin <rblists@...>

Hi,

14 messages 2011/03/01

[#379190] exec using sh -c or directly running the command, depending on the system — Xavier No謖le <xavier.noelle@...>

Hello !

8 messages 2011/03/01

[#379261] How can i get the first letter of this string — duc nguyen <minhduct4@...>

Hello, i'm a newbie. I have a question that how can i get the first

10 messages 2011/03/03

[#379285] Extracting the shortest string from an array — Iñaki Baz Castillo <ibc@...>

Hi, given the following array:

12 messages 2011/03/03

[#379299] How to assign an element to a hash only if its value is not nil? — "Thomas W." <thomas@...>

hash = {}

13 messages 2011/03/03

[#379327] extconf.rb spitting out SH Makefile on windows? — Mr Eiland <mreiland1978@...>

Title says it all, I'm running ruby extconf.rb in a visual studio 2008

18 messages 2011/03/03
[#379883] Re: extconf.rb spitting out SH Makefile on windows? — Luis Lavena <luislavena@...> 2011/03/15

On Mar 15, 3:09m, Mr Eiland <mreiland1...@yahoo.com> wrote:

[#379410] Ruby - Missed some core computer science world ? — Lucky Dev <lucky.developer@...>

I am doing ruby programming and been developing rails3 apps for some

16 messages 2011/03/06

[#379423] How to get class of BasicObject ancestor (Ruby 1.9.2)? — Alexey Petrushin <axyd80@...>

There's no :class method on BasicObject, is there any way to get class

9 messages 2011/03/06

[#379430] (ArgumentError) - in `initialize': wrong number of arguments (4 for 0) — Micah Wolfe <52w7te9ara@...>

Greetings all,

12 messages 2011/03/06

[#379469] basic programming question, help please — Kaye Ng <sbstn26@...>

class Square

17 messages 2011/03/07
[#379471] Re: basic programming question, help please — Mayank Kohaley <mayank.kohaley@...> 2011/03/07

The class method in Ruby is represented using self.<method name> or <class

[#379487] http post and authorization header for twitter — boo boo <s.w.timko@...>

I am trying to send an authorization header to the twitter api

16 messages 2011/03/07

[#379524] Duplicate methods removal in Ruby's TODO ? — David Unric <dunric29a@...>

Hi,

15 messages 2011/03/08

[#379597] Comparison between C++ and Ruby Variables — "Mayank K." <mayank.kohaley@...>

I have blogged about the comparison between c++ and ruby variables and

10 messages 2011/03/09

[#379686] What do you use with Ruby for GUI programming and why? — Robert <sigzero@...>

Is there a push to one toolkit or the other?

29 messages 2011/03/11
[#379713] Re: What do you use with Ruby for GUI programming and why? — Steve Klabnik <steve@...> 2011/03/11

I use Shoes. I'm biased; I'm one of the maintainers.

[#379715] Re: What do you use with Ruby for GUI programming and why? — Shadowfirebird <shadowfirebird@...> 2011/03/11

> I use Shoes. I'm biased; I'm one of the maintainers.

[#379755] send() with a block? — 7stud -- <bbxx789_05ss@...>

Why don't the ruby docs say that send() can take a block?

23 messages 2011/03/12
[#379756] Re: send() with a block? — "Sean O'Halpin" <sean.ohalpin@...> 2011/03/12

On Sat, Mar 12, 2011 at 8:45 PM, 7stud -- <bbxx789_05ss@yahoo.com> wrote:

[#379757] Re: send() with a block? — Peter Zotov <whitequark@...> 2011/03/12

On Sun, 13 Mar 2011 06:01:31 +0900, Sean O'Halpin wrote:

[#379845] Ruby jobs — Toby Gambill <toby.gambill@...>

All

25 messages 2011/03/14
[#379860] Re: Ruby jobs — Shadowfirebird <shadowfirebird@...> 2011/03/15

> I have several great jobs around the country for ruby developers please contact me on my cell if you would like to hear more about these positions

[#379846] Understanding YAML and this practice in general — Fily Salas <fs_tigre@...>

Hi,

12 messages 2011/03/15

[#379889] SHA1 Decryption!! — Gormare Kalss <gormare@...>

Hello! I hope that no one will be offended by this question!! Ive been

12 messages 2011/03/15

[#379945] TCPSocket: how to realize that the other endpoint has closed the connection? — Iñaki Baz Castillo <ibc@...>

Hi, I open a TCP connection with a server:

10 messages 2011/03/16

[#379998] Inserting hash value slows down as table gets larger — Philip Rhoades <phil@...>

People,

11 messages 2011/03/17

[#380037] matching a word in any number of characters — Chad Perrin <code@...>

I have need of some code to match any of a number of words in any number

12 messages 2011/03/18

[#380074] Method Call from inside a file. — Tridib Bandopadhyay <tridib04@...>

I coded a new method within gc.c file defining as--

11 messages 2011/03/19

[#380085] A question about Ruby 1.9's "external encoding" — Albert Schlef <albertschlef@...>

I have the following program:

11 messages 2011/03/20

[#380116] The best practices to learn Ruby — Fily Salas <fs_tigre@...>

Hi,

22 messages 2011/03/20

[#380205] How could I make the Ruby 1.9 string ignore the invalid utf-8 byte sequence in split? — Stanley Xu <wenhao.xu@...>

Dear buddies,

8 messages 2011/03/22

[#380220] Ruby corrupts after a period of time — Chip Burke <cburke@...>

I have recently upgraded from Ruby 1.8.7 to 1.9.2p180 on Fedora. After a

19 messages 2011/03/22

[#380262] Converting PHP to Ruby — "Jack W." <jack.whitman403@...>

Hi all,

13 messages 2011/03/23

[#380306] shortcut for add unless nil ? — Iain Barnett <iainspeed@...>

Hi,

24 messages 2011/03/24
[#380308] Re: shortcut for add unless nil ? — Xavier Noria <fxn@...> 2011/03/24

You could do something like this (untested):

[#380339] Re: shortcut for add unless nil ? — Iain Barnett <iainspeed@...> 2011/03/25

[#380347] Re: shortcut for add unless nil ? — Robert Klemme <shortcutter@...> 2011/03/25

On Fri, Mar 25, 2011 at 7:02 AM, Iain Barnett <iainspeed@gmail.com> wrote:

[#380369] Re: shortcut for add unless nil ? — Colin Bartlett <colinb2r@...> 2011/03/25

On Fri, Mar 25, 2011 at 7:52 AM, Robert Klemme

[#380382] Re: shortcut for add unless nil ? — Iain Barnett <iainspeed@...> 2011/03/25

[#380385] Re: shortcut for add unless nil ? — Robert Klemme <shortcutter@...> 2011/03/25

On Fri, Mar 25, 2011 at 4:42 PM, Iain Barnett <iainspeed@gmail.com> wrote:

[#380389] Re: shortcut for add unless nil ? — Iain Barnett <iainspeed@...> 2011/03/25

[#380394] Re: shortcut for add unless nil ? — serialhex <serialhex@...> 2011/03/25

...personally i think it would be nice to be able to define new operators

[#380325] Regexp, matching only the content within parentheses — Emil Kampp <ekampp@...>

Hi.

12 messages 2011/03/24

[#380359] How to get the value of a singleton class? — Joey Zhou <yimutang@...>

Here is a sample code:

14 messages 2011/03/25
[#380360] Re: How to get the value of a singleton class? — Robert Dober <robert.dober@...> 2011/03/25

On Fri, Mar 25, 2011 at 1:23 PM, Joey Zhou <yimutang@gmail.com> wrote:

[#380361] Do I need to upgrade to the latest version of Ruby — Fily Salas <fs_tigre@...>

Hi,

10 messages 2011/03/25

[#380368] Dynamic classes — PsiPro <arjesins@...>

So I am working on some metaprograming and have some questions about

13 messages 2011/03/25

[#380401] How to "find" new lines — Damir Sigur <damir@...>

I am new to ruby, and was trying to make a small code which would check

12 messages 2011/03/25

[#380520] A two-minute Ruby flavoured survey to help shape a new service. — "Mic P." <micpringle@...>

Please take a few seconds to fill out the following survey ...

12 messages 2011/03/28
[#380528] Re: A two-minute Ruby flavoured survey to help shape a new service. — Chad Perrin <code@...> 2011/03/28

On Tue, Mar 29, 2011 at 03:46:17AM +0900, Mic P. wrote:

[#380558] Why can a floating point number be used as an array index? — Jeff Dik <s450r1@...>

Why can a floating point number be used as an array index? Anybody

11 messages 2011/03/29

[#380573] Encoding issues when parsing HTML in 1.9 — ctdev <ctdev421@...>

Hi, I'm having some encoding problems while parsing HTML with Nokogiri

12 messages 2011/03/30

[#380586] functional paradigm taking over — Robert Klemme <shortcutter@...>

Hi,

133 messages 2011/03/30
[#380593] Lambda Shambda — Mike Stephens <rubfor@...> 2011/03/30

Although a Ruby fan, I must say I'm spending all my time looking at

[#380612] Re: Lambda Shambda — Chad Perrin <code@...> 2011/03/30

On Wed, Mar 30, 2011 at 06:38:19PM +0900, Mike Stephens wrote:

[#380617] Re: Lambda Shambda — Robert Klemme <shortcutter@...> 2011/03/30

On Wed, Mar 30, 2011 at 4:49 PM, Chad Perrin <code@apotheon.net> wrote:

[#380641] Re: Lambda Shambda — Chad Perrin <code@...> 2011/03/30

On Thu, Mar 31, 2011 at 12:19:25AM +0900, Robert Klemme wrote:

[#380664] Re: Lambda Shambda — Phillip Gawlowski <cmdjackryan@...> 2011/03/31

On Thu, Mar 31, 2011 at 1:24 AM, Chad Perrin <code@apotheon.net> wrote:

[#380669] Re: Lambda Shambda — Chad Perrin <code@...> 2011/03/31

On Thu, Mar 31, 2011 at 12:30:07PM +0900, Phillip Gawlowski wrote:

[#380683] Re: Lambda Shambda — Mike Stephens <rubfor@...> 2011/03/31

Chad Perrin wrote in post #990130:

[#380812] Re: Lambda Shambda — Josh Cheek <josh.cheek@...> 2011/04/02

On Thu, Mar 31, 2011 at 5:08 AM, Mike Stephens <rubfor@recitel.net> wrote:

[#380825] Re: Lambda Shambda — Mike Stephens <rubfor@...> 2011/04/03

Josh Cheek wrote in post #990579:

[#380831] Re: Lambda Shambda — Phillip Gawlowski <cmdjackryan@...> 2011/04/03

On Sun, Apr 3, 2011 at 7:29 AM, Mike Stephens <rubfor@recitel.net> wrote:

[#380839] Re: Lambda Shambda — Everett L Williams II <rett@...> 2011/04/03

*Let's not pay too much attention to the code snobs on here. I've yet to

[#380840] Re: Lambda Shambda — Phillip Gawlowski <cmdjackryan@...> 2011/04/03

On Sun, Apr 3, 2011 at 2:17 PM, Everett L Williams II

[#380893] Re: functional paradigm taking over — Mike Stephens <rubfor@...> 2011/04/04

This thread has been touching upon three issues - functional languages

[#380907] Re: functional paradigm taking over — Everett L Williams II <rett@...> 2011/04/04

*Mike,*

[#380910] Re: functional paradigm taking over — Johnny Morrice <spoon@...> 2011/04/04

> But, as I have said, I have seen some absolutely

[#380913] Re: functional paradigm taking over — Johnny Morrice <spoon@...> 2011/04/04

> I've seen some absolutely amazing things done with befunge! Networked

[#380925] Re: functional paradigm taking over — Chad Perrin <code@...> 2011/04/04

On Mon, Apr 04, 2011 at 09:29:13PM +0900, Johnny Morrice wrote:

[#380926] Re: functional paradigm taking over — Johnny Morrice <spoon@...> 2011/04/04

> I have not seen "befunge" as a euphemism for brainfuck before. Is

[#380933] Re: functional paradigm taking over — Chad Perrin <code@...> 2011/04/04

On Tue, Apr 05, 2011 at 12:42:20AM +0900, Johnny Morrice wrote:

[#381261] Re: functional paradigm taking over — Robert Dober <robert.dober@...> 2011/04/10

On Mon, Apr 4, 2011 at 8:07 PM, Chad Perrin <code@apotheon.net> wrote:

[#381324] Re: functional paradigm taking over — Kevin <darkintent@...> 2011/04/12

Aren't all programs languages as the program describes a particular problem

[#381330] Re: functional paradigm taking over — Phillip Gawlowski <cmdjackryan@...> 2011/04/12

On Tue, Apr 12, 2011 at 8:18 AM, Kevin <darkintent@gmail.com> wrote:

[#381331] Re: functional paradigm taking over — Kevin <darkintent@...> 2011/04/12

No I'm not confusing them, all programs provide the vocabulary (Means of

[#381356] Re: functional paradigm taking over — Chad Perrin <code@...> 2011/04/12

On Tue, Apr 12, 2011 at 04:47:17PM +0900, Kevin wrote:

[#381400] Re: functional paradigm taking over — Kevin <darkintent@...> 2011/04/13

Why don't you actually go take a look at the definition of language,

[#381401] Re: functional paradigm taking over — Josh Cheek <josh.cheek@...> 2011/04/13

On Wed, Apr 13, 2011 at 12:53 AM, Kevin <darkintent@gmail.com> wrote:

[#381403] Re: functional paradigm taking over — Kevin <darkintent@...> 2011/04/13

That is all well and good. But does that fact make the definitions I am

[#381408] Re: functional paradigm taking over — Phillip Gawlowski <cmdjackryan@...> 2011/04/13

On Wed, Apr 13, 2011 at 8:38 AM, Kevin <darkintent@gmail.com> wrote:

[#381433] Re: functional paradigm taking over — Kevin <darkintent@...> 2011/04/13

@Phillip: Yes they are applicable, jargon does not supersede the rest of the

[#381435] Re: functional paradigm taking over — Phillip Gawlowski <cmdjackryan@...> 2011/04/13

On Wed, Apr 13, 2011 at 4:59 PM, Kevin <darkintent@gmail.com> wrote:

[#381442] Re: functional paradigm taking over — Kevin <darkintent@...> 2011/04/13

No a jargon or slang does not put aside the language it exists inside of.

[#381453] Re: functional paradigm taking over — Chad Perrin <code@...> 2011/04/13

On Thu, Apr 14, 2011 at 01:18:58AM +0900, Kevin wrote:

[#381457] Re: functional paradigm taking over — serialhex <serialhex@...> 2011/04/13

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[#380623] string/array slices — Patrick Tyler <patrick.a.tyler@...>

Hello,

15 messages 2011/03/30

[#380689] how to refine the code to avoid using fork on windows? — Ethan Huo <firewall888@...>

here is the thing, i need to move a previous ruby program from Linux to

9 messages 2011/03/31

[#380710] Simple array.each do |x| question — "Kyle X." <haebooty@...>

Hello, I am new to ruby and cannot understand why this code is not

18 messages 2011/03/31
[#380711] Re: Simple array.each do |x| question — Roger Braun <roger@...> 2011/03/31

Hi

Re: A question about Ruby 1.9's "external encoding"

From: Robert Klemme <shortcutter@...>
Date: 2011-03-23 09:16:15 UTC
List: ruby-talk #380237
On Wed, Mar 23, 2011 at 12:24 AM, Markus Fischer <markus@fischer.name> wrote:
> On 21.03.2011 16:00, Robert Klemme wrote:
>> For me this boils down to these rules:
>>
>> 1. Strings are sequences of bytes
>>
>> 2. Strings have an associated encoding which does not need to match
>> the actual encoding of the binary content
>>
>> 3. In absence of a target (external or internal, depending on
>> direction) encoding IO operations use a String's binary data as is,
>> otherwise they try to convert between encodings and raise an error if
>> that is not possible.
>
> Is it just me or does this, especially point 2, sound highly confusing
> if not dangerous?

The rule as such is pretty clear IMHO.  It does not meet "naive"
expectations and as such probably violates POLS (although Matz's
expectations are almost certainly different than ours - especially
since his native language has a much richer set of symbols than
western languages).

What *I* find slightly puzzling is this:

irb(main):001:0> s1 = "a"
=> "a"
irb(main):002:0> s1.encoding
=> #<Encoding:UTF-8>
irb(main):003:0> s2 = s1.encode 'ISO-8859-1'
=> "a"
irb(main):004:0> s2.encoding
=> #<Encoding:ISO-8859-1>
irb(main):005:0> s1 == s2
=> true
irb(main):006:0> s1.eql? s2
=> true
irb(main):007:0> [s1.hash, s2.hash]
=> [1003075638, 1003075638]
irb(main):008:0> [s1.hash, s2.hash].uniq
=> [1003075638]
irb(main):009:0> s1.encoding == s2.encoding
=> false

Apparently only the byte representation is used for equivalence checks
and the encoding is ignored.  I guess this is a pragmatic optimization
for speed since

1. string comparisons are _very_ frequent

2. often strings with different encodings do also have different
binary representation (the fact that UTF-8 and ISO-8859-1 share the
common subset of ASCII 7 bit might be viewed as a special case).

irb(main):010:0> s1 = "笄
=> "笄
irb(main):011:0> s2 = s1.encode 'ISO-8859-1'
=> "\xE4"
irb(main):012:0> s1 == s2
=> false
irb(main):013:0> s1.eql? s2
=> false
irb(main):014:0> [s1.hash, s2.hash].uniq
=> [-276501091, 359342273]

If you include the encoding in equivalence check "s1 == s2" would
yield false in the first case (IRB line 005) although both strings
actually represent the same character sequence.  The proper solution
of course would be to compare two strings on the character level but
since this would make decoding the byte sequence necessary performance
would be worse and we collide with item 1 above.

I think you can write proper locale aware programs in Ruby (mostly be
specifying internal and external encodings).  But, as in all
languages, you must be aware of the fact that you need to explicitly
deal with encodings.  The fact remains that i18n is a complex topic
because human cultures and languages are so vastly different.  And the
complexity does not go away because it is inherent in the matter - no
matter what technical solutions you invent.  Given that, the possible
discrepancy between the byte data and the encoding (which manifests
itself in the existence of String#valid_encoding?) does look a lot
smaller already. :-)

For even more information and detail I recommend James's excellent article at
http://blog.grayproductions.net/articles/miscellaneous_m17n_details

And there's more to be found here
http://blog.grayproductions.net/categories/character_encodings

Oh, and while we're at it, maybe we should add a method like this to String:

class String
  def ensure_encoding
    raise Encoding::InvalidByteSequenceError, "Wrong encoding for %p"
% self unless valid_encoding?
    self
  end
end

Then we can do something like

puts s.ensure_encoding.length

or other String operations and be sure that the encoding is proper.
Does anybody have a better (shorter) name for such a method?

Kind regards

robert

-- 
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

In This Thread