[prev in list] [next in list] [prev in thread] [next in thread]
List: squeak-dev
Subject: Re: [squeak-dev] The Trunk: MonticelloConfigurations-mt.160.mcz
From: Marcel Taeumel <marcel.taeumel () hpi ! de>
Date: 2020-04-27 8:37:16
Message-ID: Mailbird-28ee550a-277b-44b2-862a-10cf7a7e1791 () hpi ! de
[Download RAW message or body]
[Attachment #2 (multipart/related)]
[Attachment #4 (multipart/alternative)]
Hi Tom,
thanks for the explanation! :-) This is the current dialog in hi-dpi mode:
Best,
Marcel
Am 27.04.2020 09:35:15 schrieb Beckmann, Tom \
<tom.beckmann@student.hpi.uni-potsdam.de>: Hi Christoph, hi Marcel,
looking at the picture, it appears to have a height of 20 pixels, which is just above \
what is commonly used as the default body text size in the Web (and for example in a \
GitHub README) of 16px. In the web, travis will by default suggest linking to an SVG \
file that has a viewport height of 20px at the default resolution. For 2x HiDPI, this \
would then get doubled to be 40 rendered pixels high. If you were to place a PNG file \
with a height of 20px in your website, it would just get scaled up and appear blurry \
next to the crisp text, which is why rasterized icons are often provided at multiple \
resolutions[1].
So in this case, I would argue that simply scaling by whatever scale factor the \
RealEstateAgent suggests is the "correct" behavior. What exactly the rules concerning \
alignment of the image in the text are in the web, I would also have to look up. I \
would imagine they do quite a bit of trickery to get baselines to match prettily.
Best,
Tom
[1] https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images
________________________________________
From: Squeak-dev on behalf of Taeumel, Marcel
Sent: Monday, April 27, 2020 8:50:27 AM
To: Robert via Squeak-dev
Subject: Re: [squeak-dev] The Trunk: MonticelloConfigurations-mt.160.mcz
Hi Christoph,
I wonder what the conventions in the Web-programming world are in this regard. Using \
Firefox, the PNG from TravisCI happens to be "just of the right size" on a low-dpi \
display. After zooming in, that picture gets blurry. I wouldn't bother 1-2 pixels off \
for the sake of not being blurry. Or maybe our text anchors need some option to be on \
the baseline but not considered when computing the line height?
Best,
Marcel
Am 26.04.2020 20:21:10 schrieb Thiede, Christoph :
Hi Marcel,
> While we cannot call #scaledToHeight: depending on the text's current font \
> properties,
Why not? Is there any HTML style attribute we could use for this purpose, or would \
this be a too major change?
Best,
Christoph
________________________________
Von: Squeak-dev im Auftrag von Taeumel, Marcel
Gesendet: Montag, 20. April 2020 10:06:45
An: gettimothy via Squeak-dev
Betreff: Re: [squeak-dev] The Trunk: MonticelloConfigurations-mt.160.mcz
> > 1. Can we automatically use #scaledToHeight: for the badge to avoid the \
> > inconsistent row heights?
> Oh, definitely. I forgot to call #scaleIconToDisplay ...
Sorry, I mixed that up. While we cannot call #scaledToHeight: depending on the text's \
current font properties, we should call #scaledToSize: and honor RealEstateAgent >> \
scaleFactor. It is the best we have at the moment. --- #scaleIconToDisplay would also \
not work because that scales down bigger images, which we do not want in HTML \
content.
Best,
Marcel
Am 20.04.2020 08:49:49 schrieb Marcel Taeumel :
> 1. Can we automatically use #scaledToHeight: for the badge to avoid the \
> inconsistent row heights?
Oh, definitely. I forgot to call #scaleIconToDisplay. I would rather not make a \
assumptions about the surrounding text but maybe add support width/height to the tag.
> 2. TextURL and TextReference seem not to work well together: In my image, only the \
> left half of the banner is actually clickable.
You can open a new discussion for that. :-) And maybe isolate the issue first in a \
compact example for everybody to try out.
Best,
Marcel
Am 18.04.2020 15:36:05 schrieb Thiede, Christoph :
I love this idea! :D
Two comments:
1. Can we automatically use #scaledToHeight: for the badge to avoid the inconsistent \
row heights?
2. TextURL and TextReference seem not to work well together: In my image, only the \
left half of the banner is actually clickable.
Best,
Christoph
________________________________
Von: Squeak-dev im Auftrag von David T. Lewis
Gesendet: Freitag, 17. April 2020 20:49 Uhr
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] The Trunk: MonticelloConfigurations-mt.160.mcz
That's brilliant :-)
Dave
On Fri, Apr 17, 2020 at 07:04:17PM +0200, karl ramberg wrote:
> Cool
>
> Best,
> Karl
>
> On Fri, Apr 17, 2020 at 5:25 PM Marcel Taeumel
> wrote:
>
> >
> > Am 17.04.2020 17:17:37 schrieb commits@source.squeak.org
> > commits@source.squeak.org>:
> > Marcel Taeumel uploaded a new version of MonticelloConfigurations to
> > project The Trunk:
> > http://source.squeak.org/trunk/MonticelloConfigurations-mt.160.mcz
> >
> > ==================== Summary ====================
> >
> > Name: MonticelloConfigurations-mt.160
> > Author: mt
> > Time: 17 April 2020, 5:17:27.82286 pm
> > UUID: 6d32501e-f519-3b4a-ae1a-58b52360a937
> > Ancestors: MonticelloConfigurations-mt.159
> >
> > Shows the current CI status in the update dialog.
> >
> > =============== Diff against MonticelloConfigurations-mt.159
> > ===============
> >
> > Item was changed:
> > ----- Method: MCMcmUpdater>>doUpdate: (in category 'updating') -----
> > doUpdate: interactive
> > "Update the image by loading all pending updates from the server. If this
> > is
> > the default updater for the system, update the system version when
> > complete.
> > If interteractive use a modal notifier, otherwise only update the
> > transcript.
> > Flush all caches. If a previous download failed this is often helpful"
> >
> > > config previousUpdateLevel ensureTranscriptSetting |
> > previousUpdateLevel := SystemVersion current highestUpdate.
> > MCFileBasedRepository flushAllCaches.
> > ensureTranscriptSetting := MCConfiguration ensureOpenTranscript.
> > [ MCConfiguration ensureOpenTranscript: interactive.
> > config := self updateFromRepository.
> > config ifNil: [
> > interactive ifTrue: [ ^self inform: 'Unable to retrieve updates from
> > remote repository.' translated ].
> > Transcript cr; show: '========== Unable to retrieve updates from remote
> > repository. ==========' translated; cr.
> > ^ self ].
> > MCMcmUpdater default == self
> > ifTrue: [
> > config setSystemVersion.
> > + interactive ifTrue: [
> > + self inform: (self updateMessageFor: previousUpdateLevel)].
> > - interactive ifTrue: [
> > - self inform: ('Update completed.\\Version: {1}\Update: {3}{2}\\Url:
> > {4}\Map: ''{5}''{6}' translated withCRs format: {
> > - SystemVersion current version.
> > - SystemVersion current highestUpdate.
> > - previousUpdateLevel = SystemVersion current highestUpdate
> > - ifTrue: ['']
> > - ifFalse: [previousUpdateLevel asString, ' -> '].
> > - self repository.
> > - MCMcmUpdater updateMapName.
> > - SystemVersion current description ifEmpty: [''] ifNotEmpty: [:d | String
> > cr, String cr, d]})].
> > Transcript cr;
> > show: '========== Update completed: ' translated;
> > show: previousUpdateLevel;
> > show: ' -> ' ;
> > show: SystemVersion current highestUpdate;
> > show: ' =========='; cr ]
> > ifFalse: [
> > interactive
> > ifTrue: [ self inform: 'Update completed.' ].
> > Transcript cr; show: '========== Update completed. ==========' translated;
> > cr ] ]
> > ensure: [ MCConfiguration ensureOpenTranscript: ensureTranscriptSetting].
> >
> > !
> >
> > Item was changed:
> > ----- Method: MCMcmUpdater>>doUpdate:upTo: (in category 'updating') -----
> > doUpdate: interactive upTo: versionNumber
> > "Update the image by loading all pending updates from the server. If this
> > is
> > the default updater for the system, update the system version when
> > complete.
> > If interteractive use a modal notifier, otherwise only update the
> > transcript.
> > Flush all caches. If a previous download failed this is often helpful"
> >
> > > config previousUpdateLevel |
> > previousUpdateLevel := SystemVersion current highestUpdate.
> > MCFileBasedRepository flushAllCaches.
> > config := self updateFromRepositories: { self repository } upTo:
> > versionNumber.
> > config ifNil: [
> > interactive ifTrue: [ ^self inform: 'Unable to retrieve updates from
> > remote repository.' translated ].
> > Transcript cr; show: '========== Unable to retrieve updates from remote
> > repository. ==========' translated; cr.
> > ^ self ].
> > MCMcmUpdater default == self
> > ifTrue: [
> > config setSystemVersion.
> > + interactive ifTrue: [
> > + self inform: (self updateMessageFor: previousUpdateLevel)].
> > - interactive ifTrue: [
> > - self inform: ('Update completed.\\Version: {1}\Update: {3}{2}\\Url:
> > {4}\Map: ''{5}''{6}' translated withCRs format: {
> > - SystemVersion current version.
> > - SystemVersion current highestUpdate.
> > - previousUpdateLevel = SystemVersion current highestUpdate
> > - ifTrue: ['']
> > - ifFalse: [previousUpdateLevel asString, ' -> '].
> > - self repository.
> > - MCMcmUpdater updateMapName.
> > - SystemVersion current description ifEmpty: [''] ifNotEmpty: [:d | String
> > cr, String cr, d]})].
> > Transcript cr;
> > show: '========== Update completed: ' translated;
> > show: previousUpdateLevel;
> > show: ' -> ' ;
> > show: SystemVersion current highestUpdate;
> > show: ' =========='; cr ]
> > ifFalse: [
> > interactive
> > ifTrue: [ self inform: 'Update completed.' ].
> > Transcript cr; show: '========== Update completed. ==========' translated;
> > cr ]
> > !
> >
> > Item was added:
> > + ----- Method: MCMcmUpdater>>updateMessageFor: (in category 'private')
> > -----
> > + updateMessageFor: previousUpdateLevel
> > +
> > + ^ ('Update completed.
> >
> > Version: {1}
> > Update: {3}*{2}*
> >
> > Url: {4}
> > Map: ''{5}''
> > TravisCI status: {6}' translated format: {
> > + SystemVersion current version.
> > + SystemVersion current highestUpdate.
> > + previousUpdateLevel = SystemVersion current highestUpdate
> > + ifTrue: ['']
> > + ifFalse: [previousUpdateLevel asString, ' -> '].
> > + self repository.
> > + MCMcmUpdater updateMapName.
> > + SystemVersion current description ifEmpty: [''] ifNotEmpty: [:d |
> > + '
> >
> > ', (d copyReplaceAll: String cr with: '
> > ')].
> > + SystemVersion current ciStatusBadgeUrl.
> > + SystemVersion current ciStatusPageUrl.
> > + }) asTextFromHtml!
> >
> >
> >
> >
>
[Attachment #7 (text/html)]
<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: \
#000000">
Hi Tom,<div><br></div><div>thanks for the \
explanation! :-) This is the current dialog in hi-dpi \
mode:</div><div><br></div><div><img id="d93ef0bf-0311-4238-8dab-5e3cd446ec9e" \
src="cid:dc361a7f-7266-4e21-89a0-68a90f74ee58" \
width="auto"></img><br></div><div><br></div><div>Best,</div><div>Marcel</div><div \
class="mb_sig"></div>
<blockquote class="history_container" \
type="cite" style="border-left-style: solid;border-width: 1px;margin-top: \
20px;margin-left: 0px;padding-left: 10px;min-width: 500px"> <p style="color: \
#AAAAAA; margin-top: 10px;">Am 27.04.2020 09:35:15 schrieb Beckmann, Tom \
<tom.beckmann@student.hpi.uni-potsdam.de>:</p><div \
style="font-family:Arial,Helvetica,sans-serif">Hi Christoph, hi \
Marcel,<br><br>looking at the picture, it appears to have a height of 20 pixels, \
which is just above what is commonly used as the default body text size in the Web \
(and for example in a GitHub README) of 16px. In the web, travis will by default \
suggest linking to an SVG file that has a viewport height of 20px at the default \
resolution. For 2x HiDPI, this would then get doubled to be 40 rendered pixels high. \
If you were to place a PNG file with a height of 20px in your website, it would just \
get scaled up and appear blurry next to the crisp text, which is why rasterized icons \
are often provided at multiple resolutions[1].<br><br>So in this case, I would argue \
that simply scaling by whatever scale factor the RealEstateAgent suggests is the \
"correct" behavior. What exactly the rules concerning alignment of the image in the \
text are in the web, I would also have to look up. I would imagine they do quite a \
bit of trickery to get baselines to match prettily.<br><br>Best,<br>Tom<br><br>[1] \
https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images<br>________________________________________<br>From: \
Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> on behalf of Taeumel, \
Marcel<br>Sent: Monday, April 27, 2020 8:50:27 AM<br>To: Robert via \
Squeak-dev<br>Subject: Re: [squeak-dev] The Trunk: \
MonticelloConfigurations-mt.160.mcz<br><br>Hi Christoph,<br><br>I wonder what the \
conventions in the Web-programming world are in this regard. Using Firefox, the PNG \
from TravisCI happens to be "just of the right size" on a low-dpi display. After \
zooming in, that picture gets blurry. I wouldn't bother 1-2 pixels off for the sake \
of not being blurry. Or maybe our text anchors need some option to be on the baseline \
but not considered when computing the line height?<br><br>Best,<br>Marcel<br><br>Am \
26.04.2020 20:21:10 schrieb Thiede, Christoph \
<christoph.thiede@student.hpi.uni-potsdam.de>:<br><br>Hi Marcel,<br><br><br>> \
While we cannot call #scaledToHeight: depending on the text's current font \
properties,<br><br><br>Why not? Is there any HTML style attribute we could use for \
this purpose, or would this be a too major \
change?<br><br><br>Best,<br><br>Christoph<br><br><br>________________________________<br>Von: \
Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Taeumel, \
Marcel<br>Gesendet: Montag, 20. April 2020 10:06:45<br>An: gettimothy via \
Squeak-dev<br>Betreff: Re: [squeak-dev] The Trunk: \
MonticelloConfigurations-mt.160.mcz<br><br>> > 1. Can we automatically use \
#scaledToHeight: for the badge to avoid the inconsistent row heights?<br>> Oh, \
definitely. I forgot to call #scaleIconToDisplay ...<br><br>Sorry, I mixed that up. \
While we cannot call #scaledToHeight: depending on the text's current font \
properties, we should call #scaledToSize: and honor RealEstateAgent >> \
scaleFactor. It is the best we have at the moment. --- #scaleIconToDisplay would also \
not work because that scales down bigger images, which we do not want in HTML \
content.<br><br>Best,<br>Marcel<br><br>Am 20.04.2020 08:49:49 schrieb Marcel Taeumel \
<marcel.taeumel@hpi.de>:<br><br>> 1. Can we automatically use #scaledToHeight: for \
the badge to avoid the inconsistent row heights?<br><br><br>Oh, definitely. I forgot \
to call #scaleIconToDisplay. I would rather not make a assumptions about the \
surrounding text but maybe add support width/height to the <img></img> \
tag.<br><br><br>> 2. TextURL and TextReference seem not to work well together: In \
my image, only the left half of the banner is actually clickable.<br><br><br>You can \
open a new discussion for that. :-) And maybe isolate the issue first in a compact \
example for everybody to try out.<br><br><br>Best,<br><br>Marcel<br><br>Am 18.04.2020 \
15:36:05 schrieb Thiede, Christoph \
<christoph.thiede@student.hpi.uni-potsdam.de>:<br><br>I love this idea! \
:D<br><br><br>Two comments:<br><br><br>1. Can we automatically use #scaledToHeight: \
for the badge to avoid the inconsistent row heights?<br><br>2. TextURL and \
TextReference seem not to work well together: In my image, only the left half of the \
banner is actually clickable.<br><br><br>Best,<br><br>Christoph<br><br>________________________________<br>Von: \
Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von David T. \
Lewis <lewis@mail.msen.com><br>Gesendet: Freitag, 17. April 2020 20:49 Uhr<br>An: The \
general-purpose Squeak developers list<br>Betreff: Re: [squeak-dev] The Trunk: \
MonticelloConfigurations-mt.160.mcz<br><br>That's brilliant :-)<br><br>Dave<br><br>On \
Fri, Apr 17, 2020 at 07:04:17PM +0200, karl ramberg wrote:<br>> \
Cool<br>><br>> Best,<br>> Karl<br>><br>> On Fri, Apr 17, 2020 at 5:25 \
PM Marcel Taeumel <marcel.taeumel@hpi.de><br>> wrote:<br>><br>> ><br>> \
> Am 17.04.2020 17:17:37 schrieb commits@source.squeak.org <br>> > \
commits@source.squeak.org>:<br>> > Marcel Taeumel uploaded a new version of \
MonticelloConfigurations to<br>> > project The Trunk:<br>> > \
http://source.squeak.org/trunk/MonticelloConfigurations-mt.160.mcz<br>> \
><br>> > ==================== Summary ====================<br>> \
><br>> > Name: MonticelloConfigurations-mt.160<br>> > Author: \
mt<br>> > Time: 17 April 2020, 5:17:27.82286 pm<br>> > UUID: \
6d32501e-f519-3b4a-ae1a-58b52360a937<br>> > Ancestors: \
MonticelloConfigurations-mt.159<br>> ><br>> > Shows the current CI status \
in the update dialog.<br>> ><br>> > =============== Diff against \
MonticelloConfigurations-mt.159<br>> > ===============<br>> ><br>> \
> Item was changed:<br>> > ----- Method: MCMcmUpdater>>doUpdate: (in \
category 'updating') -----<br>> > doUpdate: interactive<br>> > "Update \
the image by loading all pending updates from the server. If this<br>> > \
is<br>> > the default updater for the system, update the system version \
when<br>> > complete.<br>> > If interteractive use a modal notifier, \
otherwise only update the<br>> > transcript.<br>> > Flush all caches. If \
a previous download failed this is often helpful"<br>> ><br>> > | config \
previousUpdateLevel ensureTranscriptSetting |<br>> > previousUpdateLevel := \
SystemVersion current highestUpdate.<br>> > MCFileBasedRepository \
flushAllCaches.<br>> > ensureTranscriptSetting := MCConfiguration \
ensureOpenTranscript.<br>> > [ MCConfiguration ensureOpenTranscript: \
interactive.<br>> > config := self updateFromRepository.<br>> > config \
ifNil: [<br>> > interactive ifTrue: [ ^self inform: 'Unable to retrieve updates \
from<br>> > remote repository.' translated ].<br>> > Transcript cr; show: \
'========== Unable to retrieve updates from remote<br>> > repository. \
==========' translated; cr.<br>> > ^ self ].<br>> > MCMcmUpdater default \
== self<br>> > ifTrue: [<br>> > config setSystemVersion.<br>> > + \
interactive ifTrue: [<br>> > + self inform: (self updateMessageFor: \
previousUpdateLevel)].<br>> > - interactive ifTrue: [<br>> > - self \
inform: ('Update completed.\\Version: {1}\Update: {3}{2}\\Url:<br>> > {4}\Map: \
''{5}''{6}' translated withCRs format: {<br>> > - SystemVersion current \
version.<br>> > - SystemVersion current highestUpdate.<br>> > - \
previousUpdateLevel = SystemVersion current highestUpdate<br>> > - ifTrue: \
['']<br>> > - ifFalse: [previousUpdateLevel asString, ' -> '].<br>> > \
- self repository.<br>> > - MCMcmUpdater updateMapName.<br>> > - \
SystemVersion current description ifEmpty: [''] ifNotEmpty: [:d | String<br>> > \
cr, String cr, d]})].<br>> > Transcript cr;<br>> > show: '========== \
Update completed: ' translated;<br>> > show: previousUpdateLevel;<br>> > \
show: ' -> ' ;<br>> > show: SystemVersion current highestUpdate;<br>> \
> show: ' =========='; cr ]<br>> > ifFalse: [<br>> > \
interactive<br>> > ifTrue: [ self inform: 'Update completed.' ].<br>> > \
Transcript cr; show: '========== Update completed. ==========' translated;<br>> \
> cr ] ]<br>> > ensure: [ MCConfiguration ensureOpenTranscript: \
ensureTranscriptSetting].<br>> ><br>> > !<br>> ><br>> > Item \
was changed:<br>> > ----- Method: MCMcmUpdater>>doUpdate:upTo: (in \
category 'updating') -----<br>> > doUpdate: interactive upTo: \
versionNumber<br>> > "Update the image by loading all pending updates from the \
server. If this<br>> > is<br>> > the default updater for the system, \
update the system version when<br>> > complete.<br>> > If interteractive \
use a modal notifier, otherwise only update the<br>> > transcript.<br>> > \
Flush all caches. If a previous download failed this is often helpful"<br>> \
><br>> > | config previousUpdateLevel |<br>> > previousUpdateLevel := \
SystemVersion current highestUpdate.<br>> > MCFileBasedRepository \
flushAllCaches.<br>> > config := self updateFromRepositories: { self repository \
} upTo:<br>> > versionNumber.<br>> > config ifNil: [<br>> > \
interactive ifTrue: [ ^self inform: 'Unable to retrieve updates from<br>> > \
remote repository.' translated ].<br>> > Transcript cr; show: '========== \
Unable to retrieve updates from remote<br>> > repository. ==========' \
translated; cr.<br>> > ^ self ].<br>> > MCMcmUpdater default == \
self<br>> > ifTrue: [<br>> > config setSystemVersion.<br>> > + \
interactive ifTrue: [<br>> > + self inform: (self updateMessageFor: \
previousUpdateLevel)].<br>> > - interactive ifTrue: [<br>> > - self \
inform: ('Update completed.\\Version: {1}\Update: {3}{2}\\Url:<br>> > {4}\Map: \
''{5}''{6}' translated withCRs format: {<br>> > - SystemVersion current \
version.<br>> > - SystemVersion current highestUpdate.<br>> > - \
previousUpdateLevel = SystemVersion current highestUpdate<br>> > - ifTrue: \
['']<br>> > - ifFalse: [previousUpdateLevel asString, ' -> '].<br>> > \
- self repository.<br>> > - MCMcmUpdater updateMapName.<br>> > - \
SystemVersion current description ifEmpty: [''] ifNotEmpty: [:d | String<br>> > \
cr, String cr, d]})].<br>> > Transcript cr;<br>> > show: '========== \
Update completed: ' translated;<br>> > show: previousUpdateLevel;<br>> > \
show: ' -> ' ;<br>> > show: SystemVersion current highestUpdate;<br>> \
> show: ' =========='; cr ]<br>> > ifFalse: [<br>> > \
interactive<br>> > ifTrue: [ self inform: 'Update completed.' ].<br>> > \
Transcript cr; show: '========== Update completed. ==========' translated;<br>> \
> cr ]<br>> > !<br>> ><br>> > Item was added:<br>> > + \
----- Method: MCMcmUpdater>>updateMessageFor: (in category 'private')<br>> \
> -----<br>> > + updateMessageFor: previousUpdateLevel<br>> > \
+<br>> > + ^ ('Update completed.<br>> ><br>> > Version: {1}<br>> \
> Update: {3}*{2}*<br>> ><br>> > Url: {4}<br>> > Map: \
''{5}''<br>> > TravisCI status: {6}' translated format: {<br>> > + \
SystemVersion current version.<br>> > + SystemVersion current \
highestUpdate.<br>> > + previousUpdateLevel = SystemVersion current \
highestUpdate<br>> > + ifTrue: ['']<br>> > + ifFalse: \
[previousUpdateLevel asString, ' -> '].<br>> > + self repository.<br>> \
> + MCMcmUpdater updateMapName.<br>> > + SystemVersion current description \
ifEmpty: [''] ifNotEmpty: [:d |<br>> > + '<br>> ><br>> > ', (d \
copyReplaceAll: String cr with: '<br>> > ')].<br>> > + SystemVersion \
current ciStatusBadgeUrl.<br>> > + SystemVersion current \
ciStatusPageUrl.<br>> > + }) asTextFromHtml!<br>> ><br>> ><br>> \
><br>> ><br><br><br><br>><br><br><br><br></marcel.taeumel@hpi.de></lewis@m \
ail.msen.com></squeak-dev-bounces@lists.squeakfoundation.org></christoph.thiede@studen \
t.hpi.uni-potsdam.de></marcel.taeumel@hpi.de></squeak-dev-bounces@lists.squeakfoundati \
on.org></christoph.thiede@student.hpi.uni-potsdam.de></squeak-dev-bounces@lists.squeakfoundation.org></div></blockquote></div>
["image.png" (image/png)]
[Attachment #9 (text/plain)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic