Comments (4)
Have you tried installing Docker manually (just do see what specifically the issues are)? These might help:
from anthias.
Have you tried installing Docker manually (just do see what specifically the issues are)? These might help:
* [Install Docker Engine on Raspberry Pi OS (32-bit)](https://docs.docker.com/engine/install/raspberry-pi-os/) * [Install Docker Engine on Debian](https://docs.docker.com/engine/install/debian/)
after install docker engine on pi os 64 bit the same problem
i try to renew install the same error with frezze "overload ram"on the step:
d8888 888 888
d88888 888 888 888
d88P888 888 888
d88P 888 88888b. 888888 88888b. 888 8888b. .d8888b
d88P 888 888 '88b 888 888 '88b 888 '88b 88K
d88P 888 888 888 888 888 888 888 .d888888 'Y8888b.
d8888888888 888 888 Y88b. 888 888 888 888 888 X88
d88P 888 888 888 Y888 888 888 888 'Y888888 88888P'
==================================================================
Anthias requires a dedicated Raspberry Pi / SD card.
You will not be able to use the regular desktop environment once installed.
Do you still want to continue? (y/N)
Do you want Anthias to manage your network? This is recommended for most users because this adds features to manage your network. (Y/n)
Would you like to perform a full system upgrade as well? (y/N)
+ REPOSITORY=https://github.com/screenly/anthias.git
+ '[' '!' -d /home/root/screenly ']'
+ mkdir /home/root/screenly
+ sudo mkdir -p /etc/ansible
+ echo -e '[local]\nlocalhost ansible_connection=local'
+ sudo tee /etc/ansible/hosts
+ '[' '!' -f /etc/locale.gen ']'
++ lsb_release -rs
+ RASPBIAN_VERSION=12
+ APT_INSTALL_ARGS=("git" "libffi-dev" "libssl-dev" "whois")
+ '[' 12 = 12 ']'
+ APT_INSTALL_ARGS+=("python3-full")
+ sudo sed -i s/apt.screenlyapp.com/archive.raspbian.org/g /etc/apt/sources.list
+ sudo apt update -y
Hit:1 http://deb.debian.org/debian bookworm InRelease
Hit:2 http://deb.debian.org/debian-security bookworm-security InRelease
Hit:3 http://deb.debian.org/debian bookworm-updates InRelease
Hit:4 https://download.docker.com/linux/debian bookworm InRelease
Hit:5 http://archive.raspberrypi.com/debian bookworm InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
+ sudo apt-get install -y --no-install-recommends git libffi-dev libssl-dev whois python3-full
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
git is already the newest version (1:2.39.2-1.1).
git set to manually installed.
The following additional packages will be installed:
2to3 blt fonts-mathjax idle idle-python3.11 libjs-mathjax libpython3.11-testsuite libtcl8.6 libtk8.6 libxft2 libxrender1 libxss1 python3-gdbm python3-tk
python3.11-full tk8.6-blt2.5 x11-common
Suggested packages:
blt-demo fonts-mathjax-extras fonts-stix libjs-mathjax-doc libssl-doc tcl8.6 tk8.6 python3-dev python3-gdbm-dbg tix python3-tk-dbg python3.11-dev
Recommended packages:
python3-doc python3-examples python3.11-doc python3.11-examples
The following NEW packages will be installed:
2to3 blt fonts-mathjax idle idle-python3.11 libffi-dev libjs-mathjax libpython3.11-testsuite libssl-dev libtcl8.6 libtk8.6 libxft2 libxrender1 libxss1
python3-full python3-gdbm python3-tk python3.11-full tk8.6-blt2.5 whois x11-common
0 upgraded, 21 newly installed, 0 to remove and 0 not upgraded.
Need to get 16.8 MB of archives.
After this operation, 97.4 MB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bookworm/main arm64 2to3 all 3.11.2-1 [10.0 kB]
Get:2 http://deb.debian.org/debian bookworm/main arm64 libtcl8.6 arm64 8.6.13+dfsg-2 [973 kB]
Get:3 http://deb.debian.org/debian bookworm/main arm64 libxrender1 arm64 1:0.9.10-1.1 [32.0 kB]
Get:4 http://deb.debian.org/debian bookworm/main arm64 libxft2 arm64 2.3.6-1 [58.7 kB]
Get:5 http://deb.debian.org/debian bookworm/main arm64 x11-common all 1:7.7+23 [252 kB]
Get:6 http://deb.debian.org/debian bookworm/main arm64 libxss1 arm64 1:1.2.3-1 [17.8 kB]
Get:7 http://deb.debian.org/debian bookworm/main arm64 libtk8.6 arm64 8.6.13-2 [729 kB]
Get:8 http://archive.raspberrypi.com/debian bookworm/main arm64 libssl-dev arm64 3.0.11-1~deb12u2+rpt1 [2,303 kB]
Get:9 http://deb.debian.org/debian bookworm/main arm64 tk8.6-blt2.5 arm64 2.5.3+dfsg-4.1 [540 kB]
Get:10 http://deb.debian.org/debian bookworm/main arm64 blt arm64 2.5.3+dfsg-4.1 [14.9 kB]
Get:11 http://deb.debian.org/debian bookworm/main arm64 fonts-mathjax all 2.7.9+dfsg-1 [2,210 kB]
Get:12 http://deb.debian.org/debian bookworm/main arm64 python3-tk arm64 3.11.2-3 [97.7 kB]
Get:13 http://deb.debian.org/debian bookworm/main arm64 libjs-mathjax all 2.7.9+dfsg-1 [5,667 kB]
Get:14 http://deb.debian.org/debian bookworm/main arm64 idle-python3.11 all 3.11.2-6 [357 kB]
Get:15 http://deb.debian.org/debian bookworm/main arm64 idle all 3.11.2-1 [2,824 B]
Get:16 http://deb.debian.org/debian bookworm/main arm64 libffi-dev arm64 3.4.4-1 [56.0 kB]
Get:17 http://deb.debian.org/debian bookworm/main arm64 libpython3.11-testsuite all 3.11.2-6 [3,363 kB]
Get:18 http://deb.debian.org/debian bookworm/main arm64 python3-gdbm arm64 3.11.2-3 [14.7 kB]
Get:19 http://deb.debian.org/debian bookworm/main arm64 python3.11-full arm64 3.11.2-6 [1,280 B]
Get:20 http://deb.debian.org/debian bookworm/main arm64 python3-full arm64 3.11.2-1+b1 [1,332 B]
Get:21 http://deb.debian.org/debian bookworm/main arm64 whois arm64 5.5.17 [69.1 kB]
Fetched 16.8 MB in 6s (2,941 kB/s)
Selecting previously unselected package 2to3.
(Reading database ... 77247 files and directories currently installed.)
Preparing to unpack .../00-2to3_3.11.2-1_all.deb ...
Unpacking 2to3 (3.11.2-1) ...
Selecting previously unselected package libtcl8.6:arm64.
Preparing to unpack .../01-libtcl8.6_8.6.13+dfsg-2_arm64.deb ...
Unpacking libtcl8.6:arm64 (8.6.13+dfsg-2) ...
Selecting previously unselected package libxrender1:arm64.
Preparing to unpack .../02-libxrender1_1%3a0.9.10-1.1_arm64.deb ...
Unpacking libxrender1:arm64 (1:0.9.10-1.1) ...
Selecting previously unselected package libxft2:arm64.
Preparing to unpack .../03-libxft2_2.3.6-1_arm64.deb ...
Unpacking libxft2:arm64 (2.3.6-1) ...
Selecting previously unselected package x11-common.
Preparing to unpack .../04-x11-common_1%3a7.7+23_all.deb ...
Unpacking x11-common (1:7.7+23) ...
Selecting previously unselected package libxss1:arm64.
Preparing to unpack .../05-libxss1_1%3a1.2.3-1_arm64.deb ...
Unpacking libxss1:arm64 (1:1.2.3-1) ...
Selecting previously unselected package libtk8.6:arm64.
Preparing to unpack .../06-libtk8.6_8.6.13-2_arm64.deb ...
Unpacking libtk8.6:arm64 (8.6.13-2) ...
Selecting previously unselected package tk8.6-blt2.5.
Preparing to unpack .../07-tk8.6-blt2.5_2.5.3+dfsg-4.1_arm64.deb ...
Unpacking tk8.6-blt2.5 (2.5.3+dfsg-4.1) ...
Selecting previously unselected package blt.
Preparing to unpack .../08-blt_2.5.3+dfsg-4.1_arm64.deb ...
Unpacking blt (2.5.3+dfsg-4.1) ...
Selecting previously unselected package fonts-mathjax.
Preparing to unpack .../09-fonts-mathjax_2.7.9+dfsg-1_all.deb ...
Unpacking fonts-mathjax (2.7.9+dfsg-1) ...
Selecting previously unselected package python3-tk:arm64.
Preparing to unpack .../10-python3-tk_3.11.2-3_arm64.deb ...
Unpacking python3-tk:arm64 (3.11.2-3) ...
Selecting previously unselected package libjs-mathjax.
Preparing to unpack .../11-libjs-mathjax_2.7.9+dfsg-1_all.deb ...
Unpacking libjs-mathjax (2.7.9+dfsg-1) ...
Selecting previously unselected package idle-python3.11.
Preparing to unpack .../12-idle-python3.11_3.11.2-6_all.deb ...
Unpacking idle-python3.11 (3.11.2-6) ...
Selecting previously unselected package idle.
Preparing to unpack .../13-idle_3.11.2-1_all.deb ...
Unpacking idle (3.11.2-1) ...
Selecting previously unselected package libffi-dev:arm64.
Preparing to unpack .../14-libffi-dev_3.4.4-1_arm64.deb ...
Unpacking libffi-dev:arm64 (3.4.4-1) ...
Selecting previously unselected package libpython3.11-testsuite.
Preparing to unpack .../15-libpython3.11-testsuite_3.11.2-6_all.deb ...
Unpacking libpython3.11-testsuite (3.11.2-6) ...
Selecting previously unselected package libssl-dev:arm64.
Preparing to unpack .../16-libssl-dev_3.0.11-1~deb12u2+rpt1_arm64.deb ...
Unpacking libssl-dev:arm64 (3.0.11-1~deb12u2+rpt1) ...
Selecting previously unselected package python3-gdbm:arm64.
Preparing to unpack .../17-python3-gdbm_3.11.2-3_arm64.deb ...
Unpacking python3-gdbm:arm64 (3.11.2-3) ...
Selecting previously unselected package python3.11-full.
Preparing to unpack .../18-python3.11-full_3.11.2-6_arm64.deb ...
Unpacking python3.11-full (3.11.2-6) ...
Selecting previously unselected package python3-full.
Preparing to unpack .../19-python3-full_3.11.2-1+b1_arm64.deb ...
Unpacking python3-full (3.11.2-1+b1) ...
Selecting previously unselected package whois.
Preparing to unpack .../20-whois_5.5.17_arm64.deb ...
Unpacking whois (5.5.17) ...
Setting up fonts-mathjax (2.7.9+dfsg-1) ...
Setting up libjs-mathjax (2.7.9+dfsg-1) ...
Setting up whois (5.5.17) ...
Setting up libpython3.11-testsuite (3.11.2-6) ...
Setting up libxrender1:arm64 (1:0.9.10-1.1) ...
Setting up python3-gdbm:arm64 (3.11.2-3) ...
Setting up x11-common (1:7.7+23) ...
Setting up 2to3 (3.11.2-1) ...
Setting up libffi-dev:arm64 (3.4.4-1) ...
Setting up libssl-dev:arm64 (3.0.11-1~deb12u2+rpt1) ...
Setting up libtcl8.6:arm64 (8.6.13+dfsg-2) ...
Setting up libxss1:arm64 (1:1.2.3-1) ...
Setting up libxft2:arm64 (2.3.6-1) ...
Setting up libtk8.6:arm64 (8.6.13-2) ...
Setting up tk8.6-blt2.5 (2.5.3+dfsg-4.1) ...
Setting up blt (2.5.3+dfsg-4.1) ...
Setting up python3-tk:arm64 (3.11.2-3) ...
Setting up idle-python3.11 (3.11.2-6) ...
Setting up idle (3.11.2-1) ...
Setting up python3.11-full (3.11.2-6) ...
Setting up python3-full (3.11.2-1+b1) ...
Processing triggers for libc-bin (2.36-9+rpt2+deb12u6) ...
Processing triggers for man-db (2.11.2-2) ...
+ '[' n == y ']'
+ export MANAGE_NETWORK=false
+ MANAGE_NETWORK=false
+ '[' master = master ']'
++ curl -s https://raw.githubusercontent.com/screenly/anthias/master/requirements/requirements.host.txt
++ grep ansible
+ ANSIBLE_VERSION=ansible-core==2.12
+ SUDO_ARGS=()
+ '[' 12 = 12 ']'
+ python3 -m venv /home/root/installer_venv
+ source /home/root/installer_venv/bin/activate
++ deactivate nondestructive
++ '[' -n '' ']'
++ '[' -n '' ']'
++ '[' -n /usr/bin/bash -o -n '' ']'
++ hash -r
++ '[' -n '' ']'
++ unset VIRTUAL_ENV
++ unset VIRTUAL_ENV_PROMPT
++ '[' '!' nondestructive = nondestructive ']'
++ VIRTUAL_ENV=/home/root/installer_venv
++ export VIRTUAL_ENV
++ _OLD_VIRTUAL_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
++ PATH=/home/root/installer_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
++ export PATH
++ '[' -n '' ']'
++ '[' -z '' ']'
++ _OLD_VIRTUAL_PS1=
++ PS1='(installer_venv) '
++ export PS1
++ VIRTUAL_ENV_PROMPT='(installer_venv) '
++ export VIRTUAL_ENV_PROMPT
++ '[' -n /usr/bin/bash -o -n '' ']'
++ hash -r
+ SUDO_ARGS+=("--preserve-env" "env" "PATH=$PATH")
+ sudo --preserve-env env PATH=/home/root/installer_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin pip install cryptography==38.0.2
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting cryptography==38.0.2
Downloading cryptography-38.0.2-cp36-abi3-manylinux_2_28_aarch64.whl (4.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.0/4.0 MB 2.3 MB/s eta 0:00:00
Collecting cffi>=1.12
Downloading cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (466 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 466.6/466.6 kB 2.1 MB/s eta 0:00:00
Collecting pycparser
Downloading https://www.piwheels.org/simple/pycparser/pycparser-2.22-py3-none-any.whl (117 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 117.6/117.6 kB 473.4 kB/s eta 0:00:00
WARNING: The candidate selected for download or install is a yanked version: 'cryptography' candidate (version 38.0.2 at https://files.pythonhosted.org/packages/98/89/98df97a1b7c14bebe75dc64d88d3c997dae8370cc75e00fc0c5e3fdb6300/cryptography-38.0.2-cp36-abi3-manylinux_2_28_aarch64.whl (from https://pypi.org/simple/cryptography/) (requires-python:>=3.6))
Reason for being yanked: Regression in OpenSSL.
Installing collected packages: pycparser, cffi, cryptography
Successfully installed cffi-1.16.0 cryptography-38.0.2 pycparser-2.22
+ sudo --preserve-env env PATH=/home/root/installer_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin pip install ansible-core==2.12
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting ansible-core==2.12
Downloading https://www.piwheels.org/simple/ansible-core/ansible_core-2.12.0-py3-none-any.whl (2.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 1.8 MB/s eta 0:00:00
Collecting jinja2
Downloading https://www.piwheels.org/simple/jinja2/Jinja2-3.1.3-py3-none-any.whl (133 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.2/133.2 kB 903.1 kB/s eta 0:00:00
Collecting PyYAML
Downloading PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (732 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 732.2/732.2 kB 2.0 MB/s eta 0:00:00
Requirement already satisfied: cryptography in ./installer_venv/lib/python3.11/site-packages (from ansible-core==2.12) (38.0.2)
Collecting packaging
Downloading https://www.piwheels.org/simple/packaging/packaging-24.0-py3-none-any.whl (53 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.5/53.5 kB 403.6 kB/s eta 0:00:00
Collecting resolvelib<0.6.0,>=0.5.3
Downloading https://www.piwheels.org/simple/resolvelib/resolvelib-0.5.4-py2.py3-none-any.whl (12 kB)
Requirement already satisfied: cffi>=1.12 in ./installer_venv/lib/python3.11/site-packages (from cryptography->ansible-core==2.12) (1.16.0)
Collecting MarkupSafe>=2.0
Downloading MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (29 kB)
Requirement already satisfied: pycparser in ./installer_venv/lib/python3.11/site-packages (from cffi>=1.12->cryptography->ansible-core==2.12) (2.22)
Installing collected packages: resolvelib, PyYAML, packaging, MarkupSafe, jinja2, ansible-core
Successfully installed MarkupSafe-2.1.5 PyYAML-6.0.1 ansible-core-2.12.0 jinja2-3.1.3 packaging-24.0 resolvelib-0.5.4
+ sudo -u root --preserve-env env PATH=/home/root/installer_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ansible localhost -m git -a 'repo=https://github.com/screenly/anthias.git dest=/home/root/screenly version=master force=no'
localhost | CHANGED => {
"after": "7b559efa84d92664c42d4896edcd9510e4c93c6d",
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"before": null,
"changed": true
}
+ cd /home/root/screenly/ansible
+ sudo -E -u root --preserve-env env PATH=/home/root/installer_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ansible-playbook site.yml
PLAY [Install Screenly] **********************************************************************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************************************************************
ok: [localhost]
TASK [system : Create a config_path variable] ************************************************************************************************************************
ok: [localhost]
TASK [system : Check NOOBS] ******************************************************************************************************************************************
ok: [localhost]
TASK [system : Make sure we have proper framebuffer depth] ***********************************************************************************************************
changed: [localhost]
TASK [system : Fix framebuffer bug] **********************************************************************************************************************************
changed: [localhost]
TASK [system : Add gpu_mem_256 in config.txt if it doesn't exist] ****************************************************************************************************
changed: [localhost]
TASK [system : Add gpu_mem_512 in config.txt if it doesn't exist] ****************************************************************************************************
changed: [localhost]
TASK [system : Add gpu_mem_1024 in config.txt if it doesn't exist] ***************************************************************************************************
changed: [localhost]
TASK [system : Add pi4 section in config.txt if it doesn't exist] ****************************************************************************************************
changed: [localhost]
TASK [system : Comment out the original dtoverlay config.] ***********************************************************************************************************
changed: [localhost]
TASK [system : Add FKMS config for Pi 4. (<= Debian 11)] *************************************************************************************************************
skipping: [localhost]
TASK [system : Add FKMS config for Pi 4. (>= Debian 12)] *************************************************************************************************************
changed: [localhost]
TASK [system : Backup kernel boot args] ******************************************************************************************************************************
changed: [localhost]
TASK [system : Notice for cmdline.txt.orig file] *********************************************************************************************************************
ok: [localhost] => {
"msg": "Use cmdline.txt.orig for boot parameters (don't remove this file)"
}
TASK [system : Copy cmdline.txt.orig to cmdline.txt] *****************************************************************************************************************
changed: [localhost]
TASK [system : For splash screen using Plymouth] *********************************************************************************************************************
changed: [localhost]
TASK [system : Remove blinking cursor] *******************************************************************************************************************************
changed: [localhost]
TASK [system : Plymouth ignore serial consoles] **********************************************************************************************************************
changed: [localhost]
TASK [system : Use Systemd as init and quiet boot process] ***********************************************************************************************************
changed: [localhost]
TASK [system : Set ethN/wlanN names for interfaces] ******************************************************************************************************************
changed: [localhost]
TASK [system : Set cgroup_enable required by containerd for OOM] *****************************************************************************************************
changed: [localhost]
TASK [system : Set cgroup_memory required by containerd for OOM] *****************************************************************************************************
changed: [localhost]
TASK [system : Check if cdefs.h exists] ******************************************************************************************************************************
ok: [localhost]
TASK [system : Set fact for cdefs] ***********************************************************************************************************************************
ok: [localhost]
TASK [system : Remove libc6-dev] *************************************************************************************************************************************
changed: [localhost]
TASK [system : Install libc6-dev] ************************************************************************************************************************************
changed: [localhost]
TASK [system : Install Screenly dependencies] ************************************************************************************************************************
changed: [localhost]
TASK [system : Remove deprecated apt dependencies] *******************************************************************************************************************
6
from anthias.
"I've just made progress in the installation... I managed to move forward by installing Docker before running the script # bash <(curl -sL https://install-anthias.srly.io) and executing all commands as the superuser 'root'. Now I'm at the stage of launching the application in Docker #bash /home/$USER/screenly/bin/upgrade_containers.sh but the Raspberry Pi freezes on startup. It seems like it's running out of RAM. With the Anthias script running, I end up with only 350MB of RAM."
from anthias.
Thanks for providing results. Looks like a memory usage issue. Changes to the installation process can be made. Or maybe not use Docker, at least for Pi devices with smaller memory capacity.
from anthias.
Related Issues (20)
- Fix the GitHub workflow for building the Webview HOT 1
- Use Poetry (or similar tool) to manage dependencies in Docker containers.
- Cleanup unused `omxplayer` code.
- warn{0000} docker-compose.yml
- Disable FKMS via `config.txt` for Raspberry Pi devices running Raspberry Pi OS Lite.
- Fix: Flask in dev mode is not reloading on changes.
- Can’t get Anthias working in Portrait 9:16 mode HOT 5
- Monitor Info: Unable to run tvservice HOT 3
- Missing install resources as of 7/29/24? HOT 5
- Anthias doesn't work on Raspberry Pi 5 HOT 1
- Settings page produces 504 Gateway Time-out HOT 20
- Movies are flickering and dont play smooth HOT 4
- Update code to use Google Analytics API v4
- Black screen after each image HOT 4
- Pi Zero 2 W HOT 1
- Add an option to disable error messages from displaying.
- No soundcards found HOT 8
- Add support for using USB as audio output.
- Failed to create secure directory (/data/.config/pulse): Operation not permitted HOT 5
- Make the install scripts less Debian-specific.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from anthias.