Re: [Pharo-users] Running a teapot instance remotely
Hi Joachim I see. I have submitted a pull request to change the wording to reflect the real situation. By the way I work professionally on a 20 year old VA Smalltalk app that we just upgraded from 6 to 9. That thing is solid as a rock and only walksback with bad code. Nothing ever else goes wrong. Vince -Original Message- From: Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] On Behalf Of jtuc...@objektfabrik.de Sent: Friday, 11 October 2019 4:09 PM To: pharo-users@lists.pharo.org Subject: Re: [Pharo-users] Running a teapot instance remotely EXTERNAL: Do not click links or open attachments if you do not recognize the sender. Vince, I guess this has its roots in long-ongoing discussions about the anticipated disadvantages of image-based development in general. It tries to explain that Smalltalk has mechanisms for recovering code after an image crashes. It is not indicating that images do actually crash more often than other development environments. It is more a remark about the fact that of course even Smalltalk can crash and that there is a mechanism (namely the changes file and changes browsers) for restoring your code after a crash, even if you didn't file-out your code or didn't push it to an external repository. Nothing more, nothing less. So please don't read this as: "Since Pharo/Smalltalk isn't stable, we had to xyz" - this is not the case. I've been using Smalltalk (mostly not Pharo) for more than 25 years and I can only remember having a need to recover source code maybe a hand full of times. In my favorite Smalltalk (VA Smalltalk), I am almost 100% sure I never had this issue because Envy is exactly the measure that is mentioned in the sentence you cited. Joachim Am 11.10.19 um 07:39 schrieb Vince Refiti: > Hi > > This brings up some questions I have been meaning to ask for some time. The > sentence "When the Pharo image crashes (which will happen), there must be a > way to automatically recover from this crash." appears in the Enterprise > Pharo Book. > > Does this claim still apply? Is Pharo that unstable still? > > If it is, what are the major causes in your own applications that crash it? I > have run a few small, local, experimental Teapot, Seaside and other Pharo > server apps and nothing crashed, but reading something like that makes me > nervous about public-facing server apps in Pharo. > > Vince > > -Original Message- > From: Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] On > Behalf Of Pierce Ng > Sent: Friday, 11 October 2019 12:39 PM > To: Any question about pharo is welcome > Subject: Re: [Pharo-users] Running a teapot instance remotely > > EXTERNAL: Do not click links or open attachments if you do not recognize the > sender. > > On Thu, Oct 10, 2019 at 04:18:14PM -0400, sergio ruiz wrote: >> How are people keeping it running these days? > I used to use daemontools. These days I use Docker. > > Pierce > -- --- Objektfabrik Joachim Tuchel mailto:jtuc...@objektfabrik.de Fliederweg 1 https://urldefense.com/v3/__http://www.objektfabrik.de__;!09EJrJkydGw!T9iwyNs37EekSPqfOmRtg4DpnjEcw9FV-Jzjbc59Tl-koQTH29rq-sj7txDgv-AzwGmoSvo25w$ D-71640 Ludwigsburg https://urldefense.com/v3/__http://joachimtuchel.wordpress.com__;!09EJrJkydGw!T9iwyNs37EekSPqfOmRtg4DpnjEcw9FV-Jzjbc59Tl-koQTH29rq-sj7txDgv-AzwGkxDIrO4Q$ Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1
Re: [Pharo-users] Pharo launcher
I format my pc and reinstall windows..now it works..thank you. On Tue, Oct 8, 2019, 18:10 Christophe Demarey wrote: > Hi Ilker, > > It looks like you got the same issue as > https://github.com/pharo-project/pharo-launcher/issues/349 > If you do not run Pharo Launcher from cmd line or unzip is not in the > path, it should works fine (waiting for a proper fix). > Please try to delete corrupted VMs (you can use Pharo Launcher VM Manager) > and try again. > > Thanks for the report, > Christophe > > > Le 8 oct. 2019 à 15:35, ilker özcan a écrit : > > > > When i tried to install pharo 7 and 8 with the launcher on windows 10 > there happened a message which says windows can not run 16 bit program.. > > > > It seems pharo.exe seems to be 16 bit ( i installed 64bit)..anyone with > such a problem and any idea how i can solve this? Thanks all.. > > >
Re: [Pharo-users] Transcript: printString or asString
Hi Tim. I just learned in previous videos of the mooc about using nautilus to explore using "Implementers of..." or "Senders of..." I will do that for sure now. Thanks for your tip. Regards >
Re: [Pharo-users] Transcript: printString or asString
Hi - While I’m sure everyone can give you an answer - it’s more useful to teach you how to answer these questions for your self. Try right clicking with your cursor on asString and choose “implementors of” (it may have a slightly different name friending on Pharo version - or press “meta”-m. Do the same for printString and compare the results. Also, do the same using “senders of” (meta-n). Most code in Pharo is explorable like this, and you can generally answer most questions by seeing his other code in the system interacts or uses what you are exploring. Tim Sent from my iPhone > On 13 Oct 2019, at 11:50, Samuel Teixeira Santos wrote: > > Hi folks. > I'm starting in Pharo studies by FUN Mooc. > In Week 03, on An Overview of Essential Collections there is the example > below: > > | days | > days := Dictionary new. > > days > at: #January put: 31; > at: #February put: 28; > at: #March put: 31. > > days keysAndValuesDo: > [ :k :v | Transcript show: k asString, ' has ', v printString, ' days' > ; cr ] > > The code in blue I change for > > days keysAndValuesDo: > [ :k :v | Transcript show: k asString, ' has ', v asString, ' days' > ; cr ] > > And works too on Playground. > > There is something different about both? There is someone better than other? > > Thanks in advance, > > > Samuel T. Santos
[Pharo-users] Transcript: printString or asString
Hi folks. I'm starting in Pharo studies by FUN Mooc. In Week 03, on An Overview of Essential Collections there is the example below: | days | days := Dictionary new. days at: #January put: 31; at: #February put: 28; at: #March put: 31. days keysAndValuesDo: [ :k :v | Transcript show: k asString, ' has ', v printString, ' days' ; cr ] The code in blue I change for days keysAndValuesDo: [ :k :v | Transcript show: k asString, ' has ', v asString, ' days' ; cr ] And works too on Playground. There is something different about both? There is someone better than other? Thanks in advance, Samuel T. Santos
Re: [Pharo-users] voyage mongo and transactionality
Jonathan, I was a bit destracted by work this week, so I am a little late to the show... Am 10.10.19 um 12:26 schrieb Jonathan van Alteren: Hi Joachim, Thank you for your feedback. It feels good to know we're not alone in this :-) Well, I guess there are far more people in this boat than actually know they are ;-) Unfortunately, the things you describe are familiar to me. My business partner Dave West has a lot of experience with applying a behavioral, 'pure' object design approach. We're looking hard into simplifying these matters through the application of inversion of control and by making objects as autonomous as they can possible be. sigh, This is really, really hard. You'd need a guard in the background that autonomously register all objects that get visited/accessed/modified during an operation and create a memento just before this actually happens. Ideally, this would only happen if the upcoming operation on that objects modifies its state once the operation happens. Or ot would have to clean up non-modified ones after the operation finished. I guess this second alternative is even feasible using slots and such, but there remain a few questions about synchronizing all this and the underlying database transactions... At the same time, we haven't found the pot of gold at the end of the rainbow yet ;-) You know, sometimes I fear it is better not to have anybody come back from that end of the rainbow. They might have found out there is no pot or anything similar to one ;-) Nowadays, a fair amount of applications have a very direct way of handling user interactions and resulting state changes. For example, the settings of my Firefox browser doesn't have a save button anymore. Anything I change looks to be automatically persisted. Perhaps there is some value in that approach for 'enterprise' applications as well, although I think there will remain a lot of use cases where an explicit save will be needed for whatever reason. Hmm. I am afraid there is a certain distance between changes that only affect a single setting value and more complex values that imply a lot of recomputation of values in a more complex model. Sometimes you also need to modify or at least check consequences of changes that don't fit onto a single screen, and there you need to find ways to allow a user to step back from what they just started to do... Let's keep talking about this. I need to do some research on the memento pattern first :-) If you have any information sources you can point me to, I would greatly appreciate that. I don't follow any interesting research on mementos. Too much work to do for that. The memento pattern itself is just "make a copy that the user can play with without any consequences to the original object". Works perfect for a single object or a well-defined object graph. But I am not aware of any working solutions that would solve our problems for more complex graphs, or even a general one... If you find something, let us know! Joachim Kind regards, Jonathan van Alteren Founding Member | Object Guild jvalte...@objectguild.com On 9 Oct 2019, 16:49 +0200, jtuc...@objektfabrik.de , wrote: This is a tricky mine field. Sometimes you need a lot of business functionality in objects referenced in your objects that are currently in the editor. So I'm still to see a project in which the memento pattern really worked for more complex scenarios. How deep do you dive to have enough memento objects to provide the functionality needed. I guess you can do that with some sort of object-level transaction framework that automatically creates mementos of whatever object is being navigated to during some kind of processing-context. I guess slots could be of use here. But this is not trivial for general cases. In my experience, this problem area makes for the other 70% of the time spent on developing GUI or Web applications, besides the 60% for GUI design and implementation and 25% business logic... I'd be interested to learn about patterns to handle such more complex things. We constantly travel back and forth between implementing stuff in the GUI handlers (copying values to the GUI classes that access themselves during GUI operations and push values to the business objects when the users clicks on OK), using mementos (which most of the times are nets of mementos that are created manually - "we know what we'll touch in this Editor") and operating on business objects directly and relying on the persistence mechanism (Glorp in our case) and its rollback behaviour. All three have lots of weaknesses and seem to have their place nevertheless. So this is a very interesting discussion and I think this is an area that has not been solved yet. Joachim Am 09.10.19 um 16:25 schrieb James Foster: Thanks for the explanation. And, yes, this is an artifact of your design; if you put intermediate values into domain objects then they