Principia Discordia

Principia Discordia => Techmology and Scientism => Topic started by: Captain Utopia on August 15, 2009, 08:30:54 PM

Title: Google Wave
Post by: Captain Utopia on August 15, 2009, 08:30:54 PM
Has anyone else got it? I would like to plan something fun with it, having collaborators would be handy. PM me your wave account address if you'd like to do something.
Title: Re: Google Wave
Post by: Requia ☣ on August 16, 2009, 11:17:31 PM
You work for Google then?  Its still not out, at all, in the general public if I'm not mistaken.
Title: Re: Google Wave
Post by: Captain Utopia on August 17, 2009, 12:04:58 AM
Quote from: Requia ☣ on August 16, 2009, 11:17:31 PM
You work for Google then?  Its still not out, at all, in the general public if I'm not mistaken.
If you sign up for the developer API you get preview access and can code gadgets, robots, etc. The back end is all GAE/GWT which I've played around with before.. but since there are only a few thousand people in right now, any useful gadget/robot has a massive early-adopter advantage.

Since it's likely to replace or at least change the way we use email/forums/wiki's/etc, it'd be nice to get some influences in there (like ddate in GNU), but I'm low on ideas at the moment - what groovy function would an Eris-bot do?
Title: Re: Google Wave
Post by: Soylent Green on August 17, 2009, 02:48:05 AM
Quote from: fictionpuss on August 17, 2009, 12:04:58 AM
Quote from: Requia ☣ on August 16, 2009, 11:17:31 PM
You work for Google then?  Its still not out, at all, in the general public if I'm not mistaken.
If you sign up for the developer API you get preview access and can code gadgets, robots, etc. The back end is all GAE/GWT which I've played around with before.. but since there are only a few thousand people in right now, any useful gadget/robot has a massive early-adopter advantage.

Since it's likely to replace or at least change the way we use email/forums/wiki's/etc, it'd be nice to get some influences in there (like ddate in GNU), but I'm low on ideas at the moment - what groovy function would an Eris-bot do?

Sex, drugs, and more drugs.
Title: Re: Google Wave
Post by: Requia ☣ on August 17, 2009, 04:31:24 AM
I'm signed up to bug test, whenever that happens.
Title: Re: Google Wave
Post by: Triple Zero on September 02, 2009, 11:26:52 PM
Personally, I kinda hope it flops.

Cause first, I've had it up to here with all this Google this Google that,
and second, I'm not really done with email and forums and shit yet,
and third, no way that Google is gonna write a rich web application that doesnt make a browser crawl.
Title: Re: Google Wave
Post by: Captain Utopia on September 03, 2009, 12:14:52 AM
Quote from: Broken AI on September 02, 2009, 11:21:52 PM
QuoteSince it's likely to replace or at least change the way we use email/forums/wiki's/etc
So its going to stop me posting inane banter, replying to nigerian spammers, and putting misleading information into wikis then?
No, yes, no - but you'll be traceable so you'd likely find yourself blacklisted if you do.

Quote from: Triple Zero on September 02, 2009, 11:26:52 PM
Cause first, I've had it up to here with all this Google this Google that,
Me too. But it is an open protocol, so the Google prefix will likely drop once it becomes more mainstream.

Quote from: Triple Zero on September 02, 2009, 11:26:52 PM
and second, I'm not really done with email and forums and shit yet,
Integration with email and forums is coming first, e.g. you could browse and post PD via wave, using less bandwidth than a regular user, but you'd have extra features layered on top of that which would draw users in. Embrace, extend, etc.

Quote from: Triple Zero on September 02, 2009, 11:26:52 PM
and third, no way that Google is gonna write a rich web application that doesnt make a browser crawl.
Maybe not Opera. But it's pretty nippy in Firefox, and javascript keeps getting faster. It's based on GWT, so the same Java code can run on the server, or be compiled into Javascript to run in the browser. There's also Gears integration which may be used to offload particularly intensive tasks away from the browser.
Title: Re: Google Wave
Post by: Rococo Modem Basilisk on September 03, 2009, 02:47:53 AM
I saw the video, and read the docs. It seems like the backend is basically an enfilade structure (in the xanadu sense -- i.e., it's a god damn nth-order b-tree with splitting on demand rather than based on numbers). I like enfilades (and a lot of the other xanadu data structures) so I'm happy with this -- I'd be happier if they used enfilades the way they were meant to be used (with tumbler addressing and transfinite numbers, because it's FAST) but google is primarily a web service company, not a systems programming company, so I can understand that they might ignore the most bloatsaving features of a pretty nuanced idea (it took me several years to really understand the draw of using tumbler addressing and enfilades). Ted Nelson did a google tech talk, and Plan R has been in effect at xanadu since around 1993, so presumably there is an implicit goahead on using this (potentially nasty, licensing-wise) data structure.

The thing is, the idea isn't new -- it dates from circa 1961. This makes it older than two-dimensional arrays. Google has re-branded it, sure. They have put it to use. But sooner or later someone is going to realize that a competent coder can whip this up in a couple of lines of python (the back end at least -- and if third party apps are just chunks of javascript and sgml in the istream, the frontend won't need to be much more than parsing through and spitting chunks into the vstream). In fact, a competent coder could pretty easily build a majorly improve (on a fundamental level) system based on the same design -- for instance, a couple weeks ago a friend and I were walking around town and managed to work out the design for a transparently distributed enfilade with redundancy, based around a normal SQL database and a modicum of clever message passing. This would be significantly easier to implement in, say, erlang, than a markov chain or a brainfuck interpreter. Granted, both of us have been working with various forms of the xanadu code and documentation for years, but once you get past some of the special terminology the ideas aren't that complex.

I applaud google for putting much-needed tech out there, especially when it has been kicking around for fifty years. I just think they are facing a situation where they can either do a half-assed implementation or put themselves shit out of business (or at least up the creek).
Title: Re: Google Wave
Post by: Requia ☣ on September 03, 2009, 03:34:46 AM
Google already released the vcode for the backend, so i fail to see how the backend being easy to duplicate would be relevant.
Title: Re: Google Wave
Post by: Captain Utopia on September 03, 2009, 04:08:46 AM
Easy to prototype + demo != easy to put into production. Two different worlds.

I'm not sure what meaning the xanadu reference has, as the functionality is entirely removed from the back-end storage, and blips != waves.

Anyway, back on point.. I now have some mindfuckery planned to do with it, and I might just have the time to implement it before wave opens up the doors at the end of this month.
Title: Re: Google Wave
Post by: Triple Zero on September 03, 2009, 10:28:21 AM
Quote from: Enki v. 2.0 on September 03, 2009, 02:47:53 AM
I saw the video, and read the docs. It seems like the backend is basically an enfilade structure (in the xanadu sense -- i.e., it's a god damn nth-order b-tree with splitting on demand rather than based on numbers). I like enfilades (and a lot of the other xanadu data structures) so I'm happy with this -- I'd be happier if they used enfilades the way they were meant to be used (with tumbler addressing and transfinite numbers, because it's FAST)

what's an enfilade? sounds interesting.

QuoteThe thing is, the idea isn't new -- it dates from circa 1961. This makes it older than two-dimensional arrays. Google has re-branded it, sure.

huh, ok maybe I should have watched the video all the way through, but really, I couldnt stand watching those smug google fuckheads for another minute.

what does this wave thing actually do, then?

it seemed to me it was just kind of like a combination between EtherPad (multiplayer notepad), forum-threads and mailinglists all mashed up into a bloated GWT app.

so assuming that is just part of it, which bits did I miss?

also, really, whatever it is, and does, I hope (probably in vain) someone (google) will release a lightweight (think uTorrent and HFS) stand-alone client for this thing, if it's supposed to be anything, because really the days of "rich web applications" are fucking over, it was a dead end to begin with, using the browser to do something it was never meant to do, building on legacy code upon scripting language, plugging holes, it's a mess. just an example, most people that use Twitter stepped away from the browser to an external app.
Title: Re: Google Wave
Post by: Rococo Modem Basilisk on September 03, 2009, 11:33:57 AM
Quote from: Triple Zero on September 03, 2009, 10:28:21 AM
Quote from: Enki v. 2.0 on September 03, 2009, 02:47:53 AM
I saw the video, and read the docs. It seems like the backend is basically an enfilade structure (in the xanadu sense -- i.e., it's a god damn nth-order b-tree with splitting on demand rather than based on numbers). I like enfilades (and a lot of the other xanadu data structures) so I'm happy with this -- I'd be happier if they used enfilades the way they were meant to be used (with tumbler addressing and transfinite numbers, because it's FAST)

what's an enfilade? sounds interesting.


typedef struct enfilade_t {
char* data;       // document
struct enfilade_t ** children;  // array of pointers to children
int child_count;
} enfilade;


A tumbler address is an array of integers between 0 and child_count - 1. To address any document in an enfilade structure, loop through the  tumbler, and insert the current index as the index of the child enfilade, like so:


char* get_stuffs(int* tumbler, enfilade* foo) {
if ( ++tumbler == NULL ) {
return foo.data;
}
return get_stuffs(tumbler, foo.child[tumbler[0]]);
}


The code may be wrong because it's 6 AM and I haven't had any caffeine yet.

Quote
QuoteThe thing is, the idea isn't new -- it dates from circa 1961. This makes it older than two-dimensional arrays. Google has re-branded it, sure.

huh, ok maybe I should have watched the video all the way through, but really, I couldnt stand watching those smug google fuckheads for another minute.

what does this wave thing actually do, then?

it seemed to me it was just kind of like a combination between EtherPad (multiplayer notepad), forum-threads and mailinglists all mashed up into a bloated GWT app.

so assuming that is just part of it, which bits did I miss?

also, really, whatever it is, and does, I hope (probably in vain) someone (google) will release a lightweight (think uTorrent and HFS) stand-alone client for this thing, if it's supposed to be anything, because really the days of "rich web applications" are fucking over, it was a dead end to begin with, using the browser to do something it was never meant to do, building on legacy code upon scripting language, plugging holes, it's a mess. just an example, most people that use Twitter stepped away from the browser to an external app.

The frontend is what they demoed, for the first part, but they said that the front end was swappable and what they were really selling was *their* front end plus *the* back end.

I'd argue that what their design showed was what would happen if you stored google docs in an enfilade back-end, in chunks. It's certainly not much more than that. Once you have properly implemented the backend, it's going to mostly be rearranging and spitting out chunks of html.
Title: Re: Google Wave
Post by: Requia ☣ on September 03, 2009, 02:47:05 PM
I really don't think the data structure of the backend is all that important.

The point of wave is basically that it has an open spec, so anybody can implement a new version, and users of 'new guy wave' can interact with google wave users, (the same way I can use any email with any other email).  It doesn't actually do anything new, except apparently use a data structure method enki seems to like (but data structures should be transparent to the front end programmer, let alone the end user).
Title: Re: Google Wave
Post by: Rococo Modem Basilisk on September 03, 2009, 04:02:05 PM
I'm a fan of the data structure, yes. And most of the apparent power of google wave derives from the data structure. I would argue that google is overcomplicating their design terribly, however, my first five or six implementations of this kind of thing were likewise overcomplicated.

If you do it Right* you implement the data structure, a couple wrappers, and a very simple protocol, then stick up a simple UI and some data in to start with, and you are done in a week or two. Google has spent two years doing what shouldn't take them a month had they really considered the problem (mind you, had they really considered the problem for six years, but they probably should have called up Ted Nelson).

* Right, in this case, is from the POV of a Xanadu fanboy with an inordinate internal emphasis on system programming and writing glue. I'd find it easier to do it this way, but at the same time, I would probably end up doing it in something like D or Erlang, and telling end users to fuck themselves in press conferences; google has better marketing skills than I do, obviously, and I doubt they care very much about the efficiency difference between tumbler addresses and URLs, given that they are writing the demo in Java with a javascript translator.
Title: Re: Google Wave
Post by: Captain Utopia on September 04, 2009, 04:47:30 AM
What I get from this is:

Also, GWT isn't a translator for Java.
Title: Re: Google Wave
Post by: Rococo Modem Basilisk on September 04, 2009, 11:43:32 AM
Quote from: fictionpuss on September 04, 2009, 04:47:30 AM
What I get from this is:

  • The only thing Google does better than you is PR and marketing
  • Google is stupid, and you are smart
  • You see enfilades everywhere, even places they have no reason to be

That is a pretty accurate list. For what it's worth, I really *do* think they based it off enfilades; I don't see enfilades in most other google things, and when they described the data structure that 'is' google wave at the end of the video, they were basically describing an enfilade.

Quote
Also, GWT isn't a translator for Java.

It's not?

Quote from: google
Google Web Toolkit (GWT), especially when combined with the Google Plugin for Eclipse, eases this burden by allowing developers to quickly build and maintain complex yet highly performant JavaScript front-end applications in the Java programming language.
Title: Re: Google Wave
Post by: Captain Utopia on September 04, 2009, 03:56:37 PM
Quote from: Enki v. 2.0 on September 04, 2009, 11:43:32 AM
For what it's worth, I really *do* think they based it off enfilades; I don't see enfilades in most other google things, and when they described the data structure that 'is' google wave at the end of the video, they were basically describing an enfilade.
Well an enfilade is basically a standard b-tree, but with a more efficient indexing system, right? So if they base it on anything like a standard b-tree, it could end up looking like an enfilade, especially if they gloss over the indexing? I dunno, I've been burned many times making false tech assumptions, that I've learned the value of caution, especially when there is inconclusive data.

Quote from: Enki v. 2.0 on September 04, 2009, 11:43:32 AM
Quote
Also, GWT isn't a translator for Java.

It's not?

Quote from: google
Google Web Toolkit (GWT), especially when combined with the Google Plugin for Eclipse, eases this burden by allowing developers to quickly build and maintain complex yet highly performant JavaScript front-end applications in the Java programming language.
No, it's not translator or interpreter for Java, it's compiled and highly optimised into Javascript. The claim is that it can now out-perform hand-crafted Javascript for moderately complex tasks - never really getting my hands dirty with Javascript I can't confirm that independently. Though I've had no issues with speed when using GWT: http://code.google.com/webtoolkit/examples/


Title: Re: Google Wave
Post by: Rococo Modem Basilisk on September 04, 2009, 04:59:50 PM
Quote from: fictionpuss on September 04, 2009, 03:56:37 PM
Quote from: Enki v. 2.0 on September 04, 2009, 11:43:32 AM
For what it's worth, I really *do* think they based it off enfilades; I don't see enfilades in most other google things, and when they described the data structure that 'is' google wave at the end of the video, they were basically describing an enfilade.
Well an enfilade is basically a standard b-tree, but with a more efficient indexing system, right? So if they base it on anything like a standard b-tree, it could end up looking like an enfilade, especially if they gloss over the indexing? I dunno, I've been burned many times making false tech assumptions, that I've learned the value of caution, especially when there is inconclusive data.

The major difference between a b-tree and an enfilade is that b-trees split and reorganize based on the (very small and fairly static) 'optimal' number of children. A 2/3 b-tree will almost always have 1, 2, or 3 children. An enfilade has n children, and doesn't reorganize because it's not a search tree.

Tumbler addressing isn't part of an enfilade -- it just so happens that it's terribly fast when used in combination with enfilades. The same principle of addressing by transfinite numbers is the basis for the dewy decimal system.

Quote
Quote from: Enki v. 2.0 on September 04, 2009, 11:43:32 AM
Quote
Also, GWT isn't a translator for Java.

It's not?

Quote from: google
Google Web Toolkit (GWT), especially when combined with the Google Plugin for Eclipse, eases this burden by allowing developers to quickly build and maintain complex yet highly performant JavaScript front-end applications in the Java programming language.
No, it's not translator or interpreter for Java, it's compiled and highly optimised into Javascript. The claim is that it can now out-perform hand-crafted Javascript for moderately complex tasks - never really getting my hands dirty with Javascript I can't confirm that independently. Though I've had no issues with speed when using GWT: http://code.google.com/webtoolkit/examples/

A smart optimizing translator is still a translator. Java and javascript both are terribly slow compared to well-written native code. I'm not claiming that GWT is trivial when I say it's a translator -- I am describing its function, not its mechanism. You stick java source in one end, and javascript comes out the other.
Title: Re: Google Wave
Post by: Captain Utopia on September 04, 2009, 05:17:18 PM
Quote from: Enki v. 2.0 on September 04, 2009, 04:59:50 PM
Quote
Quote from: Enki v. 2.0 on September 04, 2009, 11:43:32 AM
Quote
Also, GWT isn't a translator for Java.

It's not?

Quote from: google
Google Web Toolkit (GWT), especially when combined with the Google Plugin for Eclipse, eases this burden by allowing developers to quickly build and maintain complex yet highly performant JavaScript front-end applications in the Java programming language.
No, it's not translator or interpreter for Java, it's compiled and highly optimised into Javascript. The claim is that it can now out-perform hand-crafted Javascript for moderately complex tasks - never really getting my hands dirty with Javascript I can't confirm that independently. Though I've had no issues with speed when using GWT: http://code.google.com/webtoolkit/examples/

A smart optimizing translator is still a translator. Java and javascript both are terribly slow compared to well-written native code. I'm not claiming that GWT is trivial when I say it's a translator -- I am describing its function, not its mechanism. You stick java source in one end, and javascript comes out the other.
Compiler != Language translator
Title: Re: Google Wave
Post by: Rococo Modem Basilisk on September 04, 2009, 07:12:31 PM
When you get into stuff like java (bytecode based, though even that is blurred with JITs and such) the actual distinction between a translator and a compiler becomes so fuzzy that the choice of wording is little more than a statement about the level of respect you have for the project.

A translator between two radically different languages has precisely as much complexity as a compiler (which historically has been a translator between a high level language and either assembler or machine language, and is now considered a translator between a high level language and a low level language, bytecodes being more or less an attempt at a platform-agnostic machine code). Something that translates between java and javascript, no matter how well, could be argued as either a compiler or a translator. I would label it a translator, and not out of disrespect. I have done projects of that type, and there are complexities involved.

However, we are currently arguing over what word to apply to a project merely tangentally related to the subject at hand. I am sure that our impotent nerdrage is scaring people away from the thread. Can we agree to disagree about what label to apply to GWT, and simply say that the wave demo is written in java and/or javascript?
Title: Re: Google Wave
Post by: Triple Zero on September 04, 2009, 07:45:59 PM
Quote from: fictionpuss on September 04, 2009, 05:17:18 PM
Compiler != Language translator

Actually, that is the definition of a compiler. The course I took about compilers was in fact named [the Dutch words for] "Translator Building".

From Wikipedia: "A program that translates between high-level languages is usually called a language translator, source to source translator, or language converter."

Which is pretty much what I learned in Computer Science.

Also I don't quite understand why you are making a big deal out of this, especially since you apparently do not know much about the subject (compilers, that is, you probably know more about GWT than me, all I know about it is from the guy I'm working with that uses it to make a user-friendly admin-interface--a task for which it seems perfectly suited, IMO).

Apparently, you believe that a translator is something distinctly different than a compiler. Now, while according to the definition used everywhere in Computing Science, this is wrong, instead of arguing about definitions, you might want to explain what you think is the difference? Why do you (I suppose intuitively) disagree with this notion?
Title: Re: Google Wave
Post by: fomenter on September 04, 2009, 07:52:00 PM
poor ficpuss he wants so badly to be given ego strokes for being right about something.... and then somebody who actually knows something replies to his post  :lulz:
Title: Re: Google Wave
Post by: Captain Utopia on September 04, 2009, 09:01:18 PM
Quote from: Triple Zero on September 04, 2009, 07:45:59 PM
Quote from: fictionpuss on September 04, 2009, 05:17:18 PM
Compiler != Language translator

Actually, that is the definition of a compiler. The course I took about compilers was in fact named [the Dutch words for] "Translator Building".

From Wikipedia: "A program that translates between high-level languages is usually called a language translator, source to source translator, or language converter."

Which is pretty much what I learned in Computer Science.

Also I don't quite understand why you are making a big deal out of this, especially since you apparently do not know much about the subject (compilers, that is, you probably know more about GWT than me, all I know about it is from the guy I'm working with that uses it to make a user-friendly admin-interface--a task for which it seems perfectly suited, IMO).

Apparently, you believe that a translator is something distinctly different than a compiler.
That's because it is:
 "A program that translates between high-level languages is usually called a language translator, source to source translator, or language converter."

A human is not intended to read/edit/maintain the output of a compiler. While it is technically possible it is neither practical nor standard practice.

A human is intended to read/edit/maintain the source-code output of a language translator.

The javascript output of the GWT compiler is not source code.


Quote from: Triple Zero on September 04, 2009, 07:45:59 PM
Now, while according to the definition used everywhere in Computing Science, this is wrong, instead of arguing about definitions,
I'll argue about definitions if they're being used in an obviously incorrect manner.


Quote from: Enki v. 2.0 on September 04, 2009, 07:12:31 PM
When you get into stuff like java (bytecode based, though even that is blurred with JITs and such) the actual distinction between a translator and a compiler becomes so fuzzy that the choice of wording is little more than a statement about the level of respect you have for the project.
Nope. You can get language-translator generated code which is maintainable, GWT is not an example of this however.


Quote from: Enki v. 2.0 on September 04, 2009, 07:12:31 PM
A translator between two radically different languages has precisely as much complexity as a compiler (which historically has been a translator between a high level language and either assembler or machine language, and is now considered a translator between a high level language and a low level language, bytecodes being more or less an attempt at a platform-agnostic machine code). Something that translates between java and javascript, no matter how well, could be argued as either a compiler or a translator. I would label it a translator, and not out of disrespect. I have done projects of that type, and there are complexities involved.
If GWT outputted maintainable javascript, then I would agree. But it doesn't so I don't.


Quote from: Enki v. 2.0 on September 04, 2009, 07:12:31 PM
However, we are currently arguing over what word to apply to a project merely tangentally related to the subject at hand. I am sure that our impotent nerdrage is scaring people away from the thread. Can we agree to disagree about what label to apply to GWT, and simply say that the wave demo is written in java and/or javascript?
Sure, as long as you don't keep using it as an example of why Google don't care about efficiencies.

The interest in Google Wave demonstrated in this thread does seem to hinge on whether or not it's slow or slick - e.g. 000 thinks rich web applications are a dead concept.


Quote from: fomenter on September 04, 2009, 07:52:00 PM
poor ficpuss he wants so badly to be given ego strokes for being right about something.... and then somebody who actually knows something replies to his post  :lulz:
Nice try but fail.
Title: Re: Google Wave
Post by: Rococo Modem Basilisk on September 05, 2009, 01:27:48 AM
Quote from: fictionpuss on September 04, 2009, 09:01:18 PM
 "A program that translates between high-level languages is usually called a language translator, source to source translator, or language converter."

A human is not intended to read/edit/maintain the output of a compiler. While it is technically possible it is neither practical nor standard practice.

A human is intended to read/edit/maintain the source-code output of a language translator.

The javascript output of the GWT compiler is not source code.
[ .... snip ... ]

Quote from: Enki v. 2.0 on September 04, 2009, 07:12:31 PM
When you get into stuff like java (bytecode based, though even that is blurred with JITs and such) the actual distinction between a translator and a compiler becomes so fuzzy that the choice of wording is little more than a statement about the level of respect you have for the project.
Nope. You can get language-translator generated code which is maintainable, GWT is not an example of this however.


Quote from: Enki v. 2.0 on September 04, 2009, 07:12:31 PM
A translator between two radically different languages has precisely as much complexity as a compiler (which historically has been a translator between a high level language and either assembler or machine language, and is now considered a translator between a high level language and a low level language, bytecodes being more or less an attempt at a platform-agnostic machine code). Something that translates between java and javascript, no matter how well, could be argued as either a compiler or a translator. I would label it a translator, and not out of disrespect. I have done projects of that type, and there are complexities involved.
If GWT outputted maintainable javascript, then I would agree. But it doesn't so I don't.


Quote from: Enki v. 2.0 on September 04, 2009, 07:12:31 PM
However, we are currently arguing over what word to apply to a project merely tangentally related to the subject at hand. I am sure that our impotent nerdrage is scaring people away from the thread. Can we agree to disagree about what label to apply to GWT, and simply say that the wave demo is written in java and/or javascript?
Sure, as long as you don't keep using it as an example of why Google don't care about efficiencies.

The interest in Google Wave demonstrated in this thread does seem to hinge on whether or not it's slow or slick - e.g. 000 thinks rich web applications are a dead concept.

Regardless of whether or not the javascript that happens to be output is maintainable (and mind you, being someone who has written compilers, translators, interpreters, etc. and maintained pretty large projects in languages like TCL, PROLOG, FORTH, Erlang, assembler, etc., 'maintainable' is a terribly subjective term, particularly when referring to the code output by any kind of meta-program) it is still javascript. This means that it is a high level language, even if it's optimized by some complex analysis of code in another language. It is still going to be more or less as fast as (very fast) javascript can be.
Title: Re: Google Wave
Post by: Captain Utopia on September 05, 2009, 02:57:00 AM
Quote from: Enki v. 2.0 on September 05, 2009, 01:27:48 AM
Regardless of whether or not the javascript that happens to be output is maintainable (and mind you, being someone who has written compilers, translators, interpreters, etc. and maintained pretty large projects in languages like TCL, PROLOG, FORTH, Erlang, assembler, etc., 'maintainable' is a terribly subjective term, particularly when referring to the code output by any kind of meta-program) it is still javascript.
Javascript is Javascript. I agree.

Quote from: Enki v. 2.0 on September 05, 2009, 01:27:48 AM
This means that it is a high level language, even if it's optimized by some complex analysis of code in another language. It is still going to be more or less as fast as (very fast) javascript can be.
Javascript is every bit as fast as Javascript. I agree on this too.

At least one of us has missed the point.
Title: Re: Google Wave
Post by: Triple Zero on September 05, 2009, 02:39:52 PM
Quote from: fictionpuss on September 04, 2009, 09:01:18 PM
Quote from: Triple Zero on September 04, 2009, 07:45:59 PM
Quote from: fictionpuss on September 04, 2009, 05:17:18 PM
Compiler != Language translator

Actually, that is the definition of a compiler. The course I took about compilers was in fact named [the Dutch words for] "Translator Building".

From Wikipedia: "A program that translates between high-level languages is usually called a language translator, source to source translator, or language converter."

Which is pretty much what I learned in Computer Science.

Also I don't quite understand why you are making a big deal out of this, especially since you apparently do not know much about the subject (compilers, that is, you probably know more about GWT than me, all I know about it is from the guy I'm working with that uses it to make a user-friendly admin-interface--a task for which it seems perfectly suited, IMO).

Apparently, you believe that a translator is something distinctly different than a compiler.
That's because it is:
 "A program that translates between high-level languages is usually called a language translator, source to source translator, or language converter."

A human is not intended to read/edit/maintain the output of a compiler. While it is technically possible it is neither practical nor standard practice.

What do you base this upon? Intuition again? Or did you learn this somewhere? In which case, ask your money back. Compilers and compiler-construction are some of the most difficult, complex and fundamental topics in Computer Science. You are currently speaking in a manner similar to someone who has just read about Quantum Mechanics in a popular science magazine.

Don't go about assuming that you know about compilers because you have used them, and perhaps have an intuitive notion of what they do. Did you ever write one? Do you know what a Lexer is, for instance? I would suggest that you read up on the topic, except that the topic is really boring (moreso than QM), it was a mandatory course in CS, I'm glad I learned about it, but if you choose not to and just be an end-user of compilers, that is just as well. Just don't go around talking about what is and what is not a compiler, or what they do, should do and should not do if you are not sure of what you are talking about.

Getting back to your statement. Yes, it is often the case that compiler output is not meant for human reading or editing. But just because that is the way you have used compilers so far, doesn't mean the other option isn't standard practice elsewhere. Because it is. Take for example compiler construction, yes, there are compiler-compilers (http://en.wikipedia.org/wiki/Compiler-compiler). The Lexer I spoke about in the previous paragraph is part of that. What they do is take a formal definition of the language syntax as a high-level input, and compile this to C code. Except this C-code is not complete yet, it just contains the loops, recursive function calls and stuff to tokenize and parse the language from the formal definition syntactically, do syntax error checking and stuff like that. Because that's really complex stuff in which humans can easily make tiny errors that may not be discovered until years (the compiler-compiler itself is often formally proven to be correct--formal proofs of program correctness, another topic in Computer Science that I would not suggest studying for fun). But when that's done, yes the human is supposed to dive into the generated C code and attach semantics, variable type checking and stack building, memory management and of course target language output into hooks of the generated code. I'm fairly sure the GWT compiler has been written using these kinds of tools (the Google developers would be dumb not to).

(and in other cases, maybe for spot-optimizing or other highly specialized purposes can be a reason for a human to review compiler-output, however it can be argued that this is indeed not standard practice)

Regardless of all that, Java is a highlevel language, JavaScript is also a highlevel language. And a tool that translates one into the other is called a compiler. There's really not much more to it than that, it doesn't matter if the output is meant for humans or not. You can argue that a "source to source translator" is a specific subset of compilers, since it doesn't include those compilers that output binary code such as machine code, because that is usually not considered "source" code. They are still all translators, though. The term compiler is just reserved for those translators that deal specifically with programming languages (including machine language), as opposed to any kind of (including natural) languages.

Quote
Quote from: Triple Zero on September 04, 2009, 07:45:59 PM
Now, while according to the definition used everywhere in Computing Science, this is wrong, instead of arguing about definitions,
I'll argue about definitions if they're being used in an obviously incorrect manner.

where, in this case, obvious means "obvious to you, yet wrong by any kind of standard of Computing Science", which is why I suggested to stop arguing about the definitions, since I really don't care about your ideas of "correct usage" when you're just making shit up (aka "obvious"). The field of Computing Science has different ideas about those definitions and how they are used correctly, and I don't really feel the need to defend those against your ideas that you came up with.

Quote
Quote from: Enki v. 2.0 on September 04, 2009, 07:12:31 PMWhen you get into stuff like java (bytecode based, though even that is blurred with JITs and such) the actual distinction between a translator and a compiler becomes so fuzzy that the choice of wording is little more than a statement about the level of respect you have for the project.
Nope. You can get language-translator generated code which is maintainable, GWT is not an example of this however.

once more, whether you call something a compiler or a translator is not much to do with either "respect", or maintainability of the target code.

seriously. in the case of GWT you can use "compile" and "translate" interchangably, since the target language is not machine language. and even then, there's nothing wrong with saying that a C-compiler "translates" C to machine code either. Because that's what it does. Regardless of whether you intend to ever open the output code in a hex-viewer or disassembler.

Quote from: Enki v. 2.0 on September 04, 2009, 07:12:31 PMSomething that translates between java and javascript, no matter how well, could be argued as either a compiler or a translator. I would label it a translator, and not out of disrespect. I have done projects of that type, and there are complexities involved.
If GWT outputted maintainable javascript, then I would agree. But it doesn't so I don't.[/quote]

Well, that's very nice, except that in that case, your definition of the relation between "compiler" and "translator" is generally considered by the CS community--as you would say--"obviously wrong".

I don't understand where you get the idea that maintainability of the target code has anything to do with it, except I guess for your general experience that most compilers you probably have worked with produced unmaintainable code and the word "translator" from outside of Computer Science generally applies to something of which the output is suitable for human consumption. In other words, you have just been making shit up about whatever you consider to be "obviously right", instead of the generally accepted use of perfectly well-defined computing terms.

QuoteThe interest in Google Wave demonstrated in this thread does seem to hinge on whether or not it's slow or slick - e.g. 000 thinks rich web applications are a dead concept.

well, IMO, they should be. the browser was never intended to run applications like this. neither was JavaScript implemented in browsers in order to create the possibiliy for applications (it was for form validation, not more). PDF files also can embed JavaScript and MS Word files can embed VBScript, but you wouldn't turn them into rich applications either.

I personally think the approach by Adobe AiR is a lot more suitable, for example Twhirl. The idea of rich online applications is not bad, but better take the application out of the browser.

And in that aspect, GWT, while a beautiful piece of work, is exactly the wrong way to go about it. It takes the browser, which was not meant for running applications in, and a scripting language that has been forced to do something it wasnt meant for either, and then another language (Java) which is more generally used for application development, compile that back into the scripting language as an abstraction layer in order to be able to write rich applications with nice user interfaces in a language that application developers are comfortable with. Which is a great idea and works beautifully, except now you have several big fat layers of crud between the application and the platform it runs on.


Quote from: fomenter on September 04, 2009, 07:52:00 PM
poor ficpuss he wants so badly to be given ego strokes for being right about something.... and then somebody who actually knows something replies to his post  :lulz:
Nice try but fail.

[/quote]
Title: Re: Google Wave
Post by: fomenter on September 05, 2009, 03:35:33 PM
 :lulz:
Title: Re: Google Wave
Post by: rong on September 05, 2009, 05:21:16 PM
i programmed in assembly language once.

that was enough
Title: Re: Google Wave
Post by: Captain Utopia on September 05, 2009, 06:08:13 PM
Quote from: Triple Zero on September 05, 2009, 02:39:52 PM
Quote from: fictionpuss on September 04, 2009, 09:01:18 PM
Quote from: Triple Zero on September 04, 2009, 07:45:59 PM
Quote from: fictionpuss on September 04, 2009, 05:17:18 PM
Compiler != Language translator

Actually, that is the definition of a compiler. The course I took about compilers was in fact named [the Dutch words for] "Translator Building".

From Wikipedia: "A program that translates between high-level languages is usually called a language translator, source to source translator, or language converter."

Which is pretty much what I learned in Computer Science.

Also I don't quite understand why you are making a big deal out of this, especially since you apparently do not know much about the subject (compilers, that is, you probably know more about GWT than me, all I know about it is from the guy I'm working with that uses it to make a user-friendly admin-interface--a task for which it seems perfectly suited, IMO).

Apparently, you believe that a translator is something distinctly different than a compiler.
That's because it is:
 "A program that translates between high-level languages is usually called a language translator, source to source translator, or language converter."

A human is not intended to read/edit/maintain the output of a compiler. While it is technically possible it is neither practical nor standard practice.

What do you base this upon? Intuition again? Or did you learn this somewhere? In which case, ask your money back. Compilers and compiler-construction are some of the most difficult, complex and fundamental topics in Computer Science. You are currently speaking in a manner similar to someone who has just read about Quantum Mechanics in a popular science magazine.
You don't think that there is any difference between a "compiler" and a "language translator", yet the wiki page (http://en.wikipedia.org/wiki/Compiler) you quoted from makes just that distinction, earlier in the same paragraph:

QuoteThe name "compiler" is primarily used for programs that translate source code from a high-level programming language to a lower level language (e.g., assembly language or machine code). A program that translates from a low level language to a higher level one is a decompiler. A program that translates between high-level languages is usually called a language translator, source to source translator, or language converter.

So I'm guessing from the personal attacks, on this thread and others in the last few days, that this has very little to do with the technical matter at hand. I have no idea what your problem is with me, and I don't care.

Please stop talking to me, and I'll return the favour.

And fuck you.
Title: Re: Google Wave
Post by: Bruno on September 05, 2009, 06:54:49 PM
Donnie, you're out of your element.
Title: Re: Google Wave
Post by: Rococo Modem Basilisk on October 25, 2009, 12:41:24 AM
I scored access. Once I figure out how to invite people, who wants invites? PM me with requests.
Title: Re: Google Wave
Post by: Faust on October 25, 2009, 01:58:06 AM
REQUEST.
(ignoring the pm part)
Title: Re: Google Wave
Post by: Telarus on October 31, 2009, 10:33:20 AM
Yeah, I'd dig one too.
Title: Re: Google Wave
Post by: Rococo Modem Basilisk on October 31, 2009, 11:40:51 AM
Send me your email.
Title: Re: Google Wave
Post by: Requia ☣ on November 01, 2009, 06:50:20 AM
So what do I do with this thing?
Title: Re: Google Wave
Post by: MornTheOrator on November 01, 2009, 07:40:03 AM
I really don't get the appeal of this. I wasted three good invites of some one for this because I am periodically incapable of typing my email address properly and I really don't get this.

You really just multiplayer notepad. Also, it's really some contest of manliness in 'Oeehh, I can type faster than thou.'
Title: Re: Google Wave
Post by: Captain Utopia on November 01, 2009, 01:42:34 PM
Quote from: MornTheOrator on November 01, 2009, 07:40:03 AM
I really don't get the appeal of this. I wasted three good invites of some one for this because I am periodically incapable of typing my email address properly and I really don't get this.

You really just multiplayer notepad. Also, it's really some contest of manliness in 'Oeehh, I can type faster than thou.'
I haven't got into speed typing contests. I probably have the wrong friends.

Do this search "with:public tag:bip", and you'll see one neat application.

But in general, I'm more excited by the potential it has as a platform for new applications with custom robots and gadgets - most of the work seems to have been put into making the backend flexible and scalable. UI-wise I find it less inspiring, though that said I fully expect it to have alternative UIs (official and unofficial) within six months.
Title: Re: Google Wave
Post by: MornTheOrator on November 01, 2009, 01:47:03 PM
Quote from: frictionpiss on November 01, 2009, 01:42:34 PM
Quote from: MornTheOrator on November 01, 2009, 07:40:03 AM
I really don't get the appeal of this. I wasted three good invites of some one for this because I am periodically incapable of typing my email address properly and I really don't get this.

You really just multiplayer notepad. Also, it's really some contest of manliness in 'Oeehh, I can type faster than thou.'
I haven't got into speed typing contests. I probably have the wrong friends.
One's typing speed is more important for one's ability to attract women than one's chin, this has been in effect since 5 years, update your file-keeping.
Quote
But in general, I'm more excited by the potential it has as a platform for new applications with custom robots and gadgets - most of the work seems to have been put into making the backend flexible and scalable. UI-wise I find it less inspiring, though that said I fully expect it to have alternative UIs (official and unofficial) within six months.
I think I'm going to Knuth this and in 6 years say 'I was one of the first that had Wave, I've been having it since 2009, I'm stopping with it, if you want to contact me send me email.' and check this once a month.
Title: Re: Google Wave
Post by: Captain Utopia on November 01, 2009, 02:21:45 PM
Quote from: MornTheOrator on November 01, 2009, 01:47:03 PM
I think I'm going to Knuth this and in 6 years say 'I was one of the first that had Wave, I've been having it since 2009, I'm stopping with it, if you want to contact me send me email.' and check this once a month.
Put it this way, imagine blogs and news aggregation sites start adding support for using wave for comments. I don't bother commenting on sites like slashdot any more, even though most of my geek-friends check it multiple times a day. But using wave, comments from my geek-friends could bubble up to the top and we could have actual conversations instead of the usual semi-anonymous nerd-bitching which occurs.

In a similar way it can be used to integrate the functionality of twitter/digg/reddit/facebook/etc, with the major benefit being that as it's all open, there is no walled garden - if you want to migrate your wave data from microsoft to yahoo, you can do so.

So at the moment I see it as a value-add for me. But if, like Knuth, your goal is to absolutely minimise your contact with other filthy humans, then yeah - you'd probably want to avoid wave.
Title: Re: Google Wave
Post by: MornTheOrator on November 01, 2009, 02:30:01 PM
Quote from: frictionpiss on November 01, 2009, 02:21:45 PM
Quote from: MornTheOrator on November 01, 2009, 01:47:03 PM
I think I'm going to Knuth this and in 6 years say 'I was one of the first that had Wave, I've been having it since 2009, I'm stopping with it, if you want to contact me send me email.' and check this once a month.
Put it this way, imagine blogs and news aggregation sites start adding support for using wave for comments. I don't bother commenting on sites like slashdot any more, even though most of my geek-friends check it multiple times a day. But using wave, comments from my geek-friends could bubble up to the top and we could have actual conversations instead of the usual semi-anonymous nerd-bitching which occurs.

In a similar way it can be used to integrate the functionality of twitter/digg/reddit/facebook/etc, with the major benefit being that as it's all open, there is no walled garden - if you want to migrate your wave data from microsoft to yahoo, you can do so.

So at the moment I see it as a value-add for me. But if, like Knuth, your goal is to absolutely minimise your contact with other filthy humans, then yeah - you'd probably want to avoid wave.
I'm not quite sure what his goals are. I hate TeX and LaTeX alike though, I want it replaced by an XML standard for structure and some CSS or XSLT/FO thing perhaps for looks.

I hate it because it assumes that all people find the same things 'optimally readable', and that is why I like to reduce contact, or at least until the world has realized that 5.5pt #090909 on #000000 sans monospaced is the way to read.
Title: Re: Google Wave
Post by: Rococo Modem Basilisk on November 01, 2009, 02:36:08 PM
Quote from: MornTheOrator on November 01, 2009, 02:30:01 PMI want it replaced by an XML standard
:vom:

Then again, I consider brainfuck a reasonably maintainable language.
Title: Re: Google Wave
Post by: Shibboleet The Annihilator on November 03, 2009, 07:17:44 PM
Quote from: Triple Zero on September 02, 2009, 11:26:52 PM
no way that Google is gonna write a rich web application that doesnt make a browser crawl.

ITT: I predict they will. Not only will the pull it off for desktops but for handhelds as well.
Title: Re: Google Wave
Post by: Rococo Modem Basilisk on November 03, 2009, 08:41:12 PM
Meh. They *may*, but I doubt it will have anything to do with the application. They may just supply a browser and machine that it works nicer on.
Title: Re: Google Wave
Post by: Triple Zero on November 03, 2009, 08:44:12 PM
note I said "rich web application".

by which I mean, something running in a browser as a website. using HTML and JavaScript.

so whatever they pull off for desktops, custom browsers, OSes or even machines doesn't count.
Title: Re: Google Wave
Post by: Rococo Modem Basilisk on November 03, 2009, 08:54:47 PM
I'm saying they'd cheat.
Title: Re: Google Wave
Post by: Bebek Sincap Ratatosk on November 03, 2009, 08:57:13 PM
Also, if anyone else would like to help copy/format more BIP essays for the multi-wave BiP stuff... I've got it about half done. I'mm be adding a second 'Contents' section in the main wave for Contributed Essays, so people can write their own BiP Wave essays and then link them to the Main Wave.

Maybe it won't be any more valuable in this format, but it's worth a shot to see what happens.
Title: Re: Google Wave
Post by: Captain Utopia on November 10, 2009, 08:07:55 PM
Just got 30 new invites. If anyone wants to work on the BIP or other projects, or just poke around for fun, PM me your email and I'll add you.
Title: Re: Google Wave
Post by: typ3 on November 15, 2009, 05:58:13 PM
Google Wave is a failure. The only people that are willing to adapt to it have no real social network. :argh!:
Title: Re: Google Wave
Post by: Rococo Modem Basilisk on November 15, 2009, 06:18:29 PM
Quote from: typ3 on November 15, 2009, 05:58:13 PM
Google Wave is a failure. The only people that are willing to adapt to it have no real social network. :argh!:

Chill. It's not even out of beta yet. Wait another fifteen years.
Title: Re: Google Wave
Post by: Captain Utopia on December 28, 2009, 04:30:32 PM
With what happened with TCC in the last week or so, I started thinking that Wave would be the perfect platform to conduct trolls.

You can start with just one person, and add trusted individuals to the troll wave as it grows. Then when it's ready you can open it up to specific groups, or just make it public. The archived timeline/playback feature preserves who-said-what, so you have less chance of running into another CoG issue. Also, it's a minor point, but you can also just drag-n-drop screenshots into the wave directly from your desktop, which is less fiddly then uploading it first to photobucket or somesuch.

If anyone wants to try it out, you can grab contact details from the PD Intro Wave - here (https://wave.google.com/wave/#restored:wave:googlewave.com!w%252Bt_ASXN4iA.1). Oh, and there are a bunch of invites left - PM me your email if you'd like in.
Title: Re: Google Wave
Post by: Bebek Sincap Ratatosk on December 28, 2009, 05:09:09 PM
Quote from: FP on December 28, 2009, 04:30:32 PM
With what happened with TCC in the last week or so, I started thinking that Wave would be the perfect platform to conduct trolls.

You can start with just one person, and add trusted individuals to the troll wave as it grows. Then when it's ready you can open it up to specific groups, or just make it public. The archived timeline/playback feature preserves who-said-what, so you have less chance of running into another CoG issue. Also, it's a minor point, but you can also just drag-n-drop screenshots into the wave directly from your desktop, which is less fiddly then uploading it first to photobucket or somesuch.

If anyone wants to try it out, you can grab contact details from the PD Intro Wave - here (https://wave.google.com/wave/#restored:wave:googlewave.com!w%252Bt_ASXN4iA.1). Oh, and there are a bunch of invites left - PM me your email if you'd like in.

:lulz:

Excellent idea!
Title: Re: Google Wave
Post by: The Good Reverend Roger on December 28, 2009, 05:10:51 PM
Quote from: FP on December 28, 2009, 04:30:32 PM

The archived timeline/playback feature preserves who-said-what, so you have less chance of running into another CoG issue.

CoG wasn't caused by methodology.  It was caused by the fact that it's run by a coward, a traitor, and a pack of racist pricks.
Title: Re: Google Wave
Post by: Captain Utopia on December 28, 2009, 05:17:17 PM
Quote from: The Good Reverend Roger on December 28, 2009, 05:10:51 PM
Quote from: FP on December 28, 2009, 04:30:32 PM

The archived timeline/playback feature preserves who-said-what, so you have less chance of running into another CoG issue.

CoG wasn't caused by methodology.  It was caused by the fact that it's run by a coward, a traitor, and a pack of racist pricks.
Granted, that will generally do it.

I do think that methodology can help alleviate many communication problems, but CoG was a bad example to pick.
Title: Re: Google Wave
Post by: The Good Reverend Roger on December 28, 2009, 05:19:16 PM
Quote from: FP on December 28, 2009, 05:17:17 PM
Quote from: The Good Reverend Roger on December 28, 2009, 05:10:51 PM
Quote from: FP on December 28, 2009, 04:30:32 PM

The archived timeline/playback feature preserves who-said-what, so you have less chance of running into another CoG issue.

CoG wasn't caused by methodology.  It was caused by the fact that it's run by a coward, a traitor, and a pack of racist pricks.
Granted, that will generally do it.

I do think that methodology can help alleviate many communication problems, but CoG was a bad example to pick.

Yep.  Also, The Cellar was a bad option, for the very same reasons.
Title: Re: Google Wave
Post by: Bebek Sincap Ratatosk on December 28, 2009, 05:25:18 PM
Nonetheless, we do have problems with people tracing Trolls back to here, at least occasionally. Having Waves for trolls would allow the attack to be planned and executed by ONLY those involved in the troll and it would provide a full record for later LULZ by everyone else.
Title: Re: Google Wave
Post by: The Good Reverend Roger on December 28, 2009, 05:26:13 PM
Quote from: Doctor Rat Bastard on December 28, 2009, 05:25:18 PM
Nonetheless, we do have problems with people tracing Trolls back to here, at least occasionally. Having Waves for trolls would allow the attack to be planned and executed by ONLY those involved in the troll and it would provide a full record for later LULZ by everyone else.

Oh, sure.  I think it's a great idea.  I was just commenting that methodology wasn't strictly to blame for those two failures.