Giter Site home page Giter Site logo

homebridge-platform-orvibo's People

Contributors

aitoromg avatar arvidbjorkstrom avatar macnow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

homebridge-platform-orvibo's Issues

Cannot read property 'deviceId' of undefined

Good morning - after a few weeks of having removed the orvibo platform, I decided to try again (I have a device in my kitchen that i REALLY want to control!).

So far I've had none of the connectivity issues that I previously saw (ENETUNREACH) however this morning on homebridge startup I saw the following error (see below). I have homebridge setup as a systems process so a restart resolved the issue, however I wondered if there was an easy resolution to the problem?

Jan 18 09:49:19 raspberrypi homebridge[25010]: /usr/local/lib/node_modules/homebridge-platform-orvibo/index.js:121
Jan 18 09:49:19 raspberrypi homebridge[25010]: this.macAddress = accessory.context.deviceId;
Jan 18 09:49:19 raspberrypi homebridge[25010]: ^
Jan 18 09:49:19 raspberrypi homebridge[25010]: TypeError: Cannot read property 'deviceId' of undefined
Jan 18 09:49:19 raspberrypi homebridge[25010]: at new OrviboAccessory (/usr/local/lib/node_modules/homebridge-platform-orvibo/index.js:121:40)
Jan 18 09:49:19 raspberrypi homebridge[25010]: at Orvibo.<anonymous> (/usr/local/lib/node_modules/homebridge-platform-orvibo/index.js:59:25)
Jan 18 09:49:19 raspberrypi homebridge[25010]: at emitOne (events.js:96:13)
Jan 18 09:49:19 raspberrypi homebridge[25010]: at Orvibo.emit (events.js:188:7)
Jan 18 09:49:19 raspberrypi homebridge[25010]: at Orvibo.handleMessage (/usr/local/lib/node_modules/homebridge-platform-orvibo/node_modules/node-orvibo/index.js:660:16)
Jan 18 09:49:19 raspberrypi homebridge[25010]: at Orvibo.<anonymous> (/usr/local/lib/node_modules/homebridge-platform-orvibo/node_modules/node-orvibo/index.js:41:12)
Jan 18 09:49:19 raspberrypi homebridge[25010]: at emitTwo (events.js:106:13)
Jan 18 09:49:19 raspberrypi homebridge[25010]: at Socket.emit (events.js:191:7)
Jan 18 09:49:19 raspberrypi homebridge[25010]: at UDP.onMessage (dgram.js:550:8)
Jan 18 09:49:19 raspberrypi systemd[1]: homebridge.service: main process exited, code=exited, status=1/FAILURE
Jan 18 09:49:19 raspberrypi systemd[1]: Unit homebridge.service entered failed state.

A successful restart produced the following:

Jan 18 09:50:27 raspberrypi homebridge[25142]: [1/18/2017, 9:50:27 AM] Homebridge is running on port 51826.
Jan 18 09:50:27 raspberrypi homebridge[25142]: [1/18/2017, 9:50:27 AM] New Orvibo found: Socket [accf23931746]
Jan 18 09:50:28 raspberrypi homebridge[25142]: [1/18/2017, 9:50:28 AM] Subscription to accf23931746 successful!
Jan 18 09:50:30 raspberrypi homebridge[25142]: [1/18/2017, 9:50:30 AM] A device has been queried. Name (if set): Socket
Jan 18 09:50:30 raspberrypi homebridge[25142]: [1/18/2017, 9:50:30 AM] Orvibo Online: Socket [accf23931746]
Jan 18 09:50:30 raspberrypi homebridge[25142]: [1/18/2017, 9:50:30 AM] Configuring: Socket

Any help/advice you could provide would be appreciated!

Unable to Build on Node 12.13.1 (Node-GYP)

This plugin can not be installed on systems running Node 12.13.1 (Current LTS).

I can confirm that node-gyp is configured properly and working on my system(s), we use it for many projects.

I have tested this on

  1. macOs Catilina
  2. Fedora 31
  3. Debian 10/Raspbian (x86_64, arm6l and arm7l)

This is the Node-GYP errors we are getting

> [email protected] install /Users/mkellsy/.hoobs/node_modules/sleep
> node-gyp rebuild
  CXX(target) Release/obj.target/node_sleep/sleep.o
../sleep.cc:6:11: error: no member named 'Handle' in namespace 'v8'
using v8::Handle;
      ~~~~^
../sleep.cc:42:30: error: too few arguments to function call, single argument 'context' was not specified
  sleep(info[0]->Uint32Value());
        ~~~~~~~~~~~~~~~~~~~~ ^
/Users/mkellsy/Library/Caches/node-gyp/12.13.1/include/node/v8.h:2611:3: note: 'Uint32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
  ^
/Users/mkellsy/Library/Caches/node-gyp/12.13.1/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../sleep.cc:54:31: error: too few arguments to function call, single argument 'context' was not specified
  usleep(info[0]->Uint32Value());
         ~~~~~~~~~~~~~~~~~~~~ ^
/Users/mkellsy/Library/Caches/node-gyp/12.13.1/include/node/v8.h:2611:3: note: 'Uint32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
  ^
/Users/mkellsy/Library/Caches/node-gyp/12.13.1/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../sleep.cc:62:52: error: too few arguments to function call, single argument 'context' was not specified
    Nan::New<FunctionTemplate>(Sleep)->GetFunction());
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
/Users/mkellsy/Library/Caches/node-gyp/12.13.1/include/node/v8.h:5995:3: note: 'GetFunction' declared here
  V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
  ^
/Users/mkellsy/Library/Caches/node-gyp/12.13.1/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../sleep.cc:64:53: error: too few arguments to function call, single argument 'context' was not specified
    Nan::New<FunctionTemplate>(USleep)->GetFunction());
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
/Users/mkellsy/Library/Caches/node-gyp/12.13.1/include/node/v8.h:5995:3: note: 'GetFunction' declared here
  V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
  ^
/Users/mkellsy/Library/Caches/node-gyp/12.13.1/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
5 errors generated.
make: *** [Release/obj.target/node_sleep/sleep.o] Error 1
gyp
 ERR!
 build error
gyp
 ERR! stack Error: `make` failed with exit code: 2
gyp ERR!
stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:210:5)
gyp
 ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Darwin 19.2.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/mkellsy/.hoobs/node_modules/sleep
gyp
 ERR! node -v v12.13.1
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
npm
ERR! code ELIFECYCLE
npm ERR! errno 1
npm

ERR! [email protected] install: `node-gyp rebuild`
npm ERR!
 Exit status 1
npm ERR! 
npm ERR!
 Failed at the [email protected] install script.
npm
ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm
 ERR! A complete log of this run can be found in:
npm ERR!     /Users/mkellsy/.npm/_logs/2019-12-18T18_11_48_490Z-debug.log

2019-12-18T18_11_48_490Z-debug.log

B25 Plug Config File

Anyone know how to set up the config file for the b25 version of the smart sockets?

Orvibo E11

Hello,
How can I connect the Orvibo E11 to homebridge? I've installed the addon, but what do I need to do so that homebridge will discover the device? The module is loaded but no device found. Do I need to enter is some developer mode or something?

Thanks!

ENETUNREACH issue

Good morning - just in the last few days I've seen a number of the following errors which cause homebridge to crash almost hourly - could you provide any advice?

Dec 6 08:56:11 raspberrypi homebridge[1870]: [12/6/2016, 8:56:11 AM] New Orvibo found: Socket [accf23931746] Dec 6 08:56:12 raspberrypi homebridge[1870]: [12/6/2016, 8:56:12 AM] Subscription to accf23931746 successful! Dec 6 08:56:13 raspberrypi homebridge[1870]: [12/6/2016, 8:56:13 AM] A device has been queried. Name (if set): TV Radio Dec 6 08:56:13 raspberrypi homebridge[1870]: [12/6/2016, 8:56:13 AM] Orvibo Online: ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ [accf23931746] Dec 6 08:56:13 raspberrypi homebridge[1870]: [12/6/2016, 8:56:13 AM] Configuring: TV Radio Dec 6 08:56:36 raspberrypi homebridge[1870]: /usr/local/lib/node_modules/homebridge-platform-orvibo/node_modules/node-orvibo/index.js:723 Dec 6 08:56:36 raspberrypi homebridge[1870]: if (err) throw err; // Error? CRASH AND BURN BB! Dec 6 08:56:36 raspberrypi homebridge[1870]: ^ Dec 6 08:56:36 raspberrypi homebridge[1870]: Error: send ENETUNREACH 255.255.255.255:10000 Dec 6 08:56:36 raspberrypi homebridge[1870]: at Object.exports._errnoException (util.js:1026:11) Dec 6 08:56:36 raspberrypi homebridge[1870]: at exports._exceptionWithHostPort (util.js:1049:20) Dec 6 08:56:36 raspberrypi homebridge[1870]: at SendWrap.afterSend [as oncomplete] (dgram.js:407:11) Dec 6 08:56:36 raspberrypi systemd[1]: homebridge.service: main process exited, code=exited, status=1/FAILURE Dec 6 08:56:36 raspberrypi systemd[1]: Unit homebridge.service entered failed state. Dec 6 08:56:46 raspberrypi systemd[1]: homebridge.service holdoff time over, scheduling restart.

Thanks in advance,
Paul

unable to install

Repeatedly getting the following message in my logs:

user "nobody" does not have permission to access the dev dir "/usr/local/lib/node_modules/homebridge-platform-orvibo/node_modules/sleep/.node-gyp/8.4.0

MixPad S Support ?

Hello Macnow -

Does the plugin support the Mixpad S or Mixpad mini panels ?

How do I configure this plugin?

First of all, thanks for writing this piece of software!

I've installed this plugin w/ the following command in my homebridge's terminal:

$ npm i git+https://github.com/macnow/homebridge-platform-orvibo

I see the plugin installed, but I don't know how o map my ALLONE PRO RF SMART HUB in the plugins configs.
Is there any documentation you can point me to?

on-off socket status not updating in iOS home app not persistent

hello, i installed the plugin and was hard for me to follow the instruciont to add each socket sending packet, today i turn the raspberry on and automatically discover all the sockets connected that was installed with widow app, i was so surprised, is this normal to discover automatically the sockets already installed trought wiwo app or I did something without realizing to do it?

anyway, i noticed that the home app is not updating with the status of the sockets, if i turn on even the app display the socket on but if I close in background the home app (or completely close) and open it again all the sockets have off state again even if they are on, is a bug or what?
the terminal give me the right status instead of the off status for all the sockets but this status is not persistent in the home app like for the hue lights that even if i close the app and reopen the status is right, even with siri i can ask the status that for lights is working but for sockets is not working.
this is the terminal status:

`root@raspberrypi:/home/pi# systemctl status -l  home bridge
● homebridge.service - Node.js HomeKit Server
   Loaded: loaded (/etc/systemd/system/homebridge.service; enabled)
   Active: active (running) since dom 2016-10-16 14:46:27 CEST; 9min ago
 Main PID: 458 (home bridge
   CGroup: /system.slice/homebridge.service
           └─458 homebridge                                       

ott 16 14:50:55 raspberrypi homebridge[458]: [2016-10-16 14:50:55] State of Presa set to false
ott 16 14:50:55 raspberrypi homebridge[458]: [2016-10-16 14:50:55] State of Mac Socket set to true
ott 16 14:55:15 raspberrypi systemd[1]: Started Node.js HomeKit Server.
ott 16 14:55:39 raspberrypi homebridge[458]: [2016-10-16 14:55:39] State of Coffee Socket set to true
ott 16 14:55:39 raspberrypi homebridge[458]: [2016-10-16 14:55:39] State of Coffee Socket set to true
ott 16 14:55:39 raspberrypi homebridge[458]: [2016-10-16 14:55:39] State of Mac Socket set to true
ott 16 14:55:39 raspberrypi homebridge[458]: [2016-10-16 14:55:39] State of Raspberry Socket set to true
ott 16 14:55:39 raspberrypi homebridge[458]: [2016-10-16 14:55:39] State of Mac Socket set to true
ott 16 14:55:39 raspberrypi homebridge[458]: [2016-10-16 14:55:39] State of Raspberry Socket set to true
ott 16 14:55:39 raspberrypi homebridge[458]: [2016-10-16 14:55:39] State of Presa set to false
root@raspberrypi:/home/pi# 
`
```)

I have 4 socket connected but the terminal show the same socket more than once, why?

Unable to Install on home bridge HOOBS

I am unable to install this plugin on HOOBS. Please see the log from my home bridge below. Running HOOBS 3.1.20

[email protected] install /home/hoobs/.hoobs/node_modules/sleep

node-gyp rebuild
make: Entering directory '/home/hoobs/.hoobs/node_modules/sleep/build'
CXX(target) Release/obj.target/node_sleep/sleep.o
In file included from ../sleep.cc:2:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void ()(uv_work_t)’ {aka ‘void ()(uv_work_s)’} to ‘uv_after_work_cb’ {aka ‘void ()(uv_work_s, int)’} [-Wcast-function-type]
, reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
^
../sleep.cc: At global scope:
../sleep.cc:6:11: error: ‘v8::Handle’ has not been declared
using v8::Handle;
^~~~~~
../sleep.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Sleep(Nan::NAN_METHOD_ARGS_TYPE)’:
../sleep.cc:42:30: error: no matching function for call to ‘v8::Value::Uint32Value()’
sleep(info[0]->Uint32Value());
^
In file included from /home/hoobs/.cache/node-gyp/12.14.1/include/node/node.h:63,
from ../../nan/nan.h:54,
from ../sleep.cc:2:
/home/hoobs/.cache/node-gyp/12.14.1/include/node/v8.h:2611:41: note: candidate: ‘v8::Maybe v8::Value::Uint32Value(v8::Localv8::Context) const’
V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
^~~~~~~~~~~
/home/hoobs/.cache/node-gyp/12.14.1/include/node/v8.h:2611:41: note: candidate expects 1 argument, 0 provided
../sleep.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE USleep(Nan::NAN_METHOD_ARGS_TYPE)’:
../sleep.cc:54:31: error: no matching function for call to ‘v8::Value::Uint32Value()’
usleep(info[0]->Uint32Value());
^
In file included from /home/hoobs/.cache/node-gyp/12.14.1/include/node/node.h:63,
from ../../nan/nan.h:54,
from ../sleep.cc:2:
/home/hoobs/.cache/node-gyp/12.14.1/include/node/v8.h:2611:41: note: candidate: ‘v8::Maybe v8::Value::Uint32Value(v8::Localv8::Context) const’
V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
^~~~~~~~~~~
/home/hoobs/.cache/node-gyp/12.14.1/include/node/v8.h:2611:41: note: candidate expects 1 argument, 0 provided
../sleep.cc: In function ‘void init(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’:
../sleep.cc:62:52: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
Nan::New(Sleep)->GetFunction());
^
In file included from /home/hoobs/.cache/node-gyp/12.14.1/include/node/node.h:63,
from ../../nan/nan.h:54,
from ../sleep.cc:2:
/home/hoobs/.cache/node-gyp/12.14.1/include/node/v8.h:5995:46: note: candidate: ‘v8::MaybeLocalv8::Function v8::FunctionTemplate::GetFunction(v8::Localv8::Context)’
V8_WARN_UNUSED_RESULT MaybeLocal GetFunction(
^~~~~~~~~~~
/home/hoobs/.cache/node-gyp/12.14.1/include/node/v8.h:5995:46: note: candidate expects 1 argument, 0 provided
../sleep.cc:64:53: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
Nan::New(USleep)->GetFunction());
^
In file included from /home/hoobs/.cache/node-gyp/12.14.1/include/node/node.h:63,
from ../../nan/nan.h:54,
from ../sleep.cc:2:
/home/hoobs/.cache/node-gyp/12.14.1/include/node/v8.h:5995:46: note: candidate: ‘v8::MaybeLocalv8::Function v8::FunctionTemplate::GetFunction(v8::Localv8::Context)’
V8_WARN_UNUSED_RESULT MaybeLocal GetFunction(
^~~~~~~~~~~
/home/hoobs/.cache/node-gyp/12.14.1/include/node/v8.h:5995:46: note: candidate expects 1 argument, 0 provided
In file included from ../../nan/nan.h:54,
from ../sleep.cc:2:
../sleep.cc: At global scope:
/home/hoobs/.cache/node-gyp/12.14.1/include/node/node.h:560:43: warning: cast between incompatible function types from ‘void ()(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void ()(v8::Localv8::Object)’} to ‘node::addon_register_func’ {aka ‘void ()(v8::Localv8::Object, v8::Localv8::Value, void)’} [-Wcast-function-type]
(node::addon_register_func) (regfunc),
^
/home/hoobs/.cache/node-gyp/12.14.1/include/node/node.h:594:3: note: in expansion of macro ‘NODE_MODULE_X’
NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
^~~~~~~~~~~~~
../sleep.cc:68:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(node_sleep, init)
^~~~~~~~~~~
In file included from /home/hoobs/.cache/node-gyp/12.14.1/include/node/node.h:63,
from ../../nan/nan.h:54,
from ../sleep.cc:2:
/home/hoobs/.cache/node-gyp/12.14.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfonode::ObjectWrap&)]’:
/home/hoobs/.cache/node-gyp/12.14.1/include/node/node_object_wrap.h:84:78: required from here
/home/hoobs/.cache/node-gyp/12.14.1/include/node/v8.h:10004:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfonode::ObjectWrap::Callback’ {aka ‘void (
)(const v8::WeakCallbackInfonode::ObjectWrap&)’} to ‘Callback’ {aka ‘void ()(const v8::WeakCallbackInfo&)’} [-Wcast-function-type]
reinterpret_cast(callback), type);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/hoobs/.cache/node-gyp/12.14.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P
, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void ()(const v8::WeakCallbackInfoNan::ObjectWrap&)]’:
../../nan/nan_object_wrap.h:65:61: required from here
/home/hoobs/.cache/node-gyp/12.14.1/include/node/v8.h:10004:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfoNan::ObjectWrap::Callback’ {aka ‘void (
)(const v8::WeakCallbackInfoNan::ObjectWrap&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type]
make: *** [node_sleep.target.mk:107: Release/obj.target/node_sleep/sleep.o] Error 1
make: Leaving directory '/home/hoobs/.hoobs/node_modules/sleep/build'
gyp
ERR! build error
gyp
ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp
ERR! stack at ChildProcess.emit (events.js:223:5)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp
ERR! System Linux 4.19.75+
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/hoobs/.hoobs/node_modules/sleep
gyp ERR! node -v v12.14.1
gyp
ERR!
node-gyp -v v5.0.5
gyp ERR! not ok
npm
ERR! code ELIFECYCLE
npm ERR! errno 1
npm
ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR!
Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!
/home/hoobs/.npm/_logs/2020-02-12T20_35_09_799Z-debug.log

Please can you tag a new npm version?

Like various other issues in the list here, I wasn't able to install with the python dependencies, but #12 has fixed this.

However, you can't install this package from npm with this fix.

I succesfully installed with:

npm i git+https://github.com/macnow/homebridge-platform-orvibo

To get round this, but to install using the homebridge ui, the package is installed from npm.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.