Hacker Newsnew | comments | leaders | jobs | submitlogin
Table Oriented Programming (geocities.com)
21 points by chipsy 112 days ago | 20 comments


3 points by zeynel1 112 days ago | link

http://news.ycombinator.com/item?id=871111

Is there a way to archive geocities pages like this one? And are there any other sites on this topic?

-----

5 points by RyanMcGreal 112 days ago | link

> Is there a way to archive geocities pages like this one?

    wget -r http://geocities.com/tablizer

-----

1 point by cpach 111 days ago | link

When I've tried that on larger GeoCities sites (say >100 documents), the servers seems to shut me down after a while :-(

-----

2 points by RyanMcGreal 111 days ago | link

Try the --limit-rate and --wait command line options to rein in the voraciousness of the download request. You can also use the -U option to pretend you are a browser.

So the command becomes something like:

    wget -r --limit-rate=20K --wait=20 -U 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20070802 FireFox/3.5.4' http://geocities.com/tablizer

-----

2 points by cpach 111 days ago | link

Thanks!

-----

2 points by zeynel1 111 days ago | link

Thanks

-----

1 point by joubert 111 days ago | link

Print to PDF?

-----

1 point by bhseo 111 days ago | link

Try the Scrapbook add-on for Firefox. It's quite handy.

-----

3 points by chipsy 112 days ago | link

This is a concept I discovered independently recently, terming it "relational data modelling" since that is the more general concept at work; I'm starting to use it to great effect in my own code to simplify all aspects of the program.

-----

2 points by raphar 111 days ago | link

Much of this Table Oriented Programming was always included in products like Progress. (AFIK Proggress was mature in 1995) In that platform you have tables as native languaje entities, data dictionary, transaction semantics for every entity in the languaje, a real DBMS in the backend handling persistense, unix/linux/windows real portability ... you name it. For example you can do in progress the following:

  for each customer:
    display customer.name.
    for each phone of customer:
       display phone.number.
       /*or can do: delete phone.*/
    end.
    /*or can do: customer.name = 'xxxx'.*/
  end.
It's very easy to read or write that code. But believe me that the platform, in adition to be propietary (read expensive), has its problems.

But I never knew why the good ideas of the platform weren't ported to newer ones.

-----

2 points by DenisM 111 days ago | link

Does anyone have a nicer, more concise introduction to TOP? This one is too verbose and yet is constantly referring to things that are not explained (at least yet?). Thanks.

-----

2 points by silentbicycle 112 days ago | link

There's quite a bit of (frequently trollish) posts from him on the c2 wiki, as well - http://c2.com/cgi/wiki?TopMind

He generally signed his name as just "-top", so not all the pages are interlinked.

-----

2 points by mahmud 112 days ago | link

tablizer ..

Interested parties can read his track record in usenet, slashdot and various other communities. They are advised to read the rebuttals as well.

He has been at it since 1999 at least; his ideas are sometimes sound, but the fervor with which he evangelizes them, and his neglect to take any opposing opinion into account, or respond respectfully, makes his work approach crackpot.

I am a fan of fringe ideas; on the positive extreme are people like Elaine Morgan of the Aquatic Ape Theory who is both dedicated to her position and also embraces criticism as an expected route to the truth. On the other hand are people .. who really should be seeking immediate medical help, and Usenet is full of them.

-----

4 points by chipsy 112 days ago | link

I don't think his presentation is great, but I recognized something I thought of myself, which is why I posted this. I would also like to offer my thought, which is:

Most of the difficulty in programming comes from defining data in relationship to other data, rather than to abstract value systems(which are what types and classes are).

If this is the case, then we should formulate the vocabulary and definitions we use for our data structures in a way that makes it as easy as possible to define and maintain data relationships, and correspondingly, easy to generate any kind of index or result set. If you do this, the nitty gritty of "which data am I working with" is gone. SQL is the obvious example of how this works, but it's tied into database systems, which are not the only use case.

The system proposed is table-centric. I don't think tables are special, myself. I think all collection types are worth considering based on their properties to define relationships. The model I'm currently testing out myself relates a single value to any number of property lists and collections and autoupdates all of them.

Functional programming is a strongly related concept to my eyes, since in that paradigm, processing on list structures is used and reused to define many sorts of relationships.

-----

1 point by silentbicycle 112 days ago | link

The reason his system is table-centric is because he feels the relational model is a good foundation.

-----

1 point by DenisM 111 days ago | link

To respond to one point: In standard SQL you usually cannot assign variables, macros, subroutines, etc. to complex or repeating parts in order to break the logic and sequence down into more manageable parts.

SQL actually has a way to break queries down, at least MS SQL does. There are views (certain kinds of views are even updatable), inline table functions (aka views with parameters) and Common Table Expressions.

-----

1 point by JoeAltmaier 111 days ago | link

Languages have been based on lists, stacks, procedures, objects. For years I have expected a table language to appear, just to complete the "Periodic table of Computer Languages".

-----

1 point by PhilChristensen 112 days ago | link

I'll admit that I didn't read this article particularly thoroughly, but how did he get through an entire overview of 'Table Oriented Programming' without mentioning Lua?

-----

2 points by jfoutz 111 days ago | link

(All material © copyright 1998, 1999, 2000, 2001 by Findy Services and B. Jacobs unless otherwise noted.)

Granted, lua seems to go back to '95 or so, but these ideas were old when the geocities page was created.

-----

1 point by alecthomas 112 days ago | link

I always thought Cellulose (http://pypi.python.org/pypi/Cellulose/0.2) was an interesting idea, though haven't done anymore than play around with it.

-----




Lists | RSS | Bookmarklet | Guidelines | FAQ | News News | Feature Requests | Y Combinator | Apply | Library

Analytics by Mixpanel