Giter Site home page Giter Site logo

onion-docs's Introduction

Onion-Docs

Documentation for all things Onion

onion-docs's People

Contributors

andreas-lundgren avatar bigmanmo avatar chmorgan avatar crispyoz avatar dawidcieszynski avatar devcas avatar edent avatar fires04 avatar greenbreakfast avatar ilikelinux69 avatar ishotjr avatar ivanukh avatar jjok avatar matthewhartstonge avatar mh1412 avatar mxtoronto avatar nicolapalavecino avatar nsingh06 avatar nwgarner avatar paragoumba avatar pavelmetrokhin avatar pjobson avatar ratatatatat avatar root-goblin avatar sdknjg8zxq avatar traviscannon avatar ve4edj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

onion-docs's Issues

Using-GPIOs.md Inaccurate

Using-GPIOs.md shows that you can use gpioctl to control say a LED.

"You can configure your GPIO pin to supply power to a load with your Omega, for example, if you were powering an LED."

root@Omega-ADBD:~# gpioctl dirout 6
Using gpio pin 6.
root@Omega-ADBD:~# gpioctl dirout-high 6
Using gpio pin 6.
root@Omega-ADBD:~# gpioctl get 6
Using gpio pin 6.
Pin 6 is HIGH
root@Omega-ADBD:~# gpioctl dirout-low 6
Using gpio pin 6.
root@Omega-ADBD:~# gpioctl get 6
Using gpio pin 6.
Pin 6 is LOW

Nothing happens, I was expecting the LED to do something... though the documentation isn't clear as to what it is supposed to do. I'm guessing turn on and off.

Powering Omega 2 without a Dock

I have read the section that explains how to power the Omega 2 without a Dock where the LD1117 does not have the proper capacitors. I attach the application circuit seen in the data sheet of the component. These capacitors are for voltage stability purposes.

captura de pantalla 2017-10-06 a la s 16 18 40

Duplicated content

Hi. I was just reading the Power Dock page and all the content in each section seems to be duplicated. It doesn't appear to be that way in the markdown file. Is it a problem with the compilation?

Cannot install any kernel modules

The documentation on OPKG says:

Note that your Omega cannot install kernel modules from the default LEDE repos. opkg only allows installation of kernel modules compiled by the same machine that compiled the firmware. This is to ensure that all installed kernel modules are the exact same version as the device’s kernel. It would be pretty disastrous to install a module that expects a different version of the overall kernel so opkg never lets it happen!

My Onion Omega 2+ has firmware version 0.2.0 (b186), which uses the 4.4.74-1 kernel. Whenever I try to install any kernel modules the install fails and returns the error

Collected errors: satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-fs-hfs: kernel (= 4.4.135-1-fd6e4535420b1cebe485c935e0d20c0d) * opkg_install_cmd: Cannot install package kmod-fs-hfs. pkg_run_script: package "kmod-input-joydev" postinst script returned status 255. opkg_configure: kmod-input-joydev.postinst returned 255.

I cannot install any kernel modules except for kmod-input-core but I had to use the --nodeps install flag.
opkg install kmod-input-core --nodeps

Expired SSL Certificate on *.onion.io

Hi,

as I previously wrote you on Twitter, your SSL Certificate has expired yesterday.

You should renew it, because the cloud, the docs (hsts) and the Omega2 Setup don't seem to work properly and it's not very trust generating in general.

Sorry if this is the wrong place for it, I don't know where else to post this.

Connectivity: Can't find Omega AP after connecting to PEAP network

I followed the instructions from Connect-to-enterprise-wifi.md but after I run /etc/init.d/network restart, the Omega's AP disappears from my Mac's listed wifi networks and I can no longer connect to the board. This effectively renders my Omega useless since I have to be able to connect to the wifi network to ssh into the board and do anything on it.

Are the instructions I followed up to date? I have an Omega 2 and a Power Dock 2.

basics in Project Book

Find function is completely broken.
it's -> its, retard
" - " -> —, :
will -> shall
comma splices
colon splices
number splice
"monocrome"
Project Book says / is at bottom of a tree but then refers to other directories as below and rootward as up.
"gets their"
fast[er] -> soon[er], short[li][er], swift[li][er]
command like -> command line
"Resisters"
resorts to incorrect conventional polarity
mistakes behind for above
"little bit"
thin -> fine, slim
super useful -> superuseful
method -> methods
or less -> or fewer
data that's -> data that're
URLs, images, and code off the edge on pages 80, 81, 82, 103, 104, 111, 128, 129, 146, 152, 213, 219, 247, 256, 259, 272, 273, 284, 302
"create quickly create"
nice < niais < nescius := not-skilled -> well
[that][This] data -> [those][These] data
[to] [we] setup -> [to] [we] set up
create -> to create
Length -> Height
data is -> data are
out script -> our script
"periods of time"
away from -> frowards
length -> span
duration -> length
[left][right] most -> [left][right]most
Yyu -> You
apart -> apart.
Onion' -> Onion's
blank page 255
table overlap on page 263
corrupt image on page 274
Andriod -> Android
widow on page 275
large square piece -> block
"storageL"
mislink on page 309, 319
"on connected"
be be -> to be
routers -> router's
is, the -> is the
travel < travail < trepale -> go, fare, wend
deadlink on page 322

Documentation Issue - incorrect Pin

Hi there,

I suspect you have made a mistake in your servo documentation at: https://docs.onion.io/omega2-maker-kit/maker-kit-servo-h-bridge.html#

You instruct the following: 3) Take one M-M jumper and connect 1,2EN on the IC (row 5 on our board) to the Vcc rail.

That however will then not allow you to adjust the speed at which the motor turns, and the sample code provided will always turn the motor at full speed, despite setting it to something else. I suspect that the text should read:

  1. Take one M-M jumper and connect 1,2EN on the IC (row 5 on our board) to channel S2 on the PWM board.

Willem

PWM-Expansion-Node-Module missing information about required callbacks

Onion-Docs/Omega2/Documentation/Reference/Libraries/PWM-Expansion-Node-Module.md is incorrect.

The setupDriver, setFrequency and disableChip methods require a callback to function correctly. This is missing from the documentation.

i.e.

 pwmExp.setupDriver(0,50,0, () => {
console.log("setupDriver success.");
});

Neopixel Library does not support RGBW LEDs

The current neopixel library for the arduino dock does not support RGBW LEDs. Micropython recently added the feature to support them. Can we either, include support in the Arduino library, or can one control the Arduino using micropython?

Also, I can't seem to find the source code for the Onion Neopixel library. Where can I find that?

Thanks!

Omega2 GPIO7,8,9 can't actually be used for general purpose I/O

Whilst GPIOs 7, 8, and 9 might technically be GPIOs on the SoC, they can't be used as such on the module, due to the flash using their SPI channel. This is alluded to in a dark corner of the written documentation, but could be more clearly communicated by not marking them as GPIOs on the pinout diagram.

Fixing BusyBox

Since i got my Omega2+ i do get the problem that Busybox is not working as described in the Documentation (I remember that i helped to make that in the Wiki).

I saw the request about ": applet not found" but i would say it is not up to us to install Busybox before we can use it ... will this issue be fixed soon?

Or is this just by some Users so ... i had to make several resets an sysupgrades ... but i never had the normal behavior.

root@Omega-####:/# help
/bin/ash: help: not found

root@Omega-####:/# busybox --help
-help: applet not found

Typo / Strange placeholder in the Linux introduction section

Hey guys, just wanted to report a small typo in the section:
Linux Introduction > Exploring The File System > How To Navigate In Linux.

Under ls command, the following sentence can be found ;)
So let’s see what’s in our homeGETPROPERNAMEFORTHIS directory.

Keep up the great work!
Jaime

Expansion-Dock.md Inaccurate & expled segfaults

According to Expansion-Dock.md you can use expled to change the LED color on the board. You can't actually do anything with it.

Various tries, for all the LED remained blue. If you put a 00 as a value the program segfaults.

root@Omega-ADBD:~# expled 0xf21133
Setting LEDs to: f21133
Duty: 6 94 80
root@Omega-ADBD:~# expled 0xff1133
Setting LEDs to: ff1133
Duty: 0 94 80
root@Omega-ADBD:~# expled 0xff0000
Setting LEDs to: ff0000
Duty: 0 100 100
Segmentation fault
Segmentation fault
root@Omega-ADBD:~# expled 0x00ff00
Setting LEDs to: 00ff00
Duty: 100 0 100
Segmentation fault
Segmentation fault
root@Omega-ADBD:~# expled 0x0000ff
Setting LEDs to: 0000ff
Duty: 100 100 0
Segmentation fault
Segmentation fault

Greeting.py not properly works with python 3

issue

I've solved this problem. Change follow line :

ledTriggerPath = "/sys/class/leds/%s/trigger"%(ledName.rstrip())

to:

ledTriggerPath = "/sys/class/leds/%s/trigger"%(ledName.rstrip()).decode("utf-8")

OLED-Expansion-C-Library.md

uint8_t *buffer = malloc(OLED_EXP_WIDTH*OLED_EXP_HEIGHT/8 * sizeof *buffer); // allocate memory for the buffer

This statement appears twice in the file. It should be either

uint8_t *buffer = malloc(OLED_EXP_WIDTH*OLED_EXP_HEIGHT/(8 * sizeof *buffer)); // allocate memory for the buffer

or

uint8_t *buffer = malloc(OLED_EXP_WIDTH*OLED_EXP_HEIGHT/8 / sizeof *buffer); // allocate memory for the buffer

so that the number of elements allocated decreases as the size of the data type used for buffer increases. The only reason to include "sizeof *buffer" in the calculation is if you're intent is to make the code more bullet-proof against changes in the base data type, so the code should work correctly if that is done.

Pinout-diagram missing information

The pinout-diagram doesn't list the GPIO-numbers for ephy, it doesn't list which pins have PWM-capability, nor does it list spi_s-pins.

Incorrect command for copying overlay to external storage in Omega2/Documentation/Doing-Stuff/Boot-from-External-Storage.md

Says:

mount /dev/ /mnt ; tar -C /overlay -cvf - . | tar -C /mnt -xf - ; umount /mnt

Should say

mount /dev/ /mnt/ ; tar -C /overlay -cvf - . | tar -C /mnt/ -xf - ; umount /mnt/

It should do that because the instructions just before have you creating the mount point using that naming scheme. If you follow the instructions exactly, then the "/mnt" path is a regular directory, and the mount fails and the tar copies the files to that directory.

After moving the copied files to the /mnt/ directory, I continued with the instructions and it worked as described.

Typo in "Using the GPS Expansion" Documentation

There is a typo in the Onion Omega2 Docs under Onion-Docs/Omega2/Documentation/Doing-Stuff/Expansions/Using-the-GPS-Expansion. Under the heading "Reading NMEA Data Using ogps" you have instructions stating:

You can also use ogps to access relevant data offered up by the GPS via ubus calls. To install ogps enter the following commands.

opkg update
opkg install opgs

opgs is misspelled as "opgs" in the command "opkg install ogps" and I don't beleave that is what you're trying to install there as opgs is not a real package.

New instructions should look like this:

You can also use ogps to access relevant data offered up by the GPS via ubus calls. To install ogps enter the following commands.

opkg update
opkg install ogps

[Solved] Getting "Error compiling for board Onion Arduino Dock"

Followed all the instructions, but when I try to upload the code to the arduino dock, I'm receiving this from Arduino IDE:

"C:\Users\rodri\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-gcc-ar" rcs "C:\Users\rodri\AppData\Local\Temp\arduino_build_66107\core\core.a" "C:\Users\rodri\AppData\Local\Temp\arduino_build_66107\core\wiring_pulse.S.o"
Error running c:\users\rodri\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2\bin../lib/gcc/avr/4.9.2/../../../../avr/bin/ar.exe: CreateProcess

Using library Adafruit_Sensor-master at version 1.0.2 in folder: C:\Users\rodri\Documents\Arduino\libraries\Adafruit_Sensor-master
Using library DHT-sensor-library-master at version 1.3.0 in folder: C:\Users\rodri\Documents\Arduino\libraries\DHT-sensor-library-master
exit status 1
Error compiling for board Onion Arduino Dock.

Typo in Fast-GPIO Documentation

In Onion Omega2 Docs/Using the Omega/Using the Omega's GPIOs/Fast-GPIOs under "Command Usage:" the first paragraph reads,

For a print-out of the usage, run fast-gpio with on the command line:

"with on" is redundant, should use one or the other, probably "on"

New line should read:

For a print-out of the usage, run fast-gpio on the command line:

Some other languages examples ?

Hi,

I'm glad to see there is a new documentation for the omega2 !
But I can't find any example for php, ruby, nodejs ...

How do we configure the omega2 to execute one of this languages and how can we use the GPIO through this languages ?

thanks for your help,

More console commands

In my case I wasn't able to install the console on omega2 as the disk space was used by python.

Some of the things that I discovered myself but would be nice to have in the docs:

  • To install the console from command line: opkg install onion-console-base
  • To do a factory reset run the command: mtd -r erase rootfs_data
  • To set the timezone, edit the /etc/config/system file and put a timezone in the section "option timezone 'YOURTIMEZONE' from this list: https://wiki.openwrt.org/doc/uci/system#time_zones
  • To edit the AP password, edit the file: /etc/config/wireless
  • To add it to the cloud:

edit the file /etc/config/onion

and add a section as:
config cloud 'cloud'
option deviceId 'YOURDEVICEID'
option secret 'YOURSECRETCODE'

-To view the disk space run the command '/usr/sbin/disk-space' (if the console is installed, otherwise get that script from the ipk)

Error while installing pip library

Hello, am getting this error while installing the pip library for running octoprint on the Omega board, any ideas how to resolve it referring the setup link: https://docs.onion.io/omega2-project-book-vol1/octoprint-server.html

root@Omega-AT:~/OctoPrint-1.0.0# root@Omega-AT:~/OctoPrint-1.0.0# pip install -r requirements.txt WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip. Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue. To avoid this problem you can invoke Python with '-m pip' instead of running pip directly. DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality. Collecting flask==0.9 Using cached Flask-0.9.tar.gz (481 kB) ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. root@Omega-AT:~/OctoPrint-1.0.0# root@Omega-AT:~/OctoPrint-1.0.0#

Advanced/Cross-compiling is far from true

Omega2/Documentation/Doing-Stuff/Advanced/Cross-Compile.md is far from true.
It's not a documentation, where even the steps actually written down in it are untrue.
You can't just simply go through it and get anything compiled, not to say something really useful.
You'll basically stuck with hopelessly trying to compile an environment.
Please, at least, change the docs to represent the actual process needed, even if it looks right now as a giant workaround with docker, broken dpkg dependencies and whatelseyouhavethereidontyetknowbecauseicantyetgetthrough.mk

Minor Issue in GPIO Documentation

In Onion Omega2 Docs/Using the Omega/Using the Omega's GPIOs/Multiplexed GPIOs under "Changing the GPIO Function" the second paragraph says,

To illustrate the above, the following command will set I2C pins to GPIO mode:

but the example shows changing the uart1 pins to gpio

omega2-ctrl gpiomux set uart1 gpio

The second paragraph should be updated to read

To illustrate the above, the following command will set UART1 pins to GPIO mode:

or the example should be updated

"GPIO-electrical-characteristics" need more characteristics

Namely, output resistance of an output pin (or, how much current is it safe to draw), and input resistance of an input pin (or, how much current will be drawn from the peripheral). Based on the latter, recommended pullup/-down resistor would be helpful.

Starter & Maker Kit's: Reading a switch schematic has incorrect voltage

The schematic for reading a switch in the starter & maker kits is incorrectly referencing 5V, when it should reference 3V3: https://raw.githubusercontent.com/OnionIoT/Onion-Docs/master/Omega2/Kit-Guides/Starter/diagrams/04-02-circuit-diagram.png

Also, the photo of the circuit is incorrectly showing the positive rail connected to 5V: https://raw.githubusercontent.com/OnionIoT/Onion-Docs/master/Omega2/Kit-Guides/Starter/img/04-experiment-circuit.jpg

Cannot setup build system

Hello, dont really know is it Onion-Docs, source repository issue or I just missing something simple. Section Advanced->Cross-Compiling->Build System Root describe setup build system process, but make -j20 command finished with following error:

make -r world: build failed. Please re-run make with -j1 V=s to see what's going on
/home/konstantin/workplace/onionIoT/source/include/toplevel.mk:198: recipe for target 'world' failed
make: *** [world] Error 1

re-runing make as make -j1 V=s have tons of output, and it ends with following error:

make[6]: Entering directory '/home/konstantin/workplace/onionIoT/source/build_dir/host/e2fsprogs-1.43.3/debugfs'
	CC debug_cmds.c
	CC extent_cmds.c
	CC create_inode.o
./../misc/create_inode.c: In function 'set_inode_xattr':
./../misc/create_inode.c:136:9: warning: implicit declaration of function 'llistxattr'; did you mean 'lstat64'? [-Wimplicit-function-declaration]
  size = llistxattr(filename, NULL, 0);
         ^~~~~~~~~~
         lstat64
./../misc/create_inode.c:172:16: warning: implicit declaration of function 'lgetxattr'; did you mean 'getdate_r'? [-Wimplicit-function-declaration]
   value_size = lgetxattr(filename, name, NULL, 0);
                ^~~~~~~~~
                getdate_r
./../misc/create_inode.c: At top level:
./../misc/create_inode.c:395:18: error: conflicting types for 'copy_file_range'
 static errcode_t copy_file_range(ext2_filsys fs, int fd, ext2_file_t e2_file,
                  ^~~~~~~~~~~~~~~
In file included from ./../misc/create_inode.c:19:0:
/usr/include/unistd.h:1110:9: note: previous declaration of 'copy_file_range' was here
 ssize_t copy_file_range (int __infd, __off64_t *__pinoff,
         ^~~~~~~~~~~~~~~
Makefile:417: recipe for target 'create_inode.o' failed
make[6]: *** [create_inode.o] Error 1
make[6]: Leaving directory '/home/konstantin/workplace/onionIoT/source/build_dir/host/e2fsprogs-1.43.3/debugfs'
Makefile:404: recipe for target 'all-progs-recursive' failed
make[5]: *** [all-progs-recursive] Error 1
make[5]: Leaving directory '/home/konstantin/workplace/onionIoT/source/build_dir/host/e2fsprogs-1.43.3'
Makefile:339: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory '/home/konstantin/workplace/onionIoT/source/build_dir/host/e2fsprogs-1.43.3'
Makefile:49: recipe for target '/home/konstantin/workplace/onionIoT/source/build_dir/host/e2fsprogs-1.43.3/.built' failed
make[3]: *** [/home/konstantin/workplace/onionIoT/source/build_dir/host/e2fsprogs-1.43.3/.built] Error 2
make[3]: Leaving directory '/home/konstantin/workplace/onionIoT/source/tools/e2fsprogs'
tools/Makefile:147: recipe for target 'tools/e2fsprogs/compile' failed
make[2]: *** [tools/e2fsprogs/compile] Error 2
make[2]: Leaving directory '/home/konstantin/workplace/onionIoT/source'
tools/Makefile:145: recipe for target '/home/konstantin/workplace/onionIoT/source/staging_dir/target-mipsel_24kc_musl-1.1.16/stamp/.tools_install_yynyyyyynyyyyynyynnyyyynyyyyyyyyyyyyyyynyynynnyyynnny' failed
make[1]: *** [/home/konstantin/workplace/onionIoT/source/staging_dir/target-mipsel_24kc_musl-1.1.16/stamp/.tools_install_yynyyyyynyyyyynyynnyyyynyyyyyyyyyyyyyyynyynynnyyynnny] Error 2
make[1]: Leaving directory '/home/konstantin/workplace/onionIoT/source'
/home/konstantin/workplace/onionIoT/source/include/toplevel.mk:198: recipe for target 'world' failed
make: *** [world] Error 2

I am not really familiar with cross compiling and stuck here.

Possible to update u-boot without ethernet?

Hi,
I have omega2p, with factory u-boot. Is it possible to flash the new u-boot without using ethernet connection?
As I don't own the ethernet dock, only expansion dock.

both serial over usb and/or wifi are working.
Can this be done from running Linux distro or u-boot command line (ex. flash u-boot from usb drive) ?

GCC is no longer available in package repositories

https://docs.onion.io/omega2-docs/c-compiler-on-omega.html says that if two lines are uncommented in the file /etc/opkg/distfeeds.conf you can add some package repositories for you to be able to compile C and C++ programs in the Omega. I found out that the gcc compilers are not available in any repository. The following error message appears when I try to install gcc with opkg install gcc:

Unknown package 'gcc'.
Collected errors:
 * opkg_install_cmd: Cannot install package gcc.

@greenbreakfast any idea what happened?

feature more projects such as FreeBSD and u-root on the Omega (1 and 2)

Hi,

I still have an Omega 1 here, and I'm looking into buying an Omega 2 soon. I'd like to contribute some efforts from my side, and it would be nice if they and others could be featured / referenced.

Some folks have brought FreeBSD to the Omega 2, see https://github.com/ZakSN/FreeBSD-onion-omega2-build-notes/blob/master/freebsd_omega2%2B.md and https://twitter.com/allanjude/status/666495547650412544.

For u-root.org, we recently added MIPS support, and I am experimenting with multiple boards now to see how far it would get, retaining the existing bootloader and kernel and swapping out the rootfs. The Omega 1 is my next target.

Now I have a few questions regarding that:

  • Are you open to having that in the docs at all? If so, I'll file some PRs; otherwise, I'd put that elsewhere. It would be awesome to have everything in place. :)
  • Could you readd references to the Omega 1? I tried tracing down where it was deprecated, but would like to have docs. The only bit I could find is the schematics at https://github.com/OnionIoT/Onion-Hardware/blob/master/Schematics/Omega.pdf

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.