FromSqueak to Visual Works, from StrongTalk to GNU Smalltalk, i finally discovered a good smalltalk implementation: Little Smalltalk.
In the previous post i talked about GNU Smalltalk and why it matters, but it's still unstable, it works only on Unix and it's slow.
Also i stopped working on SqueakGtk due to various reasons.
Visual Works is not open and the non commercial version is just for educative purposes.
I dislike StrongTalk even if it's a nice idea.
So, what's next? I tried to create a Smalltalk by my own, the VM is still ready, it works but it needs still some optimizations and hacks to be more stable. When i decided to exploit some of the basic virtual machines on the net, i found the project Little Smalltalk alive... just a reading on the about page, a test on a Windows machine, and i realized this project is just what i tried to make since several months.
Conclusion? Little Smalltalk has a strong base, it's very portable especially its GUI (IUP) and it's at the beginning... it needs help and i guess this version could increase its importance and become a mainstream only if being supported.
Just what Smalltalk wants to be...
Thursday, May 03, 2007
Wednesday, May 02, 2007
SqueakGtk again here
Hello,
after many months of inactivity, i'm going to restart working on SqueakGtk.
For anyone who wants to give a contribute, please contact me at lethalman88 at gmail dot com.
Bye.
after many months of inactivity, i'm going to restart working on SqueakGtk.
For anyone who wants to give a contribute, please contact me at lethalman88 at gmail dot com.
Bye.
Sunday, April 15, 2007
Opera 9.2 Speed Dial
Hi, i've updated my Opera browser. I would just say speed dial is amazing.
It's the most useful caching system i've seen ever. You can set up to 9 web sites to be cached and updated regurarly: the result is an incredible speed boost on that sites.
I would want to say something against Gecko forces: i see Firefox, Thunderbird and the other gecko-based applications too heavy and less powerful/featureful than Opera.
Ok, they have extensions, but the extensions they have are handled in Opera in a better and lighter way. Also, Opera introduced widgets, just a beginning toward plugging the browser.
Firefox and Thunderbird are about 30mb of download, Opera just 6 mb, and this is important for my 56k for upgrades.
Gecko is open source, Opera's not... maybe this is the main reason why Opera is less used than Gecko: "i want only open source software because i want open source". For who's using Gecko, compliments for the choice, i guess you got so much computer resources in order to use it :) .
It's the most useful caching system i've seen ever. You can set up to 9 web sites to be cached and updated regurarly: the result is an incredible speed boost on that sites.
I would want to say something against Gecko forces: i see Firefox, Thunderbird and the other gecko-based applications too heavy and less powerful/featureful than Opera.
Ok, they have extensions, but the extensions they have are handled in Opera in a better and lighter way. Also, Opera introduced widgets, just a beginning toward plugging the browser.
Firefox and Thunderbird are about 30mb of download, Opera just 6 mb, and this is important for my 56k for upgrades.
Gecko is open source, Opera's not... maybe this is the main reason why Opera is less used than Gecko: "i want only open source software because i want open source". For who's using Gecko, compliments for the choice, i guess you got so much computer resources in order to use it :) .
Sunday, February 04, 2007
Java IS the IDE
I read a post about Java and what developers think about its possible future extensions: Why is everything a language extension? So why is everything an IDE?
IDE, IDE, IDE... why are you all Java programmers concentrated on the IDE power? I really can't accept this concept. What this means? This means that Java can be boring on many tasks... what about writing Java GUI and other things without an IDE? Yes, the first reason why i left Java programming is just this: you need an IDE that saves you from the code.
Why is it hard to understand that Java is the only language that needs so much IDE support instead of writing plain code? I'm a Smalltalker/Pythonian but take the closer language to Java: C++ doesn't need as any "magic" stuff as Java does trough IDEs.
Please, let Java become simpler since i have to study it by force against my will.
IDE, IDE, IDE... why are you all Java programmers concentrated on the IDE power? I really can't accept this concept. What this means? This means that Java can be boring on many tasks... what about writing Java GUI and other things without an IDE? Yes, the first reason why i left Java programming is just this: you need an IDE that saves you from the code.
Why is it hard to understand that Java is the only language that needs so much IDE support instead of writing plain code? I'm a Smalltalker/Pythonian but take the closer language to Java: C++ doesn't need as any "magic" stuff as Java does trough IDEs.
Please, let Java become simpler since i have to study it by force against my will.
Sunday, January 28, 2007
Qt and PostgreSQL on Windows
Hello,
in this period i'm creating a simple application with Qt/C++ and Postgres, but i got the usual error "Driver not loaded" when opening the database. This means the qsqlpsql sql driver can't be loaded.
First of all, you may need to compile the driver, this can be done by reading the Qt documentation on how to install sql drivers on windows. After i've done that, the error was the same: Driver not loaded.
The solution is simple, just put these files in the directory where your executable is:
- mingwm10.dll (for who's using MingW)
Ordinary Qt dependencies (found in the bin directory of Qt):
- QtCore4.dll
- QtGui4.dll
- QtSql4.dll
PostgreSQL dependencies (found in the bin directory of PostgreSQL):
- krb5_32.dll
- libeay32.dll
- libiconv-2.dll
- libintl-2.dll
- libpq.dll
- ssleay32.dll
Other dependencies that you maybe should download from internet:
- efsadu.dll
- msjava.dll
After that, your directory should contain the above DLLs with the executable file.
The next step is to create a directory named sqldrivers in the same directory and copy into qsqlpsql.dll from %QTDIR%/plugins/sqldrivers.
Now run your application and everything should work correctly.
In all mailing list i've seen that they needed to recompile Qt with qsqlpsql statically linked, but i adopted this other solution which is more suitable.
Bye.
in this period i'm creating a simple application with Qt/C++ and Postgres, but i got the usual error "Driver not loaded" when opening the database. This means the qsqlpsql sql driver can't be loaded.
First of all, you may need to compile the driver, this can be done by reading the Qt documentation on how to install sql drivers on windows. After i've done that, the error was the same: Driver not loaded.
The solution is simple, just put these files in the directory where your executable is:
- mingwm10.dll (for who's using MingW)
Ordinary Qt dependencies (found in the bin directory of Qt):
- QtCore4.dll
- QtGui4.dll
- QtSql4.dll
PostgreSQL dependencies (found in the bin directory of PostgreSQL):
- krb5_32.dll
- libeay32.dll
- libiconv-2.dll
- libintl-2.dll
- libpq.dll
- ssleay32.dll
Other dependencies that you maybe should download from internet:
- efsadu.dll
- msjava.dll
After that, your directory should contain the above DLLs with the executable file.
The next step is to create a directory named sqldrivers in the same directory and copy into qsqlpsql.dll from %QTDIR%/plugins/sqldrivers.
Now run your application and everything should work correctly.
In all mailing list i've seen that they needed to recompile Qt with qsqlpsql statically linked, but i adopted this other solution which is more suitable.
Bye.
Monday, November 27, 2006
A new experimental Smalltalk version
Hello Smalltalkers,
i've been experimenting a Smalltalk VM made in Python these days. Yes, it works fine but it's extremely slow of course.
It's just an experiment; i will publish the code soon tough.
Right now, i'm creating another simple Smalltalk implementation written in C on top of Glib.
It's inspired by PDST (lexer and parser) and GNU Smalltalk (scripting and Smalltalk code).
The VM is really weird, it doesn't completely follow the Blue Book, but it works fine.
Currently it's just an experiment of mine to gain a better knowledge of Smalltalk and its internals, but i would hope to give a future to this project.
Syx (Smalltalk YX) aims to have a very simple and flexible code, to be multiplatform and possibly bug-free.
i've been experimenting a Smalltalk VM made in Python these days. Yes, it works fine but it's extremely slow of course.
It's just an experiment; i will publish the code soon tough.
Right now, i'm creating another simple Smalltalk implementation written in C on top of Glib.
It's inspired by PDST (lexer and parser) and GNU Smalltalk (scripting and Smalltalk code).
The VM is really weird, it doesn't completely follow the Blue Book, but it works fine.
Currently it's just an experiment of mine to gain a better knowledge of Smalltalk and its internals, but i would hope to give a future to this project.
Syx (Smalltalk YX) aims to have a very simple and flexible code, to be multiplatform and possibly bug-free.
Saturday, September 30, 2006
GNU Smalltalk matters
Hello,
i've developed several personal applications on Smalltalk Squeak, the latest project is SqueakGtk.
Smalltalk Squeak is, in my opinion, the most important open source implementation of Smalltalk, therefore it got many libraries and community support.
However, it's still unused and unspported: for example it's not included into Linux distributions. Personally because:
GNU Smalltalk, on the other hand, gained many features that could bring it to be the most important and used Smalltalk version... here's why:
I think helping this project grow (the project is active and never died) means giving Smalltalk a chance to get into developers world just like other languages, without being isolated like Smalltalk Squeak and other commercial versions.
Bye.
i've developed several personal applications on Smalltalk Squeak, the latest project is SqueakGtk.
Smalltalk Squeak is, in my opinion, the most important open source implementation of Smalltalk, therefore it got many libraries and community support.
However, it's still unused and unspported: for example it's not included into Linux distributions. Personally because:
- Of its history and license problems
- It's an heavy application, more than 20mb for VM and image, without integration with the desktop due to Morphic graphics and the console, hence it's not a good choice for scripting
- Users who come from Java, Python, Ruby don't feel good to work into an isolated world, such as Morphic, own version control system and, as said before, no integration with the existing tools
GNU Smalltalk, on the other hand, gained many features that could bring it to be the most important and used Smalltalk version... here's why:
- Being GNU software, it can be included into Linux distributions as well
- It's pretty small but features full, the tarball is 4mb (plus image) and the image normally is about 5mb
- It has a console interpreter, so it can be used as well as scripting language, being more friendly for new comers. This allows programmers to choice their own development environment, both external and builtin (BLOX).
I think helping this project grow (the project is active and never died) means giving Smalltalk a chance to get into developers world just like other languages, without being isolated like Smalltalk Squeak and other commercial versions.
Bye.
Saturday, September 23, 2006
Health problems
Hello,
these days i've been a lot inactive since i'm going to have serious problems against my right eye. It has a "Ulcera corneale" (in Italian) which could get to or bad view either no view for that eye.
So, i hope i can restart my activities soon and, really, get my eye back as good as before.
Bye everyone and W Smalltalk.
these days i've been a lot inactive since i'm going to have serious problems against my right eye. It has a "Ulcera corneale" (in Italian) which could get to or bad view either no view for that eye.
So, i hope i can restart my activities soon and, really, get my eye back as good as before.
Bye everyone and W Smalltalk.
Friday, September 08, 2006
Linux From Scratch on x86-64 platform
Hello guys,
these days i've been a lot inactive, especially in the Squeak community, which is working tough for the final 3.9 release... sounds good :)
For my 18th birthday, my family bought an amd64 then i'm trying to get out a LFS, starting from a REALLY old gentoo stage3 from which i borrowed useful bootscripts ;).
Actually it's pretty usable, with Xfce4 running on. I hope i'll get an Ethernet modem working soon and setup everything to restart my Gtk+ and Squeak related "activities".
Bye.
these days i've been a lot inactive, especially in the Squeak community, which is working tough for the final 3.9 release... sounds good :)
For my 18th birthday, my family bought an amd64 then i'm trying to get out a LFS, starting from a REALLY old gentoo stage3 from which i borrowed useful bootscripts ;).
Actually it's pretty usable, with Xfce4 running on. I hope i'll get an Ethernet modem working soon and setup everything to restart my Gtk+ and Squeak related "activities".
Bye.
Thursday, August 24, 2006
SqueakGtk latest features
With the latest MC version 68, SqueakGtk got lots of improvements:
Please help me... if anyone is interested contact me: lethalman88 at gmail dot com.
Bye ;)
- GTK+ 2.10 enhancements (Printing, StatusIcon, Assistant and RecentFiles)
- Strong callback handling and a refactored signal handling
- Object finalization support with GObject weak references
- New wrappers around GType/GValue/GParamSpec allowed to improve the GtkInspector
- As usual, various fixes
Please help me... if anyone is interested contact me: lethalman88 at gmail dot com.
Bye ;)
Sunday, August 20, 2006
Catching garbage collecting
I see many times Squeakers ask questions about finalizing objects when the garbage collector is called.
Squeak startups a finalizing process inside WeakArray which finalize values of its Weak dependents (for example WeakRegistry objects).
First of all you need to subclass Object, call the new class GCTest.
Add a #finalize method to it:
Now open a Transcript and a Workspace and doIt this:
Now close the Workspace and look at the Transcript saying 'finalizing'.
Usually, you won't register your objects into the default WeakRegistry, you can also create your own WeakRegistry.
Take care the WeakRegistry is also garbage collected, so you need to place it as a global variable of your base class for instance: look at Socket or StandardFileStream as valid examples.
NB: when creating a new WeakRegistry, it's automatically added as a Weak dependent in WeakArray
Squeak startups a finalizing process inside WeakArray which finalize values of its Weak dependents (for example WeakRegistry objects).
First of all you need to subclass Object, call the new class GCTest.
Add a #finalize method to it:
finalize
Transcript show: 'finalizing'
Now open a Transcript and a Workspace and doIt this:
gcTest _ GCTest new.
WeakRegistry default add: gcTest
Now close the Workspace and look at the Transcript saying 'finalizing'.
Usually, you won't register your objects into the default WeakRegistry, you can also create your own WeakRegistry.
Take care the WeakRegistry is also garbage collected, so you need to place it as a global variable of your base class for instance: look at Socket or StandardFileStream as valid examples.
NB: when creating a new WeakRegistry, it's automatically added as a Weak dependent in WeakArray
Wednesday, August 16, 2006
GNOME from scratch on Slackware 10.2 and Kernel 2.4
Recently i wanted to try Gnome 2.14 on my Slackware box, then i tried to install Dropline Gnome. The problem was that i need Gtk 2.10 for my SqueakGtk wrapper, then i chose to install Gnome from sources.
I didn't have any problem, everything worked correctly and i had my Gnome running as well.
However, there was a problem, i had to upgrade to libgnomeui 2.15 since it's more compatible with Gtk 2.10. After that, system tools 2.15 were updated for Slackware 10.2 and the "war" begun :) New dependencies have been emerged, like dbus and liboobs... ok i installed them but finally i got another dependency: HAL.
So... Gnome 2.15 needs Kernel 2.6... i can't use the Kernel 2.6 then i switched back to Kde. Simple :) i dislike this kind of dependencies really, it should be a bit more flexible and also i don't see any need to keep dbus at all.
I hope this won't happen for Gtk+ too, bye Gnome!
I didn't have any problem, everything worked correctly and i had my Gnome running as well.
However, there was a problem, i had to upgrade to libgnomeui 2.15 since it's more compatible with Gtk 2.10. After that, system tools 2.15 were updated for Slackware 10.2 and the "war" begun :) New dependencies have been emerged, like dbus and liboobs... ok i installed them but finally i got another dependency: HAL.
So... Gnome 2.15 needs Kernel 2.6... i can't use the Kernel 2.6 then i switched back to Kde. Simple :) i dislike this kind of dependencies really, it should be a bit more flexible and also i don't see any need to keep dbus at all.
I hope this won't happen for Gtk+ too, bye Gnome!
Wednesday, August 09, 2006
SqueakGtk, a bunch of enhancements
This screenshot at http://squeakgtk.pbwiki.com/f/Demos-10082006.gif shows the new enhancements made in the latest 10 MC versions. New features include:
Bye and thanks to everyone who helped me till now, especially the squeak-dev ML and #squeak channel :)
- GdkPixbuf enhancements
- GtkIconView creation
- GtkClipboard creation
- Basic Drag and Drop support
- Text widget improvements
- Callback functions support
- Several important fixes
- and so on...
Bye and thanks to everyone who helped me till now, especially the squeak-dev ML and #squeak channel :)
Wednesday, August 02, 2006
SqueakGtk halos
You all know that Morphic has halos: those small buttons around a Morph. SqueakGtk is going to have this kind of feature, currently really basic; it just work for inspecting a widget.
First run this code into a Workspace:
This will cache all created GtkWidget objects. Now you can open a simple window with widgets inside of it and run this code:
Now do Ctrl + left mouse button click and an inspector (ore more than one) should open on the clicked widget.
When you don't need halos anymore just type:
In the next version, probably, this feature can be improved. Right now it's just a funny test.
Also the inspector is not complete, i just added a few property specs. It really needs to be improved a lot and also to be more automated instead of creating a specification for each GObject.
First run this code into a Workspace:
Gtk default useHalos: true
This will cache all created GtkWidget objects. Now you can open a simple window with widgets inside of it and run this code:
Gtk default enterHalos
Now do Ctrl + left mouse button click and an inspector (ore more than one) should open on the clicked widget.
When you don't need halos anymore just type:
Gtk default leaveHalos
In the next version, probably, this feature can be improved. Right now it's just a funny test.
Also the inspector is not complete, i just added a few property specs. It really needs to be improved a lot and also to be more automated instead of creating a specification for each GObject.
Left old WordPress blog
I switched to blogger.com because the previous blog has been unmantained by me.
Also i hope to write something interesting here... bye ;)
Also i hope to write something interesting here... bye ;)
Subscribe to:
Posts (Atom)