antimicrox / antimicrox Goto Github PK
View Code? Open in Web Editor NEWGraphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support.
License: GNU General Public License v3.0
Graphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support.
License: GNU General Public License v3.0
It looks like an error has crept into the README.md file. In the 'AntiMicroX Profiles' section you link to a non-existent page. Of course I mean it:
https://github.com/AntiMicroX/antimicroX/-profiles
Even if you are just planning to add it later, you should link to it after the fact and not before.
There is no question of any typo here, as you only have one repository and apparently you forgot to add the other.
Describe the bug
Upon opening, the app doesn't display the system tray icon.
Version
Running version 3.1.2
Distro is 20.04 LTS Pop! OS 64-bit with Gnome 3.36.3 as my DE
Additional context
On debugging I noticed something, and I'll also attach the full log:
Line 42 Warning: failed to register service "org.kde.StatusNotifierItem-2-1" ((null):0, (null))
debug antimicrox.zip
Describe the bug
As the title says, the uninstallation leaves several paths in the system. Below is a list:
/usr/include/antimicrox
/usr/share/antimicrox
/usr/share/antimicrox/images
/usr/share/antimicrox/translations
/usr/share/doc/antimicrox
/var/lib/systemd/coredump/core.antimicrox.1000.b432ffc9974547f19a3daace3c1deb63.11690.1603227781000000.zst
To Reproduce
simply uninstall the program after installing it
Expected behavior
All files and directories belonging to the program only, should be removed from the system
Configuration
Version of antimicrox: 3.1.2 (from last commit)
System version: Arch Linux
Additional context
I don't know if I'm thinking right, but the error may have something to do with the error reported here (this is the last line)
We have now providing an AppImage release of AmtiMicroX, but it woud be good to make it more available.
It is a good idea to add it to AppImageHub.
AntimicroX shows a warning when the battery level of my DS4 goes bellow 20%. While this is a neat feature, I’d like it to be optional because I already use a script for Polybar that informs me of the current level while it's connected.
Automated generation of changelogs would save a lot of time it would be good to integrate it with repository.
All would be based on semantic commit messages.
Things to do:
Like the title says, It is not saving my configurations.
I am clicking the save as, naming the config, then saving. When I open my files, its not there.
Configuration
I am using elementary os, and I have downloaded the App Center version 3.1.2
Currently the docker references are for the old repo. Let's fix this.
BUILDING.md
During investigating of issues #56 and #58 I have found out, there is a pretty big mess in terms of small icons used by AntiMicroX.
Currently, custom icons are both compiled into binary files (but they are broken because of wrong paths in code) and they are added as a part of system theme called hicolor
.
To ensure usage of these icons theme used by app is overridden to be hicolor
, this solution is very not elegant, duplicates loading of the same icons and can be problematic to use with some themes.
updateJoy->setIcon(QIcon::fromTheme(QString::fromUtf8("view_refresh"), QIcon(":/icons/hicolor/16x16/actions/view_refresh.png")));
I think it would be better to use icons supplied by system-wide theme, because some of our icon look a bit out of place in some cases, and we should use our old icons as a fallback option in case of problems with themed icons.
I think we could also think about updating some of these icons, because some of them look a bit out of date:
...
TL;TR
Things to do:
Most games people play on Linux are Window games though Wine or Proton. Please allow us to add EXE files to the auto profiles on Linux and have it know when that EXE files is running in any Wine install or any Proton install.
Could you please release a Installer or .exe of this beautiful Project?
For now i used Antimicro and just found this new Project, but sadly i cant compile generally.
Antimicro has an .msi Installer & it would be nice, if you could add this Option, too.
Thanks for your Time and Work!
Greetings
This is to follow the Fedora resubmission process after the rename.
Recently we have been granted access to legacy AntiMicro repository.
Our further steps are listed below:
Hi,
(I personally rarely play with joypad, so sorry if this is a stupid idea)
If a contributed antimicroX-profile could be found by the game's SteamAppId
, it would be pretty easy to implement antimicroX support into my steamtinkerlaunch (stl) wrapper.
So if a game is started from steam stl would search for a antimicroX-profile (first offline, then optionally online in the repo) and automatically loaded it if found.
If no usable profile was found antimicroX could open in gui mode so one can be created (here it would be nice if antimicroX would already default to the profilename which was passed via the --profile command line).
When the game exits, antimicroX would be stopped automatically as well.
Hey,
I think AntiMicroX is a very good project which doesn't get deserved attention.
A lot of work has been done to original AntiMirco, and it could currently without any problems replace original Antimicro which is still quite popular.
But there are some problems with this app which are contributing to low popularity and bad accessibility.
In my opinion, they are:
rpm
package), most of the users have to compile it manually (it can be very difficult for people who are not so tech-savvy)Things (I think) should be done for now:
I think some of these tasks should get their own issues.
What do you think about these tasks? Do you have any comments? Ideas? Something else should be done?
To sum up:
If you want to help you can:
(This issue is a copy of original issue juliagoda/antimicroX#130 from legacy AntiMicroX repo.)
I open the advanced settings for a button, select Text Entry, enter "Test" and press Insert.
The button says [Text] Test.
After closing and reopening the advanced window, it says only [Text], the entered text is gone. It also never executes when pressing the controller button.
When I right click on some control (e.g. Sticks, Buttons), a popup menu appears.
Expected: Can click on Toggle, Turbo, Clear and works accordingly.6
Actual:
Impact: low, since these settings are working properly from the full key settings screen.
Version: 3.0.1/master
This project requires installer for Windows.
Original antimicro was compiled on Windows, but this fork doesn't have this feature yet.
Most of required components are already included in antimicro's repository (I think it would be a good point to start).
It would be nice to also add portable version of AntiMicroX, it was done there
Things to do:
vmulti
input method will be disabledexe
to github actions on releaseThis issue is migrated of original issue juliagoda/antimicroX#131 from legacy AntiMicroX repo.
I do not have Arch installed right now but I looked on the AUR and it shows the two packages for AntimicroX still use the old github repo and not the new repo. One or both of these should be updated for Arch Users.
Is your feature request related to a problem? Please describe.
I want to use antimicrox on my raspberry pi which is connected to the tv. it has a keyboard attached, but no mouse available around. I could use my PS3 controllers for this. It would be convenient that antimicrox would run on DE/WM startup pre-configured with a profile for my sixaxis in the tray.
Describe the solution you'd like
Add an applet executable. so I could run in my xinitrc.
Describe alternatives you've considered
Additional context
blueman (blueman-manager) has an applet program(blueman-applet) that it runs when I open bluman-manager. I also could run blueman-applet directly to have access to bluetooth at all times.
networkmanager-applet is also an interface to interact with NetworkManager.
This feature request came from the old repo juliagoda/antimicroX#60
A neat feature would be the ability to be able to create functions. It can be something that is created in each profile and a function is just like when a keystroke is pressed except you are able to to start a function and end a command.
So if you press the A button it could be configured to run "MyFunction", "MyFunction" will hold the ~ key forever. Then you can press the B button to end "MyFunction". Or you can set the X button to run "MyOtherFunction" and "MyOtherFunction" can press Q and W once and then stop running the function. The possibilities are endless and with the advanced assignments we could run multiple commands with double tappings, press and holding, etc. This one simple feature will put Antimicro competing with Pinnacle Gamer Profiler or Padstarr.
The function can be managed in a menu somewhere in the profile and in there you can create, edit or delete functions. To add this to the profile file itself can be debate-able but maybe create a new tag called and then inside would be tags called and then have the data for that function embeded inside of that.
Describe the bug
Saving logs into file doesn't work properly.
To Reproduce
Set logging to file
Expected behavior
Logs saved in file should be at least similar to logs generated in terminal using flag --log-level
.
Comparison of outputs
Logging level: Debug
In file:
[14:38:05.900] - Logging started
[14:38:06.216] - Using XTest as the event generator.
[14:40:56.694] - Quitting Program
in terminal
$ antimicrox --log-level debug
Debug: Socket's state: QLocalSocket::UnconnectedState
((null):0, (null))
Debug: Server name: ""
((null):0, (null))
Debug: Socket descriptor: -1
((null):0, (null))
Debug: The connection hasn't been established:
error text -> QLocalSocket::ServerNotFoundError
error text 2 -> "QLocalSocket::connectToServer: Invalid name"
((null):0, (null))
Debug: Socket is not valid
((null):0, (null))
Debug: Socket's state: QLocalSocket::UnconnectedState
((null):0, (null))
Debug: Server name: ""
((null):0, (null))
Debug: Socket descriptor: -1
((null):0, (null))
Debug: "/home/pawel/.local/share/antimicrox/icons" ((null):0, (null))
.....
It would be easier to map the buttons when using different controllers than the xbox controller.
Add different icons for the most popular controllers, and if possible detection of the controller to automatically show the respective icons. I.e., square, circle, x, triangle for DS3/4, etc
Is your feature request related to a problem? Please describe.
Should support KB emulation in wayland.
Describe the solution you'd like
Dunno yet.
Additional context
GUI works fine, tested in a Wayland Fedora VM.
Got this in a PM on reddit:
It probably runs because of Qt but I don't think mouse and keyboard control would work. I would ask sway developers https://github.com/swaywm/wlroots about what protocols you need to use.
They are very helpful they have even opened MRs for some projects, to port them to wayland. You could just implement it for wlroots and let the community do the rest for you after. For example some wlroots focused tools will work in KDE Plasma soon because of the same protocols being implemented there.
"We hang out in #sway-devel, an IRC channel on irc.freenode.net. Come in and ask questions."
EDIT:
It can be done via switching from xtest to uinput, but uinput requires either root or aditional udev rule
TODO list:
It seems that this part of the README.md file is now out of date.
Arch Linux or Arch Linux based distributions:
git clone https://github.com/archlinux-lucjan/archlinux-packages.git
cd antimicrox-git
makepkg -sric
The relevant PKGBUILD has been removed.
Some of currently supported languages need update (mainly status updates in about
sections and updates of .desktop file )
Translations are stored in:
amgp
extensionHi. I'm Fedora user & 1st know about your application when I saw it as a PR for FlatHub.
I read this repository & it give instruction to install it on Fedora as following:
# dnf install antimicrox
I run the above command but I got the following output:
sudo dnf install antimicrox
Last metadata expiration check: 1:21:19 ago on Tue 15 Sep 2020 11:07:18 AM GMT.
No match for argument: antimicrox
* Maybe you meant: antimicroX
Error: Unable to find a match: antimicrox
But when I searched about "antimicroX" I found a package for a dead application - see bellow:
$ dnf info antimicroX
Last metadata expiration check: 0:19:43 ago on Tue 15 Sep 2020 12:10:33 PM GMT.
Available Packages
Name : antimicroX
Version : 3.0
Release : 2.20200617gitc6d79.fc32
Architecture : x86_64
Size : 175 k
Source : antimicroX-3.0-2.20200617gitc6d79.fc32.src.rpm
Repository : updates
Summary : Graphical program used to map keyboard buttons and mouse controls
: to a gamepad
URL : https://github.com/juliagoda/antimicroX
License : GPLv3+
Description : antimicroX is a graphical program used to map keyboard keys and
: mouse controls to a gamepad. This program is useful for playing
: PC games using a gamepad that do not have any form of built-in
: gamepad support. antimicroX is a fork of AntiMicro which was
: inspired by QJoyPad but has additional features.
I searched used the following site https://koji.fedoraproject.org/koji/packages
I saw antimicroX & antimicrox & last one packaged by you !! - see the following:
https://koji.fedoraproject.org/koji/packageinfo?packageID=31474
https://koji.fedoraproject.org/koji/packageinfo?packageID=32302
What is wrong ??
I'm on Fedora 32 X64 bit Cinnamon Edition.
This issue is focused on discussion about making AntiMicroX a bit more popular and accessible for new users.
Big part of this issue is just regaining users, staying with old legacy AntiMicro.
I think AntiMicroX is a very good project which doesn't get deserved attention.
A lot of work has been done to original AntiMirco, and it could currently without any problems replace original AntiMicro which is still quite popular.
This would help us by providing more feedback and it could also attract potential contributors.
This entire issue is a bit inspired by similar one from xournal++ GitHub (this project has similar history as a fork of abandoned app)
Label | AntiMicro | AntiMicroX |
---|---|---|
downloads from GitHub | link approx 370k | link |
Downloads from SourceForge | link approx 420k | link |
GitHub Stars | star history | star history |
Flathub stats can be found at this site
In terms of accessibility there are still some things to do:
What do you think about these tasks? Do you have any comments in terms of accessibility and visibility for new and old users?
This is also a very good place to share your first impresion.
To sum up:
If you want to help you can:
Much of the good quality pads now work wirelessly. Do you plan to add such functionality in the program? The era of wired pads is slowly coming to an end and relatively soon only the cheapest crap will be available in a wired version. If possible, I would like to ask for an answer and not just give a flag.
Goal:
antimicro
and antimicrox
antimicro
configs are compatible with antimicrox
antimicrox
code or provide instructions in READMEDescribe the bug
Trying to build for raspberry pi 3B+ on raspbian os it fails.
To Reproduce
1- be on raspberry pi on raspbian os
2- install build dependencies according to BULDING.md
3- proceed to build
4- fail on shared library linking
(I ran make with -j 4
flag, don't think it affects anything but mentioning it anyway)
Expected behavior
build should work
Screenshots
Configuration
Version of antimicrox: 3.1.2
Used package: N/A
System version:
Additional context
build log:
[ 98%] Building CXX object CMakeFiles/antilib.dir/src/eventhandlers/uinputeventhandler.cpp.o
[ 98%] Building CXX object CMakeFiles/antilib.dir/qrc_resources.cpp.o
[100%] Linking CXX shared library libantilib.so
/usr/bin/ld: CMakeFiles/antilib.dir/src/gamecontroller/gamecontrollerdpad.cpp.o:(.data.rel.ro+0x0): multiple definition of `typeinfo for JoyDPadXml<VDPad>'; CMakeFiles/antilib.dir/src/gamecontroller/xml/moc_gamecontrollerdpadxml.cpp.o:(.data.rel.ro+0x5c): first defined here
/usr/bin/ld: CMakeFiles/antilib.dir/src/gamecontroller/gamecontrollerdpad.cpp.o:(.data.rel.ro+0xc): multiple definition of `typeinfo for JoyDPadXml<JoyDPad>'; CMakeFiles/antilib.dir/src/gamecontroller/xml/moc_gamecontrollerdpadxml.cpp.o:(.data.rel.ro+0x68): first defined here
/usr/bin/ld: CMakeFiles/antilib.dir/src/gamecontroller/gamecontrollerdpad.cpp.o:(.rodata+0x78): multiple definition of `typeinfo name for JoyDPadXml<VDPad>'; CMakeFiles/antilib.dir/src/gamecontroller/xml/moc_gamecontrollerdpadxml.cpp.o:(.rodata+0xe8): first defined here
/usr/bin/ld: CMakeFiles/antilib.dir/src/gamecontroller/gamecontrollerdpad.cpp.o:(.rodata+0x90): multiple definition of `typeinfo name for JoyDPadXml<JoyDPad>'; CMakeFiles/antilib.dir/src/gamecontroller/xml/moc_gamecontrollerdpadxml.cpp.o:(.rodata+0x100): first defined here
/usr/bin/ld: CMakeFiles/antilib.dir/src/gamecontroller/gamecontrollerset.cpp.o:(.data.rel.ro+0x0): multiple definition of `typeinfo for JoyDPadXml<VDPad>'; CMakeFiles/antilib.dir/src/gamecontroller/xml/moc_gamecontrollerdpadxml.cpp.o:(.data.rel.ro+0x5c): first defined here
/usr/bin/ld: CMakeFiles/antilib.dir/src/gamecontroller/gamecontrollerset.cpp.o:(.data.rel.ro+0xc): multiple definition of `typeinfo for JoyDPadXml<JoyDPad>'; CMakeFiles/antilib.dir/src/gamecontroller/xml/moc_gamecontrollerdpadxml.cpp.o:(.data.rel.ro+0x68): first defined here
/usr/bin/ld: CMakeFiles/antilib.dir/src/gamecontroller/gamecontrollerset.cpp.o:(.rodata+0x130): multiple definition of `typeinfo name for JoyDPadXml<VDPad>'; CMakeFiles/antilib.dir/src/gamecontroller/xml/moc_gamecontrollerdpadxml.cpp.o:(.rodata+0xe8): first defined here
/usr/bin/ld: CMakeFiles/antilib.dir/src/gamecontroller/gamecontrollerset.cpp.o:(.rodata+0x148): multiple definition of `typeinfo name for JoyDPadXml<JoyDPad>'; CMakeFiles/antilib.dir/src/gamecontroller/xml/moc_gamecontrollerdpadxml.cpp.o:(.rodata+0x100): first defined here
/usr/bin/ld: CMakeFiles/antilib.dir/src/gamecontroller/xml/gamecontrollerdpadxml.cpp.o:(.data.rel.ro+0x0): multiple definition of `typeinfo for JoyDPadXml<VDPad>'; CMakeFiles/antilib.dir/src/gamecontroller/xml/moc_gamecontrollerdpadxml.cpp.o:(.data.rel.ro+0x5c): first defined here
/usr/bin/ld: CMakeFiles/antilib.dir/src/gamecontroller/xml/gamecontrollerdpadxml.cpp.o:(.data.rel.ro+0xc): multiple definition of `typeinfo for JoyDPadXml<JoyDPad>'; CMakeFiles/antilib.dir/src/gamecontroller/xml/moc_gamecontrollerdpadxml.cpp.o:(.data.rel.ro+0x68): first defined here
/usr/bin/ld: CMakeFiles/antilib.dir/src/gamecontroller/xml/gamecontrollerdpadxml.cpp.o:(.rodata+0x6c): multiple definition of `typeinfo name for JoyDPadXml<VDPad>'; CMakeFiles/antilib.dir/src/gamecontroller/xml/moc_gamecontrollerdpadxml.cpp.o:(.rodata+0xe8): first defined here
/usr/bin/ld: CMakeFiles/antilib.dir/src/gamecontroller/xml/gamecontrollerdpadxml.cpp.o:(.rodata+0x84): multiple definition of `typeinfo name for JoyDPadXml<JoyDPad>'; CMakeFiles/antilib.dir/src/gamecontroller/xml/moc_gamecontrollerdpadxml.cpp.o:(.rodata+0x100): first defined here
/usr/bin/ld: CMakeFiles/antilib.dir/src/xml/setjoystickxml.cpp.o:(.data.rel.ro+0x0): multiple definition of `typeinfo for JoyDPadXml<VDPad>'; CMakeFiles/antilib.dir/src/gamecontroller/xml/moc_gamecontrollerdpadxml.cpp.o:(.data.rel.ro+0x5c): first defined here
/usr/bin/ld: CMakeFiles/antilib.dir/src/xml/setjoystickxml.cpp.o:(.data.rel.ro+0xc): multiple definition of `typeinfo for JoyDPadXml<JoyDPad>'; CMakeFiles/antilib.dir/src/gamecontroller/xml/moc_gamecontrollerdpadxml.cpp.o:(.data.rel.ro+0x68): first defined here
/usr/bin/ld: CMakeFiles/antilib.dir/src/xml/setjoystickxml.cpp.o:(.rodata+0xa0): multiple definition of `typeinfo name for JoyDPadXml<VDPad>'; CMakeFiles/antilib.dir/src/gamecontroller/xml/moc_gamecontrollerdpadxml.cpp.o:(.rodata+0xe8): first defined here
/usr/bin/ld: CMakeFiles/antilib.dir/src/xml/setjoystickxml.cpp.o:(.rodata+0xb8): multiple definition of `typeinfo name for JoyDPadXml<JoyDPad>'; CMakeFiles/antilib.dir/src/gamecontroller/xml/moc_gamecontrollerdpadxml.cpp.o:(.rodata+0x100): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/antilib.dir/build.make:4329: libantilib.so.1] Error 1
make[1]: *** [CMakeFiles/Makefile2:110: CMakeFiles/antilib.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
Add a good issue and PR template to facilitate good PR hygiene and issue submission/feature requests.
If possible, endorse semantic commits.
GitHub Page, Issues and Wiki items in the Help menu in the menu bar links to the old repository (https://github.com/juliagoda/antimicroX)
The DEB package was packaged last year. If possible, migrate users to antimicrox
as that is the maintained version.
Goal:
Describe the bug
When change profile from command line, always return a seg fault.
To Reproduce
[karl@CyberPortatil ~]$ antimicrox --profile ~/Software/configs/antimicro/DOS.gamecontroller.amgp
Segmentation fault (core dumped)
[karl@CyberPortatil ~]$ antimicrox --profile ~/Software/configs/antimicro/WIN.gamecontroller.amgp
Segmentation fault (core dumped)
In dmesg I see a lot of lines like (appear always when change antimicrox profile from my .sh files)
[11887.666820] antimicrox[203273]: segfault at c ip 00007f1867ea08d2 sp 00007fffc38dafc0 error 4 cpu 7 in libQt5Widgets.so.5.15.1[7f1867e64000+3b0000]
[11910.791616] antimicrox[203350]: segfault at c ip 00007f9d0724b8d2 sp 00007ffddbaa71e0 error 4 cpu 6 in libQt5Widgets.so.5.15.1[7f9d0720f000+3b0000]
Expected behavior
No errors in console or dmesg.
Configuration
I'm using antimicrox 3.1.2 compiled from AUR in Archlinux.
Additional context
This is not a critical issue, is only a low problem because antimicrox do well the change from a profile to another one from command line, but always returns the error commented.
Describe the bug
Expected behavior
You should find up-to-date information about the program being developed
Configuration
Version of antimicrox: 3.1.2 (from last commit)
System version: Arch Linux
Dear I'm currently using "antimicro" on my Fedora since many years ago (about 3 or 4 years ago). Soon your program will be available to me.
Can I import (by copy/past) antimicro's profiles files from it's cache folder to that of antimicrox ? Are such profiles compatible ?
Currently, assigning executable to a button requires providing full path to used executable, it would be convenient to check also places like /bin/
to check if used executable exists instead of asking user about providing full path.
As the title say, it would really be great to have the ability to bind the controller buttons for actions instead of keyboard and mouse.
Eg: You double tap "RB" button and the program send the "L3" button input instead.
Something similar to what you can do with Steam Controller Configuration, but antimicro could work with any game out there (for example Windows 10 Store games, I've played Darksiders 3 with regular antimicro for windows with no issues).
I've read that it was one of the explored ideas for a future update but is anyone still working on that?
Thank you very much!!!
Currently, there is some mess in style of code (as a good examples can be usage of if (...
and if(...
)
TODO:
Create configs for code formatter which will help with ensuring quality and consistency of code style.
Format code (entire or at least some pieces)
Hi. I installed this program from official Fedora repositories after remove antimicro from my system.
I noticed strange bugs that I do not know how to explained but I feel that they related to one other:
I'm on Fedora 32 X64 bit Cinnamon edition with AntiMicroX 3.1.0 and just now AntiMicroX crashed after I launched it to see it's version then exit it ! It crashed after I exit it .....
Issue for general discussion about AntiMicroX ant its further development.
Discussion about current state of app and its further development in general.
This fork is a rather new, that's why we are currently focused on cleaning up the repository and preparing it for further development.
We are also working on making AntiMicroX easily available and updateable for users.
Then we are going to move on to fixing existing bugs
Later we will think about possible improvements and porting to QT6 (not released yet)
**Offtopic comments will be deleted/hidden to avoid spam.
Describe the bug
AntiMicroX icon doesnt appear in my system tray after closing. This caused it to be inaccessible. So I killed the process in system monitor. After that, I want to launch the application, but it just loads for a while and never opens. The process in system monitor kills itself a few seconds afterwards
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The app should close to tray with the icon appearing in the system tray
Version
3.1.1
Additional context
Currently, this project uses 3 variations of its name: antimicrox
, antimicroX
and AntiMicroX
It may cause some problems, that's why we will use from now only 2 variants:
antimicrox
- used across filenames, names of directories and packages (#23 (review))AntiMicroX
- more visually appealing version, it will be name visible for our users (in docs, application description etc)1- The aur release here could be a binary release and antimicrox-git stay as a source build.
2- As we fixed ARM builds, it could be added to arch
inside PKGBUILD
(with the next release I assume)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.