Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
November 2017
- 87 participants
- 872 messages
NeoCSV #skipToNextLine or #skipRemainingColumns ?
by PAUL DEBRUICKER
Hi -
I want to import the first and seventh column from a set of 50 csv files each of which could have 28 - 34 columns. Is there a way to have NeoCSV skip the remaining columns automatically (e.g. 8 and up) ?
Thanks
Paul
Nov. 3, 2017
Re: [Pharo-users] UFFI and Fortran
by horrido
Sounds like it's possible to call into TensorFlow (Python) from Pharo. That
would give Pharo a tremendous boost for machine learning applications.
Am I right?
kilon.alios wrote
> Maybe you talk about TalkFFI which aumatically wrapped C libraries for
> Pharo and i think Squeak as well but used Nativeboos, i think
>
> http://forum.world.st/TalkFFI-automatic-FFI-generation-for-Pharo-td4662239.…
>
> On the subject of Fortran yes you can use UFFI if Fortran code is compiled
> as a DLL (or equivelant non Windoom OSes)
>
> https://software.intel.com/en-us/node/535305
>
> Dynamic Library format are not exclusive to C for generation , many
> languages can generate them so even though UFFI is used predominatly for C
> any language that can generate a DLL without any name mangling should be
> accessible via UFFI.
>
> if DLL generation is not possible, then you can drop down to my solution
> of
> Shared Memory Mapped Files. Which means you make an executable in Frotran
> (or any other language) that contains the code you want to access and
> creates a shared memory region and you can access that region from Pharo
> via UFFI.
>
> This is how I built my CPPBridge project. Which one can use as a template
> for generating similar bridge for Fortran or any other language where the
> generation of DLLs is not practical or possible.
>
> The shared memory region can be used also as a means of communication
> additional to sharing live state, memory mapped files automatically save
> the live state so next time you open the file it behaves as you would
> expect a Pharo image to behave by restoring the live state. A means to
> extend Pharo image to include memory not managed by the VM.
>
> Because memory mapped files is mechanism of the OS Kernel and is also the
> mechanism used for the loading of dynamic libraries like DLLs there is
> also
> no loss of performance and is the fastest way of communication between
> languages, libraries and applications.
>
> So yes using Fortran code is possible via UFFI in more than one way.
>
> But in the end it should be noted here that because IPC mechanisms (common
> way of using libraries from other languages) are based on core OS
> functionality like , memory managment, sockets , pipes, etc its not hard
> to
> use libraries from any language from inside any language.
>
> So Pharo can use Fortran libraries and Fortran can use Pharo libraries,
> its
> also possible to retain live coding even when executing code written in
> another language through various means. Recently I was succesful in making
> Python into a basic live coding enviroment , meaning code that when
> changed
> in the source file it updates also existing live intances as you expect in
> Pharo. Python also supports memory mapped files so its possible to create
> a
> joined live coding enviroment and live image that containes both Pharo and
> Python bytecode. Of course without touching VM source code.
>
> Even though live state is not tricky to retain for compiled languages,
> live
> code can be a bit trickier to do but still not impossible or that hard as
> most would assume.
>
> Sky is the limit.
>
> Bottom line is that if you have a favorite library in any language you can
> use it from inside Pharo with at worst a few hundrend lines of setup code
> you can create as a library and of coure reuse next time you want to use
> again a library from another language without having to write a line of
> additional code. The technology is available is just a matter of learning
> how to use it. Especially if its a very large libraries it will be
> thousands times easier than trying to replicate the functionality in
> Pharo.
>
>
>
> On Fri, Oct 27, 2017 at 6:26 PM Sean P. DeNigris <
> sean@
> >
> wrote:
>
>> Ben Coman wrote
>> > it seems to hint how to do it from Pharo UFFI.
>>
>> Slightly OT: I remember years ago, someone (Dave Mason?) demoed a library
>> which automatically created FFI wrappers for C libs. I never heard
>> anything
>> about it after that, which is sad, because I was amazed and wanted to use
>> it!
>>
>>
>>
>> -----
>> Cheers,
>> Sean
>> --
>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>>
>>
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Nov. 3, 2017
Re: [Pharo-users] UFFI and Fortran
by Todd Blanchard
SmalltalkAgents used to be able to point to any shared library and import all the functions.
> On Oct 27, 2017, at 8:26 AM, Sean P. DeNigris <sean(a)clipperadams.com> wrote:
>
> Ben Coman wrote
>> it seems to hint how to do it from Pharo UFFI.
>
> Slightly OT: I remember years ago, someone (Dave Mason?) demoed a library
> which automatically created FFI wrappers for C libs. I never heard anything
> about it after that, which is sad, because I was amazed and wanted to use
> it!
>
>
>
> -----
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
Nov. 2, 2017
Re: [Pharo-users] Extending Calypso
by Juraj Kubelka
Thanks for the help, it looks good :-)
I have published it here: https://github.com/JurajKubelka/CalypsoExtensions <https://github.com/JurajKubelka/CalypsoExtensions>
Cheers,
Juraj
> On Nov 2, 2017, at 13:20, Denis Kudriashov <dionisiydk(a)gmail.com> wrote:
>
>
>
> 2017-11-02 16:50 GMT+01:00 Juraj Kubelka <juraj.kubelka(a)icloud.com <mailto:juraj.kubelka@icloud.com>>:
> Thanks! It works.
>
> Then I have two more questions:
>
> 1. How it is done that âshould be implementedâ has red color?
>
> Any method group can implement class side method:
> #decorateTableCell: anItemCellMorph of: groupItem
> Look at implementors for examples
>
>
> 2. Then letâs say I want a message group that display all messages in the environment that refers to a selected class.
>
> I found `ClyClassReferences to: classes`, but I miss how to use it in that case. My class ClyClassReferencesMethodGroup should use it in #includesMethod: and #methods. What is the right way to use ClyClassReferences or access environment to make the query?
>
> Right now queries are not reused by groups. Each group directly retrieves information from selected classes. So there is no access to the full environment.
> I am working on the model refactoring. And it is one of the parts which I want to improve. I want method group to be based on query for methods and query for subgroups. So it will be straightforward to get what you want.
>
> Now you can implement it in global way like:
>
> YourMethodGroup>>methods
> cursor := ClySystemNavigationEnvironment queryCurrentImageFor: (ClyClassReferences of: classes).
> ^cursor retrieveAllActualObjects
>
> But to make it usable you should always show this group:
>
> YourMethodGroupProvider>>buildGroupItemsOn: items
>
> items add: (YourMethodGroup classes: classes) asEnvironmentItem
>
> because by default provider adds only not empty groups where empty check can lead to long computation
>
>
> Cheers,
> Juraj
>
>> On Nov 2, 2017, at 12:23, Denis Kudriashov <dionisiydk(a)gmail.com <mailto:dionisiydk@gmail.com>> wrote:
>>
>> Hi
>>
>> There is no real documentation for now. Only examples on my slides.
>>
>> 2017-11-02 16:16 GMT+01:00 Juraj Kubelka <juraj.kubelka(a)icloud.com <mailto:juraj.kubelka@icloud.com>>:
>> Hi,
>>
>> Are there any examples (documentation) how to extend Calipso?
>>
>> I have tried to create a simple (demo) method group, but I miss something, because it is not called.
>>
>> I have created three subclasses of:
>> ClyMethodGroup (with #name and #includesMethod:),
>> ClySingleMethodGroupProvider (with #methodGroupClass), and
>> ClyEnvironmentPlugin (with #collectMethodGroupProvidersFor:).
>>
>> What do I miss?
>>
>> Looks good. But to activate this plugin on current system environment you need to reset it:
>>
>> ClySystemNavigationEnvironment reset.
>>
>> Or manually add new plugin:
>>
>> ClySystemNavigationEnvironment currentImage addPlugin: ClyYourPlugin new.
>>
>> Letâs say that I want a new method group that displays all methods of a selected class that include substring âfooâ.
>>
>> Thanks!
>> Juraj
>>
>>
>>
>
>
Nov. 2, 2017
Re: [Pharo-users] [Pharo-dev] [ANNOUNCE] ParrotTalk release/design change considerations
by henry
I have a question about my derivation of a MAC key. It is very complicated and I am considering ways to simplify for use by potential language implementations. Here is the current derivation in Squeak/Pharo. Should I just use the sharedKey as the SHA1HMAC key or some simplified hash of the sharedKey, without all the pad hashings I am doing? What do you think? I want to hear from you.
makeHMAC
| sharedKey hashPadder macKey |
sharedKey := diffieHellman sharedKeyPadPositiveByteArray.
hashPadder := self class.
macKey := MD5 hashMessage: (
(hashPadder hash: sharedKey pad: 16rCC),
(hashPadder hash: sharedKey pad: 16rBB),
(hashPadder hash: sharedKey pad: 16rAA),
(hashPadder hash: sharedKey pad: 16r99)).
macKey := macKey, (MD5 hashMessage: (
(hashPadder hash: sharedKey pad: 16r88),
(hashPadder hash: sharedKey pad: 16r77),
(hashPadder hash: sharedKey pad: 16r66),
(hashPadder hash: sharedKey pad: 16r55))).
macKey := macKey, (MD5 hashMessage: (
(hashPadder hash: sharedKey pad: 16r44),
(hashPadder hash: sharedKey pad: 16r33),
(hashPadder hash: sharedKey pad: 16r22),
(hashPadder hash: sharedKey pad: 16r11))).
^ SHA1 new hmac key: macKey.
Would a better way forwards is simply this?
makeHMAC
macKey := diffieHellman sharedKeyPadPositiveByteArray.
^ SHA1 new hmac key: macKey.
Thank you.
- HH
> -------- Original Message --------
> Subject: Re: [Pharo-users] [Pharo-dev] [ANNOUNCE] ParrotTalk release/design change considerations
> Local Time: November 2, 2017 3:50 PM
> UTC Time: November 2, 2017 7:50 PM
> From: henry(a)callistohouse.club
> To: henry <henry(a)callistohouse.club>
> Squeak-dev <squeak-dev(a)lists.squeakfoundation.org>, Pharo-users list <pharo-users(a)lists.pharo.org>, Pharo Development List <pharo-dev(a)lists.pharo.org>
>
> I have developed the ParrotTalk Protocol, documented in part here[1], while I have two implementations: 1 in Squeak/Pharo [2 a/b] and the other in Java [3 a/b]. Particulars of some decisions are absent from the specification: namely the MAC key and ivSequence derivations, as well as constrained traffic signing; they are in the implementations. I will update the 3.6 slideshow to specify these items.
>
> Thank you.
>
> - HH
>
> [1] - ParrotTalk Protocol : http://jmp.sh/OqlYpyg
>
> Squeak/Pharo implementation
> [2 a] - http://www.squeaksource.com/Cryptography/Cryptography-HenryHouse.113.mcz
> [2 b] - http://www.squeaksource.com/Cryptography/ParrotTalk-HenryHouse.9.mcz
>
> Java implementation
> [3 a] - https://github.com/ZiroZimbarra/ASN1
> [3 b] - https://github.com/ZiroZimbarra/ParrotTalk
>
> - HH
>
>> -------- Original Message --------
>> Subject: Re: [Pharo-users] [Pharo-dev] [ANNOUNCE] ParrotTalk release/design change considerations
>> Local Time: November 2, 2017 3:43 PM
>> UTC Time: November 2, 2017 7:43 PM
>> From: henry(a)callistohouse.club
>> To: Squeak-dev <squeak-dev(a)lists.squeakfoundation.org>
>> Pharo-users list <pharo-users(a)lists.pharo.org>, Pharo Development List <pharo-dev(a)lists.pharo.org>
>>
>> More celebration requested. I got encrypted data passing between Squeak/Pharo and Java: AES with CBC and IVs and SHA1 HMAC. It works! NSA-proof crypto rocking Squeak, Pharo & Java!
>>
>> *Celebrates again, drinks for everyone*
>>
>> - HH
>>
>>> -------- Original Message --------
>>> Subject: Re: [Pharo-users] [Pharo-dev] [ANNOUNCE] ParrotTalk release/design change considerations
>>> Local Time: October 31, 2017 1:54 PM
>>> UTC Time: October 31, 2017 5:54 PM
>>> From: henry(a)callistohouse.club
>>> To: henry <henry(a)callistohouse.club>
>>> Ben Coman <btc(a)openinworld.com>, Squeak-dev <squeak-dev(a)lists.squeakfoundation.org>, Pharo-users list <pharo-users(a)lists.pharo.org>, Pharo Development List <pharo-dev(a)lists.pharo.org>
>>>
>>> I wanted to share my good news, though I have not yet gotten Pharo, Squeak and Java talking. What I was able to accomplish, after finishing the port of Cryptography's ASN1Types, Module and Streams is to get Java's rendezvous and key exchange working. After I got that connecting, I looked at the ciphers, ivSequences and MAC and got that working. In Java, I am now able to encrypt and decrypt "hello world".
>>>
>>> *Celebrates*
>>>
>>> - HH
>>>
>>>> -------- Original Message --------
>>>> Subject: Re: [Pharo-users] [Pharo-dev] [ANNOUNCE] ParrotTalk release/design change considerations
>>>> Local Time: October 25, 2017 12:00 PM
>>>> UTC Time: October 25, 2017 4:00 PM
>>>> From: henry(a)callistohouse.club
>>>> To: Ben Coman <btc(a)openinworld.com>, Squeak-dev <squeak-dev(a)lists.squeakfoundation.org>, Pharo-users list <pharo-users(a)lists.pharo.org>
>>>> Pharo Development List <pharo-dev(a)lists.pharo.org>
>>>>
>>>> I disabled vatId authorization in version 3, located in SessionOperations>>processIWant | SessionOperations>>processIAm:.
>>>>
>>>> I was asked to disseminate my news to Pharo Users, hello there. I was asked to describe ParrotTalk well, provide use cases and adopters of its use. Alright, I will give an attempt.
>>>>
>>>> ParrotTalk is an encrypted connection framework. Currently allowing anonymous 2048-bit key negotiation to establish user-provided encryption cipher and user-provided encoding and decoding, both through a provided SessionAgentMap to a starting SessionAgent server. Please look in the test case ThunkHelloWorldTest for building these maps and running a connection iwth data passing after encryption is established. There is a 4-way negotiation, from ProtocolOffered/Accepted to Go/GoToo. In using RSA 2048 signature validation and DH 2048 primes to establish the key used within the selected Cipher. The Cipher and Encoder are selected by name through the negotiation protocol. Currently three Ciphers are selectable, AESede, DESede, and DES. There are two encoders tested, asn1der, and Bytes. This protocol is described here, in this document.
>>>>
>>>> https://github.com/ZiroZimbarra/callistohouse/blob/master/docs/ParrotTalkFr…
>>>>
>>>> For as to use cases, this encrypted connection has no third party, man-in-the-middle situation by not using Certificates. As such, this is a tight implementation of NSA-proof encryption without explicit authorization beyond knowledge of a host:port. The use cases involve any communication desired to be encrypted with such high encryption. The support will last my lifetime, so we have a settled solution, here in the third version, provided here. It requires version 111 of Cryptography, as a prerequisite. Both run on Squeak and Pharo.
>>>>
>>>> http://www.squeaksource.com/Cryptography/Cryptography-zzz.111.mcz
>>>> http://www.squeaksource.com/Cryptography/ParrotTalk-HenryHouse.3.mcz
>>>>
>>>> The current use is with my hubbub system, a promise-based distributed object implementation. I am working to bring ParrotTalk to Java and allow hubbub to operate interdependently between Squeak, Pharo, Java and any other languages which can support ParrotTalk and STON. My latest efforts with hubbub are to bring STON as the Layer 6 encoding. Hubbub depends on eLinda.
>>>>
>>>> http://www.squeaksource.com/Cryptography/elinda-HenryHouse.14.mcz
>>>> http://www.squeaksource.com/Oceanside/hubbub-HenryHouse.38.mcz
>>>>
>>>> Hubbub currently fails to load correctly in Pharo. In Squeak the two ParrotRemoteTestCases: LookupTestCase and OperationalTestCase really screw everything up, do not save an image after running. I never run these tests until I get a better handle of serialization. Currently, do to a shift in progress to STON, the serialization tests fail, just the way we like it. Fix the tests then the system starts to work right.
>>>>
>>>> The shift away from vatId authorization should not adversely affect hubbub, we hope! When STON starts to work, and I think I need to turn off jsonMode, then traffic between vats can start to be analyzed and figure out how resolving is working with redirectors invoked remotely.
>>>>
>>>> - HH
>>>>
>>>>> -------- Original Message --------
>>>>> Subject: Re: [Pharo-dev] [ANNOUNCE] ParrotTalk release/design change considerations
>>>>> Local Time: October 25, 2017 12:43 AM
>>>>> UTC Time: October 25, 2017 4:43 AM
>>>>> From: btc(a)openinworld.com
>>>>> To: henry <henry(a)callistohouse.club>, Pharo Development List <pharo-dev(a)lists.pharo.org>
>>>>> Stephane Ducasse <stepharo.self(a)gmail.com>
>>>>>
>>>>> If I google... parrottalk protocol
>>>>> nothing seems related. So what is ParrotTalk?
>>>>>
>>>>> P.S... since this is not "part of" pharo, [pharo-users] would be a better place for discussion than [pharo-dev].
>>>>> Could you re-announce there, with some description of use cases and who/where the protocol is used?
>>>>>
>>>>> cheers -ben
>>>>>
>>>>> On Wed, Oct 25, 2017 at 1:42 AM, henry <henry(a)callistohouse.club> wrote:
>>>>>
>>>>>> Please excuse all the low-level detail, if inappropriate to the discussion. The protocol changes are here specified.
>>>>>>
>>>>>> - HH
>>>>>>
>>>>>> On Tue, Oct 24, 2017 at 13:40, henry <henry(a)callistohouse.club> wrote:
>>>>>>
>>>>>>> In order to bring ParrotTalk-3.6 support, alongside historical 3.5 support, the frame header stays the same and the processing of the ProtocolOffered would select "ParrotTalk-3.6" to use the compact protocol of
>>>>>>>
>>>>>>> - ProtocolOffered { offered, preferred }
>>>>>>> - ProtocolAccepted { accepted }
>>>>>>> - IWant|GiveInfo|ReplyInfo { vatId, domain, publicKey, cryptoProtocols, dataEncoders }
>>>>>>> - IAm|ReplyInfo { vatId, domain, publicKey, cryptoProtocol, dataEncoder, dhParam }
>>>>>>> - Go { cryptoProtocol, dataEncoder, dhParam, signature }
>>>>>>> - GoToo { signature }
>>>>>>>
>>>>>>> Using eLinda :
>>>>>>>
>>>>>>> http://www.squeaksource.com/Cryptography/elinda-HenryHouse.14.mcz
>>>>>>>
>>>>>>> Above the FrameBuffer, below the SessionOperations for each version of the protocol, an ELindaSession could be inserted. This session think would have the stacks for each protocol version SessionOperation registered by protocol in a Tuple, for eventual callback. When the ProtocolOffered comes in we publish the tuple frame, with set selected version, to route to the correct SessionOperation to support each version of the protocol.
>>>>>>>
>>>>>>> With a non-specific vatId required, anonymous connections would be supported.
>>>>>>>
>>>>>>> - HH
>>>>>>>
>>>>>>> On Tue, Oct 24, 2017 at 12:52, Stephane Ducasse <stepharo.self(a)gmail.com> wrote:
>>>>>>>
>>>>>>>> Hi henry thanks for this announce. Can you tell where such protocols are used? Stef On Tue, Oct 24, 2017 at 6:33 PM, henry wrote: > Hi all, > > I am happy to announce the release of version 3.5 of ParrotTalk, for Squeak > and Pharo, found here: > > http://www.squeaksource.com/Cryptography/ParrotTalk-zzz.2.mcz > > It follows this specification: > https://github.com/ZiroZimbarra/callistohouse/blob/master/docs/ParrotTalkFr… > > One item of note, in version 3.5, the system connecting to a server, sending > the IWant msg, must know the vatId of the system being connected to. I am > considering changing this to version 3.6 by removing one round-trip in > messaging. Therefore, these messages would be combined: IWant/GiveInfo, > IAm/ReplyInfo. I will keep ProtocolOffered and ProtocolAccepted to allow > eLindaSession to support both versions: 3.5 and 3.6. > > Thoughts please? > > - HH
Nov. 2, 2017
Re: [Pharo-users] [Pharo-dev] [ANNOUNCE] ParrotTalk release/design change considerations
by henry
I have developed the ParrotTalk Protocol, documented in part here[1], while I have two implementations: 1 in Squeak/Pharo [2 a/b] and the other in Java [3 a/b]. Particulars of some decisions are absent from the specification: namely the MAC key and ivSequence derivations, as well as constrained traffic signing; they are in the implementations. I will update the 3.6 slideshow to specify these items.
Thank you.
- HH
[1] - ParrotTalk Protocol : http://jmp.sh/OqlYpyg
Squeak/Pharo implementation
[2 a] - http://www.squeaksource.com/Cryptography/Cryptography-HenryHouse.113.mcz
[2 b] - http://www.squeaksource.com/Cryptography/ParrotTalk-HenryHouse.9.mcz
Java implementation
[3 a] - https://github.com/ZiroZimbarra/ASN1
[3 b] - https://github.com/ZiroZimbarra/ParrotTalk
- HH
> -------- Original Message --------
> Subject: Re: [Pharo-users] [Pharo-dev] [ANNOUNCE] ParrotTalk release/design change considerations
> Local Time: November 2, 2017 3:43 PM
> UTC Time: November 2, 2017 7:43 PM
> From: henry(a)callistohouse.club
> To: Squeak-dev <squeak-dev(a)lists.squeakfoundation.org>
> Pharo-users list <pharo-users(a)lists.pharo.org>, Pharo Development List <pharo-dev(a)lists.pharo.org>
>
> More celebration requested. I got encrypted data passing between Squeak/Pharo and Java: AES with CBC and IVs and SHA1 HMAC. It works! NSA-proof crypto rocking Squeak, Pharo & Java!
>
> *Celebrates again, drinks for everyone*
>
> - HH
>
>> -------- Original Message --------
>> Subject: Re: [Pharo-users] [Pharo-dev] [ANNOUNCE] ParrotTalk release/design change considerations
>> Local Time: October 31, 2017 1:54 PM
>> UTC Time: October 31, 2017 5:54 PM
>> From: henry(a)callistohouse.club
>> To: henry <henry(a)callistohouse.club>
>> Ben Coman <btc(a)openinworld.com>, Squeak-dev <squeak-dev(a)lists.squeakfoundation.org>, Pharo-users list <pharo-users(a)lists.pharo.org>, Pharo Development List <pharo-dev(a)lists.pharo.org>
>>
>> I wanted to share my good news, though I have not yet gotten Pharo, Squeak and Java talking. What I was able to accomplish, after finishing the port of Cryptography's ASN1Types, Module and Streams is to get Java's rendezvous and key exchange working. After I got that connecting, I looked at the ciphers, ivSequences and MAC and got that working. In Java, I am now able to encrypt and decrypt "hello world".
>>
>> *Celebrates*
>>
>> - HH
>>
>>> -------- Original Message --------
>>> Subject: Re: [Pharo-users] [Pharo-dev] [ANNOUNCE] ParrotTalk release/design change considerations
>>> Local Time: October 25, 2017 12:00 PM
>>> UTC Time: October 25, 2017 4:00 PM
>>> From: henry(a)callistohouse.club
>>> To: Ben Coman <btc(a)openinworld.com>, Squeak-dev <squeak-dev(a)lists.squeakfoundation.org>, Pharo-users list <pharo-users(a)lists.pharo.org>
>>> Pharo Development List <pharo-dev(a)lists.pharo.org>
>>>
>>> I disabled vatId authorization in version 3, located in SessionOperations>>processIWant | SessionOperations>>processIAm:.
>>>
>>> I was asked to disseminate my news to Pharo Users, hello there. I was asked to describe ParrotTalk well, provide use cases and adopters of its use. Alright, I will give an attempt.
>>>
>>> ParrotTalk is an encrypted connection framework. Currently allowing anonymous 2048-bit key negotiation to establish user-provided encryption cipher and user-provided encoding and decoding, both through a provided SessionAgentMap to a starting SessionAgent server. Please look in the test case ThunkHelloWorldTest for building these maps and running a connection iwth data passing after encryption is established. There is a 4-way negotiation, from ProtocolOffered/Accepted to Go/GoToo. In using RSA 2048 signature validation and DH 2048 primes to establish the key used within the selected Cipher. The Cipher and Encoder are selected by name through the negotiation protocol. Currently three Ciphers are selectable, AESede, DESede, and DES. There are two encoders tested, asn1der, and Bytes. This protocol is described here, in this document.
>>>
>>> https://github.com/ZiroZimbarra/callistohouse/blob/master/docs/ParrotTalkFr…
>>>
>>> For as to use cases, this encrypted connection has no third party, man-in-the-middle situation by not using Certificates. As such, this is a tight implementation of NSA-proof encryption without explicit authorization beyond knowledge of a host:port. The use cases involve any communication desired to be encrypted with such high encryption. The support will last my lifetime, so we have a settled solution, here in the third version, provided here. It requires version 111 of Cryptography, as a prerequisite. Both run on Squeak and Pharo.
>>>
>>> http://www.squeaksource.com/Cryptography/Cryptography-zzz.111.mcz
>>> http://www.squeaksource.com/Cryptography/ParrotTalk-HenryHouse.3.mcz
>>>
>>> The current use is with my hubbub system, a promise-based distributed object implementation. I am working to bring ParrotTalk to Java and allow hubbub to operate interdependently between Squeak, Pharo, Java and any other languages which can support ParrotTalk and STON. My latest efforts with hubbub are to bring STON as the Layer 6 encoding. Hubbub depends on eLinda.
>>>
>>> http://www.squeaksource.com/Cryptography/elinda-HenryHouse.14.mcz
>>> http://www.squeaksource.com/Oceanside/hubbub-HenryHouse.38.mcz
>>>
>>> Hubbub currently fails to load correctly in Pharo. In Squeak the two ParrotRemoteTestCases: LookupTestCase and OperationalTestCase really screw everything up, do not save an image after running. I never run these tests until I get a better handle of serialization. Currently, do to a shift in progress to STON, the serialization tests fail, just the way we like it. Fix the tests then the system starts to work right.
>>>
>>> The shift away from vatId authorization should not adversely affect hubbub, we hope! When STON starts to work, and I think I need to turn off jsonMode, then traffic between vats can start to be analyzed and figure out how resolving is working with redirectors invoked remotely.
>>>
>>> - HH
>>>
>>>> -------- Original Message --------
>>>> Subject: Re: [Pharo-dev] [ANNOUNCE] ParrotTalk release/design change considerations
>>>> Local Time: October 25, 2017 12:43 AM
>>>> UTC Time: October 25, 2017 4:43 AM
>>>> From: btc(a)openinworld.com
>>>> To: henry <henry(a)callistohouse.club>, Pharo Development List <pharo-dev(a)lists.pharo.org>
>>>> Stephane Ducasse <stepharo.self(a)gmail.com>
>>>>
>>>> If I google... parrottalk protocol
>>>> nothing seems related. So what is ParrotTalk?
>>>>
>>>> P.S... since this is not "part of" pharo, [pharo-users] would be a better place for discussion than [pharo-dev].
>>>> Could you re-announce there, with some description of use cases and who/where the protocol is used?
>>>>
>>>> cheers -ben
>>>>
>>>> On Wed, Oct 25, 2017 at 1:42 AM, henry <henry(a)callistohouse.club> wrote:
>>>>
>>>>> Please excuse all the low-level detail, if inappropriate to the discussion. The protocol changes are here specified.
>>>>>
>>>>> - HH
>>>>>
>>>>> On Tue, Oct 24, 2017 at 13:40, henry <henry(a)callistohouse.club> wrote:
>>>>>
>>>>>> In order to bring ParrotTalk-3.6 support, alongside historical 3.5 support, the frame header stays the same and the processing of the ProtocolOffered would select "ParrotTalk-3.6" to use the compact protocol of
>>>>>>
>>>>>> - ProtocolOffered { offered, preferred }
>>>>>> - ProtocolAccepted { accepted }
>>>>>> - IWant|GiveInfo|ReplyInfo { vatId, domain, publicKey, cryptoProtocols, dataEncoders }
>>>>>> - IAm|ReplyInfo { vatId, domain, publicKey, cryptoProtocol, dataEncoder, dhParam }
>>>>>> - Go { cryptoProtocol, dataEncoder, dhParam, signature }
>>>>>> - GoToo { signature }
>>>>>>
>>>>>> Using eLinda :
>>>>>>
>>>>>> http://www.squeaksource.com/Cryptography/elinda-HenryHouse.14.mcz
>>>>>>
>>>>>> Above the FrameBuffer, below the SessionOperations for each version of the protocol, an ELindaSession could be inserted. This session think would have the stacks for each protocol version SessionOperation registered by protocol in a Tuple, for eventual callback. When the ProtocolOffered comes in we publish the tuple frame, with set selected version, to route to the correct SessionOperation to support each version of the protocol.
>>>>>>
>>>>>> With a non-specific vatId required, anonymous connections would be supported.
>>>>>>
>>>>>> - HH
>>>>>>
>>>>>> On Tue, Oct 24, 2017 at 12:52, Stephane Ducasse <stepharo.self(a)gmail.com> wrote:
>>>>>>
>>>>>>> Hi henry thanks for this announce. Can you tell where such protocols are used? Stef On Tue, Oct 24, 2017 at 6:33 PM, henry wrote: > Hi all, > > I am happy to announce the release of version 3.5 of ParrotTalk, for Squeak > and Pharo, found here: > > http://www.squeaksource.com/Cryptography/ParrotTalk-zzz.2.mcz > > It follows this specification: > https://github.com/ZiroZimbarra/callistohouse/blob/master/docs/ParrotTalkFr… > > One item of note, in version 3.5, the system connecting to a server, sending > the IWant msg, must know the vatId of the system being connected to. I am > considering changing this to version 3.6 by removing one round-trip in > messaging. Therefore, these messages would be combined: IWant/GiveInfo, > IAm/ReplyInfo. I will keep ProtocolOffered and ProtocolAccepted to allow > eLindaSession to support both versions: 3.5 and 3.6. > > Thoughts please? > > - HH
Nov. 2, 2017
Re: [Pharo-users] [Pharo-dev] [ANNOUNCE] ParrotTalk release/design change considerations
by henry
More celebration requested. I got encrypted data passing between Squeak/Pharo and Java: AES with CBC and IVs and SHA1 HMAC. It works! NSA-proof crypto rocking Squeak, Pharo & Java!
*Celebrates again, drinks for everyone*
- HH
> -------- Original Message --------
> Subject: Re: [Pharo-users] [Pharo-dev] [ANNOUNCE] ParrotTalk release/design change considerations
> Local Time: October 31, 2017 1:54 PM
> UTC Time: October 31, 2017 5:54 PM
> From: henry(a)callistohouse.club
> To: henry <henry(a)callistohouse.club>
> Ben Coman <btc(a)openinworld.com>, Squeak-dev <squeak-dev(a)lists.squeakfoundation.org>, Pharo-users list <pharo-users(a)lists.pharo.org>, Pharo Development List <pharo-dev(a)lists.pharo.org>
>
> I wanted to share my good news, though I have not yet gotten Pharo, Squeak and Java talking. What I was able to accomplish, after finishing the port of Cryptography's ASN1Types, Module and Streams is to get Java's rendezvous and key exchange working. After I got that connecting, I looked at the ciphers, ivSequences and MAC and got that working. In Java, I am now able to encrypt and decrypt "hello world".
>
> *Celebrates*
>
> - HH
>
>> -------- Original Message --------
>> Subject: Re: [Pharo-users] [Pharo-dev] [ANNOUNCE] ParrotTalk release/design change considerations
>> Local Time: October 25, 2017 12:00 PM
>> UTC Time: October 25, 2017 4:00 PM
>> From: henry(a)callistohouse.club
>> To: Ben Coman <btc(a)openinworld.com>, Squeak-dev <squeak-dev(a)lists.squeakfoundation.org>, Pharo-users list <pharo-users(a)lists.pharo.org>
>> Pharo Development List <pharo-dev(a)lists.pharo.org>
>>
>> I disabled vatId authorization in version 3, located in SessionOperations>>processIWant | SessionOperations>>processIAm:.
>>
>> I was asked to disseminate my news to Pharo Users, hello there. I was asked to describe ParrotTalk well, provide use cases and adopters of its use. Alright, I will give an attempt.
>>
>> ParrotTalk is an encrypted connection framework. Currently allowing anonymous 2048-bit key negotiation to establish user-provided encryption cipher and user-provided encoding and decoding, both through a provided SessionAgentMap to a starting SessionAgent server. Please look in the test case ThunkHelloWorldTest for building these maps and running a connection iwth data passing after encryption is established. There is a 4-way negotiation, from ProtocolOffered/Accepted to Go/GoToo. In using RSA 2048 signature validation and DH 2048 primes to establish the key used within the selected Cipher. The Cipher and Encoder are selected by name through the negotiation protocol. Currently three Ciphers are selectable, AESede, DESede, and DES. There are two encoders tested, asn1der, and Bytes. This protocol is described here, in this document.
>>
>> https://github.com/ZiroZimbarra/callistohouse/blob/master/docs/ParrotTalkFr…
>>
>> For as to use cases, this encrypted connection has no third party, man-in-the-middle situation by not using Certificates. As such, this is a tight implementation of NSA-proof encryption without explicit authorization beyond knowledge of a host:port. The use cases involve any communication desired to be encrypted with such high encryption. The support will last my lifetime, so we have a settled solution, here in the third version, provided here. It requires version 111 of Cryptography, as a prerequisite. Both run on Squeak and Pharo.
>>
>> http://www.squeaksource.com/Cryptography/Cryptography-zzz.111.mcz
>> http://www.squeaksource.com/Cryptography/ParrotTalk-HenryHouse.3.mcz
>>
>> The current use is with my hubbub system, a promise-based distributed object implementation. I am working to bring ParrotTalk to Java and allow hubbub to operate interdependently between Squeak, Pharo, Java and any other languages which can support ParrotTalk and STON. My latest efforts with hubbub are to bring STON as the Layer 6 encoding. Hubbub depends on eLinda.
>>
>> http://www.squeaksource.com/Cryptography/elinda-HenryHouse.14.mcz
>> http://www.squeaksource.com/Oceanside/hubbub-HenryHouse.38.mcz
>>
>> Hubbub currently fails to load correctly in Pharo. In Squeak the two ParrotRemoteTestCases: LookupTestCase and OperationalTestCase really screw everything up, do not save an image after running. I never run these tests until I get a better handle of serialization. Currently, do to a shift in progress to STON, the serialization tests fail, just the way we like it. Fix the tests then the system starts to work right.
>>
>> The shift away from vatId authorization should not adversely affect hubbub, we hope! When STON starts to work, and I think I need to turn off jsonMode, then traffic between vats can start to be analyzed and figure out how resolving is working with redirectors invoked remotely.
>>
>> - HH
>>
>>> -------- Original Message --------
>>> Subject: Re: [Pharo-dev] [ANNOUNCE] ParrotTalk release/design change considerations
>>> Local Time: October 25, 2017 12:43 AM
>>> UTC Time: October 25, 2017 4:43 AM
>>> From: btc(a)openinworld.com
>>> To: henry <henry(a)callistohouse.club>, Pharo Development List <pharo-dev(a)lists.pharo.org>
>>> Stephane Ducasse <stepharo.self(a)gmail.com>
>>>
>>> If I google... parrottalk protocol
>>> nothing seems related. So what is ParrotTalk?
>>>
>>> P.S... since this is not "part of" pharo, [pharo-users] would be a better place for discussion than [pharo-dev].
>>> Could you re-announce there, with some description of use cases and who/where the protocol is used?
>>>
>>> cheers -ben
>>>
>>> On Wed, Oct 25, 2017 at 1:42 AM, henry <henry(a)callistohouse.club> wrote:
>>>
>>>> Please excuse all the low-level detail, if inappropriate to the discussion. The protocol changes are here specified.
>>>>
>>>> - HH
>>>>
>>>> On Tue, Oct 24, 2017 at 13:40, henry <henry(a)callistohouse.club> wrote:
>>>>
>>>>> In order to bring ParrotTalk-3.6 support, alongside historical 3.5 support, the frame header stays the same and the processing of the ProtocolOffered would select "ParrotTalk-3.6" to use the compact protocol of
>>>>>
>>>>> - ProtocolOffered { offered, preferred }
>>>>> - ProtocolAccepted { accepted }
>>>>> - IWant|GiveInfo|ReplyInfo { vatId, domain, publicKey, cryptoProtocols, dataEncoders }
>>>>> - IAm|ReplyInfo { vatId, domain, publicKey, cryptoProtocol, dataEncoder, dhParam }
>>>>> - Go { cryptoProtocol, dataEncoder, dhParam, signature }
>>>>> - GoToo { signature }
>>>>>
>>>>> Using eLinda :
>>>>>
>>>>> http://www.squeaksource.com/Cryptography/elinda-HenryHouse.14.mcz
>>>>>
>>>>> Above the FrameBuffer, below the SessionOperations for each version of the protocol, an ELindaSession could be inserted. This session think would have the stacks for each protocol version SessionOperation registered by protocol in a Tuple, for eventual callback. When the ProtocolOffered comes in we publish the tuple frame, with set selected version, to route to the correct SessionOperation to support each version of the protocol.
>>>>>
>>>>> With a non-specific vatId required, anonymous connections would be supported.
>>>>>
>>>>> - HH
>>>>>
>>>>> On Tue, Oct 24, 2017 at 12:52, Stephane Ducasse <stepharo.self(a)gmail.com> wrote:
>>>>>
>>>>>> Hi henry thanks for this announce. Can you tell where such protocols are used? Stef On Tue, Oct 24, 2017 at 6:33 PM, henry wrote: > Hi all, > > I am happy to announce the release of version 3.5 of ParrotTalk, for Squeak > and Pharo, found here: > > http://www.squeaksource.com/Cryptography/ParrotTalk-zzz.2.mcz > > It follows this specification: > https://github.com/ZiroZimbarra/callistohouse/blob/master/docs/ParrotTalkFr… > > One item of note, in version 3.5, the system connecting to a server, sending > the IWant msg, must know the vatId of the system being connected to. I am > considering changing this to version 3.6 by removing one round-trip in > messaging. Therefore, these messages would be combined: IWant/GiveInfo, > IAm/ReplyInfo. I will keep ProtocolOffered and ProtocolAccepted to allow > eLindaSession to support both versions: 3.5 and 3.6. > > Thoughts please? > > - HH
Nov. 2, 2017
Re: [Pharo-users] Writing "powerpoint" like presentations in Pharo?
by Tim Mackinnon
Thanks Stef - Iâll see if I can reincarnate it in the time that I have - if not, maybe this might be my next side project (just need to get my IntelliPharo keybindings over the hill).
It looks like it's just the basics right?
You add morphs in a script I'm guessing from the tests.
Although TextMorph seems broken in Pharo6 in that halos won't let you edit text (walkback) and halos won't let you set text size or bold (they do nothing)? Which is a shame for this kind application - but with Bric maybe it's expected?
Anyway - this gives me a head start.
Tim
Sent from my iPhone
> On 2 Nov 2017, at 17:25, Stephane Ducasse <stepharo.self(a)gmail.com> wrote:
>
> I did that (well argh more than 12 years ago) now I do not think that
> I can find the code I will try
> It looks like I loaded in Pharo some years ago.
> Here the latest code I found (At that time I developed test first).
> I'm not sure that I will have the time to get a look.
>
>
> Stef
>
>> On Wed, Nov 1, 2017 at 7:35 PM, Tim Mackinnon <tim(a)testit.works> wrote:
>> Hi - has anyone made anything where you can create a full screen presentation in Pharo with slides with some large text, bullet points and embedded pictures - but then itâs a facade that lets you evaluate items in the slide or jump to any code mentioned?
>>
>> Sort of like what Alan Kay does in the eToys images?
>>
>> I need to do a presentation next week and I always loved it when I was fooled into thinking I was looking at a staticâish powerpoint and then suddenly realised it was a live environment.
>>
>> It doesnât sound that hard to do something simple - but Iâm not sure if I can pull it off in time for my presentation. But am curious if we have something.
>>
>> (For bonus points, GT-Spotter stuff would work in it over top of the presentation to demonstrate simple things)
>>
>> Tim
> <Morphic-Slideshow-StephaneDucasse.27.mcz>
Nov. 2, 2017
Re: [Pharo-users] LiteratureResearcher - where graphs, PDFs, and BibTex happily live together
by Manuel Leuenberger
Hi Stef,
The PDF integration consists of three parts:
1. CERMINE (https://github.com/CeON/CERMINE <https://github.com/CeON/CERMINE>) is fed with the PDF and outputs metadata as BibTex and a structured XML (title, authors, affiliations, abstract, keyword, references, â¦). This is not perfect, but way better than any other metadata extractor I could find.
2. From the metadata I generate hyperlinks that are anchored in the PDF by a text key. pdf-linker (https://github.com/maenu/pdf-linker <https://github.com/maenu/pdf-linker>) then searches for the anchors in the PDF text, using heuristics, as PDF has a document model that is primarily intended for rendering and printing, but not for processing. The hyperlinks are then inserted using the awesome Apache PDFBox (https://pdfbox.apache.org/ <https://pdfbox.apache.org/>).
3. Those hyperlinks point to an URI like âpharo://handle/clickReference.in.?args=1&args=2â to represent a reference 1 in the paper 2. Now comes the magic part: The OS allows you to register custom handlers for custom URI schemes like pharo://. For that I created a simple Objective-C app that handles the event and passes it over as a HTTP message to a server running in Pharo (https://github.com/maenu/PharoUriScheme <https://github.com/maenu/PharoUriScheme>). The OS will even start the application if it is not yet running.
While the custom URI scheme approach is super powerful, it has critical drawbacks. Any application can request to be the receiver of a URI scheme, just as browser are for http://. Especially on mobile devices with limited access to the OS, this opens up an attack point for malware apps that replicate original apps that make use of schemes like facebook:// and eavesdrop all interactions. If an original app transmits any unencrypted secrets or user data encoded in those URIs, malware can easily intercept it without the user noticing the leak. I guess this is the reason why many PDF viewer just support the standard http:// and mailto:// schemes. E.g., macOS Preview gives just an audible beep when I click on a pharo:// link, Chromes viewer doesnât even bother giving any feedback. Only Adobe Acrobat allows you to relax security settings to make them work (How could it be someone else than Adobe, when itâs a security issue? ;).
I finished basic packaging today and will continue with some READMEs and a nearly-all-in-one distribution tomorrow, Iâll keep you posted in this thread.
Cheers,
Manuel
> On 2 Nov 2017, at 18:08, Stephane Ducasse <stepharo.self(a)gmail.com> wrote:
>
> Hi manuel
>
> this is super cool :)
> Could you describe how you did the pdf integration?
> And yes please package it :)
> I want to try it.
>
> Stef
>
> On Wed, Nov 1, 2017 at 10:16 PM, Manuel Leuenberger
> <leuenberger(a)inf.unibe.ch> wrote:
>> Hi everyone,
>>
>> I was experimenting in the last few weeks with my take on literature
>> research. For me, the corpus of scientific papers form an interconnected
>> graph, not those plain lists and tables we keep in our bibliographies. So,
>> here is the first prototype that has Google Scholar integration for search,
>> can fetch PDFs from IEEE and ACM, extracts metadata from PDFs - all this
>> results in hyperlinked PDFs!
>>
>> See a demo here: https://youtu.be/EcK3Pt_WnEw
>> Also slides from the SCG seminar here:
>> http://scg.unibe.ch/download/softwarecomposition/2017-10-31-Leuenberger-ILE…
>>
>> I plan on packaging it, so that those who are interested can check it out
>> themselves (help wanted!). Currently, it only works on macOS.
>>
>> What do you think of my approach? Which use cases should be added?
>>
>> Cheers,
>> Manuel
>>
>
Nov. 2, 2017
Re: [Pharo-users] LiteratureResearcher - where graphs, PDFs, and BibTex happily live together
by Manuel Leuenberger
Hi Offray,
Thatâs a lot to process for me, I need some time to inspect your workflow to find the possible connections with the ILE. I will do that in the next few days and give you more detailed feedback.
As for the Linux testers, I will gladly come back to you. I think it wonât be too hard to make the ILE support Linux and Windows. The platform dependency is only induced by the way an OS allows one to register custom URI schemes.
Cheers,
Manuel
> On 2 Nov 2017, at 18:03, Offray Vladimir Luna Cárdenas <offray.luna(a)mutabit.com> wrote:
>
> Hi Manuel,
>
> This is really interesting! I like the idea of a graph and the way ILE manages metadata importation. Grafoscopio [1][2][3], is the software I'm creating for reproducible research and literate computing (mixing prose, code, queries, data and visualizations). It has alpha support for Zotero and I think that ILE and Grafoscopio could work together to provide researcher support for creating and working with research literature.
>
> [1] http://mutabit.com/grafoscopio/index.en.html <http://mutabit.com/grafoscopio/index.en.html>
> [2] http://mutabit.com/repos.fossil/alvicoda/doc/tip/index.html <http://mutabit.com/repos.fossil/alvicoda/doc/tip/index.html>
> [3] http://joss.theoj.org/papers/c92ed13fa746bc681081f9b31678841b <http://joss.theoj.org/papers/c92ed13fa746bc681081f9b31678841b>
> Now my research workflow includes Pharo, TeXStudio, Grafoscopio, Zotero, Docear[4] and Hypothesis[5] to map and annotate research literature, but there is a lot of context switching, as you point in your presentation, and lack of moldability that we could get rid of, if those tools were integrated into Pharo. To manage this, I usually have two screens (see screenshot below) where I made annotated reading (in hypothesis) and map readings (in Docear). That is because Docear is not integrated (yet) with Hypothesis, which has a superb annotation system.
>
> [4] http://www.docear.org/ <http://www.docear.org/>
> [5] https://web.hypothes.is/ <https://web.hypothes.is/>
> I would like to have a similar tree like Docear reading interface , connected with the annotated reading of hypothesis (tags and comments), inside Pharo/Grafoscopio. In my ideal workflow I would add a bibliography item to Zotero (using add item by ID or dropping the URL/PDF), open it (getting the table of contents map inside Pharo, ala Docear and thanks to Hypothesis) and I would start to annotate and tag my readings. After that, some DSL would allow me to recover, visualize and export such annotations to be put inside of or connected with a Grafoscopio notebook and there I would finish the research writing.
> What do you think of this workflow? Could ILE support or be part of it in some way?
>
> Once you have packaged ILE, I could help as a tester in Gnu/Linux.
> Cheers,
>
> Offray
> <oghneepgbajdbnif.png>
>
> On 01/11/17 16:16, Manuel Leuenberger wrote:
>> Hi everyone,
>>
>> I was experimenting in the last few weeks with my take on literature research. For me, the corpus of scientific papers form an interconnected graph, not those plain lists and tables we keep in our bibliographies. So, here is the first prototype that has Google Scholar integration for search, can fetch PDFs from IEEE and ACM, extracts metadata from PDFs - all this results in hyperlinked PDFs!
>>
>> See a demo here: https://youtu.be/EcK3Pt_WnEw <https://youtu.be/EcK3Pt_WnEw>
>> Also slides from the SCG seminar here: http://scg.unibe.ch/download/softwarecomposition/2017-10-31-Leuenberger-ILE… <http://scg.unibe.ch/download/softwarecomposition/2017-10-31-Leuenberger-ILE…>
>>
>> I plan on packaging it, so that those who are interested can check it out themselves (help wanted!). Currently, it only works on macOS.
>>
>> What do you think of my approach? Which use cases should be added?
>>
>> Cheers,
>> Manuel
>>
>
Nov. 2, 2017