Lists all of the journal entries for the day.
Sat, 29 Apr 2006
11:57 PM - XForms, what the hell are they?
I got a link to wikipedia in relation to NeXT tonight and i stumbled across XForms. I've seen it posted on the w3 site for awhile and just thought it was a new syntax for HTML forms. Its much more than that. Its an MVC approach to forms which uses XML as a data source (part of the model) and can populate the form. What's really interesting is that it can be used in a generalized form to build GUIs. There are toolkits to use this client or server side, on mobile devices or even as an abstraction for standard local gui apps.
This info caused me to research MVC more :)
11:54 PM - Definition of Controller in MVC
I've struggled a bit with the MVC approach to programming Web or local gui apps for some time. I learned tonight there are two different definitions for the controller "C".
Here's my favorite.
The two meanings aren't as different as they seem. In both cases, the Controller is the element responsible for processing change. Whether the major work here is in capturing user input or routing the different layers depends on the environment.
In WebApps, a Controller has to authenticate, parse the request, validate it, and deduce the appropriate procedures (or methods to run). This is all a consequence of WebApp 's being remote (so we need validation), stateless, and done over a narrow channel (URL + request). So, the Controller functions mainly as glue.
In a local rich client GUI, on the other hand, none of this is necessary -- it's stateful, so there's no need to load a context. It's local, so we don't need to worry about validation. It's in process, so we don't need to parse requests and deduce procedures -- we can just hook them up in source (via callbacks or delegates or whatever). On the other hand, we do need to spend a lot of time capturing and deducing user input from keys and the mouse. So, it makes sense to call this element the controller. (In WebApp's, this is all done for us, and serialized to a narrow channel -- the URL and request).
In both cases, the Controller is the element for processing and routing change. The difference is only whether the bulk of that work lies in capturing the input or setting up an app flow based on it.
Also see http://en.wikipedia.org/wiki/Model-view-controller
6:06 PM - (no subject)
Its been a rough day. Caryn's graduation went fine, but it wasn't easy dealing with all the questions. We're not in a position to stick around kalamazoo for a year. She's starting work and i've got to go two more years. I'm not sure I want to though. I've been in school since 2001. I wish I had a degree now. At the same time I wonder what kind of job i could get in detroit with an associates degree. So many bachelors and masters canidates floating around. It would be hard to convince everyone that i can code even though i didn't get a degree in 3 years at western. :(
I want to be happy for caryn but at the same time i feel like i got sucker punched.