Bank of headlines - Unpublished pages to work on:
Blog entries to make:
Why does the editor look so much better on myborden.com than for the Amdocs Pier? Tried adding the library PREditorScripts, no success.
Puzzles - https://www.redblobgames.com/pathfinding/a-star/introduction.html May want to update the puzzle page with this progress bar package
Add this to my research on metacello: Dependency browser
Add a post for updating the timeout - Something like the length of a session and the impact of what one chooses.
Add a review of Master Algorithm- ref:
Similar to Pier Search - Any of my extensions caused other problems - check Pier-Model:
PRFullTextSearch>>visitStructure: PRTable>>accept: PRViewRenderer>>visitPierTable: PRVisitor>>visitPierTable:
Anything that can be found in http://rjlipton.wordpress.com/2014/10/18/a-new-provable-factoring-algorithm/?
Attempted to create a conditional description - if the time is 11:59, then display it as a date, if it is any other, display the date and time:
descriptionDue <magritteDescription> ^ self due asTime = (Time hour: 23 minute: 59 second: 0) ifTrue: [ ^ MADateDescription new accessor: #due; priority: 300; label: 'Due Date'; beEditable; beRequired; yourself ] ifFalse: [ MATimeStampDescription new accessor: #due; priority: 300; comment: 'When this task must be done by.'; label: 'Due Date'; beEditable; beRequired; yourself ]
This didn't work out as I had expected - For new entries (which have the date defaulted to 11:59, they may display correctly as only the date, but sometimes it would not (and change the time to 12:00). Seems this may not be an option.
Are 3D printers a good idea?
Books to read
Advice for my kids:
Either create a page in the pier section, or a blog post. Changes:
TimeStamp
with DateAndTime
DateAndTime tomorrow 2015-04-03T00:00:00-05:00The method TimeStamp class>>now has been deprecated. use DateAndTime The method DateAndTime>>asTimeStamp has been deprecated. use #asDateAndTime
Pillar-Tests-Model-Document has failing tests - need to make sure my version is up-to-date.
Similar had to change the #asTimeStamp to #asDateAndTime in the pier todo code
2015-Apr-26 - Ran into error with 3.1 image in both 4.0 and 3.0 Pharo - when bringing up http://localhost:8080/pier, this error came up:
MessageNotUnderstood: PRInternalLink>>parameterAt:ifPresent: Your request could not be completed. An exception occurred.
This is coming from this - the description param-name is search-button
:
WAComponent>>initializeAttribute: description with: aValue overridWith: anInternalLink
Added PRInternalLink>>parameterAt:ifPresent:
, next error was MessageNotUnderstood: PRSearchView>>refresh
parameterAt: aName ifPresent: aBlock Transcript show: 'This should not be called - '; show: thisContext sender printString; cr. self parameters at: aName ifAbsent: [ ^ nil ]. ^ aBlock value
2015-Sep-25 - Problems with Pier - Seems like the Jenkins job for this has been shut down. For Pier3, the pier image opens but has the error in the browser:
MessageNotUnderstood: PRInternalLink>>isEmbedded Your request could not be completed. An exception occurred.
2015-Oct-15 - Looking at an older image, it looks like the method was:
PRLink>>isEmbedded ^ self embedded
The variable embedded is defined in defined in this class.
2015-May-10 - Downloaded Build #716 from Pier3Addons 40,release3.1, opened it and went to login - it failed with the error:
Deprecation: The method TimeStamp class>>now has been deprecated. use DateAndTime Your request could not be completed. An exception occurred.
Changing GRPharoPlatform>>magritteTimeStampClass
to return DateAndTime instead of TImeStamp resolves the problem - it is being called from PRCommand>>execute
. Not sure why Magritte-Pharo3-Model-JohnCBorden.4
wasn't loaded with this image, but it seems that I should create a Pharo4 version of this package.
2015-Apr-28 - In the process of upgrading Pier from Pharo 3 to Pharo 4, I ran into an issue where TimeStamp was replaced by DateAndTime. Previously I had dealt with this sort of replacement by filing out code and using Vim to do text replacement, however in this case that would have updated things like this blog post that contain the word, and not dealt with the class Timestamp being different than the word found in a string.
Example:
RBParseTreeRewriter new replace: '``@object deprecated: ``@arg1 ' with: '``@object deprecated: ``@arg1 on:(''', dateString, ''') in:(''Pharo', versionNumber asString, ''')'.
Questions:
The paper on this or the chapter may help. Interesting to see how the c2nim program works.
Maybe just update the source, and then less conversion is required:
PRToDoTask allInstances do: [ :task | task due: (DateAndTime date: task due asDate time: task due asTime)]. PBPost allInstances do: [:e | e publication class = TimeStamp ifTrue: [e publication: (DateAndTime date: e publication asDate time: e publication asTime)]].
Seems best to update Pier 3.0 to Pier 3.1.
PRKernel instances size = 1 ifTrue: [ PRKernel instances anyOne name: 'pier_old']. PRKernelCreatorForPier new createKernel.
Another solution - replace all of the TimeStamps in the currently running wiki with DateAndTimes - then the problem disappears.
Add to the Pier 3 to 3.1 conversion page:
Create a blog post for backing up the Pier on pharocloud:
Dealing with DST - Delete and re-create:
Philippe Back posted this TZ code:
| localTimeZoneToRestore time | localTimeZoneToRestore := DateAndTime localTimeZone. DateAndTime localTimeZone: (TimeZone abbreviated: 'UTC'). time := DateAndTime midnight. DateAndTime localTimeZone: TimeZone default. time.
After running the above, when I check the time with either of the below, it is 5 hours ahead (Since I'm in CST):
DateAndTime now asTime. Time now.
How would one display the ToDo list in local time?
Could also host under Digital Ocean - it looks a lot like Pharocloud. More notes from the Zinc HTTP Components:
"Starting with http://zn.stfx.eu/zn/build-and-deploy-1st-webapp/ Start up the server:" ZnServer startDefaultOn: 8080. ZnClient new get: 'http://localhost:8080/random'. ZnClient new get: 'http://localhost:8080/help'. ZnServer default logToTranscript. ZnServer default debugMode: true; inspect. ZnServer stopDefault.
=
ZnServer startDefaultOn: 8080. ZnServer default delegate map: #image to: MyFirstWebApp new. MyFirstWebApp allInstances. MyFirstWebApp new form asMorph openInWindow. ConfigurationOfMyFirstWebApp load.
Need to create a wiki page under Pier for how to install Pier on Squeak - started on Pier on Squeak.
2015-May-31 - It would be great if I could setup an automate way of installing my favorite packages, running Productive Programmer code like the below.
After working in Pharo for a while, one may wish to have their prefered packages and settings loaded into an image and setup before they start working. This way each morning they have a new fresh image complete with customizations.
For example, when I login each morning, I have a cron command setup to run a script which downloads the latest
PRKernel instances size = 1 ifTrue: [ PRKernel instances anyOne name: 'pier_old']. PRKernelCreatorForPier new createKernel.
There are some tips at: https://smalltalkzen.wordpress.com/tag/pharo/ and http://sleepycoders.blogspot.ch/2013/10/dead-simple-intro-to-metacello.html.
Figure out what to do with scheduled tasks - For this I don't think I want them automated to run, but there may be other situations:"
ScheduledTask allInstances size = 0. TaskScheduler allInstances size = 0.
Not sure how to specify more than one repository in the baseline method - seems this is normally done with Gofer (see 8.4 of PBE).
How would I know when new versions change?
Latest Copy - profile:
# http://pharobooks.gforge.inria.fr/PharoByExampleTwo-Eng/latest/ZeroConf.pdf alias cdp='cd $HOME/Smalltalk/Pharo' alias getp='cdp; mkdir -p old; mv pharo-vm old/pharo-vm.$RANDOM; curl get.pharo.org/40+vm | bash && curl https://ci.inria.fr/pharo-contribution/job/Pier3Addons/PHARO=40,VERSION=release3.1,VM=vm/lastSuccessfulBuild/artifact/Pier3Addons.zip > Pier3Addons.zip && unzip Pier3Addons.zip && ./pharo-ui Pier3Addons.image' alias timer25='date; echo "========================="; for i in {1..25}; do sleep 60; echo -n "+"; done; echo; echo DONE'
Pharo Workspace:
World bindKeyCombination: 29 command toAction: [ SystemWindow sendTopWindowToBack ]. Transcript open. TestRunner open. Gofer new smalltalkhubUser: 'JohnCBorden' project: 'ClassicPier'; package: 'Pier-SW2-Sw1Features'; load. Gofer new smalltalkhubUser: 'JohnCBorden' project: 'PierToDo'; package: 'Pier-ToDo'; package: 'Pier-Tests-Todo'; load. Gofer new smalltalkhubUser: 'JohnCBorden' project: 'PierWorkout'; package: 'Pier-Workout'; package: 'Pier-Test-Workout'; load. Gofer new url: 'http://smalltalkhub.com/mc/JohnCBorden/miscellaneous/main' username: 'JohnCBorden' password: (UIManager default request: 'Password for jborden:'); package: 'Pier-Exported-Code'; load. PRKernel instances size = 1 ifTrue: [ PRKernel instances anyOne name: 'pier_old']. PRKernelCreatorForPier new createKernel. WAAdmin applicationDefaults. WAConfiguration allInstances size = 0. WAAdmin defaultDispatcher defaultName: 'pier'.
"Find out how to set the libraries - This order allows the ToDo display to be an accordion: PRBlueprintlibrary PRJavaScriptSupport PRWysiwygFileLibrary JQUiDeploymentLibrary JQUiDevelopmentLibrary PRYUIEditorDeploymentLibrary PRYUIEditorDevelopmentLibrary JQOvercastTheme JQWidgetBoxDeploymentLibrary The Kernel is Pier (replace pier_old) This is set to default For adding libraries, it seems like I need to get the app from WAAdmin, and send #addLibrary: JQuery..." "Seems the Seaside Control Panel can be opened from World -> Tools. Remove unnecessary tools:" WAAdmin defaultDispatcher unregister: (WAAdmin defaultDispatcher handlerAt: 'tools'). WAAdmin defaultDispatcher unregister: (WAAdmin defaultDispatcher handlerAt: 'examples'). WAAdmin defaultDispatcher unregister: (WAAdmin defaultDispatcher handlerAt: 'status'). WAAdmin defaultDispatcher unregister: (WAAdmin defaultDispatcher handlerAt: 'tests'). WAAdmin defaultDispatcher unregister: (WAAdmin defaultDispatcher handlerAt: 'javascript'). WAAdmin defaultDispatcher unregister: (WAAdmin defaultDispatcher handlerAt: 'bootstrap'). WAAdmin defaultDispatcher unregister: (WAAdmin defaultDispatcher handlerAt: 'welcome'). WAAdmin defaultDispatcher unregister: (WAAdmin defaultDispatcher handlerAt: 'piersetup'). WAAdmin defaultDispatcher unregister: (WAAdmin defaultDispatcher handlerAt: 'browse').
"Following step - Automate taking a weekly backup of the wiki - p137 (Working with Remote Servers) of DIP may help with Gofer writing." #('Find Broken Links' 'Add a History Report' 'Update Overdue Repeating Tasks' 'Automate Backup of Pier to Code') do: [ :title | (PRPathLookup start: (PRKernel instanceNamed: 'Pier') root path: ('/John Borden/Todo/', title)) automate ].
Follow the steps for the dev tools. Don't automate the code if this version isn't going to the prod server. If it is, then also update the tasks to have the correct time (this adds 5 hours):
PRToDoTask allInstancesDo: [ :e | e due: (e due midnight + 299 minutes) ].
Check the tasks:
TaskScheduler allInstances size = 1 ifTrue: [ TaskScheduler allInstances anyOne inspect ].
It would help a lot to get the CSS updated - one thing that may help is removing:
(PRPathLookup start: (PRKernel instanceNamed: 'Pier') root path: '/Template/Style.css') remove. (PRPathLookup start: (PRKernel instanceNamed: 'Pier') root path: '/Template/pier.png') remove.
Another thing to fix - Pier-SW2-Sw1Features updates PRTable>>accept:
to send visitPierTable: instead of visitTable:, this could cause issues in the future if I modify any of the Pillar code.
2017-Mar-4 - Need to convert several pages:
PRKernelCreatorForPier>>systemtemplatesmetaenvironment: PRKernelCreatorForPier>>systemcomponentsheader: PRKernelCreatorForPier>>systemcomponentsfooter: PRKernelCreatorForPier>>systemcomponentsloggedinuser: PRKernelCreatorForPier>>systemcomponentsmenu: PRKernelCreatorForPier>>systemtemplatesblogenvironment: PRKernelCreatorForPier>>systemcomponentscommands:
2018-Feb-8 - Update the workout based on PierWorkout, and copy the data from the text files:
% tab=$(print "\t"); file=2018-Feb-24.txt % sed 's/\(^[^0-9]\)/| \1/; s/^/| /; s/'$tab'/ | /g' $file | pbcopy
Get the object in Pharo:
(PRWorkoutLog allInstances size = 1 and: [ PRWorkoutLog allInstances anyOne workouts isArray ]) ifTrue: [ PRWorkoutLog allInstances anyOne workouts: OrderedCollection new; inspect ].
Having difficulties getting the CSS to show up correctly. Tried uploading the file as style.css.txt (so it would answer true to #isText (see PRStructure>>descriptionStyleSheet
)), however it still wasn't formatted correctly. 2018-Mar-2 - Found the easiest way to resolve this is to replace the existing CSS with the same file again (the file is being stored in the MAExternalFileModel with the full path. 2020-Apr-14 - Ported the wiki yesterday and added the workout, but didn't realize that it had an exercise selected, so it was out-of-order, fixed with:
(PRWorkoutLog allInstances size = 1) ifTrue: [ PRWorkoutLog allInstances anyOne workouts: (PRWorkoutLog allInstances anyOne workouts sorted: [ :a :b | a date < b date ]) ].
2019-Dec-5 - Copying the Pharo image to linux causes it to bring up a walkback on MacStorage, running it on the ubuntu account on Fedora is easier, but I forgot to copy the workout log. Need the file:
2019-Aug-22 - The following no longer works from the command line: cat 2018-Feb-8.txt| sed 's/\(^[^0-9]\)/| \1/; s/^/| /; s/'$tab'/ | /g' | pbcopyCopy the file: cp 2019-Aug-22.txt pipe.txt vim pipe.txt :%s/\(^[^0-9]\)/| \1/ :%s/^/| / :%s/ / | /g cat pipe.txt | pbcopy
2018-Mar-7 - Noticed that if a line only has an equal-sign and a space, then in the import it only has the equal sign, so the page had random paragraphs with equals separating them. Seems that the code export was missing an update - Preparing Pier Conversion Mistakes. 2018-Mar-11 - Check for this with:
| line lastLine count | count := 0. FileSystem disk workingDirectory / 'new.st' readStreamDo: [ :stream | [ stream atEnd ] whileFalse: [ line := stream nextLine. (line size = 1 and: [ line first = $= ]) ifTrue: [ count := count + 1. lastLine size = 1 ifFalse: [ Transcript show: lastLine; cr ]]. lastLine := line ]]. count.
2018-Mar-24 - Problems with the default CSS, seems easiest to replace it with an empty file and re-create it in the browser:
(PRPathLookup start: (PRKernel instanceNamed: 'Pier') root path: '/System/Components/DefaultCss') file: nil.
Next time I can automatically open the file-in for checking:
FileList openOn: FileSystem workingDirectory titled: 'Check Filein for Pier in: '.
First thing on accessing http://localhost:8080/pier
MessageNotUnderstood: GRSmallDictionary>>inject:into:
This is coming from PRReferenceRenderer(PRLinkRenderer)>>attributesFor:
- Not sure why this is breaking now since PRLinkRenderer is from Pier-Seaside 553 (by me!) from April, and GRSmallDictionary is part of grease core that has not recently changed either, seems it was a change in how links are created.
This seems similar to the changes in Pier 3.1 Changes, checking with:
PRInternalLink allInstances anyOne parameters class = GRSmallDictionary
This was changed in PRReference - part of Pillar-Model-Document.
Write a blog post on development:
Preparing a Post - 2015-Jul-17 - Looking into getting the tests to work in Pier. A recent image has 32 failures - for example:
PRValueLinkTest debug: #testParseAliased
The errors generally are:
PRCocoonConfiguration class>>configurationName nil MNU #writerName
This seems to be coming from a DNU from PROutputStream>>newLine
self configuration newline
Another error is a DNU from the configuration for headingLevelOffset from
PRPillarWriter>>visitHeader:
This was found from:
PRDocumentDescriptionTest(MAElementDescriptionTest)>>#testFromString
On a similar vein, downloading a fresh image and editing a page brings up:
MessageNotUnderstood: receiver of "writerName" is nil
Opened an image from a week previously, and the tests are green. Careful loading of older version found that this is sufficient to get the tests working:
Gofer new url: 'http://smalltalkhub.com/mc/Pier/Pillar/main'; version: 'Pillar-Model-CyrilFerlicot.202'; version: 'Pillar-Tests-Model-CyrilFerlicot.157'; version: 'Pillar-ExporterCore-MartinDias.197'; load.
2015-Jul-27 - When loading the code the pier_old works fine, however with the Pier from this wiki, it fails with:
MessageNotUnderstood: GRSmallDictionary>>collect:
This is coming from:
PRInternalLink(PRReference)>>postCopy super postCopy. self parameters: (self parameters collect: [ :each | each copy ])
My first instinct is to change this to use #deepCopy. The next failure is:
MessageNotUnderstood: GRSmallDictionary>>asDictionary
Which is coming from:
PRInternalLink(PRReference)>>parameters: parameters := aCollection asDictionary
One idea is to remove the asDictionary, but this makes all of the tests fail.
Also, opening a Pillar image, and all of the test pass.
2015-Sep-28 - Bring Pier back to life
Sent an email to the the Pier mailing list asking what could be done to re-enable Jenkins Build, Stephan Eggermont re-enabled it, but the Pharo 5 3.0 build was broken, as is the Pharo 3 Pier 3.1 build. Attempted to build the image from a Pharo 5 image:
ConfigurationOfPier3AddOns project bleedingEdge load.
This failed with an encoding error, next tried:
Gofer new url:'http://smalltalkhub.com/mc/Pier/Pier3Addons/main'; package: 'ConfigurationOfPier3AddOns'; load. ((Smalltalk at: #ConfigurationOfPier3AddOns) project version: #stable) load.
This also failed.
2015-Sep-30 - Looking at Pier 3 - the same builds are failing there. Downloaded a Pharo3 image and unsuccessfully loaded the latest version:
Gofer new url: 'http://smalltalkhub.com/mc/Pier/Pier3/main'; package: 'ConfigurationOfPier3'; load. ((Smalltalk at: #ConfigurationOfPier3) project version: #bleedingEdge) load.
This failed with:
This package depends on the following classes: MAVisitor MAElementDescription You must resolve these dependencies before you will be able to load these definitions: visitPathDescription: PRMagritteDictionaryReader writeDictionary:for: checkRequired:with: class: interpretAsBoolean:with: interpretAsNumber:with: raiseWarningIfTooManyParameters sortDescriptions tryToAddFrom:withInterpretation:
Tried the stable version - this was successful:
Gofer new url: 'http://smalltalkhub.com/mc/Pier/Pier3/main'; package: 'ConfigurationOfPier3'; load. ((Smalltalk at: #ConfigurationOfPier3) project version: #stable) load.
Incidentally the bleeding edge version can be loaded on top of this, if one ignores the warnings. There's a nice GUI under:
World / Tools / Versioner
Created Pier3 Configuration Fails with UTF8InvalidText
2015-Oct-15 - Problems with Pharo3 development version - Try loading the Pier 3 dev into a Pharo 3 image:
Gofer new url: 'http://smalltalkhub.com/mc/Pier/Pier3/main'; package: 'ConfigurationOfPier3'; load. (Smalltalk at: #ConfigurationOfPier3) project bleedingEdge load.
This is failing due to these not being defined - MAVisitor (Magritte-Model-Visitor) and MAElementDescription (Magritte-Model-Description). If the below is ran first, then this loads successfully:
Gofer new url: 'http://smalltalkhub.com/mc/Magritte/Magritte3/main'; package: 'ConfigurationOfMagritte3'; load. (Smalltalk at: #ConfigurationOfMagritte3) project bleedingEdge load.
Unfortunately when the image opens, going to http://localhost:8080/pier brings up an error for links (so does the latest version). Loading Pillar also raises errors, but different than the Pier3 ones.
2015-Oct-18 - The below investigates links:
PRReference allSubclasses collect: [ :c | c allInstances collect: [ :e | e parameters ]].
Next problem - Bringing up http://localhost:8080/pier gives a page with:
Title SearchChildrenSidebarContentsFooter
Nothing is displayed correctly. Tests like PRVisitorTests>>testOutgoingReferencesEmbedded
are also failing - Is it because when it was created, or is there code missing? Since it is a test with the setup, it seems unlikely that it is a timing/setup issue. By loading ConfigurationOfPillar-DamienCassou.164
with:
((Smalltalk at: #ConfigurationOfPillar) project version: #stable) load.
I'm able to get the tests green, but loading the wiki gives the error:
MessageNotUnderstood: receiver of "and:" is nil
This goes back to my previous problem - it is being sent from PROutgoingReferences>>embeddedComponents
- in this case each is a PRInternalLink, embedded is set to nil. Tried older version, prior to v1.0 (155) the tests start to fail. It seems best to go with the newest version of Pillar where the tests still pass.
2015-Oct-23
Gofer new url: 'http://smalltalkhub.com/mc/Pier/Pier3/main'; package: 'ConfigurationOfPier3'; load. ((Smalltalk at: #ConfigurationOfPier3) project version: #development) load.
Tried modifying the ConfigurationOfPier3 using the browser, but didn't get the version number right. Tried with the version tool - created ConfigurationofPier3-53. Screenshots of this would be helpful.
2015-Oct-26 - Successfully loaded the Borden wiki extract and viewed the pages. Embedded links also worked correctly.
Alternatives are to update the code that references #embedded, #embedded: and #isEmbedded and change it to deal with it as a property or something similar (need to dedide between it being a parameters (defined in PRReference) or as one of the properties (defined in PRObject)).
From November 28th, when one clicks on Edit on http://localhost:8080/pier, it has the message:
MessageNotUnderstood: JQTabs>>onSelect:
From the notes on Pier Editor, changed:
ConfigurationOfPier3AddOns>>version304:
to have:
package: 'Pier-Wysiwyg' with: 'Pier-Wysiwyg-JohnCBorden.90';
This should resolve it, but I'll need to determine why the title is listed as "Not Found". 2015-Nov-30 - It would also be good to know why the Pier3Addon hasn't built since Nov-28th (it was even successful!)
More Failures - 2016-Jul-8 - Pier3AddOns Build. 2018-Apr-7 - Published MyBorden Upgraded to Pier 3.2
Searching http://forum.world.st/ for ssh may have been a good idea - http://forum.world.st/SSH-td67386.html#a67392
Starting a post on TelnetProtocolClient - Telnet and ftp are older protocols that is generally not used due to security concerns (it passes credentials in plaintext). For internal tools, it may be acceptable, but should never be used for anything that faces the internet.
My webserver was running on a Windows server, so OSProcess wasn't an option.
Using TelnetProtocolClient - inspect this:
(TelnetProtocolClient openOnHostNamed: 'hpitan4') loginUser: 'nxcurrv' password: 'unix11'.
Sent #close when done. Took this from PRScheduledTaskExamples>>ftpFileToReport:pass:host:file:reportOnPageAt:
2015-Aug-13 - Working on TelnetMachine.15 & a file from 2006-Feb-18 - problems:
Transcript new
2015-Aug-24 - I was able to open a telnet session, send a command, and create a file. The first attempt locked up, the second was successful. For the test cases, they are failing due to DynamicBindings not being defined (these are used in ApplicationService>>initializeBindings
- the method #checkRequiredBindings
in this class uses returns false if there are self requiredBindings
missing from this, however this collection is always empty in what I have). So far I haven't seen anything that adds to DynamicBindings. Next I need a replaced #newProcessWithBindings:
with #newProcess
in ApplicationService>>start
. Problem is TcpListener is needed in TcpService>>runWhile:
Maybe I should just look into loading KomServices from someone else's work - http://magaloma.seasidehosting.st/KomServices. This Gofer example lists KomHttpServer
explicitly. Maybe the ConnectionQueue
project is more alive (and already loaded).
Started with a gentle introduction. Assuming that one needs to create the ** after installing:
% mkdir -p ~/npm/bin % . ~/.profile % npm config set prefix=~/npm % npm install -g amber-cli
Can this be combined with ionic - see this magazine
Would it be useful to have a logging framework like nagare-logger in Pier - install with:
Gofer it squeaksource3: 'Nagare'; package: 'ConfigurationOfNagare'; load. (Smalltalk at: #ConfigurationOfNagare) perform: #load.
Seems that the latest PUL for Cincom VW is less-than-ideal for usibility - windows don't seen to update without some action, the TestRunner won't let you unselect a class, etc. Need to look through the tutorials before I complain.
Add to Reading
Similar to this is imposter syndrome
Pier Upgrade - Pier 3.0 to Pier 3.1
Next Steps: # Get all of the history # Change recommended pages (and the interesting line above) # Export to Code # Run the above modifications # File in the output # Start and test # Turnoff debug code # Start automated processes (ftp files) - copy automate commands from old live # Run as a service "
Another Workspace:
"Tasks: - Make the enhanced editor work -- Value seems low - maybe using the non-enhanced editor for a while will be OK -- Seems to need some Seaside 3.2 work - Make Google Analytics work - 2017-Apr-4 - updated code based on the first book. -- Adds a record to how much traffic my site gets -- Can be a lot of non-Smalltalk work - Track what searches are being done - Google Gadget may need a replacement - https://en.wikipedia.org/wiki/Google_Gadgets - Add a document for the google verification file. Not sure how an HTML canvas would paint something in the head instead of the body. " { PRGoogleAnalyticsWidget allInstances size = 5. PRGoogleGadget allInstances size = 0 }.
2019-Nov-9 - Problems exporting Pier, started with an image from a RHEL server, couldn't find a working copy of MobaXterm to allow me to open a GUI, so I started it on Windows instead (didn't have the sources file, so I just ignored the error). When it got to the part of exporting the users, it had a talkback based on compiling code (more than 64 temporary variables, my wiki has around 130 users) in PRKernelCreatorForPier>>addUsersToKernel:
. An initial thought was to modify PRKernelCodeExporter>>addKernelUsers:to:
and writeUser:on:
so it worked over an array of users, but this would have portability issues. Tested another idea - just find the sources file. Created Link Labels in Pier3 for this.
2017-Jun-27 - Yesterday morning, I realized that maps was able to find my location on an iPad with WiFi only access. It seems to work well when near buildings and in the city rather than on an open road, implying it is getting some data from attempted WiFi connections. This could have greatly helped with finding my hotel Sunday night. How can I be open to more discoveries like this? Something similar - be more curious.
2018-Jun-19 - While working through a Willow tutorial on Medium, I copied text to my Pharo image:
Metacello new baseline: 'Willow'; repository: 'github://ba-st/Willow:master/source'; load. Metacello new baseline: 'WillowBootstrap'; repository: 'github://ba-st/Willow-Bootstrap:master/source'; load. Metacello new baseline: 'WillowJQueryUI'; repository: 'github://ba-st/Willow-JQueryUI:master/source'; load. Metacello new baseline: 'WillowPlayground'; repository: 'github://ba-st/Willow-Playground:master/source'; load. Smalltalks2017Presentation start. "Afterwards go to localhost:8080/willow101, localhost:8080/live-docs or localhost:8080/test-runner-bootstrap3 to check if they are running.
Copying text from tutorials isn't a huge amount of work, however when using a platform like Medium, there isn't a option to force it to use ascii quotes instead of the the curly quotes. If you are running Pier, then you do have that option.
A work-around may be using shared workspaces.
2018-Aug-16 - More notes on Willow: Starting from:
Metacello new baseline: 'Willow'; repository: 'github://ba-st/Willow:master/source'; load. Metacello new baseline: 'WillowBootstrap'; repository: 'github://ba-st/Willow-Bootstrap:master/source'; load. Metacello new baseline: 'WillowJQueryUI'; repository: 'github://ba-st/Willow-JQueryUI:master/source'; load. Metacello new baseline: 'WillowPlayground'; repository: 'github://ba-st/Willow-Playground:master/source'; load. Smalltalks2017Presentation start.
Afterwards go to http://localhost:8080/willow101, http://localhost:8080/live-docs or http://localhost:8080/test-runner-bootstrap3 to check them running. Next step: https://medium.com/mercap-tech-blog/your-first-willow-application-da24fff3f531
(ZnZincServerAdaptor port: 8080) start. ToDoApplication registerAsDevelopmentApplication.
http://localhost:8080/to-do - This may be an excellent place to look into how to create baselines!
Installing Pier 3.2 on Pharo 6.1 in RH Linux:
[jborden@localhost Pharo]$ ./pier_build_script.sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 11324 100 11324 0 0 9810 0 0:00:01 0:00:01 --:--:-- 9812 Downloading the latest 61 Image: http://files.pharo.org/get-files/61/pharo64.zip Pharo.image Downloading the latest pharoVM: http://files.pharo.org/get-files/61/pharo64-linux-stable.zip pharo-vm/pharo Downloading PharoV61.sources: http://files.pharo.org/get-files/61/sources.zip Creating starter scripts pharo and pharo-ui pthread_setschedparam failed: Operation not permitted This VM uses a separate heartbeat thread to update its internal clock and handle events. For best operation, this thread should run at a higher priority, however the VM was unable to change the priority. The effect is that heavily loaded systems may experience some latency issues. If this occurs, please create the appropriate configuration file in /etc/security/limits.d/ as shown below: cat <<END | sudo tee /etc/security/limits.d/pharo.conf * hard rtprio 2 * soft rtprio 2 END and report to the pharo mailing list whether this improves behaviour. You will need to log out and log back in for the limits to take effect. For more information please see https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/r3732#linux pthread_setschedparam failed: Operation not permitted This VM uses a separate heartbeat thread to update its internal clock and handle events. For best operation, this thread should run at a higher priority, however the VM was unable to change the priority. The effect is that heavily loaded systems may experience some latency issues. If this occurs, please create the appropriate configuration file in /etc/security/limits.d/ as shown below: cat <<END | sudo tee /etc/security/limits.d/pharo.conf * hard rtprio 2 * soft rtprio 2 END and report to the pharo mailing list whether this improves behaviour. You will need to log out and log back in for the limits to take effect. For more information please see https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/r3732#linux pthread_setschedparam failed: Operation not permitted This VM uses a separate heartbeat thread to update its internal clock and handle events. For best operation, this thread should run at a higher priority, however the VM was unable to change the priority. The effect is that heavily loaded systems may experience some latency issues. If this occurs, please create the appropriate configuration file in /etc/security/limits.d/ as shown below: cat <<END | sudo tee /etc/security/limits.d/pharo.conf * hard rtprio 2 * soft rtprio 2 END and report to the pharo mailing list whether this improves behaviour. You will need to log out and log back in for the limits to take effect. For more information please see https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/r3732#linux 'Installing ConfigurationOfPier3AddOns release3.2' Loading 3.2.0 of ConfigurationOfPier3AddOns... Fetched -> ConfigurationOfSeaside3-topa.337 --- http://smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main/ --- http://smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main/ Loaded -> ConfigurationOfSeaside3-topa.337 --- http://smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main/ --- http://smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main/ Fetched -> ConfigurationOfPillar-StephaneDucasse.277 --- http://smalltalkhub.com/mc/Pier/Pillar/main/ --- http://smalltalkhub.com/mc/Pier/Pillar/main/ Loaded -> ConfigurationOfPillar-StephaneDucasse.277 --- http://smalltalkhub.com/mc/Pier/Pillar/main/ --- http://smalltalkhub.com/mc/Pier/Pillar/main/ Fetched -> ConfigurationOfPier3-JohnCBorden.84 --- http://smalltalkhub.com/mc/Pier/Pier3/main/ --- http://smalltalkhub.com/mc/Pier/Pier3/main/ ConfigurationOfPier3>>startSeasideAndRegisterPier (ZnZincServerAdaptor is Undeclared) ... Loading 3.2.0 of ConfigurationOfPier3AddOns... Project: Pillar Book bleedingEdge [0.32-baseline] Project: Cocoon stable [1.33] Project: Ston 0.18 [0.23] Project: Magritte3 3.5.0 Project: Grease release1.2 [1.2.7] Project: Seaside3 release3.1MetacelloProjectSpecLoadError: No version found for #'release3.1' of ConfigurationOfSeaside3 because: The symbolic version #'release3.1' is EXPLICITLY not defined in ConfigurationOfSeaside3 for the current platform (i.e., symbolic version defined as #notDefined). [ :ex | ^ (MetacelloProjectSpecLoadError projectSpec: self) versionDoesNotExistException: ex; signal: 'No version found for ' , self versionString printString , ' of ' , self className asString , ' because: ' , ex description ] in MetacelloMCNamelessProjectSpec(MetacelloMCProjectSpec)>>loadVersion: in Block: [ :ex | ... BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: MetacelloSymbolicVersionNotDefinedError(Exception)>>signal MetacelloSymbolicVersionNotDefinedError(MetacelloVersionDoesNotExistError)>>signal MetacelloMCProject(MetacelloProject)>>version: MetacelloMCNamelessProjectSpec(MetacelloMCProjectSpec)>>version [ vrsn := self version ] in MetacelloMCNamelessProjectSpec(MetacelloMCProjectSpec)>>loadVersion: in Block: [ vrsn := self version ]
2018-Sep-4 - The above is also found on the Loading PierAddons in Pharo 6 page, however proceeding does not seem to work. Next plan is to test loading Pier 3.2 using a workspace with:
Gofer new url:'http://smalltalkhub.com/mc/Pier/Pier3Addons/main'; package: 'ConfigurationOfPier3AddOns'; load. ((Smalltalk at: #ConfigurationOfPier3AddOns) project version: #'release3.2') load: 'Tests'.
This may be a little extreme, try this if it isn't successful:
Gofer new url:'http://smalltalkhub.com/mc/Pier/Pier3Addons/main'; package: 'ConfigurationOfPier3AddOns'; load. ((Smalltalk at: #ConfigurationOfPier3AddOns) project version: #'release3.2') load: 'Pier-Blog'. ((Smalltalk at: #ConfigurationOfPier3AddOns) project version: #'release3.2') load: 'Pier-EditorEnh'.
Another option is to just load Pier without the add-ons - sh script:
export PHARO_VERSION=${1:-60} export VERSION=release3.2 # export VERSION=release3.1 # export JOB_NAME=`dirname $PWD` export JOB_NAME=$PWD/pier ../MacOS/Pharo Pharo6.1-64.image save $JOB_NAME # ../MacOS/Pharo Pharo.image save $JOB_NAME --delete-old # ../MacOS/Pharo $JOB_NAME.image --version > version.txt REPO=http://smalltalkhub.com/mc/Magritte/Magritte3/main ../MacOS/Pharo $JOB_NAME.image config $REPO ConfigurationOfMagritte3 --install=release3.5 --group='Magritte-Model' REPO=http://smalltalkhub.com/mc/Pier/Pier3/main ../MacOS/Pharo $JOB_NAME.image config $REPO ConfigurationOfPier3 --install=$VERSION --group='default' # Load the tests ../MacOS/Pharo $JOB_NAME.image config $REPO ConfigurationOfPier3 --install=$VERSION --group='Tests'
2020-Feb-18 - Try running it on Windows. Starting with the enterprise pharo link above.
Tasks and updates:
Teapot stopAll
:8080/books
example display would really help2020-Mar-18 - Working on the tutorial on the Mac now, when saving to smalltalkhub, the Pharo 8 image has the error:
Instance of MCSaveVersionDialog did not understand #selectedClassOrMetaClass
Walkback starts with CompletionEngine. By clicking through the menus really fast, it allowed me to write the code.
2020-Mar-19 - Created Teapot Tutorial.