csemike / oneswarm Goto Github PK
View Code? Open in Web Editor NEWPrivacy preserving peer-to-peer data sharing
Home Page: http://csemike.github.com/OneSwarm
Privacy preserving peer-to-peer data sharing
Home Page: http://csemike.github.com/OneSwarm
Running a headless server with oneswarm is tedious right now (Xfvb trick etc.)
To really be able to use oneswarm, it should be possible to run a low-memory usage daemon on a server. The more lightweight it is the greater the adoption. This is a pretty big issue, but this separation for me is crucial (look at mlnet, transmission, dc++, etc.) This way people could contribute GUIs, web frontends, curses consoles etc...
java.lang.NullPointerException
at edu.washington.cs.oneswarm.ui.gwt.rpc.CommunityRecord.equals(CommunityRecord.java:372)
at java.util.concurrent.ConcurrentHashMap$Segment.get(Unknown Source)
at java.util.concurrent.ConcurrentHashMap.get(Unknown Source)
at edu.washington.cs.oneswarm.ui.gwt.server.community.CommunityServerManager.getChtClientForUrl(CommunityServerManager.java:602)
at edu.washington.cs.oneswarm.f2f.dht.DHTConnector.chtLookupAndConnect(DHTConnector.java:552)
at edu.washington.cs.oneswarm.f2f.dht.DHTConnector.connectToFriend(DHTConnector.java:319)
at edu.washington.cs.oneswarm.f2f.dht.DHTConnector$FriendConnectorRunnable.run(DHTConnector.java:1572)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
probably after the latest update?
GWT upgrade bug? Need to verify that HistoryListeners are still working
Don't show OneSwarm in Mac Alt-Tab menu unless classic UI is on screen. It just clutters things and leads to confusion and/or inadvertent closing of the application.
but 'swap blocked' in the friends table seems to work fine
And incorporate into the build process
The (my ?) Oneswarm Web-UI does not work with Google Chrome (build 15.0.874.121) under Seven64.
The main windows does not show the shared medias, the connected peers & the different tabs (Friends, Peers, ...) are not loaded. Just upload & download speeds are show.
If any search is done : the Web-UI just shows the 'footer' ("OneSwarm: 0.7.6.0 | Forum | Help")
I did a flush of my 1S working directory by deleting everything except the keys & osf2f dir. , but this not help ...
Regards
It would be nice, for a small f2f, to be able to remember the filenames of peers that have gone offline. This would be useful so that you can still search and start downloading them even when there currently is no valid source. This is for the case where the peers are personal computers that are not always on. Obviously there would be a timeout (48h?) after which you forget this info. You would need to display it too (on Transfer and on search results).
Other thing I found out, that seems to me to be a bug :
Users want to be able to specify - to exclude words
also, some additional keywords (file size, file type, video resolution, and so on...) would be nice to be able to match on.
this might be related to one side being set to limited and the other not -- or search floods delaying the handshake message from being sent. (might searches be forwarded / build up a queue before the handshake is sent?)
example logs:
one side:
11:54:17: Connection attempt initiated
11:54:17: Trying cached location: {removed}
11:54:17: Looking up friend location in CHT (secret loc)
11:54:17: Looking up friend location in DHT(secret loc)
11:54:17: Resolved friend location from: UDP:CHT (secret loc): {removed} age=15 minutes
11:54:17: Skipping ip:port from UDP:CHT (secret loc): {removed} (already tried)
11:54:40 7976b9: got exception: transport closed (returned -1)
11:54:40 7976b9: disconnected
other side:
11:53:45: Connection attempt initiated
11:53:45: Trying cached location: {removed}
11:53:45: Looking up friend location in CHT (secret loc)
11:53:45: Looking up friend location in DHT(secret loc)
11:53:45: Resolved friend location from: UDP:CHT (secret loc): {removed} age=8 minutes
11:53:45: Skipping ip:port from UDP:CHT (secret loc): {removed} (already tried)
11:54:05 3eace41f: handshake timeout, closing
11:54:05 3eace41f: disconnected
shows as a white square on gray bgs -- ugly!
No significant changes between 2.3 and 2.4, consider waiting for 2.5 before upgrade.
avoid message flood after handshake
should get visibility into the expect false positive rate on PL machines before doing this to track it over the change and make sure it stays sufficiently low
The client will keep thousands of
osf2f_.invites
osf2f_.friends
files after it has been running for a long time. Clear these out.
DEBUG::Tue Jan 04 15:56:51 PST 2011::com.aelitis.azureus.core.networkmanager.impl.osssl.OneSwarmSslTransportHelperFilterStream::doHandshake::597:
buffer overflow during handshake, should never happen
ProtocolDecoderPHE::process::817,ProtocolDecoderPHE::selectSuccess::1981,ProtocolDecoderPHE$2::selectSuccess::470,TCPTransportHelper$1::selectSuccess::443,VirtualChannelSelector::selectSuccess::379,VirtualChannelSelectorImpl::select::575,VirtualChannelSelector::select::332,TCPNetworkManager$4::run::155,AEThread2$threadWrapper::run::202
-- this happened
selenium bug related to selectWindow() -- no longer works in firefox 4
Heya Devs !
The value in the Settings / Network / Edit (any CS options) / "Remove old community friends after obtaining 50 peers" is not modifiable.
The default value (50 peers) can not be changed : only a 'copy/paste' of the new value works.
Regards.
should recompile on change
Some users report that it is filling the entire screen.
I installed oneswarm in some clean computers. All of them can run and adding friends. The searching function was working well too. But, some of the computers can't download files while it has friends who were seeding these files. The downloading persent was always 0.
Hope someone can solve this problem. Thanks
Here's the error.log
2011-10-8 9:52:38 com.aelitis.azureus.core.networkmanager.impl.MultiPeerUploader
????????: OneSwarm MultiPeerUploader created
2011-10-8 9:52:38 com.aelitis.azureus.core.networkmanager.impl.MultiPeerUploader
????????: OneSwarm MultiPeerUploader created
2011-10-8 9:52:38 com.aelitis.azureus.core.networkmanager.impl.MultiPeerUploader
????????: OneSwarm MultiPeerUploader created
2011-10-8 9:52:38 com.aelitis.azureus.core.networkmanager.impl.MultiPeerUploader
????????: OneSwarm MultiPeerUploader created
Loading friend-to-friend plugin
OSF2FMain: loading log settings. cwd: C:\Program Files\OneSwarm.
OSF2FMain: 1318038760812 ms:: init started
OSF2FMain: 0 ms:: in synchronized block
OSF2FMain: 0 ms:: getting global manager stats
OSF2FMain: 0 ms:: getting own public key
OneSwarmSslKeyManager: 0 ms:: OneSwarmSslKeyManager()
OneSwarmSslKeyManager: 0 ms:: creating key store instance
OneSwarmSslKeyManager: 0 ms:: loding key
OneSwarmSslKeyManager: 15 ms:: loaded key store
OneSwarmSslKeyManager: 93 ms:: loaded ssl context
OneSwarmSslKeyManager: 93 ms:: done with ssl loading
OSF2FMain: 93 ms:: creating friend manager
OSF2FMain: 640 ms:: loading permissions manager
2011-10-8 9:52:41 edu.washington.cs.oneswarm.f2f.permissions.PermissionsDAO load_groups
????????: loading groups (v2)
OSF2FMain: 656 ms:: creating invitation manager
OSF2FMain: 687 ms:: creating file list manager
OSF2FMain: 750 ms:: creating overlaymanager
2011-10-8 9:52:41 edu.washington.cs.oneswarm.f2f.network.QueueManager
????????: ** Bound on MAX_QUEUE_FRACTION_PER_FRIEND * MAX_GLOBAL_QUEUE_LEN_BYTES: 262288.0
2011-10-8 9:52:41 edu.washington.cs.oneswarm.f2f.FileListManager generateOwnLists
????????: created own file list: num swarms=0 time=141
f2f_search_fwd_p: 0.949999988079071
OSF2FMain: 1140 ms:: starting protocol matcher thread)
OSF2FMain: 1140 ms:: Protocol matcher thread started
OSF2FMain: 1140 ms:: creating f2f download manager
OSF2FMain: 1156 ms:: OS Protocol matcher installed
OSF2FMain: 1156 ms:: OS-Auth Protocol matcher installed
2011-10-8 9:52:42 edu.washington.cs.oneswarm.f2f.OSF2FMain logWithTime
????????: 1172 ms:: loading sha1 matcher
OSF2FMain: 1172 ms:: loading sha1 matcher
OSF2FMain: 1218 ms:: sanity check perms took: 0
2011-10-8 9:52:42 edu.washington.cs.oneswarm.f2f.OSF2FMain logWithTime
????????: 1218 ms:: f2f init done
OSF2FMain: 1218 ms:: f2f init done
2011-10-08 09:52:42.281::INFO: Logging to STDERR via org.mortbay.log.StdErrLog
2011-10-8 9:52:42 edu.washington.cs.oneswarm.ui.gwt.server.handlers.MultiHandler
????????: initializing
2011-10-8 9:52:42 edu.washington.cs.oneswarm.ui.gwt.server.handlers.MultiHandler initializeServletHandler
????????: initializing UI service impl...
logging disabled (no log file: C:\Program Files\OneSwarm\logging.properties)
2011-10-8 9:52:42 edu.washington.cs.oneswarm.ui.gwt.server.PreviewImageGenerator
????????: started preview image generator servlet (PreviewImageGenerator)
2011-10-08 09:52:42.453::INFO: jetty-6.1.x
2011-10-08 09:52:42.500::INFO: Started [email protected]:29615
2011-10-8 9:52:42 edu.washington.cs.oneswarm.ui.gwt.server.community.CommunityServerManager loadCertificateHashes
????????: community_server_hashes file does not exist.
2011-10-8 9:52:42 edu.washington.cs.oneswarm.ui.gwt.server.community.CommunityServerManager$RefreshCommunityServerTask run
????????: Refreshing community server: https://oneswarm-support.appspot.com/
2011-10-8 9:52:42 edu.washington.cs.oneswarm.ui.gwt.OsgwtuiMain initialize
????????: PlanetLab classes not found -- not running in experimental mode.
getting os az mods version: 3.0.5.0.7502
OSF2FMain: 2203 ms:: creating friend connector
OSF2FMain: 2297 ms:: crating lan friend finder
OSF2FMain: 2312 ms:: friendConnector dependent init completed
Checking for updates: AZVersion=0.7.5.0 ModsVersion=3.0.5.0.7502
no update required
2011-10-8 9:52:46 edu.washington.cs.oneswarm.f2f.FileListManager generateOwnLists
????????: created own file list: num swarms=0 time=0
java.net.SocketTimeoutException: connect timed out
2011-10-8 9:52:58 edu.washington.cs.oneswarm.ui.gwt.server.community.KeyPublishOp doOp
????????: Requesting community friend update: https://oneswarm-support.appspot.com/?base64key=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCMFWriR5%2BkwjiMBifE9jxKcNOdB4gVCCqD7ycwRgXY%2BLLZquhLWVKPI2gI8GutE4p0ACeS5ma4VNZHrKVFaKYy1nj0K4kXgFHw5XidaDgF1xWEr1nWfCIWXmwzepsI4OStNYmo7kNxpwsjeHPl12vW%2FvdFBqQxYYl3cNPxJ7LVgQIDAQAB
java.net.SocketTimeoutException: connect timed out
at java.net.TwoStacksPlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source)
at edu.washington.cs.oneswarm.ui.gwt.server.community.CommunityServerOperation.getConnection(CommunityServerOperation.java:483)
at edu.washington.cs.oneswarm.ui.gwt.server.community.CommunityServerOperation.getConnection(CommunityServerOperation.java:422)
at edu.washington.cs.oneswarm.ui.gwt.server.community.CommunityServerOperation.getConnection(CommunityServerOperation.java:417)
at edu.washington.cs.oneswarm.ui.gwt.server.community.CommunityServerOperation.getConnection(CommunityServerOperation.java:413)
at edu.washington.cs.oneswarm.ui.gwt.server.community.KeyPublishOp.doOp(KeyPublishOp.java:96)
at edu.washington.cs.oneswarm.ui.gwt.server.community.CommunityServerOperation.run(CommunityServerOperation.java:90)
at edu.washington.cs.oneswarm.ui.gwt.server.community.CommunityServerManager$RefreshCommunityServerTask.run(CommunityServerManager.java:281)
at edu.washington.cs.oneswarm.ui.gwt.server.community.CommunityServerManager.run(CommunityServerManager.java:316)
2011-10-8 9:53:13 edu.washington.cs.oneswarm.ui.gwt.server.community.KeyPublishOp doOp
????????: java.net.SocketTimeoutException: connect timed out
2011-10-8 9:54:29 edu.washington.cs.oneswarm.ui.gwt.server.handlers.MultiHandler putCookie
????????: Adding cookie: YV37PI3WK4CTE5PT4PWMA3WCFZVZBE3G
2011-10-8 9:54:29 edu.washington.cs.oneswarm.ui.gwt.server.handlers.MultiHandler putCookie
????????: Adding cookie: YV37PI3WK4CTE5PT4PWMA3WCFZVZBE3G
2011-10-08 09:55:05.453:/:WARN: edu.washington.cs.oneswarm.ui.gwt.server.OneSwarmUIServiceImpl-19171705: ERROR: The serialization policy file '/oneswarmgwt/4F0E8135130891D05B25AACF11E17EA8.gwt.rpc' was not found; did you forget to include it in this deployment?
2011-10-08 09:55:05.453:/:WARN: edu.washington.cs.oneswarm.ui.gwt.server.OneSwarmUIServiceImpl-19171705: ERROR: The serialization policy file '/oneswarmgwt/4F0E8135130891D05B25AACF11E17EA8.gwt.rpc' was not found; did you forget to include it in this deployment?
2011-10-08 09:55:05.453:/:WARN: edu.washington.cs.oneswarm.ui.gwt.server.OneSwarmUIServiceImpl-19171705: WARNING: Failed to get the SerializationPolicy '4F0E8135130891D05B25AACF11E17EA8' for module 'http://127.0.0.1:29615/oneswarmgwt/'; a legacy, 1.3.3 compatible, serialization policy will be used. You may experience SerializationExceptions as a result.
2011-10-08 09:55:05.453:/:WARN: edu.washington.cs.oneswarm.ui.gwt.server.OneSwarmUIServiceImpl-19171705: WARNING: Failed to get the SerializationPolicy '4F0E8135130891D05B25AACF11E17EA8' for module 'http://127.0.0.1:29615/oneswarmgwt/'; a legacy, 1.3.3 compatible, serialization policy will be used. You may experience SerializationExceptions as a result.
Azureus Update Support 1.8.8
Azureus Update Support 1.8.8
Azureus Updater Support Patcher 1.8.8
Azureus Updater Support Patcher 1.8.8
Start/Stop Rules 1.0
Start/Stop Rules 1.0
Download Remove Rules 1.0
Download Remove Rules 1.0
Share Hoster 1.0
Share Hoster 1.0
Plugin Updater 1.0
Plugin Updater 1.0
Client ID 1.0
Client ID 1.0
Universal Plug and Play (UPnP) 1.0
Universal Plug and Play (UPnP) 1.0
Distributed DB 1.0
Distributed Tracker 1.0
Magnet URI Handler 1.0
Distributed DB 1.0
Core Updater 0.7.5.0
Distributed Tracker 1.0
Core Patcher (level=2) 1.0
Magnet URI Handler 1.0
Platform-Specific Support 1.13
Core Updater 0.7.5.0
External Seed 1.0
Core Patcher (level=2) 1.0
Platform-Specific Support 1.13
LAN Peer Finder 1.0
External Seed 1.0
Network Status 1.0
LAN Peer Finder 1.0
edu.washington.cs.oneswarm.f2f.OSF2FPlugin null
Network Status 1.0
edu.washington.cs.oneswarm.ui.gwt.OsgwtuiMain null
edu.washington.cs.oneswarm.f2f.OSF2FPlugin null
edu.washington.cs.oneswarm.ui.gwt.OsgwtuiMain null
DEBUG::Sat Oct 08 09:55:20 CST 2011::edu.washington.cs.oneswarm.f2f.friends.FriendImportManager::checkForNewFriends::89:
Friend request check failed: Connection timed out: connect
FriendImportManager::access$100::29,FriendImportManager$2::run::69,TimerThread::mainLoop::-1,TimerThread::run::-1
2011-10-8 9:56:11 edu.washington.cs.oneswarm.f2f.FileListManager generateOwnLists
????????: created own file list: num swarms=0 time=0
Azureus Update Support 1.8.8
Azureus Updater Support Patcher 1.8.8
Start/Stop Rules 1.0
Download Remove Rules 1.0
Share Hoster 1.0
Plugin Updater 1.0
Client ID 1.0
Universal Plug and Play (UPnP) 1.0
Distributed DB 1.0
Distributed Tracker 1.0
Magnet URI Handler 1.0
Core Updater 0.7.5.0
Core Patcher (level=2) 1.0
Platform-Specific Support 1.13
External Seed 1.0
LAN Peer Finder 1.0
Network Status 1.0
edu.washington.cs.oneswarm.f2f.OSF2FPlugin null
edu.washington.cs.oneswarm.ui.gwt.OsgwtuiMain null
2011-10-8 9:57:29 edu.washington.cs.oneswarm.f2f.network.FriendConnection connectionException
????????: (happy-bce746556): : got exception in OSF2F session (L: 172.16.175.135: 24394/(happy-bce746556)) disconnecting: transport closed (returned -1) (from: java.io.IOException: transport closed (returned -1))
2011-10-8 9:57:41 edu.washington.cs.oneswarm.f2f.network.SearchManager$RotatingBloomFilter rotate
????????: Rotating bloom filter: objects=0 predicted false positive rate=0.0%
2011-10-8 9:58:06 edu.washington.cs.oneswarm.MetaInfoPruner load_active_hashes
????????: couldn't load metainfo access times!
java.io.FileNotFoundException: C:\Documents and Settings\dell\Application Data\OneSwarm\metainfo\accesses.properties (??????????????????????????¨????????????????)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(Unknown Source)
at java.io.FileInputStream.(Unknown Source)
at edu.washington.cs.oneswarm.MetaInfoPruner.load_active_hashes(MetaInfoPruner.java:53)
at edu.washington.cs.oneswarm.MetaInfoPruner.(MetaInfoPruner.java:45)
at edu.washington.cs.oneswarm.MetaInfoPruner.(MetaInfoPruner.java:36)
at edu.washington.cs.oneswarm.ui.gwt.server.StatelessSwarmFilter$2.friendConnected(StatelessSwarmFilter.java:146)
at edu.washington.cs.oneswarm.f2f.network.OverlayManager.notifyConnectionListeners(OverlayManager.java:488)
at edu.washington.cs.oneswarm.f2f.network.OverlayManager.access$1000(OverlayManager.java:57)
at edu.washington.cs.oneswarm.f2f.network.OverlayManager$FriendConnectionListener.handshakeCompletedFully(OverlayManager.java:771)
at edu.washington.cs.oneswarm.f2f.network.FriendConnection$FileListRequestHandler.notifyListenerComplete(FriendConnection.java:1711)
at edu.washington.cs.oneswarm.f2f.network.FriendConnection$FileListRequestHandler.handleFileListResponse(FriendConnection.java:1674)
at edu.washington.cs.oneswarm.f2f.network.FriendConnection.handleTextSearchReponse(FriendConnection.java:1079)
at edu.washington.cs.oneswarm.f2f.network.FriendConnection.access$3100(FriendConnection.java:72)
at edu.washington.cs.oneswarm.f2f.network.FriendConnection$IncomingQueueListener.messageReceived(FriendConnection.java:1819)
at com.aelitis.azureus.core.networkmanager.impl.IncomingMessageQueueImpl.receiveFromTransport(IncomingMessageQueueImpl.java:137)
at com.aelitis.azureus.core.networkmanager.impl.SinglePeerDownloader.doProcessing(SinglePeerDownloader.java:76)
at com.aelitis.azureus.core.networkmanager.impl.ReadController.doRead(ReadController.java:293)
at com.aelitis.azureus.core.networkmanager.impl.ReadController.doNormalPriorityRead(ReadController.java:247)
at com.aelitis.azureus.core.networkmanager.impl.ReadController.readProcessorLoop(ReadController.java:228)
at com.aelitis.azureus.core.networkmanager.impl.ReadController.access$200(ReadController.java:43)
at com.aelitis.azureus.core.networkmanager.impl.ReadController$2.runSupport(ReadController.java:88)
at org.gudy.azureus2.core3.util.AEThread.run(AEThread.java:71)
DEBUG::Sat Oct 08 09:58:18 CST 2011::com.aelitis.azureus.core.peermanager.piecepicker.impl.PiecePickerImpl::computeBasePriorities::1321:
java.lang.ArithmeticException: / by zero
at com.aelitis.azureus.core.peermanager.piecepicker.impl.PiecePickerImpl.computeBasePriorities(PiecePickerImpl.java:1255)
at com.aelitis.azureus.core.peermanager.piecepicker.impl.PiecePickerImpl.allocateRequests(PiecePickerImpl.java:971)
at org.gudy.azureus2.core3.peer.impl.control.PEPeerControlImpl.schedule(PEPeerControlImpl.java:548)
at com.aelitis.azureus.core.peermanager.control.impl.PeerControlSchedulerPrioritised$instanceWrapper.schedule(PeerControlSchedulerPrioritised.java:301)
at com.aelitis.azureus.core.peermanager.control.impl.PeerControlSchedulerPrioritised.schedule(PeerControlSchedulerPrioritised.java:124)
at com.aelitis.azureus.core.peermanager.control.impl.PeerControlSchedulerImpl$1.run(PeerControlSchedulerImpl.java:94)
at org.gudy.azureus2.core3.util.AEThread2$threadWrapper.run(AEThread2.java:202)
2011-10-8 9:58:21 edu.washington.cs.oneswarm.f2f.FileListManager generateOwnLists
????????: created own file list: num swarms=0 time=0
It would be quite cool to be able to have a OneSwarm installed on a laptop that helps the transfer of currently transferring files.
The following use case :
How this is technically possible I have no idea, but it would be really cool and useful.
Discussion on this feature can be seen here : http://forum.oneswarm.org/topic/1543
the properties files in oneswarm_gwt_ui/src/edu/washington/cs/oneswarm/ui/gwt/client/i18n
improving ux
The Xvfb trick to get oneswarm running works, but I am on the impression that it doesn't automatically rescan for new files, it seems that this action is triggered by opening the web page.
In my opinion, cover art in MP4 files should be used instead of a thumbnail that is generated from the video itself. For M4A files (= MP4s with a different suffix) this is already done, so it should not be that hard. (There are probably not that many videos with custom thumbnails but I like having a meaningful preview image instead of a randomly chosen one).
In the appengine community server:
If the request comes from a tor exit node or from a planetlab node (that is not us), return only our planetlab nodes, and report to analytics that the event occurred.
Impl idea: Set a special header on cs request if they are from our planetlab machines.
Have a cron job that pulls a list of planetlab nodes from:
http://www.planet-lab.org/xml/sites.xml
Tor nodes from:
http://torstatus.blutmagie.de/ip_list_exit.php
In the public community server: block all planetlab and tor ips.
bind error on restart of client, force reboot to fix.
start program
end to end:
instead of just modified
d
Have a continuos overlay ping between all planetlab nodes. Measure channel setup delay and channel message delay. Report to analytics.
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.