08
Aug 07

The Voice of Rock

Path: mv.asterisco.pt!mvalente
From: mvale…@ruido-visual.pt (Mario Valente)
Newsgroups: mv
Subject: The Voice of Rock
Date: Wed, 08 Aug 07 02:08:21 GMT

Ladies and gentlemen!, the white Stevie Wonder, the
Voice of Rock!, Mr Glenn Hughes!:

Deep Purple – Burn (California Jam 1974)
http://www.youtube.com/watch?v=2CErFTm72UQ
(where Glenn totally humiliates Coverdale)

Glenn Hughes – From Now On (unplugged)
http://www.youtube.com/watch?v=sDYI3_BXOaM

KLF – America: What Time is Love
http://www.youtube.com/watch?v=nrvNzH9aaUE
(where Glenn proves that even dance music can rock)

Glenn Hughes – Why Don’t You Stay
http://www.youtube.com/watch?v=on0IsXx3yj8

Glenn Hughes – Soulmover
http://www.youtube.com/watch?v=sXz6ASogp7w
(where Glenn shows what funk is to some of the RHCP boys)

— MV


07
Aug 07

I Have One Of The New iMacs

Path: mv.asterisco.pt!mvalente
From: mvale…@ruido-visual.pt (Mario Valente)
Newsgroups: mv
Subject: I Have One Of The New iMacs
Date: Tue, 07 Aug 07 22:00:21 GMT

… and I’ve had it for nearly 20 years:

http://en.wikipedia.org/wiki/NeXTstation

I will buy one of the “upgrades” when they get back to
having 100dpi MegaPixel monitors and Display Postscript,
since nothing much has seemed to changed meanwhile.

http://en.wikipedia.org/wiki/NeXT_MegaPixel_Display
http://en.wikipedia.org/wiki/Display_PostScript

http://www.catb.org/~esr/writings/taouu/html/graphics/nextstep.png
http://www.drunkenblog.com/drunkenblog-archives/i/starmanta_nextaqua.jpg

You can also have one for free without buying new hardware
or by buying new hardware but for far less than $1000.

http://www.windowmaker.info/gallery.php
http://www.gnustep.org/

http://cgi.ebay.com/Complete-NeXT-Computer-System-with-Printer_W0QQitemZ170137436508

— MV

PS – Hint: if you need to learn how to program for Mac OSX this
is the best book you can buy:
http://www.amazon.com/NeXTSTEP-Programming-STEP-Object-Oriented-Applications/dp/0387978844


07
Aug 07

A Future Web Development Framework – Architecture

Path: mv.asterisco.pt!mvalente
From: mvale…@ruido-visual.pt (Mario Valente)
Newsgroups: mv
Subject: A Future Web Development Framework – Architecture
Date: Mon, 06 Aug 07 23:47:21 GMT

If you have now digested the contents of my previous post
on this subject, I’ll proceed with my thoughts on architecture
for a future web framework.

http://mv.asterisco.pt/cat.cgi?A%20Future%20Web%20Development%20Framework%20-%20Introduction

(yes, I know I said “must be done this weekend”; I meant
“this week”…”month”…”before the end of the year” :-)

I guess that there isnt much to say about the need for the
use of two patterns: the 3-tier system architecture and the
MVC design pattern. These two patterns are by now commonly
understood and used and their need is accepted by anyone doing
web applications.

The problem is that these patterns are in and of themselves
in conflict. And although they are understood and used, because
of that inbred conflict a few problems arise in several (if not
all) web development frameworks.

The 3-tier architecture is a system design pattern. It splits
the components of an information system into 3 levels, namely
Data, Logic and Presentation.

        +--------------------+
        |                    |
        |                    |
        |   Presentation     |
        |                    |
        |                    |
        +--------------------+
                 ^
                 v
        +--------------------+
        |                    |
        |                    |
        |      Logic         |
        |                    |
        |                    |
        +--------------------+
                 ^
                 v
        +--------------------+
        |                    |
        |                    |
        |       Data         |
        |                    |
        |                    |
        +--------------------+

Notice the two way communication between each tier.

This is normally used to split an information system into
technological components that can be scaled either vertically
(ie. buy bigger iron) or horizontally (ie. buy more machines)

The above diagram is usually made real with the database server
representing the lower Data level, the application server (and
application code) representing the middle Logic level and the
webpages/templates/HTML/CSS representing the presentation level.
The webpages deal with UI which, when needed, calls functions
at the appserver to do some processing; these functions use
data and store data in the database, process the data and return
the results to the (possibly another) webpage.

We now have one of the problems with this pattern that is
reflected time and again in several web frameworks: the presentation
level is actually 2 levels in one. At presentation level not only
do you have the actual look/UI of the app, you also have some code
(ie. logic); but its a different type of code/logic from the one
that is resident at the middle Logic level. The middle Logic level
is constituted only by business logic. The logic/code present at
the presentation level should only be code for application behaviour
and orchestration.

Several webframeworks, when confronted with this, allow for
a complete powerful language within the templating system. This
powerful language immediately gets used to do more than UI stuff
and programmers start using it to do business logic. Chaos ensues.
Presentation stuff (HTML) is mixed with code (ASP, PHP, whatever),
you lose the important separation between Model and View (MVC pattern)
and you get designers and programmers stepping on each others toes
when files get passed between the HTML editor of choice (which usually
mangles the code) and the programmers editor of choice.

(Dont talk to me about achieving that through discipline; that
means that either you have never worked in a real project or
that you’ve never experienced launch date crunch; which means
that you’ve never worked in a real project…)

The MVC pattern is a design pattern. You use it to model
an information system that includes a user interface (UI).
The system is decoupled into a Controller (UI component),
a View (UI component) and a Model (domain abstraction)

           +----------------+             +----------------+
           |                |             |                |
           |                |             |                |
           |   Controller   |   (MVC model component)
                        v          |
                +---------------+  |
                |               |
                |     Data      |
                |               |
                +---------------+

The 3-tier pattern is actually a 2+2 tier (and might
actually be 2+3 tier if you consider that at presentation
level you have a subset of the data level)

To achieve a coherent use of both patterns, a web
framework must ensure that its templating system does
not allow for programmers to use it for business logic.
There are several ways that this can be done: by making
sure that UI is done declaretively, that the language is
limited in its power (HTML only) and by making sure that
all subset data in the view is produced only by the business
logic (through a controller call to the logic level) and not
by direct manipulation of the view by the controller.

From the previous diagram it is clear what my next
posts subjects will be:

– Backend Storage
– Application Logic
– Templating (view stuff)
– Form Handling (controller stuff)

This is only looking at the boxes. If you look closely
at the diagram there are also arrows. These represent other
stuff that must be addressed:

– URL mapping (the arrow between controller and logic)
– data access/exchange (the arrows be logic-view and logic-data)

— MV


05
Aug 07

Currently Playing

Path: mv.asterisco.pt!mvalente
From: mvale…@ruido-visual.pt (Mario Valente)
Newsgroups: mv
Subject: Currently Playing
Date: Sun, 05 Aug 07 15:25:21 GMT

Currently playing a very good ambient CD:

“Synaesthetic” by A Positive Life
http://www.waveformhq.com/synaesthetic.html

With very cool videos:

A Positive Life – Bathdub (Video Edit)
http://www.youtube.com/watch?v=w2jp8bRjLhQ

A Positive Life – The Calling (Ambient mix Video Edit)
http://www.youtube.com/watch?v=kjxqHpC6-Ag

A Positive Life – Pleidean Communication (Video Edit)
http://www.youtube.com/watch?v=4w0s1aVtPSQ

— MV


02
Aug 07

Readers Digest

Path: mv.asterisco.pt!mvalente
From: mvale…@ruido-visual.pt (Mario Valente)
Newsgroups: mv
Subject: Readers Digest
Date: Thu, 02 Aug 07 22:25:21 GMT

If you’re wondering why I havent posted much lately
about books, its because I havent been reading any.

I finally unboxed, cleaned up and stacked two collections
that I inherited from my father: Vampiro and Readers Digest.

http://www.livrosdobrasil.com/cole.php?S1=VAMPIRO&OPS1=EQ

http://en.wikipedia.org/wiki/Reader’s_Digest
http://www.rd.com/international/shared/index.jhtml?countryid=pt

I’m back reading Readers Digest which my father had going
back to 1962 (and up until he died in 2003). So I have a lot
to go through :-)

— MV