Jump to page: 1 2
Thread overview
Writing a scalable chat room service in D
Jan 04, 2016
Sönke Ludwig
Jan 04, 2016
Saurabh Das
Jan 04, 2016
Sönke Ludwig
Jan 04, 2016
Bubbasaur
Jan 04, 2016
Sönke Ludwig
Jan 04, 2016
Bubbasaur
Jan 04, 2016
Sönke Ludwig
Jan 04, 2016
Bubbasaur
Jan 04, 2016
Johannes Pfau
Jan 04, 2016
bachmeier
Jan 04, 2016
Sönke Ludwig
Jan 04, 2016
Charles
Jan 04, 2016
Sönke Ludwig
Jan 04, 2016
Jason Jeffory
Jan 04, 2016
Sönke Ludwig
Jan 04, 2016
Meta
Jan 04, 2016
Sönke Ludwig
Jan 04, 2016
Sönke Ludwig
January 04, 2016
Finally published the article that I had prepared in autumn last year. It gives an overview of the basic functionality needed to implement a typical web application using vibe.d. The example uses Redis as a data store - using other storage solutions may be a good topic for a follow-up article.

https://vibed.org/blog/posts/a-scalable-chat-room-service-in-d

Reddit: https://www.reddit.com/r/programming/comments/3ze948/writing_a_scalable_chat_room_service_in_d/
January 04, 2016
On Monday, 4 January 2016 at 10:19:52 UTC, Sönke Ludwig wrote:
> Finally published the article that I had prepared in autumn last year. It gives an overview of the basic functionality needed to implement a typical web application using vibe.d. The example uses Redis as a data store - using other storage solutions may be a good topic for a follow-up article.
>
> https://vibed.org/blog/posts/a-scalable-chat-room-service-in-d
>
> Reddit: https://www.reddit.com/r/programming/comments/3ze948/writing_a_scalable_chat_room_service_in_d/

Love the new (light) look of vibed.org! :)
January 04, 2016
Am 04.01.2016 um 12:15 schrieb Saurabh Das:
> On Monday, 4 January 2016 at 10:19:52 UTC, Sönke Ludwig wrote:
>> Finally published the article that I had prepared in autumn last year.
>> It gives an overview of the basic functionality needed to implement a
>> typical web application using vibe.d. The example uses Redis as a data
>> store - using other storage solutions may be a good topic for a
>> follow-up article.
>>
>> https://vibed.org/blog/posts/a-scalable-chat-room-service-in-d
>>
>> Reddit:
>> https://www.reddit.com/r/programming/comments/3ze948/writing_a_scalable_chat_room_service_in_d/
>>
>
> Love the new (light) look of vibed.org! :)

Thanks! I felt that it was time to change it to something that better reflects the goals of the framework (fast, simple etc.). Still requires some tweaking for mobile phones and large screens, but it will get there.
January 04, 2016
On Monday, 4 January 2016 at 10:19:52 UTC, Sönke Ludwig wrote:
> Finally published the article that I had prepared in autumn last year...

Neat but just one thing, when I click in the link on the Reddit, Chrome warns:

"
Your connection is not private

Attackers might be trying to steal your information from vibed.org (for example, passwords, messages, or credit cards). NET::ERR_CERT_INVALID
"

So to proceed I had to take out the "s" from "http://"

You should look over this, because some users maybe be afraid to proceed.

Bubba.

January 04, 2016
Am 04.01.2016 um 15:05 schrieb Bubbasaur:
> On Monday, 4 January 2016 at 10:19:52 UTC, Sönke Ludwig wrote:
>> Finally published the article that I had prepared in autumn last year...
>
> Neat but just one thing, when I click in the link on the Reddit, Chrome
> warns:
>
> "
> Your connection is not private
>
> Attackers might be trying to steal your information from vibed.org (for
> example, passwords, messages, or credit cards). NET::ERR_CERT_INVALID
> "
>
> So to proceed I had to take out the "s" from "http://"
>
> You should look over this, because some users maybe be afraid to proceed.
>
> Bubba.
>

Which browser did you use? It's a Let's Encrypt certificate, maybe that still has issues.
January 04, 2016
On Monday, 4 January 2016 at 10:19:52 UTC, Sönke Ludwig wrote:
> Finally published the article that I had prepared in autumn last year. It gives an overview of the basic functionality needed to implement a typical web application using vibe.d. The example uses Redis as a data store - using other storage solutions may be a good topic for a follow-up article.
>
> https://vibed.org/blog/posts/a-scalable-chat-room-service-in-d
>
> Reddit: https://www.reddit.com/r/programming/comments/3ze948/writing_a_scalable_chat_room_service_in_d/

This is nice work. You've done a good job of showing the power of vibe.d.

Something that comes to mind is that there is a lot of demand for self-hosted chat servers. Is there a possibility to make this into an example that works out of the box? By that, I mean someone could install vibe.d on a DigitalOcean server, type "vibe chat start" at the command line, and have a running chat service. That would lead to a lot of vibe.d installs, and then when they want to change something, they could jump into your tutorial and see how easy it is to do. To my knowledge, there is nothing like this available.
January 04, 2016
On Monday, 4 January 2016 at 10:19:52 UTC, Sönke Ludwig wrote:
> Finally published the article that I had prepared in autumn last year. It gives an overview of the basic functionality needed to implement a typical web application using vibe.d. The example uses Redis as a data store - using other storage solutions may be a good topic for a follow-up article.
>
> https://vibed.org/blog/posts/a-scalable-chat-room-service-in-d
>
> Reddit: https://www.reddit.com/r/programming/comments/3ze948/writing_a_scalable_chat_room_service_in_d/

Wish I knew this was being worked on. I had something similar over at: http://wiki.dlang.org/User:Csmith1991/Vibe.d_Documentation/websocket
January 04, 2016
On Monday, 4 January 2016 at 14:35:18 UTC, Sönke Ludwig wrote:
> Which browser did you use? It's a Let's Encrypt certificate, maybe that still has issues.

"Chrome" - Like I said above "Chrome warns...". :)

Here is more info about the warning:

"
vibed.org normally uses encryption to protect your information. When Chrome tried to connect to vibed.org this time, the website sent back unusual and incorrect credentials. Either an attacker is trying to pretend to be vibed.org, or a Wi-Fi sign-in screen has interrupted the connection. Your information is still secure because Chrome stopped the connection before any data was exchanged.

You cannot visit vibed.org right now because the website sent scrambled credentials that Chrome cannot process. Network errors and attacks are usually temporary, so this page will probably work later.
"

Bubba.
January 04, 2016
Am 04.01.2016 um 17:33 schrieb Bubbasaur:
> On Monday, 4 January 2016 at 14:35:18 UTC, Sönke Ludwig wrote:
>> Which browser did you use? It's a Let's Encrypt certificate, maybe
>> that still has issues.
>
> "Chrome" - Like I said above "Chrome warns...". :)

Oh sorry, missed that. However, my tests with Chrome on Windows and Chromium on Linux were both successful. Maybe it's something specific to your OS/Chrome version?

I do get a certificate validation error on my Blackberry browser, though. It seems that it doesn't trust the IdenTrust root certificate (DST Root CA X3).

>
> Here is more info about the warning:
>
> "
> vibed.org normally uses encryption to protect your information. When
> Chrome tried to connect to vibed.org this time, the website sent back
> unusual and incorrect credentials. Either an attacker is trying to
> pretend to be vibed.org, or a Wi-Fi sign-in screen has interrupted the
> connection. Your information is still secure because Chrome stopped the
> connection before any data was exchanged.
>
> You cannot visit vibed.org right now because the website sent scrambled
> credentials that Chrome cannot process. Network errors and attacks are
> usually temporary, so this page will probably work later.
> "
>
> Bubba.

January 04, 2016
Am 04.01.2016 um 16:01 schrieb bachmeier:
> On Monday, 4 January 2016 at 10:19:52 UTC, Sönke Ludwig wrote:
>> Finally published the article that I had prepared in autumn last year.
>> It gives an overview of the basic functionality needed to implement a
>> typical web application using vibe.d. The example uses Redis as a data
>> store - using other storage solutions may be a good topic for a
>> follow-up article.
>>
>> https://vibed.org/blog/posts/a-scalable-chat-room-service-in-d
>>
>> Reddit:
>> https://www.reddit.com/r/programming/comments/3ze948/writing_a_scalable_chat_room_service_in_d/
>>
>
> This is nice work. You've done a good job of showing the power of vibe.d.
>
> Something that comes to mind is that there is a lot of demand for
> self-hosted chat servers. Is there a possibility to make this into an
> example that works out of the box? By that, I mean someone could install
> vibe.d on a DigitalOcean server, type "vibe chat start" at the command
> line, and have a running chat service. That would lead to a lot of
> vibe.d installs, and then when they want to change something, they could
> jump into your tutorial and see how easy it is to do. To my knowledge,
> there is nothing like this available.

That would certainly work, I've uploaded each step of the tutorial to GitHub [1]. Something like "git clone https://github.com/rejectedsoftware/webchat-tutorial.git && dub --root=webchat-tutorial" should do it.

However, there are a lot of details missing that would be desirable for a real-world application, such as adding time stamps, restricting history length, making a nicer UI and some kind of authentication or nickname stealing prevention.

[1]: https://github.com/rejectedsoftware/webchat-tutorial/tree/master/tutorial
« First   ‹ Prev
1 2