[Pharo-project] Make arduino work on linux with cog vm
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
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.
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!
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!
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
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
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
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.