IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Dicussed Below
[link|http://z.iwethey.org/forums/render/content/show?contentid=79282|http://z.iwethey.org...w?contentid=79282]

I went to Apple's devcon a couple years ago when they were discussing the move from java1.1 to Java2 (1.2). They were getting ragged on for being late with it (much like they're getting heat for not having 1.4 out). The guy said the transitive closure for java.lang.Object in 1.1 was something like 60 classes. He said this rocketed in 1.2 to well over 200 classes. (He also showed a demo of a beta with the Apple version doing graphices rendering about twice as fast as the "released" sun version). I have no idea what it is now - but I believe it continues to climb with abandon (right along with the bug count).

Anyhow, how can you take a language seriously that gets (new Integer(5).equals(new Long(5)) wrong?

I've been doing lots more squeak lately and digging it. There are lots of tiny smalltalk implementations - why can't they make java run with reasonable efficiency?



I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customer got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.

--Alan Perlis
New Speaking of which...
I've been thinking about getting into Objective C lately...

1) Is the gcc implementation useful?
2) What do you use for database access (besides rolling something from ODBC)?
3) Do you know of any general socket server (or more specifically, HTTP) implementations?

Inquiring minds want to know. ;-)
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New The only platform with decent support is Linux.
Thats where the gnustep people focus their efforts. I personally think those guys are nuts but some stuff is working OK.

WebObjects app server has been partially reproduced. Find it at [link|http://www.gnustepweb.org/|http://www.gnustepweb.org/]

Of course, you need the base GnuStep. Get it from [link|http://www.gnustep.org/|http://www.gnustep.org/]

There is a db access lib - gnustepdb which is a clone of EOF. Its not exactly state of the art but some companies (largely european - for some reason the euros are putting most of the effort into this) are using it.

The sweet thing about ObjC is its C. So you can call any C code you like and its easy to do OO wrappers. I've did a wrapper for the expat xml parser - its at [link|http://www.wodeveloper.com/frameworks.html|http://www.wodevelop...m/frameworks.html]. I've got a good mime library floating around too if you want it.

Meanwhile, I'm having fun with [link|http://www.beta4.com/seaside2|Seaside] and [link|http://www.glorp.org|glorp] on [link|http://www.squeak.org|Squeak].



I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customer got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.

--Alan Perlis
New Thanks for the info...
So this stuff is usable? I've seen you comment elsewhere IIRC that it isn't quite up to snuff...

Of course, the upside of learning ObjC is that I get (a good deal of) Smalltalk as well...
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New Some people are using it
If you've got a linux box around and some time I'd say give it a shot. I think they may be on the cusp of critical mass. They even have a few GUI apps working.

Certainly its usable for non-UI stuff. The ObjectiveC core library is called foundation. There are half a dozen implementations of foundation floating around that have been used in various server apps.

The downer on the gnustep thing is their attitude. If you mention they have an issue with compatibility with an apple api they tell you to go tell apple to change.

The GSWeb stuff is being used by several companies to do projects. It looks decent.

Or you could just get a Mac :-)

What are you planning to do with it?



I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customer got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.

--Alan Perlis
Expand Edited by tuberculosis Feb. 9, 2003, 08:10:19 PM EST
New ocWETHEY? :-)
I want to learn it just to learn it, so writing forum software would be a good way to do so.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New Was that a Hint? :)

[link|mailto:curley95@attbi.com|greg] - Grand-Master Artist in IT
[link|http://www.iwethey.org/ed_curry/|REMEMBER ED CURRY!]   [link|http://pascal.rockford.com:8888/SSK@kQMsmc74S0Tw3KHQiRQmDem0gAIPAgM/edcurry/1//|ED'S GHOST SPEAKS!]
[link|http://www.eweek.com/article2/0,3959,857673,00.asp|Writing on wall, Microsoft to develop apps for Linux by 2004]
Heimatland Geheime Staatspolizei reminds:
These [link|http://www.whitehouse.gov/pcipb/cyberstrategy-draft.html|Civilian General Orders], please memorize them.
"Questions" will be asked at safety checkpoints.
New Cusp sounds about right.
I went looking at what was on offer a few weeks ago because I was curious about running GNUStepping my WindowMaker install. There are quite a few screenshots of running stuff, FWIW, so there's activity happenin'. Perhaps unfortunately, they chose to use a NextStep-derived development environment which makes installing stuff fragile. I never did make anything run, but it all compiled. I think...

Wade.

Is it enough to love
Is it enough to breathe
Somebody rip my heart out
And leave me here to bleed
 
Is it enough to die
Somebody save my life
I'd rather be Anything but Ordinary
Please

-- "Anything but Ordinary" by Avril Lavigne.

New Seaside
This has the disadvantage of rendering bookmarks unintelligible or even unusable, but it provides a huge amount of flexibility.
Eh. Ugly.

Also, the bit about providing a renderer for objects to write on... that's inflexible. The object should provide some data; and a specialized renderer object should then take that data and morph it into output. That way the first object doesn't need to know anything about where it might be used, like in an HTML page, as part of an XML document, or a CSV file, for example. The renderer can be swapped out at any point in time for a different output style. With Seaside's method, pages have to know what they're being rendered on.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
Expand Edited by admin Feb. 12, 2003, 10:05:25 PM EST
New Oh, you've been playing :-)
Yeah, I agree that the renderer is a little bit of a pain.

There are some people working on a visual layout based on Morphs - you stick items on a canvas and it figures out renderer calls.

I like the state tracking and the ability to specify actions as blocks though.



I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customer got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.

--Alan Perlis
New The state tracking is nifty
Other than the loss of bookmarkable URLs.

Although I suppose that could be solved by mapping URLs to states, and accepting a URL simply (re)starts the state tracking up at that point.

I do like how easy Squeak is to get running. Objective C will have to wait on my laptop until I upgrade it so it can run gcc 3.2. However, I have never liked repository-using dev environments; I prefer to maintain control over my code. I haven't looked into the ability to use Emacs as the editor yet, either. I hate the Squeak editor. :-)
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New Got a present for you then
If'n your interested. I got a visual data modeler (written in Java - sigh) and I've basically finished (but not released) glorp for postgres. At least I think its finished. It needs testing. But since you've got PG and you're familiar with at least one schema I can think of maybe you wanna play with it? If so - email me (tblanchard ala mac point com) and I can sent you the change set.

FWIW, the bookmarkable URL problem is kinda minor for web *apps* but you're right that it sucks for web *sites*. Often you don't want them bookmarking a page in the middle of a 5 page task with half edited uncommitted data. I have no problem with eliminating that ability. There is also a sort of transactional ability thats really cool using isolate blocks. From the squeak list:

For instance, 2 pages back, the user was working on an object to create
that he can only create once...now he's saved it, so going back two
pages to muck around isn't good. Its just an example but I think you
know what I mean - how to keep seaside state and db state in harmony.


Oh yeah - re code management. DVS (comes in when you load SqueakMap - also called "Package Loader" on the main menu) is a tool that files out a module in a way designed to work well with CVS. So you can use that for version control. Your package has to follow the naming rules of PackageInfo.

As for emacs - I don't know - you could dive in and fiddle the key bindings I guess. You have all the source. Oh - and there is a nifty xterm for it as well - pull up a shell in the smalltalk environment and do file stuff - I no longer need to leave the environment except for web browsing and email. Pretty slick.

As Julian pointed out, the trick is to use #isolate: blocks - you often
want to match a database transaction with a Seaside #isolate: transaction,
so that as soon as you commit a set of changes to the DB, all of the pages
involved in making those changes expire. It occurs to me that it may be
worthwhile to add an #expireAll method to Session in some such cases as
well (#burnBridges?), but I prefer the localized expiry of #isolate:.


ObjectiveC is going to seem like a poor cousin if you spend too much time with Squeak.



I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customer got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.

--Alan Perlis
Expand Edited by tuberculosis Feb. 13, 2003, 08:10:52 PM EST
New So, is zIWT a web site or a web app?
Because non-bookmarkable pages here would be a major PITA. :-)

One thing I noticed right away with Obj C is that they don't support passing blocks around. That seems like a major oversight.

glorp for Postgres... is that an OO->Relational mapping layer, or does it completely take over persistence? ie. can it be used with an existing database schema?

The biggest issue I have with a lot of db mapping tools is that they require schema changes of one kind or the other.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New I think its a site.
You don't build a whole customer order in memory and then commit it to the database. Transaction boundaries don't cross pages.

Glorp is a simple OR mapping facility. Its pretty slick but you need to have designed your database sanely for OR mapping to work well. This means you used serial for all primary keys except in join tables for many to many map tables. It also doesn't support TimeTZ or Timestamp because squeak has no support for timezone by default (although I've got a patch that adds this).

It has transactions and you can use blocks for queries.

reads don't require transactions:

session selectOneOf: RSUser where: [:ea | ea name = aName & ea password = aPassword]

if you follow relationships in the block then it works with those too.

writes do require transactions.

session beginUnitOfWork.
movie := RSMovie new title: 'Casablanca'.
studio := RSStudio new name: 'Warner Bros'.
movie studio: studio.
studio movie: movie.
session commitUnitOfWork.




I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customer got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.

--Alan Perlis
New I'll give it a looksee when I get a chance.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New ob: objective C blocks
I agree that they would be cool but really hard to add to C.

In Objective C, the block syntax has been lifted to delineate message sends.

[anObject doSomethingWith: anotherObject]

gets translated to

objc_messagesend(anObject,"doSomethingWith:",anotherObject)

which is the tricky dispatch function into the runtime. Cool - thats easy. But block closures automatically get the scope of their surroundings - even if that scope has long vanished the block holds references of it at the time the block was created. So you're going to have some tricky copying of stack state into the block's state that has to live after the stack has popped.

A more limited form could be done conceivably with nested functions but nobody in charge of a compiler or runtime seems intent on advancing the language.

But you're right - blocks are the thing I miss most in ObjectiveC. There is a library called fscript. Its kind of like beanshell for ObjectiveC. An interpreter. More than an interpreter its a Smalltalk interpreter that uses ObjectiveC objects. So you could do something like this with fscript installed as a lib:

[array detect: [@"[:ea | ea name = 'Scott']" asBlock]] and that would work.

There is also Marcel Wehr's HOM (Higher Order Messaging) lib that does something tricky.

[array detect: [[item name] isEqualToString: @"Scott"]]

HOM's detect actually returns a trampoline object whose doesNotUnderstand iterates over the list in a tricky way. Something like that. It only works if the "block" is a pure objective C message send. No arbitrary code because it captures the selectors.

You can find that stuff at [link|http://www.metaobject.com/|http://www.metaobject.com/] under the communit link



I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customer got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.

--Alan Perlis
New Cool, thanks.
Even iterating a message send like HOM appears to would be cool.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New Squeak in a browser
Don't know if I mentioned that there's a browser plugin for squeak. Gives you a way to publish a project as an interactive tool on the web.

[link|http://www.squeakland.org|http://www.squeakland.org]



I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customer got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.

--Alan Perlis
New broke down and downloaded squeak last night
got it up and runnning, went to the games project and screwed with the racecar for a while. I am very impressed. The question I have though is practical applications in the job market. How niche is it? Doesnt mean I wont take it further as I am getting brain damage by rusting on the shelf for 5 months.
thanx,
bill
will work for cash and other incentives [link|http://home.tampabay.rr.com/boxley/resume/Resume.html|skill set]

questions, help? [link|mailto:pappas@catholic.org|email pappas at catholic.org]
New Squeak jobs
not too easy to come by. Smalltalk jobs in general - I've gotten a few hits for that lately. From all over the US no less. They've been Smalltalk and (insert totally unrelated technology here) and I've been lacking the latter. For instance, I just got an inquiry on Smalltalk that reads:

I received a 3-6 month contract inChicagofor a Smalltalk Programmer withDelphiexperience. This is a small company in the financial industry that\ufffds looking for a contractor to come in for some maintenance and enhancement work. The program works on aDelphidatabase so the candidate MUST have working experience withDelphi. Part time telecommuting MAY be a possibility if you are willing to be flexible on your rate requirements.

Other requirements are WinBatch, Java, C++, Tomcat/Catalina and working knowledge of Windows 2000/NT.


WTF?

Anyhow, since the squeak vm is really easy to port and open, some embedded systems have been made with it - like palmtops. Otherwise there are a few places using Seaside - the web app lib. I know that whistler.com is working on building some of their local booking system in Seaside.

So as a resume builder - I don't think its a biggie. But as a programming lab its cool. And there are a lot of cool learning projects for kids at squeakland.org



I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customer got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.

--Alan Perlis
New oops..sorry
"good ideas and bad code build communities, the other three combinations do not"
- [link|http://archives.real-time.com/pipermail/cocoon-devel/2000-October/003023.html|Stefano Mazzocchi]
     Sun's internal Java problems - (ben_tilly) - (21)
         Dicussed Below - (tuberculosis) - (20)
             Speaking of which... - (admin) - (18)
                 The only platform with decent support is Linux. - (tuberculosis) - (17)
                     Thanks for the info... - (admin) - (4)
                         Some people are using it - (tuberculosis) - (3)
                             ocWETHEY? :-) - (admin) - (1)
                                 Was that a Hint? :) -NT - (folkert)
                             Cusp sounds about right. - (static)
                     Seaside - (admin) - (11)
                         Oh, you've been playing :-) - (tuberculosis) - (10)
                             The state tracking is nifty - (admin) - (9)
                                 Got a present for you then - (tuberculosis) - (8)
                                     So, is zIWT a web site or a web app? - (admin) - (7)
                                         I think its a site. - (tuberculosis) - (1)
                                             I'll give it a looksee when I get a chance. -NT - (admin)
                                         ob: objective C blocks - (tuberculosis) - (1)
                                             Cool, thanks. - (admin)
                                         Squeak in a browser - (tuberculosis) - (2)
                                             broke down and downloaded squeak last night - (boxley) - (1)
                                                 Squeak jobs - (tuberculosis)
             oops..sorry -NT - (ben_tilly)

268435456 bytes OK.
258 ms