You may want to look at Producer, which I believe was a Smalltalk to
Objective-C translator done way back when, probably for ObjectWorks.
It used to be available on the UIUC archive, although I am having
trouble finding it now.
les
Hi All,
In porting the Minnestore OODB to Squeak, I'm running into problems with
directory manipulation. There are methods in class FileDirectory for creating
directories, but not for deleting them (FileDirectory deleteFileNamed: won't
work) or asking whether a directory exists (FileDirectory fileExists: answers
false), and there's also no method for asking whether a given name is a
directory or a normal file (though this can be written using existing methods).
Am I missing something?
Has anyone else noticed this and added it in some package?
Should we use a couple of the empty primitives in the range 163-168 for new
directory primitives?
--
stp
Stephen Travis Pope
stp(a)create.ucsb.edu http://www.create.ucsb.edu/~stp/
>From my inbox a month ago...
-----Original Message-----
From: Joerg Brunsmann [mailto:Joerg.Brunsmann@FernUni-Hagen.de]
Sent: 05 March 1999 12:50
To: squeak(a)cs.uiuc.edu
Subject: Squeak and MySql
Hi all,
MySql (http://www.mysql.org) is an open source SQL database
server which runs on all possible platforms. Fortunately
- MySql has a socket access interface for client connections
- a VisualWorks package exist which uses this interface
Although I don't like relational databases I ported this library
to Squeak 2.3 (why aren't Squeak sockets streamable ;-) in order
to make Squeak even more attractive. Perhaps Swiki providers
may want to use it, too.
Download the Squeak filein and see some screenshots here:
http://www.informatik.fernuni-hagen.de/import/pi3/joerg/squeak/mysql/
Use the Smalltalk front end like this:
connSpec := (JdmConnectionSpec new initialize user: 'doe'; password:
'mypass').
connection := JdmConnection on: connSpec.
resultSet := statement executeQuery: 'insert into aTable (aField) values
(aValue)'.
[resultSet next] whileTrue: [value := resultSet valueNamed: 'columnName'].
Have fun,
Joerg
Dino wrote:
>
> Anyone know if there is a smalltalk interface for the MySQL database?
>
> I wonder what it would take to make one...
I looked into this, and it wouldn't be all that difficult. The MySQL C-language
API is pretty simple, and we could make a native-call- or socket-based
interface. I recently wrote a transparent object-relational mapping framework in
Java using JDBC, and have some ideas about how to do this well in Squeak, but
all my Squeak cycles at present are going into getting the MinneStore OODB
ported (see my next letter). For a Squeak/MySQL interface, I'd adopt a somewhat
JDBC-like approach that exposes tables and SQL to Squeak (for optional use), and
add a layer of transparent object adaptors and field accessors for simpler
access.
--
stp
Stephen Travis Pope
stp(a)create.ucsb.edu http://www.create.ucsb.edu/~stp/
Hi Stephane,
Is there a specific web page for this event? If so please email it to me so
that I can post it on http://www.smalltalk.org/events.html. If not please
create a specific web page.
Currently I am linking to your generic home page, but there is no place to
find out the info on the conference there!!!! (Or at least I can't find it
;--(.
All the best,
Peter W. Lount
peter(a)smalltalk.org
http://www.smalltalk.org
p.s. Please link to our home page.
----------
From: Stephane Ducasse <ducasse(a)iam.unibe.ch>
To: squeak(a)cs.uiuc.edu
Cc: Annick_Fron_AFC(a)compuserve.com
Subject: ESUG Advanced Seminar is looking for Squeakers
Date: April 7, 1999 1:34 AM
Hi Squeakers
ESUG (European Smalltalk Users Group) is organizing for the 7th time a
advanced users conference covering the hottest topics of the technology, as
well as advanced software and design practice.
The conference is held in University of Gent, Belgium, from August 30st to
september 3rd.
Speakers may submit topics to info(a)esug.org in the following format :
- half day tutorial,
- 1 hour tutorial
- experience report
- design issues for the design fest
- commercial demos
All innovative suggestions are welcome.
Please visit : http://www.esug.org
Last year Ian made a really good presentation of Squeak (half non-technical
half really technical about the implementation of the Jitter).
Squeak is the vector of new ideas in Smalltalk like the pluggable
primitives. It could be very interesting for the european Squeak
people to use ESUG Advanced Seminar to promote Squeak and Smalltalk in
Europe.
I sincerly hope to see some Squek tutorial or demoes at Gent.
Stef
Gran,
> It does not check for 24 bits so the problem is not on the X side.
> The second question is why the VM is built like that, but that is Ians
> thing to answer - there is probably some logical explanation!
It just congealed that way. I started with 8bpp PseudoColor only (my
machine at home was a Sun IPX at the time) and gradually integrated
support for higher bpps as and when they were sent to me (by people
with more expensive graphics cards ;).
Ian
Hi!
---Ivan Brusic <ivan(a)cc.gatech.edu> wrote:
> Actually, I can get Squeak to run at 16 or 32 bpp, but not 24. I
> definetly need to recheck all my X settings, something is not right
on my
> system. Thanks for all the help.
Let me just repeat my earlier posting:
-------
switch (stVisual->class)
{
case PseudoColor:
if (stBitsPerPixel == 8)
break;
else
{
fprintf(stderr, "This visual class is not supported\n");
exit(1);
return;
}
case TrueColor:
case DirectColor:
getMaskbit(stVisual->red_mask, &stRNMask, &stRShift);
getMaskbit(stVisual->green_mask, &stGNMask, &stGShift);
getMaskbit(stVisual->blue_mask, &stBNMask, &stBShift);
if (stBitsPerPixel == 16)
{
stHasSameRGBMask16= (stVisual->red_mask == (0x1f << 10) &&
stVisual->green_mask == (0x1f << 5) &&
stVisual->blue_mask == (0x1f));
break;
}
else if (stBitsPerPixel == 32)
{
stHasSameRGBMask32= (stVisual->red_mask == (0xff << 16) &&
stVisual->green_mask == (0xff << 8) &&
stVisual->blue_mask == (0xff));
break;
}
else
{
fprintf(stderr, "This visual class is not supported\n");
exit(1);
return;
}
case GrayScale:
case StaticColor:
case StaticGray:
default:
fprintf(stderr, "This visual class is not supported\n");
exit(1);
return;
}
-----
So reading this correct 256 colors is OK in PseudoColor
but when using TrueColor or DirectColor you need 65536 or ~2 million
colors (16 or 32 bits).
It does not check for 24 bits so the problem is not on the X side.
The second question is why the VM is built like that, but that is Ians
thing to answer - there is probably some logical explanation!
regards, Gran
===
Gran Hultgren, gohu(a)rocketmail.com, icq#:6136722
GSM: +46 709 472152, http://195.22.65.4
"First they ignore you. Then they laugh at you.
Than they fight you. Then you win." -- Gandhi
_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com
Hi Squeakers
ESUG (European Smalltalk Users Group) is organizing for the 7th time a
advanced users conference covering the hottest topics of the technology, as
well as advanced software and design practice.
The conference is held in University of Gent, Belgium, from August 30st to
september 3rd.
Speakers may submit topics to info(a)esug.org in the following format :
- half day tutorial,
- 1 hour tutorial
- experience report
- design issues for the design fest
- commercial demos
All innovative suggestions are welcome.
Please visit : http://www.esug.org
Last year Ian made a really good presentation of Squeak (half non-technical
half really technical about the implementation of the Jitter).
Squeak is the vector of new ideas in Smalltalk like the pluggable
primitives. It could be very interesting for the european Squeak
people to use ESUG Advanced Seminar to promote Squeak and Smalltalk in
Europe.
I sincerly hope to see some Squek tutorial or demoes at Gent.
Stef
Glad to hear you got it working! How far down did you have to decrease
the depth?
Lex
Ivan Brusic <ivan(a)cc.gatech.edu> wrote:
> OK! Squeak is finally up and running. Changing my display depth
*down*
> made it work. Ack, but I like TrueColor.
>
> Ivan
>
> On Tue, 6 Apr 1999, Ivan Brusic wrote:
>
> >
> > None of these solutions work. I am using 32bpp depth, and Squeak
still
> > refuses to run. This is getting fustrating.
> >
> > Ivan
> >
> > On Tue, 6 Apr 1999, Dino wrote:
> >
> > > Hi Hi!
> > >
> > > If you use vnc to access your X desktop, you can run the vncviewer
with the -cc
> > > 3 option and a depth of 16. It seems to have fixed my vnc
problem.
> > >
> > > Although, I don't see this being a problem if you run squeak in
X11. I run it
> > > fine on my machine. I'm also running 2.2.4 and libc6. You
probably have seen
> > > me in the CoC using squeak on my seemingly exported display...
> > >
> > > -- Dino
> > >
> > > Gran Hultgren wrote:
> > > >
> > > > Hi!
> > > >
> > > > ---Ivan Brusic <ivan(a)cc.gatech.edu> wrote:
> > > > > Hello fellow squeakers,
> > > > >
> > > > > I am unable to run Squeak on Linux. There are two different
errors
> > > > which
> > > > > I get when trying to run Squeak:
> > > > >
> > > > > 1) When using Ian's precompiled VM
(SqueakVM-2.3-i386-linux-2.0.36) or
> > > > > using my own compiled VM (with the lastest sources) I get
the
> > > > following
> > > > > error:
> > > > > This visual class is not supported
> > > >
> > > > This has to do with X Windows. I got the same problem when
trying to
> > > > get Squeak to work with VNC. After looking in the VM code
(sqXwindos.c
> > > > - see below) it showed that Squeak does not support every
possible X
> > > > configuration when it comes to colors.
> > > >
> > > > I changed VNC to use PsuedoColors with 256 colors and everything
works
> > > > great. So I suggest that you check your colordepth that X uses,
if its
> > > > 256 you have to raise it to 65536 or change your color support
from
> > > > TrueColor/DirectColor to PseudoColor.
> > > >
> > > > Exerpt from:
ftp://alix.inria.fr/pub/squeak/unix/Squeak/src/sqXWindow.c
> > > > ----
> > > > switch (stVisual->class)
> > > > {
> > > > case PseudoColor:
> > > > if (stBitsPerPixel == 8)
> > > > break;
> > > > else
> > > > {
> > > > fprintf(stderr, "This visual class is not
supported\n");
> > > > exit(1);
> > > > return;
> > > > }
> > > > case TrueColor:
> > > > case DirectColor:
> > > > getMaskbit(stVisual->red_mask, &stRNMask, &stRShift);
> > > > getMaskbit(stVisual->green_mask, &stGNMask, &stGShift);
> > > > getMaskbit(stVisual->blue_mask, &stBNMask, &stBShift);
> > > > if (stBitsPerPixel == 16)
> > > > {
> > > > stHasSameRGBMask16= (stVisual->red_mask == (0x1f <<
10) &&
> > > > stVisual->green_mask == (0x1f <<
5) &&
> > > > stVisual->blue_mask == (0x1f));
> > > > break;
> > > > }
> > > > else if (stBitsPerPixel == 32)
> > > > {
> > > > stHasSameRGBMask32= (stVisual->red_mask == (0xff <<
16) &&
> > > > stVisual->green_mask == (0xff <<
8) &&
> > > > stVisual->blue_mask == (0xff));
> > > > break;
> > > > }
> > > > else
> > > > {
> > > > fprintf(stderr, "This visual class is not
supported\n");
> > > > exit(1);
> > > > return;
> > > > }
> > > > case GrayScale:
> > > > case StaticColor:
> > > > case StaticGray:
> > > > default:
> > > > fprintf(stderr, "This visual class is not supported\n");
> > > > exit(1);
> > > > return;
> > > > }
> > > >
> > > > -----
> > > >
> > > > So reading this correct I assume that 256 colors is OK in
PseudoColor
> > > > but when using TrueColor or DirectColor you need 65536 or ~2
million
> > > > colors (16 or 32 bits).
> > > >
> > > > Wll, that's my two cents.
> > > >
> > > > regards, Gran
> > > >
> > > > ===
> > > > Gran Hultgren, gohu(a)rocketmail.com, icq#:6136722
> > > > GSM: +46 709 472152, http://195.22.65.4
> > > > "First they ignore you. Then they laugh at you.
> > > > Than they fight you. Then you win." -- Gandhi
> > > > _________________________________________________________
> > > > DO YOU YAHOO!?
> > > > Get your free @yahoo.com address at http://mail.yahoo.com
> > >
> > >
> >
> > --
> >
> > Ivan Brusic | "Computers are nothing but a
perfect
> > Graduate Student | illusion of order" - Iggy Pop
> > College of Computing & GVU Center |
> > Georgia Institute of Technology | E-mail: ivan [at]
cc.gatech.edu
> >
> >
>
> --
>
> Ivan Brusic | "Computers are nothing but a
perfect
> Graduate Student | illusion of order" - Iggy Pop
> College of Computing & GVU Center |
> Georgia Institute of Technology | E-mail: ivan [at] cc.gatech.edu