Re: [AOLSERVER] nsdci query

2007-10-31 Thread Tomasz Kosiak
On 10/30/07, Damien O'Rourke <[EMAIL PROTECTED]> wrote:
> Jim,
>
> thanks for the info.
> Keeping it all in utf-8 makes sense as you say ... so long as you
> don't need to access binary files directly with another app. If all
> send/receive requests go through the sob it works fine ... I have one
> service using it that way at the moment. Debating about whether to
> switch it to using nproxy ... there's some sense in making it the
> gateway for all requests for those files ... there are other systems
> that use similar models e.g. email de-duping software i.e. the black
> box service ... who knows how YouTube or AWS actually store the
> data ... could be own propriety format for all I can know ... all I
> see is what they present to me when I request an item.
>
> Damien

See Google Tech Talk video on YouTube Scalability

http://kylecordes.com/2007/07/12/youtube-scalability/

--tkosiak


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] nsdci query

2007-10-29 Thread Damien O'Rourke

Jim,

thanks for the info.
Keeping it all in utf-8 makes sense as you say ... so long as you  
don't need to access binary files directly with another app. If all  
send/receive requests go through the sob it works fine ... I have one  
service using it that way at the moment. Debating about whether to  
switch it to using nproxy ... there's some sense in making it the  
gateway for all requests for those files ... there are other systems  
that use similar models e.g. email de-duping software i.e. the black  
box service ... who knows how YouTube or AWS actually store the  
data ... could be own propriety format for all I can know ... all I  
see is what they present to me when I request an item.


Damien

On 28/10/2007, at 5:35 AM, Jim Davidson wrote:


Howdy,

I wrote the core SOB code years ago -- at the time I think our  
goals included:


-- Security:  Server connects out to known clients.
-- Performance:  State-full connections, minimal protocol overhead,  
lots of caching, no encoding overhead

-- Simple: String keys, string data, integration with net cache flush
-- Insight:  Lot's of traffic counters collected
-- Tcl aware:  Expects to store/send UTF-8 strings only
-- Some special case stuff, e.g., the comment board code.

In general, SOB met these goals at the expense of:

-- Config complexity:  Maintaining topology is rationale but  
tedious compared to client-server HTTP connections through routers

-- Binary:  Just strings
-- File system scale:  SOB relies on rationale topology and/or key  
management to avoid file system scale problems (i.e., too many  
files in a directory).
The point on UTF-8 deserves a bit more explanation.  In general,  
all the parts of the "dci" module assumed everything is in UTF-8,  
always.  In a sense, it's best to imagine SOB (and NV, AV, etc.) as  
really just a way to serialize Tcl data to/from some stable  
something -- if it's not in memory, it's designed to be read  
directly into memory with no encoding / translation / etc.  In  
other words, the lack of encoding and binary code support was by  
design, not an oversight, which provided some benefits but -- as in  
the case of trying to use SOB for thumbnails -- some downside.


-Jim




On Oct 25, 2007, at 9:12 AM, Michael Andrews wrote:

In general, I find the SOB model works well. The caching on the  
server and the client provide unmatched performance. The NCF  
provides a mechanism to flush the cache on updates. The Devil is  
always in the details. How you set up multiple SOB servers and  
then get the publishes to multiple SOB servers can certainly  
create scaling and topology management issues.


Most sites to do not have the demands that AOL has - and a simple  
SOB solution would be nice addition to any content distribution  
system.  However there are advantages to stateless systems. :-)  
(How's that for diplomatic)


M

On Oct 25, 2007, at 10:19 AM, Dossy Shiobara wrote:


On 2007.10.25, Jay Rohr <[EMAIL PROTECTED]> wrote:
In general, I would not recommend using sob. It was developed  
for very
specific requirements at AOL and it does not scale well under  
load -

volume or frequency.  We are in the process of replacing it with
something else.


Okay, this is just plain misinformation.  SOB works very well for  
what

it was intended for, a low-write, high-read, distributed service for
small objects (thus, the name "SOB").

Any scaling issues AOL is having has to do with how it has since  
been

misused and/or operationalized.

-- Dossy

--
Dossy Shiobara  | [EMAIL PROTECTED] | http://dossy.org/
Panoptic Computer Network   | http://panoptic.com/
  "He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on." (p. 70)


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to  
<[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave  
the Subject: field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to  
<[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave  
the Subject: field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to  
<[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the  
Subject: field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] nsdci query

2007-10-27 Thread Jim Davidson

Howdy,

I wrote the core SOB code years ago -- at the time I think our goals  
included:


-- Security:  Server connects out to known clients.
-- Performance:  State-full connections, minimal protocol overhead,  
lots of caching, no encoding overhead

-- Simple: String keys, string data, integration with net cache flush
-- Insight:  Lot's of traffic counters collected
-- Tcl aware:  Expects to store/send UTF-8 strings only
-- Some special case stuff, e.g., the comment board code.

In general, SOB met these goals at the expense of:

-- Config complexity:  Maintaining topology is rationale but tedious  
compared to client-server HTTP connections through routers

-- Binary:  Just strings
-- File system scale:  SOB relies on rationale topology and/or key  
management to avoid file system scale problems (i.e., too many files  
in a directory). 

The point on UTF-8 deserves a bit more explanation.  In general, all  
the parts of the "dci" module assumed everything is in UTF-8,  
always.  In a sense, it's best to imagine SOB (and NV, AV, etc.) as  
really just a way to serialize Tcl data to/from some stable something  
-- if it's not in memory, it's designed to be read directly into  
memory with no encoding / translation / etc.  In other words, the  
lack of encoding and binary code support was by design, not an  
oversight, which provided some benefits but -- as in the case of  
trying to use SOB for thumbnails -- some downside.


-Jim




On Oct 25, 2007, at 9:12 AM, Michael Andrews wrote:

In general, I find the SOB model works well. The caching on the  
server and the client provide unmatched performance. The NCF  
provides a mechanism to flush the cache on updates. The Devil is  
always in the details. How you set up multiple SOB servers and then  
get the publishes to multiple SOB servers can certainly create  
scaling and topology management issues.


Most sites to do not have the demands that AOL has - and a simple  
SOB solution would be nice addition to any content distribution  
system.  However there are advantages to stateless systems. :-)  
(How's that for diplomatic)


M

On Oct 25, 2007, at 10:19 AM, Dossy Shiobara wrote:


On 2007.10.25, Jay Rohr <[EMAIL PROTECTED]> wrote:
In general, I would not recommend using sob. It was developed for  
very

specific requirements at AOL and it does not scale well under load -
volume or frequency.  We are in the process of replacing it with
something else.


Okay, this is just plain misinformation.  SOB works very well for  
what

it was intended for, a low-write, high-read, distributed service for
small objects (thus, the name "SOB").

Any scaling issues AOL is having has to do with how it has since been
misused and/or operationalized.

-- Dossy

--
Dossy Shiobara  | [EMAIL PROTECTED] | http://dossy.org/
Panoptic Computer Network   | http://panoptic.com/
  "He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on." (p. 70)


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to  
<[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave  
the Subject: field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to  
<[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the  
Subject: field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] nsdci query

2007-10-25 Thread Dossy Shiobara
On 2007.10.26, Damien O'Rourke <[EMAIL PROTECTED]> wrote:
> It was the two tier caching for performance and the auto flush that
> appealed to me ... serving lots of thumbnail images which occasionally
> get updated, and over time get outdated and unused, being replaced in
> use, and cache, by others. 
> 
> Pity then sob doesn't do binary ... 

Enhancing SOB to properly round-trip binary data isn't unreasonably
difficult.  Maybe I'll tackle that after I get tired of hacking on
nsjsapi ...

-- Dossy

-- 
Dossy Shiobara  | [EMAIL PROTECTED] | http://dossy.org/
Panoptic Computer Network   | http://panoptic.com/
  "He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on." (p. 70)


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] nsdci query

2007-10-25 Thread Damien O'Rourke
It was the two tier caching for performance and the auto flush that appealed to 
me ... serving lots of thumbnail images which occasionally get updated, and 
over time get outdated and unused, being replaced in use, and cache, by others. 
Pity then sob doesn't do binary ... 

Any advice from experience on nproxy in relation to scaling and load 

Damien

-Original Message-
From: AOLserver Discussion on behalf of Michael Andrews
Sent: Fri 10/26/2007 2:12 AM
To: AOLSERVER@LISTSERV.AOL.COM
Subject: Re: [AOLSERVER] nsdci query
 
In general, I find the SOB model works well. The caching on the  
server and the client provide unmatched performance. The NCF provides  
a mechanism to flush the cache on updates. The Devil is always in the  
details. How you set up multiple SOB servers and then get the  
publishes to multiple SOB servers can certainly create scaling and  
topology management issues.

Most sites to do not have the demands that AOL has - and a simple SOB  
solution would be nice addition to any content distribution system.   
However there are advantages to stateless systems. :-) (How's that  
for diplomatic)

M

On Oct 25, 2007, at 10:19 AM, Dossy Shiobara wrote:

> On 2007.10.25, Jay Rohr <[EMAIL PROTECTED]> wrote:
>> In general, I would not recommend using sob. It was developed for  
>> very
>> specific requirements at AOL and it does not scale well under load -
>> volume or frequency.  We are in the process of replacing it with
>> something else.
>
> Okay, this is just plain misinformation.  SOB works very well for what
> it was intended for, a low-write, high-read, distributed service for
> small objects (thus, the name "SOB").
>
> Any scaling issues AOL is having has to do with how it has since been
> misused and/or operationalized.
>
> -- Dossy
>
> -- 
> Dossy Shiobara  | [EMAIL PROTECTED] | http://dossy.org/
> Panoptic Computer Network   | http://panoptic.com/
>   "He realized the fastest way to change is to laugh at your own
> folly -- then you can let go and quickly move on." (p. 70)
>
>
> --
> AOLserver - http://www.aolserver.com/
>
> To Remove yourself from this list, simply send an email to  
> <[EMAIL PROTECTED]> with the
> body of "SIGNOFF AOLSERVER" in the email message. You can leave the  
> Subject: field of your email blank.


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] HTTP client choices in AOLServer (was: RE: [AOLSERVER] nsdci query)

2007-10-25 Thread Dossy Shiobara
On 2007.10.25, John Caruso <[EMAIL PROTECTED]> wrote:
> On Tuesday 10:30 AM 10/23/2007, Dossy Shiobara wrote:
> >As part of the nsopenssl module, there are (IMHO, broken)
> >implementations of ns_httpsopen and friends.
> 
> Could you expand on what you think is broken about them?

At AOL, a team that was using them had run into some kind of hang issue
where a blocking Tcl [read] was done on the Tcl channel (that was backed
by an nsopenssl SSL conn) that would never wake up and/or would time
out.

-- Dossy

-- 
Dossy Shiobara  | [EMAIL PROTECTED] | http://dossy.org/
Panoptic Computer Network   | http://panoptic.com/
  "He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on." (p. 70)


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] HTTP client choices in AOLServer (was: RE: [AOLSERVER] nsdci query)

2007-10-25 Thread John Caruso

On Tuesday 10:30 AM 10/23/2007, Dossy Shiobara wrote:

As part of the nsopenssl module, there are (IMHO, broken)
implementations of ns_httpsopen and friends.


Could you expand on what you think is broken about them?

- John


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] nsdci query

2007-10-25 Thread Michael Andrews
In general, I find the SOB model works well. The caching on the  
server and the client provide unmatched performance. The NCF provides  
a mechanism to flush the cache on updates. The Devil is always in the  
details. How you set up multiple SOB servers and then get the  
publishes to multiple SOB servers can certainly create scaling and  
topology management issues.


Most sites to do not have the demands that AOL has - and a simple SOB  
solution would be nice addition to any content distribution system.   
However there are advantages to stateless systems. :-) (How's that  
for diplomatic)


M

On Oct 25, 2007, at 10:19 AM, Dossy Shiobara wrote:


On 2007.10.25, Jay Rohr <[EMAIL PROTECTED]> wrote:
In general, I would not recommend using sob. It was developed for  
very

specific requirements at AOL and it does not scale well under load -
volume or frequency.  We are in the process of replacing it with
something else.


Okay, this is just plain misinformation.  SOB works very well for what
it was intended for, a low-write, high-read, distributed service for
small objects (thus, the name "SOB").

Any scaling issues AOL is having has to do with how it has since been
misused and/or operationalized.

-- Dossy

--
Dossy Shiobara  | [EMAIL PROTECTED] | http://dossy.org/
Panoptic Computer Network   | http://panoptic.com/
  "He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on." (p. 70)


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to  
<[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the  
Subject: field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] nsdci query

2007-10-25 Thread Jay Rohr


Dossy Shiobara wrote:
> On 2007.10.25, Jay Rohr <[EMAIL PROTECTED]> wrote:
>   
>> In general, I would not recommend using sob. It was developed for very
>> specific requirements at AOL and it does not scale well under load -
>> volume or frequency.  We are in the process of replacing it with
>> something else.
>> 
>
> Okay, this is just plain misinformation.  SOB works very well for what
> it was intended for, a low-write, high-read, distributed service for
> small objects (thus, the name "SOB").
>
> Any scaling issues AOL is having has to do with how it has since been
> misused and/or operationalized.
>
>   
That was my point :-)

> -- Dossy
>
>   


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.
begin:vcard
fn:Jay J. Rohr
n:Rohr;Jay
email;internet:[EMAIL PROTECTED]
x-mozilla-html:TRUE
version:2.1
end:vcard



Re: [AOLSERVER] nsdci query

2007-10-25 Thread Tom Jackson
On Thursday 25 October 2007 07:19, Dossy Shiobara wrote:
> On 2007.10.25, Jay Rohr <[EMAIL PROTECTED]> wrote:
> > In general, I would not recommend using sob. It was developed for very
> > specific requirements at AOL and it does not scale well under load -
> > volume or frequency.  We are in the process of replacing it with
> > something else.
>
> Okay, this is just plain misinformation.  SOB works very well for what
> it was intended for, a low-write, high-read, distributed service for
> small objects (thus, the name "SOB").

I would agree with this. Although I haven't used SOB, I have looked at the 
code. If anyone can improve upon reading static information from disk or 
memory, then they can outperform SOB. My understanding is that SOB 
simply 'compiles' dynamic information into a semi-static form. For instance, 
how often does the weather change in Seattle? Although the information is 
dynamic over large timescales, over the course of one day, not much changes. 
If you have 100 queries a second for Seattle weather, maybe put it into a SOB 
and let a backend service update it when needed. 

Just because you have dynamic data doesn't mean you have to shoot yourself in 
the foot when your service becomes popular. 

I wrote a small subscribe/push service that for some reason I called a 
tclbean. (I gave up waiting for NVs to be released by AOL). Essentially a 
server (as client) connects to the publisher and gives a callback address and 
a series of nsv arrays to subscribe to. The publish server connects back to 
the client. A scheduled proc on the publish server pushes updates. The 
original client can then always grab information from the nsv array and not 
worry about anything else. It is hard to imagine scalability problems with 
design, and I doubt there are any with SOB. But it would be interesting to 
hear what issues were found.

tom jackson


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] nsdci query

2007-10-25 Thread Dossy Shiobara
On 2007.10.25, Jay Rohr <[EMAIL PROTECTED]> wrote:
> In general, I would not recommend using sob. It was developed for very
> specific requirements at AOL and it does not scale well under load -
> volume or frequency.  We are in the process of replacing it with
> something else.

Okay, this is just plain misinformation.  SOB works very well for what
it was intended for, a low-write, high-read, distributed service for
small objects (thus, the name "SOB").

Any scaling issues AOL is having has to do with how it has since been
misused and/or operationalized.

-- Dossy

-- 
Dossy Shiobara  | [EMAIL PROTECTED] | http://dossy.org/
Panoptic Computer Network   | http://panoptic.com/
  "He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on." (p. 70)


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] nsdci query

2007-10-25 Thread Jay Rohr
In general, I would not recommend using sob. It was developed for very
specific requirements at AOL and it does not scale well under load -
volume or frequency.  We are in the process of replacing it with
something else.

Jay

Damien O'Rourke wrote:
> So ns_http handles binary but sob doesn't ... but sob could if it used
> similar binary handling code to ns_http?
>
> Damien
>
>
> On 23/10/2007, at 12:13 PM, Michael Andrews wrote:
>
>> That's what I believe as well. While ns_http is a different code base
>> - I think both suffer from the same binary termination issue. I'm not
>> sure if we saw this when using nsob with the old DCIRPC protocol -
>> but we never used it for binary, so when we moved to HTTP we probably
>> never thought it to be problematic.
>>
>> Check out dcicommon/rpc.c and dcicommon/server.c (I think).
>>
>> M
>>
>> On Oct 22, 2007, at 9:08 PM, Jeff Rogers wrote:
>>
>>> Dossy Shiobara wrote:
> What I'm struggling with though is if I store an image file to the
> sob with sob.copy and then try and retrieve it later with nsob.get,
> it only returns the first 4 or 10 bytes of the file.
 SOB isn't encoding-aware and is actually really naive--it doesn't
 handle
 binary data well.
>>>
>>> Not sure if this it related, but I was just looking at ns_http for
>>> an unrelated purpose and it appears that it is not binary clean at
>>> all, since it uses Tcl_SetVar which expects a null-terminated
>>> string. Getting binary files typically resulted in a 4 byte
>>> response, could be that an average jpg file has a null at byte 4.
>>>
>>> -J
>>>
>>>
>>> -- 
>>> AOLserver - http://www.aolserver.com/
>>>
>>> To Remove yourself from this list, simply send an email to
>>> <[EMAIL PROTECTED]> with the
>>> body of "SIGNOFF AOLSERVER" in the email message. You can leave the
>>> Subject: field of your email blank.
>>
>>
>> -- 
>> AOLserver - http://www.aolserver.com/
>>
>> To Remove yourself from this list, simply send an email to
>> <[EMAIL PROTECTED]> with the
>> body of "SIGNOFF AOLSERVER" in the email message. You can leave the
>> Subject: field of your email blank.
>
>
> -- 
> AOLserver - http://www.aolserver.com/
>
> To Remove yourself from this list, simply send an email to
> <[EMAIL PROTECTED]> with the
> body of "SIGNOFF AOLSERVER" in the email message. You can leave the
> Subject: field of your email blank.
>


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.
begin:vcard
fn:Jay J. Rohr
n:Rohr;Jay
email;internet:[EMAIL PROTECTED]
x-mozilla-html:TRUE
version:2.1
end:vcard



Re: [AOLSERVER] nsdci query

2007-10-24 Thread Damien O'Rourke
So ns_http handles binary but sob doesn't ... but sob could if it  
used similar binary handling code to ns_http?


Damien


On 23/10/2007, at 12:13 PM, Michael Andrews wrote:

That's what I believe as well. While ns_http is a different code  
base - I think both suffer from the same binary termination issue.  
I'm not sure if we saw this when using nsob with the old DCIRPC  
protocol - but we never used it for binary, so when we moved to  
HTTP we probably never thought it to be problematic.


Check out dcicommon/rpc.c and dcicommon/server.c (I think).

M

On Oct 22, 2007, at 9:08 PM, Jeff Rogers wrote:


Dossy Shiobara wrote:

What I'm struggling with though is if I store an image file to the
sob with sob.copy and then try and retrieve it later with nsob.get,
it only returns the first 4 or 10 bytes of the file.
SOB isn't encoding-aware and is actually really naive--it doesn't  
handle

binary data well.


Not sure if this it related, but I was just looking at ns_http for  
an unrelated purpose and it appears that it is not binary clean at  
all, since it uses Tcl_SetVar which expects a null-terminated  
string. Getting binary files typically resulted in a 4 byte  
response, could be that an average jpg file has a null at byte 4.


-J


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to  
<[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave  
the Subject: field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to  
<[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the  
Subject: field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] HTTP client choices in AOLServer (was: RE: [AOLSERVER] nsdci query)

2007-10-23 Thread Tom Jackson
On Tuesday 23 October 2007 09:07, Rick Cobb wrote:
> ns_http (http://panoptic.com/wiki/aolserver/Ns_http)
>      Supports asynchronous operation
>      Supports all methods
>      Only supports BASIC auth
>      No proxy support
>      No SSL (https) support
>      Implemented largely in C
>      Available only in AOLServer 4 and above
>      Built-in
>      Only usable from a single thread (no channel/socket passing)

This isn't quite accurate. 

What is going on in ns_http, is that a single thread does socket operations. 
When you do a ns_http queue, it places the request in a queue in this thread 
(different than a connection thread).

The [ns_http queue] returns an id used during [ns_http wait]. [ns_http wait] 
can be called in a separate thread, like a scheduled proc. So you don't have 
to pass a socket around, it always remains in the queue thread. 

Also, you can add headers in a similar way to a regular request. That is, you 
provide a ns_set with additional headers. So whatever auth methods are 
supported with headers, you can do with ns_http. 


There is also ns_httpsget/post which handles https, just like ns_httpget/post. 
The commands ns_httpopen/ns_httpsopen are use by the get/post indirectly. I 
also think these may follow redirects.

tom jackson 


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] HTTP client choices in AOLServer (was: RE: [AOLSERVER] nsdci query)

2007-10-23 Thread Dossy Shiobara
On 2007.10.23, Rick Cobb <[EMAIL PROTECTED]> wrote:
> So, for example, if I want to communicate with a RESTful application
> (i.e., uses PUT, DELETE, etc) over HTTPS, it looks like there is no
> option. Of course, most such applications also provide a POST wrapper,
> but didn't the way-back Navi/AOLServer team have a solution for this?

As part of the nsopenssl module, there are (IMHO, broken)
implementations of ns_httpsopen and friends.

I think TclCurl will do SSL if the underlying libcurl is compiled with
support for it, too.

-- Dossy

-- 
Dossy Shiobara  | [EMAIL PROTECTED] | http://dossy.org/
Panoptic Computer Network   | http://panoptic.com/
  "He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on." (p. 70)


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] nsdci query

2007-10-23 Thread Jeff Rogers

Michael Andrews wrote:

I think the ns_http bug was fixed in the HEAD by Nate.


*ashamed*  Yeah, the code I'm looking at is 4.0.8, pretty old.  I 
probably just need to upgrade and this will work better.


-J


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


[AOLSERVER] HTTP client choices in AOLServer (was: RE: [AOLSERVER] nsdci query)

2007-10-23 Thread Rick Cobb
It seems to me like in AOLServer 4, we have four ways for Tcl code to
behave as an HTTP client.  Has anybody done any compare & contrast on
them?  As far as I can tell without a lot of code experience on some of
them, we have:

ns_http{open,get,post}
 Generally synchronous
 Only supports GET and POST
 Only supports BASIC auth
 No proxy support
 No SSL (https) support
 Implemented entirely in Tcl
 Best compatibility (available in AOLServer 2 - 4)
 Built-in
 Only usable from a single thread (no channel/socket passing)

ns_http (http://panoptic.com/wiki/aolserver/Ns_http)
 Supports asynchronous operation
 Supports all methods
 Only supports BASIC auth
 No proxy support
 No SSL (https) support
 Implemented largely in C
 Available only in AOLServer 4 and above
 Built-in
 Only usable from a single thread (no channel/socket passing)

Tcl's HTTP package (the one I know the least about)

 Supports asynchronous operation with progress callbacks
 Supports GET, POST, and HEAD
 Not obvious how to use any authentication other than BASIC
 Supports proxy on a per-call basis (but you're responsible for .pac
translation if necessary).
 Supports TLS/SSL (via callback)
 Somewhat more complicated API to use than the above options
 Built-in since Tcl 7?
 
TclCurl
(http://personal1.iddeo.es/andresgarci/tclcurl/english/docs.html)
 Supports asynchronous operation
 Supports GET and POST, not clear about others but don't look
supported
 Supports BASIC, DIGEST, GSS-Negotiate, NTLM
 Supports proxy on a per-call basis (but you're responsible for .pac
translation if necessary)
 Implemented in C
 Requires packaging work (bringing it into your Tcl & AOLServer
build)
 Multi-threading requires config / build - time work (c-ares)
 Passing handle between threads requires wrapping in your own mutex
 Supports FTP, telnet, other common URLs
 Substantially more complicated API to use than the other options

So, for example, if I want to communicate with a RESTful application
(i.e., uses PUT, DELETE, etc) over HTTPS, it looks like there is no
option. Of course, most such applications also provide a POST wrapper,
but didn't the way-back Navi/AOLServer team have a solution for this?

Thanks --
-- ReC

-Original Message-
From: AOLserver Discussion [mailto:[EMAIL PROTECTED] On Behalf
Of Michael Andrews
Sent: Tuesday, October 23, 2007 7:44 AM
To: AOLSERVER@LISTSERV.AOL.COM
Subject: Re: [AOLSERVER] nsdci query

I think the ns_http bug was fixed in the HEAD by Nate.

On Oct 23, 2007, at 9:31 AM, Tom Jackson wrote:

> Jeff,
>
> I have ns_http working, at least for me here with binary data.  
> Supposedly this
> is the reason for ns_http (not ns_httpget/post or ns_httpsget/post):
>
> Here is a script:
>
> set id [ns_http queue http://192.168.1.102:8000/sns-thumb.jpg]
>
> set ok [ns_http wait -result image -status status $id]
>
> if {"$status" == "200"} {
> set fd [open [file join [file dirname [info script]]  
> myimage.jpg] w+]
> } else {
> ns_return $status text/html $image
> return -code return
> }
>
> # Very important:
> fconfigure $fd -translation binary
>
> puts $fd $image
>
> close $fd
>
> ns_return $status text/html "Status: $status 
> My Image"
>
>
>
>
> On Monday 22 October 2007 18:08, Jeff Rogers wrote:
>> Dossy Shiobara wrote:
>>>> What I'm struggling with though is if I store an image file to the
>>>> sob with sob.copy and then try and retrieve it later with nsob.get,
>>>> it only returns the first 4 or 10 bytes of the file.
>>>
>>> SOB isn't encoding-aware and is actually really naive--it doesn't  
>>> handle
>>> binary data well.
>>
>> Not sure if this it related, but I was just looking at ns_http for an
>> unrelated purpose and it appears that it is not binary clean at all,
>> since it uses Tcl_SetVar which expects a null-terminated string.
>> Getting binary files typically resulted in a 4 byte response,  
>> could be
>> that an average jpg file has a null at byte 4.
>>
>> -J
>>
>>
>> --
>> AOLserver - http://www.aolserver.com/
>>
>> To Remove yourself from this list, simply send an email to
>> <[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER"  
>> in the
>> email message. You can leave the Subject: field of your email blank.
>
>
> --
> AOLserver - http://www.aolserver.com/
>
> To Remove yourself from this list, simply send an email to  
> <[EMAIL PROTECTED]> with the
> body of "SIGNOFF AOLSERVER" in the email message. You can leave the  
> Subject: field

Re: [AOLSERVER] nsdci query

2007-10-23 Thread Michael Andrews

I think the ns_http bug was fixed in the HEAD by Nate.

On Oct 23, 2007, at 9:31 AM, Tom Jackson wrote:


Jeff,

I have ns_http working, at least for me here with binary data.  
Supposedly this

is the reason for ns_http (not ns_httpget/post or ns_httpsget/post):

Here is a script:

set id [ns_http queue http://192.168.1.102:8000/sns-thumb.jpg]

set ok [ns_http wait -result image -status status $id]

if {"$status" == "200"} {
set fd [open [file join [file dirname [info script]]  
myimage.jpg] w+]

} else {
ns_return $status text/html $image
return -code return
}

# Very important:
fconfigure $fd -translation binary

puts $fd $image

close $fd

ns_return $status text/html "Status: $status 
My Image"




On Monday 22 October 2007 18:08, Jeff Rogers wrote:

Dossy Shiobara wrote:

What I'm struggling with though is if I store an image file to the
sob with sob.copy and then try and retrieve it later with nsob.get,
it only returns the first 4 or 10 bytes of the file.


SOB isn't encoding-aware and is actually really naive--it doesn't  
handle

binary data well.


Not sure if this it related, but I was just looking at ns_http for an
unrelated purpose and it appears that it is not binary clean at all,
since it uses Tcl_SetVar which expects a null-terminated string.
Getting binary files typically resulted in a 4 byte response,  
could be

that an average jpg file has a null at byte 4.

-J


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to
<[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER"  
in the

email message. You can leave the Subject: field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to  
<[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the  
Subject: field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] nsdci query

2007-10-23 Thread Tom Jackson
Jeff,

I have ns_http working, at least for me here with binary data. Supposedly this 
is the reason for ns_http (not ns_httpget/post or ns_httpsget/post):

Here is a script:

set id [ns_http queue http://192.168.1.102:8000/sns-thumb.jpg]

set ok [ns_http wait -result image -status status $id]

if {"$status" == "200"} {
set fd [open [file join [file dirname [info script]] myimage.jpg] w+]
} else {
ns_return $status text/html $image
return -code return
}

# Very important:
fconfigure $fd -translation binary

puts $fd $image

close $fd

ns_return $status text/html "Status: $status 
My Image"
 



On Monday 22 October 2007 18:08, Jeff Rogers wrote:
> Dossy Shiobara wrote:
> >> What I'm struggling with though is if I store an image file to the
> >> sob with sob.copy and then try and retrieve it later with nsob.get,
> >> it only returns the first 4 or 10 bytes of the file.
> >
> > SOB isn't encoding-aware and is actually really naive--it doesn't handle
> > binary data well.
>
> Not sure if this it related, but I was just looking at ns_http for an
> unrelated purpose and it appears that it is not binary clean at all,
> since it uses Tcl_SetVar which expects a null-terminated string.
> Getting binary files typically resulted in a 4 byte response, could be
> that an average jpg file has a null at byte 4.
>
> -J
>
>
> --
> AOLserver - http://www.aolserver.com/
>
> To Remove yourself from this list, simply send an email to
> <[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER" in the
> email message. You can leave the Subject: field of your email blank.


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] nsdci query

2007-10-22 Thread Michael Andrews
That's what I believe as well. While ns_http is a different code base  
- I think both suffer from the same binary termination issue. I'm not  
sure if we saw this when using nsob with the old DCIRPC protocol -  
but we never used it for binary, so when we moved to HTTP we probably  
never thought it to be problematic.


Check out dcicommon/rpc.c and dcicommon/server.c (I think).

M

On Oct 22, 2007, at 9:08 PM, Jeff Rogers wrote:


Dossy Shiobara wrote:

What I'm struggling with though is if I store an image file to the
sob with sob.copy and then try and retrieve it later with nsob.get,
it only returns the first 4 or 10 bytes of the file.
SOB isn't encoding-aware and is actually really naive--it doesn't  
handle

binary data well.


Not sure if this it related, but I was just looking at ns_http for  
an unrelated purpose and it appears that it is not binary clean at  
all, since it uses Tcl_SetVar which expects a null-terminated  
string. Getting binary files typically resulted in a 4 byte  
response, could be that an average jpg file has a null at byte 4.


-J


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to  
<[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the  
Subject: field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] nsdci query

2007-10-22 Thread Damien O'Rourke
Thanks Andrew. And what Jeff Rogers mentioned about ns_http not being  
binary friendly seems to tie in with that.


The way I've got round it so far is to use the nsob.copy for loading  
up the files, and nproxy plus 2 level cache like the sob system for  
getting the image files. That way I can at least set the encoding  
when reading and returning. It would have been nicer if the sob  
system handled it all though ...


Damien

On 23/10/2007, at 10:47 AM, Michael Andrews wrote:

nsob is mostly used for text content. While the "copy" would work  
with a binary file - a "get" would probably not work with a binary  
file since it is set up over HTTP and the binary code might  
terminate the HTTP response before intended. But that is just a  
guess. I have not really read the RPC/HTTP code in nsdci.


M

On Oct 22, 2007, at 7:28 PM, Damien O'Rourke wrote:


Hi,

I've been experimenting with the components in nsdci, most  
particularly the sob service, and am impressed with it. What I'm  
struggling with though is if I store an image file to the sob with  
nsob.copy and then try and retrieve it later with nsob.get, it  
only returns the first 4 or 10 bytes of the file.  If I do a  
nsob.put I can then do a nsob.get successfully, but the image file  
stored by the nsob.put command is not viewable with other image  
viewers. I suspect this is an encoding/binary issue but haven't  
been able to figure out the where and whyfor.
Any ideas on where the issue might be or whether it's even  
possible to do what I want using the sob component?


Thanks

Damien O'Rourke


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to  
<[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave  
the Subject: field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to  
<[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the  
Subject: field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] nsdci query

2007-10-22 Thread Jeff Rogers

Dossy Shiobara wrote:

What I'm struggling with though is if I store an image file to the
sob with sob.copy and then try and retrieve it later with nsob.get,
it only returns the first 4 or 10 bytes of the file.


SOB isn't encoding-aware and is actually really naive--it doesn't handle
binary data well.


Not sure if this it related, but I was just looking at ns_http for an 
unrelated purpose and it appears that it is not binary clean at all, 
since it uses Tcl_SetVar which expects a null-terminated string. 
Getting binary files typically resulted in a 4 byte response, could be 
that an average jpg file has a null at byte 4.


-J


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] nsdci query

2007-10-22 Thread Damien O'Rourke

Dossy,

thanks for the quick response. I didn't find any issues in getting it  
working ... even splitting the components across different servers.  
And possibly I didn't explain my issue adequately as what I can do  
successfully at the moment is
- have an image uploaded via web page to frontend server (which saves  
it as temp file)
- open and load the temp file as binary into a variable and send that  
to the sob server with nsob.put
-- This stores it ... but not in binary format (i believe) as I can't  
view that image with some other image viewer, but I can view it in  
web page using nsob.get. So I think it's already in utf-8 format,  
which is why it works. 


But what doesn't work is
- open and load the temp file as binary into a variable and send that  
to the sob server with nsob.copy
-- This stores it ... and in the original binary format as it's  
viewable with other image viewers. But is not viewable using nsob.get


I really need to keep the binary format when it's stored by the sob  
server ... so the images can be viewed by other apps ... and also be  
viewable using nsob.get. Where it seems to be failing at the moment  
is, even though the sob server stored the data as binary (using  
nsob.copy), it doesn't seem to be able to read it in and return it  
using nsob.get. So I think nsob.get needs to be able to convert from  
binary to utf-8 to successfully return it ... ??


Thanks

Damien O'Rourke
[EMAIL PROTECTED]



On 23/10/2007, at 10:11 AM, Dossy Shiobara wrote:


On 2007.10.23, Damien O'Rourke <[EMAIL PROTECTED]> wrote:

I've been experimenting with the components in nsdci, most
particularly the sob service, and am impressed with it.


I'm SO glad you were able to get it working!  I keep hearing "we need
documentation first" from people, but apparently there was enough for
you to get it going, at least.


What I'm struggling with though is if I store an image file to the
sob with sob.copy and then try and retrieve it later with nsob.get,
it only returns the first 4 or 10 bytes of the file.


SOB isn't encoding-aware and is actually really naive--it doesn't  
handle

binary data well.

A work-around that may work is to use Tcl's [encoding] explicitly,
i.e.:

nsob.put $id [encoding convertto utf-8 $value]

I believe if you do this, you shouldn't need to do anything special  
when

you nsob.get, as Tcl internally expects the data to be utf-8.

-- Dossy

--
Dossy Shiobara  | [EMAIL PROTECTED] | http://dossy.org/
Panoptic Computer Network   | http://panoptic.com/
  "He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on." (p. 70)


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to  
<[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the  
Subject: field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] nsdci query

2007-10-22 Thread Michael Andrews
nsob is mostly used for text content. While the "copy" would work  
with a binary file - a "get" would probably not work with a binary  
file since it is set up over HTTP and the binary code might terminate  
the HTTP response before intended. But that is just a guess. I have  
not really read the RPC/HTTP code in nsdci.


M

On Oct 22, 2007, at 7:28 PM, Damien O'Rourke wrote:


Hi,

I've been experimenting with the components in nsdci, most  
particularly the sob service, and am impressed with it. What I'm  
struggling with though is if I store an image file to the sob with  
nsob.copy and then try and retrieve it later with nsob.get, it only  
returns the first 4 or 10 bytes of the file.  If I do a nsob.put I  
can then do a nsob.get successfully, but the image file stored by  
the nsob.put command is not viewable with other image viewers. I  
suspect this is an encoding/binary issue but haven't been able to  
figure out the where and whyfor.
Any ideas on where the issue might be or whether it's even possible  
to do what I want using the sob component?


Thanks

Damien O'Rourke


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to  
<[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the  
Subject: field of your email blank.



--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.


Re: [AOLSERVER] nsdci query

2007-10-22 Thread Dossy Shiobara
On 2007.10.23, Damien O'Rourke <[EMAIL PROTECTED]> wrote:
> I've been experimenting with the components in nsdci, most  
> particularly the sob service, and am impressed with it.

I'm SO glad you were able to get it working!  I keep hearing "we need
documentation first" from people, but apparently there was enough for
you to get it going, at least.

> What I'm struggling with though is if I store an image file to the
> sob with sob.copy and then try and retrieve it later with nsob.get,
> it only returns the first 4 or 10 bytes of the file.

SOB isn't encoding-aware and is actually really naive--it doesn't handle
binary data well.

A work-around that may work is to use Tcl's [encoding] explicitly,
i.e.:

nsob.put $id [encoding convertto utf-8 $value]

I believe if you do this, you shouldn't need to do anything special when
you nsob.get, as Tcl internally expects the data to be utf-8.

-- Dossy

-- 
Dossy Shiobara  | [EMAIL PROTECTED] | http://dossy.org/
Panoptic Computer Network   | http://panoptic.com/
  "He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on." (p. 70)


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.