"repository editions" is finally permanent! This function formerly
known as "mc history" appeared in 2013, but was clunky and unreliable
and I didn't have time to fix it.
Now with the recent server upgrade, I took the opportunity to upgrade
the image to modern trunk, running under spur, with integration of the
editions feature from directly within the image. It is now finally a
permanent part of our source.squeak.org code repository. (Go ahead,
try it!)
It self-hosts its own code within our "ss" project. This is the exact
same code loaded by the Personal Squeaksource package. Together can
provide editions for ALL code (trunk and proprietary).
The 'mc history' menu was recently renamed to "browse repository
editions" because its only "history" if its retrieving them from the
trunk repository. It selects from the first repository in the
repository list of a package which can satisfy the editions request,
so if you put inbox above trunk then you'll be looking at a list of
"alternate editions" of that method (or class) existing in the Inbox,
not the "history" from trunk. The new "demote to bottom" menu item
can be used to adjust the order of the list.
Nicolas wrote:
> so you mean that we now browse all editions, including those which are not
> in current MC version ancestors:
> - those in concurrent branches
Yes. And, I think this was always supported (when it worked!) -- In
the server there is one big dictionary per Project (e.g., one for
"trunk", one for "VMMaker", one for "inbox", etc.). The editions you
see in the list are instances of MCMethodDefinition or
MCClassDefinition which are keyed simply by their #description -- so
for method editions this is {className. selector. classIsMeta}, and
for class editions, simply its (class) name. Its valued by an
OrderedCollection of all the editions. (hmm, that key might be too
loose..)
> - those in other packages (if the method was moved from one package to
> another)
So, yes, as long as the other package is in the same repository,
they'll still be keyed by their same #description's.
On Tue, 1 Nov 2016, Hans-Martin Mosner wrote:
> Looks like there is a regression with raised and inset borders. The method #initialize in SimpleBorder sets baseColor to
> ... snip...
>
> Levente, the method is from April 2016 and carries your initials - do you remember what the motivation for this change was?
I'd been wanting encourage Hans-Martin to test this real-world use
case for "browse origin" for the last weeks, now we finally can! :)
1) Bring up SimpleBorder, select the #initialize method.
2) Select "browse repository editions", a window with two editions
is presented.
3) Select the one being asked about, "ul 4/7/2016 20:10" and select
"browse origin".
NOTE: "browse origin" is actually just "the earliest-known Version in
which that definition appears." If a proper repository with all
versions is kept, then it will be the origin.
In this case, it appears Levente wrote very good "why" reasoning in the notes.
_____
The timeouts should all be fixed. Our code repository has never been
in a better shape than now. Please feel free to use browse repository
editions and origins with confidence they will work!
Cheers!
Chris
A new version of EToys was added to project The Inbox:
http://source.squeak.org/inbox/EToys-hjh.279.mcz
==================== Summary ====================
Name: EToys-hjh.279
Author: hjh
Time: 22 February 2017, 11:23:24.984746 am
UUID: 3f908905-74c3-4c1c-931c-7b440b143602
Ancestors: EToys-dtl.278
Two steps towards loading an EToys projects dropped on to the desktop.
Change
StandardScriptingSystem>>baseColor
StandardScriptingSystem>>borderColor
to use UserInterfaceTheme current instead of the old direct access to Preferences.
=============== Diff against EToys-dtl.278 ===============
Item was changed:
----- Method: StandardScriptingSystem>>baseColor (in category '*Etoys-Squeakland-tile colors') -----
baseColor
+ ^ (UserInterfaceTheme current get: #titleColor for: #MenuMorph) ifNil: [ Color transparent]!
- ^ Preferences menuTitleColor!
Item was changed:
----- Method: StandardScriptingSystem>>borderColor (in category '*Etoys-Squeakland-tile colors') -----
borderColor
+ ^ (UserInterfaceTheme current get: #borderColor for: #MenuMorph) ifNil: [(Color r: 0.2 g: 0.3 b: 0.9)]!
- ^ Preferences menuBorderColor!
A new version of MultilingualTests was added to project The Inbox:
http://source.squeak.org/inbox/MultilingualTests-tonyg.22.mcz
==================== Summary ====================
Name: MultilingualTests-tonyg.22
Author: tonyg
Time: 23 February 2017, 2:01:47.977527 pm
UUID: 76769ce3-a15d-46a7-acbd-8acfbd56fcc9
Ancestors: MultilingualTests-pre.21
Test cases from Mantis #4665.
=============== Diff against MultilingualTests-pre.21 ===============
Item was added:
+ ----- Method: MultiByteFileStreamTest>>testUpToAllAscii (in category 'testing') -----
+ testUpToAllAscii
+ "This test case is inspired by Mantis #4665."
+ "Compare to testUpToAllUtf."
+
+ | in out fn resultA resultB |
+ fn :='testUpToAll.in'.
+ out := FileDirectory default forceNewFileNamed: fn.
+ out nextPutAll: 'A<'. "Encodes to byte sequence 413C"
+ out close.
+
+ in := FileDirectory default readOnlyFileNamed: fn.
+ resultA := in upToAll: '<'.
+ in close.
+
+ in := FileDirectory default readOnlyFileNamed: fn.
+ resultB := in upTo: $<.
+ in close.
+
+ self assert: resultA = resultB
+ !
Item was added:
+ ----- Method: MultiByteFileStreamTest>>testUpToAllUtf (in category 'testing') -----
+ testUpToAllUtf
+ "This test case is adapted from Mantis #4665."
+ "MultiByteFileStream was relying on PositionableStream>>#match: to discover the position immediately following the delimiter collection. It would then use #next: to retrieve a number of *characters* computed as the difference in stream positions. However, stream positions are measured in *bytes*, not characters, so this would lead to misalignment when the skipped text included UTF-8 encoded characters."
+
+ | in out fn resultA resultB |
+ fn :='testUpToAll.in'.
+ out := FileDirectory default forceNewFileNamed: fn.
+ out nextPutAll: 231 asCharacter asString, '<'. "Encodes to byte sequence C3A73C"
+ out close.
+
+ in := FileDirectory default readOnlyFileNamed: fn.
+ resultA := in upToAll: '<'.
+ in close.
+
+ in := FileDirectory default readOnlyFileNamed: fn.
+ resultB := in upTo: $<.
+ in close.
+
+ self assert: resultA = resultB
+ !
Hi Bert, Hi All,
On Thu, Sep 15, 2016 at 2:55 PM, <commits(a)source.squeak.org> wrote:
[snip]
> http://lists.squeakfoundation.org/pipermail/packages/2016-
> September/068930.html
>
> Name: System-bf.916
> Ancestors: System-bf.915
>
> Replace VM-level ImageSegment loading with a Smalltalk implementation for
> old (interpreter-era) projects.
>
> Also removes support for writing segments.
>
> This overrides the Spur support introduced in System-eem.758.
>
So one question is should we delete VM support for ImageSegment from the
Spur VM? There's at least 1.5k of generated source for the Spur
ImageSegment load and save support, some 2% of the interpreter/primitives
source code. That's a lot, and the code is complex and ugly. If it never
really worked before IMO we should nuke it asap. If it worked in some
fashion perhaps we can schedule its demise for the 6.0 release's VM.
What do others think?
_,,,^..^,,,_
best, Eliot
Now that I have my Pi based weather station[1] in operation and mounted up on the peak of my garage roof ...
… I need to do something with the data it provides. Sadly the code reading the sensors is in Python (for now!) but it sends it as MQTT packets to a mac-mini running the broker. I’m working with Craig on an MQTT client (very early state on http://www.squeaksource.com/@gWFeIvLx-rTHKE2R/Gtrt3pje) to read it but then what?
Are there any current projects that will work in squeak5.1/spur that can draw nice graphs? What kind of graphs are good for weather data? Should there be chocolate? I guess I ought to store some amount of collected data so maybe it’s time I got to grips with Magma. I’m interested in all ideas that might lead somewhere fun with this. With those ESP8266 wi-fi enabled sorta-arduino things so cheap and easy to set up there must be a gazillion interesting things that could be monitored and analyzed and graphed and indeed actuated in response; let’s not forget that MQTT works both ways.
How about a rain sensor sending a message that its raining (duh) which gets collected and turned into a message to your car to close the sunroof before the velvet seat covers (with painted portrait of Elvis, natch) get wet? Or a strain gauge on your security fence alerting you that something heavier than 20 pounds has climbed over so the remote gatling needs hotting up?
tim
[1] Pi model A+ with gpio attached interface board for rain bucket, wind speed/direction, outdoor temp/humidity, indoor temp, RTC and USB attached Ethernet interface to POE adaptor. WiFi wasn’t practical due to metal roof. Besides, POE means I can hard-reboot by pulling a plug in my server room :-)
--
tim Rowledge; tim(a)rowledge.org; http://www.rowledge.org/tim
Strange OpCodes: IIB: Ignore Inquiry and Branch anyway
Hi all,
Dale has been working on a Squeak version of FileTree, which is a Monticello repository backed not by zip files, but a tree of individual class files that can be versioned using git, svn, etc:
https://github.com/dalehenrich/filetree/blob/master/doc/SqueakInstall.md
Since I don't like cluttering my image with unrelated things, here's how to load it using just Installer - provided you have an up-to-date trunk image with the fixes I posted today:
========================
"Bootstrap from squeak43 branch in squeaksource3"
Installer ss3
project: 'FileTree';
install: 'MonticelloFileTree-Core.squeak43'.
"Load from local filetree repository (cloned squeak4.3 branch from github into image folder)"
Installer monticello
mc: (MCFileTreeRepository directory:
(FileDirectory uri: 'filetree/repository/'));
install: 'MonticelloFileTree-Core'
========================
If you have an older image without the new fixes, giving an explicit version number for the ss3 bootstrap should make it work (e.g. 'MonticelloFileTree-Core.squeak43-dkh.70').
- Bert -
Hi All,
I've been attempting to use the Ma Client Server package on Squeak 5.0 using the instructions on http://wiki.squeak.org/squeak/2978 <http://wiki.squeak.org/squeak/2978>. The instructions there appear to be out of date. Is there another source of documentation available? The wiki lists the last edit date of that page in Sep 2016. So I assume the package is still being maintained. Please let me know if that is not the case.
Also, the version of Squeak 5.1 on the Squeak.org <http://squeak.org/> does not launch on MacOS. The Squeak 5.0 image provided on Aida/web site does, which I am using.
Thanks in advance.
Kind regards,
Hari