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 Builder pattern
It is detailed in Object Design Patterns.

In squeak, html rendering looks like:

\nrenderContentOn: html\n\nhtml heading level:2; with: 'Title of My Page'.\nhtml orderedList cssClass: 'tab-bar'; with:\n[\n    collection do: \n    [:item | \n        html listItem cssClass: 'tab-item'; with: \n        [\n            html anchor \n               cssClass: 'tab-link'; \n               callback: [self call: (ItemEditor on: item)]; \n               with: item asString. \n        ]\n    ]\n]


html produces objects - one per logical construct ( or tag ), each tag supports several methods for filling in various attributes, plus the with: takes either a String or a Block of code that is executed. The tag object writes the open tag to the stream, executes the block, then writes the close tag. HTML output is simple. All visual appearance is done using CSS. Using this technique, it is simply impossible to produce a malformed document. The code looks something like the HTML, and you can have subcomponents.

As to squeak's editor - it has improved a lot recently and now sports coloring, auto-completion, and of course, refactoring. Plus the monticello version control system is light years ahead of text based solutions. I think someone did emacs and vi key bindings too.

When dissing too many files - I was thinking of Rails. If I want to rename a method, I want the system to understand where all the method calls are and show me so I can update them. Ditto class name, variable names, etc. It just isn't generally there in file based systems although things like IDEA do a fair job of faking it.



We posture as apostles of fair play, as good sportsmen, as professional knights-errant-- and we throw beer bottles at the umpire when he refuses to cheat for our side...We save the black-and-tan republics from their native [statesmen]--and flood them with "deserving" democrats of our own. We deafen the world with our whoops for liberty--and submit to laws that destroy our most sacred rights...We play policeman and Sunday-school superintendent to half of Christendom--and lynch a darky every two days in our own backyard.


H.L. Mencken, 1914
Expand Edited by tuberculosis May 6, 2007, 07:58:04 PM EDT
Collapse Edited by tuberculosis Aug. 21, 2007, 06:05:30 AM EDT
Builder pattern
It is detailed in Object Design Patterns.

In squeak, html rendering looks like:

renderContentOn: html

html heading level:2; with: 'Title of My Page'.
html orderedList cssClass: 'tab-bar'; with:
[
    collection do: 
    [:item | 
        html listItem cssClass: 'tab-item'; with: 
        [
            html anchor 
               cssClass: 'tab-link'; 
               callback: [self call: (ItemEditor on: item)]; 
               with: item asString. 
        ]
    ]
]


html produces objects - one per logical construct ( or tag ), each tag supports several methods for filling in various attributes, plus the with: takes either a String or a Block of code that is executed. The tag object writes the open tag to the stream, executes the block, then writes the close tag. HTML output is simple. All visual appearance is done using CSS. Using this technique, it is simply impossible to produce a malformed document. The code looks something like the HTML, and you can have subcomponents.

As to squeak's editor - it has improved a lot recently and now sports coloring, auto-completion, and of course, refactoring. Plus the monticello version control system is light years ahead of text based solutions. I think someone did emacs and vi key bindings too.

When dissing too many files - I was thinking of Rails. If I want to rename a method, I want the system to understand where all the method calls are and show me so I can update them. Ditto class name, variable names, etc. It just isn't generally there in file based systems although things like IDEA do a fair job of faking it.



We posture as apostles of fair play, as good sportsmen, as professional knights-errant-- and we throw beer bottles at the umpire when he refuses to cheat for our side...We save the black-and-tan republics from their native [statesmen]--and flood them with "deserving" democrats of our own. We deafen the world with our whoops for liberty--and submit to laws that destroy our most sacred rights...We play policeman and Sunday-school superintendent to half of Christendom--and lynch a darky every two days in our own backyard.


H.L. Mencken, 1914
New Not impressed.
Looks like every other one I've seen, other than the Smalltalky bits. I really dislike systems that conflate HTML with code. I find them difficult to debug (where is this HTML coming from?) and difficult to rearrange when I want the page to look like something else.

I don't want it to look "something" like the HTML... I want to look at it and immediately understand what I'm getting. Difficult stuff can be put in a tag and called from the template.

Django's template system has a thing called [link|http://www.djangoproject.com/documentation/templates/#template-inheritance|blocks] as well:

In a parent template:
{% block foo %}This is the default.{% endblock %}

Then inherit that parent, and replace the 'foo' block if you want to specialize:
{% block foo %}This is not the default.{% endblock %}

Very useful. Django templates have the added bonus of being output-neutral: use them for emails, CSV, whatever.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New You still don't get it
First, your example can produce broken html - just forget one of those endblock thingys.

Second, Seaside has components - like widgets. You don't put the whole thing in one page, you have components like WebObjects or conventional GUI's had them.

Then there are halos. You can turn on halos in your page (from a set of links at the bottom) and boxes get drawn around all the component boundaries so you can see what part of the page is produced by which component. When halos are on, there are switches that let you render the HTML source for any PART of the page (or all of it). See below. Clicking the R shows you the Rendered html. S turns on the source view (see lower left).

The wrench opens a source code browser on the component. The eye is an inspector on the image where you can view/edit all the fields in the object. The crayon allows you edit css for that page region. I have no trouble telling where every bit of html comes from.

[image|http://www.inextenso.com/misc/blogs/sw2-halos/1.jpg||||]



We posture as apostles of fair play, as good sportsmen, as professional knights-errant-- and we throw beer bottles at the umpire when he refuses to cheat for our side...We save the black-and-tan republics from their native [statesmen]--and flood them with "deserving" democrats of our own. We deafen the world with our whoops for liberty--and submit to laws that destroy our most sacred rights...We play policeman and Sunday-school superintendent to half of Christendom--and lynch a darky every two days in our own backyard.


H.L. Mencken, 1914
Expand Edited by tuberculosis Aug. 21, 2007, 06:07:07 AM EDT
New No, I get it just fine.
I just don't agree with you that it's as useful as you seem to think it is, and I dislike the paradigm itself. Don't confuse disagreement with ignorance.

I prefer my HTML widgets to be written in HTML and markup, thank you very much. Not some unrelated language.

And if I forget and endblock, I produce a trace showing me that I forgot an endblock... not broken HTML.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New Been there before - maintenance Hell - not going back



We posture as apostles of fair play, as good sportsmen, as professional knights-errant-- and we throw beer bottles at the umpire when he refuses to cheat for our side...We save the black-and-tan republics from their native [statesmen]--and flood them with "deserving" democrats of our own. We deafen the world with our whoops for liberty--and submit to laws that destroy our most sacred rights...We play policeman and Sunday-school superintendent to half of Christendom--and lynch a darky every two days in our own backyard.


H.L. Mencken, 1914
Expand Edited by tuberculosis Aug. 21, 2007, 06:07:34 AM EDT
New Your experience differs from mine.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New Apparently so



We posture as apostles of fair play, as good sportsmen, as professional knights-errant-- and we throw beer bottles at the umpire when he refuses to cheat for our side...We save the black-and-tan republics from their native [statesmen]--and flood them with "deserving" democrats of our own. We deafen the world with our whoops for liberty--and submit to laws that destroy our most sacred rights...We play policeman and Sunday-school superintendent to half of Christendom--and lynch a darky every two days in our own backyard.


H.L. Mencken, 1914
Expand Edited by tuberculosis Aug. 21, 2007, 06:08:11 AM EDT
New Builder pattern... :-O
The problem with such a builder pattern is two-fold: 1. Can I trust whoever wrote it did everything 'right'? 2. What happens when I need it to do something it can't do - what sort of magic do I do to fix that? OTOH, I'd like see what it is like to actually use.

I've found that real HTML isn't something you want to get too far away from. Creating broken markup is the risk of staying close. But often it's an acceptable risk.

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.

· my ·
· [link|http://staticsan.livejournal.com/|blog] ·
· [link|http://yceran.org/|website] ·

New Two things
First - there' s nothing it can't do. Consider at its lowest level it uses something like

html tagNamed: 'exotic'

which means you can create any kind of tag you like.

Second you have the source code - extend it. There are several extensions floating around already that support things like yahoo web kit, scriptaculous effects, and so forth.

It doesn't take you far from the html however it makes you describe the document structure, not just spew bytes. Which means the structure can be verified and guaranteed.

HTML is a tree, not a stream. I've used many "templating systems". They all suck rocks for maintainability and are terribly fragile. They also don't generally enable component reuse.



We posture as apostles of fair play, as good sportsmen, as professional knights-errant-- and we throw beer bottles at the umpire when he refuses to cheat for our side...We save the black-and-tan republics from their native [statesmen]--and flood them with "deserving" democrats of our own. We deafen the world with our whoops for liberty--and submit to laws that destroy our most sacred rights...We play policeman and Sunday-school superintendent to half of Christendom--and lynch a darky every two days in our own backyard.


H.L. Mencken, 1914
Expand Edited by tuberculosis Aug. 21, 2007, 06:07:31 AM EDT
New Oi! Even if your screen is six foot wide, not everyone's is!
Could you break that fat-ass innermost line of the loop up into at least two chunks, so the less fortunate among us can read the fucking thread without scrolling hori-fucking-zontally?

Thank you.


   [link|mailto:MyUserId@MyISP.CountryCode|Christian R. Conrad]
(I live in Finland, and my e-mail in-box is at the Saunalahti company.)
Ah, the Germans: Masters of Convoluted Simplification. — [link|http://www.thetruthaboutcars.com/?p=1603|Jehovah]
New Do you have a 1886 Volvo CRT, too?
It looks fine here on my laptop screen at 1400 x 1050. Are you running CGA or something?

;-)

Cheers,
Scott.
New El Cheapo older(ish) HP laptop, 1024 x 768 I think.
And I like to use slightly larger(ish) fonts than most browsers default to.


   [link|mailto:MyUserId@MyISP.CountryCode|Christian R. Conrad]
(I live in Finland, and my e-mail in-box is at the Saunalahti company.)
Ah, the Germans: Masters of Convoluted Simplification. — [link|http://www.thetruthaboutcars.com/?p=1603|Jehovah]
New Yah sure - done



We posture as apostles of fair play, as good sportsmen, as professional knights-errant-- and we throw beer bottles at the umpire when he refuses to cheat for our side...We save the black-and-tan republics from their native [statesmen]--and flood them with "deserving" democrats of our own. We deafen the world with our whoops for liberty--and submit to laws that destroy our most sacred rights...We play policeman and Sunday-school superintendent to half of Christendom--and lynch a darky every two days in our own backyard.


H.L. Mencken, 1914
Expand Edited by tuberculosis Aug. 21, 2007, 06:16:45 AM EDT
New Great, Thanks.
     Nifty demo of J2EE vs Zope vs RoR vs django vs etc ... - (drewk) - (32)
         WooHoo! J2EE is the way to go! ;-) -NT - (Another Scott)
         Thoughts... - (admin) - (27)
             Other thoughts - (tuberculosis) - (16)
                 Other other thoughts... - (admin) - (14)
                     Builder pattern - (tuberculosis) - (13)
                         Not impressed. - (admin) - (5)
                             You still don't get it - (tuberculosis) - (4)
                                 No, I get it just fine. - (admin) - (3)
                                     Been there before - maintenance Hell - not going back -NT - (tuberculosis) - (2)
                                         Your experience differs from mine. -NT - (admin) - (1)
                                             Apparently so -NT - (tuberculosis)
                         Builder pattern... :-O - (static) - (1)
                             Two things - (tuberculosis)
                         Oi! Even if your screen is six foot wide, not everyone's is! - (CRConrad) - (4)
                             Do you have a 1886 Volvo CRT, too? - (Another Scott) - (1)
                                 El Cheapo older(ish) HP laptop, 1024 x 768 I think. - (CRConrad)
                             Yah sure - done -NT - (tuberculosis) - (1)
                                 Great, Thanks. -NT - (CRConrad)
                 Document generation in code - (ubernostrum)
             Thanks. - (Another Scott) - (9)
                 If you only saw half you missed the best parts. :-) - (admin) - (8)
                     What was at the end? - (drewk) - (1)
                         He built an actual application with each. - (admin)
                     Re: If you only saw half you missed the best parts. :-) - (ubernostrum) - (5)
                         Django newforms... - (admin) - (4)
                             Re: Django newforms... - (ubernostrum) - (3)
                                 Good deal. - (admin) - (2)
                                     Yeah. - (ubernostrum) - (1)
                                         I don't use the admin stuff - (admin)
         He needed to investigate integration - (warmachine) - (2)
             Depends on what you're doing - (admin) - (1)
                 I have back-ends - (warmachine)

I am discretely counting the dark sides you have seen.
148 ms