<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel about="http://blog.gmane.org/gmane.comp.lang.erlang.general">
    <title>gmane.comp.lang.erlang.general</title>
    <link>http://blog.gmane.org/gmane.comp.lang.erlang.general</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33621"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33605"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33604"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33603"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33593"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33580"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33570"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33569"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33560"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33554"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33553"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33552"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33546"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33542"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33536"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33535"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33526"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33516"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33514"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.erlang.general/33513"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33621">
    <title>Erlang with MonetDb</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33621</link>
    <description>Hi,

Anyone out there made some erlang examples working with MonetDB? using
ODBC acceptable.


Cheers,
Bryan Rasmussen
</description>
    <dc:creator>bryan rasmussen</dc:creator>
    <dc:date>2008-10-07T11:54:37</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33605">
    <title>Erlang's security when compared to Ada</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33605</link>
    <description>This is an interesting article that I've found when it comes to
security that a programming language can provide.

http://www.net-security.org/secworld.php?id=6619

By no means I'm trying to compare Ada to Erlang. There are far too
many things to take into account. However, I would like to know just
how well Erlang measures up to the features that are part of the Ada
language which make it so predictable and secure. I'd love to hear
some input from fellow Erlang programmers who have a background in Ada.
</description>
    <dc:creator>YourSurrogateGod</dc:creator>
    <dc:date>2008-10-06T23:51:46</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33604">
    <title>Extracting capture group names from regularexpressions</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33604</link>
    <description/>
    <dc:creator>Tony Arcieri</dc:creator>
    <dc:date>2008-10-06T23:34:07</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33603">
    <title>?DATE and ?TIME MACROs</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33603</link>
    <description>Hi,

trawling through the archives I found the answer to how to do a ?
FUNCTION macro.

How would you do ?DATE and ?TIME (apart from erlc -DDATE=`time` ....
or something similar, which is *nix specific)

Would there be any mileage in adding these (and ?FUNCTION) to epp?

Rgds,

Matthew (aka Harry)
</description>
    <dc:creator>harry</dc:creator>
    <dc:date>2008-10-06T21:17:01</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33593">
    <title>Convert a Mnesia "set" table to an "ordered_set"</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33593</link>
    <description/>
    <dc:creator>Greg Burri</dc:creator>
    <dc:date>2008-10-06T14:17:55</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33580">
    <title>QuickCheck &lt; at &gt; Erlang User Conference</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33580</link>
    <description>
Quviq provides a QuickCheck course before this years Erlang User Conference.

The course will take place in Stockholm, November 10-12, 2008. The 
course is ment for Erlang developers interested in test driven development.

The course consists of two and a half days with a mixture of theory and 
practical sessions, and includes a one month QuickCheck licence, which 
can be used to gain further experience with our tool after the course is 
over.

November, 10: 9:00 - 17:00 Properties and generators, Symbolic test 
cases, Positive and negative testing.
November, 11: 9:00 - 17:00 Testing stateful systems, Protocol testing.
November 13: 9:00 - 13:00 Minimizing counter-examples.

You can get more information and register for the course by email to 
thomas.arts&lt; at &gt;quviq.com. Registration is on a first come, first served 
basis and the number of seats is restricted to a maximum of 12.

The price is 12 500 sek per participant. This price is excluding hotel 
costs. Participants are expected to book their hotel themselves.

The course is given in collaboration with Sjöland&amp;Thyselius.

/Thomas
</description>
    <dc:creator>Thomas Arts</dc:creator>
    <dc:date>2008-10-06T08:41:56</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33570">
    <title>wierd "function not used" problem - code included</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33570</link>
    <description>
Hello, its me again...
so I've been having this problem for days, with the bellow code. Most of it
is straight out of the "Programming Erlang" book from Joe Armstrong...
however when Im compiling it its telling me that the function data_process/1
is not being used, gives me a warning, but then still compiles. however when
Im sending data from a client side via TCP ofcourse it exits on me because
there's nothing to process the message... 

I HAVE NO IDEA WHAT'S WRONG WITH IT. 
I've read up on all the spawn_link() definitions and as far as I can tell Im
using it correctly... the PiD that spawn_link() returns is being returned so
it executes successfully. 
please help out, its stalling my project progress. 
thanks


-module(tcp_manager).
%API--------------------------------------------
-export([start/1]).
%-----------------------------------------------
start(Port) -&gt;
    {ok, ListeningSocket} = 
        gen_tcp:listen( Port, [ binary, %receive data in binary form
                                      {packet   , 0},
                                      {reuseaddr, true},
                                      %hybrid - active for only one message
                                      %it auto-receives one message after
which it blocks
                                      %has to be set to active-once again to
receive the next message
                                      {active   , once} ] ),
    accept_connection(ListeningSocket).
%-----------------------------------------------  
accept_connection(ListeningSocket) -&gt;
    
    io:format("waiting to accept~n"),
    {ok, Socket} = gen_tcp:accept(ListeningSocket),
    io:format("Socket is:~p~n", [Socket]),

    %-----------------------------------------------
    Listen_for_errors = 
        fun() -&gt;
            io:format("listening started~n"),
            receive
        {'EXIT', Pid, Why} -&gt; 
               io:format("~p exited because:~p", [Pid,Why]);
        Other                 -&gt;
               io:format("Other:~p~n", [Other])
            end
        end,
Listen_for_errors(),
%-----------------------------------------------
    
    Handler_process = spawn_link(?MODULE, data_process, [Socket]), %,[]]),
    io:format("handlers process ID:~p", [Handler_process]).

    accept_connection(ListeningSocket).
%-----------------------------------------------
data_process( Socket, DataSoFar) -&gt;
    io:format("responder_loop() entered~n"),
    
    receive
        {tcp, Socket, Data}  -&gt;
            %Source_ip = inet:peername(Socket),
            %io:format("*~p - data coming in:~p~n",[Source_ip,Data]),
     io:format("works - Data:~p~n", [Data]),
            %has to be done, since its an active-once socket
            inet:setopts( Socket, [{active,once}] ),
            data_process( Socket, 
                                %append the new binary fragment to what has
been received so far
                                [Data | DataSoFar] );

        {tcp_closed, Socket} -&gt;
            io:format("*client socket closed~n");
            %reverse because data has been appended to the head of the list
as it was coming in
            list_to_binary(lists:reverse(SoFar));
    Other                -&gt;
    io:format("undefined message came in:~p", [Other])
    end.
%-----------------------------------------------   
</description>
    <dc:creator>deepblue_other</dc:creator>
    <dc:date>2008-10-05T16:39:41</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33569">
    <title>How to build Erlang with libcmt (/MT) underwindows?</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33569</link>
    <description/>
    <dc:creator>Michael Regen</dc:creator>
    <dc:date>2008-10-05T17:04:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33560">
    <title>a little meta-programing help</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33560</link>
    <description>Today I sat down to try to make working with mochiweb a little cleaner
for myself. I wanted a way to specify a list of mappings between url
patterns and methods to be called with the matched variables from
them. I quickly ran into issues with not being able to create patterns
dynamically, and then tried using funs to wrap that functionality but
pretty soon I was back at the same mess I started with.

This is kind of my "if the world were perfect" module (that doesn't
work at all but I hope might show what I was going for).

I was hoping folks might help be think up some ways to handle use
cases like this.

-module(roto_web_routes).
-export([
    call/1
    ]).

-define(VIEWS_MODULE, roto_web_views).

routes() -&gt;
    [
        url(["version"], version),
        url(["register"], register),
        url(["node", NodeName, "messages"], messages),
        url(["node", NodeName, "messages", Id], message),
        url(["node", NodeName, "messages"], subscriptions),
        url(["node", NodeName, "messages", Id], subscriptions)
    ].

url(Pattern, View) -&gt;
    {route, Pattern, View, View}.

url(Pattern, View, Name) -&gt;
    {route, Pattern, View, Name}.

% should take a request, find the matching url config and pass
% the matched variables into the function specified in the url
% config for that entry.
call(Req) -&gt;
    Path = string:tokens(Req:get(path), "/"),
    match_route(Path).

match_route(Path) -&gt;
    %does something fancy with routes() to get to the function
    % I want to call and call it with the matched variables
    ok.

Thanks!
~ Anders
</description>
    <dc:creator>anders conbere</dc:creator>
    <dc:date>2008-10-05T22:15:26</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33554">
    <title>Time to client &gt; time to server?! Is my testingflawed? Please help me explain my results!</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33554</link>
    <description>Folks,

I run Mac OSX 10.5.5 on a Mac Pro 2x2.8Ghz Xeon, 14Gb of memory.

Erlang (BEAM) emulator version 5.6.3 [source] [64-bit] [smp:8] [async- 
threads:2] [kernel-poll:true]

I found that when I run everything on a single VM and launch 500 games  
everything runs through just fine.

I then distributed my OpenPoker test harness over 3 VMs: one hosts  
Mnesia tables and launches games, one runs games and launches bots,  
one runs the bots. The last two VMs are added as extra Mnesia nodes,  
i.e. have RAM copies of tables.

Here's is when I started getting player timeouts. Each player (bot  
actually) is supposed to make a bet within 15 seconds but a lot of  
bots fail to do so in a distributed configuration.

Unlike my previous testing, I now launch all games at the same time.  
There are about 5 players per game so 500 games would make about 2500  
player bots and the same amount of open sockets.

Dumping core upon a player timeout reveals that most of queue lengths  
are 0, a lot of queues have just 1 message in them and two queues have  
2 messages.

I decided to time packets and measure the time it takes for a packet  
to travel from the server to the client and from the client to the  
server. This is where I got results that I can't quite explain...

The time a packet travels from a server to the client is consistently  
greater by a large margin!!!

Would someone kindly offer an explanation?

Rather than adding timestamps to each individual packet, I send a ping  
packet right after any packet the server sends out. I do this from my  
tcpsend macro, i.e.

-define(tcpsend(Socket, Data),
fun() -&gt;
XXX = pp:write(Data),
case catch gen_tcp:send(Socket, XXX) of
    ok -&gt;
ok;
                 ...
end,
YYY = pp:write(#ping{}),
case catch gen_tcp:send(Socket, YYY) of
    ok -&gt;
ok;
                 ...
end
end()).

The ping packet looks like this:

-record(ping, {
           send_time = now()
          }).

Once a bot receives the ping packet, it sends a pong back:

handle_ping(R, Bot) -&gt;
     handle_cast(#pong{ orig_send_time = R#ping.send_time }, Bot),
     {noreply, Bot}.

Here I copy the original send time into the pong packet and stamp it  
with send time on the bot side:

-record(pong, {
           orig_send_time,
           send_time = now(),
           recv_time
          }).

Once my server receives the pong packet, it plugs receive time in:

process_pong(Client, _Socket, R) -&gt;
     R1 = R#pong{ recv_time = now() },
     gen_server:cast(Client#client.server, {'PONG', R1}),
     Client.

I measure the time to client by subtracting original send time from  
the bot send time. The bots are dumb, they reply back as quickly as  
possible and don't contain any logic so there's should be very little  
overhead on the bot side.

The time to server is the difference between time of receipt on the  
server side and the bot send time.

handle_cast({'PONG', R = #pong{}}, Server) -&gt;
     TC = timer:now_diff(R#pong.send_time, R#pong.orig_send_time),
     TS = timer:now_diff(R#pong.recv_time, R#pong.send_time),
     gen_server:cast(?STATS, {'AVG', time_to_client, TC}),
     gen_server:cast(?STATS, {'AVG', time_to_server, TS}),
     {noreply, Server};

I have a separate "statistics" server that keeps track of averages:

handle_cast({'AVG', Id, New}, Data) -&gt;
     Old = case gb_trees:lookup(Id, Data#stats.avg) of
               {value, Val} -&gt;
                   Val;
               none -&gt;
                   0
           end,
     Avg1 = gb_trees:enter(Id, (Old + New) / 2, Data#stats.avg),
     {noreply, Data#stats{ avg = Avg1 }};

When dumping stats, I divide averages by 1000 to get time in  
milliseconds.

So far so good?

Here are the results from testing on a single VM. Note that at some  
point the time to server starts to exceed the time to client.

Timings from testing on a cluster of 3 VMs follow at the bottom.

--- single VM ---

gateway:start('1&lt; at &gt;mothership', 4000, 500000)
Waiting for game servers...
Starting a port server on 4000...
Simulating gameplay with 500 games...
50 games started, 262 players
100 games started, 504 players
150 games started, 743 players
200 games started, 1019 players
250 games started, 1288 players
300 games started, 1529 players
350 games started, 1766 players
400 games started, 2057 players
450 games started, 2304 players
500 games started, 2562 players
dmb: 500 games launching simultaneously
dmb: waiting for games to end...

=INFO REPORT==== 6-Oct-2008::08:14:55 ===
     module: stats
     elapsed: 5.000022
     time_to_client: 0.3116982504004592
     time_to_server: 0.26828120427789537
     bytes: 110919
     packets: 6202
     {bytes,per_sec}: 22183
     {packets,per_sec}: 1240

=INFO REPORT==== 6-Oct-2008::08:15:00 ===
     module: stats
     elapsed: 4.999943
     time_to_client: 0.335493890834141
     time_to_server: 0.2682274480913192
     bytes: 35447
     packets: 1984
     {bytes,per_sec}: 7089
     {packets,per_sec}: 396

=INFO REPORT==== 6-Oct-2008::08:15:10 ===
     module: stats
     elapsed: 4.999295
     time_to_client: 0.8764044453192754
     time_to_server: 0.5871947161189068
     bytes: 600493
     packets: 25147
     {bytes,per_sec}: 120115
     {packets,per_sec}: 5030

=INFO REPORT==== 6-Oct-2008::08:15:15 ===
     module: stats
     elapsed: 5.000729
     time_to_client: 0.416
     time_to_server: 198.9885
     bytes: 25
     packets: 1
     {bytes,per_sec}: 4
     {packets,per_sec}: 0

=INFO REPORT==== 6-Oct-2008::08:15:25 ===
     module: stats
     elapsed: 5.131727
     time_to_client: 4.039440742060922
     time_to_server: 44.38444315504353
     bytes: 49034
     packets: 1979
     {bytes,per_sec}: 9555
     {packets,per_sec}: 385

=INFO REPORT==== 6-Oct-2008::08:15:30 ===
     module: stats
     elapsed: 4.994361
     time_to_client: 5.236234569474154
     time_to_server: 15.505128105674318
     bytes: 8907
     packets: 358
     {bytes,per_sec}: 1783
     {packets,per_sec}: 71
50 games finished

=INFO REPORT==== 6-Oct-2008::08:15:35 ===
     module: stats
     elapsed: 4.923643
     time_to_client: 7.458330178363772
     time_to_server: 49.56836180504743
     bytes: 14380
     packets: 581
     {bytes,per_sec}: 2920
     {packets,per_sec}: 118
100 games finished
150 games finished

=INFO REPORT==== 6-Oct-2008::08:15:40 ===
     module: stats
     elapsed: 5.014354
     time_to_client: 10.303327121777983
     time_to_server: 64.27703119134696
     bytes: 23849
     packets: 960
     {bytes,per_sec}: 4756
     {packets,per_sec}: 191
200 games finished
250 games finished

300 games finished

=INFO REPORT==== 6-Oct-2008::08:15:45 ===
     module: stats
     elapsed: 4.973468
     time_to_client: 13.492860654918857
     time_to_server: 106.97844814674687
     bytes: 28758
     packets: 1162
     {bytes,per_sec}: 5782
     {packets,per_sec}: 233
350 games finished

400 games finished
450 games finished

=INFO REPORT==== 6-Oct-2008::08:15:50 ===
     module: stats
     elapsed: 4.965927
     time_to_client: 20.687073726427755
     time_to_server: 46.96422948544525
     bytes: 76007
     packets: 3071
     {bytes,per_sec}: 15305
     {packets,per_sec}: 618
500 games finished
dmb: exited successfully, 58.529502 seconds elapsed
ok
(1&lt; at &gt;mothership)5&gt;

=INFO REPORT==== 6-Oct-2008::08:15:55 ===
     module: stats
     elapsed: 4.996499
     time_to_client: 1.8395921187621034
     time_to_server: 3.3051747276788346
     bytes: 3845004
     packets: 161772
     {bytes,per_sec}: 769539
     {packets,per_sec}: 32377

Here are the baffling results from testing on a cluster of 3 separate  
VMs. Note that the time to client is consistently higher and reaches  
3.5 seconds at the end, when the game VM is forced to crash upon a  
player timeout.

--- Distributed ---

(1&lt; at &gt;mothership)2&gt; dmb:test(500)

gateway:start('1&lt; at &gt;mothership', 4000, 500000)
Waiting for game servers...
Starting a port server on 4000...
Simulating gameplay with 500 games...
50 games started, 262 players
100 games started, 504 players
150 games started, 743 players
200 games started, 1019 players
250 games started, 1288 players
300 games started, 1529 players
350 games started, 1766 players
400 games started, 2057 players
450 games started, 2304 players
500 games started, 2562 players
dmb: 500 games launching simultaneously
dmb: waiting for games to end...

=INFO REPORT==== 6-Oct-2008::08:17:12 ===
     module: stats
     elapsed: 5.000164
     time_to_client: 0.7472338659989799
     time_to_server: 0.2868026026862225
     bytes: 97276
     packets: 5438
     {bytes,per_sec}: 19454
     {packets,per_sec}: 1087

=INFO REPORT==== 6-Oct-2008::08:17:17 ===
     module: stats
     elapsed: 4.999986
     time_to_client: 0.9655462464556185
     time_to_server: 0.30163815339577854
     bytes: 49090
     packets: 2748
     {bytes,per_sec}: 9818
     {packets,per_sec}: 549

=INFO REPORT==== 6-Oct-2008::08:17:22 ===
     module: stats
     elapsed: 4.999992

=INFO REPORT==== 6-Oct-2008::08:17:27 ===
     module: stats
     elapsed: 5.000022
     time_to_client: 903.3217931168908
     time_to_server: 8.179055363354317
     bytes: 346499
     packets: 14736
     {bytes,per_sec}: 69299
     {packets,per_sec}: 2947

=INFO REPORT==== 6-Oct-2008::08:17:32 ===
     module: stats
     elapsed: 4.999981
     time_to_client: 301.7944063249315
     time_to_server: 0.13660450764194335
     bytes: 254019
     packets: 10412
     {bytes,per_sec}: 50803
     {packets,per_sec}: 2082

=INFO REPORT==== 6-Oct-2008::08:17:37 ===
     module: stats
     elapsed: 5.000355
     time_to_client: 185.66359294523173
     time_to_server: 2.651532941434563
     bytes: 63537
     packets: 2565
     {bytes,per_sec}: 12706
     {packets,per_sec}: 512

=INFO REPORT==== 6-Oct-2008::08:17:42 ===
     module: stats
     elapsed: 4.999885
     time_to_client: 1501.014993336486
     time_to_server: 35.811546393119464
     bytes: 405683
     packets: 16375
     {bytes,per_sec}: 81138
     {packets,per_sec}: 3275

vvvvv the game serving VM crash dumps here, as requested
** exception error: no case clause matching noconnection
      in function  dmb:wait_for_games/1
(1&lt; at &gt;mothership)3&gt;
=INFO REPORT==== 6-Oct-2008::08:17:47 ===
     module: stats
     elapsed: 4.999809
     time_to_client: 3496.1493304273376
     time_to_server: 0.09871293629933679
     bytes: 286105
     packets: 11573
     {bytes,per_sec}: 57223
     {packets,per_sec}: 2314


--
wagerlabs.com





</description>
    <dc:creator>Joel Reymont</dc:creator>
    <dc:date>2008-10-06T07:53:52</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33553">
    <title>Erlang Course on Web-Site (IP Rights)</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33553</link>
    <description>
Hi There,


The Erlang Course:

* http://www.erlang.org/course/course.html

...doesn't have any obvious attribution as to who or what legal entity 
owns the copyright and other rights to it.

Does anyone know who the IP owner actually is and if there are any 
specific restrictions on its use (eg. not in a commercial setting)?


DSL
</description>
    <dc:creator>David Lloyd</dc:creator>
    <dc:date>2008-10-06T05:31:23</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33552">
    <title>Erlang external binary term format</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33552</link>
    <description>
term_to_binary() outputs a binary. 
what is the format of that binary? I would like to create a
"unpacker/packer" for that format in ActionScript3, and avoid the use of XML
(which Im using now for Flash-to-Erlang) communication altogether. it would
be faster, less code, and much more efficient from the bandwidth point of
view. 

is there a document someplace that gives the byte layout maybe?
thank you 
</description>
    <dc:creator>deepblue_other</dc:creator>
    <dc:date>2008-10-06T01:13:59</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33546">
    <title>tcp sockets - not clear</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33546</link>
    <description>
hello everyone
Im building a system with a Flash front-end and an Erlang back-end and have
some confusion in a case where there is a single socket on the back-end per
user (per single socket on the front-end).
I want to have multiple independent objects on the front-end send messages
to the back-end, but am not sure how the simultaneous transmission would be
handled. This probably stems from my somewhat clowdly understanding of TCP.
Say there are 3 objects that initiate a send() method on the front-end
(almost at the same time) and send a semi large message each to the
back-end. Each message would be ID'd by the front-end so that when received
back it can be routed to the appropriate callback. Is this possible?
since the packets are being assembled in the {tcp, Socket, Data} pattern
match, peace by peace, would the correct peaces of the individual messages
be stiched together? (doesnt seem like they would).

if that wont work then I would just have the serialize the
sending/receiving, which is not too horrible...

thanks 
</description>
    <dc:creator>deepblue_other</dc:creator>
    <dc:date>2008-10-05T16:07:08</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33542">
    <title>Introduction to Erlang at Erlang User GroupBerlin</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33542</link>
    <description>Dear Erlang Folks in Berlin and thereabouts,

This month's Erlang User Group[1] meeting will sport an "Introduction  
to Erlang" by Florian Ebeling. Florian stepped up to satisfy frequent  
request by newcomers to give a introductory presentation about Erlang.  
Thanks Florian!

This event is open to everyone, not just members of the Erlang User.  
Please give us a shout  on the Google Group [1] if you are planning to  
come.

We meet at Z-Bar[2], Bergstr.2, Berlin Mitte[3], 20:00 on October 8th,  
2008, listen to Florian's presentation and then have a few beers.  
Please spread the word, thank you!

Cheers,
Jan
--
[1] http://groups.google.com/group/erlang-berlin
[2] http://z-bar.de/
[3] http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=z-bar&amp;sll=52.491349,13.427872&amp;sspn=0.006637,0.013733&amp;ie=UTF8&amp;ll=52.531887,13.401947&amp;spn=0.053048,0.109863&amp;z=13
</description>
    <dc:creator>Jan Lehnardt</dc:creator>
    <dc:date>2008-10-05T11:02:20</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33536">
    <title>tcp sockets confusion</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33536</link>
    <description>
hello everyone
Im building a system with a Flash front-end and an Erlang back-end and have
some confusion in a case where there is a single socket on the back-end per
user (per single socket on the front-end). 
I want to have multiple independent objects on the front-end send messages
to the back-end, but am not sure how the simultaneous transmission would be
handled. This probably stems from my somewhat clowdly understanding of TCP.
Say there are 3 objects that initiate a send() method on the front-end
(almost at the same time) and send a semi large message each to the
back-end. Each message would be ID'd by the front-end so that when received
back it can be routed to the appropriate callback. Is this possible? 
since the packets are being assembled in the {tcp, Socket, Data} pattern
match, peace by peace, would the correct peaces of the individual messages
be stiched together? (doesnt seem like they would). 

if that wont work then I would just have the serialize the
sending/receiving, which is not too horrible...

thanks 
</description>
    <dc:creator>deepblue_other</dc:creator>
    <dc:date>2008-10-05T03:16:23</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33535">
    <title>re cursive fun()</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33535</link>
    <description>
hello
I have this going on

FunVar = 
   fun() -&gt;
      ...
      FunVar()
   end.

so the compiler is complaining that FunVar is unbound at the place where its
being used inside fun(); this makes sense, however Im wondering how to make
this into a recursive function since there's no name to reference the
function with. 

thanks
</description>
    <dc:creator>deepblue_other</dc:creator>
    <dc:date>2008-10-05T03:19:04</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33526">
    <title>Get a range of tuples from a Mnesia table</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33526</link>
    <description/>
    <dc:creator>Greg Burri</dc:creator>
    <dc:date>2008-10-04T16:19:53</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33516">
    <title>xmerl_xpath and namespaces</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33516</link>
    <description/>
    <dc:creator>denis</dc:creator>
    <dc:date>2008-10-03T21:40:43</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33514">
    <title>Unused inline functions compiler warning</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33514</link>
    <description/>
    <dc:creator>Edwin Fine</dc:creator>
    <dc:date>2008-10-03T19:02:15</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33513">
    <title>Erlang timer program - feedback please</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33513</link>
    <description/>
    <dc:creator>Sean Payne</dc:creator>
    <dc:date>2008-10-03T18:52:09</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.erlang.general/33511">
    <title>[bug] beam_asm failure on invalid binary match</title>
    <link>http://comments.gmane.org/gmane.comp.lang.erlang.general/33511</link>
    <description/>
    <dc:creator>Will</dc:creator>
    <dc:date>2008-10-03T17:20:00</dc:date>
  </item>
  <textinput about="http://search.gmane.org/?group=$group=gmane.comp.lang.erlang.general">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.lang.erlang.general</link>
  </textinput>
</rdf:RDF>
