Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
June 2010
- 97 participants
- 1142 messages
Re: [Pharo-project] Hash values
by Andres Valloud
I still think leaving identityHash alone and using scaledIdentityHash to
multiply by 2^18 is better for backwards compatibility. However, I do
not know how much of a problem changing identityHash will cause for
existing code. Something that has always bugged me about changing
identityHash is that (as far as I've seen) identityHash is typically
assumed to answer whatever bits are in the object header. I am not sure
introducing an exception in Pharo, or even changing the assumption that
has held for decades, is worth the benefit of changing identityHash.
On 6/2/10 0:44 , Stéphane Ducasse wrote:
>>>>
>>>>> Hi!
>>>>> Apparently in Pharo 1.1, hash values may be greater than 4096. What is the range of the hash values?
>>>>> Cheers,
>>>>> Alexandre
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>
>>>> Hash values could always be greater than 4096 :)
>>>> Identity hashes can't, but they are scaled in 1.1, to avoid bad clustering
>>>>
>>> That's not true. You may be surprised, but the value of #identityHash can be any SmallInteger. Just try this:
>>> {SmallInteger minVal. SmallInteger maxVal} collect: #identityHash.
>>>
>> Yeah, forgot about that one.
>>
>>>
>>>> for objects not redefining hash.
>>>> Basically they're multiplied by 2^18, which gives the largest possible range while still keeping all small integers.
>>>> See ProtoObject>>identityHash for details, old identityHash is now basicIdentityHash.
>>>>
>>> This may cause compatibility problems for packages which implement custom hashes or custom hashed collections. I think Magma will be affected by this, though I didn't check the code.
>>>
>>>
>>>
>> Not sure why it ended up basicIdentity / identity instead of identity / scaledIdentity, but that's true.
>>
> so what should we do in 1.2?
>
> Stef
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
June 2, 2010
Re: [Pharo-project] Hash values
by Stéphane Ducasse
>>>
>>>> Hi!
>>>> Apparently in Pharo 1.1, hash values may be greater than 4096. What is the range of the hash values?
>>>> Cheers,
>>>> Alexandre
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> Pharo-project(a)lists.gforge.inria.fr
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>> Hash values could always be greater than 4096 :)
>>> Identity hashes can't, but they are scaled in 1.1, to avoid bad clustering
>>
>> That's not true. You may be surprised, but the value of #identityHash can be any SmallInteger. Just try this:
>> {SmallInteger minVal. SmallInteger maxVal} collect: #identityHash.
> Yeah, forgot about that one.
>>
>>> for objects not redefining hash.
>>> Basically they're multiplied by 2^18, which gives the largest possible range while still keeping all small integers.
>>> See ProtoObject>>identityHash for details, old identityHash is now basicIdentityHash.
>>
>> This may cause compatibility problems for packages which implement custom hashes or custom hashed collections. I think Magma will be affected by this, though I didn't check the code.
>>
>>
> Not sure why it ended up basicIdentity / identity instead of identity / scaledIdentity, but that's true.
so what should we do in 1.2?
Stef
June 2, 2010
Re: [Pharo-project] Hash values
by Henrik Johansen
On Jun 2, 2010, at 3:04 32AM, Levente Uzonyi wrote:
> On Wed, 2 Jun 2010, Henrik Sperre Johansen wrote:
>
>> On 02.06.2010 00:15, Alexandre Bergel wrote:
>>> Hi!
>>> Apparently in Pharo 1.1, hash values may be greater than 4096. What is the range of the hash values?
>>> Cheers,
>>> Alexandre
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>> Hash values could always be greater than 4096 :)
>> Identity hashes can't, but they are scaled in 1.1, to avoid bad clustering
>
> That's not true. You may be surprised, but the value of #identityHash can be any SmallInteger. Just try this:
> {SmallInteger minVal. SmallInteger maxVal} collect: #identityHash.
Yeah, forgot about that one.
>
>> for objects not redefining hash.
>> Basically they're multiplied by 2^18, which gives the largest possible range while still keeping all small integers.
>> See ProtoObject>>identityHash for details, old identityHash is now basicIdentityHash.
>
> This may cause compatibility problems for packages which implement custom hashes or custom hashed collections. I think Magma will be affected by this, though I didn't check the code.
>
>
Not sure why it ended up basicIdentity / identity instead of identity / scaledIdentity, but that's true.
Cheers,
Henry
June 2, 2010
Re: [Pharo-project] Can I use Projects in Pharo?
by Lukas Renggli
I have my different "projects" in different images. That works perfectly.
Lukas
On 2 June 2010 08:46, Stéphane Ducasse <stephane.ducasse(a)inria.fr> wrote:
>> +1 on missing projects.
>
> to do what?
>
>> What is our plan to replace this functionality?
> which one exactly?
>
>> Â Is the objection to the
>> idea of projects in general, or just the Squeak implementation?
>
> I let you guess :)
>
>> I found it absolutely priceless to have a world for each task at hand - each
>> set up for a particular logical task, but having access to all the classes
>> in the system.
>
> well I spent so many hours trying to work with projects for doing demos and
> my botinc book that I can tell you that they can really kill you.
>
> Do you know for example that when you save a project, only the last changeset is saved
> with it. Then what happen if in another project you change the exact same method?
> since changes do not record changes themselves but just the fact that they was a change
> you can be in funny situation.
>
> Stef
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
--
Lukas Renggli
www.lukas-renggli.ch
June 2, 2010
Re: [Pharo-project] Can I use Projects in Pharo?
by Stéphane Ducasse
> +1 on missing projects.
to do what?
> What is our plan to replace this functionality?
which one exactly?
> Is the objection to the
> idea of projects in general, or just the Squeak implementation?
I let you guess :)
> I found it absolutely priceless to have a world for each task at hand - each
> set up for a particular logical task, but having access to all the classes
> in the system.
well I spent so many hours trying to work with projects for doing demos and
my botinc book that I can tell you that they can really kill you.
Do you know for example that when you save a project, only the last changeset is saved
with it. Then what happen if in another project you change the exact same method?
since changes do not record changes themselves but just the fact that they was a change
you can be in funny situation.
Stef
June 2, 2010
Re: [Pharo-project] Can I use Projects in Pharo?
by Stéphane Ducasse
On Jun 1, 2010, at 11:22 PM, Jochen Riekhof wrote:
> Hi Stef...
>
> Thank you for the welcome and quick answer!
>
>> you cannot anymore. We have not finished to curve it out and you trust us that if we remove it this is for good reasons.
>
> Sure I understand that cleanup is important to get a stable and maintainable platform. When I understand correctly this is one of the main goals of Pharo :-).
let us say it like that but the goals of pharo is really to not just have one smalltalk but reconsider a lot of decisions.
So like in house renovation, right we are just removing the old carpets :)
The key point at the end is what is the smalltalk inspired system that we want to use in the next 20 years.
> However, regardless of implementation, the functionality delivered by projects is great. Are you planning something new in place of the old projects?
like what because projects had so many facets: saving only one of the changeset and making sure that you lost your code?
> (For example my current main tool for work is Intellij IDEA (Java) and one of it's great features is the possibility to define multiple tasks per project, each with an own set of open files, breakpoints etc. Also you can associate such a task with a version control change-set So you can switch contexts with a click and immediately continue working on a task where you left it).
This is a different story :) We would be really interested in a well done IDEA like system. Now we do not have the ressources to do it but if
somebody start small and we will be happy to integrate and support it.
Stef
June 2, 2010
Re: [Pharo-project] SUnit Time out
by Andreas Raab
Hi Chris -
Let me comment on this from a more general point of view first, before
going into the specifics. I've spent the last five years building a
distributed system and during this time I've learned a couple of things
about the value of timeouts :-) One thing that I've come to understand
is that *no* operation is unbounded. We may leisurely talk about "just
wait until it's done" but the reality is that regardless of what the
operation is we never actually wait forever. At some point we *will*
give up no matter what you may think. This is THE fundamental point
here. Everything else is basically haggling about what the right timeout is.
For the right timeout the second fundamental thing to understand is that
if there's a question of whether the operation "maybe" completed, then
your timeout is too short. Period. The timeout's value is not to
indicate that "maybe" the operation completed, it is there to say
unequivocally that something caused it to not complete and that it DID fail.
Obviously, introducing timeouts will create some initial false
positives. But it may be interesting to be a bit more precise on what
we're talking about. To do this I attributed TestRunner to measure the
time it takes to run each test and then ran all the tests in 4.2 to see
where that leads us. As you might expect, the distribution is extremely
uneven. Out of 2681 tests run 2588 execute in < 500 msecs (approx. 1800
execute with no measurable time); 2630 execute in less than one second,
leaving a total of 51 that take more than a second and only three tests
actually take longer than 5 seconds and they are all tagged as such.
As you can see the vast majority of tests have a "safety margin" of 10x
or more between the time the test usually takes and its timeout value.
Generally speaking, this margin is sufficient to compensate for "other"
effects that might rightfully delay the completion of the test in time.
If you have tests that commonly vary by 10x I'd be interested in finding
out more about what makes them so unpredictable.
So if your question is "are my timeouts to tight" one thing we could do
is to introduce the 10x as a more or less general guideline for
executing tests, and perhaps add a transcript notifier if we ever come
closer than 1/3rd of the specified timeout value (i.e., indicating that
something in the nature of the test has changed that should be reflected
in its timeout). This would give you ample warning that you need to
adjust your test even if it isn't (yet) failing on the timeout.
That said, a couple of concrete comments to your post:
On 5/30/2010 11:52 AM, Chris Muller wrote:
> (Copying squeak-dev too).
>
> I'm not sold on the whole test timeout thing. When I run tests, I
> want to know the answer to the question, "is the software working?"
Correct.
> Putting a timeout on tests trades a slower, but definitive, "yes" or
> "no" for a supposedly-faster "maybe". But is getting a "maybe" back
> really faster? I've just incurred the cost of running a test suite,
> but left without my answer. I get a "maybe", what am I supposed to do
> next? Find a faster machine? Hack into the code to fiddle with a
> timeout pragma? That's not faster..
See above. If you're thinking "maybe", then the timeout is too short.
> But, the reason given for the change was not for running tests
> interactively (the 99% case), rather, all tests form the beginning of
> time are now saddled with a timeout for the 1% case:
As the data shows, this is already the case. It may be interesting to
note that so far there were a total of 5 (five) places that had to be
adjusted in Squeak. One was a general place (the default timeout for the
decompiler tests) and four were individual methods. Considering that
computers usually don't become slower over time, it seems unlikely that
further adjustments will be necessary here. So the bottom line is that
the changes required aren't exactly excessive.
> "The purpose of the timeout is to catch issues like infinite loops,
> unexpected user input etc. in automated test environments."
>
> If tests are supposed to be quick (and deterministic) anyway, wouldn't
> an infinite loop or user-input be caught the first time the test was
> run (interactively)? Seriously, when you make software changes, we
> run the tests interactively first, and then the purpose of night-time
> automated test environment is to catch regressions on the merged
> code.
These changes are largely intended for automated integration testing. I
am hoping to automate the tests for community supported packages to a
point where there will be no user in front of the system. Even if there
were, it's not clear whether that person can fix the issue immediately
or whether the entire process is stuck because someone can momentarily
not fix the problem at hand and the tests will never run to completion
and produce any useful result.
So the idea here is not that unit tests are *only* to catch regressions
in previously manually tested (combinations of) code. The idea is to
catch interactions, and integration bugs and be able to produce a result
even if there is no user to watch the particular combination of packages
being loaded together in this particular form.
Perhaps that is our problem here? It seems to me that you're taking a
view that says unit tests are exclusively for regression testing and
consequently there is no way a previously successful test would suddenly
become unsuccessful in a way that makes it time out ... but you know,
having written this sentence, it makes no sense to me. If we'd know
beforehand that tests fail only in particular known ways we wouldn't
have to run them to begin with. The whole idea of running the tests to
catch *unexpected* situations and as a consequence there is value of
capturing these situations instead of hanging and producing no useful
result.
> In that case, the high-level test-controller which spits out the
> results could and should be responsible for handling "unexpected user
> input" and/or putting in a timeout, not each and every last test
> method..
Do you have such a "high-level test-controller"? Or do you mean a human
being spending their time watching the tests run to completion? If the
former, I'm curious as to how it would differ from what I did. If the
latter, are you volunteering? ;-)
> IMO, we want short tests, so let's just write them to be short. If
> they're too long, then the encouragement to shorten them comes from
> our own impatience of running them interactively. Running them in
> batch at night requires no patience, because we're sleeping, and
> besides, the batch processor should take responsibility for handling
> those rare scenarios at a higher-level..
The goal for the timeouts is *not* to cause you to write shorter tests.
If you're looking at it this way you're looking at it from the wrong
angle. Up your timeout to whatever you feel is sensible to have trust in
the results of the tests. As I said earlier, I'm quite happy to discuss
the default timeout; it's simply that with some 95% coverage on a 10x
safety margin it feels to me that we're playing it safe enough for the
remaining cases to have explicit timeouts.
Cheers,
- Andreas
June 2, 2010
Re: [Pharo-project] Can I use Projects in Pharo?
by Sean P. DeNigris
+1 on missing projects.
What is our plan to replace this functionality? Is the objection to the
idea of projects in general, or just the Squeak implementation?
I found it absolutely priceless to have a world for each task at hand - each
set up for a particular logical task, but having access to all the classes
in the system.
Sean
--
View this message in context: http://forum.world.st/Can-I-use-Projects-in-Pharo-tp2239170p2239563.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
June 2, 2010
Re: [Pharo-project] Using WebClient
by Andreas Raab
Hi Germán -
Sorry I missed this discussion earlier. First of all, looking at the
page should give you all the information you need to derive the basic
parameters for the html form submission (see [1]). The "action"
attribute of the form tag will tell you the URL for the request; the
"method" attribute will tell you what HTTP method to use (GET/POST;
default is GET) and the "enctype" attribute what encoding to use
(default is application/x-www-form-urlencoded).
Armed with this information you can set up your HTTP request properly.
I've started to add utility methods for this in WebClient (fetch the
latest version straight from http://squeaksource.com/WebClient) With
this version you can now do some simple form submissions like Googling
for Squeak in English:
WebClient
htmlSubmit: 'http://www.google.com/search'
fields: {
'hl' -> 'en'.
'q' -> 'Squeak'
}
Unfortunately, it currently doesn't support multipart/form-data since I
have no experience with these encodings. If you figure it out, drop me a
note (or better: some code :-) for how to do it, and I'll add it.
[1] http://www.google.com/search?q=html+form+tag
Cheers,
- Andreas
On 6/1/2010 6:48 PM, Germán Arduino wrote:
> Thanks by the response Bill.
>
> I investigated a bit more and found Tamper, a firefox extension to
> view and modify HTTP/HTTPS headers and post parameters.
>
> Then I discovered that this form that I need to deal with, use
> multipart/form-data and I must deal also with boundaries
> (http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html) I'm reading
> a bit more to fully understand this stuff and may be the WebClient is
> usable as is or I can modify it to this sort of use. I will comment
> when have more news.
>
> Thanks again by the help.
>
> Germán.
>
>
>
> 2010/6/1 Schwab,Wilhelm K<bschwab-ZyIy6kptTSJkZI0wD67Jjg(a)public.gmane.org>:
>> You can do a simple "man in the middle attack" on yourself. One approach would be to set up your own web server, serve the page with the form to a "real" browser and see what it sends when you submit the form. There is probably also a way to do it with a proxy of some sort, either off the shelf or one you write to log traffic both ways, and then you quickly get a picture of how the conversation works. A network sniffer might be another option.
>>
>> I have had to do things like this with either network or serial port traffic at various times. A few years back, an engineer with a medical device manufacturer was late delivering something that we happened to need at a time that was inconvenient for him. The solution: blame the confusion on the customer (me), of course, and hope that he could later give us something that might make things "easier" on us (which would be a working version of their new software). It got pretty ridiculous shortly before he had to admit that it didn't work. The funny thing was that their demo program for the "new protocol" was using something that looked exactly like the old one :) I was able to show that because I wrote a replacement for their device and connected their program to it: it was obviously not doing what he was claiming.
>>
>> Bill
>>
>> ________________________________________
>> From: pharo-project-bounces-bM+ny+RY8h+a+bCvCPl5/gCzwTLBPCX0(a)public.gmane.org [pharo-project-bounces(a)lists.gforge.inria.fr] On Behalf Of Germán Arduino [garduino-Re5JQEeQqe8AvxtiuMwx3w(a)public.gmane.org]
>> Sent: Monday, May 31, 2010 1:39 PM
>> To: Pharo-project-bM+ny+RY8h+a+bCvCPl5/gCzwTLBPCX0(a)public.gmane.org
>> Cc: The general-purpose Squeak developers list
>> Subject: Re: [Pharo-project] Using WebClient
>>
>> Talking of post method, I tried to capture it with Firebug to
>> understand what data post with WebClient, but no way until now.
>>
>> Exist some trick to obtain the exact content of the data to post only
>> debuggin the web page?
>>
>> Cheers.
>>
>>
>> 2010/5/29 Germán Arduino<garduino-Re5JQEeQqe8AvxtiuMwx3w(a)public.gmane.org>:
>>> I think that is a post method in this case, but can't make it work (yet).
>>>
>>> 2010/5/29 Schwab,Wilhelm K<bschwab-ZyIy6kptTSJkZI0wD67Jjg(a)public.gmane.org>:
>>>> It's been a long time, but won't the button cause the browser to send a post or get (whichever action is specified in the form) to the server? It might be enough to decide the content of that and send it over the socket. I am probably thinking in CGI terms, which might not be what you need.
>>>>
>>>>
>>>> ________________________________________
>>>> From: pharo-project-bounces-bM+ny+RY8h+a+bCvCPl5/gCzwTLBPCX0(a)public.gmane.org [pharo-project-bounces(a)lists.gforge.inria.fr] On Behalf Of Stéphane Ducasse [stephane.ducasse(a)inria.fr]
>>>> Sent: Saturday, May 29, 2010 4:14 PM
>>>> To: Pharo-project-bM+ny+RY8h+a+bCvCPl5/gCzwTLBPCX0(a)public.gmane.org
>>>> Subject: Re: [Pharo-project] Using WebClient
>>>>
>>>> if you get answers from squeak-dev let us know.
>>>>
>>>>
>>>> Stef
>>>>
>>>>
>>>> On May 29, 2010, at 10:02 PM, Germán Arduino wrote:
>>>>
>>>>> Hi:
>>>>>
>>>>> I'm trying to automate some operations on a web page that requires
>>>>> authentication.
>>>>>
>>>>> I managed to arrive to the form that I need to process, authenticated
>>>>> without problems.
>>>>>
>>>>> But I can't figure out how to process the button (is a button of this type:
>>>>>
>>>>> <input class="lButton" style="" name="submit_search"
>>>>> value="Create File" type="submit"> ) to execute the Create File action.
>>>>>
>>>>> The form have two dates (that I can calculate and fill in) but I can't
>>>>> to imagine how to process the submit button programmatically.
>>>>>
>>>>> Any hint will be appreciated.
>>>>>
>>>>> Cheers.
>>>>>
>>>>> --
>>>>> =================================================
>>>>> Germán S. Arduino<gsa @ arsol.net> Twitter: garduino
>>>>> Arduino Software& Web Hosting http://www.arduinosoftware.com
>>>>> PasswordsPro http://www.passwordspro.com
>>>>> =================================================
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> Pharo-project-bM+ny+RY8h+a+bCvCPl5/gCzwTLBPCX0(a)public.gmane.org
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> Pharo-project-bM+ny+RY8h+a+bCvCPl5/gCzwTLBPCX0(a)public.gmane.org
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> Pharo-project-bM+ny+RY8h+a+bCvCPl5/gCzwTLBPCX0(a)public.gmane.org
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>
>>>
>>>
>>> --
>>> =================================================
>>> Germán S. Arduino<gsa @ arsol.net> Twitter: garduino
>>> Arduino Software& Web Hosting http://www.arduinosoftware.com
>>> PasswordsPro http://www.passwordspro.com
>>> =================================================
>>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project-bM+ny+RY8h+a+bCvCPl5/gCzwTLBPCX0(a)public.gmane.org
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project-bM+ny+RY8h+a+bCvCPl5/gCzwTLBPCX0(a)public.gmane.org
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
June 2, 2010
Re: [Pharo-project] Using WebClient
by Germán Arduino
Thanks by the response Bill.
I investigated a bit more and found Tamper, a firefox extension to
view and modify HTTP/HTTPS headers and post parameters.
Then I discovered that this form that I need to deal with, use
multipart/form-data and I must deal also with boundaries
(http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html) I'm reading
a bit more to fully understand this stuff and may be the WebClient is
usable as is or I can modify it to this sort of use. I will comment
when have more news.
Thanks again by the help.
Germán.
2010/6/1 Schwab,Wilhelm K <bschwab(a)anest.ufl.edu>:
> You can do a simple "man in the middle attack" on yourself. Â One approach would be to set up your own web server, serve the page with the form to a "real" browser and see what it sends when you submit the form. Â There is probably also a way to do it with a proxy of some sort, either off the shelf or one you write to log traffic both ways, and then you quickly get a picture of how the conversation works. Â A network sniffer might be another option.
>
> I have had to do things like this with either network or serial port traffic at various times. Â A few years back, an engineer with a medical device manufacturer was late delivering something that we happened to need at a time that was inconvenient for him. Â The solution: blame the confusion on the customer (me), of course, and hope that he could later give us something that might make things "easier" on us (which would be a working version of their new software). Â It got pretty ridiculous shortly before he had to admit that it didn't work. Â The funny thing was that their demo program for the "new protocol" was using something that looked exactly like the old one :) Â I was able to show that because I wrote a replacement for their device and connected their program to it: it was obviously not doing what he was claiming.
>
> Bill
>
> ________________________________________
> From: pharo-project-bounces(a)lists.gforge.inria.fr [pharo-project-bounces(a)lists.gforge.inria.fr] On Behalf Of Germán Arduino [garduino(a)gmail.com]
> Sent: Monday, May 31, 2010 1:39 PM
> To: Pharo-project(a)lists.gforge.inria.fr
> Cc: The general-purpose Squeak developers list
> Subject: Re: [Pharo-project] Using WebClient
>
> Talking of post method, I tried to capture it with Firebug to
> understand what data post with WebClient, but no way until now.
>
> Exist some trick to obtain the exact content of the data to post only
> debuggin the web page?
>
> Cheers.
>
>
> 2010/5/29 Germán Arduino <garduino(a)gmail.com>:
>> I think that is a post method in this case, but can't make it work (yet).
>>
>> 2010/5/29 Schwab,Wilhelm K <bschwab(a)anest.ufl.edu>:
>>> It's been a long time, but won't the button cause the browser to send a post or get (whichever action is specified in the form) to the server? Â It might be enough to decide the content of that and send it over the socket. Â I am probably thinking in CGI terms, which might not be what you need.
>>>
>>>
>>> ________________________________________
>>> From: pharo-project-bounces(a)lists.gforge.inria.fr [pharo-project-bounces(a)lists.gforge.inria.fr] On Behalf Of Stéphane Ducasse [stephane.ducasse(a)inria.fr]
>>> Sent: Saturday, May 29, 2010 4:14 PM
>>> To: Pharo-project(a)lists.gforge.inria.fr
>>> Subject: Re: [Pharo-project] Using WebClient
>>>
>>> if you get answers from squeak-dev let us know.
>>>
>>>
>>> Stef
>>>
>>>
>>> On May 29, 2010, at 10:02 PM, Germán Arduino wrote:
>>>
>>>> Hi:
>>>>
>>>> I'm trying to automate some operations on a web page that requires
>>>> authentication.
>>>>
>>>> I managed to arrive to the form that I need to process, authenticated
>>>> without problems.
>>>>
>>>> But I can't figure out how to process the button (is a button of this type:
>>>>
>>>> <input class="lButton" style="" name="submit_search"
>>>> value="Create File" type="submit"> ) Â to execute the Create File action.
>>>>
>>>> The form have two dates (that I can calculate and fill in) but I can't
>>>> to imagine how to process the submit button programmatically.
>>>>
>>>> Any hint will be appreciated.
>>>>
>>>> Cheers.
>>>>
>>>> --
>>>> =================================================
>>>> Germán S. Arduino  <gsa @ arsol.net>  Twitter: garduino
>>>> Arduino Software & Web Hosting  http://www.arduinosoftware.com
>>>> PasswordsPro  http://www.passwordspro.com
>>>> =================================================
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> Pharo-project(a)lists.gforge.inria.fr
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>>
>> --
>> =================================================
>> Germán S. Arduino  <gsa @ arsol.net>  Twitter: garduino
>> Arduino Software & Web Hosting  http://www.arduinosoftware.com
>> PasswordsPro  http://www.passwordspro.com
>> =================================================
>>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
June 2, 2010