Giter VIP home page Giter VIP logo

checkpoint-server's People

Contributors

andrie avatar cmosetick avatar krlmlr avatar sckott avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

checkpoint-server's Issues

investigate PNG support in R for MRAN server

We need to be able to generate PNG files on the MRAN server using R.
Currently running capabilities() shows that PNG support is FALSE.

  • Determine what is needed to get capabilities to return TRUE.
  • Might need to recompile R after new system packages are installed.
  • Run experiments in Ubuntu 14.04 Docker container.

CRAN package testing

Things to consider doing on the server

Issue moved from RRT issue log RevolutionAnalytics/checkpoint#22

These tests should be more robust than those on CRAN obviously.

  • r cmd check
  • incorporate checks already done on CRAN?
  • force run examples -- not necessarily a good idea
  • force run tests
  • force run vignettes
  • check downstream pkgs install and check fine
  • check reverse dependencies
  • as a separate longer term thing could test package x with all versions of its dependencies, not just current versions, so if user wants to use version 1.2 of pkg y, we know if it's compatible or not with pkg x

Reduce CPU time for generating dependency graphs

To generate 5,800 dependency graphs takes ~25 minutes running 4 ways parallel.

Investigate:

  • Create new dependency graphs only for packages where (reverse) dependencies were updated since last run
  • Can we reduce time for those packages with zero dependencies? Does it make a time difference?

Determine best size for dependency graphs

The dependency graphs look slightly odd, probably because of dynamic resizing that happens in the MRAN front-end.

We need to resize the images to 730 x 560 - the size of the image on a maximized page

Example of current image:

ggplot2

error in gen-pkg-data script

This run was with 1 core.

Merging packages and views
Exporting json
Reading vignette data
Exporting individual package json
All done
Creating taskview data
Creating dependency graph
Time to compute: 32.881
Plotting dependency graphs
- A3
- abc
- abcdeFBA
- ABCExtremes
- ABCoptim
- ABCp2
- abctools
...break  ... break ...
- RcmdrPlugin.survival
- RcmdrPlugin.TeachingDemos
- RcmdrPlugin.temis
- RcmdrPlugin.UCA
- Rcolombos
- RColorBrewer
R: ../../src/xcb_io.c:529: _XAllocID: Assertion `ret != inval_id' failed.

It seems to stop right at RColor Brewer

Zero sum snapshot can still reveal changes in diff file

For example compare two snapshots one day apart:
zfs diff MRAN/packages/src@2014-07-23_0500 MRAN/packages/src@2014-07-24_0500
outputs this here, with obvious changes:
http://mran.revolutionanalytics.com/diffs/src/2014/2014-07-24_0500.txt

But the accounting page lists 0 for the space taken up by the src snapshot for July 24th 2014:
http://mran.revolutionanalytics.com/accounting/source.txt

This does not seem to be a huge concern at this point in time, but it does mean that the diff files are a critical piece of establishing if anything has changed in a 24 hour period. The Accounting page alone is not enough.

gen-pkg-data script not working as expected on feature branch

@andrie
I just did a pull of the pkgjson branch on the server and attempted to run doit.R to kick off the package json generation. I'm seeing this issue now:

mran-user@mran3:~$ pwd
/home/mran-user
mran-user@mran3:~$ ~/src/MRAN/gen-pkg-data/doit.R
Error in eval(expr, envir, enclos) : json output folder doesn't exist
Calls: source -> withVisible -> eval -> eval

Please note that $HOME/packagedata directory does already exist.
Please advise on what I should do here.

expand disk space accounting scripts and info pages

  • create accounting-src.bsh
  • create accounting-bin.bsh
  • create accounting directory in WWW_HOME update nginx config to serve the dir
  • expand accounting.txt into two files:
  • one file for source packages and snapshots source.txt
  • another for binary packages and snapshots binary.txt

How to force MRAN to get all packages from MRAN (some still coming from CRAN)

I have a research compendium in a Docker container, which is linked to a continuous integration service. I have attempted to set the package installation repository to MRAN, and this seems to work for some packages during the install, but not others. Here's a snippet of the log (from https://circleci.com/gh/benmarwick/mjbtramp/161)

R version 3.3.2 (2016-10-31) -- "Sincere Pumpkin Patch"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> options(repos='https://mran.microsoft.com/snapshot/2016-11-08')
> 
> 

R version 3.3.2 (2016-10-31) -- "Sincere Pumpkin Patch"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> devtools::install('.', dep=TRUE, repos = 'https://mran.microsoft.com/snapshot/2016-11-08')
Installing mjbtramp
'/usr/local/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore  \
  --quiet CMD INSTALL '/mjbtramp' --library='/usr/local/lib/R/site-library'  \
  --install-tests 

* installing *source* package ‘mjbtramp’ ...
** tests
** help
No man pages found in package  ‘mjbtramp’ 
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (mjbtramp)
trying URL 'https://mran.microsoft.com/snapshot/2016-11-08/src/contrib/fitdistrplus_1.0-7.tar.gz'
Content type 'unknown' length 864691 bytes (844 KB)
==================================================
downloaded 844 KB

Installing fitdistrplus
trying URL 'https://cran.rstudio.com/src/contrib/survival_2.40-1.tar.gz'
Content type 'unknown' length 4872012 bytes (4.6 MB)
==================================================
downloaded 4.6 MB

Installing survival
'/usr/local/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore  \
  --quiet CMD INSTALL '/tmp/Rtmpsfl8Rg/devtools1d6da729bd/survival'  \
  --library='/usr/local/lib/R/site-library' --install-tests 

* installing *source* package ‘survival’ ...
** package ‘survival’ successfully unpacked and MD5 sums checked
** libs
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c agexact.c -o agexact.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c agfit4.c -o agfit4.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c agfit5.c -o agfit5.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c agmart.c -o agmart.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c agmart2.c -o agmart2.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c agmart3.c -o agmart3.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c agscore.c -o agscore.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c agsurv3.c -o agsurv3.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c agsurv4.c -o agsurv4.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c agsurv5.c -o agsurv5.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c chinv2.c -o chinv2.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c chinv3.c -o chinv3.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c cholesky2.c -o cholesky2.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c cholesky3.c -o cholesky3.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c chsolve2.c -o chsolve2.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c chsolve3.c -o chsolve3.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c concordance1.c -o concordance1.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c cox_Rcallback.c -o cox_Rcallback.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c coxcount1.c -o coxcount1.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c coxdetail.c -o coxdetail.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c coxexact.c -o coxexact.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c coxfit5.c -o coxfit5.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c coxfit6.c -o coxfit6.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c coxmart.c -o coxmart.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c coxmart2.c -o coxmart2.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c coxph_wtest.c -o coxph_wtest.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c coxsafe.c -o coxsafe.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c coxscho.c -o coxscho.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c coxscore.c -o coxscore.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c dmatrix.c -o dmatrix.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c doloop.c -o doloop.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c finegray.c -o finegray.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c init.c -o init.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c pyears1.c -o pyears1.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c pyears2.c -o pyears2.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c pyears3b.c -o pyears3b.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c pystep.c -o pystep.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c survConcordance.c -o survConcordance.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c survdiff2.c -o survdiff2.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c survfit4.c -o survfit4.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c survfitci.c -o survfitci.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c survpenal.c -o survpenal.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c survreg6.c -o survreg6.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c survreg7.c -o survreg7.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c survregc1.c -o survregc1.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c survregc2.c -o survregc2.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c survsplit.c -o survsplit.o
gcc -std=gnu99 -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include    -fpic   -c tmerge.c -o tmerge.o
gcc -std=gnu99 -shared -L/usr/local/lib/R/lib -L/usr/local/lib -o survival.so agexact.o agfit4.o agfit5.o agmart.o agmart2.o agmart3.o agscore.o agsurv3.o agsurv4.o agsurv5.o chinv2.o chinv3.o cholesky2.o cholesky3.o chsolve2.o chsolve3.o concordance1.o cox_Rcallback.o coxcount1.o coxdetail.o coxexact.o coxfit5.o coxfit6.o coxmart.o coxmart2.o coxph_wtest.o coxsafe.o coxscho.o coxscore.o dmatrix.o doloop.o finegray.o init.o pyears1.o pyears2.o pyears3b.o pystep.o survConcordance.o survdiff2.o survfit4.o survfitci.o survpenal.o survreg6.o survreg7.o survregc1.o survregc2.o survsplit.o tmerge.o -L/usr/local/lib/R/lib -lR
installing to /usr/local/lib/R/site-library/survival/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** tests
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (survival)
'/usr/local/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore  \
  --quiet CMD INSTALL '/tmp/Rtmpsfl8Rg/devtools1d4148bf61/fitdistrplus'  \
  --library='/usr/local/lib/R/site-library' --install-tests 

* installing *source* package ‘fitdistrplus’ ...
** package ‘fitdistrplus’ successfully unpacked and MD5 sums checked
** R
** data
** inst
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (fitdistrplus)
trying URL 'https://mran.microsoft.com/snapshot/2016-11-08/src/contrib/ggfortify_0.2.0.tar.gz'
Content type 'unknown' length 3557852 bytes (3.4 MB)
==================================================
downloaded 3.4 MB

Installing ggfortify
trying URL 'https://cran.rstudio.com/src/contrib/ggplot2_2.2.0.tar.gz'
Content type 'unknown' length 2210334 bytes (2.1 MB)
==================================================
downloaded 2.1 MB

Installing ggplot2
trying URL 'https://cran.rstudio.com/src/contrib/scales_0.4.1.tar.gz'
Content type 'unknown' length 57703 bytes (56 KB)
==================================================
downloaded 56 KB

Installing scales
trying URL 'https://cran.rstudio.com/src/contrib/Rcpp_0.12.8.tar.gz'
Content type 'unknown' length 2435852 bytes (2.3 MB)
==================================================
downloaded 2.3 MB

Installing Rcpp
'/usr/local/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore  \
  --quiet CMD INSTALL '/tmp/Rtmpsfl8Rg/devtools1d19501984/Rcpp'  \
  --library='/usr/local/lib/R/site-library' --install-tests 

* installing *source* package ‘Rcpp’ ...
** package ‘Rcpp’ successfully unpacked and MD5 sums checked
** libs
g++ -I/usr/local/lib/R/include -DNDEBUG -I../inst/include/ -I/usr/local/include    -fpic   -c Date.cpp -o Date.o
g++ -I/usr/local/lib/R/include -DNDEBUG -I../inst/include/ -I/usr/local/include    -fpic   -c Module.cpp -o Module.o
g++ -I/usr/local/lib/R/include -DNDEBUG -I../inst/include/ -I/usr/local/include    -fpic   -c Rcpp_init.cpp -o Rcpp_init.o
g++ -I/usr/local/lib/R/include -DNDEBUG -I../inst/include/ -I/usr/local/include    -fpic   -c api.cpp -o api.o
g++ -I/usr/local/lib/R/include -DNDEBUG -I../inst/include/ -I/usr/local/include    -fpic   -c attributes.cpp -o attributes.o
g++ -I/usr/local/lib/R/include -DNDEBUG -I../inst/include/ -I/usr/local/include    -fpic   -c barrier.cpp -o barrier.o
g++ -shared -L/usr/local/lib/R/lib -L/usr/local/lib -o Rcpp.so Date.o Module.o Rcpp_init.o api.o attributes.o barrier.o -L/usr/local/lib/R/lib -lR
installing to /usr/local/lib/R/site-library/Rcpp/libs
** R
** inst
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (Rcpp)
'/usr/local/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore  \
  --quiet CMD INSTALL '/tmp/Rtmpsfl8Rg/devtools1df06aeef/scales'  \
  --library='/usr/local/lib/R/site-library' --install-tests 

* installing *source* package ‘scales’ ...
** package ‘scales’ successfully unpacked and MD5 sums checked
** libs
g++ -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include -I"/usr/local/lib/R/site-library/Rcpp/include"   -fpic   -c RcppExports.cpp -o RcppExports.o
g++ -I/usr/local/lib/R/include -DNDEBUG  -I/usr/local/include -I"/usr/local/lib/R/site-library/Rcpp/include"   -fpic   -c colors.cpp -o colors.o
g++ -shared -L/usr/local/lib/R/lib -L/usr/local/lib -o scales.so RcppExports.o colors.o -L/usr/local/lib/R/lib -lR
installing to /usr/local/lib/R/site-library/scales/libs
** R
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (scales)
'/usr/local/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore  \
  --quiet CMD INSTALL '/tmp/Rtmpsfl8Rg/devtools1d559dec8/ggplot2'  \
  --library='/usr/local/lib/R/site-library' --install-tests 

* installing *source* package ‘ggplot2’ ...
** package ‘ggplot2’ successfully unpacked and MD5 sums checked
** R
** data
*** moving datasets to lazyload DB
** inst
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (ggplot2)
trying URL 'https://cran.rstudio.com/src/contrib/gridExtra_2.2.1.tar.gz'
Content type 'unknown' length 459488 bytes (448 KB)
==================================================
downloaded 448 KB

Installing gridExtra
'/usr/local/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore  \
  --quiet CMD INSTALL '/tmp/Rtmpsfl8Rg/devtools1d6628973e/gridExtra'  \
  --library='/usr/local/lib/R/site-library' --install-tests 

* installing *source* package ‘gridExtra’ ...
** package ‘gridExtra’ successfully unpacked and MD5 sums checked
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (gridExtra)
Skipping install of 'scales' from a cran remote, the SHA1 (0.4.1) has not changed since last install.
  Use `force = TRUE` to force installation
'/usr/local/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore  \
  --quiet CMD INSTALL '/tmp/Rtmpsfl8Rg/devtools1d1f0b8c2e/ggfortify'  \
  --library='/usr/local/lib/R/site-library' --install-tests 

* installing *source* package ‘ggfortify’ ...
** package ‘ggfortify’ successfully unpacked and MD5 sums checked
** R
** inst
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (ggfortify)
trying URL 'https://mran.microsoft.com/snapshot/2016-11-08/src/contrib/ggrepel_0.6.3.tar.gz'
Content type 'unknown' length 1274700 bytes (1.2 MB)
==================================================
downloaded 1.2 MB

We can see that 'fitdistplus' is coming from MRAN, but 'survival' is not, 'ggfortify' comes from MRAN, but 'scales' and 'Rcpp' do not, and so on. Why is this happening?

How can I ensure that EVERY package that my package is dependent on comes from MRAN?

Thanks!

Ben

p.s. I have also posted this question on the Microsoft Developer Network Forum, not sure what you guys prefer...

master CRAN mirror rsyncd in Vienna tops out at 19 active connections

rsync cran.r-project.org::CRAN
@ERROR: max connections (19) reached -- try again later

  • This is not a deal breaker for MRAN, but something to keep in mind.
  • Possible solution point to a different mirror that does not have connection limits such as cran.revolutionanalytics.com

remove allDepGraphs.rds from gen-pkg-data folder?

I think this file was committed to the repo on accident. As far as I know, this file is needed to generate the dependency information, but should probably not be stored in the repo itself.
Rather, it should always be referenced from the most recent snapshot.

mran_metadata.R is not working correctly

/usr/local/bin/Rscript mran_metadata.R

Error in file(con, "r") : cannot open the connection
Calls: lapply -> FUN -> getmessage -> readLines -> file
In addition: Warning message:
In file(con, "r") :
  cannot open file '/MRAN/www/diffs/src/2014-07-29_0500.txt': No such file or directory
Execution halted

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.