[Pharo-project] [FYI] Athens tutorial
Hello, there i prepared a small tutorial for Athens, which i did today at PharoConf. But the code i did can be reused by non-participants of conference :) Here the instructions. Download Pharo 2.0 wget -O - get.pharo.org | bash Run Pharo 2.0 ./pharo-ui Pharo.image In a workspace, evaluate (line after line) Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; configuration; load. ConfigurationOfAthens loadVersion: '2.0'. Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; package:'Athens-Tutorial'; load. AthensTutorial new openWithSpec. Took from here https://gist.github.com/SergeStinckwich/44ca34b54cde83b687a3 (just removed duplicates ;) Thanks, Serge for compiling it down ;) Once you load the code and have window open, skip step one (you already did it), and then just follow the steps by pressing doit button changing the code , pressing doit again , going forwards etc .. and playing with it. I put some comments there to serve as a small description/detail. Any feedback & help & contributions & improvements is welcome. P.S. if you get a DNU at step 30, enable Freetype in settings and try again. -- Best regards, Igor Stasenko.
Hi, Indeed, we just followed this tutorial at PharoConf, and it is well made. Thanks, Igor. Doru On Apr 4, 2013, at 2:07 AM, Igor Stasenko <siguctua@gmail.com> wrote:
Hello, there
i prepared a small tutorial for Athens, which i did today at PharoConf. But the code i did can be reused by non-participants of conference :)
Here the instructions.
Download Pharo 2.0
wget -O - get.pharo.org | bash
Run Pharo 2.0
./pharo-ui Pharo.image
In a workspace, evaluate (line after line)
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; configuration; load.
ConfigurationOfAthens loadVersion: '2.0'.
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; package:'Athens-Tutorial'; load.
AthensTutorial new openWithSpec.
Took from here https://gist.github.com/SergeStinckwich/44ca34b54cde83b687a3 (just removed duplicates ;)
Thanks, Serge for compiling it down ;)
Once you load the code and have window open, skip step one (you already did it), and then just follow the steps by pressing doit button changing the code , pressing doit again , going forwards etc .. and playing with it. I put some comments there to serve as a small description/detail.
Any feedback & help & contributions & improvements is welcome.
P.S. if you get a DNU at step 30, enable Freetype in settings and try again.
-- Best regards, Igor Stasenko.
-- www.tudorgirba.com "What is more important: To be happy, or to make happy?"
Igor Stasenko wrote
Any feedback & help & contributions & improvements is welcome.
Really nice :) That was my first time using the zero conf scripts... very slick :) And the tutorial was extremely clear and thorough. This active essay embodies the dynabook spirit. I added a "The end" page and a little edit to prevent stepping past the last page. No repo access, attaching to Nabble... Athens-Tutorial-SeanDeNigris.2.mcz <http://forum.world.st/file/n4679523/Athens-Tutorial-SeanDeNigris.2.mcz> ----- Cheers, Sean -- View this message in context: http://forum.world.st/FYI-Athens-tutorial-tp4679512p4679523.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
On 4 April 2013 03:44, Sean P. DeNigris <sean@clipperadams.com> wrote:
Igor Stasenko wrote
Any feedback & help & contributions & improvements is welcome.
Really nice :) That was my first time using the zero conf scripts... very slick :) And the tutorial was extremely clear and thorough. This active essay embodies the dynabook spirit.
I added a "The end" page and a little edit to prevent stepping past the last page. No repo access, attaching to Nabble... Athens-Tutorial-SeanDeNigris.2.mcz <http://forum.world.st/file/n4679523/Athens-Tutorial-SeanDeNigris.2.mcz>
you are in the Pharo team: http://www.smalltalkhub.com/#!/~Pharo so you should be able to commit into any project which under this team umbrella. Please try again, and if you fail, i will copy the file manually.
----- Cheers, Sean -- View this message in context: http://forum.world.st/FYI-Athens-tutorial-tp4679512p4679523.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
-- Best regards, Igor Stasenko.
Igor Stasenko wrote
you are in the Pharo team: ... so you should be able to commit into any project which under this team umbrella. Please try again, and if you fail, i will copy the file manually.
My bad, my login script had a bug. The file is uploaded :) ----- Cheers, Sean -- View this message in context: http://forum.world.st/FYI-Athens-tutorial-tp4679512p4680037.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
On Thu, Apr 4, 2013 at 2:07 AM, Igor Stasenko <siguctua@gmail.com> wrote:
Hello, there
i prepared a small tutorial for Athens, which i did today at PharoConf. But the code i did can be reused by non-participants of conference :)
Here the instructions.
Download Pharo 2.0
wget -O - get.pharo.org | bash
Run Pharo 2.0
./pharo-ui Pharo.image
In a workspace, evaluate (line after line)
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; configuration; load.
ConfigurationOfAthens loadVersion: '2.0'.
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; package:'Athens-Tutorial'; load.
AthensTutorial new openWithSpec.
Took from here https://gist.github.com/SergeStinckwich/44ca34b54cde83b687a3 (just removed duplicates ;)
Thanks, Serge for compiling it down ;)
Yes, there was some duplication. I made some modifications ;-) Thank you Igor for the terrific demo. Regards, -- Serge Stinckwich UCBN & UMI UMMISCO 209 (IRD/UPMC) Every DSL ends up being Smalltalk http://doesnotunderstand.org/
Hello, I am on Ubuntu 12.10 32bit. I have followed the directions below for the Tutorial. After the bash script completed it gave me these instructions. Please install the 32bit libraries sudo aptitude install ia32-libs I typed the above into the terminal and was told that I do not have "aptitude" installed. I changed "aptitude" to "apt-get" and then was instructed that I do not have ia32-libs. I went to the Ubuntu Software Center. What is on Ubuntu 12.10 is ia32-libs-multiarch. sudo apt-get install ia32-libs-multiarch works. I then open the image and proceed with loading the code and the tutorial. I skip page 1 and "doit" on page 2 and I get this error. Error: failed to get a symbol address: cairo_image_surface_create As far as I can tell, I have Cairo installed on my system. I have libcairo2. I don't know if I am missing something or what I need to do. I haven't successfully done anything that I am explicitly aware that used NB that has worked on this system. I have just a standard Ubuntu 12.10 32bit install. I have the build-essential libraries. Just wanted to provide some input. Let me know if there is something I need to install or what I can do to help. Jimmie On 04/03/2013 07:07 PM, Igor Stasenko wrote:
Hello, there
i prepared a small tutorial for Athens, which i did today at PharoConf. But the code i did can be reused by non-participants of conference :)
Here the instructions.
Download Pharo 2.0
wget -O - get.pharo.org | bash
Run Pharo 2.0
./pharo-ui Pharo.image
In a workspace, evaluate (line after line)
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; configuration; load.
ConfigurationOfAthens loadVersion: '2.0'.
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; package:'Athens-Tutorial'; load.
AthensTutorial new openWithSpec.
Took from here https://gist.github.com/SergeStinckwich/44ca34b54cde83b687a3 (just removed duplicates ;)
Thanks, Serge for compiling it down ;)
Once you load the code and have window open, skip step one (you already did it), and then just follow the steps by pressing doit button changing the code , pressing doit again , going forwards etc .. and playing with it. I put some comments there to serve as a small description/detail.
Any feedback & help & contributions & improvements is welcome.
P.S. if you get a DNU at step 30, enable Freetype in settings and try again.
aptitude is old (some kind outdated) and I have had several problems with it. we should always recommend to use apt-get instead :) Esteban On Apr 4, 2013, at 5:38 PM, Jimmie Houchin <jlhouchin@gmail.com> wrote:
Hello,
I am on Ubuntu 12.10 32bit.
I have followed the directions below for the Tutorial.
After the bash script completed it gave me these instructions.
Please install the 32bit libraries sudo aptitude install ia32-libs
I typed the above into the terminal and was told that I do not have "aptitude" installed.
I changed "aptitude" to "apt-get" and then was instructed that I do not have ia32-libs. I went to the Ubuntu Software Center. What is on Ubuntu 12.10 is ia32-libs-multiarch.
sudo apt-get install ia32-libs-multiarch works.
I then open the image and proceed with loading the code and the tutorial.
I skip page 1 and "doit" on page 2 and I get this error.
Error: failed to get a symbol address: cairo_image_surface_create
As far as I can tell, I have Cairo installed on my system. I have libcairo2.
I don't know if I am missing something or what I need to do. I haven't successfully done anything that I am explicitly aware that used NB that has worked on this system.
I have just a standard Ubuntu 12.10 32bit install. I have the build-essential libraries.
Just wanted to provide some input.
Let me know if there is something I need to install or what I can do to help.
Jimmie
On 04/03/2013 07:07 PM, Igor Stasenko wrote:
Hello, there
i prepared a small tutorial for Athens, which i did today at PharoConf. But the code i did can be reused by non-participants of conference :)
Here the instructions.
Download Pharo 2.0
wget -O - get.pharo.org | bash
Run Pharo 2.0
./pharo-ui Pharo.image
In a workspace, evaluate (line after line)
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; configuration; load.
ConfigurationOfAthens loadVersion: '2.0'.
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; package:'Athens-Tutorial'; load.
AthensTutorial new openWithSpec.
Took from here https://gist.github.com/SergeStinckwich/44ca34b54cde83b687a3 (just removed duplicates ;)
Thanks, Serge for compiling it down ;)
Once you load the code and have window open, skip step one (you already did it), and then just follow the steps by pressing doit button changing the code , pressing doit again , going forwards etc .. and playing with it. I put some comments there to serve as a small description/detail.
Any feedback & help & contributions & improvements is welcome.
P.S. if you get a DNU at step 30, enable Freetype in settings and try again.
On 4 April 2013 17:38, Jimmie Houchin <jlhouchin@gmail.com> wrote:
Hello,
I am on Ubuntu 12.10 32bit.
I have followed the directions below for the Tutorial.
After the bash script completed it gave me these instructions.
Please install the 32bit libraries sudo aptitude install ia32-libs
I typed the above into the terminal and was told that I do not have "aptitude" installed.
I changed "aptitude" to "apt-get" and then was instructed that I do not have ia32-libs. I went to the Ubuntu Software Center. What is on Ubuntu 12.10 is ia32-libs-multiarch.
sudo apt-get install ia32-libs-multiarch works.
I then open the image and proceed with loading the code and the tutorial.
I skip page 1 and "doit" on page 2 and I get this error.
Error: failed to get a symbol address: cairo_image_surface_create
As far as I can tell, I have Cairo installed on my system. I have libcairo2.
check if path to the library is correct for your OS in CairoLibraryLoader class.
I don't know if I am missing something or what I need to do. I haven't successfully done anything that I am explicitly aware that used NB that has worked on this system.
I have just a standard Ubuntu 12.10 32bit install. I have the build-essential libraries.
Just wanted to provide some input.
Let me know if there is something I need to install or what I can do to help.
Jimmie
On 04/03/2013 07:07 PM, Igor Stasenko wrote:
Hello, there
i prepared a small tutorial for Athens, which i did today at PharoConf. But the code i did can be reused by non-participants of conference :)
Here the instructions.
Download Pharo 2.0
wget -O - get.pharo.org | bash
Run Pharo 2.0
./pharo-ui Pharo.image
In a workspace, evaluate (line after line)
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; configuration; load.
ConfigurationOfAthens loadVersion: '2.0'.
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; package:'Athens-Tutorial'; load.
AthensTutorial new openWithSpec.
Took from here https://gist.github.com/SergeStinckwich/44ca34b54cde83b687a3 (just removed duplicates ;)
Thanks, Serge for compiling it down ;)
Once you load the code and have window open, skip step one (you already did it), and then just follow the steps by pressing doit button changing the code , pressing doit again , going forwards etc .. and playing with it. I put some comments there to serve as a small description/detail.
Any feedback & help & contributions & improvements is welcome.
P.S. if you get a DNU at step 30, enable Freetype in settings and try again.
-- Best regards, Igor Stasenko.
On 04/04/2013 11:34 AM, Igor Stasenko wrote:
On 4 April 2013 17:38, Jimmie Houchin <jlhouchin@gmail.com> wrote:
Hello,
I am on Ubuntu 12.10 32bit.
... SNIP ... I then open the image and proceed with loading the code and the tutorial.
I skip page 1 and "doit" on page 2 and I get this error.
Error: failed to get a symbol address: cairo_image_surface_create
As far as I can tell, I have Cairo installed on my system. I have libcairo2. check if path to the library is correct for your OS in CairoLibraryLoader class. Thanks, that was the problem.
On Ubuntu 12.10, I don't have a libcairo.so, but rather a libcairo.so.2 in /usr/lib/i386-linux-gnu. I created the link /usr/lib/libcairo.so as expected by Pharo, and it works. Now, when I get to screen 30, I enabled FreeType as instructed but I am getting an error MNU: StrikeFont>>glyphRenderOn: Thanks again. Jimmie
Same error here on OSX. I guess it is because we need to use the FreeType fonts instead of the default StrikeFonts. 2013/4/4 Jimmie Houchin <jlhouchin@gmail.com>
On 04/04/2013 11:34 AM, Igor Stasenko wrote:
On 4 April 2013 17:38, Jimmie Houchin <jlhouchin@gmail.com> wrote:
Hello,
I am on Ubuntu 12.10 32bit.
... SNIP ... I then open the image and proceed with loading the code and the tutorial.
I skip page 1 and "doit" on page 2 and I get this error.
Error: failed to get a symbol address: cairo_image_surface_create
As far as I can tell, I have Cairo installed on my system. I have libcairo2.
check if path to the library is correct for your OS in CairoLibraryLoader class.
Thanks, that was the problem.
On Ubuntu 12.10, I don't have a libcairo.so, but rather a libcairo.so.2 in /usr/lib/i386-linux-gnu.
I created the link /usr/lib/libcairo.so as expected by Pharo, and it works.
Now, when I get to screen 30, I enabled FreeType as instructed but I am getting an error MNU: StrikeFont>>glyphRenderOn:
Thanks again.
Jimmie
I had already enabled Freetype as instructed in the email. So I went ahead and then changed the StandardFont to FreeSans 9 and did Force all. Still did not work. I saved and quit. Restarted and tried again and it worked. I don't know if FreeSans is the best font choice or not, just simply the one that I tried. Jimmie On 04/04/2013 12:33 PM, phil@highoctane.be wrote:
Same error here on OSX. I guess it is because we need to use the FreeType fonts instead of the default StrikeFonts.
2013/4/4 Jimmie Houchin <jlhouchin@gmail.com <mailto:jlhouchin@gmail.com>>
On 04/04/2013 11:34 AM, Igor Stasenko wrote:
On 4 April 2013 17:38, Jimmie Houchin <jlhouchin@gmail.com <mailto:jlhouchin@gmail.com>> wrote:
Hello,
I am on Ubuntu 12.10 32bit.
... SNIP ... I then open the image and proceed with loading the code and the tutorial.
I skip page 1 and "doit" on page 2 and I get this error.
Error: failed to get a symbol address: cairo_image_surface_create
As far as I can tell, I have Cairo installed on my system. I have libcairo2.
check if path to the library is correct for your OS in CairoLibraryLoader class.
Thanks, that was the problem.
On Ubuntu 12.10, I don't have a libcairo.so, but rather a libcairo.so.2 in /usr/lib/i386-linux-gnu.
I created the link /usr/lib/libcairo.so as expected by Pharo, and it works.
Now, when I get to screen 30, I enabled FreeType as instructed but I am getting an error MNU: StrikeFont>>glyphRenderOn:
Thanks again.
Jimmie
On 4 April 2013 19:33, phil@highoctane.be <phil@highoctane.be> wrote:
Same error here on OSX. I guess it is because we need to use the FreeType fonts instead of the default StrikeFonts.
Yes, Athens does not supports StrikeFont(s). Because they are not scalable and more than that, they using precomputed subpixel bitmaps, which assuming that your font will always match the pixel grid, which in case of scaling/rotating of course will not.
2013/4/4 Jimmie Houchin <jlhouchin@gmail.com>
On 04/04/2013 11:34 AM, Igor Stasenko wrote:
On 4 April 2013 17:38, Jimmie Houchin <jlhouchin@gmail.com> wrote:
Hello,
I am on Ubuntu 12.10 32bit.
... SNIP ... I then open the image and proceed with loading the code and the tutorial.
I skip page 1 and "doit" on page 2 and I get this error.
Error: failed to get a symbol address: cairo_image_surface_create
As far as I can tell, I have Cairo installed on my system. I have libcairo2.
check if path to the library is correct for your OS in CairoLibraryLoader class.
Thanks, that was the problem.
On Ubuntu 12.10, I don't have a libcairo.so, but rather a libcairo.so.2 in /usr/lib/i386-linux-gnu.
I created the link /usr/lib/libcairo.so as expected by Pharo, and it works.
Now, when I get to screen 30, I enabled FreeType as instructed but I am getting an error MNU: StrikeFont>>glyphRenderOn:
Thanks again.
Jimmie
-- Best regards, Igor Stasenko.
Really cool! Works well! How far are we from bootstrapping? Alexandre On Apr 3, 2013, at 8:07 PM, Igor Stasenko <siguctua@gmail.com> wrote:
Hello, there
i prepared a small tutorial for Athens, which i did today at PharoConf. But the code i did can be reused by non-participants of conference :)
Here the instructions.
Download Pharo 2.0
wget -O - get.pharo.org | bash
Run Pharo 2.0
./pharo-ui Pharo.image
In a workspace, evaluate (line after line)
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; configuration; load.
ConfigurationOfAthens loadVersion: '2.0'.
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; package:'Athens-Tutorial'; load.
AthensTutorial new openWithSpec.
Took from here https://gist.github.com/SergeStinckwich/44ca34b54cde83b687a3 (just removed duplicates ;)
Thanks, Serge for compiling it down ;)
Once you load the code and have window open, skip step one (you already did it), and then just follow the steps by pressing doit button changing the code , pressing doit again , going forwards etc .. and playing with it. I put some comments there to serve as a small description/detail.
Any feedback & help & contributions & improvements is welcome.
P.S. if you get a DNU at step 30, enable Freetype in settings and try again.
-- Best regards, Igor Stasenko.
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Alex you can use it for real in roassal For the bootstrap - connection with TextMorph - reimplement all the drawOn: method stef On Apr 7, 2013, at 5:37 AM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Really cool! Works well!
How far are we from bootstrapping?
Alexandre
On Apr 3, 2013, at 8:07 PM, Igor Stasenko <siguctua@gmail.com> wrote:
Hello, there
i prepared a small tutorial for Athens, which i did today at PharoConf. But the code i did can be reused by non-participants of conference :)
Here the instructions.
Download Pharo 2.0
wget -O - get.pharo.org | bash
Run Pharo 2.0
./pharo-ui Pharo.image
In a workspace, evaluate (line after line)
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; configuration; load.
ConfigurationOfAthens loadVersion: '2.0'.
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; package:'Athens-Tutorial'; load.
AthensTutorial new openWithSpec.
Took from here https://gist.github.com/SergeStinckwich/44ca34b54cde83b687a3 (just removed duplicates ;)
Thanks, Serge for compiling it down ;)
Once you load the code and have window open, skip step one (you already did it), and then just follow the steps by pressing doit button changing the code , pressing doit again , going forwards etc .. and playing with it. I put some comments there to serve as a small description/detail.
Any feedback & help & contributions & improvements is welcome.
P.S. if you get a DNU at step 30, enable Freetype in settings and try again.
-- Best regards, Igor Stasenko.
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Igor Stasenko wrote
i prepared a small tutorial for Athens, which i did today at PharoConf. But the code i did can be reused by non-participants of conference :)
Any feedback & help & contributions & improvements is welcome.
Very Cool, thank you! -- View this message in context: http://forum.world.st/FYI-Athens-tutorial-tp4679512p4680053.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
Very cool tutorial :) I show it at my works and they are impressed of the readability of Athens! Juste a remark about the text. I try to rotate the text and (I d'ont know if it's the good behavior). All the text rotate but the letter not. [image: Images intégrées 1] Tristan 2013/4/4 Igor Stasenko <siguctua@gmail.com>
Hello, there
i prepared a small tutorial for Athens, which i did today at PharoConf. But the code i did can be reused by non-participants of conference :)
Here the instructions.
Download Pharo 2.0
wget -O - get.pharo.org | bash
Run Pharo 2.0
./pharo-ui Pharo.image
In a workspace, evaluate (line after line)
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; configuration; load.
ConfigurationOfAthens loadVersion: '2.0'.
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; package:'Athens-Tutorial'; load.
AthensTutorial new openWithSpec.
Took from here https://gist.github.com/SergeStinckwich/44ca34b54cde83b687a3 (just removed duplicates ;)
Thanks, Serge for compiling it down ;)
Once you load the code and have window open, skip step one (you already did it), and then just follow the steps by pressing doit button changing the code , pressing doit again , going forwards etc .. and playing with it. I put some comments there to serve as a small description/detail.
Any feedback & help & contributions & improvements is welcome.
P.S. if you get a DNU at step 30, enable Freetype in settings and try again.
-- Best regards, Igor Stasenko.
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. On 9 April 2013 15:04, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
Very cool tutorial :)
I show it at my works and they are impressed of the readability of Athens!
Juste a remark about the text. I try to rotate the text and (I d'ont know if it's the good behavior). All the text rotate but the letter not.
[image: Images intégrées 1]
Tristan
2013/4/4 Igor Stasenko <siguctua@gmail.com>
Hello, there
i prepared a small tutorial for Athens, which i did today at PharoConf. But the code i did can be reused by non-participants of conference :)
Here the instructions.
Download Pharo 2.0
wget -O - get.pharo.org | bash
Run Pharo 2.0
./pharo-ui Pharo.image
In a workspace, evaluate (line after line)
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; configuration; load.
ConfigurationOfAthens loadVersion: '2.0'.
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; package:'Athens-Tutorial'; load.
AthensTutorial new openWithSpec.
Took from here https://gist.github.com/SergeStinckwich/44ca34b54cde83b687a3 (just removed duplicates ;)
Thanks, Serge for compiling it down ;)
Once you load the code and have window open, skip step one (you already did it), and then just follow the steps by pressing doit button changing the code , pressing doit again , going forwards etc .. and playing with it. I put some comments there to serve as a small description/detail.
Any feedback & help & contributions & improvements is welcome.
P.S. if you get a DNU at step 30, enable Freetype in settings and try again.
-- Best regards, Igor Stasenko.
-- Best regards, Igor Stasenko.
2013/4/9 Igor Stasenko <siguctua@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!
On 9 April 2013 15:04, Tristan Bourgois <tristan.bourgois@gmail.com>wrote:
Very cool tutorial :)
I show it at my works and they are impressed of the readability of Athens!
Juste a remark about the text. I try to rotate the text and (I d'ont know if it's the good behavior). All the text rotate but the letter not.
[image: Images intégrées 1]
Tristan
2013/4/4 Igor Stasenko <siguctua@gmail.com>
Hello, there
i prepared a small tutorial for Athens, which i did today at PharoConf. But the code i did can be reused by non-participants of conference :)
Here the instructions.
Download Pharo 2.0
wget -O - get.pharo.org | bash
Run Pharo 2.0
./pharo-ui Pharo.image
In a workspace, evaluate (line after line)
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; configuration; load.
ConfigurationOfAthens loadVersion: '2.0'.
Gofer it smalltalkhubUser: 'Pharo' project: 'Athens'; package:'Athens-Tutorial'; load.
AthensTutorial new openWithSpec.
Took from here https://gist.github.com/SergeStinckwich/44ca34b54cde83b687a3 (just removed duplicates ;)
Thanks, Serge for compiling it down ;)
Once you load the code and have window open, skip step one (you already did it), and then just follow the steps by pressing doit button changing the code , pressing doit again , going forwards etc .. and playing with it. I put some comments there to serve as a small description/detail.
Any feedback & help & contributions & improvements is welcome.
P.S. if you get a DNU at step 30, enable Freetype in settings and try again.
-- Best regards, Igor Stasenko.
-- Best regards, Igor Stasenko.
On 10 April 2013 09:14, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/9 Igor Stasenko <siguctua@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.
--
Best regards, Igor Stasenko.
-- Best regards, Igor Stasenko.
2013/4/10 Igor Stasenko <siguctua@gmail.com>
On 10 April 2013 09:14, Tristan Bourgois <tristan.bourgois@gmail.com>wrote:
2013/4/9 Igor Stasenko <siguctua@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. --
Best regards, Igor Stasenko.
-- Best regards, Igor Stasenko.
On 11 April 2013 08:55, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/10 Igor Stasenko <siguctua@gmail.com>
On 10 April 2013 09:14, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/9 Igor Stasenko <siguctua@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.
-- Best regards, Igor Stasenko.
-- Best regards, Igor Stasenko.
-- Best regards, Igor Stasenko.
2013/4/11 Igor Stasenko <siguctua@gmail.com>
On 11 April 2013 08:55, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/10 Igor Stasenko <siguctua@gmail.com>
On 10 April 2013 09:14, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/9 Igor Stasenko <siguctua@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.
--
Best regards, Igor Stasenko.
-- Best regards, Igor Stasenko.
-- Best regards, Igor Stasenko.
On 11 April 2013 10:44, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/11 Igor Stasenko <siguctua@gmail.com>
On 11 April 2013 08:55, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/10 Igor Stasenko <siguctua@gmail.com>
On 10 April 2013 09:14, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/9 Igor Stasenko <siguctua@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: AthensAffineTransform>>inverted "answer an inverse transformation of receiver" self notYetImplemented yes, someone has to implement it ;) 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.
2013/4/11 Igor Stasenko <siguctua@gmail.com>
On 11 April 2013 10:44, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/11 Igor Stasenko <siguctua@gmail.com>
On 11 April 2013 08:55, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/10 Igor Stasenko <siguctua@gmail.com>
On 10 April 2013 09:14, Tristan Bourgois <tristan.bourgois@gmail.com
wrote:
2013/4/9 Igor Stasenko <siguctua@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:
AthensAffineTransform>>inverted "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.
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.bourgois@gmail.com> wrote:
2013/4/11 Igor Stasenko <siguctua@gmail.com>
On 11 April 2013 10:44, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/11 Igor Stasenko <siguctua@gmail.com>
On 11 April 2013 08:55, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/10 Igor Stasenko <siguctua@gmail.com>
On 10 April 2013 09:14, Tristan Bourgois <
tristan.bourgois@gmail.com>
wrote:
2013/4/9 Igor Stasenko <siguctua@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:
AthensAffineTransform>>inverted "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.
On 26 April 2013 09:07, Mariano Vicente <m.vicent@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.bourgois@gmail.com> wrote:
2013/4/11 Igor Stasenko <siguctua@gmail.com>
On 11 April 2013 10:44, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/11 Igor Stasenko <siguctua@gmail.com>
On 11 April 2013 08:55, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/10 Igor Stasenko <siguctua@gmail.com>
On 10 April 2013 09:14, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/9 Igor Stasenko <siguctua@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:
AthensAffineTransform>>inverted "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.
ââââ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 <siguctua@gmail.com> wrote:
On 26 April 2013 09:07, Mariano Vicente <m.vicent@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.bourgois@gmail.com> wrote:
2013/4/11 Igor Stasenko <siguctua@gmail.com>
On 11 April 2013 10:44, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/11 Igor Stasenko <siguctua@gmail.com>
On 11 April 2013 08:55, Tristan Bourgois <
tristan.bourgois@gmail.com>
wrote:
2013/4/10 Igor Stasenko <siguctua@gmail.com>
On 10 April 2013 09:14, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/9 Igor Stasenko <siguctua@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:
AthensAffineTransform>>inverted "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.
On 26 April 2013 12:42, Mariano Vicente <m.vicent@gmail.com> wrote:
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.
ah, ok. you seem also did the same thing: saved image with tutorial window open :) Btw, this should be fixed in newer version of tutorial. What package version you loaded?
Saludos, Mariano
-- Best regards, Igor Stasenko.
On 26 April 2013 12:47, Igor Stasenko <siguctua@gmail.com> wrote:
On 26 April 2013 12:42, Mariano Vicente <m.vicent@gmail.com> wrote:
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.
ah, ok. you seem also did the same thing: saved image with tutorial window open :)
Btw, this should be fixed in newer version of tutorial. What package version you loaded?
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.
Saludos, Mariano
-- Best regards, Igor Stasenko.
-- Best regards, Igor Stasenko.
On Fri, Apr 26, 2013 at 9:21 AM, Igor Stasenko <siguctua@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.â ââ
participants (12)
-
Alexandre Bergel -
Esteban Lorenzano -
Igor Stasenko -
Jimmie Houchin -
Mariano Vicente -
MartinW -
phil@highoctane.be -
Sean P. DeNigris -
Serge Stinckwich -
stephane ducasse -
Tristan Bourgois -
Tudor Girba