[nodejs] My desk is URDESK (a very good client for node)

2014-02-10 Thread Dennis Kane
(If this is tl;dr, just go to http://urdesk.net right now)

What does it mean for something to be a good node client?

When I think of a client for node.js, I think of a dynamic user experience 
that doesn't really require any page refreshes, and that stirs up a whole 
bunch of good feelings as regards what is possible on the web. 

I started thinking about web programming in the mid-2011 time frame. I 
wanted to see how far I could push the concept of a dynamic user 
experience. Fast forward to February 10, 2014 (today), and I think that my 
original vision has finally come to fruition. Starting in September 2012, I 
began working on the current incarnation. My idea was to go all in by way 
of seeing if I could duplicate the OS X end user experience inside of a web 
browser... all courtesy of Google's V8 JS engine running inside of standard 
Chrome.   Since that time, I've put in about a full year's worth of 8-12 
hour coding days. Here is the basic setup: 

There is a core desktop module that performs all of the essential system 
level operations: window, icon, context menu, menubar, and toolbar GUI 
operations, as well as all of the interactions with Local Storage and the 
filesystem API. 

There are several self-contained modules of which the core has no knowledge 
that plug into the system through a basic interface.  The most important of 
these modules are the Unix-style text editor (called Nanim) and the 
command-line interface.  There are other, graphical modules that I've spent 
relatively small amounts of time developing, such as a media player and a 
prototype-phase word processor. 

There are several ways of thinking about the system.  Most obviously, I 
think that it pushes the envelope in terms of how we understand the notion 
of an operating system.  Such a thing has traditionally been written in 
native code, and has required a fairly sizeable cost to download, install, 
replace, etc.  (What I mainly mean by cost is NOT the purchase price, but 
rather the potential for catastrophe if the installation procedures are not 
followed precisely.  So by this definition, we can judge the commercial 
OSes to be much cheaper that all of the Linux distributions that require 
one to do things such as partition hard drives and install custom boot 
loaders to try them out.) 

We can call the OS that I've developed a trivially loadable/bootable OS. 
The only investment that it currently requires comes in the form of 
accepting the browser's this site wants to permanently store data on your 
computer prompt, and then waiting the minute or so for all of the 
resources to download. After that, everything is served locally, meaning 
that a network connection is not necessary for it to load. Furthermore, 
given that all of the locally stored data is essentially namespaced by the 
domain name, one can have many OS environments running alongside each other 
in different tabs of the same browser, with the caveat that each tab is 
must use a different subdomain (this just means that all of the resources 
owned by www.urdesk.net essentially live in a sandboxe, safely hidden away 
from, eg. dev.urdesk.net... or any other subdomain of urdesk.net). 

In this way, there is essentially zero cost involved when it comes to 
experimenting with a new OS, and trying out all of the different 
applications contained within it. Application developers will be able to 
write their logic without having to worry about distribution problems, 
given that it will be guaranteed to run on any Chrome browser, thereby 
eliminating all issues related to downloading (and the related issue of 
viruses), plugin-installing, flag-enabling, etc. 

The next level of thinking about the system is that the applications are 
not traditional applications in the sense that they run as different 
native processes, and thereby keep their data structures in mutually 
exclusive address spaces. In this system, there are precisely zero issues 
of interprocess communication (IPC). All applications are actually just 
JavaScript function objects that collectively inhabit a single browser tab 
address space. All complications traditionally related to IPC now become 
null and void. Given this fact, the possibilities in terms of the 
development of a holistic kind of user experience increase profoundly. (As 
a trivial example of this, imagine your calendar app being aware of what 
you are typing into your word processor and adjusting itself according.) 

And finally, this system allows for the emergence of a fundamentally new 
paradigm in terms of how we relate to our computers.  I have actually had a 
much longer history developing AI-type command-and-response systems than I 
have had developing user interfaces.  Within the command-line interface, 
there is a working prototype of a natural language REPL (read/eval/print 
loop) that accepts the kind of syntax that the most naive of end users 
would not find intimidating in the least.  You must understand that I 

[nodejs] Re: A decent client for a node backend...

2014-01-25 Thread Dennis Kane
The idea of implementing client-side data binding is something that really 
appeals to me, and I think it can really spur innovation in the world of 
tech.  So, I  wanted to give each terminal window the ability to have its 
own arbitrarily sophisticated  environment that could be persisted between 
 page loads. 

In normal command line mode, everything is really just treated like a 
string that must  be interpreted based upon the particular command that has 
been invoked. 

Try doing:

$ echo 1 2 3 4 5

And then:

$ echo 1 2 3 4 5

...there's really no difference between the  two. 

But then you can interact with the terminal's environment object by running 
the eval command as such:  

$ eval one=1 

This is much different than saying:

$ eval two=2

After running both of these commands, you can do this: 

$ env

...in order to see a nicely formatted  representation of the environment in 
which you are running.  You will see that there is indeed a fundamental 
difference in terms of the internal representations of the  variables, 
one and two. 

Now the thing that really makes this stand  apart from, for example, a bash 
environment,  is that you can create arbitrarily sophisticated object 
trees. 

One way to create an object is by using variable names that you've already 
declared like this: 

$ eval myobj={one,two}

This will create a JSON object with the keys  set to one and two, and 
the values set  to the values that you've given them. 

But to start having real fun, you can do  something like this: 

$ eval myobj.childobj={}
$ eval myobj.childobj.which=true

Then you can also make pure arrays with this  kind of notation: 

$ eval arr=[1, two, myobj, 4, false]

Okay, writing all of these eval's seems  pretty tedious, no?  How about 
running the  command: 

$ evalon

...in order to make the initial eval  implicit.  And the commands will 
look like  this: 

 myobituary = Goodbye cruel world

You can exit from this mode just by pressing ctrl+c, or simply by typing a 
period into the prompt and pressing enter. 

My motivation for all of the above is simply to allow for easy typed data 
binding between remote machines, whether the machines are clients or 
servers. That is, you can define a data structure in your browser, and then 
have it unambiguously persisted on the serverside, or even in other 
clientside desktops.  

I so far have done some work in  terms of keeping these JSON objects on the 
server as python dict types, and then being able to remotely manipulate 
these objects via xhr POST requests. This will allow for the rapid 
development of  application specific data structures within the browser, 
and then deploying these same structures with just a couple of key strokes 
from the browser's own terminal. 

Give it a try!

On Wednesday, January 22, 2014 8:28:16 AM UTC-5, Dennis Kane wrote:

 It has been kind of an obsession for me to create the kind of end-user 
 experience that will really allow node to start actually being put to use. 
  I've spent pretty much an entire year of full time coding getting this 
 thing ready for prime time.  The only caveat is that you need a Chrome 
 browser, as it crucially depends on the filesystem API.  I won't get into 
 the details of how to user it.  For now, just go there and start clicking 
 around.  As people show interest, I'll start giving instructions.

 Where is there?

 HERE -- http://urdesk.net

 urdesk means: yoUR DESK and Uniform Resource DESK.


-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[nodejs] Re: A decent client for a node backend...

2014-01-24 Thread Dennis Kane
, there are Socket and Message classes that 
respectively allow for realtime messaging and email-like messaging. 

You can create a Socket like this:

$ makesocket socket_name num_minutes

This will create a Socket object that has a token that allows users to push 
realtime messages to other users.  socket_name can be anything you want, 
and other users will need to know it in order to contact you. 
 num_minutes can be aything up to 24 hour's worth of minutes. 

If the socket has been successfully created, a popup box should alert you. 
 You can then test it out with the command: 

$ ping self

But before I continue, let me just advise you to go to File-Create 
persistent session while in the Terminal. This allows you to save the 
command-line history (so that you can use up/down arrows to use commands 
from earlier sessions) and it also saves an ENV object that attaches to the 
terminal window (I will get into ENV some other time). A persistent session 
just means that an icon will be created on the desktop that will allow you 
to reload all of that state. 

You can run the command:

$ sys

To see some of the system-level values that are held internally in ENV. 
After successfully running makesocket, you should see a bunch of 
key/value pairs that the terminal app uses in order do all of the socket 
creation stuff. 

Back to ping.  If everything is going okay, you should see a ping delay 
of something around 500 ms or so.  But in order to ping someone else, you 
will need to run the command 

$ ping username socket_name

This will let you know that the lines of communication are open.  If for 
some reason there is a problem with your connection, the ping command 
will timeout after 5000 ms. 

Now, about email-like messaging...  At the moment, the easiest way to send 
a message is by opening TextEdit (in the Applications folder) and then 
hitting ctrl+alt+shift+m in order to toggle messaging mode.  My username is 
Dennis, so you should be able to easily figure out how to send me a message 
(ie, you just need to type Dennis in the 'To' field in order to address 
it to me.) 

In order to retrieve meta-information about the messages that have been 
sent to you, just run: 

$ getmessages

The response will be the number of new messages that are available to view. 
 In order to read individual messages, you just need to run: 

$ listmessages

...which will automatically put you into select mode.  Now you can move 
the cursor around the screen.  To view a message, just move the cursor onto 
the appropriate line and press enter.  This should pop up a TextEdit window 
with the message inside of it.  You can then respond to the message by 
hitting ctrl+alt+shift+m, and all of the necessary fields should be 
automatically filled in.  (You can always toggle the terminal's select mode 
with ctrl+alt+shift+s.  You will need to do this after running 
listmessages in order to get back to the normal CLI mode.) 

To try this out, just send a message to Dennis that I can then respond to.

Okay, I wrote this entire post in Nanim, and I have to say it was quite a 
pleasing experience :-) (I'll teach you guys how to really put it to use 
sometime later.) 


On Wednesday, January 22, 2014 8:28:16 AM UTC-5, Dennis Kane wrote:

 It has been kind of an obsession for me to create the kind of end-user 
 experience that will really allow node to start actually being put to use. 
  I've spent pretty much an entire year of full time coding getting this 
 thing ready for prime time.  The only caveat is that you need a Chrome 
 browser, as it crucially depends on the filesystem API.  I won't get into 
 the details of how to user it.  For now, just go there and start clicking 
 around.  As people show interest, I'll start giving instructions.

 Where is there?

 HERE -- http://urdesk.net

 urdesk means: yoUR DESK and Uniform Resource DESK.


-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [nodejs] A decent client for a node backend...

2014-01-24 Thread Dennis Kane


On Wednesday, January 22, 2014 2:41:17 PM UTC-5, Kevin Ingwersen wrote:

 This thing, is AWESOME :D 

 I used to enjoy eyeOS…but now it has turned into, what i call it, 
 „Businessware“. It used to be a nice open source thing, but now thanks to 
 th virtualization and the like, it has grown into…something far away from 
 consumers, as i feel it. 
  


I haven't seen anything in the wild that approaches this.  And for me, 
anything not in the wild just doesn't even exist.
 

 This here however, is much more different, but an aproach that I like: A 
 simple desktop, with a simple UI. Okay - its very Mac-ish, but I like that 
 honestly. 
  I


Haha, it is meant to be a shameless clone of the OS X GUI.  Before I put 
that Chrome-with-a-bite-mark logo in the top left, I actually had the Apple 
logo.
 

 My favorite is the terminal, that actually knows ^c :) And since it knows 
 that, let me guess it uses something like termlib or termjs? - Because 
 then, i guess it could run things like ssh or top too. Very cool! 


I made a conscious decision to not really use any kind of frameworks or 
huge libraries.  I developed my own canvas based implementation of 
Linux/Unix/*nix libcurses in pure JS, from the ground up.  

Trying doing:

$ sleep 5000; echo blah blah blah

... and then hit ctrl+c after a couple seconds to verify that it really 
works.  (The number represents milliseconds to sleep.)
 

 At least I am totally interested in that, as it would make teamworking 
 much easier - instead of needing to „abuse“ github repos o-o; 

 But one question: How did you make this well done OS X menu bar? I didnt 
 check the page source yet, but it is well done. 


Ahh, I knew I would have to sit down and take as much time as necessary in 
order to get that right.  You can check out magnification by clicking on 
the desktop and going to System-Settings, and then clicking the Dock 
tab.  Try moving icons from the Applications folder onto the Dock.  Make 
the dock really small, and the maginification level really big in order to 
see something cool!
 

 Just that the menu doesnt close if you click te title again.


Not sure quite what you mean, but I can assure you this thing is FAR from 
being bug-free :)
 

 But other than that - great :) 


Cool... thx for the feedback!
 

 Am Mi. Jan. 22 2014 14:28:16 schrieb Dennis Kane: 



 

  It has been kind of an obsession for me to create the kind of end-user 
 experience that will really allow node to start actually being put to use. 
  I've spent pretty much an entire year of full time coding getting this 
 thing ready for prime time.  The only caveat is that you need a Chrome 
 browser, as it crucially depends on the filesystem API.  I won't get into 
 the details of how to user it.  For now, just go there and start clicking 
 around.  As people show interest, I'll start giving instructions. 
  
  Where is there? 
  
  HERE -- http://urdesk.net 
  
  urdesk means: yoUR DESK and Uniform Resource DESK. 
  
  -- 





-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[nodejs] A decent client for a node backend...

2014-01-22 Thread Dennis Kane
It has been kind of an obsession for me to create the kind of end-user 
experience that will really allow node to start actually being put to use. 
 I've spent pretty much an entire year of full time coding getting this 
thing ready for prime time.  The only caveat is that you need a Chrome 
browser, as it crucially depends on the filesystem API.  I won't get into 
the details of how to user it.  For now, just go there and start clicking 
around.  As people show interest, I'll start giving instructions.

Where is there?

HERE -- http://urdesk.net

urdesk means: yoUR DESK and Uniform Resource DESK.

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
nodejs group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[nodejs] Re: Simple chat-room example?

2013-01-04 Thread Dennis Kane
I've recently been hip deep working on a chatroom on my site @ 
http://luvluvluv.info.  I wouldn't call it simple, but I do use socket.io 
and I can testify it is da bomb.  My site is supposed to be an in-browser 
OSX kind of thing.  It's all javascript... client and server.  No markup, 
no css, just one big blob of a  script file (well, two if you count 
script src=/socket.io/socket.io.js!)  It's kinda hard to explain... you 
just need to see it (with a Chrome browser, of course).


On Friday, January 4, 2013 6:38:17 PM UTC-5, Josh Santangelo wrote:

 I'm trying to build a simple server where multiple clients connect over 
 TCP, and any message from a client is relayed to all the others. This isn't 
 going to be used for a chat room, but it's basically the same idea.

 I tried building this with socket.io but got stuck pretty quickly:

 var io = require('socket.io').listen(81);

 console.log('foo');
 io.sockets.on('connect', function (socket) {
   console.log('connected...');

   socket.on('disconnect', function () {
 console.log('disconnected');
   });
 });

 I see foo trace out, and on the client side it looks like I'm connected, 
 but connected and disconnected never trace out, so I'm guessing those 
 event handlers aren't working for some reason.

 I'm not married to socket.io, and actually using fewer modules would be 
 better, but I'm surprised I couldn't find a code sample for this use case 
 since it sounds like it's a pretty common node.js usage.

 Obviously this is my first time using node.js! Any pointers would be very 
 helpful.

 thanks,
 -josh


-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


[nodejs] Re: What Editor do you use?

2013-01-04 Thread Dennis Kane
I am using a JS implementation of an Unix style ncurses-like editor (using 
canvas) on my site http://luvluvluv.info that I call archiTex.  I 
wanted it to incorporate my favorite parts of nano and vim.  I like nano 
because of its sheer simplicity, and I like vim for all the fancy 
functionality.  I don't use it for too much at the moment, because all my 
my time has recently been spent in development.  But it is pretty rich in 
text selection/ file manipulation department.  I'm thinking about doing 
some JS color coding using JSLint sometime in the future (if I'm bored 
enough).  But I'm really interested in being able to construct arbitrarily 
structured tabular text files that can be easily used for runtime, 
in-browser data binding.  Those are some cool netbeans!

On Monday, December 31, 2012 10:07:23 AM UTC-5, Rodrigo Fonseca wrote:

  I'm trying to use netbeans, but when i try to put a ejs file, the 
 netbeans doesn't recognize it, so i'm using textMate, but i really i want 
 to use the netbeans. I'm on Mac, there is any other editor?

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


[nodejs] One JS interface to rule them all?

2012-12-27 Thread Dennis Kane
I am writing this in a canvas-based, curses-style text editor that I have 
incorporated into my site at http://luvluvluv.info. But more about that 
later... 

I started working on the current incarnation of my site just over 3 months 
ago... my challenge was to develop the best possible JavaScript Web 
interface, so I chose to use OSX as my model.  Ever since I learned about 
node.js and got bitten by the JavaScript bug, I have wanted to see how far 
I could push the boundaries of web programming. I can honestly say at this 
point: pretty damn far, LOL! 

I finished all of the major icon and window handling work quite a while 
ago, and I have been recently working on window tiling, the above-mentioned 
text editor, and now, a chat application. 

I want to use this site as something that can do, well, anything really. 
And to be able to do anything, you really do need a text editor that is up 
to the task. The editor is something of a combination between my favorite 
aspects of nano and vim. I like nano because there are no weird major 
modes to trip you up. If you press a key expecting a letter to show up at 
the cursor, you will always get what you expect. But at the same time, I do 
enjoy a lot of the functionality of vim. I have put a lot of effort into 
allowing a lot of different ways to select blocks of text and move them 
around the page, as well as shifting and trimming/cutting/padding the 
entire file itself (or portions thereof). I wanted to be able to easily 
create column-based text documents that could be used for things like 
push-button database loading (table creation, etc) as well as even doing 
run time data binding from within the text editor itself (to use it as a 
kind of in-browser database solution). 

I even added a command mode that allows users to input arbitrary commands 
on the status line, so that it can double as a simple command shell.  At 
the moment, there are only a few commands related to editing, but there is 
no reason to not extend it to more interesting functions :) 

It wasn't until about 3 months into the programming effort that I even 
start to *think* about the server side. I wanted to have a tight little 
chat window that could put node to good use. The chat app is currently at a 
very basic level, but I want to be able to extend it to allow users to 
construct natural language queries to submit to the server (I have done 
quite a bit of NatLang programming in the past, and I'm looking forward to 
integrating some of my old stuff onto the current site.) 

There is really so much possibility when using this thing as a development 
environment.  It will allow a new kind of web programming that abstracts 
away the horrible DOM API very nicely. 

Here are some of the kinds of applications that I am interested in 
prototyping/developing. 

1) Educational software: this will give educators the ability to quickly 
develop online lecture presentation material, as well as allowing for the 
ability to administer and monitor web-based test taking. 

2) Government agency web interfaces: for any agency that is concerned 
primarily with getting its users to navigate to a particular resource, 
interfaces like this can be very valuable.  The web interfaces of most 
governmental sites leave much to be desired, haha :) 

3) Businesses: everything from online customer support to order entry 
screens to inventory tracking can be greatly facilitated with this 
technology. 

Well, this letter has honestly been my first real use of this cool little 
text editor (I call it archiTex), and I have to say that I am pretty 
satisfied with it.  Hopefully some of you out there can give it a shot and 
tell me what you think.  There are pretty detailed instructions on the site 
(just click on the Help icon on the dock at the bottom of the page). 

And I almost forgot to mention: I only develop for Google Chrome, so I 
highly recommend that you use that.  Safari should be pretty much the same 
for most uses, and Firefox might work, but I don't really care too much 
if it does.  I could not care less if the site causes IE to crash and burn, 
LOL.

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


[nodejs] Dr. Strangecode, or: How I Learned to Stop Worrying and Love the Web

2012-11-14 Thread Dennis Kane


A couple months ago, I started on a project to make a purely JavaScript, 
in-browser version of Mac OS X.  This is my third attempt at creating this kind 
of thing, and hopefully, the third time is the charm!  You can find it at 
http://luvluvluv.info.  For obvious reasons, I am primarily interested in 
developing for Google Chrome, but Safari should also work pretty well, and 
Firefox seemed to do okay (when I checked it last).  Opera didn't fare so well, 
and I couldn't care less about IE!  Anyway, I do all my hardcore testing on 
current/stable Chrome, so please use it when you check out the site.

When the site loads, you should be faced with a familiar interface, complete 
with a semi-functional dock at the bottom.  The menubar on top is currently 
pretty useless because I've really been focusing on getting all the low level 
icon/window handling mechanics working.  But now that all of that machinery 
seems to be getting worked out pretty well, I will be able to start focusing on 
these higher level kinds of things.

I guess the main philosophical point of this kind of site is simply that web 
interfaces can actually be very user friendly and functional if web developers 
would actually will them to be so.  As it currently stands, we are still stuck 
in the same early-to-mid-90's model of one-to-one mappings between URLs and 
pages of content.  By the mid-2000's, of course, AJAX came into being, but this 
technique has only been put towards fairly trivial use cases.

Now that JavaScript engines are getting blazingly fast and our in-browser API's 
are becoming so robust (multimedia, local file systems, etc), there is only 
upside when it comes to web development.  However, the problem still remains as 
far as how all of the new fangled web apps are going to be discovered and 
launched by end users.  Are they going to keep relying upon doing text searches 
and clicking on ugly blue hyperlinks?  Not if I have anything to do with it!

My site currently has no content on it except for a couple of iframed html 
documents.  That is, there is, as of now, no real communication between 
luvluvluv.info and the outside world.  My sights have so far been set purely on 
the client side.  But now I will be able to start thinking about how to, for 
example, do dynamic loading of Javascript applications into the site.  Say you 
subscribe to a certain web app developer channel.  You know this developer 
does really good work and you want to see everything he/she/it does as soon as 
you can.  So... you keep this kind of website always on, with a specific folder 
that can have new icons suddenly appear in it.  Mind you, nothing's been 
downloaded except an image, and maybe a small html fragment with some embedded 
JavaScript.  But when you double click on it, the full application will 
automatically be loaded, and you are ready to rock! 

The previous scenario is just a small taste of what is possible with this new 
kind of paradigm.  The fact that Chrome automatically sandboxes everything 
means that everyone can have many safe and cheap operating systems with which 
to experiment and explore.  Or, you can make break out of the sandbox by 
running a local node server and sending read/write requests for local resources 
over Websockets.  You can even have your browser as an endpoint for remote http 
requests (or actually any kind of Websocket request) by using an outward facing 
node server as a proxy/router!

And we haven't even start talking about Native Client yet.  I haven't really 
even researched that yet, but once this thing starts to catch on, you can bet 
there is going to be a real bum rush of people looking through all of their 
legacy C/C++ code to see if it can be webified fairly painlessly.

I also have a real love for Natural Language processing, which is something 
that I want to start embedding into the site pretty soon.  But Natural Language 
is really more of a dream than anything else.  I feel that this kind of website 
will go a long way towards enabling the kind of creative developer culture that 
will allow us to start turning the dream into a reality.

Whoever wants to help me out is welcome, though I don't plan on giving this any 
kind of liberal license (like GPL or BSD) for the forseeable future.  I guess I 
will just start working on some kind of interface that will let developers use 
it as a library.

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


Re: [nodejs] Re: Evil OS X... the perfect client to a node server!

2012-10-08 Thread Dennis Kane
Why do you want the code so bad?  It's not like there's any kind of fancy 
algorithms at work.  There are many many open source windowing packages out 
there.  It's not exactly rocket science, this.  It's all been done many 
times before.  The only difference is that this one is *my* baby!  Besides, 
you are welcome to all the code of my desktop prototype on my site at 
luvluvluv.info... it's just sitting there on the server for the taking.

I am mainly using this thing as blackmail to get people to be interested in 
being my friend.  I want to do some real world community building, and 
something like this will go a long way to get a cooperative business up and 
running.

Furthermore... you do realize that asking another programmer to just show 
me your code is exactly the same as asking a girl to just show me your 
breasts, right?  I mean, I have nothing against it in principle, but, my 
god... I hardly know ye!!!

My lastest work includes that rubber-band selection feature as well as 
dropping icons directly onto folder icons (with that open folder hover 
trick).  I have also included some basic image file support.

Latest video here: http://www.youtube.com/watch?v=jL5r0b7WWvU

On Friday, October 5, 2012 5:56:26 PM UTC-4, sotonin wrote:

 Code post it else Zzzz

 On Fri, Oct 5, 2012 at 4:37 PM, Dennis Kane dka...@gmail.comjavascript:
  wrote:

 See the newest features here-- 
 http://www.youtube.com/watch?v=pF_2DwueGLM

 The current version of the program now includes drag and drop 
 functionality of text files from the native desktop straight into the 
 browser desktop or (any of the subfolders). The difference between my drag 
 and drop and all the HTML5 demos that you see on the web is that the 
 dropped files immediately become icons that are integrated into the program.

 I will soon start working on getting multimedia icons/files working, so 
 you'll be able to drop those directly in too.  Then I will probably do a 
 very basic kind of image editing demo that will allow you to change 
 individual pixels or some such nonsense.  But I don't want to get bogged 
 down in the details of any particular application, because I always want to 
 stay focused on the big picture of creating a totally powerful and 
 intuitive way to organize our online lives.

 Anyway, I know I am quite a controversial figure here, but there should 
 be no controversy that this thing is just about ready for prime time.  I 
 really do need to start getting interested people on board who would like 
 to help me push the web forward.  The basic mission statement for the 
 venture will basically be that the old web (HTML4/version 1.0) is dead 
 and gone.  If anyone calls in search of help on their Flintstone era html 
 documents with all of their a href and div tags laying about, we'll 
 just point them in an entirely new direction.  If they still insist on 
 doing things the old way, we'll just hang up on them…  This thing is all 
 about the future!

 We can easily develop libraries of high-level interface widgets that 
 people just need to attach event listeners to.  There will be no angle 
 brackets in sight! handcodedhtmlmarkup/is/so/last/millenium!

 Come one, come all, for the thrill of your lives :)


 On Tuesday, September 25, 2012 7:36:37 PM UTC-4, Dennis Kane wrote:

 I was thinking of just responding  to this old 
 threadhttps://groups.google.com/forum/?fromgroups=#!topic/nodejs/bEhSbsm24Y4,
  
 in which I talk about the browser based Desktop that I've been working on, 
 but the new thing I've been doing for the past week is so superior that I 
 thought it deserved a completely new thead.  By the way, I know this forum 
 is all about server side Javascript, but there is not really any serious 
 place one can go on the web that talks about the client side.  Besides, 
 with socket.io  websockets... I don't really make much of a 
 distinction between client and server anymore.  I just know that there's no 
 reason to do a document.getElementById() call in node :)

 This new thing is a totally shocking clone of OS X.  I knew I was going 
 to have to start over from the ground up, because my previous code base was 
 so sh*tty, haha!  I have really been concentrating on getting a nice, tight 
 little API that developers will positively drool over.  I don't want to 
 make this thing publicly available for many reasons... but you can check 
 out a youtube vid 
 (http://www.youtube.com/watch?**v=Tq_W19QokXkhttp://www.youtube.com/watch?v=Tq_W19QokXk)
  that 
 shows it in action, and I still have my same old crappy prototype online at 
 http://luvluvluv.info.  Well, hopefully this is proof that I am able to 
 do some cool stuff, and hopefully summa yous will want to start being my 
 friend now, LOL!!!

 And get this... the current, uncompressed js file size is only 54kb!

  -- 
 Job Board: http://jobs.nodejs.org/
 Posting guidelines: 
 https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
 You received

[nodejs] Re: Evil OS X... the perfect client to a node server!

2012-10-05 Thread Dennis Kane
See the newest features here-- http://www.youtube.com/watch?v=pF_2DwueGLM

The current version of the program now includes drag and drop functionality 
of text files from the native desktop straight into the browser desktop or 
(any of the subfolders). The difference between my drag and drop and all 
the HTML5 demos that you see on the web is that the dropped files 
immediately become icons that are integrated into the program.

I will soon start working on getting multimedia icons/files working, so 
you'll be able to drop those directly in too.  Then I will probably do a 
very basic kind of image editing demo that will allow you to change 
individual pixels or some such nonsense.  But I don't want to get bogged 
down in the details of any particular application, because I always want to 
stay focused on the big picture of creating a totally powerful and 
intuitive way to organize our online lives.

Anyway, I know I am quite a controversial figure here, but there should be 
no controversy that this thing is just about ready for prime time.  I 
really do need to start getting interested people on board who would like 
to help me push the web forward.  The basic mission statement for the 
venture will basically be that the old web (HTML4/version 1.0) is dead 
and gone.  If anyone calls in search of help on their Flintstone era html 
documents with all of their a href and div tags laying about, we'll 
just point them in an entirely new direction.  If they still insist on 
doing things the old way, we'll just hang up on them…  This thing is all 
about the future!

We can easily develop libraries of high-level interface widgets that people 
just need to attach event listeners to.  There will be no angle brackets in 
sight! handcodedhtmlmarkup/is/so/last/millenium!

Come one, come all, for the thrill of your lives :)


On Tuesday, September 25, 2012 7:36:37 PM UTC-4, Dennis Kane wrote:

 I was thinking of just responding  to this old 
 threadhttps://groups.google.com/forum/?fromgroups=#!topic/nodejs/bEhSbsm24Y4,
  
 in which I talk about the browser based Desktop that I've been working on, 
 but the new thing I've been doing for the past week is so superior that I 
 thought it deserved a completely new thead.  By the way, I know this forum 
 is all about server side Javascript, but there is not really any serious 
 place one can go on the web that talks about the client side.  Besides, 
 with socket.io  websockets... I don't really make much of a distinction 
 between client and server anymore.  I just know that there's no reason to 
 do a document.getElementById() call in node :)

 This new thing is a totally shocking clone of OS X.  I knew I was going to 
 have to start over from the ground up, because my previous code base was so 
 sh*tty, haha!  I have really been concentrating on getting a nice, tight 
 little API that developers will positively drool over.  I don't want to 
 make this thing publicly available for many reasons... but you can check 
 out a youtube vid (http://www.youtube.com/watch?v=Tq_W19QokXk) that shows 
 it in action, and I still have my same old crappy prototype online at 
 http://luvluvluv.info.  Well, hopefully this is proof that I am able to 
 do some cool stuff, and hopefully summa yous will want to start being my 
 friend now, LOL!!!

 And get this... the current, uncompressed js file size is only 54kb!


-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


[nodejs] Re: Evil OS X... the perfect client to a node server!

2012-10-02 Thread Dennis Kane
I hope you are all aware that I fully expect the reception that I have 
gotten here.  The accusations of mental illness and trollishness are fully 
expected.  The only problem is that I have a real life outside of 
professional programming circles.  I know what it takes to make real things 
happen in this world.  The fact is that it requires much, much more that 
mere programming talent to have any kind of impact.  The importance of fact 
that I put my physical ass on the line in the *real world* in order to make 
profound connections with *real people* is something that the vast majority 
of you will never be able to comprehend, which is extremely sad.  I mean, I 
am here in the deep south, for chrissake, where there are so many 
hillbillies with shotguns who are constantly on the lookout for guys like 
me to sneer at and intimidate.

So please, be my guest and continue to ridicule in those pithy, sardonic 
ways that have been perfected over the years on message forums like this. 
 I am beholden to no one, and it will remain like that.  But please 
understand that people are falling head over heels for me on a mass level 
here in the *real world*.  It is just a matter of time before I am able to 
command their attention and educate them about the Web and about computing 
in general... so that they will eventually need precisely zero of the 
services that any of you are offering.

Cheers!

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


[nodejs] Re: Evil OS X... the perfect client to a node server!

2012-10-01 Thread Dennis Kane
Respectfully, I am not the typical poster here.  I am a revolutionary and a 
trailblazer, and everything I do is geared for maximum effect.  I have 
precisely zero interest in working for paychecks or even creating something 
for the purpose of selling out to a corporation.  I am interested in 
starting a truly socialist movement... one whose participants understand 
that like it or not, we are constantly moving into a post-capitalist future.

This ultimately just means that the historical corporate/ad buying business 
model will slowly give way to models that have the notion of social 
capital at their core.  For any arbitrarily complicated web domain that 
does not live and die by the ad revenue sword -- for example a university 
or a municipality -- there is the ever present problem of getting naive 
users to navigate the domain.

Today's websites typically do not use much logic when organizing their 
resources.  It all comes down to physical page space.  So if one page 
becomes too crowded with content, then another page must be created.  Then 
the problem reduces to how to develop a menu of links that allows to user 
to navigate to the appropriate resource.  At the moment, there are no 
standards as to how a site should organize its content.  Everyone has to 
roll their own navigation solution, and when happening upon a new domain 
for the first time, a user has to spend an arbitrary amount of time parsing 
the visual layout, in order to create a site tree in their minds.

For everyone who says that the desktop environment is simply a metaphor, 
I would have to disagree.  Our modern desktop GUI's are the result of a 
evolutionary process... a process that has resulted in the most intuitive 
and powerful of navigation systems.  All that I am saying is that we stop 
thinking of the client-side as a mere afterthought.  For anyone who wants 
to devote their efforts towards codifying a standard client-side browser 
web-app interface, there will be countless service providers who will 
breathe a sigh of relief that they will no longer be forced to worry about 
layout and navigation.

And yes, I know there have been many many efforts in the past that have 
tried to bring the desktop experience into the browser.  The first obvious 
problem is that Javascript has only recently become performant enough to 
allow there to be pretty much zero difference from the native OS in terms 
of icon/window handling.  

Next, all of those other efforts were pre-HTML5, which pretty much forced 
the applications to rely upon a back end for the purpose of saving state. 
 But now, there are so many different ways to save to the client, it 
actually makes me blush!

And last but not least, we are really talking about doing a kind radical 
paradigm inversion that conservative corporate interests just have no 
interest in.  The politics of the modern WWW is such that most websites are 
completely in service of the corporate bottom line.  And since corporations 
have historically been all about buying up ad space/ad time in whatever 
medium it can (print, radio, TV...), the Web has inevitably found itself as 
having this exact same kind of role.

So there really is not allowed to be very much creativity on the Web, if 
this creativity would only confuse/aggravate the corporate bosses who are 
just trying to hawk their wares to as many naive consumers as possible. 
 The result of all of this political mumbo-jumbo is that the lowly web 
developer is forced to think of him/herself as a mere layout designer... 
such that the given layout gives sufficient prominence to whatever ad space 
it is trying to sell.  So the Web becomes nothing but a series of static 
magazine-like page layouts.  The only difference being that Web pages have 
magic hyperlinks that quickly move us between arbitrary pages.

In this case, the programming language of the Web (Javascript) is 
completely in service of the thing (the DOM) that allows for the 
representation of the layouts.  The paradigm inversion ultimately comes 
down to making the layout representations completely in service of the 
programming language.  The popular view is that Javascript exists primarily 
to allow for popup menus and client-side form validation.  This view holds 
that Javascript is fundamentally incapable of allowing for the kind of 
functionality that I have demonstrated.

So anyone who tries to do what I am attempting must be fully aware of all 
of these issues, and must have the appropriate battle plan in place. 
 Anyone who simply has the bright idea to start using Javascript in order 
to mimic desktop functionality is pretty much doomed to irrelevance if they 
are not able to mount a good enough challenge against the corporate 
interests of yore.

Which brings me back to the original point I made on this post.  In order 
to pull off this paradigm shift, I realize that I have to become a larger 
than life figure.  I have to turn myself into a kind of heroic figure in 
the 

[nodejs] Re: Evil OS X... the perfect client to a node server!

2012-09-30 Thread Dennis Kane
My most recent work can be seen here: 
http://www.youtube.com/watch?v=-NTjmy7PbD0

I have added functionality to the bottom dock, including a working Trashcan.

I have still received precisely zero real interest in any of this  I am 
really eager to get together with programmers who want to get something 
beautiful started!

My theory is basically that the nature of the front-end experience 
crucially determines how much excitement the back-end administrators will 
have.  At the moment, the web is filled with absolutely boring/unresponsive 
front-ends.  So anyone who wants to work with me will really have a leg up 
in terms of offering the kind of user experience that will keep the 
back-enders on their toes (on their toes == gamefully employed ;)

By the way, I am well aware that any business that comes out of this will 
not want to offer an exact replica of OS X as their front end.  I am using 
OS X as the ultimate challenge to see how awesome I can make the end user 
experience.  Once I can get this prototype working as well as possible, 
then I can start to think about how to make it even better than OS X!

I am all ears in terms of what kinds of services can be offered up through 
this kind of interface...

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


[nodejs] Re: Evil OS X... the perfect client to a node server!

2012-09-28 Thread Dennis Kane
Cool!  When I scrolled down to the section called The Central Role of 
Language, I realized that the anti-mac concept was something I could 
work with.  I am a believer in the concept of leveraging Javascript in 
order to devise a kind of higher level computing language that can deal 
very well in human concepts.  Think of it as a kind of highly structured 
natural language, and we can start really getting on our way.  The problem 
is that programmers and logically-minded people in general need to start 
getting creative with how they think about computers.

When I scroll through this list on any given day, I am often quite 
disheartened by the utter lack of trying to think of Javascript at a higher 
level.  There is often so much discussion concerning issues that are well 
on their way to becoming irrelevant anymore.  Whether to fork off node or 
whether to make it threaded, for example.  But node is really good enough 
for anything that can be reasonably thrown at it.  I remember hearing Ryan 
talking about the fact that node can always be made to be faster, but that 
the real increase in speed occurred between the leap from the pre-node 
world to the post-node world.

I think it's high time for many programmers to just take a little breather 
to think about where we can go next.  I recommend really meditating on some 
of those Crockford youtube videos, and start thinking about what it really 
means that we have a blazing fast DOM-aware prototypal scripting language 
that uses first order functions.  It's all pretty mind blowing when you 
really think about it.

Developers are just so damn scared to actually *use* the language rather 
than just using some dumb library that forces you to think in a certain way 
about in-browser programming.

My API is currently a little messy, but from the beginning, I wanted to 
focus on keeping it exceedingly simple and intuitive.  There are function 
calls like make_desktop(), make_window(), and make_icon().  Kids will be 
able to type these into their browser consoles and see magic happen in 
front of their eyes.  I'm talking about giving kids of the same kind of 
experience that us 30 or 40-somethings had when we tapped those BASIC 
programs from BYTE magazine into black screens with glowing green 
characters.

In today's world, there is such a schism between the experiences of end 
users and developers.  When I was in 5th grade, we had a programming class 
taught by our Math teacher.  These kinds of things are extremely important 
to teach kids when their minds are eager to learn.

So basically, the way that we think about what our computers are all about 
needs to start evolving, and it is really up to programmers to start 
programming in ways that are new/exciting/experimental (just like when we 
were kids!) rather than so mind numbingly dull.


On Thursday, September 27, 2012 1:26:06 PM UTC-4, P. Douglas Reeder wrote:

 One mashup to rule them all? That's a tall order. 

 If you're looking to supplant the WIMP paradigm, you should be familiar 
 with The Anti-Mac Interface (really a post-Macintosh UI): 
 http://www.useit.com/papers/anti-mac.html 



-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


[nodejs] Re: Evil OS X... the perfect client to a node server!

2012-09-27 Thread Dennis Kane
Well, I think that we can all agree that the idea of a purely portable 
desktop environment is a highly compelling one, and that there are many 
ways to approach the problem.  There is, of course, the VNC approach, 
wherein all of our actions are transmitted over the wire in order to 
control a remote computer.  The problem of having to wait on all of the 
network delays obviously leaves much to be desired.

Another way of approaching it is to think of a desktop as a purely logical 
construct that can be represented fairly well by, for example, a JSON 
object.  This will allow us to abstract way the form of the desktop from 
its content fairly well.  (What I mean by the form is simply the 
locations of icons and the locations + sizes of windows.  By content, I 
am talking about the actual data in the files that the icons represent.)

All of the form related stuff can be transmitted by JSON blazingly fast, 
and the local user will be able to control his/her in-browser desktop 
without delay.  But the content may very well still be sitting on the 
remote server, so double clicking on an icon might result in an 
indeterminate delay before the content is fully loaded, depending on file 
size and network conditions.  But now we can cache the content, and we 
won't have to suffer the same delay again... as long as the cache is still 
intact, of course.

But even beyond the idea of desktop portability, there remains to crucial 
problem of how to locate, retrieve, and render the various bits of 
information that are scattered all over the WWW.

In my opinion, all of the past attempts at developing web based desktop 
environments have failed because they were, at their hearts, focused 
primarily on replicating native desktop functionality by any means 
necessary (eg, Flash based desktops) rather than on making actual, 
functioning websites more responsive and comprehensible.  All of those past 
efforts amounted to nothing but curiosities because we just don't need our 
web browsers as gateways to hackish, barely responsive desktop 
environments.  We will always need our web browsers as gateways to the 
wild, wonderful, weird place that is the WWW!

As it currently stands, it is next to impossible to reason with the content 
that is contained on remote machines.  This is because the URL schemes that 
we use are fairly arbitrary strings of text.  That is, in order to locate a 
remote resource, we have to get our grubby little hands on some string that 
looks something like 
http://www.somedumbdomain.com/stupidpage?crazy_param=fluxdumb_arg=spamweird_sid=Gjsk3MKs5hsgf6jeO7Iwjn8YUKs;,
 
and on and on it goes.  To the end user, these are incomprehensible, 
indecipherible messes.  They only make sense to the backend URL parsing 
algorithms.

And even when we are able to locate a remote resource, due to the fact that 
the crucial information is usually buried inside of a messy HTML document, 
we are often no wiser because of our inability to sift through the layout 
markup in order to finally get to the data that we seek.

So in order to inject some sanity into our online experiences, we have to 
start thinking about how to allow users to locate the various bits of 
content that they are after in much more intuitive ways.  And you can't get 
more intuitive that icons sitting on desktops and in folders!  In this 
case, a user is no longer forced to remember a random string of text known 
as a URL... all he/she has to do is know what the icon looks like, and in 
which folder it might be located.

And power users will be able to reason about remote content using familiar 
Unix path notation (/path/to/the/file).  They will be able to trivially 
write scripts that perform various actions depending on whatever state the 
remote content is in (eg current weather or traffic conditions).  No longer 
will developers be forced to construct convoluted GET requests in order to 
retrieve some little bit of information.  There can simply be a file 
named something like /home/dennis/weather.info that we can open up by 
double-clicking or via script... and now we are enlightened!

I am simply trying to make our web browsing experiences better rather than 
making our desktop experiences worse.  No one will ever get excited about 
offers of desktops that sit in browser windows.  But the idea of having the 
world at our fingertips from within the context of a familiar, intuitive 
interface is something entirely new and exciting!  And being able to reason 
about the world via programs that are trivial to write is something that 
should make all of us programmers positively delirious!! 

So the trick now is to get web developers to stop obsessing so much over 
serving up full fledged HTML documents, and to start thinking about how to 
offer services that deliver compact, essential nuggets of JSON data that 
can be delivered into these kinds of in-browser GUIs at blazingly fast 
speeds.


On Tuesday, September 25, 2012 7:36:37 PM UTC-4, Dennis

Re: [nodejs] Evil OS X... the perfect client to a node server!

2012-09-26 Thread Dennis Kane
Have I ever seen a bunch of google links that talk a lot of smack, but that 
don't really deliver anything of substance?  Why, yes I have, hahaha :D! 
 Seriously, though, I know there have been quite a few attempts over the 
years to do things like this in our browsers, but the technology has only 
caught up to the dreams over the last couple years.  I think it's really 
taken a massive undertaking like the V8 project to allow things like this 
to become truly viable.  Anyway, the entire concept of a clean, intuitive 
browser based operating system is something that traditional online 
content providers (based on link clicking ad revenue) should be positively 
petrified of.

The entire business model of the current Web is that there be an 
incomprehensible array of sites, each with incomprehensible interfaces, 
that reduces each one of us to rabid, slobbering link clickers.  From what 
I've seen of the recent crop of Google IO videos on youtube, there are some 
real efforts to try to inject some sanity in our online experiences.  But 
Google is not bigger than the entire universe of web developers who are 
each beholden to the profit motives of the corporations that they work for.

We know that the Web is an ugly mess.  The entire problem at hand is how to 
go about locating remote resources.  Currently, we type text strings into 
input boxes, and are met with thousands and millions of choices.  And even 
when we do find the best site to help us out, there is often very little 
help in deciphering how to navigate the thing.  But we all know how to 
navigate our own native operating systems, because we collectively have a 
decades long history of doing this.  There is just something about windows, 
icons, and folders that just makes sense to us in a very basic way.

Now, with this browser based OS concept in full throttle, we can start 
thinking about organizing the remote resouces that are most important to us 
in highly comprehensible ways.  Then, once the organization makes sense, we 
can actually start to reason about them, and then develop truly semantic 
interfaces (APIs) into their content.

I mean, all of Google's talk of tomorrow's cutting edge web applications is 
great and all, but if the problem of locating them persists, then it is 
really all for naught.  We really need to begin thinking about the Web at a 
higher level than just one-to-one mappings between HTTP URLs and pages of 
HTML content.


On Tuesday, September 25, 2012 8:17:14 PM UTC-4, Rick Waldron wrote:

 Dennis, 

 Have you ever seen this? 
 https://www.google.com/search?q=webos+erik+arvidsson

 -Rick

 On Tuesday, September 25, 2012 at 7:36 PM, Dennis Kane wrote:

 I was thinking of just responding  to this old 
 threadhttps://groups.google.com/forum/?fromgroups=#!topic/nodejs/bEhSbsm24Y4,
  
 in which I talk about the browser based Desktop that I've been working on, 
 but the new thing I've been doing for the past week is so superior that I 
 thought it deserved a completely new thead.  By the way, I know this forum 
 is all about server side Javascript, but there is not really any serious 
 place one can go on the web that talks about the client side.  Besides, 
 with socket.io  websockets... I don't really make much of a distinction 
 between client and server anymore.  I just know that there's no reason to 
 do a document.getElementById() call in node :)

 This new thing is a totally shocking clone of OS X.  I knew I was going to 
 have to start over from the ground up, because my previous code base was so 
 sh*tty, haha!  I have really been concentrating on getting a nice, tight 
 little API that developers will positively drool over.  I don't want to 
 make this thing publicly available for many reasons... but you can check 
 out a youtube vid (http://www.youtube.com/watch?v=Tq_W19QokXk) that shows 
 it in action, and I still have my same old crappy prototype online at 
 http://luvluvluv.info.  Well, hopefully this is proof that I am able to 
 do some cool stuff, and hopefully summa yous will want to start being my 
 friend now, LOL!!!

 And get this... the current, uncompressed js file size is only 54kb!

 -- 
 Job Board: http://jobs.nodejs.org/
 Posting guidelines: 
 https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
 You received this message because you are subscribed to the Google
 Groups nodejs group.
 To post to this group, send email to nod...@googlegroups.com javascript:
 To unsubscribe from this group, send email to
 nodejs+un...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/nodejs?hl=en?hl=en
  
  
  

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr

[nodejs] Evil OS X... the perfect client to a node server!

2012-09-25 Thread Dennis Kane
I was thinking of just responding  to this old 
threadhttps://groups.google.com/forum/?fromgroups=#!topic/nodejs/bEhSbsm24Y4, 
in which I talk about the browser based Desktop that I've been working on, 
but the new thing I've been doing for the past week is so superior that I 
thought it deserved a completely new thead.  By the way, I know this forum 
is all about server side Javascript, but there is not really any serious 
place one can go on the web that talks about the client side.  Besides, 
with socket.io  websockets... I don't really make much of a distinction 
between client and server anymore.  I just know that there's no reason to 
do a document.getElementById() call in node :)

This new thing is a totally shocking clone of OS X.  I knew I was going to 
have to start over from the ground up, because my previous code base was so 
sh*tty, haha!  I have really been concentrating on getting a nice, tight 
little API that developers will positively drool over.  I don't want to 
make this thing publicly available for many reasons... but you can check 
out a youtube vid (http://www.youtube.com/watch?v=Tq_W19QokXk) that shows 
it in action, and I still have my same old crappy prototype online at 
http://luvluvluv.info.  Well, hopefully this is proof that I am able to do 
some cool stuff, and hopefully summa yous will want to start being my 
friend now, LOL!!!

And get this... the current, uncompressed js file size is only 54kb!

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


[nodejs] Re: Why node + chrome rules the world...

2012-09-14 Thread Dennis Kane
When one person gives up, another one doubles down.  It's the way of the 
world... yin and yang and all that happy crap.  I've just added a youtube 
feature to my website/desktop thingy (http://luvluvluv.info).  The info for 
the artists and videos are kept on the server, and are only downloaded via 
socket.io when you do some kind of mouse event.  Hopefully I can start 
convincing summa you's that this new concept is worth a little of your time 
and energy!  About the other crazy stuff I've been talking about recently, 
I realized that it's not really possible with the current state of my code 
(and the current state of my coding skills :)  I need to refactor the hell 
out of this thing and approach it from a much higher level before I can 
start thinking about doing dynamic code insertion...

On Saturday, September 1, 2012 8:11:54 AM UTC-4, Dennis Kane wrote:

 I first became aware of server side javascript about a year and a half 
 ago.  Hacking away on the server got me comfortable with JS itself, and I 
 then started seeing the possibilities inherent on the client side.  I have 
 just now finished the prototype for a website construct that fully 
 leverages JS on both the client and the server.  My site (luvluvluv.info) 
 is pretty popular because of all the craziness that I pull in the real 
 world.  (Let's just say that I'm an interesting character, haha.) 
  Anyway, I'm trying to get my site visitors aware of what I'm really doing, 
 in terms of this new paradigm that I'm trying to promote.

 When you go to the site, it looks like any plain-jane site, circa 1997. 
  Not much to it in the visual department at the moment.  But then you see 
 things like close buttons on the major sections of the page.  If you click 
 one, that section will completely disappear from the page.  Then you ask, 
 How do I get that section back?.  Simple! If you just press the 'c' key, 
 a controller menu will pop up.  The closed sections appear in red.  To 
 bring it back up, just click on it!  And to reorder how the sections appear 
 on the page, just right click it in the controller menu, and use the 
 up/down arrow keys.  Then right click again to deselect it.

 You can activate the major sections of the page by just clicking on them. 
  It should change to a light red background when you do that.  When you 
 activate the Journal section, you can scroll through the entries with the 
 right/left arrow keys.  Holding down 'alt' at the same time will scroll 
 according to the current skip factor and holding down 'ctrl+alt' will 
 zoom it to the beginning or ending (this works on Macs... other operating 
 systems will differ on how the arrow + meta key combinations work).

 Okay... so that's not the really exciting part.  Then fun only really 
 begins when you press the 'd' key.  I don't want to ruin the surprise... 
 try it out for yourselves!

 I developed the site primarily for Google Chrome, but of course any webkit 
 based browser is going to work well.

 On the backend, I just like to have a tight little server that just keeps 
 the connection logic in order.  I of course also need to save stuff, so I 
 just use node-mysql for that.  But as far as most tasks are concerned, I 
 just like to offload as much work as I can onto the powerful little JS 
 engine that is built into each Chrome browser.  I  use HTML5 Local Storage 
 to save the state of the client.


-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


Re: [nodejs] Re: Why node + chrome rules the world...

2012-09-11 Thread Dennis Kane
In my opinion, there *still* aren't any web apps around, hahaha :)  When 
I think about an app, it's gotta look and feel just like a desktop thing. 
 Yeah, my project is real small right now, but I'm about to put something 
up that's pretty mindblowing.  It's a kind of realtime, distributed 
community programming thing.  I want it to be a combination of 
stackoverflow + github  on steroids.  You'll be able to dynamically update 
the Javascript that runs the site.  Working code can now be deployed from 
my local console text editor to the remote clients in a small fraction of a 
second.  It's all pretty hairy at the moment, but I should be able to 
smooth things out real nice in the next few days.  I'm really investigating 
the possibility of an entirely new paradigm of programming...  I must just 
go nuts in the process, though :P!!

On Monday, September 10, 2012 4:47:43 AM UTC-4, Daniel Sousa wrote:

 eyeOS used to be great on the 1.x versions, but in 2009 the eyOS Team 
 abandoned the 1.x series and started developing eyeOS 2.0 almost secretly 
 and since then eyeOS has been more a commercial software than an open 
 source project. Currently their website doesn't even mention there's an 
 open source project.

 Lucid 2.0 was supposed to be developed on node.js, but there was basically 
 just one person around it and he hasn't worked on it for a long time.

 These desktops were a great idea 5 years ago when there weren't any web 
 apps and the word cloud wasn't even used, now these small projects would 
 have a hard time competing with Google Docs et al.

 On Fri, Sep 7, 2012 at 3:43 PM, Dennis Kane dka...@gmail.comjavascript:
  wrote:

 Well, the necessary technology didn't really exist years ago.  I rely 
 very heavily on node/socket.io/websockets for the server side and 
 Chrome's constantly developing API in the client.  Trying to implement my 
 current site with older JS engines and HTTP servers along with AJAX would 
 be next to impossible.  So I'm pretty excited about what I'm doing... the 
 GUI is pretty intuitive and the websocket connection is lightening quick!


 On Friday, September 7, 2012 9:35:53 AM UTC-4, Karl Tiedt wrote:

 Yeah, Lucid started years ago now, and it was very active, not sure 
 what happened with it, but it was pretty amazing at what it did for 
 its time.. If nothing else, it may be good for some ideas, I didnt 
 realize it has fell by the wayside :/ 

 -Karl Tiedt 

  -- 
 Job Board: http://jobs.nodejs.org/
 Posting guidelines: 
 https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
 You received this message because you are subscribed to the Google
 Groups nodejs group.
 To post to this group, send email to nod...@googlegroups.comjavascript:
 To unsubscribe from this group, send email to
 nodejs+un...@googlegroups.com javascript:
 For more options, visit this group at
 http://groups.google.com/group/nodejs?hl=en?hl=en




-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


Re: [nodejs] Re: Why node + chrome rules the world...

2012-09-07 Thread Dennis Kane
I think I have seen that site before... but the fact that I don't really 
remember is not a good thing!  I guess the first red flag about that 
project is the fact that the last blog entry is dated September 30 2011. 
 Also, I couldn't figure out how to jump through the hoops necessary to get 
the demo working.  Mine is painfully simple to get working, though, and I 
am interested in working on it and blogging about it pretty much every day 
for the forseeable future!  So I guess I'm just not very excited/worried 
about it.  

On Friday, September 7, 2012 1:30:55 AM UTC-4, Karl Tiedt wrote:

 Have you seen the Lucid Desktop project? 
 http://dojofoundation.org/projects/lucid-desktop 

 -Karl Tiedt 


 On Thu, Sep 6, 2012 at 1:13 PM, Dennis Kane dka...@gmail.comjavascript: 
 wrote: 
  
  Hi!  I've got a really slick Desktop GUI working that almost rivals my 
  MacBook:)  What I am creating is basically a browser based operating 
 system 


-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


Re: [nodejs] Re: Why node + chrome rules the world...

2012-09-07 Thread Dennis Kane
EyeOS might be technically wonderful, but it is a corporate/commercial/pay 
thing, so that makes it pretty much completely irrelevant to me.  But... 
given the fact that when I clicked the What's eyeOS link under About Us 
at the bottom of the page only to be met with a 404 not found page , I 
guess I'm just a tad skeptical about the whole venture :D The academic 
one, I dunno, it's just weird and sluggish.  The dead one... well I guess 
that just speaks for itself.

Anyone know of any other contenders?

Anyone have any thoughts on mine?

Cheers!

On Friday, September 7, 2012 5:22:03 AM UTC-4, Jorge wrote:

 On 07/09/2012, at 10:32, Dennis Kane wrote: 
  
  On Friday, September 7, 2012 1:30:55 AM UTC-4, Karl Tiedt wrote: 
  On Thu, Sep 6, 2012 at 1:13 PM, Dennis Kane dka...@gmail.com wrote: 
  
  Hi!  I've got a really slick Desktop GUI working that almost rivals my 
  MacBook:)  What I am creating is basically a browser based operating 
 system 
  
  Have you seen the Lucid Desktop project? 
  http://dojofoundation.org/projects/lucid-desktop 
  
  I think I have seen that site before... but the fact that I don't really 
 remember is not a good thing!  I guess the first red flag about that 
 project is the fact that the last blog entry is dated September 30 2011. 
  Also, I couldn't figure out how to jump through the hoops necessary to get 
 the demo working.  Mine is painfully simple to get working, though, and I 
 am interested in working on it and blogging about it pretty much every day 
 for the forseeable future!  So I guess I'm just not very excited/worried 
 about it.   

 Yeah, that (lucid-desktop) seems to be a dead project... 

 Here's the pioneer of web operating systems (+6 years old) that's cool 
 and awesome and still alive and kikin': 

 http://eyeos.org/ 
 http://en.wikipedia.org/wiki/Eyeos 

 There's also Dan Ingalls' more academic experiment: 

 http://lively-kernel.org/repository/webwerkstatt/gettingStarted.xhtml 
 http://en.wikipedia.org/wiki/Lively_Kernel 

 And WebShaka's (dead) attempt at it: 

 http://www.youos.com/ 
 http://en.wikipedia.org/wiki/YouOS 
 -- 
 Jorge.

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


Re: [nodejs] Re: Why node + chrome rules the world...

2012-09-07 Thread Dennis Kane
Well, the necessary technology didn't really exist years ago.  I rely very 
heavily on node/socket.io/websockets for the server side and Chrome's 
constantly developing API in the client.  Trying to implement my current 
site with older JS engines and HTTP servers along with AJAX would be next 
to impossible.  So I'm pretty excited about what I'm doing... the GUI is 
pretty intuitive and the websocket connection is lightening quick!

On Friday, September 7, 2012 9:35:53 AM UTC-4, Karl Tiedt wrote:

 Yeah, Lucid started years ago now, and it was very active, not sure 
 what happened with it, but it was pretty amazing at what it did for 
 its time.. If nothing else, it may be good for some ideas, I didnt 
 realize it has fell by the wayside :/ 

 -Karl Tiedt 


-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


[nodejs] Why node + chrome rules the world...

2012-09-01 Thread Dennis Kane
I first became aware of server side javascript about a year and a half ago. 
 Hacking away on the server got me comfortable with JS itself, and I then 
started seeing the possibilities inherent on the client side.  I have just 
now finished the prototype for a website construct that fully leverages JS 
on both the client and the server.  My site (luvluvluv.info) is pretty 
popular because of all the craziness that I pull in the real world. 
 (Let's just say that I'm an interesting character, haha.)  Anyway, I'm 
trying to get my site visitors aware of what I'm really doing, in terms of 
this new paradigm that I'm trying to promote.

When you go to the site, it looks like any plain-jane site, circa 1997. 
 Not much to it in the visual department at the moment.  But then you see 
things like close buttons on the major sections of the page.  If you click 
one, that section will completely disappear from the page.  Then you ask, 
How do I get that section back?.  Simple! If you just press the 'c' key, 
a controller menu will pop up.  The closed sections appear in red.  To 
bring it back up, just click on it!  And to reorder how the sections appear 
on the page, just right click it in the controller menu, and use the 
up/down arrow keys.  Then right click again to deselect it.

You can activate the major sections of the page by just clicking on them. 
 It should change to a light red background when you do that.  When you 
activate the Journal section, you can scroll through the entries with the 
right/left arrow keys.  Holding down 'alt' at the same time will scroll 
according to the current skip factor and holding down 'ctrl+alt' will 
zoom it to the beginning or ending (this works on Macs... other operating 
systems will differ on how the arrow + meta key combinations work).

Okay... so that's not the really exciting part.  Then fun only really 
begins when you press the 'd' key.  I don't want to ruin the surprise... 
try it out for yourselves!

I developed the site primarily for Google Chrome, but of course any webkit 
based browser is going to work well.

On the backend, I just like to have a tight little server that just keeps 
the connection logic in order.  I of course also need to save stuff, so I 
just use node-mysql for that.  But as far as most tasks are concerned, I 
just like to offload as much work as I can onto the powerful little JS 
engine that is built into each Chrome browser.  I  use HTML5 Local Storage 
to save the state of the client.

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


[nodejs] Re: Your thoughts wanted on a node AI project

2012-04-28 Thread Dennis Kane
Jesus, dude, thanks for the psychoanalysis.  Anyone reading this
thread can see what turned into a slow moving train wreck.  I posted
my thing and some people said: Cool!  In the first post, I said
something about eventually doing an open source thing.  Someone said:
I want the source!  I said, Haha you probably don't really want
it.  People started getting serious about the holy node ecosystem and
chastising me for my tone.  I started getting bitchy cause I found
myself having to defend myself about my politics (or rather my lack of
caring) rather than having fun with the issues that I really enjoy.

Haha whatevs...

Anyway Isaac, tl;dr.

Yes I'm trying to do something big.  Big things are the only ones that
interest me.  I'm trying to change the world, sorry.  I have
psychological issues, so what?  But I can program, dammit!  Anyone
that wants to learn and help out is welcome.  You have my site and my
email is on there.

I'm assuming that no one here is interested in NatLang issues or how
to implement them in Javascript?!


On Apr 28, 9:31 am, Isaac Schlueter i...@izs.me wrote:
 On Thu, Apr 26, 2012 at 10:53, Dennis Kane dkan...@gmail.com wrote:
  Let's all remember what open source is really all about.  A program is
  called closed source if it is distributed in binary format only.  The open
  source movement makes the demand that one cannot distribute a binary program
  using, for example, GPL'ed code without also making the source code
  available.

  But a server side process has nothing to do with any of this!

 The GPL and BSD/MIT licenses are very different.  What you describe is 
 copyleft.

 There's also the LGPL, which *may* be linked against or depended upon
 by non-GPL programs, but may *not* be extended or used to create
 non-GPL derivative works.

 And there's AGPL, which states that you may not use the software in
 network programs unless all those who use the software over a network
 *also* have access to the source.  Ie, it's like GPL, with a broader
 definition of distribution.

 The MIT and BSD licenses are much more liberal, and as far as I've
 ever seen, they're pretty much equivalent.  They are not copyleft, and
 not viral.  GPL is much less popular in the node community than MIT
 and BSD.  The Apache license is similar in intent to MIT and BSD, but
 with additional language regarding copyrights an patents.

 All I'm saying is: saying the point of open source is like saying
 the goal of american politics.  There are a lot of different
 conflicting goals, and groups, and ideologies.  Lumping it all into a
 single bucket loses a lot of details.  In fact, many in the Free
 Software movement would object to even being associated with the term
 Open Source at all, since to them, it's more about freedom to modify
 and extend than having access to code, which is viewed as merely a
 means to an end.

  I've already been told more than once to rethink/change my approach.
   Seriously?  I mean, let's get serious here.  The only time I get snarky is
  when people get pushy with their demands to just hand out something that has
  resulted from years of torment.  This just is not any old program.  It just
  isn't.  Period.

 There's a pattern you're matching here, which I'm sure many of us have
 seen many times in software communities.

 I have a really awesome killer idea.  This is going to change
 everything!  No, you can't see it.  But it's going to be amazing.
 I've put *so much* time and effort into it.  I've been slaving away
 for years.  If you come join me (which you will have to be very
 motivated, lucky, and exceptional for me to allow you to do), then
 untold riches will be yours to share!

 The pattern is:

 1. Vague promises of paradigm shifting software of epic proportions.
 (The Noble Ambition)
 2. Self-congratulatory claims of effort and sacrifice that went into
 its production.  (The Quest)
 3. A promise to share with a special few who are up to the challenge.
 4. An resistance to sharing *any* relevant details.  (When pressed,
 reacting with indignant objections regarding principles and
 propriety.)

 I've taken to think of this as the Genius Martyr syndrome.  It
 doesn't always present with crippling insanity, but that is a common
 pathology.  It isn't always a technical idea, either; sometimes it's a
 new way to handle governance in the group, or a revolutionary business
 plan (where they're refusing to take any investment), etc.

 It may be that there may come a time when some GM exhibits this
 pattern in a technical community, and does in fact have some awesome
 thing.  Perhaps a few GMs have ideas which are actually worth more
 than the paper they refuse to print them on.

 If that time comes, if that idea shows up, and it's presented this
 way, I'll probably miss out on it.  Why?  Because in my years in
 software communities, 100% of the time that this pattern has presented
 (and it is sadly not rare at all), the result has been the same.

 A few people react

Re: [nodejs] Re: Your thoughts wanted on a node AI project

2012-04-26 Thread Dennis Kane
On Thursday, April 26, 2012 3:35:48 AM UTC-7, shawn wilson wrote:

 Per parsing language, you might want to look at what python's nltk and 
 Java's gate (less familiar with the later) have done for inspiration

Yeah, I saw the python nltk yesterday just to see what was currently out 
there.  Despite the fact that I absolutely abhor the indentation 
enforcement of python (neither here nor there), that whole project is just 
more of the same everything and the kitchen sink mentality.  There is so 
much in the way of graphical representation that has nothing to do with a 
program that just gets things right.  That 's all I care about.  As long as 
the parsing works very well (the logic of 'and', 'or', 'if', 'then', 
'because', etc), then everything else will start falling into place.  Just 
think of this as you would any c compiler or script interpreter.  The 
compiler must be able to get the intended logic right.  As long as that is 
the case, the user/programmer can do whatever the frick he or she wants as 
far as creating meaningful content.  This thing is doing pretty damn good 
with the logic on some highly convoluted statements and sequences thereof. 
 Forward thinking businesses will have to take note of this fact... they 
have no choice.  Then we can all start getting together to determine how to 
develop the exact dictionaries and statement types that will fit their 
needs as well as possible.

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


Re: [nodejs] Re: Your thoughts wanted on a node AI project

2012-04-26 Thread Dennis Kane
On Wednesday, April 25, 2012 7:07:52 PM UTC-7, Isaac Schlueter wrote:


 The MIT license in node (as well as the MIT and BSD licenses in the 
 vast majority of open source node programs) explicitly allows use for 
 closed-source commercial applications.  If Dennis wants to keep his 
 source closed, then that's his prerogative.  In fact, he can take all 
 the modules we create, and use them in his closed-source proprietary 
 thing, so long as he abides by the extremely liberal licenses that 
 most of them use.  If you think he's wrong about the value of open 
 source, or its overblownness, refute it with data.  (Or don't, and 
 just go back to cranking out awesome open source software.) 


Let's all remember what open source is really all about.  A program is 
called closed source if it is distributed in binary format only.  The open 
source movement makes the demand that one cannot distribute a binary 
program using, for example, GPL'ed code without also making the source code 
available.

But a server side process has nothing to do with any of this!  I am not 
distributing the program... I am interested in running a service like 
Google (which will hopefully eventually overtake them... but don't tell 
anyone I said that).

Is anyone seriously demanding Google to freely distribute all of their 
painstakingly developed search algorithms?  Not likely!

The basic fact is that this thing is the result of years and years of 
absolute psychological warfare between me and my computers.  And given the 
fact that robust NatLang Processing (weak AI) is something of a holy grail 
for tech enthusiasts, the stakes in all of this are quite big.

I am not saying that releasing the code for this won't ever happen.  But I 
am saying that releasing code is a very major decision that should never be 
taken lightly.  All I do know is that now is not the time.

But I will talk about it.  I won't want to give away too many of the 
technicals in an open forum, but I will give some of them away to people 
who I can trust.  And in order to me to be able to trust someone fully, I 
have to feel that they actually have an interest in the problems 
surrounding NLP.

The Net is absolutely littered with freely available NLP projects, code and 
all .  They are just not interesting.  But you know what is interesting?  A 
site with a lone input box on a white background with a snazzy, colorful 
logo above it (sound familiar?) that just works as advertised.  I want to 
get something like that on the site pretty soon.

Now that I'm pretty well done with the hair-pulling aspects of my coding, I 
can start having fun with putting variety into the thing (giving it the 
wow factor).  Different kinds of words, statements, sense checking, etc. 
 This kind of stuff should not be very difficult for any competent 
programmer.

That's what I really want to start getting on the same wavelength with 
people around here.  Stop thinking that this thing has to be some kind of 
end-all-be-all killer app from the outset.  I mean, there are so many 
things to be done.  I want to be able to translate natural ways of 
referring to time points (last week, the day after tomorrow, etc) into 
their precise Unix timestamps.  Not very difficult work, but it's something 
that really should start getting worked on.

I really feel that this thing could give quite a few of you out there a 
comfortable living.  This could open up totally new vistas of the tech 
sector.  This has the potential of going places pretty quickly, and the 
earlier that people get in on it, the greater the potential for reward.


Dennis, since you came here ostensibly trying to raise interest among 
 other developers (and have been mostly successful, reading through the 
 thread), I would suggest re-thinking your approach somewhat.  I'm not 
 talking about what's right or wrong, merely what's effective.  Many 
 people come to a project like Node.js because they feel strongly about 
 open source software.  If your goal is to recruit them, you should 
 think about the effects that your words have.  If you want to recruit 
 developers who *aren't* passionate about open source software, then 
 you're in the wrong place. 

 I've already been told more than once to rethink/change my approach. 
 Seriously?  I mean, let's get serious here.  The only time I get snarky is 
when people get pushy with their demands to just hand out something that 
has resulted from years of torment.  This just is not any old program.  It 
just isn't.  Period.

Again, I have to reiterate that there is a vast difference between the 
philosophy of open source as espoused by Eric Raymond, Richard Stallman and 
company and the reality of people actually opening up source code in order 
to actually *improve* it.  Please someone break open the source for emacs 
right now and make it better.  I dare you.  My philosophical views are 
always changing.  Conservative, liberal, whatever, blah blah.  I'm just not 
dealing with any of it 

Re: [nodejs] Re: Your thoughts wanted on a node AI project

2012-04-26 Thread Dennis Kane
On Thursday, April 26, 2012 10:57:26 AM UTC-7, Mark Hahn wrote:

 I guess the question everyone is thinking (or asking) is why are you here? 
  I can understand the recruiting, but I can't think of any other reason.

 Which means: if I don't want to give away the entirety of my labors that 
I've been agonizing over for all these years, then I have no legitimate 
reason to post to this forum.  I already said that I will talk about it. 
 But if no one is interested in the coolness factor of the thing, then I 
guess there's nothing else for me to talk about.  I can just move on to 
other places to find people who want to help me get something pretty 
awesome started.  No worries.  I'm just looking for friends who would like 
to work together.  I can't force anyone to get interested.

Oh yeah, there's always this reason:  this thread has top ranking on google 
search node ai, and my site is now listed on the engines.  Before I 
posted here, my site wasn't even on google!

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


Re: [nodejs] Re: Your thoughts wanted on a node AI project

2012-04-25 Thread Dennis Kane
Was just saying it is, a tad.  Maybe pointless was a bad word choice. 
 Overblown is probably better.  Don't think you can deny that without those 
other things, the source code of any non trivial program is quite a 
worthless commodity in and of itself.  The entire node ecosystem, at the 
moment, is at the point where the programs are still fairly trivial, and so 
the value of source code is still relatively high.  That state of affairs 
won't last forever.

Anyway, I guess the larger point is that I feel my program has the 
potential to be quite profitable in the future.  I still am fairly young 
and quite hungry.  I would much rather be very close with a few business 
associates than just another anonymous user on github who everyone takes 
for granted.  I have ambitions, and I won't apologize for that.

On Wednesday, April 25, 2012 5:33:36 AM UTC-7, Matt Sergeant wrote:

 On Wed, Apr 25, 2012 at 1:03 AM, Dennis Kane wrote:

 I do find the whole open source movement a tad pointless.  For me, the 
 source code always takes a back seat to good API documentation, well 
 commented header files, decent man pages, a good bug reporting/fixing 
 system, etc.


 I think you're probably in the wrong place to make that kind of comment. 
 The entire node ecosystem is built on open source. It's OK to be pragmatic 
 and say there's a place for closed source too (I would agree), but don't 
 call open source pointless.


-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


Re: [nodejs] Re: Your thoughts wanted on a node AI project

2012-04-25 Thread Dennis Kane
Was just saying it is, a tad.  Maybe pointless was a bad word choice. 
 Overblown is probably better.  Don't think you can deny that without those 
other things, the source code of any non trivial program is quite a 
worthless commodity in and of itself.  The entire node ecosystem, at the 
moment, is at the point where the programs are still fairly trivial, and so 
the value of source code is still relatively high.  That state of affairs 
won't last forever.

Anyway, I guess the larger point is that I feel my program has the 
potential to be quite profitable in the future.  I still am fairly young 
and quite hungry.  I would much rather be very close with a few business 
associates than just another anonymous user on github who everyone takes 
for granted.  I have ambitions, and I won't apologize for that.

On Wednesday, April 25, 2012 5:33:36 AM UTC-7, Matt Sergeant wrote:

 On Wed, Apr 25, 2012 at 1:03 AM, Dennis Kane wrote:

 I do find the whole open source movement a tad pointless.  For me, the 
 source code always takes a back seat to good API documentation, well 
 commented header files, decent man pages, a good bug reporting/fixing 
 system, etc.


 I think you're probably in the wrong place to make that kind of comment. 
 The entire node ecosystem is built on open source. It's OK to be pragmatic 
 and say there's a place for closed source too (I would agree), but don't 
 call open source pointless.


-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


Re: [nodejs] Re: Your thoughts wanted on a node AI project

2012-04-25 Thread Dennis Kane
Was just saying it is, a tad.  Maybe pointless was a bad word choice. 
 Overblown is probably better.  Don't think you can deny that without those 
other things, the source code of any non trivial program is quite a 
worthless commodity in and of itself.  The entire node ecosystem, at the 
moment, is at the point where the programs are still fairly trivial, and so 
the value of source code is still relatively high.  That state of affairs 
won't last forever.

Anyway, I guess the larger point is that I feel my program has the 
potential to be quite profitable in the future.  I still am fairly young 
and quite hungry.  I would much rather be very close with a few business 
associates than just another anonymous user on github who everyone takes 
for granted.  I have ambitions, and I won't apologize for that.

On Wednesday, April 25, 2012 5:33:36 AM UTC-7, Matt Sergeant wrote:

 On Wed, Apr 25, 2012 at 1:03 AM, Dennis Kane wrote:

 I do find the whole open source movement a tad pointless.  For me, the 
 source code always takes a back seat to good API documentation, well 
 commented header files, decent man pages, a good bug reporting/fixing 
 system, etc.


 I think you're probably in the wrong place to make that kind of comment. 
 The entire node ecosystem is built on open source. It's OK to be pragmatic 
 and say there's a place for closed source too (I would agree), but don't 
 call open source pointless.


-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


Re: [nodejs] Re: Your thoughts wanted on a node AI project

2012-04-25 Thread Dennis Kane


 Seems like you still have a long way to go to reach that. :D 

 I don't think it should be too much longer before I can start making some 
sales calls based on the progress I've already made.



 Well, your long-time goal is to make a good program that can answer 
 questions using some logic if necessary, right? Well, I think you'll have 
 to make your program able to parse Wikipedia texts and so on for that. 
 Maybe start with the simple english wikipedia ( 
 http://simple.wikipedia.org/wiki/English_language )? Good luck. :P 

 And before you can do that, you'll probably have to build in a dictionary 
 backend. 

 Nah, wikipedia is made for human consumption.  As long as there is a good 
enough parser on the market, there will be plenty of people motivated 
enough to write compliant programs directly into it.  I see this thing 
eventually taking a pretty good bite out of Wikipedia's market share. The 
way it'll work, for the forseeable future, I think, is that we will work 
heavily with corporate clients on what kinds of words and statements they 
would like their customers and employees to be directly executable.  Trying 
to do everything for everyone all at once is simply a prescription for a 
major disaster.  I see many clients supplying the dictionaries themselves.
 

 Oooh, and when all of that works, make it able to accept commands. :) 
 Make me a sandwich 

Funny, but I think we're gonna need alot of help from MIT's AI robotics 
department before that becomes anywhere close to feasible. 

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


Re: [nodejs] Re: Your thoughts wanted on a node AI project

2012-04-25 Thread Dennis Kane


 You don't come off as an asshole -- and besides, we have no problem with 
 assholes: we're developers. Saying the things you're saying, to the 
 audience you're saying them to -- well, it's that you come off as an idiot. 
 The good news is this is a lot easier to fix.
  

I'm an idiot because of my political views, and not my programming ability, 
I assume.  The only thing I'm worried about is the programming.  If you've 
got some criticism about that, I'm all ears.
  

 Oh, you're looking for help? Here's a suggestion: you could open up the 
 code and see what people do. 

No.  Now chill out about the open source thing.  It's boring.  Redundant. 
Etc.
 

 Far be it from us to tell you what to do with your code, but you're the 
 one asking for help, and this is naturally the first bit of feedback you're 
 going to get. Why would any of us invest much more of our precious time 
 helping you improve your proprietary product? The world doesn't work that 
 way -- at least, not anymore.

 Dude, I'm looking to get a business off the ground.  People work with each 
other and try to make money off of their labors.  It has happened once or 
twice before.  You say the word proprietary as if its one of the seven 
deadly ones.
 

 So yes, back to the thing itself: node.js (this is the node.js list, after 
 all). You've expressed clearly that you have no interest in making your 
 work part of node's ecosystem. So at this point you're just noise, no 
 different than a recruiter. You just said as much yourself: I'm here 
 because I can't do this thing by myself. At least recruiters, even the 
 worst of them, have a payed position to offer and the good sense not to 
 directly insult the target audience :P

 Sorry.  I don't have any personal feelings about node's ecosystem.  It's 
just a tool that I take for granted.  I set up the site with express, and 
now I don't think about it.  It just works.  I have a server hooked into 
the main parser to shuttle stuff between it and express.  Sometimes I need 
to make use of the filesystem.  Other that that, I'm pretty much using 
straight javascript. It's google's v8 work that's doing most of the heavy 
lifting for me.  Besides, I didn't know that I had to have feelings for the 
tools that I use in order to be accepted in the development community.  And 
yes, I am recruiting people who are interested in doing something awesome 
with this tool.  And I'll offer something even better that paychecks: how 
about co-ownership?
  

 Good luck to you and your product, but kindly take your noise elsewhere.


Nah, I think I'll chill here for awhile.  I'm sure there are some people 
around here like me that appreciate new technology over the same old 
politics. 

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


[nodejs] Re: Your thoughts wanted on a node AI project

2012-04-24 Thread Dennis Kane
Hi Jann,

I'm not sure you really want the source at this point... at least not
without some pretty detailed explanation to go along with it!

I first started working on the algorithm six years ago in perl, which
also happened to be when I was first learning how to program.  Given
my inexperience, that effort didn't amount to much.  But it has only
been less than a month since I began from scratch in Javascript.  So
the overall algorithm has been sitting in my head for quite some time,
but it has only been very recently that I've decided to take up the AI
challenge again... this time with far more programming ability.

As far as it goes, I have so far put zero effort into having a decent
variety of words being recognized.  On the site, you will find
instructions to see what words are recognized, and how to add to the
list.

At present, there is no facility to refer to things without using some
kind of article or possessive...  So to do something like what you
want, you will have to type the following two lines to get it to
recognize the words:

nouns:cake
adjs:delicious

Then you can type something like:

There is a delicious cake

or...

There is a cake
It is delicious

or even...

There is a cake and it is delicious

Then you can say...

There is a boy named mike
He has the cake
Mikes cake is blue

The idea of saying cake is delicious is much more dangerous because
it labels an entire type class.  This would disallow the existence of
bad tasting cakes.  I think at this early phase, it is much better to
think in terms of instances rather than entire classes.  Then once the
logic of instances gets worked out, we can start thinking about
classes (carefully!).

The program does allow you to give arbitrary names like this:

There is a boy named Zebulon

or

There is a girl
She is named Zelda

It currently looks for any arbitrary sequence of characters after the
word named and then adds this sequence into the list of recognized
names.

On Apr 24, 7:51 am, Jann Horn jannh...@googlemail.com wrote:
 On Mon, Apr 23, 2012 at 10:50:25AM -0700, Dennis Kane wrote:
  Detailed instructions can be found at ai.webcyte.net.

  This project is currently meant to be a prototype in order to build
  interest in developing a robust AI system that just works (read: NOT
  another chatterbot!).  It can possibly be used as the intelligent backend
  to a Siri-like voice interface in the not too distant future.
  Will probably want to develop an open source version for non-business
  purposes that can be used on the client side (eventually) and keep the
  supported commercial version well hidden from prying eyes on the server
  side.

  Thoughts?

 Looks cool, I want the source! :D

 How much time did you spend on that so far?

 I think you should query wiktionary.org or so for unknown words. It doesn't 
 even understand cake is delicious. :( Also, you'll have to somehow support 
 names it doesn't know about - how do you want to do that?

  application_pgp-signature_part
  1KViewDownload

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


Re: [nodejs] Your thoughts wanted on a node AI project

2012-04-24 Thread Dennis Kane
To open source or not to open source... THAT is the question!

Do I want to SAVE the world or do I want to OWN it, haha ;)

I really do want to keep it close to the vest at the moment.  I am not 
feeling too liberal right now.

But I would like to start getting a team together to help make it 
commercially viable (wink wink nudge nudge).  This, to me, is by far the 
best way to attract the best talent for such a demanding sort of project. 
 Will keep my ears open for any interested VC's sniffing around here...


On Tuesday, April 24, 2012 12:35:43 PM UTC-7, tedsuo wrote:


 Haha I used to think that way too.  But it's better to just open source 
 early if open source is your goal, and slap a warning label on it saying 
 it's in the very early stages.  I've found people to be pretty 
 understanding and non-judgemental about code quality, unless you are 
 proposing that it is production ready when it is not.  :)



-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en


[nodejs] Your thoughts wanted on a node AI project

2012-04-23 Thread Dennis Kane
The site is powered by an express server, which exec's a separate node AI 
process for each new IP address.  Each process will automatically end after 
10 minutes of inactivity.  You can interface with the process either 
through a browser at ai.webcyte.net or by sending a URL encoded GET request 
to http://ai.webcyte.net/send.  So, the comand line for the phrase, there 
is a boy named joe using curl will look like:

$ curl http://ai.webcyte.net/send/there%20is%20a%20boy%20named%20joe

Detailed instructions can be found at ai.webcyte.net.

This project is currently meant to be a prototype in order to build 
interest in developing a robust AI system that just works (read: NOT 
another chatterbot!).  It can possibly be used as the intelligent backend 
to a Siri-like voice interface in the not too distant future.

I am interested in getting in touch with academic/research types as well as 
business types.

Will probably want to develop an open source version for non-business 
purposes that can be used on the client side (eventually) and keep the 
supported commercial version well hidden from prying eyes on the server 
side.

Thoughts?

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups nodejs group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en