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 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
     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)

The honey tastes sweeter when you anger the bees.
82 ms