Tag Archives: event

Shanghai HTML5 Code Jam (Second Edition)

by Fabien

Enters the second Shanghai HTML5 code jam!

After a successful first edition, this fun braingasmic event will be held for the second time in The NetCircle office from the 25th of February 9:00 to the 26th 18:20.

What is this all about?

The spirit of HTML5 Code Jam is  all about Inspiring Innovation, Enthusiasm, Teamwork and Fast-pace development. HTML5 Code Jam aims at the combination of those values and the promotion of HTML5 technology.

HTML5 Code Jam is opened to everyone interested in Web Technology.

It also provides you an opportunity to develop an application in only 2 days; an extraordinary experience mixing planning, developing and cooperating! It’s a good way to learn about all the fun of HTML5 by brainstorming on New Technologies.

On a broader range, the idea is to push for more HTML5 development in China!

You can sign up for HTML5 Code Jam here!

Continue reading →

Pics and slides from Shanghai Scrum Forum

by Sam

September the 27th was the first Shanghai Scrum Forum in our office. It was the opportunity for the company to share knowledge about Scrum in order to continuously improve our practices.

There were in total 9 presentations covering different topics (Scrum in general, Scrum masters and product owners roles, different aspect linked to the products business, Scrum and management, …). The event finished with an open space session. About the presentations I can mention “How little can we do and still call it Scrum” from Alan Atlas, “Getting to Done” from Vermon Stinebaker or “From Development Agility to business Agility with Scrum and Opportunity Engineering” from Julien Mazloum.

You can find here The NetCircle presentations slides and some pictures of the event. Blaise Iranyumviye and Mik Pathikirikorale presented Three years of Scrum at The NetCircle and Nils Weisensee presented Product Owners: Five mistakes that make your project #fail.

Zendcon 2010, here we come

by Boby

Just a small post to wish a good time to all the participants of Zendcon 2010 which starts today. Zendcon is THE PHP conference with 4 days of sessions and the presence of all the PHP scene.

And we are present there as well! Our ambassador, Alvaro Videla, will be giving a presentation on “Integrating PHP with RabbitMQ” tomorrow from 10 to 11am. He will talk about his experiences in deploying and running a messaging queue system on a high traffic website for one of our client. Don’t miss it!!

2010 ECUG Beijing debriefing

by Joseph

On October 16th and 17th three members of The NetCircle team hitchhiked their way to Beijing to attend the 2010 Effective Cloud User Group (formerly known as Erlang China User Group) conference. The conference brought in some heavy hitters in the Chinese software community to give talks that touched on a range of topics related to effectively scaling software applications and services for large numbers of users. There were several presentations from speakers working at well-known companies like Taobao, Shanda and MochiMedia, as well as our own software wizard, Alvaro Videla.

The range of topics included technical issues with deploying WebOSs, concurrency problems, Erlang game development, distributed storage and solving the C1000K problem (the C10K problem is so yesterday) from a hardware perspective. Bob Ippolito discussed how Erlang services are deployed at MochiWeb and some of the tools they use to develop, test and deploy those services.

Here is a quick recap of all the talks that went down.

Continue reading →

Erlang at the Netcircle

by Boby

Here is a small blog post to celebrate the company presence at the ECUG Con 2010 (ECUG stands Effective Cloud User Group, former Erlang China User Group) in Beijing this week end (16th and 17th of October 2010). Our most famous coworker, Alvaro Videla, will be giving a talk about scaling web application using RabbitMQ along with fellow erlangists from China but also Bob Ippolito, CTO of MochiMedia.

Stay put for the after-con report, meanwhile I will present quickly how we are using Erlang in our projects. Erlang is a functional language with built-in support for concurrency, distribution, messaging and fault tolerance; it was developed by Ericsson to run on telecommunication systems. Its nature permits to build robust, scalable applications that we can use to power our projects.

Here is a list of the tools we are using:

* RabbitMQ: The famous messaging system helped us to remove a lot of heavy processing in the background and increase the response time of our sites. For example, signing up is now a matter of milliseconds for our users as IP logging, statistics update, cache clearing is done asynchronously. But we also use it for thumbnails generation, email notifications, error logging… We are running a simple setup with 2 servers and processing 27 millions messages per day for the moment. The current load is very low so we could easily increase the queue penetration in our system.

* Ejabberd: This is an instant messaging server using the XMPP protocol. We use it to track if the user is online or not and as a in-browser chat. We also start building a real-time notification platform on top of it; so that we could notify the user in his browser window if one of his friends is logged in or if the user receives a poke/message. The current setup is one server keeping connection with up to 300 concurrent users and we are doing capacity testing to reach 30,000 sessions.

* Riak: For one of our project, we are storing around 200 millions messages send among users. We are storing currently them on 4 servers using master-slave setup and basic partitioning. To alleviate the situation, we want to use a distributed key-value database, as in Riak. We should then be able to grow easily and store enormous amount of data without having to worry. Also over the years, we realized that denormalization and partitioning are critical in improving our SQL databases, so why not give a try to a NoSQL database; the important thing is to understand the data and how it is used. One of our colleagues, Joseph Lambert, worked several weeks on a indexing solution for Riak to accelerate items retrieval based on some criteria, which worked much better than to rely on Map/Reduce. Promising stuff until Riak Search was finally released last week with indexing, Lucene syntax and what not. Well at least we had to play with Riak internals and have a better understanding of it. The next step will be finalizing the prototype and deploy it for live testing. Exciting :)

* Tsung: I nearly forgot this one but this is also important. The overall goal for us of using Erlang is to build performant systems able to respond to the quick users growth. Still this doesn’t make so much sense if we are not able to prove it and this is where Tsung intervenes. Tsung is a load testing tool that allows to generate different kind of load like MySQL queries, HTTP requests, XMPP connections… It works with scenario that can simulate user traffic and is distributed to simulate heavy loads. We use it to stress tests our system; for example we did some experiments for our migration from MyISAM to XtraDB on our main MySQL database so that we could see what will be the real impact in production and if the migration was worth with our kind of traffic (note: it is!).

Finally we are also looking into improving our skills in Erlang to understand better how those tools are working but also at some point build our own services more business orientated in a scalable way.

Join Our Team in Shanghai

Now hiring PHP Developer in Shanghai