Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- November
- October
- September
- August
- 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
- 3 participants
- 144636 messages
Re: [Pharo-dev] [Issue tracker] *Please* look at your old reported issues!
by Alexandre Bergel
> Not with the tons of configs I load and the fact that Roassal2 has been moving under my feet.
But do you still stand ? :-)
Is everything okay with Roassal2 config?
Cheers,
Alexandre
>
> On Thu, Jul 30, 2015 at 11:07 AM, Sven Van Caekenberghe <sven(a)stfx.eu <mailto:sven@stfx.eu>> wrote:
>
> > On 30 Jul 2015, at 10:27, phil(a)highoctane.be <mailto:phil@highoctane.be> wrote:
> >
> > Most of the feedback is "won't fix" or "done in 4.x or 5.x"
> > All nice but hard to look at as day to day work is in 3.0
>
> You have to move, you are missing out on all the nice stuff !
>
> Seriously, I understand that you stay at what you know because things are probably already complex enough, but really upgrading is often easier than you think.
>
> > This effect will only get worse over time I guess.
> >
> > On Thu, Jul 30, 2015 at 9:04 AM, Marcus Denker <marcus.denker(a)inria.fr <mailto:marcus.denker@inria.fr>> wrote:
> > Hi,
> >
> > We have 622 open issues. There are *a lot* of old issues that nobody will ever look at.
> > Please check those that *you* submitted to see what the status is!
> >
> > If it is just âwould be niceâ, but not even on a level that you yourself are willing to even
> > send a mail to the mailing list to get people interested in helping you to push the case
> > forward, maybe you could think about closing the issue?
> >
> > Maybe someone asked a question? If you submit an issue and there is a question not answered
> > for a month, we should close it: How important can it be? Why should *I* spend the time to fix
> > this issue if *you* are not even willing to answer a question in a minute?
> >
> > It makes no sense to have lots and lots of issues that are not important even for the submitter.
> >
> > Another thing is that issues get fixed, subsystems replaced, code removed⦠and the amazing thing
> > is that *never* the submitter of the original report closes it, even in these obvious cases.
> >
> > The issue tracker is not a one way street!
> >
> > Marcus
> >
> >
> >
>
>
>
July 30, 2015
Re: [Pharo-dev] [Moose-dev] Re: GanttChartMorph openOn: aCollectionOfActivities ?
by Peter Uhnák
>
> This is really agile ... version 1005 of Roassal loaded and version
> 305 of Trachel :-)
>
yay, at least someone benefits from the blazing fast development :)
July 30, 2015
Re: [Pharo-dev] [Moose-dev] Re: GanttChartMorph openOn: aCollectionOfActivities ?
by H. Hirzel
Alexandre,
This is really agile ... version 1005 of Roassal loaded and version
305 of Trachel :-)
The GANTT chart works fine, see screen shot.
How do I export it as SVG code in Roassal?
--Hannes
On 7/29/15, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
> Pure agile development: the latest version is the one that count.
> You need to update two packages: Roassal2 and Trachel.
>
> Cheers,
> Alexandre
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>> On Jul 29, 2015, at 3:24 PM, H. Hirzel <hannes.hirzel(a)gmail.com> wrote:
>>
>> Or a configuration? Which one?
>>
>> --HH
>>
>> On 7/29/15, H. Hirzel <hannes.hirzel(a)gmail.com> wrote:
>>> Thanks for the updated GANTT script.
>>>
>>> My question was about the version of Roassal to load.
>>>
>>> Which one?
>>> I just go for version 1000?
>>>
>>> See screenshot.
>>>
>>> --Hannes
>>>
>>> On 7/29/15, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
>>>>>> You should load the latest Roassal.
>>>>>
>>>>> How do I do that? I just loaded Roassal into a fresh Pharo4.0 image
>>>>> and RTTimeLine is not included.
>>>>
>>>> We did some refactoring.
>>>> Instead, you should do:
>>>>
>>>> -=-=-=-=-=-=-=-=
>>>> data := #(#(WP1 0 5) #(WP2 5 8) #(WP3 7 10)).
>>>>
>>>> b := RTTimeline new.
>>>>
>>>> s := RTTimelineSet new.
>>>> s objects: data.
>>>> s lineIdentifier: #first.
>>>> s start: #second.
>>>> s end: #third.
>>>> b add: s.
>>>>
>>>> b axisX
>>>> numberOfLabels: 5;
>>>> labelRotation: -45;
>>>> labelConversion: [ :v | Date year: 2015 day: v ].
>>>>
>>>> d := RTVerticalTickLineDecorator new.
>>>> d shape line color: Color white.
>>>> b addDecorator: d.
>>>> b
>>>> -=-=-=-=-=-=-=-=
>>>>
>>>>
>>>>
>>>> The class RTTimelineExample contains many examples
>>>>
>>>> Let us know how it goes
>>>>
>>>> Alexandre
>>>>
>>>>>
>>>>>
>>>>>> Alexandre
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Le 9 mai 2015 à 19:06, H. Hirzel <hannes.hirzel(a)gmail.com> a écrit :
>>>>>>>
>>>>>>> Thank you for the examples, Alexandre!
>>>>>>>
>>>>>>> I have Pharo 4.0 with Roassal 2.0 installed (AlexandreBergel.718)
>>>>>>>
>>>>>>> I paste the following into a 'Playground' window and 'do it'.
>>>>>>>
>>>>>>> b := RTTimeLine new.
>>>>>>>
>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #WP1; start: 0; end:
>>>>>>> 5).
>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #WP2; start: 5; end:
>>>>>>> 8).
>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #WP3; start: 7; end:
>>>>>>> 10).
>>>>>>>
>>>>>>> b axisX numberOfLabels: 5.
>>>>>>> b
>>>>>>>
>>>>>>> I get the error message that RTTimeLine is not known.
>>>>>>>
>>>>>>> What am I missing?
>>>>>>>
>>>>>>> --Hannes
>>>>>>>
>>>>>>>
>>>>>>>> On 5/8/15, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
>>>>>>>> Hi Hannes!
>>>>>>>>
>>>>>>>> Here is a first shoot paired-programmed with Juraj using Roassal:
>>>>>>>>
>>>>>>>> -=-=-=-=-=-=-=-=-=-=-=-=
>>>>>>>> b := RTTimeLine new.
>>>>>>>>
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #WP1; start: 0; end:
>>>>>>>> 5).
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #WP2; start: 5; end:
>>>>>>>> 8).
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #WP3; start: 7; end:
>>>>>>>> 10).
>>>>>>>>
>>>>>>>> b axisX numberOfLabels: 5.
>>>>>>>> b
>>>>>>>> -=-=-=-=-=-=-=-=-=-=-=-=
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Here some slightly more elaborated example:
>>>>>>>>
>>>>>>>> -=-=-=-=-=-=-=-=-=-=-=-=
>>>>>>>> âOne color per entry"
>>>>>>>> | b d |
>>>>>>>> b := RTTimeLine new.
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #c1; start: 0; end:
>>>>>>>> 5).
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #c1; start: 6; end:
>>>>>>>> 8).
>>>>>>>>
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #c2; start: 0; end:
>>>>>>>> 5).
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #c2; start: 8; end:
>>>>>>>> 10).
>>>>>>>>
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #c3; start: 0; end:
>>>>>>>> 10).
>>>>>>>>
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #c4; start: 5; end:
>>>>>>>> 10).
>>>>>>>>
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #c5; start: 5; end:
>>>>>>>> 8).
>>>>>>>>
>>>>>>>> d := RTVerticalTickLineDecorator new.
>>>>>>>> d shape line color: Color white.
>>>>>>>> b addDecorator: d.
>>>>>>>> b axisX
>>>>>>>> numberOfLabels: 5;
>>>>>>>> labelRotation: -45;
>>>>>>>> labelConversion: [ :v | Date year: 2015 day: v ].
>>>>>>>>
>>>>>>>> b shape color: (RTMultiLinearColorForIdentity new objects: b
>>>>>>>> entries).
>>>>>>>> b
>>>>>>>> -=-=-=-=-=-=-=-=-=-=-=-=
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> One color per timeline
>>>>>>>>
>>>>>>>>
>>>>>>>> -=-=-=-=-=-=-=-=-=-=-=-=
>>>>>>>> | b |
>>>>>>>> b := RTTimeLine new.
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #c1; start: 0; end:
>>>>>>>> 5).
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #c1; start: 6; end:
>>>>>>>> 8).
>>>>>>>>
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #c2; start: 0; end:
>>>>>>>> 5).
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #c2; start: 8; end:
>>>>>>>> 10).
>>>>>>>>
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #c3; start: 0; end:
>>>>>>>> 10).
>>>>>>>>
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #c4; start: 5; end:
>>>>>>>> 10).
>>>>>>>>
>>>>>>>> b addEntry: (RTTimeLineEntry new identifier: #c5; start: 5; end:
>>>>>>>> 8).
>>>>>>>>
>>>>>>>> d := RTVerticalTickLineDecorator new.
>>>>>>>> d shape line color: Color white.
>>>>>>>> b addDecorator: d.
>>>>>>>> b axisX
>>>>>>>> numberOfLabels: 5;
>>>>>>>> labelRotation: -45;
>>>>>>>> labelConversion: [ :v | Date year: 2015 day: v ].
>>>>>>>>
>>>>>>>> b shape color: (RTMultiLinearColorForIdentity new command:
>>>>>>>> #identifier;
>>>>>>>> objects: #(c1 c2 c3 c4 c5)).
>>>>>>>> b
>>>>>>>> -=-=-=-=-=-=-=-=-=-=-=-=
>>>>>>>>
>>>>>>>>
>>>>>>>> Age of some classes:
>>>>>>>> -=-=-=-=-=-=-=-=-=-=-=-=
>>>>>>>> | b |
>>>>>>>> b := RTTimeLine new.
>>>>>>>> b extent: 500 @ 500.
>>>>>>>> ((RTShape withAllSubclasses sortedAs: #ageInDaysRounded) select:
>>>>>>>> #hasMethods)
>>>>>>>> do: [ :cls |
>>>>>>>> e := RTTimeLineEntry new.
>>>>>>>> e identifier: cls.
>>>>>>>> e start: cls computeYoungestMethod ageInDays.
>>>>>>>> e end: cls computeOldestMethod ageInDays.
>>>>>>>> b addEntry: e ].
>>>>>>>> b
>>>>>>>> -=-=-=-=-=-=-=-=-=-=-=-=
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> All these examples are in the Roassal time line example menu.
>>>>>>>>
>>>>>>>> This is still an early version. Let us know how it goes!
>>>>>>>> https://www.facebook.com/ObjectProfile/posts/840542572699008
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Alexandre
>>>>>>>>
>>>>>>>> --
>>>>>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>>>>>> Alexandre Bergel http://www.bergel.eu
>>>>>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> On May 7, 2015, at 4:25 PM, H. Hirzel <hannes.hirzel(a)gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> Hello
>>>>>>>>>
>>>>>>>>> Has somebody done a GANTT chart?
>>>>>>>>>
>>>>>>>>> GanttChartMorph openOn: aCollectionOfActivities
>>>>>>>>>
>>>>>>>>> ?
>>>>>>>>>
>>>>>>>>> Activities have
>>>>>>>>> - id
>>>>>>>>> - description
>>>>>>>>> - start date
>>>>>>>>> - end date
>>>>>>>>> ?
>>>>>>>>>
>>>>>>>>> Regards
>>>>>>>>>
>>>>>>>>> Hannes
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Moose-dev mailing list
>>>>>>> Moose-dev(a)iam.unibe.ch
>>>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Moose-dev mailing list
>>>>> Moose-dev(a)iam.unibe.ch
>>>>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>>>>
>>>>
>>>
>> <Roassal2_configurations_Screenshot from 2015-07-29
>> 18:23:50.png>_______________________________________________
>> Moose-dev mailing list
>> Moose-dev(a)iam.unibe.ch
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
July 30, 2015
Re: [Pharo-dev] [squeak-dev] re: Interview with Stonebraker on future of "big data"
by H. Hirzel
Also note the
"Stonebraker Formula for Making a Difference"
1. Identify new solution to a data management problem;
2. Lead research project to develop a prototype;
3. Publish paper(s);
4. Publish software code on a public website;
5. Launch startup;
6. Repeat.
http://www.forbes.com/sites/gilpress/2015/07/29/turing-award-winner-stonebr…
On 7/30/15, H. Hirzel <hannes.hirzel(a)gmail.com> wrote:
> Yes, integrating data from different models and systems a major
> strength of Smalltalk.
>
> And what Phil described on Cuis list on the 24th of July
>
> He uses Smalltalk for
>
> 1. data processing
> Lots of importers and exporters. The data I need is
> all over the place both on my local filesystem/network as well as from
> various Internet sources in just about every format ....
>
>
> 2. visualization/simulation
> Visualization/simulation: often I'm not just doing a simple data
> conversion, so once the data is in Cuis I might need to do some analysis
> to see what I'm dealing with, generate some charts/graphs, visualize
> relationships within a data set or the results of a simulation, etc. ......
>
> 3. prototyping.
> Prototyping: most of the 'production' code I'm dealing with is in
> other languages (Java for Android apps as an example). However, I find
> non-dynamic languages unpleasant to prototype in. So I find myself
> quite often playing around with my ideas in Cuis even though the
> implementation target might be a different language/environment.....
>
> --Hannes
>
> On 7/30/15, Craig Latta <craig(a)netjam.org> wrote:
>>
>> Eliot writes:
>>
>>> I found an interesting nugget at the end of [1] which is the need to
>>> integrate data models in different databases. âIf your application is
>>> managing what you want to think of as a single database which is in
>>> fact spread over multiple engines,â says Stonebraker, âwith different
>>> data models, different transaction systems, different everything,
>>> than you want a next-generation federation mechanism to make it as
>>> simple as possible to program.â
>>>
>>> This would seem to play to Smalltalk's strengths.
>>
>> Yes indeed!
>>
>>
>> -C
>>
>> [1] https://tinyurl.com/o7nmvnv (forbes.com)
>>
>> --
>> Craig Latta
>> netjam.org
>> +31 6 2757 7177 (SMS ok)
>> + 1 415 287 3547 (no SMS)
>>
>>
>>
>
July 30, 2015
Re: [Pharo-dev] Bug in Zinc with empty Context Type?
by Otto Behrens
Hi,
We recently stumbled onto this and use WAMimeType because we have
WAFile instances (from Seaside-Core).
It appears as if there is a lot of overlap with ZnMimeType.
It would have been better for us to use ZnMimeType because we had to
map the mime type in a similar way that ZnMimeType >>
forFilenameExtension: does.
Maybe Seaside-Core should just be built on Zinc?
On Thu, Jul 30, 2015 at 4:10 PM, Eliot Miranda <eliot.miranda(a)gmail.com> wrote:
> Hi Sven,
>
> wouldn't it be better to raise a resumable exception, eg ZincMissingHeaderField, that the user can catch and resume supplying the default type? The problem with defaulting is that it buries bugs and assumes a default for other anomalous cases.
>
> Sent from my iPhone
>
>> On Jul 24, 2015, at 6:35 AM, Sven Van Caekenberghe <sven(a)stfx.eu> wrote:
>>
>> Mariano,
>>
>> I committed:
>>
>> ===
>> Name: Zinc-HTTP-SvenVanCaekenberghe.435
>> Author: SvenVanCaekenberghe
>> Time: 24 July 2015, 3:26:54.851874 pm
>> UUID: 329427da-0055-4fd9-a59a-ffc62ae4a1d4
>> Ancestors: Zinc-HTTP-SvenVanCaekenberghe.434
>>
>> Modify ZnHeaders>>#contentType so that ZnMimeType default (application/octet-stream) is returned when there is an empty content type header value, this seems to occur in the wild (thx Mariano Peck)
>> ===
>>
>> Now you will get bytes back, the native type for application/octet-stream. You can of course do an #asString, use a ZnCharacterEncoder or whatever.
>>
>> Note that you could also use the extension (as we humans would do):
>>
>> ZnMimeType forFilenameExtension: 'csv'
>>
>> But even then, no encoding is specified.
>>
>> I still think the server's response is plain wrong: it say 'here is data, but I won't tell you what it means'. The content-type should be text/plain or even better text/csv. I think you should contact the Quandl guys and tell them exactly that.
>>
>> Sven
>>
>>> On 22 Jul 2015, at 16:55, Mariano Martinez Peck <marianopeck(a)gmail.com> wrote:
>>>
>>>
>>>
>>> On Wed, Jul 22, 2015 at 11:48 AM, Sven Van Caekenberghe <sven(a)stfx.eu> wrote:
>>> Hi Mariano,
>>>
>>> I am pretty sure that 'Content-Type' is a required header that cannot be empty.
>>>
>>> I imagined..that's why I said that even if it was "server's fault" ....
>>>
>>> It seems to be in an AWS S3 response, which is pretty weird (maybe you uploaded with an empty one in the first place).
>>>
>>> No, the file was not updated by me, but from a financial data provider. Just try:
>>>
>>> ZnClient new get: 'http://static.quandl.com/end_of_day_us_stocks/ticker_list.csv'
>>>
>>>
>>> On the other hand, maybe Zn could be a bit more robust.
>>>
>>> Yes, I think you should. For example, Curl did work for that very same example.
>>>
>>> But what should Zn do in this case ? There is no content type that matches nil, maybe application/octet-stream (ZnMimeType default) ?
>>>
>>>
>>> Yes, that's exactly my workaround:
>>>
>>> ZnEntityReader >> contentType
>>> ^ ((self headers includesKey: 'Content-Type') and: [ (self headers at: 'Content-Type') isEmpty not])
>>> ifTrue: [ self headers contentType ]
>>> ifFalse: [ ZnMimeType applicationOctetStream ]
>>>
>>> Probably you can make that prettier :)
>>>
>>> Sven
>>>
>>>> On 22 Jul 2015, at 16:15, Mariano Martinez Peck <marianopeck(a)gmail.com> wrote:
>>>>
>>>> Hi,
>>>>
>>>> I am using Zinc to get the contents of a file. The code works correct in GemStone (because I think it uses a different/older) version but in Pharo it throws an error in:
>>>>
>>>> ZnHeaders >> contentType
>>>> ^ ZnMimeType fromString: (self headers at: 'Content-Type')
>>>>
>>>> The error there is in the #fromString: since " (self headers at: 'Content-Type')" answers an empty string.
>>>> The error inside #fromString is in this line:
>>>>
>>>> sub := aString copyFrom: main size + 2 to: endOfSub.
>>>>
>>>> that fails of course since 'aString' is an empty string.
>>>>
>>>> Curl shows indeed that the url I am getting has an empty content type defined:
>>>>
>>>> < HTTP/1.1 200 OK
>>>> < x-amz-id-2: eBymTYeSNAPTsgOYDvpbqj/gIPcPpuSb6F0ca/zVjLUG+P2hLZJy/IbU+4MX42sW
>>>> < x-amz-request-id: F82747AD31A40F4E
>>>> < Date: Wed, 22 Jul 2015 14:02:00 GMT
>>>> < Last-Modified: Tue, 21 Jul 2015 20:42:44 GMT
>>>> < ETag: "a9fc27157bca2863a58c331e0eae27fb"
>>>> < Content-Type:
>>>> < Content-Length: 437013
>>>> < Server: AmazonS3
>>>>
>>>> So...while it may be "server's fault" because it may be doing something wrong, is still need to get it. I haven't found any workaround in Zinc that it wasn't changing code.
>>>>
>>>> I am fine with changing code / override if this is a bug and will be fixed later. But if there is a setting or something I would be glad to know it.
>>>>
>>>> Thanks,
>>>>
>>>>
>>>> --
>>>> Mariano
>>>> http://marianopeck.wordpress.com
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Mariano
>>> http://marianopeck.wordpress.com
>>
>>
>
July 30, 2015
Time primitive return values
by Ben Coman
I notice the Time primitives...
Time class >> millisecondClockValue
<primitive: 135>
^ 0
Time class >> primUTCMicrosecondsClock
<primitive: 240>
self primitiveFailed
return different values on failure.
Not that time is every going to fail ;) ,
but should these be consistent and which is preferable?
cheers -ben
July 30, 2015
Re: [Pharo-dev] [squeak-dev] re: Interview with Stonebraker on future of "big data"
by H. Hirzel
Yes, integrating data from different models and systems a major
strength of Smalltalk.
And what Phil described on Cuis list on the 24th of July
He uses Smalltalk for
1. data processing
Lots of importers and exporters. The data I need is
all over the place both on my local filesystem/network as well as from
various Internet sources in just about every format ....
2. visualization/simulation
Visualization/simulation: often I'm not just doing a simple data
conversion, so once the data is in Cuis I might need to do some analysis
to see what I'm dealing with, generate some charts/graphs, visualize
relationships within a data set or the results of a simulation, etc. ......
3. prototyping.
Prototyping: most of the 'production' code I'm dealing with is in
other languages (Java for Android apps as an example). However, I find
non-dynamic languages unpleasant to prototype in. So I find myself
quite often playing around with my ideas in Cuis even though the
implementation target might be a different language/environment.....
--Hannes
On 7/30/15, Craig Latta <craig(a)netjam.org> wrote:
>
> Eliot writes:
>
>> I found an interesting nugget at the end of [1] which is the need to
>> integrate data models in different databases. âIf your application is
>> managing what you want to think of as a single database which is in
>> fact spread over multiple engines,â says Stonebraker, âwith different
>> data models, different transaction systems, different everything,
>> than you want a next-generation federation mechanism to make it as
>> simple as possible to program.â
>>
>> This would seem to play to Smalltalk's strengths.
>
> Yes indeed!
>
>
> -C
>
> [1] https://tinyurl.com/o7nmvnv (forbes.com)
>
> --
> Craig Latta
> netjam.org
> +31 6 2757 7177 (SMS ok)
> + 1 415 287 3547 (no SMS)
>
>
>
July 30, 2015
Re: [Pharo-dev] About nextPutAll: $(
by H. Hirzel
On 7/29/15, Eliot Miranda <eliot.miranda(a)gmail.com> wrote:
> On Sat, Jul 25, 2015 at 9:39 AM, Hernán Morales Durand <
> hernan.morales(a)gmail.com> wrote:
>
>> In BioSmalltalk I use this pattern a lot:
>>
>> aStream
>> nextPutAll: self name
>> between: $[ -> $].
>>
>> so yes, that would be a nice inclusion for me :)
>>
>
> i don't like the allocation here; v slow. why not nextPutAll:between:and:
> ?
+1
>
>>
>> Cheers,
>>
>> Hernán
>>
>>
>>
>>
>> 2015-07-24 17:48 GMT-03:00 stepharo <stepharo(a)free.fr>:
>>
>>> HI
>>>
>>> while working on a lecture I saw that we have about 75 cases like:
>>>
>>> aStream nextPut: $(.
>>> ....
>>> aStream nextPut: $).
>>>
>>>
>>>
>>> storeOn: aStream
>>> "Store a description of the elements of the complement rather than
>>> self."
>>>
>>> aStream nextPut: $(.
>>> absent storeOn: aStream.
>>> aStream nextPut: $); space; nextPutAll: #complement.
>>>
>>>
>>> printElementsOn: aStream
>>> aStream nextPut: $(.
>>> self size > 100
>>> ifTrue: [aStream nextPutAll: 'size '.
>>> self size printOn: aStream]
>>> ifFalse: [self keysSortedSafely
>>> do: [:key | aStream print: key;
>>> nextPutAll: '->';
>>> print: (self at: key);
>>> space]].
>>> aStream nextPut: $)
>>>
>>> we have surroundedBy: aString
>>>
>>> surroundedBy: aString
>>> ^ self class streamContents: [ :s|
>>> s nextPutAll: aString.
>>> s nextPutAll: self.
>>> s nextPutAll: aString ].
>>>
>>> But only working on aString.
>>> To me it looks like it ia class for having it on stream.
>>>
>>> What do you think?
>>>
>>>
>>>
>>>
>>>
>>
>
>
> --
> _,,,^..^,,,_
> best, Eliot
>
July 30, 2015
Re: [Pharo-dev] Bug in Zinc with empty Context Type?
by Eliot Miranda
Hi Sven,
wouldn't it be better to raise a resumable exception, eg ZincMissingHeaderField, that the user can catch and resume supplying the default type? The problem with defaulting is that it buries bugs and assumes a default for other anomalous cases.
Sent from my iPhone
> On Jul 24, 2015, at 6:35 AM, Sven Van Caekenberghe <sven(a)stfx.eu> wrote:
>
> Mariano,
>
> I committed:
>
> ===
> Name: Zinc-HTTP-SvenVanCaekenberghe.435
> Author: SvenVanCaekenberghe
> Time: 24 July 2015, 3:26:54.851874 pm
> UUID: 329427da-0055-4fd9-a59a-ffc62ae4a1d4
> Ancestors: Zinc-HTTP-SvenVanCaekenberghe.434
>
> Modify ZnHeaders>>#contentType so that ZnMimeType default (application/octet-stream) is returned when there is an empty content type header value, this seems to occur in the wild (thx Mariano Peck)
> ===
>
> Now you will get bytes back, the native type for application/octet-stream. You can of course do an #asString, use a ZnCharacterEncoder or whatever.
>
> Note that you could also use the extension (as we humans would do):
>
> ZnMimeType forFilenameExtension: 'csv'
>
> But even then, no encoding is specified.
>
> I still think the server's response is plain wrong: it say 'here is data, but I won't tell you what it means'. The content-type should be text/plain or even better text/csv. I think you should contact the Quandl guys and tell them exactly that.
>
> Sven
>
>> On 22 Jul 2015, at 16:55, Mariano Martinez Peck <marianopeck(a)gmail.com> wrote:
>>
>>
>>
>> On Wed, Jul 22, 2015 at 11:48 AM, Sven Van Caekenberghe <sven(a)stfx.eu> wrote:
>> Hi Mariano,
>>
>> I am pretty sure that 'Content-Type' is a required header that cannot be empty.
>>
>> I imagined..that's why I said that even if it was "server's fault" ....
>>
>> It seems to be in an AWS S3 response, which is pretty weird (maybe you uploaded with an empty one in the first place).
>>
>> No, the file was not updated by me, but from a financial data provider. Just try:
>>
>> ZnClient new get: 'http://static.quandl.com/end_of_day_us_stocks/ticker_list.csv'
>>
>>
>> On the other hand, maybe Zn could be a bit more robust.
>>
>> Yes, I think you should. For example, Curl did work for that very same example.
>>
>> But what should Zn do in this case ? There is no content type that matches nil, maybe application/octet-stream (ZnMimeType default) ?
>>
>>
>> Yes, that's exactly my workaround:
>>
>> ZnEntityReader >> contentType
>> ^ ((self headers includesKey: 'Content-Type') and: [ (self headers at: 'Content-Type') isEmpty not])
>> ifTrue: [ self headers contentType ]
>> ifFalse: [ ZnMimeType applicationOctetStream ]
>>
>> Probably you can make that prettier :)
>>
>> Sven
>>
>>> On 22 Jul 2015, at 16:15, Mariano Martinez Peck <marianopeck(a)gmail.com> wrote:
>>>
>>> Hi,
>>>
>>> I am using Zinc to get the contents of a file. The code works correct in GemStone (because I think it uses a different/older) version but in Pharo it throws an error in:
>>>
>>> ZnHeaders >> contentType
>>> ^ ZnMimeType fromString: (self headers at: 'Content-Type')
>>>
>>> The error there is in the #fromString: since " (self headers at: 'Content-Type')" answers an empty string.
>>> The error inside #fromString is in this line:
>>>
>>> sub := aString copyFrom: main size + 2 to: endOfSub.
>>>
>>> that fails of course since 'aString' is an empty string.
>>>
>>> Curl shows indeed that the url I am getting has an empty content type defined:
>>>
>>> < HTTP/1.1 200 OK
>>> < x-amz-id-2: eBymTYeSNAPTsgOYDvpbqj/gIPcPpuSb6F0ca/zVjLUG+P2hLZJy/IbU+4MX42sW
>>> < x-amz-request-id: F82747AD31A40F4E
>>> < Date: Wed, 22 Jul 2015 14:02:00 GMT
>>> < Last-Modified: Tue, 21 Jul 2015 20:42:44 GMT
>>> < ETag: "a9fc27157bca2863a58c331e0eae27fb"
>>> < Content-Type:
>>> < Content-Length: 437013
>>> < Server: AmazonS3
>>>
>>> So...while it may be "server's fault" because it may be doing something wrong, is still need to get it. I haven't found any workaround in Zinc that it wasn't changing code.
>>>
>>> I am fine with changing code / override if this is a bug and will be fixed later. But if there is a setting or something I would be glad to know it.
>>>
>>> Thanks,
>>>
>>>
>>> --
>>> Mariano
>>> http://marianopeck.wordpress.com
>>
>>
>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>
>
July 30, 2015
Re: [Pharo-dev] Bug in Zinc with empty Context Type?
by Mariano Martinez Peck
Thanks Sven. Yes, I agree with your comment that they are doing it wrong.
On Fri, Jul 24, 2015 at 10:35 AM, Sven Van Caekenberghe <sven(a)stfx.eu>
wrote:
> Mariano,
>
> I committed:
>
> ===
> Name: Zinc-HTTP-SvenVanCaekenberghe.435
> Author: SvenVanCaekenberghe
> Time: 24 July 2015, 3:26:54.851874 pm
> UUID: 329427da-0055-4fd9-a59a-ffc62ae4a1d4
> Ancestors: Zinc-HTTP-SvenVanCaekenberghe.434
>
> Modify ZnHeaders>>#contentType so that ZnMimeType default
> (application/octet-stream) is returned when there is an empty content type
> header value, this seems to occur in the wild (thx Mariano Peck)
> ===
>
> Now you will get bytes back, the native type for application/octet-stream.
> You can of course do an #asString, use a ZnCharacterEncoder or whatever.
>
> Note that you could also use the extension (as we humans would do):
>
> ZnMimeType forFilenameExtension: 'csv'
>
> But even then, no encoding is specified.
>
> I still think the server's response is plain wrong: it say 'here is data,
> but I won't tell you what it means'. The content-type should be text/plain
> or even better text/csv. I think you should contact the Quandl guys and
> tell them exactly that.
>
> Sven
>
> > On 22 Jul 2015, at 16:55, Mariano Martinez Peck <marianopeck(a)gmail.com>
> wrote:
> >
> >
> >
> > On Wed, Jul 22, 2015 at 11:48 AM, Sven Van Caekenberghe <sven(a)stfx.eu>
> wrote:
> > Hi Mariano,
> >
> > I am pretty sure that 'Content-Type' is a required header that cannot be
> empty.
> >
> > I imagined..that's why I said that even if it was "server's fault" ....
> >
> > It seems to be in an AWS S3 response, which is pretty weird (maybe you
> uploaded with an empty one in the first place).
> >
> > No, the file was not updated by me, but from a financial data provider.
> Just try:
> >
> > ZnClient new get: '
> http://static.quandl.com/end_of_day_us_stocks/ticker_list.csv'
> >
> >
> > On the other hand, maybe Zn could be a bit more robust.
> >
> > Yes, I think you should. For example, Curl did work for that very same
> example.
> >
> > But what should Zn do in this case ? There is no content type that
> matches nil, maybe application/octet-stream (ZnMimeType default) ?
> >
> >
> > Yes, that's exactly my workaround:
> >
> > ZnEntityReader >> contentType
> > ^ ((self headers includesKey: 'Content-Type') and: [ (self headers
> at: 'Content-Type') isEmpty not])
> > ifTrue: [ self headers contentType ]
> > ifFalse: [ ZnMimeType applicationOctetStream ]
> >
> > Probably you can make that prettier :)
> >
> > Sven
> >
> > > On 22 Jul 2015, at 16:15, Mariano Martinez Peck <marianopeck(a)gmail.com>
> wrote:
> > >
> > > Hi,
> > >
> > > I am using Zinc to get the contents of a file. The code works correct
> in GemStone (because I think it uses a different/older) version but in
> Pharo it throws an error in:
> > >
> > > ZnHeaders >> contentType
> > > ^ ZnMimeType fromString: (self headers at: 'Content-Type')
> > >
> > > The error there is in the #fromString: since " (self headers at:
> 'Content-Type')" answers an empty string.
> > > The error inside #fromString is in this line:
> > >
> > > sub := aString copyFrom: main size + 2 to: endOfSub.
> > >
> > > that fails of course since 'aString' is an empty string.
> > >
> > > Curl shows indeed that the url I am getting has an empty content type
> defined:
> > >
> > > < HTTP/1.1 200 OK
> > > < x-amz-id-2:
> eBymTYeSNAPTsgOYDvpbqj/gIPcPpuSb6F0ca/zVjLUG+P2hLZJy/IbU+4MX42sW
> > > < x-amz-request-id: F82747AD31A40F4E
> > > < Date: Wed, 22 Jul 2015 14:02:00 GMT
> > > < Last-Modified: Tue, 21 Jul 2015 20:42:44 GMT
> > > < ETag: "a9fc27157bca2863a58c331e0eae27fb"
> > > < Content-Type:
> > > < Content-Length: 437013
> > > < Server: AmazonS3
> > >
> > > So...while it may be "server's fault" because it may be doing
> something wrong, is still need to get it. I haven't found any workaround in
> Zinc that it wasn't changing code.
> > >
> > > I am fine with changing code / override if this is a bug and will be
> fixed later. But if there is a setting or something I would be glad to know
> it.
> > >
> > > Thanks,
> > >
> > >
> > > --
> > > Mariano
> > > http://marianopeck.wordpress.com
> >
> >
> >
> >
> >
> > --
> > Mariano
> > http://marianopeck.wordpress.com
>
>
>
--
Mariano
http://marianopeck.wordpress.com
July 30, 2015