April 27, 2012
On Friday, 27 April 2012 at 02:19:23 UTC, Andrei Alexandrescu wrote:
> On 4/26/12 3:30 PM, Jesse Phillips wrote:
>> On Thursday, 26 April 2012 at 22:05:29 UTC, Robert Clipsham wrote:
>>> On 26/04/2012 21:46, Sönke Ludwig wrote:
>>>> vibe.d
>>>
>>> This looks awesome!
>>>
>>> Also on reddit:
>>> http://www.reddit.com/r/programming/comments/su9la/vibed_asynchronous_io_that_doesnt_get_in_your_way/
>>>
>>>
>>> and hacker news:
>>> https://news.ycombinator.com/item?id=3896197
>>
>> Now look what you did, you killed it.
>
> Are the Vibe people on this? Though the intent is very nice, this is not looking great right now.
>
> Andrei

It's back up. It went down while he was asleep.

Regards,
Brad Anderson
April 27, 2012
Am 27.04.2012 04:19, schrieb Andrei Alexandrescu:
> On 4/26/12 3:30 PM, Jesse Phillips wrote:
>> On Thursday, 26 April 2012 at 22:05:29 UTC, Robert Clipsham wrote:
>>> On 26/04/2012 21:46, Sönke Ludwig wrote:
>>>> vibe.d
>>>
>>> This looks awesome!
>>>
>>> Also on reddit:
>>> http://www.reddit.com/r/programming/comments/su9la/vibed_asynchronous_io_that_doesnt_get_in_your_way/
>>>
>>>
>>>
>>> and hacker news:
>>> https://news.ycombinator.com/item?id=3896197
>>
>> Now look what you did, you killed it.
>
> Are the Vibe people on this? Though the intent is very nice, this is not
> looking great right now.
>
> Andrei


It's back up now and I've made a small watchdog script to avoid this in the future.

The problem is that I'm currently using a vibe based reverse proxy instead of nginx and it rarely has an uncaught exception that unfortunately has never been logged with stack trace. I wish I could have made this part rock solid before going live but someone else annouced it before me so it was too late.
April 27, 2012
On 2012-04-26 22:46, Sönke Ludwig wrote:
> During the last few months, we have been working on a new
> framework for general I/O and especially for building
> extremely fast web apps. It combines asynchronous I/O with
> core.thread's great fibers to build a convenient, blocking
> API which can handle insane amounts of connections due to
> the low memory and computational overhead.
>
> Some of its key fatures are:

Wow, that's impressive.

-- 
/Jacob Carlborg
April 27, 2012
Great work!

This is the the type of server side frameworks we need.

--
Paulo

On Thursday, 26 April 2012 at 20:46:41 UTC, Sönke Ludwig wrote:
> During the last few months, we have been working on a new
> framework for general I/O and especially for building
> extremely fast web apps. It combines asynchronous I/O with
> core.thread's great fibers to build a convenient, blocking
> API which can handle insane amounts of connections due to
> the low memory and computational overhead.
>
> Some of its key fatures are:
>
>  - Very fast but no endless callback chains as in node.js
>    and similar frameworks
>  - Concise API that tries to be as efficient and intuitive
>    as possible
>  - Built-in HTTP server and client with support for HTTPS,
>    chunked and compressed transfers, keep-alive connections,
>    Apache-style logging, a reverse-proxy, url routing and
>    more
>  - Jade based HTML/XML template system with compile-time
>    code generation for the fastest dynamic page generation
>    times possible
>  - Built-in support for MongoDB and Redis databases
>  - WebSocket support
>  - Natural Json and Bson handling
>  - A package manager for seemless use of extension libraries
>
> See http://vibed.org/ for more information and some example
> applications (there are some things in the works such as an
> etherpad clone and an NNTP server).
>
> vibe.d is in a working state and enters its first beta-phase
> now to stabilize the current feature set. After that, a
> small list of additional features is planned before the 1.0
> release.
>
> The framework can be downloaded or GIT cloned from
> http://vibed.org/ and is distributed under the terms of the
> MIT license.
>
> Note that the website including the blog is fully written
> in vibe and provides the first stress test for the
> implementation.
>
> Regards,
> Sönke


April 27, 2012
On Thursday, 26 April 2012 at 20:46:41 UTC, Sönke Ludwig wrote:
> During the last few months, we have been working on a new
> framework for general I/O and especially for building
> extremely fast web apps. It combines asynchronous I/O with
> core.thread's great fibers to build a convenient, blocking
> API which can handle insane amounts of connections due to
> the low memory and computational overhead.
>
> Some of its key fatures are:
>
>  - Very fast but no endless callback chains as in node.js
>    and similar frameworks
>  - Concise API that tries to be as efficient and intuitive
>    as possible
>  - Built-in HTTP server and client with support for HTTPS,
>    chunked and compressed transfers, keep-alive connections,
>    Apache-style logging, a reverse-proxy, url routing and
>    more
>  - Jade based HTML/XML template system with compile-time
>    code generation for the fastest dynamic page generation
>    times possible
>  - Built-in support for MongoDB and Redis databases
>  - WebSocket support
>  - Natural Json and Bson handling
>  - A package manager for seemless use of extension libraries
>
> See http://vibed.org/ for more information and some example
> applications (there are some things in the works such as an
> etherpad clone and an NNTP server).
>
> vibe.d is in a working state and enters its first beta-phase
> now to stabilize the current feature set. After that, a
> small list of additional features is planned before the 1.0
> release.
>
> The framework can be downloaded or GIT cloned from
> http://vibed.org/ and is distributed under the terms of the
> MIT license.
>
> Note that the website including the blog is fully written
> in vibe and provides the first stress test for the
> implementation.
>
> Regards,
> Sönke

I had to copy the included .lib files into bin in order to build the examples but so far, so good.  This is awesome.

Regards,
Brad Anderson
April 27, 2012
>
> I had to copy the included .lib files into bin in order to build the
> examples but so far, so good. This is awesome.
>
> Regards,
> Brad Anderson

There is some really strange behavior of Windows batch files where it sometimes fails with environment variables set with quotes and sometimes without...
Now I changed the line "SET LIBDIR=..\lib\win-i386" in run_example.cmd from quoted to non-quoted and for me it seems to work.

Any idea what might cause this erratic behavior?
April 27, 2012
On Friday, 27 April 2012 at 07:00:23 UTC, Sönke Ludwig wrote:
>>
>> I had to copy the included .lib files into bin in order to build the
>> examples but so far, so good. This is awesome.
>>
>> Regards,
>> Brad Anderson
>
> There is some really strange behavior of Windows batch files where it sometimes fails with environment variables set with quotes and sometimes without...
> Now I changed the line "SET LIBDIR=..\lib\win-i386" in run_example.cmd from quoted to non-quoted and for me it seems to work.
>
> Any idea what might cause this erratic behavior?

I haven't a clue.

Are these diet templates static?  I was looking for more information but this page doesn't exist: http://vibed.org/templates
April 27, 2012
Am 27.04.2012 09:08, schrieb Brad Anderson:
> On Friday, 27 April 2012 at 07:00:23 UTC, Sönke Ludwig wrote:
>>>
>>> I had to copy the included .lib files into bin in order to build the
>>> examples but so far, so good. This is awesome.
>>>
>>> Regards,
>>> Brad Anderson
>>
>> There is some really strange behavior of Windows batch files where it
>> sometimes fails with environment variables set with quotes and
>> sometimes without...
>> Now I changed the line "SET LIBDIR=..\lib\win-i386" in run_example.cmd
>> from quoted to non-quoted and for me it seems to work.
>>
>> Any idea what might cause this erratic behavior?
>
> I haven't a clue.
>
> Are these diet templates static? I was looking for more information but
> this page doesn't exist: http://vibed.org/templates

Yes, they are compiled to D code at compile time but you can use dynamic expressions and statements inside. The result is a bunch of calls of the form:
'write("<html><head><title>"); write(htmlEscape(myDynamicVariable)); ...".

The features page* has a paragraph about them but the syntax reference is still missing. I will add a notice that the Jade reference** can be used instead for now.

* http://vibed.org/features#diet-templates
** https://github.com/visionmedia/jade
April 27, 2012
On Thu, 26 Apr 2012 22:46:37 +0200, Sönke Ludwig <sludwig@outerproduct.org> wrote:

> During the last few months, we have been working on a new
> framework for general I/O and especially for building
> extremely fast web apps. It combines asynchronous I/O with
> core.thread's great fibers to build a convenient, blocking
> API which can handle insane amounts of connections due to
> the low memory and computational overhead.

Wow, thanks. Really looking forward to testing this.
I have a contract job coming up this summer. I had dismissed D altogether for this app, but now I see some new hope :)
April 27, 2012
Sounds great! And the site's very speedy :)  I'm especially excited about this:

"(Work-in-progress) An integrated load balancer is able to dynamically compile, run and test new processes before switching them live after the code has been modified."

A few questions:

- Does the web framework work with other web servers, or is it tied to the built-in server?

- I don't suppose you have a feature comparison between the built-in server and Nginx? Is it one o' them fancy C10k servers? (Not that I'm likely to ever get that kind of traffic outside of a DDoS attack ;) )

- Why "static this"? Seems like a strange choice since it'll run before the main that (I assume) vibed automatically provides - and in an undefined order relative to all other module ctors.