[Pharo-project] Make arduino work on linux with cog vm

2012-03-20 Thread Mariano Vicente
Hi Everybody.

I'm just started with Pharo, and Arduino. And i like to comunicate both.  I
instaled the package sent by Ricardo Moran in a Pharo 1.4 with the Cogvm
from the Jenkins server, but i can't make the serials port works. The
Arduino board, i have, is connected to usb, wich ubuntu detects as
/dev/ttyACM0.

I tried opening serial ports, like this:

sp:=SerialPort new.
sp openPort: '/dev/ttyACM0'.

sp openPort: 'ttyACM0'.

sp openPort: 'ACM0'.

sp openPort: '/ttyACM0'.

But all they fail with a error saying Cannot  open...
After that, i have also, tried this:

(1 to: 1) select:[:port | [SerialPort new openPort:port;close. true]
on:Error do: [false]]

and had a empty collection.

And also tried giving full permissions to the port and executed the vm
sudoed...

Are serial ports working on ubuntu?. Do i have to download a special vm?.
(I would like to do a demo of arduino on monday, at work, and i would like
to do in Pharo.)

Cheers,
Mariano


Re: [Pharo-project] Make arduino work on linux with cog vm

2012-03-20 Thread Mariano Vicente
Thanks a lot.

Could you send me a link with a old vm version?

Sorry but I'm a newie with Pharo :P

Cheers,
Mariano


On Tue, Mar 20, 2012 at 5:08 PM, Pavel Krivanek pavel.kriva...@gmail.comwrote:

 Yes, that seems to be a CogVM problem. I tried it now and Cog cannot
 open the port but an old Squeak4.1 of 17 April 2010 [latest update:
 #9957] can.

 -- Pavel

 On Tue, Mar 20, 2012 at 8:30 PM, Mariano Vicente m.vic...@gmail.com
 wrote:
  Hi Everybody.
 
  I'm just started with Pharo, and Arduino. And i like to comunicate both.
  I
  instaled the package sent by Ricardo Moran in a Pharo 1.4 with the Cogvm
  from the Jenkins server, but i can't make the serials port works. The
  Arduino board, i have, is connected to usb, wich ubuntu detects as
  /dev/ttyACM0.
 
  I tried opening serial ports, like this:
 
  sp:=SerialPort new.
  sp openPort: '/dev/ttyACM0'.
 
  sp openPort: 'ttyACM0'.
 
  sp openPort: 'ACM0'.
 
  sp openPort: '/ttyACM0'.
 
  But all they fail with a error saying Cannot  open...
  After that, i have also, tried this:
 
  (1 to: 1) select:[:port | [SerialPort new openPort:port;close. true]
  on:Error do: [false]]
 
  and had a empty collection.
 
  And also tried giving full permissions to the port and executed the vm
  sudoed...
 
  Are serial ports working on ubuntu?. Do i have to download a special
 vm?. (I
  would like to do a demo of arduino on monday, at work, and i would like
 to
  do in Pharo.)
 
  Cheers,
  Mariano




[Pharo-project] Pharon 1.4 - Ubuntu desktop Laucher.

2012-04-20 Thread Mariano Vicente
Hi Everybody.
I downloaded the last version and make a simply desktop launcher for Ubuntu
(I'm runing 11.10), and i like to share it.

[Desktop Entry]
Version=1.4
Type=Application
Name=Pharo 1.4
Exec=your path to the sh ex: /opt/Pharo-1.4-one-click/
Pharo-1.4-one-click.sh %f
Icon=/opt/Pharo-1.4-one-click/Contents/Resources/Pharo.png
Comment=Develop Smaltalk with pleasure!
Categories=Development;IDE;
Terminal=false
StartupNotify=true

This file must be save in */usr/share/applications* as *.desktop* extension

I've attached the file as example.

Regards,
Mariano


pharo-1.4.desktop
Description: Binary data


Re: [Pharo-project] [Pharo-users] [squeak-dev] GSoC13: Google Summer of Code started, your ideas please!

2013-03-21 Thread Mariano Vicente
​Hi, my name is Mariano,i'm a student at University of Quilmes. i have a
experience in other programing languages like Scala, or Objective-c, and i
like to participate in a real Smaltalk project. My background  in this
tecnology, is a little small, i never make a real project (I do in other
tecnlogies) and i think the summer of code is a great oportunity for learn
and practice.

My ideas are:


Level: intermediate
Possible mentor: guillermo polito
Possible second mentor: (?)
Description: jabber client / server to communicate smaltalk with this
common protocol.
Technical Details: Create a jabber client api, to provide the capacity to
connect with accouts like google talk, or facebook chat.
Create a jabber api server, with the capacity of accept connection of
diferent jabber clients.
Benefits to the Student:
  - Learn
​​
​​
​ and understand ​
architecture
​​
server/client
  - Learn about the protocol jabber.
​
​
  - Use a highly reflective dynamic language​


Benefits to the Community:
  - Server and client for jabber protocol
  - Posible implementations for chatbots, chatclients, chatservers
​

And :

​Level: intermediate
Possible mentor: Guillermo Polito
Possible second mentor: (?)
Description: Animation Library based on Athens
Technical Details: Animation Library, to make visual animation objects in
the screen, such as move, bounce , etc.
Benefits to the Student:
  - Learn the basics of animations and moving objects.
  - Learn about manage of graphics
  - Understand the concepts of movement functions

Benefits to the Community:
  - Get a library to make custom animations with the posibility of add new
ones.



​


 ​Regards,
Mariano


On Wed, Mar 13, 2013 at 7:14 PM, Guillermo Polito guillermopol...@gmail.com
 wrote:

 And another one:

  Level: intermediate
  Possible mentor: Santiago Bragagnolo
  Possible second mentor: Guillermo Polito

  Description: Gamification is becoming more and more popular in a lot of
 applications. What about gamify the pharo development process? You get
 points by adding comments, fixing bugs or answering questions. You can be a
 comment healer, a bug slayer, a Zinc magician. The intend of this project
 is to build an application that integrates with the Pharo development
 process tools (issue tracker, smalltalkhub, stack overflow) and provides a
 gamified experience, so we get more and more motivated to code.

   Technical Details: This project implies the creation of an application
 which communicates with different applications APIs and perform some
 analysis on them such as running source code Lint rules. Additionally, this
 application should have a web frontend.


   Benefits to the Student
   - Use a highly reflective dynamic language
   - Learn to develop a complex application architecture with several
 communicating components
   - Learn about ramification concepts
   - Learn about an open source project development and integration
 process, such as Pharo
   - Learn web application development techniques

   Benefits to the Community
   - have a platform to organize activities and events around the Pharo
 development
   - be more motivated to participate into the development for rewards such
 as experience, badges and abilities


 On Wed, Mar 13, 2013 at 4:40 PM, Guillermo Polito 
 guillermopol...@gmail.com wrote:

 Hi Janko!

 We have this:

  Level: intermediate
  Possible mentor: Guillermo Polito

  Possible second mentor: Esteban Lorenzano

  Description: DBXTalk database driver nowadays uses a native library
 called OpenDBX. This library stands as an adaptor between different
 database drivers, implemented in C. This native library supposes many
 problems:
   - it should be normally compiled for each different platform (Windows,
 *nix, macosx) and database vendor
   - each of its bugs should be fixed in a C source code base
   - OpenDBX do not expose the particular behavior of each database
 vendor, but their common denominator
   - difficulty for distribution, and problems to locate libraries.
   This project proposes to use NativeBoost bindings to remove the
 necessity of the native openDBX library, simplifying the deployment of
 applications using relational databases, and moving all the code base to
 Smalltalk.

   Technical Details: This project supposes the replacement of openDBX old
 FFI bindings by direct nativeBoost bindings to the database drivers. The
 new drivers should be completely written in Smalltalk, and take care of
 platform and library resolution in the image side. These drivers should be
 polymorphic while also enabling the access to specific API provided by
 database vendors.

   Benefits to the Student
   - Use a highly reflective dynamic language
   - Learn the basics of foreign function interface (and its exponent
 NativeBoost)
   - Learn how to manage external resources and platform specific native
 code
   - Put into usage its object design skills to transform a structured
 designed library into an object oriented one

   Benefits to 

[Pharo-project] Fwd: [Pharo-users] [squeak-dev] GSoC13: Google Summer of Code started, your ideas please!

2013-03-21 Thread Mariano Vicente
​Hi, my name is Mariano,i'm a student at University of Quilmes. i have a
experience in other programing languages like Scala, or Objective-c, and i
like to participate in a real Smaltalk project. My background  in this
tecnology, is a little small, i never make a real project (I do in other
tecnlogies) and i think the summer of code is a great oportunity for learn
and practice.

My ideas are:


Level: intermediate
Possible mentor: guillermo polito
Possible second mentor: (?)
Description: jabber client / server to communicate smaltalk with this
common protocol.
Technical Details: Create a jabber client api, to provide the capacity to
connect with accouts like google talk, or facebook chat.
Create a jabber api server, with the capacity of accept connection of
diferent jabber clients.
Benefits to the Student:
  - Learn
​​
​​
​ and understand ​
architecture
​​
server/client
  - Learn about the protocol jabber.
​
​
  - Use a highly reflective dynamic language​


Benefits to the Community:
  - Server and client for jabber protocol
  - Posible implementations for chatbots, chatclients, chatservers
​

And :

​Level: intermediate
Possible mentor: Guillermo Polito
Possible second mentor: (?)
Description: Animation Library based on Athens
Technical Details: Animation Library, to make visual animation objects in
the screen, such as move, bounce , etc.
Benefits to the Student:
  - Learn the basics of animations and moving objects.
  - Learn about manage of graphics
  - Understand the concepts of movement functions

Benefits to the Community:
  - Get a library to make custom animations with the posibility of add new
ones.



 ​Regards,
Mariano


On Wed, Mar 13, 2013 at 7:14 PM, Guillermo Polito guillermopol...@gmail.com
 wrote:

 And another one:

  Level: intermediate
  Possible mentor: Santiago Bragagnolo
  Possible second mentor: Guillermo Polito

  Description: Gamification is becoming more and more popular in a lot of
 applications. What about gamify the pharo development process? You get
 points by adding comments, fixing bugs or answering questions. You can be a
 comment healer, a bug slayer, a Zinc magician. The intend of this project
 is to build an application that integrates with the Pharo development
 process tools (issue tracker, smalltalkhub, stack overflow) and provides a
 gamified experience, so we get more and more motivated to code.

   Technical Details: This project implies the creation of an application
 which communicates with different applications APIs and perform some
 analysis on them such as running source code Lint rules. Additionally, this
 application should have a web frontend.


   Benefits to the Student
   - Use a highly reflective dynamic language
   - Learn to develop a complex application architecture with several
 communicating components
   - Learn about ramification concepts
   - Learn about an open source project development and integration
 process, such as Pharo
   - Learn web application development techniques

   Benefits to the Community
   - have a platform to organize activities and events around the Pharo
 development
   - be more motivated to participate into the development for rewards such
 as experience, badges and abilities


 On Wed, Mar 13, 2013 at 4:40 PM, Guillermo Polito 
 guillermopol...@gmail.com wrote:

 Hi Janko!

 We have this:

  Level: intermediate
  Possible mentor: Guillermo Polito

  Possible second mentor: Esteban Lorenzano

  Description: DBXTalk database driver nowadays uses a native library
 called OpenDBX. This library stands as an adaptor between different
 database drivers, implemented in C. This native library supposes many
 problems:
   - it should be normally compiled for each different platform (Windows,
 *nix, macosx) and database vendor
   - each of its bugs should be fixed in a C source code base
   - OpenDBX do not expose the particular behavior of each database
 vendor, but their common denominator
   - difficulty for distribution, and problems to locate libraries.
   This project proposes to use NativeBoost bindings to remove the
 necessity of the native openDBX library, simplifying the deployment of
 applications using relational databases, and moving all the code base to
 Smalltalk.

   Technical Details: This project supposes the replacement of openDBX old
 FFI bindings by direct nativeBoost bindings to the database drivers. The
 new drivers should be completely written in Smalltalk, and take care of
 platform and library resolution in the image side. These drivers should be
 polymorphic while also enabling the access to specific API provided by
 database vendors.

   Benefits to the Student
   - Use a highly reflective dynamic language
   - Learn the basics of foreign function interface (and its exponent
 NativeBoost)
   - Learn how to manage external resources and platform specific native
 code
   - Put into usage its object design skills to transform a structured
 designed library into an object oriented one

   Benefits to the 

Re: [Pharo-project] [FYI] Athens tutorial

2013-04-26 Thread Mariano Vicente
Hi guys.  After install the Athen's tutorial, I have had some error in the
image:

*Segmentation fault Fri Apr 26 03:59:42 2013
*
There is a problem over the image or my vm?
​ ​
I added the full log in the attached,​

On Fri, Apr 12, 2013 at 4:53 AM, Tristan Bourgois 
tristan.bourg...@gmail.com wrote:




 2013/4/11 Igor Stasenko siguc...@gmail.com

 On 11 April 2013 10:44, Tristan Bourgois tristan.bourg...@gmail.com
 wrote:
 
 
 
  2013/4/11 Igor Stasenko siguc...@gmail.com
 
  On 11 April 2013 08:55, Tristan Bourgois tristan.bourg...@gmail.com
  wrote:
  
  
  
   2013/4/10 Igor Stasenko siguc...@gmail.com
  
  
  
   On 10 April 2013 09:14, Tristan Bourgois 
 tristan.bourg...@gmail.com
   wrote:
  
  
  
  
   2013/4/9 Igor Stasenko siguc...@gmail.com
  
   Yes, this is a known bug actually, which i demonstrated to
 audience
   during
   tutorial presentation..
   i/cairo miss the correct font matrix setup.. and i need to see
 what's
   there.
   Cairo caching the glyphs in a strange way (so if you never drawn
   anything with given font before and your first drawing will use
 some
   rotation
   then everything will be rendered correctly, but if you already
 drawn
   anything
   it will render them like you shown)..
   I'm going to fix that issue when i come back from Lviv.
  
  
   Super :)
  
   Did you also see the cairo_text_path() method? It's very
 interesting
   if
   you want to stroke the letter!
  
  
   Yes but this is more for fancy artistic text. For rendering large
   amounts
   of text (like big lists/source code) you don't want to do that,
   because it will be too slow.
  
  
   Thanks for the advice I will share it to my team because they want
   performance and use text_path  instead of show_text.
  
 
  yes, the freetype library (and i guess you using it) is highly
  optimized for font rendering.
  sure thing, cairo path rendering is fast as well, but it is not as
  specialized for just font rendering as freetype,
  therefore, i have no doubts that it will be slower.
 
 
 
 
  I only use Athens to rendering the graphics framework :) And I try to
 not
  use directly some AthensCairo object to benefit of futur new backend of
  Athens :) and sincerely you really make a good job of the Athens
 interface!
  It's very easy to use it! In one case I use AthensCairo object. I have
 to
  use AthensCairoMatrix instead of AthensAffineTransform to represent the
  transformation of a shape because I have to make an inversion of the
 matrix
  to make a global position to the local position of the shape.
 
 Ah, you mean this:

 AthensAffineTransforminverted
 answer an inverse transformation of receiver
 self notYetImplemented

 yes, someone has to implement it ;)


 If the weather is bad at Brest this week-end I will try to implement it :)
 (My last lesson of Matrix calculation is very old!)

  But actually you can just use #inverseTransform: aPoint

 i.e. if:

 pt := m transform: somePoint.

 then

 somePoint closeTo: (m inverseTransform: pt)  == true.

 (close to instead of #= because of float rounding errors)


 --
 Best regards,
 Igor Stasenko.




pharo VM version: 3.9-7 #1 Wed Mar 13 18:22:44 CET 2013 gcc 4.4.3
Built from: NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: 
a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
With: NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: 
a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013
Revision: git://gitorious.org/cogvm/blessed.git Commit: 
412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: 
Esteban Lorenzano esteba...@gmail.com Jenkins build #14535
Build host: Linux linux-ubuntu-10 2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 
11:26:59 UTC 2012 x86_64 GNU/Linux
plugin path: /home/vincent/Pharo/vm/ [default: /home/vincent/Pharo/vm/]


C stack backtrace:
/home/vincent/Pharo/vm/pharo[0x80a0c0c]
/home/vincent/Pharo/vm/pharo[0x80a0f28]
[0xf7793410]
/home/vincent/Pharo/vm/pharo[0x8120215]
/home/vincent/Pharo/vm/pharo[0x8091d8a]
/home/vincent/Pharo/vm/pharo[0x8092300]
/home/vincent/Pharo/vm/pharo[0x8092417]
[0xb7136a99]
/home/vincent/Pharo/vm/pharo(interpret+0x7a6)[0x8094f36]
/home/vincent/Pharo/vm/pharo(main+0x2b3)[0x80a18b3]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xf75964d3]


Smalltalk stack dump:
0xffa4237c M NBFFICallout class(NBNativeCodeGen class)retrySend: 0xb786b7b8: 
a(n) NBFFICallout class
0xffa40264 I AthensCairoSurfaceasForm 0xb83319c0: a(n) AthensCairoSurface
0xffa40288 I AthensViewMorphdrawOn: 0xb8304404: a(n) AthensViewMorph
0xffa402a4 M FormCanvas(Canvas)draw: 0xb87ddb50: a(n) FormCanvas
0xffa402c0 M FormCanvas(Canvas)drawMorph: 0xb87ddb50: a(n) FormCanvas
0xffa402e0 M [] in AthensViewMorph(Morph)fullDrawOn: 0xb8304404: a(n) 
AthensViewMorph
0xffa402f8 M FormCanvasroundCornersOf:in:during: 0xb87ddb50: a(n) FormCanvas
0xffa4031c M FormCanvas(Canvas)roundCornersOf:during: 0xb87ddb50: a(n) 
FormCanvas
0xffa40340 M [] in AthensViewMorph(Morph)fullDrawOn: 0xb8304404: a(n) 

Re: [Pharo-project] [FYI] Athens tutorial

2013-04-26 Thread Mariano Vicente
My apologies for the insufficient info.This happens after install the
tutorial, when i try to reopen the image
​ where i installed ahtens and the tutorial.​

Saludos,
Mariano


On Fri, Apr 26, 2013 at 7:29 AM, Igor Stasenko siguc...@gmail.com wrote:

 On 26 April 2013 09:07, Mariano Vicente m.vic...@gmail.com wrote:
  Hi guys.  After install the Athen's tutorial, I have had some error in
 the
  image:
 
  Segmentation fault Fri Apr 26 03:59:42 2013
 
  There is a problem over the image or my vm?
  I added the full log in the attached,
 
 hard to say.
 when/how it happens?

  On Fri, Apr 12, 2013 at 4:53 AM, Tristan Bourgois
  tristan.bourg...@gmail.com wrote:
 
 
 
 
  2013/4/11 Igor Stasenko siguc...@gmail.com
 
  On 11 April 2013 10:44, Tristan Bourgois tristan.bourg...@gmail.com
  wrote:
  
  
  
   2013/4/11 Igor Stasenko siguc...@gmail.com
  
   On 11 April 2013 08:55, Tristan Bourgois 
 tristan.bourg...@gmail.com
   wrote:
   
   
   
2013/4/10 Igor Stasenko siguc...@gmail.com
   
   
   
On 10 April 2013 09:14, Tristan Bourgois
tristan.bourg...@gmail.com
wrote:
   
   
   
   
2013/4/9 Igor Stasenko siguc...@gmail.com
   
Yes, this is a known bug actually, which i demonstrated to
audience
during
tutorial presentation..
i/cairo miss the correct font matrix setup.. and i need to see
what's
there.
Cairo caching the glyphs in a strange way (so if you never
 drawn
anything with given font before and your first drawing will use
some
rotation
then everything will be rendered correctly, but if you already
drawn
anything
it will render them like you shown)..
I'm going to fix that issue when i come back from Lviv.
   
   
Super :)
   
Did you also see the cairo_text_path() method? It's very
interesting
if
you want to stroke the letter!
   
   
Yes but this is more for fancy artistic text. For rendering large
amounts
of text (like big lists/source code) you don't want to do that,
because it will be too slow.
   
   
Thanks for the advice I will share it to my team because they want
performance and use text_path  instead of show_text.
   
  
   yes, the freetype library (and i guess you using it) is highly
   optimized for font rendering.
   sure thing, cairo path rendering is fast as well, but it is not as
   specialized for just font rendering as freetype,
   therefore, i have no doubts that it will be slower.
  
  
  
  
   I only use Athens to rendering the graphics framework :) And I try to
   not
   use directly some AthensCairo object to benefit of futur new backend
 of
   Athens :) and sincerely you really make a good job of the Athens
   interface!
   It's very easy to use it! In one case I use AthensCairo object. I
 have
   to
   use AthensCairoMatrix instead of AthensAffineTransform to represent
 the
   transformation of a shape because I have to make an inversion of the
   matrix
   to make a global position to the local position of the shape.
  
  Ah, you mean this:
 
  AthensAffineTransforminverted
  answer an inverse transformation of receiver
  self notYetImplemented
 
  yes, someone has to implement it ;)
 
 
  If the weather is bad at Brest this week-end I will try to implement it
 :)
  (My last lesson of Matrix calculation is very old!)
 
  But actually you can just use #inverseTransform: aPoint
 
  i.e. if:
 
  pt := m transform: somePoint.
 
  then
 
  somePoint closeTo: (m inverseTransform: pt)  == true.
 
  (close to instead of #= because of float rounding errors)
 
 
  --
  Best regards,
  Igor Stasenko.
 
 
 



 --
 Best regards,
 Igor Stasenko.




Re: [Pharo-project] [FYI] Athens tutorial

2013-04-28 Thread Mariano Vicente
On Fri, Apr 26, 2013 at 9:21 AM, Igor Stasenko siguc...@gmail.com wrote:

 i just committed new version , which now should work.
 (but you will still have an error if you try to use surface saved
 in previous session).
 so you need to create a new one before continuing.


​Yes, it works. Thank you.​
​​