Project idea: an IRC client

6 views
Skip to first unread message

r...@tinyclouds.org

unread,
Mar 16, 2010, 9:40:12 PM3/16/10
to nodejs
I'm surprised that no one has modified node-chat into a general IRC
client. I did this a while ago.
http://s3.amazonaws.com/four.livejournal/20090314/irc.png
It would be a useful and fun application to create.

I'm disappointed that everyone creates web frameworks instead of
actual applications that can be played with. IRC clients and MUDs
should be Node's 'hello world', not abstract frameworks. :)

Aaron Heckmann

unread,
Mar 16, 2010, 10:26:56 PM3/16/10
to nod...@googlegroups.com
I think its because most devs who know js well are web guys living in
browser land to which the prospect of working with one lang on both
client and server is appealing. Yes Node is much more than that but
the initial draw (for me) is more one of a high perf full js stack.

> --
> 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.
> To unsubscribe from this group, send email to
> nodejs+un...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en.
>
>

--
Sent from my mobile device

Aaron

Matthew Ranney

unread,
Mar 16, 2010, 10:32:59 PM3/16/10
to nod...@googlegroups.com
I'm working on several non-"web framework" projects with node.  I hope to be able to give away the source code to most of them.

Camilo Aguilar

unread,
Mar 16, 2010, 10:49:09 PM3/16/10
to nod...@googlegroups.com
I'm actually porting a library that I need to begin the development of my  "normal" web applications :)

Marak Squires

unread,
Mar 16, 2010, 10:52:51 PM3/16/10
to nod...@googlegroups.com
I'm disappointed that everyone creates web frameworks instead of
actual applications that can be played with. IRC clients and MUDs
should be Node's 'hello world', not abstract frameworks. :)

AMEN

Rasmus Andersson

unread,
Mar 17, 2010, 4:04:47 AM3/17/10
to nod...@googlegroups.com


Sent from my iPhone

On 17 mar 2010, at 03.52, Marak Squires <marak....@gmail.com> wrote:

I'm disappointed that everyone creates web frameworks instead of
actual applications that can be played with. IRC clients and MUDs
should be Node's 'hello world', not abstract frameworks. :)

AMEN

Epic comment.

lollicode

unread,
Mar 17, 2010, 5:01:31 AM3/17/10
to nodejs
We're using node for something which has nothing to do with frameworks
etc. I doubt we'll be able to outsource the code as it's interlinked
with other stuff, but everyone will be able to play with it... soon!

On Mar 17, 9:04 am, Rasmus Andersson <ras...@notion.se> wrote:
> Sent from my iPhone
>

> > .- Hide quoted text -
>
> - Show quoted text -

Benedict Eastaugh

unread,
Mar 17, 2010, 7:43:24 AM3/17/10
to nod...@googlegroups.com
On 17 March 2010 01:40, <r...@tinyclouds.org> wrote:
> I'm surprised that no one has modified node-chat into a general IRC
> client. I did this a while ago.
> http://s3.amazonaws.com/four.livejournal/20090314/irc.png
> It would be a useful and fun application to create.

I started writing one, but got stuck because I wanted to write it as a
command-line program with ncurses, and I didn't have time to write an
ncurses binding to Node. Hopefully I can get back to it before too
long.

Marco Rogers

unread,
Mar 17, 2010, 10:08:56 AM3/17/10
to nodejs
I can confirm Aaron's suspicion. I'm a web guy who does web stuff and
node is interesting to me as a way to increase my code reuse and
reduce the polyglot space.

That being said, I'm doing lots of tinkering with node. I agree that
doing different types of things really helps you get used to the async
paradigm. What other types of projects would people like to see?
Maybe it's just a lack of ideas from us single-minded web guys.

:Marco

Marco Rogers

unread,
Mar 17, 2010, 10:15:22 AM3/17/10
to nodejs

> > I started writing one, but got stuck because I wanted to write it as a
> > command-line program with ncurses, and I didn't have time to write an
> > ncurses binding to Node. Hopefully I can get back to it before too
> > long.

A REALLY helpful article would be a tutorial on the v8 lib and
examples of how to write C bindings for node libs. I would wager that
lots of web guys that are lurking on this list are interested in
contributing but aren't used being back in compiled code land (reminds
of watching C/Java guys lose it while trying to write simple
javascript in the client).

Maybe this isn't really appropriate for howtonode.org though. If it
goes somewhere else and get's posted here that would be awesome.

:Marco

Scott González

unread,
Mar 17, 2010, 10:19:56 AM3/17/10
to nod...@googlegroups.com
On Tue, Mar 16, 2010 at 9:40 PM, <r...@tinyclouds.org> wrote:
I'm surprised that no one has modified node-chat into a general IRC
client. I did this a while ago.
http://s3.amazonaws.com/four.livejournal/20090314/irc.png
It would be a useful and fun application to create.

I'm actually planning on doing this for my next node project. Hoping to start that in a few weeks.

Howard Rauscher

unread,
Mar 17, 2010, 10:22:30 AM3/17/10
to nod...@googlegroups.com
C++ addons are fairly easy.  There are instructions at the bottom of the online docs (http://nodejs.org/api.html#_addons).  Ping me if you have any specific questions.  I do agree about the v8 lib.  That is what has slowed me down when going through node internals, but I haven't dug very deep on the web for any docs or tutorials.

--Howard


Marco Rogers

unread,
Mar 17, 2010, 10:30:34 AM3/17/10
to nod...@googlegroups.com
Thanks.  I definitely hadn't paid much attention to this addons section.  It's looks a little bizarre but gives me a good place to start researching.
--
Marco Rogers
marco....@gmail.com

Life is ten percent what happens to you and ninety percent how you respond to it.
- Lou Holtz

Schell

unread,
Mar 17, 2010, 12:27:03 PM3/17/10
to nod...@googlegroups.com
Yes please ncurses bindings!


On Wed, Mar 17, 2010 at 4:43 AM, Benedict Eastaugh <ion...@gmail.com> wrote:

I started writing one, but got stuck because I wanted to write it as a
command-line program with ncurses, and I didn't have time to write an
ncurses binding to Node. Hopefully I can get back to it before too
long.



--
Schell Scivally
sch...@efnx.com (efsub...@gmail.com)
http://blog.efnx.com
http://github.com/efnx

Schell

unread,
Mar 17, 2010, 12:35:46 PM3/17/10
to nod...@googlegroups.com
If you're going to take up v8 - here is the best place to start: http://code.google.com/apis/v8/embed.html and after you get a little fed up converting types in and out of v8 you can dip into this guys lib: http://code.google.com/p/v8-juice/wiki/ConvertingTypes, or, use a small subset of his lib that I've already compiled: 

/* 
 * File:   converter.h
 * Author: Schell Scivally <efsub...@gmail.com>
 *
 * Created on March 4, 2010, 4:47 PM
 */

#ifndef _CONVERTER_H
#define _CONVERTER_H

#include <v8.h>
#include <string>
#include <stdint.h>

namespace converter
{
    int16_t toInt16(v8::Handle<v8::Value> const &val)
    {
        return val->IsNumber() ? static_cast<int16_t>(val->Int32Value()) : 0;
    }
    uint16_t toUint16(v8::Handle<v8::Value> const &val)
    {
        return val->IsNumber() ? static_cast<uint16_t>(val->Int32Value()) : 0;
    }
    int32_t toInt32(v8::Handle<v8::Value> const &val)
    {
        return val->IsNumber() ? static_cast<int32_t>(val->Int32Value()) : 0;
    }
    uint32_t toUint32(v8::Handle<v8::Value> const &val)
    {
        return val->IsNumber() ? static_cast<uint32_t>(val->Uint32Value()) : 0;
    }
    int64_t toInt64(v8::Handle<v8::Value> const &val)
    {
        return val->IsNumber() ? static_cast<int64_t>(val->IntegerValue()) : 0;
    }
    double toDouble(v8::Handle<v8::Value> const &val)
    {
        return val->IsNumber() ? static_cast<double>(val->NumberValue()) : 0;
    }
    bool toBool(v8::Handle<v8::Value> const &val)
    {
        return val->BooleanValue();
    }
    std::string toStdString(v8::Handle<v8::Value> const &from)
    {
        static const std::string emptyString = "<empty string>";
        v8::String::Utf8Value utf8String(from);
        const char* s = *utf8String;
        if(s)
        {
            return std::string(s, utf8String.length());
        }
        return emptyString;
    }
    
}

#endif /* _CONVERTER_H */ 

Schell

unread,
Mar 17, 2010, 12:41:12 PM3/17/10
to nod...@googlegroups.com
I forgot that it might be easier just to link to the file instead of pasting: http://github.com/efnx/node.rtaudio/blob/master/converter.h

Ryan Dahl

unread,
Mar 17, 2010, 1:22:11 PM3/17/10
to nod...@googlegroups.com
On Wed, Mar 17, 2010 at 9:27 AM, Schell <efsub...@gmail.com> wrote:
> Yes please ncurses bindings!

Someday! I want it too. Anyone who is secretly working on ncurses
bindings should do their work on top of ry/net2 - they should probably
talk to me on IRC to get the low-down on what I'm doing with stdio.

Benedict Eastaugh

unread,
Mar 17, 2010, 1:44:04 PM3/17/10
to nod...@googlegroups.com
On 17 March 2010 16:27, Schell <efsub...@gmail.com> wrote:
> Yes please ncurses bindings!

My main issue right now is my unfamiliarity with C++, which I know not
at all (apart from a little C knowledge). Once I have some more time I
may pop on #node and start pestering people to help me with V8 and
Node binding stuff; it's definitely a project I would like to work on.

Reply all
Reply to author
Forward
0 new messages