[Pharo-users] Usage of String and FileLocator to reference files in ZipArchive (and probably other places)
Hi, I've stumbled upon a 7.0 incompatibility with regards to how file names are treated. In 6.1, I can use Strings and FileLocators interchangeably to create and read Zip archives. That's because StandardFileStream does the magic behind the screnes. In 7.0, StandardFileStream has been deprecated, and "File openForReadFileNamed:" is used instead. That method does not handle FileLocators, so code that uses FileLocators to open Zip archives ceased to work. What's the preferred solution? It strikes me as illogical that objects which were made to reference files can't be used to reference files in these contexts. However, there may be a conscious design decision behind this change that's just not obvious to me. Cheers, Hans-Martin -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] Usage of String and FileLocator to reference files in ZipArchive (and probably other places)
Ok here's an example: ZipArchive isZipArchive: FileLocator temp / 'nonexist.zip' In 6.1, this brings up the nonexistant file dialog if the file does not exist, otherwise it returns true or false depending on whether the file is a zip archive. In 7.0, you get an error "Instance of FileLocator did not understand #utf8Encoded" independent of whether the file exists, is a zip archive or not :-) Cheers, Hans-Martin -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] About the IoT Hackathon last Friday
Very nice, count me in for the next one :-) Cheers, Hans-Martin -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] Pharo on Linux
One thing that I've learned to appreciate quickly is the pharo launcher. It takes care of downloading everything you need (of course, it won't set up a 32-bit environment in a 64-bit Linux for you, that must be done manually). Used it in Linux and Windows environments with good success, it's really the simplest way of quickly comparing different without much hassle. Cheers, Hans-Martin -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] VPS difficulties
By the way, after looking at password hashing algorithms and what the experts say about them, I've decided to implement an interface to the Argon2 library (see https://password-hashing.net/argon2-specs.pdf for a whitepaper). The algorithm is designed to be far more resistant against cracking than md5 or sha-based algorithms and even bcrypt. The interface is designed to be very easy to use. In the simplest case (without tuning the algorithm's parameters) password hashing is performed like this: hashedPassword := Argon2 new randomizeSalt: 16; hashPassword: newPassword. verifying that a user has given the correct password: ok := Argon2 new verifyPassword: enteredPassword hash: hashedPassword. Find the code at https://github.com/hamamo/pharo-argon2. Currently it only has library names for 32-bit and 64-bit Linux - if someone adds MacOSX and Windows support I would merge that. Sorry I don't yet know how to use Metacello or other mechanisms to load it into an image with a few lines of code. Cheers, Hans-Martin -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] Usage of String and FileLocator to reference files in ZipArchive (and probably other places)
I found a related problem which indicates that the depreciation of StandardFileStream in favor of File is incomplete and probably premature: When a ZipArchive is written, in 7.0 it uses (File named: aFileName) writeStreamDo: [...] In 6.1, it uses StandardFileStream forceNewFileNamed: aFileName do: [...] which is a small but significant difference leading to corrupted zip archives when overwriting existing files. File does not have equivalent protocol to #forceNewFileNamed... so it is pretty likely that there are more bugs creeping there. Upon a cursory inspection I see that for example FLFileStreamStrategy will suffer from the same problem when writing to existing files. Is there any documentation on the reasoning of depreciating StandardFileStream and who is working on this? I'm really new to pharo development... Submitting "patches" without knowing the original design rationale seems not very productive. Cheers, Hans-Martin -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] VPS difficulties
He's got a 32 bit library that he wants to use, that won't work with a 64 bit VM. Of course, recompiling the library for 64 bit is an option, too, but probably more complicated. Cheers, Hans-Martin Am 22. November 2018 9:21:47 vorm. schrieb Sven Van Caekenberghe : Just use 64 bit Pharo 7 on a 64 bit Linux and be done with all this mess. On 22 Nov 2018, at 01:39, horrido wrote: Using zeroconf, I installed 32-bit Pharo under 64-bit Debian. Pharo refused to run – it threw up a bunch of errors. Mariano Martinez Peck wrote Run Pharo 32 bits and install 32 bit libs... On Wed, Nov 21, 2018, 21:07 Richard Kenneth Eng < horrido.hobbies@ wrote: > I'm creating the competition website using Pharo and Teapot. For encryption, I'm using Pierce Ng's PasswordCrypt, which requires a 32-bit C library. This means I must run 32-bit Pharo. And this means I must run 32-bit Pharo under 32-bit Linux. Therein lies the rub... I would like to host the website at DigitalOcean or Linode or OVH. As far as I can tell, however, these services do not support 32-bit Linux, only 64-bit. What can I do? -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Re: [Pharo-users] VPS difficulties
It can't find the display drivers since the appropriate 32 bit libraries are missing. Use the 'ldd' command on the VM binary and on the shared libraries in its directory to find out which ones you're missing. Cheers, Hans-Martin Am 22. November 2018 4:22:19 nachm. schrieb horrido : I'm running 64-bit Debian in a VirtualBox image on my Mac. When I install 64-bit Pharo, it works fine. When I install 32-bit Pharo, I get the error message below. What's the difference??? Why can one find the display driver and the other can't? This makes no sense. Earlier, people have been telling me to use './pharo-ui Pharo.image &'. Is this no longer kosher? What am I doing wrong? Fred Kaiser Borg wrote Those errors are not related to a 32 or 64 bits problem. The issue looks like you've launched pharo-ui which looks for a physical screen that isn't there. Are you trying to run pharo-ui in a debian VPS ? You should run 'pharo' and 'pharo-ui', something like this: $ pharo myApplication.image Search on google for 'pharo headless', you should find plenty of example. HTH, Fred On 22/11/2018 13:31, horrido wrote: I ran 32-bit Pharo under 64-bit Debian and got this error: [1] 8127 richard@debian:~/pharo32$ could not find display driver vm-display-X11; either: - check that /home/richard/pharo32/pharo-vm/lib/pharo/5.0-201806281256//vm-display-X11.so exists, or - use the '-plugins ' option to tell me where it is, or - remove DISPLAY from your environment. ./pharo-ui: line 11: 8131 Aborted "$DIR"/"pharo-vm/pharo" "$@" -- I thought you could always run 32-bit software in a 64-bit OS, but I guess I'm wrong. Sean P. DeNigris wrote horrido wrote it threw up a bunch of errors. Can you be more specific and did you try Mariano's suggestion about 32-bit libs? - Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
[Pharo-users] Mailing list issues
Hi, I already wrote to pharo-users-ow...@lists.pharo.org, but don't know how well that is monitored, at least I did not see an effect up to now (it's not been a lot of time, though). The mailing list is using a badly configured server, and that causes mail to be rejected. Host "lists.pharo.org" has IP address 176.58.125.247, and that's the address mails are being sent from. The PTR for that IP address is "prod3.harmonylists.io", which is apparently a name given by the provider. However, the domain registration for harmonylists.io seems to have expired, and the domain grabber who took it now points the domain to IP address 15.197.172.60. Postfix doesn't like that and therefore refuses to accept mail from that IP address. Please, whoever has a contact to either the pharo list maintainers or the mailing list provider, get them to fix this. Cheers, Hans-Martin