[Pharo-dev] Re: about object serialization and deserialization

2022-08-21 Thread Cédrick Béler
Maybe a bit off topic, I found preserves from Tony Garnock-Jones who btw 
managed to run squeak on smartphone ;)
* Preserves is a new data model and serialization format in many ways 
comparable to JSON, XML, S-expressions, CBOR, ASN.1 BER, and so on.
https://preserves.dev/

https://git.syndicate-lang.org/tonyg/squeak-phone

https://eighty-twenty.org/tag/squeak-phone/

Happy ESUG for those in Navi Sad,
Cedrick

> Le 16 août 2022 à 12:11, Sven Van Caekenberghe  a écrit :
> 
> Hi Stef,
> 
>> On 15 Aug 2022, at 20:25, stephane ducasse  wrote:
>> 
>> Hi guys
>> 
>> It is interesting to think about the design and use of object deserializers.
>> 
>> https://www.slideshare.net/frohoff1/deserialize-my-shorts-or-how-i-learned-to-start-worrying-and-hate-java-object-deserialization
>> 
>> <2204.09388.pdf>
> 
> Interesting, and indeed, a big problem (especially denial of service attacks).
> 
> Step one is to be conscious of the problem (which exists across all 
> language/formats).
> 
> Step two could be to add some sanity checks (limits) to parsers.
> 
> Would be a nice subject for a (student) project.
> 
> Sven


Re: [Pharo-dev] [Pharo-users] json-server / db.json (lowdb) / faker.js in Pharo/Zinc ?

2020-06-06 Thread Cédrick Béler
Hi,

> 
> Hi Cédrick,
> 
> I think making something like jsonplaceholder would be quite easy.
> 
> Do you know about the Zinc-REST package/group ?

I knew but forget about it !

> 
> It contains an example in its tests, ZnExampleStorageRestServerDelegate with 
> unit tests in ZnExampleStorageRestServerDelegateTest which implements a 
> generic data storage. Have a look !

Will definitely look again at it. Is it using a json file as db too ? I guess 
that be easy to add if not. I’ll look at it soon.

Any feedback about faker ? That’d be a fun project to do in Pharo.
There are lots of them. I don’t know which one to look at more in detail (js, 
ruby, python, php... ?).
https://github.com/faker-ruby/faker
https://github.com/marak/Faker.js/
https://github.com/joke2k/faker 
…

Anybody knows what’s the most « complete » or elegant ?


> 
> BTW, recently I added ZnClient>>#forJsonREST, which uses either STONJSON 
> (which is in the image) or NeoJSON (when loaded), so that you can more 
> elegant code for this use case:


Uhm right, I always forget and use the old way (with #contentReader: ).


Thanks for the information Sven,

Cédrick



> 
> ZnClient new
>  url: 'https://jsonplaceholder.typicode.com/posts';
>  forJsonREST;
>  get.
>   
> ZnClient new
>  url: 'https://jsonplaceholder.typicode.com/posts';
>  forJsonREST;
>  contents: { #title->'Test'. #body->String loremIpsum } asDictionary;
>  post.
> 
> Sven
> 
>> On 6 Jun 2020, at 09:44, Cédrick Béler  wrote:
>> 
>> Hi Sven and all,
>> 
>> Disclaimer: just another rather not important query (mainly for fun so don’t 
>> hesitate to tell me to use the node packages instead ;-) )
>> 
>> To show API to students, I sometimes use 
>> https://jsonplaceholder.typicode.com. It’s nice to play with client 
>> requests. I wonder if this would be interesting to have such tools in 
>> Pharo/Zn. Maybe it exists already somehow (for Teapot eventually) ? 
>> https://medium.com/codingthesmartway-com-blog/create-a-rest-api-with-json-server-36da8680136d
>> 
>> From their GitHub, I discovered json-server + lowdb (based on lowdash) => 
>> all nodes packages. 
>> https://github.com/typicode.
>> 
>> 
>> 
>> It uses a db file db.json and I like such simple « databases ». I know 
>> they're not real db.
>> https://github.com/typicode/lowdb 
>> 
>> To me, it could nearly be to me an elegant personal db even if I think this 
>> is mostly used to test API’s. 
>> Indeed, It’s often used in conjunction with node package faker 
>> (https://github.com/marak/Faker.js/ (https://github.com/marak/Faker.js/). 
>> I would like to use that to generate static websites from Ecstatic.
>> 
>> The placeholder default website has limitations. For instance, the following 
>> request creates a new post (but then you cannot see the result if you query 
>> for posts just after)
>> 
>> 
>> 
>> 
>> I wanted to go past the limitation of the placeholder site (the db.json 
>> cannot be written). I can of course use the node package but you know :)  
>> Might be not so straight to port though.
>> 
>> So there are probably three open questions in this post:
>> 1)  lowdb (I know this is not a database but it’s handy and I’d like such 
>> usage in static website generation in conjunction with Ecstatic). Any 
>> already existing experiments maybe ? I don’t think Voyage can do that.
>> 2)  the API json-server based on routes (maybe a job for Teapot) ?
>> 3) the faker package as a fun exercice.
>> 
>> What others think ? My priority would go for having some kind of lowdb (and 
>> I’m pretty sure there are experiments around that - It reminds me a bit 
>> sandstonedb from Ramon 
>> http://onsmalltalk.com/sandstonedb-simple-activerecord-style-persistence-in-squeak.
>> 
>> Cheers,
>> 
>> Cédrick
>> 
>> 
>> 
> 
> 



Re: [Pharo-dev] About strange email related to smalltalkhub read-only on squeak-dev

2020-05-30 Thread Cédrick Béler
He’s on discord on squeak server. Maybe chatting with him in private could help 
resolve the misunderstanding.

Cheers,
Cedrick

> Le 30 mai 2020 à 18:26, Norbert Hartl  a écrit :
> 
> Yes, let us coordinate what to respond. To me this doesn't even sound like 
> Ron. Usually he is a rather quite and reasonable guy. Seems to be a lot of 
> misunderstandings here (again).
> As I was the one copying the Cryptography package to github it concerns me a 
> bit. I've been remembered now about yet another strange law suit in the US 
> and indeed we need to raise a bit of awareness for this. 
> 
> So let's figure out what has to be done. 
> 
> Norbert
> 
> 
>> Am 30.05.2020 um 14:43 schrieb Stéphane Ducasse :
>> 
>> Hi all
>> 
>> This is the week-end and we worked super well yesterday during the sprint. 
>> Lot of good enhancements - Thanks a lot to all the participants. 
>> I not really happy to be forced to do it on a sunny saturday but I’m doing 
>> it to clarify points.
>> 
>> Esteban sent me this text that was posted on Squeak-Dev (I personally do not 
>> read squeak related forums because 
>> I have not the time and my focus is Pharo, its consortium, my team, my 
>> research and my family). 
>> 
>> We have to react because 
>>  - We do not really at ***all** understand this email
>>  - We did not kicked anybody from our mailing-list from ages - so ron is 
>> lying. In the past we even had discussion with ron - so we do not 
>>  really understand. May be we got problem to log on our mailing-lists. 
>>  We have no idea because we are working and not looking at such things.  
>>  
>>  - When we migrated smalltalkhub to readonly we payed attention to make 
>> sure that private projects stay private.
>>  We did not migrated smalltalkhub for fun. We MUST do it or it will be 
>> done by our infrastructure!
>>  - Now the cryptography packages are MIT and they are public anyway. So 
>> again we do not understand anything. 
>> 
>> We do not get why Ron contacted us because we announced the migration 
>> publicly way in advance and we will keep 
>> the Smalltalkhub frozen repo for at least next 5 years. 
>> 
>> I feel really sorry to hear such kind of email because we do not want to 
>> fight with anybody. 
>> Our goal is to make sure that people can work with Pharo and expand their 
>> business and knowledge. 
>> We are working hard to make sure that people can invent their future with 
>> Pharo and people that know us personally 
>> know that we are not lying.
>> 
>> S
>> 
>> 
>>> Hi all,
>>> 
>>> I've tried to work with the Pharo group but they keep kicking me out of 
>>> their mailing list.  I've already mentioned this a number of times to the 
>>> Pharo group but nobody seems to care.  
>>> 
>>> BOLD BOLD BOLD PLEASE TAKE THIS SERIOUSLY  BOLD BOLD BOLD
>>> 
>>> I am not a lawyer but we used very good lawyers to make the squeaksource 
>>> repository a safe place to do cryptography work.  If you are working on 
>>> cryptography DO NOT POST your code anywhere except squeaksource.  
>>> Especially if you are in the USA.  The ONLY repository that is approved to 
>>> host our cryptography code in the USA and therefore not subject to criminal 
>>> violations is squeaksource.  It is a CRIME in the USA to move code and make 
>>> it available on the internet for everyone to download!  It must be hosted 
>>> on squeaksoruce.com or another location that is also properly registered. 
>>> 
>>> IF YOU COPIED CRYPTOGRAPHY CODE TO ANOTHER REPOSITORY THAT IS NOT 
>>> REGISTERED I would recommend you delete it immediately.
>>> 
>>> END BOLD!  
>>> 
>>> Please feel free to post this to the Pharo mailing list because they 
>>> apparently do not want to hear from me!
>>> 
>>> All the best,
>>> 
>>> Ron Teitelbaum
>> 
>> 
>> 
>> Stéphane Ducasse
>> http://stephane.ducasse.free.fr / http://www.pharo.org 
>> 03 59 35 87 52
>> Assistant: Aurore Dalle 
>> FAX 03 59 57 78 50
>> TEL 03 59 35 86 16
>> S. Ducasse - Inria
>> 40, avenue Halley, 
>> Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
>> Villeneuve d'Ascq 59650
>> France
>> 
> 


Re: [Pharo-dev] Project of Interest => Jekyll + Dynamic processing integration + Git(hubs)Pages => pharo in the middle

2020-05-28 Thread Cédrick Béler

> 
> Its intended  to work with Pharo 6 and the repo is on sthub. Would it be 
> possible guile to put it on GitHub ?
> 

I cannot access mcz files from smalltalkhub.
http://smalltalkhub.com/mc/RMoD/Ecstatic/ConfigurationOfEcstatic-GuillermoPolito.14.mcz
 

 
=> /mc/RMoD/Ecstatic/ConfigurationOfEcstatic-GuillermoPolito.14.mcz not found  

Cheers,
Cédrick

Re: [Pharo-dev] Project of Interest => Jekyll + Dynamic processing integration + Git(hubs)Pages => pharo in the middle

2020-05-28 Thread Cédrick Béler
> 
> Guile, what is its status ? Can you give some information (the web site is in 
> latin ;) )

Ok I didn’t see the menu and was hitting (on phone) 
http://guillep.github.io/ecstatic/getting_started.html 
<http://guillep.github.io/ecstatic/getting_started.html> (you should remove 
this link ;-) ).


http://guillep.github.io/ecstatic/install.html 
<http://guillep.github.io/ecstatic/install.html> 
http://guillep.github.io/ecstatic/first_site.html 
<http://guillep.github.io/ecstatic/first_site.html> 

I’ll try soon. Are partials possibles ?   I guess I have to look at the code …

Cheers,
Cédrick

> 
> I’ll try it.
> 
> Cheers,
> Cédrick
> 
>> Le 27 mai 2020 à 14:00, serge.stinckw...@gmail.com 
>> <mailto:serge.stinckw...@gmail.com> a écrit :
>> 
>> There is already a static website generator in Pharo: 
>> https://github.com/guillep/ecstatic <https://github.com/guillep/ecstatic>
>> Maybe you should start from that?
>> It would be great.
>> Regards
>> 
>> Sent from my iPhone
>> 
>>> On 27 May 2020, at 19:49, Esteban Maringolo >> <mailto:emaring...@gmail.com>> wrote:
>>> 
>>> On Wed, May 27, 2020 at 3:59 AM Cédrick Béler >> <mailto:cdric...@gmail.com>> wrote:
>>> 
>>>>> Hi - a bit late to reply on this one, but I did try Jekyl years ago, it 
>>>>> was ok but over time frustrating to use and difficult to make the 
>>>>> pipeline understandable ...
>>>>> I looked at Hugo and a few others but ended up going with Metalsmith (a 
>>>>> JS static generator). I liked the plugable pipeline model of it, but 
>>>>> cursed the state of Js tools (a few years ago) .
>>>> It seems indeed that Jekyll can become frustrating. I’m using Hugo right 
>>>> now. I didn’t know metalsmith...
>>> 
>>> I tried Jekyll and Gatsby.js, and albeit the latest is a mix of SSR
>>> and SPA, I found some of their ideas in how to organize content to be
>>> valuable, but I can't stand the tooling or the feeling of facing an
>>> unneeded accidental complexity.
>>> 
>>>>> I’ve been meaning for ages to reimplement it in Smalltalk with a nice oo 
>>>>> composite pipeline model and an easy way to debug and visualise what is 
>>>>> going when getting your template right.
>>>> I’ve tried to restrain myself not to redo it in smalltalk but that would 
>>>> be great option. I don’t know the required effort though but I’ll be glad 
>>>> to be part of such project.
>>> 
>>> I spent the last weekend giving a try to that Gatbsy thing (nuxt.js
>>> and vuepress are in the backlog too), and at 10PM on sunday I decided
>>> to start coding something in Smalltalk, because it just feels better
>>> to me.
>>> 
>>> I don't know how harder would it be, but that's a tool we currently
>>> lack, the static-site generator. And we have support for different
>>> templating, rendering canvas, and whatnot.
>>> 
>>>>> Combine this with the new headless image and it should easily plug into 
>>>>> netlify .
>>>> Plus to netlify but also class export to servers. I thing Git(hubs) Pages 
>>>> are a nice option. In any cas, one nice pattern is to use git to store 
>>>> pages versions, and then you can replay on Pages / or on your own server / 
>>>> or on netlify.
>>> 
>>> When I think about netlify I don't think about an app (as in, an
>>> executable) but as a simple static site, but if it possible to deploy
>>> an app that is distributed and served by their CDN, then better!
>>> 
>>>> I also wonder what would be possible with mini-image like Erik did.
>>> 
>>> I need to see more!
>>> I don't know how independent a client image can be, how much you can
>>> "pre-deploy" without needed to rehydrate the browser with server
>>> changes, etc.
>>> It's promising.
>>> 
>>> Regards!
>>> 
> 



Re: [Pharo-dev] Project of Interest => Jekyll + Dynamic processing integration + Git(hubs)Pages => pharo in the middle

2020-05-28 Thread Cédrick Béler
Cool :)

I forgot this one !

Guile, what is its status ? Can you give some information (the web site is in 
latin ;) )

I’ll try it.

Cheers,
Cédrick

> Le 27 mai 2020 à 14:00, serge.stinckw...@gmail.com a écrit :
> 
> There is already a static website generator in Pharo: 
> https://github.com/guillep/ecstatic <https://github.com/guillep/ecstatic>
> Maybe you should start from that?
> It would be great.
> Regards
> 
> Sent from my iPhone
> 
>> On 27 May 2020, at 19:49, Esteban Maringolo  wrote:
>> 
>> On Wed, May 27, 2020 at 3:59 AM Cédrick Béler  wrote:
>> 
>>>> Hi - a bit late to reply on this one, but I did try Jekyl years ago, it 
>>>> was ok but over time frustrating to use and difficult to make the pipeline 
>>>> understandable ...
>>>> I looked at Hugo and a few others but ended up going with Metalsmith (a JS 
>>>> static generator). I liked the plugable pipeline model of it, but cursed 
>>>> the state of Js tools (a few years ago) .
>>> It seems indeed that Jekyll can become frustrating. I’m using Hugo right 
>>> now. I didn’t know metalsmith...
>> 
>> I tried Jekyll and Gatsby.js, and albeit the latest is a mix of SSR
>> and SPA, I found some of their ideas in how to organize content to be
>> valuable, but I can't stand the tooling or the feeling of facing an
>> unneeded accidental complexity.
>> 
>>>> I’ve been meaning for ages to reimplement it in Smalltalk with a nice oo 
>>>> composite pipeline model and an easy way to debug and visualise what is 
>>>> going when getting your template right.
>>> I’ve tried to restrain myself not to redo it in smalltalk but that would be 
>>> great option. I don’t know the required effort though but I’ll be glad to 
>>> be part of such project.
>> 
>> I spent the last weekend giving a try to that Gatbsy thing (nuxt.js
>> and vuepress are in the backlog too), and at 10PM on sunday I decided
>> to start coding something in Smalltalk, because it just feels better
>> to me.
>> 
>> I don't know how harder would it be, but that's a tool we currently
>> lack, the static-site generator. And we have support for different
>> templating, rendering canvas, and whatnot.
>> 
>>>> Combine this with the new headless image and it should easily plug into 
>>>> netlify .
>>> Plus to netlify but also class export to servers. I thing Git(hubs) Pages 
>>> are a nice option. In any cas, one nice pattern is to use git to store 
>>> pages versions, and then you can replay on Pages / or on your own server / 
>>> or on netlify.
>> 
>> When I think about netlify I don't think about an app (as in, an
>> executable) but as a simple static site, but if it possible to deploy
>> an app that is distributed and served by their CDN, then better!
>> 
>>> I also wonder what would be possible with mini-image like Erik did.
>> 
>> I need to see more!
>> I don't know how independent a client image can be, how much you can
>> "pre-deploy" without needed to rehydrate the browser with server
>> changes, etc.
>> It's promising.
>> 
>> Regards!
>> 



Re: [Pharo-dev] Project of Interest => Jekyll + Dynamic processing integration + Git(hubs)Pages => pharo in the middle

2020-05-28 Thread Cédrick Béler

> I tried Jekyll and Gatsby.js, and albeit the latest is a mix of SSR
> and SPA, I found some of their ideas in how to organize content to be
> valuable, but I can't stand the tooling or the feeling of facing an
> unneeded accidental complexity.

A bit the same feeling. All node lib in general, easy to load and play with, 
but when bad things happen, I’m lost missing debugging facilities, etc...

> 
>>> I’ve been meaning for ages to reimplement it in Smalltalk with a nice oo 
>>> composite pipeline model and an easy way to debug and visualise what is 
>>> going when getting your template right.
>> I’ve tried to restrain myself not to redo it in smalltalk but that would be 
>> great option. I don’t know the required effort though but I’ll be glad to be 
>> part of such project.
> 
> I spent the last weekend giving a try to that Gatbsy thing (nuxt.js
> and vuepress are in the backlog too), and at 10PM on sunday I decided
> to start coding something in Smalltalk, because it just feels better
> to me.

Yes :)

Same, I’ve been trying Hugo and Jekyll.

Jekyll was cool for the integration in GitHub. But I don’t like the non 
immediate propagation of changes. 

So I ended up using Hugo (+ I like that Hugo has lots of templates).

Still I was wondering, that if using Hugo and not have the full GitHub 
integration, then why not having something in pharo :)
You know I always try to refrain that « do not reinvent the wheel »….  But 
that’s so hard sometimes.

(Side note: I use netlogo now to do some simulation - it’s a really cool 
software… really… still, when I really miss st environnement, is when you model 
become complex… and when it comes to debug….  I’ve just spent two weeks 
debugging things… so frustrating… frankly with the exploration natively 
possible n smalltalk, I really think this would have been two days…)...

=> so cool you start to write something in st :)


> 
> I don't know how harder would it be, but that's a tool we currently
> lack, the static-site generator. And we have support for different
> templating, rendering canvas, and whatnot.

I agree. :).  I loved and still love seaside but my needs are really simple to 
host website that do not take much processing to host. I want to have 1000 web 
site of my ridiculous box…

Most of the need are very low audience web site called « vitrine » in France. 

I really hate that company sell such products thousands of euros… (not kidding 
- a friend scam of mine is selling monthly fee like 140€ on a period up to 4 
years !!!). 

So maybe we need to discuss requirements.
1- generator based on template (mustache is cool) and partials  
2- deal with comments, for submission in general, and maybe all info exchange 
through PR in git.
3- easy graphical template integration (so you can choose free or small fee 
templates for your site- say 10/20 bucks)
==> lots are just free for Hugo https://themes.gohugo.io 
 
4- having some components that will give some live features whereas it’s static
— this can come later this one. 
——For instance, I want to provide a way to choose appointments, in a very smart 
way
——I’d like also to provide a stupid and simple little IoT that when a shop is 
open, it relates on the website, and vice-versa.
Etc...

I think 1 and 2 (and 3) are what’s needed by all web site generator. 
2 is debatable (a must to me), but I find it clever. So you moderate comments 
through githubs tools (and eventually in conjunction with Iceberg).

3 is really important too. Again, easy at first but can become complex (depend 
on how many js plugins there are). I know at least two companies that’d be 
interested in developing graphic theme. The guy behind jekylltheme coud be 
interested too.

Generally a theme cost around 3000€ for a full personalized and unlimited one. 
Then for individual use, the cost is around 10/20€. Lots are free too but of 
course less advanced.



> 
>>> Combine this with the new headless image and it should easily plug into 
>>> netlify .
>> Plus to netlify but also class export to servers. I thing Git(hubs) Pages 
>> are a nice option. In any cas, one nice pattern is to use git to store pages 
>> versions, and then you can replay on Pages / or on your own server / or on 
>> netlify.
> 
> When I think about netlify I don't think about an app (as in, an
> executable) but as a simple static site, but if it possible to deploy
> an app that is distributed and served by their CDN, then better!

Same. This is more an option to me. But I guess this is a vey nice feature to 
have. 

> 
>> I also wonder what would be possible with mini-image like Erik did.
> 
> I need to see more!
> I don't know how independent a client image can be, how much you can
> "pre-deploy" without needed to rehydrate the browser with server
> changes, etc.
> It's promising.

This is cherry on the cake but what a delicious one :)

Cheers,

Cédrick

> 
> Regards!
> 



Re: [Pharo-dev] Project of Interest => Jekyll + Dynamic processing integration + Git(hubs)Pages => pharo in the middle

2020-05-27 Thread Cédrick Béler
Hi Tim,

> 
> Hi - a bit late to reply on this one, but I did try Jekyl years ago, it was 
> ok but over time frustrating to use and difficult to make the pipeline 
> understandable ...
> 
> I looked at Hugo and a few others but ended up going with Metalsmith (a JS 
> static generator). I liked the plugable pipeline model of it, but cursed the 
> state of Js tools (a few years ago) .

Thanks for the feedback. 

It seems indeed that Jekyll can become frustrating. I’m using Hugo right now. I 
didn’t know metalsmith...

> 
> I’ve been meaning for ages to reimplement it in Smalltalk with a nice oo 
> composite pipeline model and an easy way to debug and visualise what is going 
> when getting your template right.

I’ve tried to restrain myself not to redo it in smalltalk but that would be 
great option. I don’t know the required effort though but I’ll be glad to be 
part of such project.

Are you still interested in such project Tim ? 

> 
> Combine this with the new headless image and it should easily plug into 
> netlify .

Plus to netlify but also class export to servers. I thing Git(hubs) Pages are a 
nice option. In any cas, one nice pattern is to use git to store pages 
versions, and then you can replay on Pages / or on your own server / or on 
netlify.

I also wonder what would be possible with mini-image like Erik did.

Cheers,
Cédrick


> 
> Tim
> 
>> On 23 May 2020, at 21:41, Cédrick Béler  wrote:
>> 
>> 
>> Hi Esteban,
>> 
>>> This comes really on time for me, I decided to rewrite to small sites I 
>>> have using Jekyll, and as read all their tutorials I thought even of having 
>>> a Jekyllst variation, that uses the Jekyll directories and other 
>>> conventions, but uses Smalltalk as its engine. Of course this is far 
>>> reached given my real availability these days, that's lower than usual.
>> 
>> Cool anyway if that’s something that interest you too. What do you think of 
>> https://gohugo.io <https://gohugo.io/> ?
>> 
>> Themes are pretty cool https://themes.gohugo.io <https://themes.gohugo.io/> 
>> 
>>> 
>>> However I'd like to be part of conversations around this, and eventually 
>>> contribute to it, because I already started playing with Jekyll (and Gatsby 
>>> as well).
>> 
>> Perfect :)
>> 
>> This is not urgent but I need to put 2 websites online for September (simple 
>> ones). For now, I’m trying around. Summer will be perfect for me to work on 
>> such project.
>> 
>> Cheers,
>> 
>> Cédrick
>> 
>>> 
>>> Regards,
>>> 
>>> 
>>> Esteban A. Maringolo
>>> 
>>> 
>>> On Sat, May 23, 2020 at 10:15 AM Cédrick Béler >> <mailto:cdric...@gmail.com>> wrote:
>>> Hi there, 
>>> 
>>> This post is just to talk about one side project I’m exploring and 
>>> interested in from a long time. I think it may interest other people here.
>>> 
>>> I’d like to have powerful (static based) web site so hosting is really 
>>> cheap (even free) and hassle free. I’ve my own server for years, it is 
>>> cheap and simple but, of course, it needs some maintenance (linux update, 
>>> nginx scripts, …) even if tools are the simplest I’ve found.
>>> 
>>> Recently thanks to student projects ;-), I found some time to learn what I 
>>> find is a wonderful solution. This solution is to use GitHub DSCM, GitHub 
>>> Pages and Jekyll (a ruby static site generator that is natively integrated) 
>>> all together.
>>> https://jekyllrb.com <https://jekyllrb.com/> 
>>> 
>>> The beauty is that you can edit the site straight on GitHub. We get the 
>>> power of version system and hosting for free… 
>>> It literally is a CMS and the cheapest and reliable that I know of (grav 
>>> might be another option).
>>> 
>>> Of course, there are some « dynamic » content possibilities too (otherwise 
>>> GitHub Pages is enough)
>>> - blog posts are natively generated through new files according to a name 
>>> convention.
>>> - there are plugins too (but you have to watch for compatibility in GitHub).
>>> 
>>> Dealing with forms and comments is possible
>>> - solutions that are hosted on a third-party. Solution like Discus or 
>>> formspree, … (that’s a NO GO to me)
>>> - web service integration that you can host (note that form spree is on 
>>> GitHub too https://github.com/formspree/formspree 
>>> <https://github.com/formspree/formspree>)
>>> 
>>> This last 

Re: [Pharo-dev] Project of Interest => Jekyll + Dynamic processing integration + Git(hubs)Pages => pharo in the middle

2020-05-23 Thread Cédrick Béler
Hi Esteban,

> This comes really on time for me, I decided to rewrite to small sites I have 
> using Jekyll, and as read all their tutorials I thought even of having a 
> Jekyllst variation, that uses the Jekyll directories and other conventions, 
> but uses Smalltalk as its engine. Of course this is far reached given my real 
> availability these days, that's lower than usual.

Cool anyway if that’s something that interest you too. What do you think of 
https://gohugo.io <https://gohugo.io/> ?

Themes are pretty cool https://themes.gohugo.io <https://themes.gohugo.io/> 

> 
> However I'd like to be part of conversations around this, and eventually 
> contribute to it, because I already started playing with Jekyll (and Gatsby 
> as well).

Perfect :)

This is not urgent but I need to put 2 websites online for September (simple 
ones). For now, I’m trying around. Summer will be perfect for me to work on 
such project.

Cheers,

Cédrick

> 
> Regards,
> 
> 
> Esteban A. Maringolo
> 
> 
> On Sat, May 23, 2020 at 10:15 AM Cédrick Béler  <mailto:cdric...@gmail.com>> wrote:
> Hi there, 
> 
> This post is just to talk about one side project I’m exploring and interested 
> in from a long time. I think it may interest other people here.
> 
> I’d like to have powerful (static based) web site so hosting is really cheap 
> (even free) and hassle free. I’ve my own server for years, it is cheap and 
> simple but, of course, it needs some maintenance (linux update, nginx 
> scripts, …) even if tools are the simplest I’ve found.
> 
> Recently thanks to student projects ;-), I found some time to learn what I 
> find is a wonderful solution. This solution is to use GitHub DSCM, GitHub 
> Pages and Jekyll (a ruby static site generator that is natively integrated) 
> all together.
> https://jekyllrb.com <https://jekyllrb.com/> 
> 
> The beauty is that you can edit the site straight on GitHub. We get the power 
> of version system and hosting for free… 
> It literally is a CMS and the cheapest and reliable that I know of (grav 
> might be another option).
> 
> Of course, there are some « dynamic » content possibilities too (otherwise 
> GitHub Pages is enough)
> - blog posts are natively generated through new files according to a name 
> convention.
> - there are plugins too (but you have to watch for compatibility in GitHub).
> 
> Dealing with forms and comments is possible
> - solutions that are hosted on a third-party. Solution like Discus or 
> formspree, … (that’s a NO GO to me)
> - web service integration that you can host (note that form spree is on 
> GitHub too https://github.com/formspree/formspree 
> <https://github.com/formspree/formspree>)
> 
> This last point is where I’d like Pharo (Zinc, Iceberg) to be integrated. 
> Again we could imagine a web service system based on Zinc. I could manage 
> form submissions that way and everything I’d like but it may end up complex. 
> Do I need a database ? Do I need to store information and therefore manage 
> the underlying architecture. If it crash, I want only the endpoint to be not 
> available but the whole site still working.
> 
> An in between elegant solution os to use git for what it’s good at 
> (versioning collaboratively through PR, and also reliable hosting in classic 
> platforms). 
> 
> The idea is to use the PR mechanisms to submit stuff like blog comments (note 
> that you have a free moderation system). 
> This is actually not limited to comments but all kinds of possible 
> interaction…
> 
> This way is (to me) better in terms of infrastructure management. Such a 
> service also needs to be available (and maintained) but this is a very 
> minimalist machinery (hanling POST request service only - no real content 
> management as deferred to github). And again, a fail safe version (for the 
> last version of the generated pages).
> 
> Staticman (https://staticman.net <https://staticman.net/>) is a nice node 
> application that allows to do this. It’s possible to host the service too.
> 
> 
> I can use this node app of course, but I believe we could have quite easily 
> such an application in Pharo with Zinc. 
> I also wonder if we could use Iceberg to deal with this information straight 
> in a pharo image (that’d be cherry on the cake). 
> The super cherry of the cake would be pharo core and lib documentation, demos 
> (you can have one gihub page by organization and/or users - in paid plans, 
> you can have more for private stuff)… One place, one process to contribute, 
> either for code or documentation.
> 
> Anyway, I have no real question except than asking for feedback and also to 
> know if some people are interested in such project. 
>

Re: [Pharo-dev] [Pharo-users] Project of Interest => Jekyll + Dynamic processing integration + Git(hubs)Pages => pharo in the middle

2020-05-23 Thread Cédrick Béler
Hi Torsten,

> 
> Hi Cédrick,
> 
> You know <https://www.netlify.com> where you can quickly connect to a GitHub 
> project and serve it with a global CDN easily
> in seconds as in <https://www.youtube.com/watch?v=mN9oI98As_4>

I actually just discovered after sending the email, as Hugo for as a generator 
too.
https://jamstatic.fr/2017/06/07/migration-de-jekyll-a-hugo/ 
<https://jamstatic.fr/2017/06/07/migration-de-jekyll-a-hugo/> 

Looks interesting. I’ll try. 

> 
> As the site runs HTTPS you can even host quickly a HTML/CSS/JS based PWA 
> application. I tried with React and it works
> nicely. So when you push a change to GitHub it easily goes live ... using two 
> branches you can distinquish between prod 
> vs. dev.
>  
> 
> No direct need for ruby or explicit site generator - but if you need you can 
> also use Pharo and try "Mustache" or "Templ" and 
> similar to generate the page.

Yes I think it’s doable too and would be great. I don’t want to really install 
Jekyll, more rely on the GitHub integration. So it builds too after a change 
(the delay might be a problem though for some - that’s why people prefer hogo + 
netlify).

The idea is to help people build their web site and quickly be able to change 
without asking me to do it. This is for now mostly for friends and some 
projects we have to make a web site on (and I’m often the guy whose asked for 
doing a simple site…).

> If you want Pharo for a backend or in the middle then either continue running 
> your linux machine or put Pharo into docker and
> run it on Azure, AWS or any other cloud based service out there. This way you 
> can raise more instances when traffic raises
> and you can scale. Decoupling the services is easy with REST/GraphQL and 
> Pharo has projects to support that (Stargate,
> Teapot/Tealight, GraphQL, ...).
> 
> You can even go serverless with Pharo Lambda Ultimate.
> 
> Many, many possibilities these days...

Oh yes :).  But as I want to keep it really simple, I’ll go for some kind of 
static site generation. I want people to have a simple vitrine of their 
activity, with a contact form and a certain feed of article. 
I’ll explore a bit more this tools so lets discuss it too.


> 
> Have fun
> T.


You too ;-)
Cédrick

>  
>  
> 
> Gesendet: Samstag, 23. Mai 2020 um 15:13 Uhr
> Von: "Cédrick Béler" 
> An: "Pharo Development List" , "Any question about 
> pharo is welcome" 
> Betreff: [Pharo-users] Project of Interest => Jekyll + Dynamic processing 
> integration + Git(hubs)Pages => pharo in the middle
> 
> Hi there, 
>  
> This post is just to talk about one side project I’m exploring and interested 
> in from a long time. I think it may interest other people here.
>  
> I’d like to have powerful (static based) web site so hosting is really cheap 
> (even free) and hassle free. I’ve my own server for years, it is cheap and 
> simple but, of course, it needs some maintenance (linux update, nginx 
> scripts, …) even if tools are the simplest I’ve found.
>  
> Recently thanks to student projects ;-), I found some time to learn what I 
> find is a wonderful solution. This solution is to use GitHub DSCM, GitHub 
> Pages and Jekyll (a ruby static site generator that is natively integrated) 
> all together.
> https://jekyllrb.com[https://jekyllrb.com] 
>  
> The beauty is that you can edit the site straight on GitHub. We get the power 
> of version system and hosting for free… 
> It literally is a CMS and the cheapest and reliable that I know of (grav 
> might be another option).
>  
> Of course, there are some « dynamic » content possibilities too (otherwise 
> GitHub Pages is enough)
> - blog posts are natively generated through new files according to a name 
> convention.
> - there are plugins too (but you have to watch for compatibility in GitHub).
>  
> Dealing with forms and comments is possible
> - solutions that are hosted on a third-party. Solution like Discus or 
> formspree, … (that’s a NO GO to me)
> - web service integration that you can host (note that form spree is on 
> GitHub too 
> https://github.com/formspree/formspree[https://github.com/formspree/formspree])
>  
> This last point is where I’d like Pharo (Zinc, Iceberg) to be integrated. 
> Again we could imagine a web service system based on Zinc. I could manage 
> form submissions that way and everything I’d like but it may end up complex. 
> Do I need a database ? Do I need to store information and therefore manage 
> the underlying architecture. If it crash, I want only the endpoint to be not 
> available but the whole site still working.
>  
> An in between elegant solution os to use git for what it’s good at 
> (versioning collabo

Re: [Pharo-dev] Squeak and Pharo why the fork - was: Squeak and Pharo speed differences

2020-05-15 Thread Cédrick Béler
Nicely said 👏

> Le 15 mai 2020 à 17:39, Jimmie Houchin  a écrit :
> 
> 
>> On 5/15/20 5:26 AM, Shaping wrote:
>> I don’t understand the split.  It looks silly.  Maybe someone can explain 
>> the split in terms of technical/architectural advantages, if any exist.
>>  
>> Cheers,
>>  
>> Shaping
> I began using Squeak about 20 years ago. And then Pharo when it started. I 
> will explain as best as I can.
> 
> The differences do have bearing on architecture and technical things but at 
> the beginning the basis of it all is philosophy. Differences in what you want 
> Squeak/Pharo to be, where you want it go.
> 
> Squeak is from Apple Smalltalk. Smalltalk is not simply a language, but began 
> as an OS, an environment and a language. It ran directly on the hardware. 
> Then Smalltalk was ported to operating systems. But still took with it a very 
> OS like environment and world view. It was the world. 
> 
> This was very much Squeak. Squeak was the world. It was an amazing and 
> interesting environment. It could play mp3s, had MIDI capabilities. It was a 
> very interesting multimedia environment. Bright, colorful, creative.  But it 
> was also a very productive programming environment to build whatever you 
> wanted to build. 
> 
> All of the people involved in Squeak, loved the productivity of the Smalltalk 
> language and the live environment. You had debates about "Pink plane" vs 
> "Blue plane". What was the direction of the community and the artifact 
> Squeak. There were two large communities with differing opinions on 
> direction. 
> 
> Alan Kay
> The Computer Revolution Hasn't Happened Yet OOPSLA 97 Keynote (VPRI 0719)
> https://www.youtube.com/watch?v=aYT2se94eU0
> 
> """
> https://pab-data.blogspot.com/2007/03/what-colour-do-you-like-your-objects.html
> In Alan Kay's keynote speech at OOPSLA in 1997 he talks about a blue plane 
> and a pink plane. The pink plane represents ideas which are an incremental 
> improvement of existing ideas. The blue plane which runs orthogonal to the 
> pink represents revolutionary ideas that break the old way of doing things, 
> setting you off in a new direction.
> """
> 
> Many people had projects and ideas which were very able to be done in Squeak, 
> but did not want the entire OS-like image. ...
> 
> Maybe I want a web server.  I don't need to play multimedia files. Have a 
> GUI. etc.
> Insert your own application here.
> 
> People wanted to build businesses around what they could do with Squeak.
> 
> The Pink plane community wanted to begin to clean up Squeak. Break it up into 
> parts which could be reloaded. It wanted a much more modular environment 
> which allowed you to build the image you want for the purpose you intend.
> 
> The Blue plane community didn't see any problems with the way it was. They 
> liked it and still do. It fit what they wanted to do with Squeak/Smalltalk. 
> Frequently more research oriented and less business oriented.
> 
> Then in the midst of all this you have overlap in individuals who understand 
> both. You also had personality differences and disagreements which developed 
> over years.
> 
> Eventually the Pink plane community forked and created Pharo. The 
> foundational community of Squeak (Blue plane) did not want to make the 
> changes the Pink plane community wanted or required.
> 
> Pharo is now 12 years or so into its journey. It is not easy losing weight 
> and still keep working. But that is the goal of Pharo. Keep reducing until 
> the entire system can be built up from a base image. And when it gets there. 
> We don't have a problem with from that foundation, being able to build it 
> back up into a Squeak-like image.
> 
> I have numerous projects which I am doing in Pharo. One is a trading 
> application. I personally want as little in my image as possible which does 
> not have to do with my trading application. It desires to be as fast as 
> possible, run without failure, and as memory and cpu efficient as I can make 
> it to be in Pharo. I could make and run this application in Squeak. But it 
> would include much that I don't need and don't want. And that is the case in 
> Pharo currently as well. But Pharo has its philosophy and its direction that 
> it is moving towards. At some point in time my trading application will what 
> I want it to be with very little unused code in the image. That might not be 
> until Pharo 10+. I don't know. But there is a vision within Pharo for people 
> to build such applications.
> 
> I have not used Squeak in years. And nothing I write here is meant to speak 
> badly about Squeak. I like the Squeak community. They are full of great 
> people. And I do not know how accurate what I write is to the current Squeak. 
> My apologies for any inaccuracies or errors.
> 
> Pharo in general is much more pro-business. It is an explicit goal of Pharo.
> https://pharo.org/about
> https://gforge.inria.fr/frs/download.php/30434/PharoVision.pdf
> 
> Both websites give you a feel for who th

Re: [Pharo-dev] Need Idea for Pharo with freeCAD

2020-05-08 Thread Cédrick Béler
Hi and welcome,

FreeCAD is quite a nice software. I don’t know what you’d like to have but 
there is a python API that might be a starting point. 

https://wiki.freecadweb.org/Category:API

There are some python bridges too for pharo but never used them. 

HTH
Cedrick 

> Le 8 mai 2020 à 08:15, shawon58  a écrit :
> 
> Hello
> I am starting learning about pharo. So my supervisor give task to learn how
> to connect pharo with FreeCAD. is there any idea how i can start to learn
> and what will way to learn Connect pharo with freeCAD. If i can able to run
> any simple code in pharo which can able to function freeCAD. Than my Grade
> will be save for the Project i take . Need Guidelines.
> Thanks
> 
> 
> 
> 
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html
> 


Re: [Pharo-dev] [Pharo-users] [ANN] Pharo Launcher 2.0 released!

2020-04-18 Thread Cédrick Béler
Great Job. It looks indeed nicer.

I found the docs great too (https://pharo-project.github.io/pharo-launcher 
).

One suggestion would be to add the help contextually. I tried to look at. There 
is description of commands and SpLinkPresenter but don’t think it’s easy to 
add. I wanted to add the ling in the help description.

For instance, the one to create an image for template:
WebBrowser openOn: 
'https://pharo-project.github.io/pharo-launcher/create-images/‘

Any way of doing that ?



Cheers,

Cédrick



> Le 17 avr. 2020 à 18:08, Christophe Demarey  a 
> écrit :
> 
> Hi all,
> 
> Pharo Launcher 2.0 has just been released! It is available from 
> http://pharo.org/download .
> 
> This new version introduces major changes:
> The UI has been fully rewritten using the new Spec2 framework 
>  and the Commander2 library 
> . UI has been revamped to increase 
> usability, especially for newcomers. The main window is now composed of a 
> toolbar and the list of images. The template list is now available when 
> clicking on the new image button.
> Documentation web site : All Pharo Launcher features are now explained in the 
> new documentation available at https://pharo-project.github.io/pharo-launcher 
> . You can contribute easily 
> by clicking the *edit on GitHub* button.
> You can now have many launch configurations for an image (VM to use, vm and 
> image arguments). It means you can use headless Pharo VM from Pharo Launcher.
> When creating a new image, you can specify an initialisation script that will 
> be run once at the first image launch. It is useful to load your project code 
> in a stock Pharo image for example. See 
> https://pharo-project.github.io/pharo-launcher/create-images/#image-initialization-script
>  
> 
> You can now define your own template sources in addition to official sources 
> (see 
> https://pharo-project.github.io/pharo-launcher/templates/#create-your-own-list-of-template-categories
>  
> ),
>  including authenticated sources.
> Improved image metadata. Pharo Launcher now manages all image metadata in a 
> single STON file (including description, Pharo version).
> 
> Big thanks to all contributors, including issue reports. It is also the 
> opportunity to thanks Damien Cassou, the original author of Pharo Launcher.
> 
> Here is the changelog:
> Pharo Launcher v2.0 
> 
> 
> The list of closed issue is too long (68) to be listed but you can browse it 
> here: 
> https://github.com/pharo-project/pharo-launcher/issues?q=is%3Aissue+is%3Aclosed+closed%3A2019-07-09..2020-04-17
>  
> 
> Here are some highlights:
> New features:
> 
> Documentation web site
> Image initialisation script
> Launch configurations, headless VM support
> User template file in addition to the official template file
> Jenkins server template now support pipeline projects
> Support of private Jenkins server
> Support of authenticated HTTP server
> Improvements:
> 
> Monitoring of image launch failures to give back the error message (if any)
> Newly created image is automatically selected in the image list
> Allow to set image description at creation time
> Better error management (you will have the choice to ignore them or debug 
> them)
> Add a poor version column in image list
> Speedup (especially when image repository has a lot of images)
> 
> Bug fixes:
> 
> Fix use of system unzip on Windows
> 
> Regards,
> The Pharo team.



Re: [Pharo-dev] How to execute code

2020-04-11 Thread Cédrick Béler
That’s circumstances but I found that just yesterday so as to store scripts:

"info1 - webservice"
covidScript := 'ZnClient new
"contentReader: [ :entity | NeoJSONReader fromString: entity contents 
];"
forJsonREST;
get: 
''https://www.data.gouv.fr/fr/datasets/r/58aee810-ddd2-4359-85eb-5cfd899cd1ce''.'.

covidFRUntilToday := OpalCompiler new
source: covidScript;
logged: false;
evaluate.

 (I looked for #evaluate)

Hth,

Cédrick

Ps: btw I wonder how log can go now :)


> Le 11 avr. 2020 à 12:05, Hilaire  a écrit :
> 
> Thanks to Squeak, it tooks me 5 min to discover this simple things from its 
> workspace menu:
> 
> Compiler evaluate: ...
> 
> Oh, it does not work on Pharo. Ah, I remember I read something about a new 
> compiler named Opal. I tried prefixing it with Opal. Yes, OpalCompiler 
> evaluate:...
> 
> But why prefixing with Opal, it makes it impossible to discover, again !
> 
> Hum, I should have know how to do this simple thing really (and I did know 
> but forget), but for me it illustrates how complex Pharo is becoming, and so 
> more and more unpleasant to code with sometime. But I am clear I have no hope 
> it will ever change though.
> 
> Hilaire
> 
> Le 11/04/2020 à 11:37, Hilaire a écrit :
>> 
>> How to write the code to execute a piece of code in code presenter?
> 
> -- 
> Dr. Geo
> http://drgeo.eu
> 
> 
> 




Re: [Pharo-dev] [ANN] Roadmap progress report. September 2019

2019-10-08 Thread Cédrick Béler
Yes very nice !

Keep the good work.

Cheers,

Cedrick


PS: interested in the XCode integration of the VM amongst several stuff. Any 
pointers ?

> Le 8 oct. 2019 à 13:06, Ben Coman  a écrit :
> 
> 
> Nice list. Thx for posting.
> cheers -ben
> 
>> On Mon, 7 Oct 2019 at 22:03, Esteban Lorenzano  wrote:
>> 
>> Hi all, 
>> 
>> Since some time we wanted to start with this report to keep you all informed 
>> on what we are doing to achieve our goals for the release.
>> After ESUG we took some time to organise and we managed to put this in 
>> movement. 
>> The idea is to post one the first week of each month (but it may vary, as 
>> you see with this one who came a bit later :P)
>> 
>> Actions reportes are just dots, since we do not have the time to add a big 
>> explanation and we hope you are already involved and more or less know what 
>> we are talking about. 
>> But do not hesitate to ask if you want more details :)
>> 
>> Roadmap progress report.
>> September 2019
>> 
>> 
>> Image
>> 
>> Code Loading
>> Profiling the time spent to load code
>> Reimplementing a better Read/Write Buffered Stream
>> Improving the performance of Source writing and reading,
>> Improving in at least 20% the time of loading code using Metacello.
>> 
>> Spec 2
>> Pass on SpMillerColumnPresenter to made it of general use.
>> Implement a specific SpMillerLayout to handle Miller columns.
>> Pass on regular input ports (transmissions subsystem) to implement 
>> activation ports.
>> Pass on SpStyle subsystem (kind of STON based stylesheets for Morphic).
>> Fix SpGridLayout horizontal cell calculous. (It was broken).
>> Fix SpBoxLayout berderWith and padding. (It was broken).
>> Added contextual menus to widgets. 
>> This functionality was completely revamped to make it work in all backends. 
>> It was generalised to all widgets (even if not all should use it!)
>> Added focus order to presenters. 
>> This is also a full revamp of old existing functionality.
>> it accepts you to change the default order, but it has a default order 
>> (previous implementations forced you to do the focusing by hand).
>> Added key binding support for all widgets. 
>> This is also a full revamp of old exiting functionality. 
>> 
>> Spec2+GTK3
>> callbacks can now be chained. This requires some explanation: In Gtk3 you 
>> connect to signals. And you can connect just one callback to one signal. 
>> Thankfully we control the callbacks in our side, so we modified signal 
>> callbacks to accept to chain other callbacks (then we can connect several 
>> actions to one single event, for example "keypress" or “hide").
>> along with this, we reworked the callback hierarchy.
>> implemented inheritance in Pharo of Gtk3 objects and interfaces (this is 
>> needed to enhance control of tables and many others).
>> added autocompletion capabilities to SpCodePresenter.
>> added a mechanism to avoid duplicate signalling between the backend and the 
>> adaptors. 
>> Fix an important leak on GtkFormView.
>> 
>> NewTools
>> Inspector 
>> it now implements Miller columns
>> Using TaskIt as backend for stepping.
>> extensions migrated (we are at 10% of the total of migrations needed, we 
>> will enhance this in iterative way).
>> Debugger
>> Almost complete revamp of UI.
>> Fix context updating (to allow commands to actually work)
>> Integrate new inspector.
>> Work on new layouts for debugger
>> Make an experimental tool: "playbook", to concentrate playgrounds and test 
>> some UI ideas.
>> 
>> UFFI
>> Adding Tests
>> Support for kind of literals and support type definitions in literals
>> Documentation
>> Measuring performance issues on large images.
>> 
>> TaskIT
>> Implement a prototype of a distributed backend to execute tasks.
>> Implement a communication layer using Rabbit MQ
>> Implement the first version of a process manager for handling multiples 
>> images and workers.
>> 
>> VM
>> Fixing problem with LibGIT and Windows 1903.
>> Fixing the performance issues of Windows 1903 with File accesses when using 
>> solid-state 4k physical sector disks.
>> XCode integration
>> Adding an initial version to detect invalid order in the return from 
>> concurrent callbacks.
>> Improving the implementation of TFFI to run 50% faster in callouts.
>> Build of StackVM
>> 


Re: [Pharo-dev] [ANN] OSWinSubprocess a library to spawn Windows System processes

2019-07-08 Thread Cédrick Béler
Hi,

Really nice Christophe.

I wonder then if OSSubProcess shroud be « renamed » OSUnixSubProcess ?

A related question is the the limitation of LibC, iow. When to use LibC or the 
couple OSSubProcess/OSWinSubProcess ?


Cheers,

Cédrik


> Le 8 juil. 2019 à 12:13, Christophe Demarey  a 
> écrit :
> 
> Hi,
> 
> Pharo Launcher had stability problems to spawn new processes (launch Pharo 
> images) on Windows as well as limitations (paths could only contain ASCII 
> characters).
> To solve this problem, we developed a new library: OSWinSubprocess 
> (https://github.com/pharo-contributions/OSWinSubprocess 
> ) and decided to make 
> it a standalone library so that people can use it if they need to.
> We tried to use the same API as OSSubprocess when possible. This library uses 
> the Windows API to create process from both 32-bit and 64-bit Pharo images. 
> It also supports Unicode characters.
> 
> Here are some examples on how to use it:
> process := OSWSWinProcess new 
>   command: 'C:\Windows\notepad.exe';
>   run.
> ...
> process terminate.
> 
> OSWSWinProcess new 
>   command: 'C:\Windows\notepad.exe';
>   arguments: #('notepad.exe' 'C:\foo.txt');
>   runAndWait.
> Important note: As of now, this library does not yet support standard streams 
> (stdin, stdout and stderr). It could be done by setting the appropriate 
> information in the STARTUPINFO structutre.
> 
> You can check the README for more information.
> 
> Regards,
> Christophe.



Re: [Pharo-dev] Roassal Animations

2019-03-27 Thread Cédrick Béler
No they are not... only screenshots. 

Cheers

> Le 27 mars 2019 à 20:31, Cédrick Béler  a écrit :
> 
> I think there are on the roassal discord channel. 
> 
> Indeed really cool ;-)
> 
>> Le 17 mars 2019 à 20:40, Sven Van Caekenberghe  a écrit :
>> 
>> 
>> 
>>> On 17 Mar 2019, at 20:10, Serge Stinckwich  
>>> wrote:
>>> 
>>> Most of the animations are available in the Roassal3 code:
>>> 
>>> https://github.com/ObjectProfile/Roassal3
>> 
>> Yes, OK, but maybe there is some webpage somewhere that collects the Twitter 
>> posts, they were really good advertisements.
>> 
>>> On Sun, Mar 17, 2019 at 7:23 PM Sven Van Caekenberghe  wrote:
>>> Hi,
>>> 
>>> Who has seen these Roassal Animations on Twitter recently ?
>>> 
>>> These are crazy cool and super slick.
>>> 
>>> Is there a place where they are all collected, maybe with their code ?
>>> 
>>> Sven
>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> Serge Stinckwic​h​
>>> Int. Research Unit on Modelling/Simulation of Complex Systems (UMMISCO)
>>> ​Sorbonne University (SU)
>>> French National Research Institute for Sustainable Development (IRD)​
>>> U​niversity of Yaoundé I​, Cameroun
>>> "Programs must be written for people to read, and only incidentally for 
>>> machines to execute."
>>> https://twitter.com/SergeStinckwich
>>> ​
>> 
>> 



Re: [Pharo-dev] Roassal Animations

2019-03-27 Thread Cédrick Béler
I think there are on the roassal discord channel. 

Indeed really cool ;-)

> Le 17 mars 2019 à 20:40, Sven Van Caekenberghe  a écrit :
> 
> 
> 
>> On 17 Mar 2019, at 20:10, Serge Stinckwich  
>> wrote:
>> 
>> Most of the animations are available in the Roassal3 code:
>> 
>> https://github.com/ObjectProfile/Roassal3
> 
> Yes, OK, but maybe there is some webpage somewhere that collects the Twitter 
> posts, they were really good advertisements.
> 
>> On Sun, Mar 17, 2019 at 7:23 PM Sven Van Caekenberghe  wrote:
>> Hi,
>> 
>> Who has seen these Roassal Animations on Twitter recently ?
>> 
>> These are crazy cool and super slick.
>> 
>> Is there a place where they are all collected, maybe with their code ?
>> 
>> Sven
>> 
>> 
>> 
>> 
>> -- 
>> Serge Stinckwic​h​
>> Int. Research Unit on Modelling/Simulation of Complex Systems (UMMISCO)
>> ​Sorbonne University (SU)
>> French National Research Institute for Sustainable Development (IRD)​
>> U​niversity of Yaoundé I​, Cameroun
>> "Programs must be written for people to read, and only incidentally for 
>> machines to execute."
>> https://twitter.com/SergeStinckwich
>> ​
> 
> 



Re: [Pharo-dev] Special Issue on Smalltalk Technologies

2019-03-26 Thread Cédrick Béler
Tu penses que je peux tenter de publier un papier un peu sur les principes du 
SIS ?

Je pense je pourrais tenter aussi un truc avec mon étudiants et Jannik sur 
l’aspect CPS. 

@++

Cedrick

Ps je revois pour simplifier l’approche et commencer à faire émerger des 
scnenario

Envoyé de mon iPhone

> Le 26 mars 2019 à 11:37, ducasse  a écrit :
> 
> Special Issue on Smalltalk Technologies 
> https://www.journals.elsevier.com/science-of-computer-programming 
> Guest Editors: 
> Loïc Lagadec (Coordinator) 
> Ensta Bretagne, Lab-STICC
> Anne Etien
> Université de Lille, CRIStAL, UMR9189
> Jannik Laval
> Université Lumière Lyon 2, DISP, EA 4570
> 
> Theme 
> Smalltalk is an exciting object‐oriented language in which even primitive 
> values are uniformly handled as normal objects, described by classes that one 
> can browse, inspect and extend. Smalltalk was born during the seventies, 
> still the ideas behind the currently available implementations are often at 
> the edge of innovation.
> Smalltalk benefits from being a highly expressive language in which complex 
> and powerful systems can emerge from the composition of simple building 
> blocks. Thanks to its dynamic nature, fast prototyping and agile software 
> development are made possible. Smalltalk is not only a simple and pure 
> dynamic object-oriented language, but is also a programmable system with 
> processes, its own user interface and a complete Interactive Development 
> Environment (IDE).
> Smalltalk is a reflexive system, with all its elements being implemented in 
> Smalltalk, which benefits from powerful meta‐programming facilities. This 
> means that elements can be extended, customized or adapted according to 
> particular contexts, that the Smalltalk IDE itself can be used to implement, 
> validate and debug the Smalltalk system extensions, and that a program is 
> able to query and to change its own structure and behaviour. 
> In this context, the research topics that relate to Smalltalk technologies 
> are large, and need to receive more attention and research effort, 
> considering that Smalltalk has established itself as a test bed for software 
> engineering theories and tools.
> 
> 
> 
> TOPICS include: 
>  Aspect-oriented programming,
>  Design patterns,
>  Experience reports,
>  Frameworks,
>  Implementation, new dialects or languages implemented in Smalltalk,
>  Interaction with other languages,
>  Meta-programming and Meta-modelling,
>  Tools
> 
> 
> Important Dates: 
> • Apr. 30, 2019 Full paper submission due
> • Aug.31, 2019 Paper acceptance decision 
> • Sep.15, 2019 Camera-ready paper due
> 


Re: [Pharo-dev] Experiment: New Download page based on Pharo Launcher

2018-03-23 Thread Cédrick Béler
Thx Ben for all.

I will investigate further as most of the students use windows (still I ask 
them top bring their computer cause here it’s all virtualized windows with 
network user files mounted on the virtual system launch).

> 
> btw, what is the directory here that its trying to write to?

I don’t know… I ask the student to send me the stack.

I won’t see them until 2 weeks. But I will then try with some to make this 
stuff work more reliably and give/ask feedback here.

Anyway, I still have the solution to launch the old way. So there is an 
alternative.

But I really like the launcher. It really helps organizing (for me :)). For 
students, in a first approcach it’s not that important.

> 
> 
> Now I notice... 
> the Linux PharoLauncher download is a ZIP file
> and the Mac PharoLauncher download is a ZIP file
> so... can we make the Windows PharoLauncher download a ZIP file?
> 
> Doing that, at least as an interim measure, would *immediately* make 
> PharoLauncher 
> usable to students on locked-down Windows machines in University student labs.
> I'd expect this will improve the success with this experiment 
> to use PharoLauncher as the main user entry point.
> 
> The problem with using an "Installer" for the Windows PharoLauncher is the 
> large amount 
> of testing required to work *reliably* with *all* the "different ways people 
> work"
> under several different versions of Windows introduced different layers of 
> user security intricacies. 

Oh yeah… I can see that… and since I don’t use windows since XP, I can tell you 
it’s a pain to just use it again. I (sadly) need a windows box to test.
I’m thinking also to prepare a linux virtual box image which is also 
interesting. But still, to get adoption (even for A or 2 student), its 
important that it works well on windows.

I’ll give feedback (but in 2/3 weeks).

Cheers,

Cédrick




> Lets move forward in small steps.  A ZIP download/extract is simple, and 
> consistent with other platforms.
> 
> 
> In the meantime while waiting for that to happen, you can...
> 
> 1. Download/extract  http://files.pharo.org/platform/Pharo6.1-win.zip 
> 
> 
> 2. Rename  Pharo6.1folder to  PharoLauncher
> Rename  Pharo6.1.*  files toPharoLauncher1.1.* 
> 
> 3. Metacello new
>smalltalkhubUser: 'Pharo'
>project: 'PharoLauncher';
>configuration: 'PharoLauncher';
>load.
> PhLDeploymentScript doAll.
> PharoLauncher open.
> Smalltalk snapshot: true  andQuit: true.
> 
> 4. Zip up the parent folder, test on another machine and provide a link to 
> your students.
> 
> cheers -ben
> 
> 
> P.S.  I was going to suggest also renaming  Pharo.exe  to  PharoLauncher.exe
> but with an empty Documents\Pharo\vms
> I get... "Error: Cannot detect Pharo executable in 
> C:\Temp\MyPharoLauncher\PharoLauncher"
> in PhLVirtualMachine>>initializeOn: "File @ 
> C:\Temp\MyPharoLauncher\PharoLauncher"
> since "executables := aFolder allChildrenMatching: self class executableName."
> is empty since "self class executableName" ==> "Pharo.exe"
> 
> It would be nice for that to not be hard coded.  I tried digging further but 
> ran out of time.
> I am curious it mattered since using "Pharo.exe" the Launcher went on to 
> download a VM anyway.
> 
> 
> P.S.2.
> I believe the best path forward for system-wide PharoLauncher installed under 
> "C:\Program Files"
> would be to install there only...
> * the VM 
> * PharoLauncher.ZIP 
> * a tiny non-Pharo wrapper program as the shortcut linked from AllUsers > 
> Start Menu > PharoLauncher 
> that extracts PharoLauncher.ZIP to the user's data area and then starts that 
> user specific PharoLauncher.  
> 
> Then regardless whether:
> * they individually download/extract  PharoLauncher.ZIP
> * the system-wide-wrapper extracts  PharoLauncher.ZIP
> its a similar experience for users which should aid reliability by reducing 
> the number of "different " use cases.



Re: [Pharo-dev] Experiment: New Download page based on Pharo Launcher

2018-03-22 Thread Cédrick Béler
Hi,

I just saw students and they still have some problem on windows with the 
launcher.

First, the launcher has to be run in admin mode.

Then, the image download starts but there is an error when uncompressing. Here 
is the stack.

Any idea on how to fix that ?



FileHandle>>streamError
FileHandle>>writeStream
FileSystem>>writeStreamOn:
FileReference>>writeStream
FileReference(AbstractFileReference)>>writeStreamDo:
ZipFileMember(ZipArchiveMember)>>extractInDirectory:overwrite:
[ :entry | 
| response |
entry isDirectory
ifFalse: [ bar ifNotNil: [ bar label: 'Extracting ' , entry fileName ].
response := entry
extractInDirectory: aDirectory
overwrite: overwriteAll.
response == #retryWithOverwrite
ifTrue: [ overwriteAll := true.
response := entry
extractInDirectory: aDirectory
overwrite: overwriteAll ].
response == #abort
ifTrue: [ ^ self ].
response == #failed
ifTrue: [ (self confirm: 'Failed to extract ' , entry 
fileName , '. Proceed?')
ifFalse: [ ^ self ] ] ] ] in 
ZipArchive>>extractAllTo:informing:overwrite: in Block: [ :entry | ...
OrderedCollection>>do:
ZipArchive>>extractAllTo:informing:overwrite:
ZipArchive>>extractAllTo:informing:
[ :bar | self extractAllTo: aDirectory informing: bar ] in 
ZipArchive>>extractAllTo: in Block: [ :bar | self extractAllTo: aDirectory 
informing: ...etc...
[ :bar | aBlock value: bar ] in MorphicUIManager>>informUserDuring: in Block: [ 
:bar | aBlock value: bar ]
BlockClosure>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ 
^ block cull: self ]
[ activeProcess psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [ 
activeProcess psValueAt: index put: anObject
BlockClosure>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ 
self prepareForRunning
BlockClosure>>ensure:
Job>>run
MorphicUIManager(UIManager)>>displayProgress:from:to:during:
MorphicUIManager>>informUserDuring:
ZipArchive>>extractAllTo:
PhLRemoteTemplate(PhLAbstractTemplate)>>extractZipArchive:to:
PhLRemoteTemplate(PhLAbstractTemplate)>>extractTo:named:
PhLDirectoryBasedImageRepository>>extractTemplate:to:
PhLCreateImageFromTemplateCommand>>execute
PhLCreateImageFromTemplateCommand(PhLCommand)>>executeIfApplicable
PhLCommandButton>>performAction



Thanks 

Cédrick

Re: [Pharo-dev] Experiment: New Download page based on Pharo Launcher

2018-03-20 Thread Cédrick Béler
> 
> 
> 
>> On 16 Mar 2018, at 16:41, Esteban Lorenzano  wrote:
>> 
>> but thing is: default download should be the launcher. 
>> because this is the “newbie-friendly” approach. 
>> 
>> All the rest can be in under a link (or a subtitle, doesn’t matters). 
> 
> It think that even that is a mistake: To give “newbies” a different download 
> than the “people that know better" is *wrong*.
> 
>   Marcus


What about havingnormal/advance mode to shore more or less images ?
Official bistro + documentation/book images ?  Then the whole stuff.

Cheers,

Cédrick





Re: [Pharo-dev] Experiment: New Download page based on Pharo Launcher

2018-03-20 Thread Cédrick Béler
CLI is cool too but it quickly becomes a mess for me ^^

Just loving the launcher on the Mac… +100 for me to push it.

Still, the CLI should be available and probably the better way to launch one 
specific image.

My 2 cents,

Cédrick


Re: [Pharo-dev] Experiment: New Download page based on Pharo Launcher

2018-03-17 Thread Cédrick Béler
Little feedback too.

I was surprised by the new download as some students had to install on windows… 
hopefully, I had old win versions but it has disturbed me :)
Still handy and straightforward to just put an image on the VM.

But…this being said, I just tried on Mac and this works nicely and this is true 
that launcher makes the management of image clearer and easier..
I don’t know about windows but I have to care about as 98% of students uses 
Pharo on windows...

I was thinking of some adjustments:
1) maybe a default/advanced mode on the launcher to show only, as default,  
Mooc/PBE5/Official distributions.
2)  a proper icon name to display in OS’s task bars.
When several image are opened, they should have different icons, at least 
different name when hovering, and not only Pharo.


A more general feedback is about cloud drive OS’s (iCloud Drive, Dropbox, …).
I have 3 mac’s (pro and personal). I put often files in a directory that are 
synchronized across these devices. 
- sometimes I get a message that an image are in different states
- sync image might be long (+changes) depending on network conditions

I think the question is important as the launcher download in the Document 
folder (OSX) and this directory is synchronized by default.
What do you think about such common situation ? What are your common practices ?
- lets says on two Macs and works on both
- or I use a dropbox folder 

=> cloud drive are cool and my impression is that we could take a better 
advantage of them for data that could be shared between (personal) images 
(Play-Cache ? Packages-cache ? … )
==> would it be possible to have several files for one image (chunked over time 
so only the last chunk is modified and then less file would be synchronized) - 
(I don’t know at all if possible) ?
==> same for changes… but this one should be easier I think.

=> I also find longer to share pharo system the old ways - zipping (or not) via 
USB - I think git integration produces a large number of files that relies 
slows down system copy paste (if only image this is ok)… 


My 2 cents,

Cédrick

PS: my experiments to make students use Pharo are very cool… I need to adjust 
my presentations/lecture but already I think I succeeded in getting more 
attraction (and potential results) than what I tried last year with whatever 
technologies (Python especially). I still use AppInventor and Arduino.cc 
.

PS2: I just like what Sean said (but might be frightening at first for 
newcomers ^^)  Pharo all the way down 

> 
>> But just in case we step into the quicksand even further, in this dystopian
> 
>> future you can just copy paste this definition:
> 
>> Pharo is a Pharo app that manages Pharo images, which can be used to make
> 
>> Pharo apps, which can be used to manage Pharo images, [which can be used to
> 
>> make Pharo apps, which can be used to manage Pharo images]*
> 
> 
> Haha, yes it is so fluid it cannot be described only be experienced through 
> prolonged exposure, it is truly magical.
> 
> Actually, that is not so far from the truth.


Re: [Pharo-dev] Can Realm (DB) and Pharo play together (or can we have a Pharo Realm Object Server to ROS) ?

2017-09-11 Thread Cédrick Béler
Hi Todd, 

> I do a lot of iOS development.  I've looked at Realm.  I don't trust it.  I 
> do like Sqlite.  I have written the following frameworks for iOS.
> 
> https://github.com/tblanchard/objectivefmdb 
> <https://github.com/tblanchard/objectivefmdb>
> 
> I use it constantly on iOS development.  I would like to port it to Pharo, 
> possibly with GLORP front end.
> 
> I have an equivalent library written in PHP (I like PHP for server work) that 
> works against a PostgreSQL database.
> 
> I use this a lot to field iOS apps with server back ends very quickly.  I'm 
> happy to share it all.

Thanks for sharing. I definitely will have a look soon.

> 
> But I think trying to get Realm, a proprietary data store to work well with 
> Pharo something of a waste of time due to the proprietary nature of it.

Just to be sure, If I understand well, the realm data store (on mobiles 
devices) is fully open source (Apache 2.0). I think it was not the case at 
start in 2014 but it is now. They are seen as an alternative to SQLite. 
https://github.com/realm <https://github.com/realm> 

This is the other component of the architecture that is closed source (the 
realm object server).

> 
> I am happy to help you out though - I've written a LOT of persistence active 
> record type things and am pretty dang handy with GLORP as well.
> 
> Drop me a note if you want to collaborate.

Thanks for the proposition, 

See you soon

Cédrick


> 
> -Todd Blanchard
> tblanch...@mac.com <mailto:tblanch...@mac.com>
> 
> 
>> On Sep 10, 2017, at 3:14 AM, Cédrick Béler > <mailto:cdric...@gmail.com>> wrote:
>> 
>> Hello all,
>> 
>> I’ve spent some time in the summer in what I call my quest to the ultimate 
>> and easy and fun architecture to prototype some personal administration apps 
>> and have fun :-)
>> I’ll share some experience and wonder if there are alternative in Pharo.
>> 
>> I want app that are mobile firsts, then manageable with a computer (for more 
>> complex administrative tasks).
>> I want them reactive (I especially like reactive data driven application 
>> like meteor.js), ubiquitous around my devices and not always connected 
>> (offline-first - this is very important if not the first objective).
>> 
>> Ok, so I was lurking around looking for server and mobile distributed 
>> databases and I finally found Realm 
>> (https://realm.io/products/realm-mobile-platform/ 
>> <https://realm.io/products/realm-mobile-platform/>) which is a cool 
>> architecture plenty of promises, well documented, lots of tutorials... The 
>> architecture is composed of 2 products: 
>> - Realm DB [1] that runs on mobile device - multiplatform - fully 
>> open-source - performant - an object DB with some limitation though
>> - Realm Object Server (ROS) [2] - provide two-way data sync simple and easy 
>> - BUT proprietary even if free for developers … the entry point for serious 
>> developments (in particular access programmatically to the server) is very 
>> expensive ! 1500$mo !
>> 
>> The developer edition with is free is already quite outstanding to me. Looks 
>> at this demo page on GitHub [3] ! 
>> 
>> But… without any control to the ROS, I find ROS quite limited finally. I may 
>> then use the DB part, ROS free for what really need sync reactivity between 
>> devices or between group of people (like a black board), but store all less 
>> transient information to WhateverNoSQLDB probably in REST.  
>> 
>> Anyway I want to share that with you because it rings a smalltalk bell in my 
>> head… it’s about object data, live feeling, and I want to use Pharo on the 
>> server :) 
>> 
>> Maybe some people here have thought of an alternative ROS in Pharo or 
>> Gemstone ? Any ideas or remarks ?
>> I was aware of sebastian Flow living full-stack framework attempt but don’t 
>> know more.
>> 
>> TIA
>> Cédrick
>> 
>> NB: Pharo looks more and more great ! Congratulations guys for you job ! I 
>> hope ESUG was nice. 
>> I’ve just tried Telepharo on Pharo 6 (64 bit). Really great work too... It 
>> works like a charm, out of the box on low cost dedicated ubuntu servers [4] 
>> => 10€mo
>> Pharo 64 tinyBenchmarks is 2,75 times slower than on my Mac mini Core i5 
>> 2,5GHz from 2012 with SSD (I guess it’s not that bad and usable for personal 
>> applications servers). I think it’ about 3 times faster than on a raspberry 
>> Pi.
>> Mac mini (32 bit version):  '1329870129 bytecodes/sec; 108576799 sends/sec’
>> Dedibox Low Cost server (64 bit version)’  '59569

[Pharo-dev] Can Realm (DB) and Pharo play together (or can we have a Pharo Realm Object Server to ROS) ?

2017-09-10 Thread Cédrick Béler
Hello all,

I’ve spent some time in the summer in what I call my quest to the ultimate and 
easy and fun architecture to prototype some personal administration apps and 
have fun :-)
I’ll share some experience and wonder if there are alternative in Pharo.

I want app that are mobile firsts, then manageable with a computer (for more 
complex administrative tasks).
I want them reactive (I especially like reactive data driven application like 
meteor.js), ubiquitous around my devices and not always connected 
(offline-first - this is very important if not the first objective).

Ok, so I was lurking around looking for server and mobile distributed databases 
and I finally found Realm (https://realm.io/products/realm-mobile-platform/ 
) which is a cool 
architecture plenty of promises, well documented, lots of tutorials... The 
architecture is composed of 2 products: 
- Realm DB [1] that runs on mobile device - multiplatform - fully open-source - 
performant - an object DB with some limitation though
- Realm Object Server (ROS) [2] - provide two-way data sync simple and easy - 
BUT proprietary even if free for developers … the entry point for serious 
developments (in particular access programmatically to the server) is very 
expensive ! 1500$mo !

The developer edition with is free is already quite outstanding to me. Looks at 
this demo page on GitHub [3] ! 

But… without any control to the ROS, I find ROS quite limited finally. I may 
then use the DB part, ROS free for what really need sync reactivity between 
devices or between group of people (like a black board), but store all less 
transient information to WhateverNoSQLDB probably in REST.  

Anyway I want to share that with you because it rings a smalltalk bell in my 
head… it’s about object data, live feeling, and I want to use Pharo on the 
server :) 

Maybe some people here have thought of an alternative ROS in Pharo or Gemstone 
? Any ideas or remarks ?
I was aware of sebastian Flow living full-stack framework attempt but don’t 
know more.

TIA
Cédrick

NB: Pharo looks more and more great ! Congratulations guys for you job ! I hope 
ESUG was nice. 
I’ve just tried Telepharo on Pharo 6 (64 bit). Really great work too... It 
works like a charm, out of the box on low cost dedicated ubuntu servers [4] => 
10€mo
Pharo 64 tinyBenchmarks is 2,75 times slower than on my Mac mini Core i5 2,5GHz 
from 2012 with SSD (I guess it’s not that bad and usable for personal 
applications servers). I think it’ about 3 times faster than on a raspberry Pi.
Mac mini (32 bit version):  '1329870129 bytecodes/sec; 108576799 sends/sec’
Dedibox Low Cost server (64 bit version)’  '595695171 bytecodes/sec;   39441333 
sends/sec'

NB2: to download/install Pharo from command line, on the web site instructions, 
it seems it lacks the trailing slash. I had to add it.
curl get.pharo.org/64/ | bash

[1] https://realm.io/products/realm-mobile-database/ 
 
[2] https://realm.io/products/realm-mobile-platform/ 
 
[3] https://github.com/realm-demos  
[4] https://www.online.net/fr/serveur-dedie/dedibox-sc 
 

 

Re: [Pharo-dev] Collection with spatiotemporal indexation - Ideas and discussions ?

2016-04-25 Thread Cédrick Béler
Hi Robert,

> 
> Have you considered seeing if there are any Voronoi diagram packages in one 
> of the repositories? I believe there is a fair bit of research into 
> algorithms. You search use of spaciotemporal collated data sounds very 
> interesting and there is a segment on computation over segments in this slide 
> deck, that might be something, I don't know: 
> http://graphics.stanford.edu/courses/cs368-06-spring/handouts/Delaunay_2.pdf. 
> Certainly there is utility on the graphics side to use a 4D quadratic model 
> (with GPU accel) and may well be modeled already in squeak/Pharo. Would't 
> that be something!

Thanks for the links, very interesting read. I’ll have a closer look if I need 
to develop proper algorithms.

Cheers,
Cédrik


> 
> 
> Regards,
> Robert
> 
> 
> On 04/23/2016 01:29 PM, Cédrick Béler wrote:
>> Hi Esteban,
>> 
>> Thanks a lot, I think I’ll try your History package, it seems to be a very 
>> good starting point (instead of hacking it myself).
>> I’ll try it soon.
>> 
>> Thanks for all the information ;)
>> 
>> Cheers,
>> 
>> Cédrik
>> 
>> 
>>> Le 23 avr. 2016 à 18:28, Esteban A. Maringolo  a 
>>> écrit :
>>> 
>>> Maybe instead of having a Dictionary, you can use my History package [1].
>>> It allows you to add elements to "the history", and the History class
>>> will provide certain "lookup" strategies depending on how you want to
>>> query it.
>>> 
>>> It is a trimmed down version of an utility class I used for years in
>>> commercial products where the History contained thousands of elements.
>>> This version uses linear search, my previous implementation used
>>> binary search which was significantly faster with lots of elements in
>>> the collection.
>>> 
>>> Of course it doesn't solve your spatial queries needs, I don't know if
>>> there is something in Smalltalk for that other than the distance
>>> between two coordinates[2], PostgreSQL 9.2 has some support for
>>> "temporal" data/tables which you could combine with PostGIS if you
>>> need to combine a spatial query with a temporal one [3].
>>> 
>>> Regards,
>>> 
>>> [1] http://www.smalltalkhub.com/#!/~emaringolo/History
>>> [2] http://pastebin.com/ThKDXCKK
>>> [3] 
>>> http://clarkdave.net/2015/02/historical-records-with-postgresql-and-temporal-tables-and-sql-2011/
>>> Esteban A. Maringolo
>>> 
>>> 
>>> 2016-04-23 12:13 GMT-03:00 Cédrick Béler :
>>>> 
>>>> Sure, but 1) that's not a lot
>>>> 
>>>> 2) do you even know if you need interactive stuff or if batch processing is
>>>> ok?
>>>> 
>>>> 
>>>> interactive I would say… but hard to be certain right now as it depends on
>>>> design choices… do we cache ? do we aggregate past data ? extra indexes ?
>>>> I’ll see later.
>>>> I want something simple, keep everything… and query according to time
>>>> interval, areas (contexts)…
>>>> 
>>>> But yes for now this is pointless to look for something optimal and I’ll 
>>>> use
>>>> a dictionary as it will be small at start.
>>>> 
>>>> Cheers,
>>>> 
>>>> Cédrik
>>>> 
>>>> 
>>>> 
>>>> 
>>>> --
>>>> Damien Pollet
>>>> type less, do more [ | ] http://people.untyped.org/damien.pollet
>>>> 
>>>> 
>> 
> 
> -- 
> Robert
> .  ..   ...^,^
> 
> 




Re: [Pharo-dev] Collection with spatiotemporal indexation - Ideas and discussions ?

2016-04-25 Thread Cédrick Béler
> 
> My impression was that the Geolocation & Spatiotemperal classes already
> exist (and presumably are already packaged),

I don’t think so but if you know some packages, please tell me :)


> so I was thinking of the
> collection class (which would have the geolocation and spatiotemperal as
> dependencies).
> 
>> I can try something but I think this will deserve more « computational
>> thinking » power than I have ^^
> 
> Me too, but having something is still better than nothing, and maybe
> someone will provide ideas for improvements.
> 

I’ll see what I’ll come up with and I’ll publish them.

Cheers,
Cédrik 

> 
> Cheers,
> Alistair
> 
> 




Re: [Pharo-dev] Collection with spatiotemporal indexation - Ideas and discussions ?

2016-04-23 Thread Cédrick Béler
Hi Esteban,

Thanks a lot, I think I’ll try your History package, it seems to be a very good 
starting point (instead of hacking it myself).
I’ll try it soon.

Thanks for all the information ;)

Cheers,

Cédrik


> Le 23 avr. 2016 à 18:28, Esteban A. Maringolo  a écrit :
> 
> Maybe instead of having a Dictionary, you can use my History package [1].
> It allows you to add elements to "the history", and the History class
> will provide certain "lookup" strategies depending on how you want to
> query it.
> 
> It is a trimmed down version of an utility class I used for years in
> commercial products where the History contained thousands of elements.
> This version uses linear search, my previous implementation used
> binary search which was significantly faster with lots of elements in
> the collection.
> 
> Of course it doesn't solve your spatial queries needs, I don't know if
> there is something in Smalltalk for that other than the distance
> between two coordinates[2], PostgreSQL 9.2 has some support for
> "temporal" data/tables which you could combine with PostGIS if you
> need to combine a spatial query with a temporal one [3].
> 
> Regards,
> 
> [1] http://www.smalltalkhub.com/#!/~emaringolo/History
> [2] http://pastebin.com/ThKDXCKK
> [3] 
> http://clarkdave.net/2015/02/historical-records-with-postgresql-and-temporal-tables-and-sql-2011/
> Esteban A. Maringolo
> 
> 
> 2016-04-23 12:13 GMT-03:00 Cédrick Béler :
>> 
>> 
>> Sure, but 1) that's not a lot
>> 
>> 2) do you even know if you need interactive stuff or if batch processing is
>> ok?
>> 
>> 
>> interactive I would say… but hard to be certain right now as it depends on
>> design choices… do we cache ? do we aggregate past data ? extra indexes ?
>> I’ll see later.
>> I want something simple, keep everything… and query according to time
>> interval, areas (contexts)…
>> 
>> But yes for now this is pointless to look for something optimal and I’ll use
>> a dictionary as it will be small at start.
>> 
>> Cheers,
>> 
>> Cédrik
>> 
>> 
>> 
>> 
>> --
>> Damien Pollet
>> type less, do more [ | ] http://people.untyped.org/damien.pollet
>> 
>> 
> 




Re: [Pharo-dev] Collection with spatiotemporal indexation - Ideas and discussions ?

2016-04-23 Thread Cédrick Béler

> 
> Sure, but 1) that's not a lot
> 2) do you even know if you need interactive stuff or if batch processing is 
> ok?

interactive I would say… but hard to be certain right now as it depends on 
design choices… do we cache ? do we aggregate past data ? extra indexes ? I’ll 
see later.
I want something simple, keep everything… and query according to time interval, 
areas (contexts)…

But yes for now this is pointless to look for something optimal and I’ll use a 
dictionary as it will be small at start.

Cheers,

Cédrik

> 
> 
> 
> -- 
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet 
> 



Re: [Pharo-dev] Collection with spatiotemporal indexation - Ideas and discussions ?

2016-04-23 Thread Cédrick Béler
> 
> Hi Cedrick, welcome back in the community.

Thanks, I was not very far though ^^


> 
>> For a project I’m starting to prototype, I need collections where objects 
>> are inserted according to an index that is a spatiotemporal object.
>> 
>> The idea is that each time a person add an « information" in this 
>> collection, he does it a a given place and time and I want to be able to 
>> query the collection easily according to place or time (or both).
>> 
>> I’m hacking it right now but I wonder if people have ideas on that subject. 
>> I’m also interested in collection that that are indexed by the timestamp of 
>> the insertion.
>> 
>> For the implementation of spatiotemporal classe, I choose to use a 
>> ZTimestamp and a Geolocation object. Geolocation is quite simple and is 
>> responsible among other to get the timezone, but of courses coordinates (or 
>> eventually areas).
>> 
>> For the collection, I’m still wandering… Something like an OrderedCollection 
>> with another internal array to store associated spatiotemporal(s)… Will hack 
>> something but I’d love to hear others ideas.
> 
> You mean something like a timeseries ?
> I start to work on a basic TimeSeries class quite similar to the one
> you find in Panda:
> http://pandas.pydata.org/pandas-docs/stable/timeseries.html 
> 

I don’t really know, more a geospatial timeserie but It might be interesting. 
We’ll exchange on that subject I guess.

Cheers,

Cédrik



> 
> -- 
> Serge Stinckwich
> UCBN & UMI UMMISCO 209 (IRD/UPMC)
> Every DSL ends up being Smalltalk
> http://www.doesnotunderstand.org/
> 



Re: [Pharo-dev] Collection with spatiotemporal indexation - Ideas and discussions ?

2016-04-23 Thread Cédrick Béler

> 
> There are a lot of spatial access data structures: 
> https://en.wikipedia.org/wiki/Spatial_database#Spatial_index 
> <https://en.wikipedia.org/wiki/Spatial_database#Spatial_index>
> 
> But for a prototype I don't think you care; a simple linear search should be 
> ok for testing

Yes sure but I keep that in mind for later « exploration ».


> until you have thousands and thousands of records.

Potentially, on a person lifetime, adding hundreds information a day (and 
probably higher order of magnitude),  I think we can easily reach millions of 
data quite easily :) 

100 per day, in 10 years => 365 000

1000 per day in 100 years => 36 500 000

What I want is keeping track of all positions a person can have in his life 
(what can easily reach millions) and then rely on these « points » to index 
information added in the system.

> It's probably more important to really explore what you need and how your 
> constraints will influence the API

but I agree and I’ll work on that first.


> (e.g. since we haven't invented teleportation yet, events for one person that 
> are close in time are necessarily close in space)

yes… for now but in 50 years who knows :) 
This remark is nevertheless interesting as a premise that can be used to check 
the validity of data (geospatial resolver are not that precise). 

But yeah for now, an OrderedDic or another classic collection will do the job 
and will let me explore the API (and we might discuss it ^^).

I start this discussion as I thing this is one central modeling concept of what 
I want to do.

Cheers,

Cédrik

> 
> On 23 April 2016 at 14:08, Cédrick Béler  <mailto:cdric...@gmail.com>> wrote:
> Thanks Max,
> 
> I’ve seen in Pharo 5 OrderedDictionary, OrderedPreservingDictionary and some 
> others. I guess they have the same intent.
> 
> I was actually trying them right now :)
> 
> Cheers,
> 
> Cédrik
> 
> 
> 
> > Le 23 avr. 2016 à 13:57, Max Leske  > <mailto:maxle...@gmail.com>> a écrit :
> >
> > There was talk about an ordered dictionary implementation IIRC a couple of 
> > months ago on this list.
> >
> > I’ve attached an implementation I found in a thread from 2010 (may not work 
> > out of the box).
> >
> > Cheers,
> > Max
> >
> >
> > 
> >
> >> On 23 Apr 2016, at 13:46, Cédrick Béler  >> <mailto:cdric...@gmail.com>> wrote:
> >>
> >> A dictionary with keys being the timestamp or the spatiotemporal object 
> >> would probably do it...
> >> I think I’ll do that but I wonder if there are better solutions out there 
> >> ^^.
> >>
> >> Cheers,
> >>
> >> Cédrik
> >
> 
> 
> 
> 
> 
> -- 
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet 
> <http://people.untyped.org/damien.pollet>



Re: [Pharo-dev] Collection with spatiotemporal indexation - Ideas and discussions ?

2016-04-23 Thread Cédrick Béler
Hi Alistair,

Thanks, this sounds like a nice suggestion. 

I have to think about it. 
Adding altitude would be also interesting in some cases but not as a start 
(quite limited usage).

When you say to package it separately, you’re talking about Geolocation, 
Spatiotemporal classes ? or also the collection ?
I can try something but I think this will deserve more « computational thinking 
» power than I have ^^

Cheers,

Cédrik

> Le 23 avr. 2016 à 13:57, Alistair Grant  a écrit :
> 
> I don't have a data structures book handy, but how about 3 SortedCollections? 
>  (Assuming 3 dimensions: latitude, longitude & time).
> 
> It would support a reasonably efficient binary search, and allow for areas 
> and time ranges.
> 
> Regardless of which solution you choose I agree that it would be a useful 
> general class, so please package it separately.
> 
> Cheers,
> Alistair
> (Sent from my mobile)
> 
> On 23/04/2016 1:47 PM, "Cédrick Béler"  <mailto:cdric...@gmail.com>> wrote:
> A dictionary with keys being the timestamp or the spatiotemporal object would 
> probably do it...
> I think I’ll do that but I wonder if there are better solutions out there ^^.
> 
> Cheers,
> 
> Cédrik



Re: [Pharo-dev] Collection with spatiotemporal indexation - Ideas and discussions ?

2016-04-23 Thread Cédrick Béler
Thanks Max,

I’ve seen in Pharo 5 OrderedDictionary, OrderedPreservingDictionary and some 
others. I guess they have the same intent.

I was actually trying them right now :)

Cheers,

Cédrik 



> Le 23 avr. 2016 à 13:57, Max Leske  a écrit :
> 
> There was talk about an ordered dictionary implementation IIRC a couple of 
> months ago on this list.
> 
> I’ve attached an implementation I found in a thread from 2010 (may not work 
> out of the box).
> 
> Cheers,
> Max
> 
> 
> 
> 
>> On 23 Apr 2016, at 13:46, Cédrick Béler  wrote:
>> 
>> A dictionary with keys being the timestamp or the spatiotemporal object 
>> would probably do it... 
>> I think I’ll do that but I wonder if there are better solutions out there ^^.
>> 
>> Cheers,
>> 
>> Cédrik
> 




Re: [Pharo-dev] Collection with spatiotemporal indexation - Ideas and discussions ?

2016-04-23 Thread Cédrick Béler
A dictionary with keys being the timestamp or the spatiotemporal object would 
probably do it... 
I think I’ll do that but I wonder if there are better solutions out there ^^.

Cheers,

Cédrik


[Pharo-dev] Collection with spatiotemporal indexation - Ideas and discussions ?

2016-04-23 Thread Cédrick Béler
Hi Pharoers,

For a project I’m starting to prototype, I need collections where objects are 
inserted according to an index that is a spatiotemporal object.

The idea is that each time a person add an « information" in this collection, 
he does it a a given place and time and I want to be able to query the 
collection easily according to place or time (or both).

I’m hacking it right now but I wonder if people have ideas on that subject. I’m 
also interested in collection that that are indexed by the timestamp of the 
insertion.

For the implementation of spatiotemporal classe, I choose to use a ZTimestamp 
and a Geolocation object. Geolocation is quite simple and is responsible among 
other to get the timezone, but of courses coordinates (or eventually areas).

For the collection, I’m still wandering… Something like an OrderedCollection 
with another internal array to store associated spatiotemporal(s)… Will hack 
something but I’d love to hear others ideas.


Cheers,

Cédrik


nb: I really think a spatiotemporal class would be interesting as a general 
data structure today !


Re: [Pharo-dev] powerSet

2015-10-23 Thread Cédrick Béler
Hi all,

just bouncing on this subject as we had this interesting discussions some time 
ago:

http://forum.world.st/Another-extension-proposal-gt-subsets-td107678.html

Cheers,

Cédrick


[Pharo-dev] Any Deep Learning Algorithm related lib in Pharo ?

2015-01-16 Thread Cédrick Béler
Hi all,

The question is in the title. I’m just journeying in this field and was 
wandering if it exists something on deep learning algorithms. 

Some refs
an introduction: 
http://www.toptal.com/machine-learning/an-introduction-to-deep-learning-from-perceptrons-to-deep-networks
Python lib: 
http://www.pyimagesearch.com/2014/09/22/getting-started-deep-learning-python/   
 http://deeplearning.net/tutorial/   
Java lib (link in the tutorial) 
...

Cheers and best wishes all for 2015,

Cédrick

Re: [Pharo-dev] Pharo - [ANN] SimpleDDS v1.0 released.

2014-12-02 Thread Cédrick Béler
Thanks Santiago, I think this is a decent comparison. I also found these bits 
of information regarding the question:
https://groups.google.com/forum/#!topic/meteor-core/BNfHzNFGAHQ 


Now time to try out :)

Cheers,

Cédrick

> Le 2 déc. 2014 à 00:44, Ben Coman  a écrit :
> 
> Santiago Bragagnolo wrote:
>> Hi guys, i am just releasing SimpleDDS. In order to connect into ROS world i 
>> had to implement a DDS support (Publisher/subscriber). For achieving this i 
>> did  MetaDDS, a library that defines basic objects, announcements, event 
>> related mechanisms and data encoding formats, and on top of it SimpleDDS, 
>> which is ROS based.
>> SimpleDDS Has a package of examples highly commented for learning how to use 
>> it. The comments are also in the Github wiki, as wiki pages:
>> https://github.com/sbragagnolo/SimpleDDS/wiki
>> Gofer it smalltalkhubUser: 'sbragagnolo' project: 'SimpleDDS'; 
>> configuration; loadVersion: #stable
>> Here some links about 
>> http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern
>> http://en.wikipedia.org/wiki/Data_Distribution_Service
>> Thats it. Enjoy.
>> Santiago
> 
> I haven't heard of DDS, but this seems really significant!
> 
> From wikipedia... "DDS addresses the needs of applications like financial 
> trading, air-traffic control, smart grid management, and other Big data 
> applications. The standard is used in applications such as smartphone 
> operating systems,[1] transportation systems and vehicles,[2] 
> software-defined radio, and by healthcare providers."
> 
> This could be a nice lead into these application domains.
> 
> If this got to a sufficient level of features, maybe Santiago could even be 
> sponsored to attend an interoperability meeting? "DDS vendors participated in 
> _Interoperability demonstrations_ at the Object Management Group (OMG) Spring 
> Technical Meeting.[7] During the demo, each vendor publishes and subscribes 
> to each other's topics using a test suite called the Shapes Demo." Such might 
> be a good place to network and demo general use of Pharo.
> 
> cheers -ben
> 



Re: [Pharo-dev] Pharo - [ANN] SimpleDDS v1.0 released.

2014-12-02 Thread Cédrick Béler
This is excellent :)

I just wonder how it compare to DDP (Data Distribution Protocol) wich seems 
https://meteorhacks.com/introduction-to-ddp.html
http://en.wikipedia.org/wiki/Distributed_Data_Protocol
ruby client: https://github.com/tmeasday/ruby-ddp-client 


Thans by the way, I’ll try Simple DDS.

Cheers,

Cédrick

> Le 2 déc. 2014 à 09:16, Luc Fabresse  a écrit :
> 
> 
> This is great.
> Fo info, DDS is a standardized MOM middleware heavily used in industrial apps 
> with multiple concrete implementations such as 
> http://www.prismtech.com/opensplice .
> And one of these implementations will be the next backend of ROS and 
> therefore needed in PhaROS.
> Thx Santiago! 
> 
> #Luc
> 
> 2014-12-02 0:44 GMT+01:00 Ben Coman  >:
> Santiago Bragagnolo wrote:
> Hi guys, i am just releasing SimpleDDS. 
> In order to connect into ROS world i had to implement a DDS support 
> (Publisher/subscriber). 
> For achieving this i did  MetaDDS, a library that defines basic objects, 
> announcements, event related mechanisms and data encoding formats, and on top 
> of it SimpleDDS, which is ROS based.
> 
> SimpleDDS Has a package of examples highly commented for learning how to use 
> it. 
> The comments are also in the Github wiki, as wiki pages:
> 
> https://github.com/sbragagnolo/SimpleDDS/wiki 
> 
> 
> Gofer it smalltalkhubUser: 'sbragagnolo' project: 'SimpleDDS'; configuration; 
> loadVersion: #stable
> 
>  
> Here some links about 
> http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern 
> 
> 
> http://en.wikipedia.org/wiki/Data_Distribution_Service 
> 
> 
> 
> Thats it. Enjoy.
> 
> Santiago
> 
> 
> 
> 
> 
> I haven't heard of DDS, but this seems really significant!
> 
> From wikipedia... "DDS addresses the needs of applications like financial 
> trading, air-traffic control, smart grid management, and other Big data 
> applications. The standard is used in applications such as smartphone 
> operating systems,[1] transportation systems and vehicles,[2] 
> software-defined radio, and by healthcare providers."
> 
> This could be a nice lead into these application domains.
> 
> If this got to a sufficient level of features, maybe Santiago could even be 
> sponsored to attend an interoperability meeting? "DDS vendors participated in 
> _Interoperability demonstrations_ at the Object Management Group (OMG) Spring 
> Technical Meeting.[7] During the demo, each vendor publishes and subscribes 
> to each other's topics using a test suite called the Shapes Demo." Such might 
> be a good place to network and demo general use of Pharo.
> 
> cheers -ben
> 
> 



Re: [Pharo-dev] Pharo days: date proposal

2014-10-02 Thread Cédrick Béler
same day ^^

2014-10-02 16:55 GMT+02:00 Guillermo Polito :

> Cool and the 31 we do my bday party. I love the idea! :D
>
> On Thu, Oct 2, 2014 at 4:54 PM, stepharo  wrote:
>
>> Hi pharoers and others happy hackers
>>
>> we would like to organize PharoDays a two days gathering mix between a
>> conference and a huge sprint.
>> We thought that the 29 and 30 of January 2015 is a good date.
>> Now before launching the organization process we would like to know if
>> there is not a huge conflict that
>> we did not see.
>>
>> Stef on the behalf of the Pharo board
>>
>>
>


-- 
Cédrick


Re: [Pharo-dev] Sending SMS through Pharo/HTTP

2014-10-02 Thread Cédrick Béler
FTI, as a complement, here is the web site where I found all the
information about doing a SMS Gateway :
http://domotique-info.fr/2014/01/un-script-python-comme-serveur-sms/
(french)

https://translate.google.fr/translate?hl=fr&sl=auto&tl=en&u=http%3A%2F%2Fdomotique-info.fr%2F2014%2F01%2Fun-script-python-comme-serveur-sms%2F


Several parts can be done un smalltalk ... but using a NAS Synology, I'm
quite forced to use Python (at least on the NAS) but once the bridge is
done to use web request, one could use Pharo tu use the SMS Server.

Still not happy with the PHP part though...

Cheers,

Cédrick




2014-10-02 16:40 GMT+02:00 Cédrick Béler :

> Hi all,
>
> This is actually doable to use a POST request instead of a GET.
>
> ZnClient new
>   url: 'https://smsapi.free-mobile.fr/sendmsg';
>   queryAt: #user put: '12345';
>   queryAt: #pass put: 'sqsdqsfzedfqsd';
>   queryAt: #msg put: 'Hi again From Pharo é@è!§';
>   post.
>
> Tested OK.
>
> BTW, I'm using a GSM modem with Gnokii deamon to use it as a SMS server on
> a NAS Synology. The problem with the smsapi proposed before is that it can
> only send to your mobile and it has a dependance on the internet connection.
>
> This is a more universal option, but then it's far more tricky to
> interface. I right now use a script in python to expose a "webservice" url
> so send message... But I need a better way to do it (my aim is to be able
> to have a communication channel other than email so that I can send group
> message, query and treat responses (YES NO...)).
>
>
> Cheers,
>
> Cédrick
>
>
>
> 2014-10-02 15:34 GMT+02:00 Norbert Hartl :
>
>>
>> Am 02.10.2014 um 15:25 schrieb Sven Van Caekenberghe :
>>
>>
>> On 02 Oct 2014, at 15:19, Norbert Hartl  wrote:
>>
>>
>> Am 02.10.2014 um 15:07 schrieb Esteban A. Maringolo > >:
>>
>> 2014-10-02 9:56 GMT-03:00 Sven Van Caekenberghe :
>>
>> On 02 Oct 2014, at 14:40, Esteban A. Maringolo 
>> wrote:
>>
>>
>> ps: It is funny they use GET to send a message. :)
>>
>>
>> I was going to comment on that as well. For an action, the common REST
>> practice dictates doing a POST. GET is to request the contents of something.
>>
>> Putting authentication in headers is also better, because it is more
>> orthogonal.
>>
>> In full REST speak, you POST to a /sender resource which creates a new
>> resource like /sms/123123 which you can then query for state (because it
>> can take a while to determine success of failure) - this could also contain
>> delivery timestamp, number of retries, proof of delivery and full contents
>> for future/historic reference.
>>
>>
>> Exactly!
>>
>> GET (and HEAD) should be idempotent, so two identical GET requests
>> shouldn't
>> cause any resource/server state modification. [1]
>>
>> That's not true. It should not modify the resource identified by the URI.
>> But is still possible to have side effects. Otherwise a GET request that
>> produces a line in a logfile would be impossible, right?
>>
>>
>> Nothing you said is wrong (including your other mail), but for us, a log
>> service where a GET would add data would not fly, that would definitively
>> have to be a POST.
>>
>> Sure. I don't think we need to argue here because we would mostly agree
>> on all those things. I just wanted to clarify my point by providing a
>> simple example. The log I meant is that of a frontend web server like
>> apache, that adds a line to a log file even on GET request. Just food for
>> thought about a statement "…shouldn't cause any resource/server state
>> modification…"
>>
>> Norbert
>>
>> But yes, it is more about design, not about what is forbidden, it is
>> about conventions. The whole HTTP design is a bit unclear.
>>
>> And btw. all verbs are idempotent except PATCH and POST.
>>
>> Norbert
>>
>> Esteban A. Maringolo
>>
>> [1] We all now Seaside also breaks this rule by design (hence its
>> "heretic" tagline), and there isn't any foreseeable way of changing
>> this to comply with HTTP recommended usage.
>>
>>
>>
>
>
> --
> Cédrick
>



-- 
Cédrick


Re: [Pharo-dev] Sending SMS through Pharo/HTTP

2014-10-02 Thread Cédrick Béler
Hi all,

This is actually doable to use a POST request instead of a GET.

ZnClient new
  url: 'https://smsapi.free-mobile.fr/sendmsg';
  queryAt: #user put: '12345';
  queryAt: #pass put: 'sqsdqsfzedfqsd';
  queryAt: #msg put: 'Hi again From Pharo é@è!§';
  post.

Tested OK.

BTW, I'm using a GSM modem with Gnokii deamon to use it as a SMS server on
a NAS Synology. The problem with the smsapi proposed before is that it can
only send to your mobile and it has a dependance on the internet connection.

This is a more universal option, but then it's far more tricky to
interface. I right now use a script in python to expose a "webservice" url
so send message... But I need a better way to do it (my aim is to be able
to have a communication channel other than email so that I can send group
message, query and treat responses (YES NO...)).


Cheers,

Cédrick



2014-10-02 15:34 GMT+02:00 Norbert Hartl :

>
> Am 02.10.2014 um 15:25 schrieb Sven Van Caekenberghe :
>
>
> On 02 Oct 2014, at 15:19, Norbert Hartl  wrote:
>
>
> Am 02.10.2014 um 15:07 schrieb Esteban A. Maringolo  >:
>
> 2014-10-02 9:56 GMT-03:00 Sven Van Caekenberghe :
>
> On 02 Oct 2014, at 14:40, Esteban A. Maringolo 
> wrote:
>
>
> ps: It is funny they use GET to send a message. :)
>
>
> I was going to comment on that as well. For an action, the common REST
> practice dictates doing a POST. GET is to request the contents of something.
>
> Putting authentication in headers is also better, because it is more
> orthogonal.
>
> In full REST speak, you POST to a /sender resource which creates a new
> resource like /sms/123123 which you can then query for state (because it
> can take a while to determine success of failure) - this could also contain
> delivery timestamp, number of retries, proof of delivery and full contents
> for future/historic reference.
>
>
> Exactly!
>
> GET (and HEAD) should be idempotent, so two identical GET requests
> shouldn't
> cause any resource/server state modification. [1]
>
> That's not true. It should not modify the resource identified by the URI.
> But is still possible to have side effects. Otherwise a GET request that
> produces a line in a logfile would be impossible, right?
>
>
> Nothing you said is wrong (including your other mail), but for us, a log
> service where a GET would add data would not fly, that would definitively
> have to be a POST.
>
> Sure. I don't think we need to argue here because we would mostly agree on
> all those things. I just wanted to clarify my point by providing a simple
> example. The log I meant is that of a frontend web server like apache, that
> adds a line to a log file even on GET request. Just food for thought about
> a statement "…shouldn't cause any resource/server state modification…"
>
> Norbert
>
> But yes, it is more about design, not about what is forbidden, it is about
> conventions. The whole HTTP design is a bit unclear.
>
> And btw. all verbs are idempotent except PATCH and POST.
>
> Norbert
>
> Esteban A. Maringolo
>
> [1] We all now Seaside also breaks this rule by design (hence its
> "heretic" tagline), and there isn't any foreseeable way of changing
> this to comply with HTTP recommended usage.
>
>
>


-- 
Cédrick


Re: [Pharo-dev] RIP PackageInfo

2014-07-22 Thread Cédrick Béler

Muchas Felicidades / Félicitations (*)

* Congratulations for this one :o) 

Can’t wait to get my head around Pharo again as the progress seems huge these 
days
What I’ve just read with the EntreprisePharo stuff is exciting too… 

Thanks a lot,

Cédrick


Le 22 juil. 2014 à 16:53, Tudor Girba  a écrit :

> Yupeee! Thank you!
> 
> Doru
> 
> 
> On Mon, Jul 21, 2014 at 3:53 PM, stepharo  wrote:
> Finally! Let us savor this moment.
> Yes it was a boring but important task.
> We have some other trolls to kill :)
> 
> Stef
> 
> 
> On 21/7/14 15:32, Esteban Lorenzano wrote:
> Today I finally managed to accomplish this task.
> It was just a couple of hours work now, but is the result of years of hard 
> work cleaning the system and introducing RPackage.
> This “small and random change” was in my TODO list since I joined the Pharo 
> team, two and a half years ago, and now I can finally mark it as accomplished…
> So I can say this is an important milestone :)
> 
> Esteban
> 
> 
> 
> 
> 
> 
> 
> 
> -- 
> www.tudorgirba.com
> 
> "Every thing has its own flow"



Re: [Pharo-dev] Meteor inspiration naive ideas (was Pharo talk from a ruby conference)

2014-05-17 Thread Cédrick Béler

> one or two things you mention could be addressed by 
> http://sebastianconcept.github.io/Mapless

Cool stuff, will look at soon :-)

> 
> redis might address horizontal scaling even better than meteor
> 
> and you forgot to add the feature detecting mongo changes so reactivity is 
> possible (btw you
> probably know but meteor is aiming to support more than mongo also famo.us 
> but that's another story)

I'm following famo.us progress and seen some demo coupling meteor and famo.us.

Famo.us really is impressive by itself too. Wonder if possible to bridge with 
Pharo...

Anyway, thanks for sharing mapless, I'll give a try ;-)

Cheers,

Cedrick


> 
> sebastian
> 
> o/
> 
>> On 17/05/2014, at 10:52, Cédrick Béler  wrote:
>> 
>> Hi all. Just some raw ideas below.
>> 
>> It several months I haven't coded in pharo. And I really miss it. 
>> 
>> Meanwhile I've been lurking in iOS and recently meteor.
>> 
>> I think the latter is great. We might take ideas from it... But it has to be 
>> adapted to the smalltalk way. What I find great:
>> - reactive data and DDP is great to me 
>> => we need an equivalent tech. Sure it's a piece of cake for Sven :-)
>> => having standard data storage as files/nosql/gemstone working out of the 
>> box
>> => controled replication of data on client to avoid latency is a very good 
>> idea too to me
>> - smart package are cool too
>> => st and js have already a close relationship, we should enforce and 
>> simplify it as with C
>> 
>> One killer app would be to have bridges to meteor BUT I would dream of an 
>> inspired version of/for Pharo.
>> 
>> Meteor core language is js + css + mongo + lots of conventions. It's a full 
>> stack. Problem of meteor: no live debugging sessions (whereas it seems 
>> live!) and whereas it seems damn simple (3 files), it has hundreds of MB 
>> hidden for each installed apps !
>> 
>> I would see mini pharo images (without UI) acting as web client/server 
>> interchangabily. A separate data layer (probably an image too) with full 
>> access on the server and controlled replication on clients. Then a 
>> connection with a classic pharo image to develop/debug the mini images. 
>> 
>> Just some cents. I know this is quite naive and not easy to do... But we 
>> might take some inspiration:
>> -DDP (easy for Sven) :-)
>> -grid style client/server easy setup/deployment/control for casual 
>> developers 
>> ...
>> 
>> Cheers,
>> 
>> Cedrick
>> 
>>> Le 17 mai 2014 à 13:13, kilon alios  a écrit :
>>> 
>>> I don't get why C is not old / deprecated / obsolete . Afterall its as old 
>>> as Smalltalk
>>> 
>>> Who really uses modern languages ? 
>>> 
>>> C - 1972
>>> 
>>> Python - 1991
>>> 
>>> C++ - 1983
>>> 
>>> Pascal - 1970
>>> 
>>> .NET - 2002
>>> 
>>> Lisp - 1958
>>> 
>>> Java - 1995
>>> 
>>> Ruby - 1995
>>> 
>>> Perl - 1987
>>> 
>>> Visual Basic - 1991
>>> 
>>> Javascript - 1995
>>> 
>>> Objective C- 1983
>>> 
>>> PHP - 1995
>>> 
>>> 
>>> The vast majority of all popular languages out there are at least 20 years 
>>> old. Thats ancient history. They are not old, they are dinosaurs. Even 
>>> Clojure is 7 years old. 
>>> 
>>> The problem I see here is that the vast majority of things people are going 
>>> to like in Pharo on a basic level are Smalltalk features. Implementation 
>>> wise Pharo has improved a lot of things, added new stuff etc etc. But if 
>>> you take a look at for example Python back in 1991 and you compare it with 
>>> a recent version of Python you will find tons of diffirences. Yet its still 
>>> Python. 
>>> 
>>> Actually its impossible to run a hello world of an old python (anything 
>>> previous to version 3) that will run in the recent Python. Cause they 
>>> changed print "hello World" to print( "hello World") , we are talking here 
>>> about fundamental changes. 
>>> 
>>> Personally I don't see how Pharo being 100% Smalltalk makes it unable or 
>>> difficult to implement super modern and efficient new features. Languages 
>>> and Software is not written in stone, it continuously evolves and improves 
>>> or else people stop using it. Vim was created

[Pharo-dev] Meteor inspiration naive ideas (was Pharo talk from a ruby conference)

2014-05-17 Thread Cédrick Béler
Hi all. Just some raw ideas below.

It several months I haven't coded in pharo. And I really miss it. 

Meanwhile I've been lurking in iOS and recently meteor.

I think the latter is great. We might take ideas from it... But it has to be 
adapted to the smalltalk way. What I find great:
- reactive data and DDP is great to me 
=> we need an equivalent tech. Sure it's a piece of cake for Sven :-)
=> having standard data storage as files/nosql/gemstone working out of the box
=> controled replication of data on client to avoid latency is a very good idea 
too to me
- smart package are cool too
=> st and js have already a close relationship, we should enforce and simplify 
it as with C

One killer app would be to have bridges to meteor BUT I would dream of an 
inspired version of/for Pharo.

Meteor core language is js + css + mongo + lots of conventions. It's a full 
stack. Problem of meteor: no live debugging sessions (whereas it seems live!) 
and whereas it seems damn simple (3 files), it has hundreds of MB hidden for 
each installed apps !

I would see mini pharo images (without UI) acting as web client/server 
interchangabily. A separate data layer (probably an image too) with full access 
on the server and controlled replication on clients. Then a connection with a 
classic pharo image to develop/debug the mini images. 

Just some cents. I know this is quite naive and not easy to do... But we might 
take some inspiration:
-DDP (easy for Sven) :-)
-grid style client/server easy setup/deployment/control for casual developers 
...

Cheers,

Cedrick

> Le 17 mai 2014 à 13:13, kilon alios  a écrit :
> 
> I don't get why C is not old / deprecated / obsolete . Afterall its as old as 
> Smalltalk
> 
> Who really uses modern languages ? 
> 
> C - 1972
> 
> Python - 1991
> 
> C++ - 1983
> 
> Pascal - 1970
> 
> .NET - 2002
> 
> Lisp - 1958
> 
> Java - 1995
> 
> Ruby - 1995
> 
> Perl - 1987
> 
> Visual Basic - 1991
> 
> Javascript - 1995
> 
> Objective C- 1983
> 
> PHP - 1995
> 
> 
> The vast majority of all popular languages out there are at least 20 years 
> old. Thats ancient history. They are not old, they are dinosaurs. Even 
> Clojure is 7 years old. 
> 
> The problem I see here is that the vast majority of things people are going 
> to like in Pharo on a basic level are Smalltalk features. Implementation wise 
> Pharo has improved a lot of things, added new stuff etc etc. But if you take 
> a look at for example Python back in 1991 and you compare it with a recent 
> version of Python you will find tons of diffirences. Yet its still Python. 
> 
> Actually its impossible to run a hello world of an old python (anything 
> previous to version 3) that will run in the recent Python. Cause they changed 
> print "hello World" to print( "hello World") , we are talking here about 
> fundamental changes. 
> 
> Personally I don't see how Pharo being 100% Smalltalk makes it unable or 
> difficult to implement super modern and efficient new features. Languages and 
> Software is not written in stone, it continuously evolves and improves or 
> else people stop using it. Vim was created back in 1991 people still find 
> awesome, modern, extremely powerful. 
> 
> this is from Ruby's website -> "Ruby is a language of careful balance. Its 
> creator, Yukihiro “Matz” Matsumoto, blended parts of his favorite languages 
> (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced 
> functional programming with imperative programming." Ruby has the right to be 
> called Smalltalk-inspired. because thats what it is. 
> 
> You got every right to describe Pharo any way you like but for me Pharo is "a 
> modern implementation of Smalltalk. A visual environment for easy direct live 
> coding" .
> 
> 
>> On Sat, May 17, 2014 at 12:30 PM, Hilaire Fernandes 
>>  wrote:
>> 
>> 
>> Le 16/05/2014 20:18, p...@highoctane.be a écrit :
>> >
>> > Back to the future after 30 years of spinning your wheels
>> > ---
>> >
>> > Wanting to code at the speed of tought?
>> > Wishing the machine was your friend and not a roadblock?
>> > Want to burn cash as slow as possible while maximizing your output?
>> >
>> > If so, get a copy of Pharo! It is not your (grand) daddy's Smalltalk!
>> 
>> That's why I understand this argument about not advertising Smalltalk in
>> Pharo.
>> 
>> Whatever we do or say, this huge mass of followers, once they heard
>> Smalltalk they fill their head with red light warning, Smalltalk =
>> old/deprecated/obsolete.
>> 
>> For Pharo willing to socially scale = need to take this in consideration.
>> 
>> Hilaire
>> --
>> Dr. Geo http://drgeo.eu
> 


Re: [Pharo-dev] Please help us by buying the book

2013-09-18 Thread Cédrick Béler

> On Tue, Sep 17, 2013 at 3:18 PM, Cédrick Béler  wrote:
>> Just ordered too...
> 
> 
> thank you very much Cédrick. It's cool you are still around!

I guess I'll always be around ;-)

I feel Smalltalk is like a relative a bit far from home right now but I spent 
so many good moments with him that I come and visit him from time to time ;-) 

Hope to see you all soon (Smalltalk party ?)

See ya

Cédrick




> 
> -- 
> Damien Cassou
> http://damiencassou.seasidehosting.st
> 
> "Success is the ability to go from one failure to another without
> losing enthusiasm."
> Winston Churchill
> 




Re: [Pharo-dev] Please help us by buying the book

2013-09-17 Thread Cédrick Béler
Just ordered too...

Thanks a lot for the hard work.

Cédrick

Le 16 sept. 2013 à 22:48, David T. Lewis  a écrit :

> On Mon, Sep 16, 2013 at 04:24:07PM +0200, Damien Cassou wrote:
>> Hi,
>> 
>> please support our work on Pharo by buying the new Deep into Pharo book
>> 
>> http://rmod.lille.inria.fr/deepIntoPharo/
>> 
>> Your money go to the Pharo Association, so it's worth it.
>> 
> 
> Thanks, I just ordered my copy of the hard copy book.
> 
> Dave
> 
>