seen from Yemen

seen from United States

seen from United States

seen from Netherlands
seen from China
seen from China
seen from Germany

seen from China

seen from Taiwan
seen from Philippines
seen from Singapore

seen from Taiwan

seen from Singapore
seen from Jordan
seen from United States

seen from Taiwan

seen from Canada

seen from Russia
seen from China
seen from United States
uvloop - Ultra fast implementation of asyncio event loop on top of libuv.
uvloop - wicked fast python asyncio event loop on top of libuv
libevent vs. libev vs. libuv
What's the difference between libevent, libev, and libuv?
Marc Lehmann on Stack Overflow:
libev was created to improve on some of the architectural decisions in libevent, for example, global variable usage made it hard to use libevent safely in multithreaded environments, watcher structures are big because they combine I/O, time and signal handlers in one, the extra components such as the http and dns servers suffered from bad implementation quality and resultant security issues, and timers were inexact and didn't cope well with time jumps.
Libev tried to improve each of these, by not using global variables but using a loop context for all functions, by using small watchers for each event type (an I/O watcher uses 56 bytes on x86_64 compared to 136 for libevent), allowing extra event types such as timers based on wallclock vs. monotonic time, inter-thread interruptions, prepare and check watchers to embed other event loops or to be embedded and so on.
Nikhil Marathe on GitHub:
The node.js project began in 2009 as a JavaScript environment decoupled from the browser. Using Google’s V8 and Marc Lehmann’s libev, node.js combined a model of I/O – evented – with a language that was well suited to the style of programming; due to the way it had been shaped by browsers. As node.js grew in popularity, it was important to make it work on Windows, but libev ran only on Unix. The Windows equivalent of kernel event notification mechanisms like kqueue or (e)poll is IOCP. libuv was an abstraction around libev or IOCP depending on the platform, providing users an API based on libev. In the node-v0.9.0 version of libuv libev was removed.
So each one succeeds the previous one. Libuv is the hot stuff today.
Long ago in my technical writing, I sought to eliminate gendered pronouns when referring to unnamed people or entities.
Joyent, the folks in charge of Node.js, say that they would have fired Ben Noordhuis if he worked for them. Why? A contributor tried to submit a change removing a needless "he" in the comments of libuv and Ben reverted the change. Why? His direct response to the commit: "Sorry, not interested in trivial changes like that."
TRIVIALLY EASY. It had no affect on the way the code ran but it had every effect on the community of contributors and potential contributors of the project. Luckily, Bryan Cantrill, SVP of Engineering for Joyent, understands the problem and supported the project's manager, Isaac Schlueter, in accepting the patch. He's also stated that he expects Isaac will take other actions since Ben is not an employee.
By publicly talking about what they as a company did and why, they set a tone and expectations about how things will be run in their projects.
This event is not in and of itself a world-changing event, but it is crucial. This is a small and easy second step.
So far as I can tell, Joyent did not follow the first step. Projects must have community guidelines emphasizing diversity and equality along with a solid anti-harassment policy. I looked all over the libuv project, and couldn't find anything on it. I'd rather they have an unspoken policy they do enforce than a written policy they don't enforce. It's far better to have the written policy, constant commitment to that policy, and enforcement.
The development community as a whole needs to demand more of our projects.
Joyent has shown the community that it cares and will act. It's not perfect, but it's a hell of a lot better than the development community does as a whole.
Rust 0.6 for Fedora
The previous draft spec wasn't able to build rust with the official 0.6 sources. The spec file is now updated and you can build your own rust package using:
$ curl -O https://raw.github.com/fabiand/rust-spec/master/rust.spec $ nice ionice rpmbuild --noclean -ba -v rust.spec
It is assumed that you've got a working fedora-package setup and an internet connection. Changes are mainly that chrpath is used to remove rpaths from files. Rust is still using it's own libuv and llvm.
http://nikhilm.github.io/uvbook/An%20Introduction%20to%20libuv.pdf
[Libuv](https://github.com/joyent/libuv) is the core library behind [Node.js](http://nodejs.org/). Very similar to [libevent](http://libevent.org/) or [libev](http://software.schmorp.de/pkg/libev.html), it provides the main elements for [event driven systems](http://en.wikipedia.org/wiki/Event-driven_programming): watching and waiting for availability in a set of sockets, and some other events like timers or asynchronous messages. However, libuv also comes with some other extras like: * [files](http://nikhilm.github.com/uvbook/filesystem.html) watchers and asynchronous operations * a portable [TCP and UDP API](http://nikhilm.github.com/uvbook/networking.html), as well as asynchronous [DNS resolution](http://nikhilm.github.com/uvbook/networking.html#querying-dns) * [processes](http://nikhilm.github.com/uvbook/processes.html) and [threads](http://nikhilm.github.com/uvbook/threads.html) management, and a portable [inter-process](http://nikhilm.github.com/uvbook/threads.html#inter-thread-communication) communications mechanism, with [pipes](http://nikhilm.github.com/uvbook/processes.html#pipes) and [work queues](http://nikhilm.github.com/uvbook/threads.html#libuv-work-queue) * a [plugins](http://nikhilm.github.com/uvbook/utilities.html#loading-libraries) mechanism for loading libraries dynamically * interface with [external libraries](http://nikhilm.github.com/uvbook/utilities.html#external-i-o-with-polling) that also need to access the I/O
LibUV: How Node.js' Asynchronous IO Works Under the Hood
At LXJS 2012, Node.js core committer Bert Belder gave a talk about libuv, the library Node uses to get cross-platform asynchronous IO. And if this sort of thing intrigues you, consider Marc's course (above). http://blog.nodejs.org/2012/09/30/bert-belder-libuv-lxjs-2012 .js 10mo. ANIVERSARIO DE LA CREACION DE LA UNIVERSIDAD DE LAS CIENCIAS INFORMATICAS... CONECTADOS AL FUTURO, CONECTADOS A LA REVOLUCION http://www.uci.cu http://www.facebook.com/universidad.uci http://www.flickr.com/photos/universidad_uci