erlang competency / we are here to help!

7 views
Skip to first unread message

Joel Reymont

unread,
Dec 10, 2008, 10:56:29 AM12/10/08
to think...@googlegroups.com
Grant,

On Dec 10, 2008, at 12:51 PM, grant michaels wrote:

> I tried unpacking AMF w/ Erlang's bit syntax and found my Erlang
> competency was not up to par (yet) ...


Throw together some code to show that you are at least trying.

Use http://pastie.org or http://paste.lisp.org (with Erlang syntax
coloring) to share the code.

Bring it up for discussion and we'll help you improve it!

--
http://wagerlabs.com

grant michaels

unread,
Dec 10, 2008, 11:30:00 AM12/10/08
to think...@googlegroups.com
good idea, but it still has to be no better than #3 on the todo ...

1)  put up a couple small sites in merb that i've been working on (one is for my work, the other is for streaming my dance mixes) ...
2)  get my scraping up to par w/ current standards to populate the sidebars and fill-in some space for #1 (playing w/ curl::multi and scRUBYt!) ...
3)  get flex talking to a webmachine (erlang) backend via AMF ...

http://grantmichaels.com is running as a single-file, static Yaws app right now, w/ inline CSS and JS =( ...

regardless, i get the point ... put the crappy code out there and take the criticism like a man ...

i got sidetracked w/ some fun last weekend after running into the lack of interop between datamapper and jruby - attempting to make a midi-controlled drum machine w/ ruby-processing and couchdb (and memcached) ... i have to figure out a way to eager-load the audio samples so it's more responsive before it's even remotely usable ... i wish i had more time to code, but this is a very busy time of year at my real job ...

best personal regards,
 
-[ grantmichaels ]-

Matthew Kanwisher

unread,
Dec 10, 2008, 11:41:24 AM12/10/08
to think...@googlegroups.com
Ah are you just thinking about doing AMF, or RTMP ;) I think Erlang would be a great replacement for Flash media server. 

Joel Reymont

unread,
Dec 11, 2008, 9:27:19 AM12/11/08
to think...@googlegroups.com

On Dec 10, 2008, at 4:41 PM, Matthew Kanwisher wrote:

> Ah are you just thinking about doing AMF, or RTMP ;) I think Erlang
> would be
> a great replacement for Flash media server.

Is there a market for another Flash media server?


--
http://wagerlabs.com

Matthew Kanwisher

unread,
Dec 11, 2008, 9:29:52 AM12/11/08
to think...@googlegroups.com
I think so, on a project right now and we pay $500 a month to rent a FMS server with 1000 connections. I believe adobe charges like $4500 per machine still for FMS. So could open a huge new world to have a cheap fms server.

Joel Reymont

unread,
Dec 11, 2008, 9:38:44 AM12/11/08
to think...@googlegroups.com

On Dec 11, 2008, at 2:29 PM, Matthew Kanwisher wrote:

> I think so, on a project right now and we pay $500 a month to rent a
> FMS
> server with 1000 connections. I believe adobe charges like $4500 per
> machine
> still for FMS. So could open a huge new world to have a cheap fms
> server.


Why hasn't anyone written a replacement server yet?

Are there copyright or licensing issues?

--
http://wagerlabs.com

grant michaels

unread,
Dec 11, 2008, 9:43:09 AM12/11/08
to think...@googlegroups.com
I think there would be a market for an erlang replacement for Red5, BlazeDS, and/or GraniteDS (let alone Adobe's Live Cycle or whatever) - they are all Java-based ...

But, to be honest - after watching the more recent Nitrogen video - I'm falling back in love w/ a Erlang a bit, and here is why ...

One language to learn, one language w/ a smallish dialect at that ... one language to template, one for code-behind, one for talking to the db, etc ...

This trying to learn HTML, CSS, Js framework and Js (or AS3), ORM, SQL, and Ruby (in my case also Java for JRuby) all at the same time is kind of overwhelming ...


best personal regards,
 
-[ grantmichaels ]-
 

vice president of manufacturing
angelina granite & marble, inc.
5923 21st st e
bradenton, fl 34203
o: (941) 727-5800
f: (941) 727-5859
c: (941) 376-3319
e: grantm...@hotmail.com

Joel Reymont

unread,
Dec 11, 2008, 9:45:27 AM12/11/08
to think...@googlegroups.com

On Dec 11, 2008, at 2:43 PM, grant michaels wrote:

> I think there would be a market for an erlang replacement for Red5,
> BlazeDS, and/or GraniteDS (let alone Adobe's Live Cycle or whatever)
> - they are all Java-based ...

Why would you pay for an Erlang replacement of the above?

They do the job and do it fine, no?

Alternatively, the question to ask could be... how big is this market?

--
http://wagerlabs.com

Matthew Kanwisher

unread,
Dec 11, 2008, 10:02:02 AM12/11/08
to think...@googlegroups.com
There are some competitors in the space, one open source and one commercial

http://osflash.org/red5 <-- written in java open source
http://www.wowzamedia.com/store.html <- commercial $1k a copy

Matthew Kanwisher

unread,
Dec 11, 2008, 10:04:21 AM12/11/08
to think...@googlegroups.com
There is some market for tools that allow you to program in one language, Google Web Toolkit follows this philosophy also let people code everything in java.

Michele Sciabarra

unread,
Dec 11, 2008, 10:12:57 AM12/11/08
to think...@googlegroups.com
Joel Reymont ha scritto:
On Dec 11, 2008, at 2:43 PM, grant michaels wrote:

  
I think there would be a market for an erlang replacement for Red5,  
BlazeDS, and/or GraniteDS (let alone Adobe's Live Cycle or whatever)  
- they are all Java-based ...
    
Why would you pay for an Erlang replacement of the above?

They do the job and do it fine, no?
  
Not exactly. Clustering Java is usually a pain in the ass.
Also while Flex is somethat lighter and fast on the client, java is not on the server.
There is already market integrating Ruby and Flex (just google for this) but in my view Flex application NEEDS a large number of servers.
And some of the flex autorhs see in Erlang a perfect fit (and I agree...)


Alternatively, the question to ask could be... how big is this market?
  
As big as a considerable portion of the upcoming  future rich client market. That is growing very fast.
I was very surprised of how good developing in  flex is... and how bad is the server side support (written in java mostly, with all the problems of j2ee, big and complex).
Not that I hate Java, on the contrary, but I want also to be able TO CHOOSE.

There is large space to have an Erlang open source flash server.
We have "just" to translate Red5 code in Erlang :)
I am ready to do my part. Any  other volunteer?

Joel Reymont

unread,
Dec 11, 2008, 10:14:10 AM12/11/08
to think...@googlegroups.com

On Dec 11, 2008, at 3:04 PM, Matthew Kanwisher wrote:

> There is some market for tools that allow you to program in one
> language,
> Google Web Toolkit follows this philosophy also let people code
> everything
> in java.


I think we should not confuse market with audience :).

There's an audience for GWT since it's free. Is there anyone willing
to pay for it?

--
http://wagerlabs.com

grant michaels

unread,
Dec 11, 2008, 10:17:42 AM12/11/08
to think...@googlegroups.com
uhm ... going to the enterprise sector and saying your backend is built on something w/ 5x 9's (that Erickson uses) is probably quite salable ...


best personal regards,
 
-[ grantmichaels ]-

Toby DiPasquale

unread,
Dec 11, 2008, 10:29:51 AM12/11/08
to think...@googlegroups.com
On Thu, Dec 11, 2008 at 10:17 AM, grant michaels
<grantm...@hotmail.com> wrote:
> uhm ... going to the enterprise sector and saying your backend is built on
> something w/ 5x 9's (that Erickson uses) is probably quite salable ...

Usually, a thing has be better *and* cheaper to get serious
consideration, but not too much cheaper or it will be seen as a
lower-quality product.

From my observations, there's clearly a market for Flash servers. The
question is, why would I want to buy yours?

--
Toby DiPasquale

Matthew Kanwisher

unread,
Dec 11, 2008, 10:33:51 AM12/11/08
to think...@googlegroups.com
Lets make a clear distinction between the technologies were talking about
AMF over HTTP --> This is free from adobe and a number of third parties, and scaling http is a well known problem

RTMP --> Realtime communications back to the client great for games and chat, this is still either very expensive and not really scalable (we are having problems with 500 users in FMS)

Michele Sciabarra

unread,
Dec 11, 2008, 10:45:49 AM12/11/08
to think...@googlegroups.com

> RTMP --> Realtime communications back to the client great for games
> and chat, this is still either very expensive and not really scalable
> (we are having problems with 500 users in FMS)
That is the point. RMTP, but not only for games. For example I have a
need for a web based softphone. Red5 is not a solution that make me
happy, exactly because is written in java.

grant michaels

unread,
Dec 11, 2008, 10:51:46 AM12/11/08
to think...@googlegroups.com
oh, somehow this has become mistaken - it's Joel who is interested in monetizing this ...

i'm not pushing for a flash server in erlang and my point got lost in the wash somehow ...

I was complimenting Nitrogen and saying that it looked much more impressive on the second screencast and that i'm laboring over the decision of coding in erlang (where i can do EVERYTHING in a single language, that have to learn) vs the ruby stack - which involved a lot of parts to manage ...
to use nitrogen it's:

learn nitrogen framework, erlang, mnesia, couchdb - all coded in HTML/CSS + Erlang ... easy enough to write the load balancer in erlang too ...

vs

learn merb or rails framework, ruby or jruby, activerecord or datamapper, jquery or prototype, SQL, plugins, testing suites, AMQP, memcached, apache, nginx, ad infitum ... i mean, it never ends ... and it never settles ... it's a moving target at all times, perhaps one that isn't suitable for a person who only has the amount of time of a hobbyist ...

it seems like the only thing missing from erlang for me is a good string handling library, be able to parse, scrape, etc ...

please feel free to point out how i am wrong, but i'm happy to take criticism in favor of spending more months w/ this feeling in the back of mind ... the erlang vs ruby has been a back and forth for me for 6 months or more, and i'm half as far in each for not being able to decide ...

it's pretty annoying actually ...


best personal regards,
 
-[ grantmichaels ]-
 

vice president of manufacturing
angelina granite & marble, inc.
5923 21st st e
bradenton, fl 34203
o: (941) 727-5800
f: (941) 727-5859
c: (941) 376-3319
e: grantm...@hotmail.com






> Date: Thu, 11 Dec 2008 10:29:51 -0500
> From: codes...@gmail.com

> To: think...@googlegroups.com
> Subject: Re: AMF and Nitrogen
>
>

Joel Reymont

unread,
Dec 11, 2008, 10:54:26 AM12/11/08
to think...@googlegroups.com

On Dec 11, 2008, at 3:45 PM, Michele Sciabarra wrote:

> That is the point. RMTP, but not only for games. For example I have a
> need for a web based softphone. Red5 is not a solution that make me
> happy, exactly because is written in java.


Are there good RTMP docs apart from the Java sources?


--
http://wagerlabs.com

Joel Reymont

unread,
Dec 11, 2008, 10:56:38 AM12/11/08
to think...@googlegroups.com

On Dec 11, 2008, at 3:51 PM, grant michaels wrote:

> oh, somehow this has become mistaken - it's Joel who is interested
> in monetizing this ...

Yes, you are right. I'm always interested in monetizing things.

> it seems like the only thing missing from erlang for me is a good
> string handling library, be able to parse, scrape, etc ...

You are right.

> please feel free to point out how i am wrong, but i'm happy to take
> criticism in favor of spending more months w/ this feeling in the
> back of mind ...

And you are right again. It's easier to manage everything in Erlang.
You'll still need to deal with JavaScript, though.

--
http://wagerlabs.com

Rusty Klophaus

unread,
Dec 11, 2008, 11:02:53 AM12/11/08
to think...@googlegroups.com
"I was complimenting Nitrogen and saying that it looked much more impressive on the second screencast"

Thanks on both points! :)

Best,
Rusty

Matthew Kanwisher

unread,
Dec 11, 2008, 11:08:18 AM12/11/08
to think...@googlegroups.com
Problem I have gotten into on projects that use languages that make the programmers use everything in one language, is that when you want to bring designers into the site they can't modify the html or fix the scripting or modify your css. So you end up with programmers that have to do it all, and then when you bring new programmers in on the project even they aren't able to modify anything till they learn your new language for doing all the same old stuff, its like HAML in ruby. 

grant michaels

unread,
Dec 11, 2008, 11:13:44 AM12/11/08
to think...@googlegroups.com
Rusty -

I loved the couple months I spent playing w/ Squeak/Seaside, and think dabbledb might be the coolest web app in the past couple of years ... continuations are definitely VERY cool for web stuff and I'd go so far as to say that they are the best strategy for creating a user experience that has many real life analogues ... my understanding is that object persistence is what enables having continuations, so, are you persisting state to mnesia or BEAM, or simulating it, or ??? ...

I think I'm probably going to take a stab at remaking grantmichaels.com in Nitrogen this weekend (it's a single file Yaws site at present) ...


best personal regards,
 
-[ grantmichaels ]-
 

vice president of manufacturing
angelina granite & marble, inc.
5923 21st st e
bradenton, fl 34203
o: (941) 727-5800
f: (941) 727-5859
c: (941) 376-3319
e: grantm...@hotmail.com







To: think...@googlegroups.com
Subject: Re: AMF and Nitrogen
Date: Thu, 11 Dec 2008 11:02:53 -0500

Send e-mail anywhere. No map, no compass. Get your Hotmail® account now.

Joel Reymont

unread,
Dec 11, 2008, 11:19:40 AM12/11/08
to think...@googlegroups.com

On Dec 11, 2008, at 4:08 PM, Matthew Kanwisher wrote:

> Problem I have gotten into on projects that use languages that make
> the
> programmers use everything in one language, is that when you want to
> bring
> designers into the site they can't modify the html or fix the
> scripting or
> modify your css.

I think you may be mixing things up a bit. You can use templating
(Seethrough, I particularly like) or have your programmers convert
HTML to Nitrogen code.

This is what Avi Bryant does with DabbleDB/Seaside.

--
http://wagerlabs.com

grant michaels

unread,
Dec 11, 2008, 11:24:25 AM12/11/08
to think...@googlegroups.com
Matthew - I understand your point, however, in my case, i'm planning to be the solo developer for everything i make ... which is probably why i want everything to be in erlang ... the writing on the wall becomes clear every time and i come back to erlang, but then i go and try to use erlang to do the kinds of things i'd been doing in ruby - like scrape a site to throw some content into a page or a feed etc - and get disgusted when there isn't anything like hpricot ...

Rusty - If only you had HTTParty's functionality in Nitrogen, it would be a no-brainer for me ...

Erlang could use a widget library for interacting w/ popular API's like flickr, twitter, amazon, ebay ...


best personal regards,
 
-[ grantmichaels ]-
 

vice president of manufacturing
angelina granite & marble, inc.
5923 21st st e
bradenton, fl 34203
o: (941) 727-5800
f: (941) 727-5859
c: (941) 376-3319
e: grantm...@hotmail.com







Date: Thu, 11 Dec 2008 11:08:18 -0500
From: matthew....@gmail.com

Suspicious message? There’s an alert for that. Get your Hotmail® account now.

Joel Reymont

unread,
Dec 11, 2008, 11:31:04 AM12/11/08
to think...@googlegroups.com

On Dec 11, 2008, at 4:13 PM, grant michaels wrote:

> my understanding is that object persistence is what enables having
> continuations, so, are you persisting state to mnesia or BEAM, or
> simulating it, or ??? ...

Rusty is using the process dictionary... I think.

--
http://wagerlabs.com

grant michaels

unread,
Dec 11, 2008, 11:31:22 AM12/11/08
to think...@googlegroups.com
No way to monetize adding the missing string handling? ... sell Nitrogen w/ string handling =) ...


best personal regards,
 
-[ grantmichaels ]-

> From: joe...@gmail.com
> To: think...@googlegroups.com
> Subject: Re: AMF and Nitrogen

Matthew Kanwisher

unread,
Dec 11, 2008, 11:32:46 AM12/11/08
to think...@googlegroups.com
I think erlang would be interesting in scaling if you could write some business logic in an imperative language, and just the rest of erlang for concurrency. Let using Ejabberd and writting components that plugin in another language. 

Joel Reymont

unread,
Dec 11, 2008, 11:41:31 AM12/11/08
to think...@googlegroups.com

On Dec 11, 2008, at 4:32 PM, Matthew Kanwisher wrote:

> Let using Ejabberd and writting components that plugin in
> another language.


AMQP / RabbitMQ would be a better idea, IMO.

--
http://wagerlabs.com

grant michaels

unread,
Dec 11, 2008, 11:44:10 AM12/11/08
to think...@googlegroups.com
joel - are you using jekyll for thinkerlang or is jekyll biting on the appearance of whatever you are using?


best personal regards,
 
-[ grantmichaels ]-
 

vice president of manufacturing
angelina granite & marble, inc.
5923 21st st e
bradenton, fl 34203
o: (941) 727-5800
f: (941) 727-5859
c: (941) 376-3319
e: grantm...@hotmail.com






> From: joe...@gmail.com
> To: think...@googlegroups.com
> Subject: Re: AMF and Nitrogen

Joel Reymont

unread,
Dec 11, 2008, 11:48:24 AM12/11/08
to think...@googlegroups.com
> joel - are you using jekyll for thinkerlang

I am.

--
http://wagerlabs.com

Rusty Klophaus

unread,
Dec 11, 2008, 11:54:04 AM12/11/08
to think...@googlegroups.com

Hi guys,

Nitrogen state lifecycle is basically as follows:

- During a request, the state is stored under a special slot in the
process dictionary.
- (Use wf:state/1 and wf:state/2 to get and set, respectively.)
- When the request finishes, state is serialized and sent to the
browser.
- Upon a postback, the state is de-serialized and put back into the
process dictionary.
- Repeat.

It's basically borrowed from the ASP.NET viewstate model.
There is also session storage, which works just as you would expect.
(Using wf:session/1 and wf:session/2).

This turns stateless HTTP into a stateful environment, though I don't
think Nitrogen is as complex as Seaside in a few aspects.

Nitrogen also supports a different type of continuation, which I'm
realizing is a misnomer, which basically lets you spawn a long running
function, and then poll at certain intervals, initiating a postback
when the function is done. This is basically fake Comet or Comet-lite.
Soon, there will be real Comet.

Best,
Rusty

Michele Sciabarra

unread,
Dec 11, 2008, 11:57:10 AM12/11/08
to think...@googlegroups.com
Joel Reymont ha scritto:
No. The problem is that the RTMP protocol is proprietary and the Red5
project is reverse enginerring it.

Matthew Kanwisher

unread,
Dec 11, 2008, 12:05:06 PM12/11/08
to think...@googlegroups.com
I think they have figured out a larger portion of the protocol, Imagine having a *free* scalable rmtp server. You could do a pretty sophisticated MMO in flash and have a huge advantage over anyone else.

Russell Brown

unread,
Dec 12, 2008, 4:22:39 AM12/12/08
to think...@googlegroups.com
I agree with you on that Matthew/ We are having that trouble on a (java) project now. For small, start up style teams it is cool but for bigger teams it becomes an issue. I have been looking at Pure and Appcelertor for this reason.. There is a Mochiweb/Pure example screencast doing the rounds and there seems to be a Mochiweb service broker for Appcelerator too.
Reply all
Reply to author
Forward
0 new messages