Code Monkey home page Code Monkey logo

d2rm's Introduction

#DOTA 2 Replay Manager

Current status (April 2016)

This project hasn't been in active development since Valve announced their reborn client (which included some of the features found in this replay manager).

I have not had the time to develop this actively but I may dedicate some time to updating the application if there's enough demand. I will guage interest by looking at the issue tracker (please keep discussion to issue #27).

Description

DOTA 2 Replay Manager (D2RM) is an application for Windows, Mac and Linux that lets you parse and manage your DOTA 2 replays. It requires no sign up, displays no ads and is 100% safe.

screenshot

Download v0.3.0 (stable releases, prebuilt binaries)

  • Windows
  • Linux 32
  • Linux 64
  • Mac OSX binaries are not available because I don't have access to a mac in order to rebuild some native node modules.

How does it work?

D2RM is a program which is designed to be your own personal dotabuff replacement. That's right, you no longer have to share your data with 3rd party entities to access detailed statistics. Take control of your stats! You can track multiple players, the application will first try to fetch player data using the web API and then the client if it. It can even track your own MMR! Not only does it allow you to track multiple players' matches (yes, including pro players), it also provides you with the ability to save, manage and watch your replays! But wait, that's not all. The best part is that it has the ability to parse your replays and provide you with detailed stats about your matches including your purchases, skill builds, gold and xp graphs and much much more. And the best part is: it's completely FREE!

Donations

Want to donate to D2RM? Click here

Future Development

Future development will be dependant on your support. I would love to keep working on this application and keep improving it but I cannot do so alone without your donations. Without donations, if you would like to contribute, feel free to make a pull request and I will gladly implement it. Other than that, I will only be fixing issues that I run across personally. If you decide you want to release a new version based on this application I ask that you include my name (Pavel Yarmak). Do send me a message if you plan on working on this application as perhaps we could collaborate.

Contribute

  • Submit a pull request
  • Email me at dota2replaymanager (at) gmail.com

Acknowledgements

  • Parser powered by clarity.
  • Initial idea and code inspired by YASP.
  • Application GUI shell inspired by Atraci.

d2rm's People

Contributors

pyarmak 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

d2rm's Issues

application is disregarding font, window decoration, window colour and toolkit behaviour settings

Not a single aspect of the application concurs with the settings I made that govern the look and feel of my desktop applications. Apparently the toolkit of choice does not even read the settings.

Most notably, the font size is so small that it is very uncomfortable to read. There are tweening animations for certain UI elements, even though I disabled animations because I find them distracting. The window does not have the correct window decoration or window colours either.

screenshots: UI sample, application

Issues while parsing durring initial sync

Dota.log:

2015-02-18T01:23:59.430Z - info: [API] Attempt 1/10: Error getting data, retrying
2015-02-18T01:23:59.432Z - info: [API] URL: https://api.steampowered.com/IEconDOTA2_570/GetHeroes/v0001/?language=en-us&key=8F6177DF77DBF92BA64508198ED6F33E
2015-02-18T01:27:16.277Z - info: [CONSTANTS] updated constants
2015-02-18T01:27:16.552Z - info: [BACKEND] Scraping full match history
2015-02-18T01:27:16.573Z - info: [DOTA] Scraping MMR history
2015-02-18T01:27:18.374Z - info: [STEAM] Logged on.
2015-02-18T01:27:18.377Z - info: [STEAM] Received servers.
2015-02-18T01:27:24.812Z - info: [DOTA] Finished scraping MMR history from the client.
2015-02-18T01:27:24.812Z - info: [BACKEND] Fetching players' histories
2015-02-18T01:27:24.836Z - info: [BACKEND] Parsing unparsed matches
2015-02-18T01:27:24.836Z - info: [BACKEND] Scraping tracked player information
2015-02-18T01:27:24.837Z - info: [PARSER] match 1248620368
2015-02-18T01:27:24.837Z - info: [PARSER] found local replay for match 1248620368
2015-02-18T01:27:24.837Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1248620368.dem
2015-02-18T01:27:27.305Z - info: [BACKEND] Scraping full match history
2015-02-18T01:27:27.318Z - info: [DOTA] Scraping MMR history
2015-02-18T01:27:27.620Z - info: [DOTA] Finished scraping MMR history from the client.
2015-02-18T01:27:27.620Z - info: [BACKEND] Fetching players' histories
2015-02-18T01:27:27.636Z - info: [BACKEND] Parsing unparsed matches
2015-02-18T01:27:27.636Z - info: [BACKEND] Scraping tracked player information
2015-02-18T01:27:34.961Z - info: [PARSER] Finished parsing 1248620368
2015-02-18T01:27:34.976Z - info: [PARSER] match 1234982178
2015-02-18T01:27:34.976Z - info: [PARSER] found local replay for match 1234982178
2015-02-18T01:27:34.976Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1234982178.dem
2015-02-18T01:27:57.954Z - info: [PARSER] Finished parsing 1234982178
2015-02-18T01:27:57.968Z - info: [PARSER] match 1242494513
2015-02-18T01:27:57.969Z - info: [PARSER] found local replay for match 1242494513
2015-02-18T01:27:57.969Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1242494513.dem
2015-02-18T01:28:24.069Z - info: [CONSTANTS] updated constants
2015-02-18T01:28:24.428Z - info: [BACKEND] Scraping full match history
2015-02-18T01:28:24.450Z - info: [DOTA] Scraping MMR history
2015-02-18T01:28:27.607Z - info: [STEAM] Logged on.
2015-02-18T01:28:27.610Z - info: [STEAM] Received servers.
2015-02-18T01:28:34.541Z - info: [DOTA] Finished scraping MMR history from the client.
2015-02-18T01:28:34.541Z - info: [BACKEND] Fetching players' histories
2015-02-18T01:28:34.569Z - info: [BACKEND] Parsing unparsed matches
2015-02-18T01:28:34.569Z - info: [BACKEND] Scraping tracked player information
2015-02-18T01:28:34.578Z - info: [PARSER] match 1242494513
2015-02-18T01:28:34.578Z - info: [PARSER] found local replay for match 1242494513
2015-02-18T01:28:34.578Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1242494513.dem
2015-02-18T01:28:39.314Z - info: [PARSER] Finished parsing 1242494513
2015-02-18T01:28:39.324Z - info: [PARSER] match 1230489447
2015-02-18T01:28:39.324Z - info: [DOTA] requesting replay 1230489447
2015-02-18T01:28:40.012Z - info: [PARSER] downloading from http://replay124.valve.net/570/1230489447_1730100563.dem.bz2
2015-02-18T01:28:41.004Z - error: [PARSER] failed to download from http://replay124.valve.net/570/1230489447_1730100563.dem.bz2
2015-02-18T01:28:41.004Z - error: [PARSER] Error for match 1230489447: DOWNLOAD TIMEOUT
2015-02-18T01:28:41.005Z - error: [PARSER] Error: "DOWNLOAD TIMEOUT"
2015-02-18T01:28:41.005Z - info: [PARSER] match 1245257533
2015-02-18T01:28:41.005Z - info: [PARSER] found local replay for match 1245257533
2015-02-18T01:28:41.005Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1245257533.dem
2015-02-18T01:28:46.889Z - info: [PARSER] Finished parsing 1245257533
2015-02-18T01:28:46.898Z - info: [PARSER] match 1235605612
2015-02-18T01:28:46.898Z - info: [PARSER] found local replay for match 1235605612
2015-02-18T01:28:46.898Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1235605612.dem
2015-02-18T01:28:53.844Z - info: [PARSER] Finished parsing 1235605612
2015-02-18T01:28:53.853Z - info: [PARSER] match 1246069772
2015-02-18T01:28:53.853Z - info: [PARSER] found local replay for match 1246069772
2015-02-18T01:28:53.853Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1246069772.dem
2015-02-18T01:28:59.630Z - info: [PARSER] Finished parsing 1246069772
2015-02-18T01:28:59.641Z - info: [PARSER] match 1242954093
2015-02-18T01:28:59.642Z - info: [DOTA] requesting replay 1242954093
2015-02-18T01:29:00.307Z - info: [PARSER] downloading from http://replay112.valve.net/570/1242954093_294278949.dem.bz2
2015-02-18T01:29:15.190Z - info: [CONSTANTS] updated constants
2015-02-18T01:29:15.448Z - info: [BACKEND] Scraping full match history
2015-02-18T01:29:15.480Z - info: [DOTA] Scraping MMR history
2015-02-18T01:29:17.644Z - info: [STEAM] Logged on.
2015-02-18T01:29:17.648Z - info: [STEAM] Received servers.
2015-02-18T01:29:24.423Z - info: [DOTA] Finished scraping MMR history from the client.
2015-02-18T01:29:24.424Z - info: [BACKEND] Fetching players' histories
2015-02-18T01:29:24.445Z - info: [BACKEND] Parsing unparsed matches
2015-02-18T01:29:24.445Z - info: [BACKEND] Scraping tracked player information
2015-02-18T01:29:24.446Z - info: [PARSER] match 1248620368
2015-02-18T01:29:24.447Z - info: [DOTA] requesting replay 1248620368
2015-02-18T01:29:25.186Z - info: [PARSER] downloading from http://replay112.valve.net/570/1248620368_367289592.dem.bz2
2015-02-18T01:29:52.126Z - info: [PARSER] downloaded & decompressed replay for match 1248620368
2015-02-18T01:29:52.128Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1248620368.dem
2015-02-18T01:29:59.648Z - info: [PARSER] Finished parsing 1248620368
2015-02-18T01:29:59.663Z - info: [PARSER] match 1230489447
2015-02-18T01:29:59.664Z - info: [DOTA] requesting replay 1230489447
2015-02-18T01:30:00.169Z - info: [PARSER] downloading from http://replay124.valve.net/570/1230489447_1730100563.dem.bz2
2015-02-18T01:30:01.115Z - error: [PARSER] failed to download from http://replay124.valve.net/570/1230489447_1730100563.dem.bz2
2015-02-18T01:30:01.115Z - error: [PARSER] Error for match 1230489447: DOWNLOAD TIMEOUT
2015-02-18T01:30:01.115Z - error: [PARSER] Error: "DOWNLOAD TIMEOUT"
2015-02-18T01:30:01.116Z - info: [PARSER] match 1242954093
2015-02-18T01:30:01.116Z - info: [DOTA] requesting replay 1242954093
2015-02-18T01:30:01.812Z - info: [PARSER] downloading from http://replay112.valve.net/570/1242954093_294278949.dem.bz2
2015-02-18T01:48:08.860Z - info: [CONSTANTS] updated constants
2015-02-18T01:48:09.213Z - info: [BACKEND] Scraping full match history
2015-02-18T01:48:09.250Z - info: [DOTA] Scraping MMR history
2015-02-18T01:48:10.939Z - info: [STEAM] Logged on.
2015-02-18T01:48:10.943Z - info: [STEAM] Received servers.
2015-02-18T01:48:17.508Z - info: [DOTA] Finished scraping MMR history from the client.
2015-02-18T01:48:17.508Z - info: [BACKEND] Fetching players' histories
2015-02-18T01:48:17.530Z - info: [BACKEND] Parsing unparsed matches
2015-02-18T01:48:17.530Z - info: [BACKEND] Scraping tracked player information
2015-02-18T01:48:17.532Z - info: [PARSER] match 1242494513
2015-02-18T01:48:17.532Z - info: [DOTA] requesting replay 1242494513
2015-02-18T01:48:18.162Z - info: [PARSER] downloading from http://replay123.valve.net/570/1242494513_750619608.dem.bz2
2015-02-18T01:48:27.477Z - info: [PARSER] downloaded & decompressed replay for match 1242494513
2015-02-18T01:48:27.479Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1242494513.dem
2015-02-18T01:48:33.224Z - info: [PARSER] Finished parsing 1242494513
2015-02-18T01:48:33.234Z - info: [PARSER] match 1230489447
2015-02-18T01:48:33.236Z - info: [DOTA] requesting replay 1230489447
2015-02-18T01:48:33.712Z - info: [PARSER] downloading from http://replay124.valve.net/570/1230489447_1730100563.dem.bz2
2015-02-18T01:48:34.469Z - error: [PARSER] failed to download from http://replay124.valve.net/570/1230489447_1730100563.dem.bz2
2015-02-18T01:48:34.469Z - error: [PARSER] Error for match 1230489447: DOWNLOAD TIMEOUT
2015-02-18T01:48:34.470Z - error: [PARSER] Error: "DOWNLOAD TIMEOUT"
2015-02-18T01:48:34.470Z - info: [PARSER] match 1245257533
2015-02-18T01:48:34.471Z - info: [DOTA] requesting replay 1245257533
2015-02-18T01:48:34.957Z - info: [PARSER] downloading from http://replay124.valve.net/570/1245257533_666668594.dem.bz2
2015-02-18T01:49:15.230Z - info: [PARSER] downloaded & decompressed replay for match 1245257533
2015-02-18T01:49:15.232Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1245257533.dem
2015-02-18T01:49:25.419Z - info: [CONSTANTS] updated constants
2015-02-18T01:49:25.692Z - info: [BACKEND] Scraping full match history
2015-02-18T01:49:25.720Z - info: [DOTA] Scraping MMR history
2015-02-18T01:49:27.800Z - info: [STEAM] Logged on.
2015-02-18T01:49:27.804Z - info: [STEAM] Received servers.
2015-02-18T01:49:37.427Z - info: [CONSTANTS] updated constants
2015-02-18T01:49:37.703Z - info: [BACKEND] Scraping full match history
2015-02-18T01:49:37.738Z - info: [DOTA] Scraping MMR history
2015-02-18T01:49:39.896Z - info: [STEAM] Logged on.
2015-02-18T01:49:39.899Z - info: [STEAM] Received servers.
2015-02-18T01:49:46.772Z - info: [DOTA] Finished scraping MMR history from the client.
2015-02-18T01:49:46.773Z - info: [BACKEND] Fetching players' histories
2015-02-18T01:49:46.802Z - info: [BACKEND] Parsing unparsed matches
2015-02-18T01:49:46.802Z - info: [BACKEND] Scraping tracked player information
2015-02-18T01:49:46.803Z - info: [PARSER] match 1248620368
2015-02-18T01:49:46.804Z - info: [DOTA] requesting replay 1248620368
2015-02-18T01:49:47.371Z - info: [PARSER] downloading from http://replay112.valve.net/570/1248620368_367289592.dem.bz2
2015-02-18T01:50:09.051Z - info: [PARSER] downloaded & decompressed replay for match 1248620368
2015-02-18T01:50:09.053Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1248620368.dem
2015-02-18T01:50:16.602Z - info: [PARSER] Finished parsing 1248620368
2015-02-18T01:50:16.616Z - info: [PARSER] match 1230489447
2015-02-18T01:50:16.618Z - info: [DOTA] requesting replay 1230489447
2015-02-18T01:50:18.073Z - info: [PARSER] downloading from http://replay124.valve.net/570/1230489447_1730100563.dem.bz2
2015-02-18T01:50:19.229Z - error: [PARSER] failed to download from http://replay124.valve.net/570/1230489447_1730100563.dem.bz2
2015-02-18T01:50:19.229Z - error: [PARSER] Error for match 1230489447: DOWNLOAD TIMEOUT
2015-02-18T01:50:19.230Z - error: [PARSER] Error: "DOWNLOAD TIMEOUT"
2015-02-18T01:50:19.230Z - info: [PARSER] match 1245257533
2015-02-18T01:50:19.231Z - info: [PARSER] found local replay for match 1245257533
2015-02-18T01:50:19.231Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1245257533.dem
2015-02-18T01:50:25.443Z - info: [PARSER] Finished parsing 1245257533
2015-02-18T01:50:25.449Z - info: [PARSER] match 1246069772
2015-02-18T01:50:25.454Z - info: [DOTA] requesting replay 1246069772
2015-02-18T01:50:26.020Z - info: [PARSER] downloading from http://replay112.valve.net/570/1246069772_1382939826.dem.bz2
2015-02-18T01:50:57.786Z - info: [PARSER] downloaded & decompressed replay for match 1246069772
2015-02-18T01:50:57.788Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1246069772.dem
2015-02-18T01:51:03.995Z - info: [PARSER] Finished parsing 1246069772
2015-02-18T01:51:04.008Z - info: [PARSER] match 1242954093
2015-02-18T01:51:04.010Z - info: [DOTA] requesting replay 1242954093
2015-02-18T01:51:04.765Z - info: [PARSER] downloading from http://replay112.valve.net/570/1242954093_294278949.dem.bz2
2015-02-18T01:51:27.725Z - info: [PARSER] downloaded & decompressed replay for match 1242954093
2015-02-18T01:51:27.727Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1242954093.dem
2015-02-18T01:51:34.528Z - info: [PARSER] Finished parsing 1242954093
2015-02-18T01:51:34.547Z - info: [PARSER] match 751298009
2015-02-18T01:51:34.550Z - error: [PARSER] Match 751298009 is too old
2015-02-18T01:51:34.550Z - info: [PARSER] match 764404650
2015-02-18T01:51:34.551Z - error: [PARSER] Match 764404650 is too old
2015-02-18T01:51:34.551Z - info: [PARSER] match 749131270
2015-02-18T01:51:34.552Z - error: [PARSER] Match 749131270 is too old
2015-02-18T01:51:34.552Z - info: [PARSER] match 1215476551
2015-02-18T01:51:34.552Z - error: [PARSER] Match 1215476551 is too old
2015-02-18T01:51:34.553Z - info: [PARSER] match 771656868
2015-02-18T01:51:34.553Z - error: [PARSER] Match 771656868 is too old
2015-02-18T01:51:34.553Z - info: [PARSER] match 775495054
2015-02-18T01:51:34.553Z - error: [PARSER] Match 775495054 is too old
2015-02-18T01:51:34.553Z - info: [PARSER] match 747379378
2015-02-18T01:51:34.554Z - error: [PARSER] Match 747379378 is too old
2015-02-18T01:51:34.554Z - info: [PARSER] match 755041864
2015-02-18T01:51:34.554Z - error: [PARSER] Match 755041864 is too old
2015-02-18T01:51:34.554Z - info: [PARSER] match 749333910
2015-02-18T01:51:34.554Z - error: [PARSER] Match 749333910 is too old
2015-02-18T01:51:34.555Z - info: [PARSER] match 767817777
2015-02-18T01:51:34.555Z - error: [PARSER] Match 767817777 is too old
2015-02-18T01:51:34.555Z - info: [PARSER] match 762127574
2015-02-18T01:51:34.555Z - error: [PARSER] Match 762127574 is too old
2015-02-18T01:51:34.555Z - info: [PARSER] match 1220834769
2015-02-18T01:51:34.556Z - error: [PARSER] Match 1220834769 is too old
2015-02-18T01:51:34.556Z - info: [PARSER] match 743220990
2015-02-18T01:51:34.556Z - error: [PARSER] Match 743220990 is too old
2015-02-18T01:51:34.556Z - info: [PARSER] match 769972864
2015-02-18T01:51:34.556Z - error: [PARSER] Match 769972864 is too old
2015-02-18T01:51:34.557Z - info: [PARSER] match 1223269772
2015-02-18T01:51:34.557Z - error: [PARSER] Match 1223269772 is too old
2015-02-18T01:51:34.557Z - info: [PARSER] match 1212935379
2015-02-18T01:51:34.557Z - error: [PARSER] Match 1212935379 is too old
2015-02-18T01:51:34.557Z - info: [PARSER] match 1236100780
2015-02-18T01:51:34.558Z - info: [PARSER] found local replay for match 1236100780
2015-02-18T01:51:34.558Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1236100780.dem
2015-02-18T01:51:39.831Z - info: [PARSER] Finished parsing 1236100780
2015-02-18T01:51:39.845Z - info: [PARSER] match 1136721490
2015-02-18T01:51:39.845Z - error: [PARSER] Match 1136721490 is too old
2015-02-18T01:51:39.845Z - info: [PARSER] match 1225937999
2015-02-18T01:51:39.846Z - error: [PARSER] Match 1225937999 is too old
2015-02-18T01:51:39.846Z - info: [PARSER] match 759214372
2015-02-18T01:51:39.846Z - error: [PARSER] Match 759214372 is too old
2015-02-18T01:51:39.847Z - info: [PARSER] match 767921471
2015-02-18T01:51:39.847Z - error: [PARSER] Match 767921471 is too old
2015-02-18T01:51:39.847Z - info: [PARSER] match 747835362
2015-02-18T01:51:39.847Z - error: [PARSER] Match 747835362 is too old
2015-02-18T01:51:39.847Z - info: [PARSER] match 1220954475
2015-02-18T01:51:39.848Z - info: [PARSER] found local replay for match 1220954475
2015-02-18T01:51:39.848Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1220954475.dem
2015-02-18T01:51:46.478Z - info: [PARSER] Finished parsing 1220954475
2015-02-18T01:51:46.496Z - info: [PARSER] match 746217974
2015-02-18T01:51:46.497Z - error: [PARSER] Match 746217974 is too old
2015-02-18T01:51:46.498Z - info: [PARSER] match 754645020
2015-02-18T01:51:46.498Z - error: [PARSER] Match 754645020 is too old
2015-02-18T01:51:46.498Z - info: [PARSER] match 761279222
2015-02-18T01:51:46.499Z - error: [PARSER] Match 761279222 is too old
2015-02-18T01:51:46.499Z - info: [PARSER] match 1230593380
2015-02-18T01:51:46.500Z - info: [DOTA] requesting replay 1230593380
2015-02-18T01:51:47.155Z - info: [PARSER] downloading from http://replay122.valve.net/570/1230593380_536274075.dem.bz2
2015-02-18T01:52:14.970Z - info: [PARSER] downloaded & decompressed replay for match 1230593380
2015-02-18T01:52:14.972Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\replays\1230593380.dem
2015-02-18T01:52:22.135Z - info: [PARSER] Finished parsing 1230593380
2015-02-18T01:52:22.151Z - info: [PARSER] match 1213349502
2015-02-18T01:52:22.154Z - error: [PARSER] Match 1213349502 is too old
2015-02-18T01:52:22.155Z - info: [PARSER] match 769914715
2015-02-18T01:52:22.155Z - error: [PARSER] Match 769914715 is too old
2015-02-18T01:52:22.156Z - info: [PARSER] match 743834041
2015-02-18T01:52:22.156Z - error: [PARSER] Match 743834041 is too old
2015-02-18T01:52:22.156Z - info: [PARSER] match 767845454
2015-02-18T01:52:22.157Z - error: [PARSER] Match 767845454 is too old
2015-02-18T01:52:22.157Z - info: [PARSER] match 1220731257
2015-02-18T01:52:22.157Z - error: [PARSER] Match 1220731257 is too old
2015-02-18T01:52:22.158Z - info: [PARSER] match 775105280
2015-02-18T01:52:22.158Z - error: [PARSER] Match 775105280 is too old
2015-02-18T01:52:22.159Z - info: [PARSER] match 743319321
2015-02-18T01:52:22.159Z - error: [PARSER] Match 743319321 is too old
2015-02-18T01:52:22.159Z - info: [PARSER] match 764484920
2015-02-18T01:52:22.159Z - error: [PARSER] Match 764484920 is too old
2015-02-18T01:52:22.160Z - info: [PARSER] match 756988048
2015-02-18T01:52:22.160Z - error: [PARSER] Match 756988048 is too old
2015-02-18T01:52:22.161Z - info: [PARSER] match 767783184
2015-02-18T01:52:22.161Z - error: [PARSER] Match 767783184 is too old
2015-02-18T01:52:22.162Z - info: [PARSER] match 1142653476
2015-02-18T01:52:22.162Z - error: [PARSER] Match 1142653476 is too old
2015-02-18T01:52:22.162Z - info: [PARSER] match 742484522
2015-02-18T01:52:22.163Z - error: [PARSER] Match 742484522 is too old
2015-02-18T01:52:22.163Z - info: [PARSER] match 772025608
2015-02-18T01:52:22.163Z - error: [PARSER] Match 772025608 is too old
2015-02-18T01:52:22.164Z - info: [PARSER] match 761060902
2015-02-18T01:52:22.164Z - error: [PARSER] Match 761060902 is too old
2015-02-18T01:52:22.164Z - info: [PARSER] match 766122896
2015-02-18T01:52:22.165Z - error: [PARSER] Match 766122896 is too old
2015-02-18T01:52:22.165Z - info: [PARSER] match 740273138
2015-02-18T01:52:22.165Z - error: [PARSER] Match 740273138 is too old
2015-02-18T01:52:22.166Z - info: [PARSER] match 747472506
2015-02-18T01:52:22.166Z - error: [PARSER] Match 747472506 is too old
2015-02-18T01:52:22.166Z - info: [PARSER] match 743736122
2015-02-18T01:52:22.166Z - error: [PARSER] Match 743736122 is too old
2015-02-18T01:52:22.167Z - info: [PARSER] match 776748318
2015-02-18T01:52:22.167Z - error: [PARSER] Match 776748318 is too old
2015-02-18T01:52:22.168Z - info: [PARSER] match 762281724
2015-02-18T01:52:22.168Z - error: [PARSER] Match 762281724 is too old
2015-02-18T01:52:22.168Z - info: [PARSER] match 749370677
2015-02-18T01:52:22.168Z - error: [PARSER] Match 749370677 is too old
2015-02-18T01:52:22.169Z - info: [PARSER] match 1217828242
2015-02-18T01:52:22.169Z - error: [PARSER] Match 1217828242 is too old
2015-02-18T01:52:22.169Z - info: [PARSER] match 756660186
2015-02-18T01:52:22.170Z - error: [PARSER] Match 756660186 is too old
2015-02-18T01:52:22.170Z - info: [PARSER] match 1136484726
2015-02-18T01:52:22.170Z - error: [PARSER] Match 1136484726 is too old
2015-02-18T01:52:22.170Z - info: [PARSER] match 760459528
2015-02-18T01:52:22.171Z - error: [PARSER] Match 760459528 is too old
2015-02-18T01:52:22.171Z - info: [PARSER] match 774059464
2015-02-18T01:52:22.171Z - error: [PARSER] Match 774059464 is too old
2015-02-18T01:52:22.171Z - info: [PARSER] match 1223191408
2015-02-18T01:52:22.172Z - error: [PARSER] Match 1223191408 is too old
2015-02-18T01:52:22.172Z - info: [PARSER] match 766609783
2015-02-18T01:52:22.172Z - error: [PARSER] Match 766609783 is too old
2015-02-18T01:52:22.173Z - info: [PARSER] match 761414873
2015-02-18T01:52:22.173Z - error: [PARSER] Match 761414873 is too old
2015-02-18T01:52:22.173Z - info: [PARSER] match 745779526
2015-02-18T01:52:22.173Z - error: [PARSER] Match 745779526 is too old
2015-02-18T01:52:22.174Z - info: [PARSER] match 1223429262
2015-02-18T01:52:22.174Z - error: [PARSER] Match 1223429262 is too old
2015-02-18T01:52:22.174Z - info: [PARSER] match 775601226
2015-02-18T01:52:22.175Z - error: [PARSER] Match 775601226 is too old
2015-02-18T01:52:22.175Z - info: [PARSER] match 740514730
2015-02-18T01:52:22.176Z - error: [PARSER] Match 740514730 is too old
2015-02-18T01:52:22.177Z - info: [PARSER] match 745714825
2015-02-18T01:52:22.177Z - error: [PARSER] Match 745714825 is too old
2015-02-18T01:52:22.178Z - info: [PARSER] match 767740705
2015-02-18T01:52:22.178Z - error: [PARSER] Match 767740705 is too old
2015-02-18T01:52:22.178Z - info: [PARSER] match 1227958332
2015-02-18T01:52:22.179Z - error: [PARSER] Match 1227958332 is too old
2015-02-18T01:52:22.179Z - info: [PARSER] match 751740194
2015-02-18T01:52:22.179Z - error: [PARSER] Match 751740194 is too old
2015-02-18T01:52:22.180Z - info: [PARSER] match 773258914
2015-02-18T01:52:22.180Z - error: [PARSER] Match 773258914 is too old
2015-02-18T01:52:22.180Z - info: [PARSER] match 740316412
2015-02-18T01:52:22.180Z - error: [PARSER] Match 740316412 is too old
2015-02-18T01:52:22.180Z - info: [PARSER] match 769540605
2015-02-18T01:52:22.181Z - error: [PARSER] Match 769540605 is too old
2015-02-18T01:52:22.181Z - info: [PARSER] match 1228089700
2015-02-18T01:52:22.181Z - info: [DOTA] requesting replay 1228089700
2015-02-18T01:52:22.900Z - info: [PARSER] downloading from http://replay122.valve.net/570/1228089700_1508325584.dem.bz2

exceptions.log:

{"date":"Tue Feb 17 2015 20:09:48 GMT-0500 (Eastern Standard Time)","process":{"pid":9052,"uid":null,"gid":null,"cwd":"C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app","execPath":"C:\Users\Thomas Fuller\AppData\Roaming\D2RM\node-webkit\nw.exe","version":"v0.10.22","argv":["node","C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\js\node-main.js"],"memoryUsage":{"rss":206209024,"heapTotal":81683584,"heapUsed":52001852}},"os":{"loadavg":[0,0,0],"uptime":18565.1486694},"trace":[{"column":19,"file":"net.js","function":"Connection.Socket._write","line":635,"method":"Socket._write","native":false},{"column":10,"file":"_stream_writable.js","function":"doWrite","line":221,"method":null,"native":false},{"column":5,"file":"_stream_writable.js","function":"writeOrBuffer","line":211,"method":null,"native":false},{"column":11,"file":"_stream_writable.js","function":"Connection.Writable.write","line":180,"method":"Writable.write","native":false},{"column":40,"file":"net.js","function":"Connection.Socket.write","line":613,"method":"Socket.write","native":false},{"column":8,"file":"Fuller\AppData\Roaming\D2RM\app\node_modules\steam\lib\connection.js","function":"Connection.send (C:\Users\Thomas","line":24,"method":"send (C:\Users\Thomas","native":false},{"column":20,"file":"Fuller\AppData\Roaming\D2RM\app\node_modules\steam\lib\steam_client.js","function":"SteamClient._send (C:\Users\Thomas","line":70,"method":"_send (C:\Users\Thomas","native":false},{"column":8,"file":"Fuller\AppData\Roaming\D2RM\app\node_modules\steam\lib\handlers\game_coordinator.js","function":"SteamClient.prototype.toGC (C:\Users\Thomas","line":35,"method":"prototype.toGC (C:\Users\Thomas","native":false},{"column":20,"file":"Fuller\AppData\Roaming\D2RM\app\node_modules\dota2\index.js","function":"Dota2Client._sendClientHello (C:\Users\Thomas","line":49,"method":"_sendClientHello (C:\Users\Thomas","native":false},{"column":14,"file":"timers.js","function":"wrapper [as _onTimeout]","line":252,"method":null,"native":false},{"column":15,"file":"timers.js","function":"Timer.listOnTimeout [as ontimeout]","line":110,"method":"listOnTimeout [as ontimeout]","native":false}],"stack":["Error: This socket is closed."," at Connection.Socket._write (net.js:635:19)"," at doWrite (_stream_writable.js:221:10)"," at writeOrBuffer (_stream_writable.js:211:5)"," at Connection.Writable.write (_stream_writable.js:180:11)"," at Connection.Socket.write (net.js:613:40)"," at Connection.send (C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\node_modules\steam\lib\connection.js:24:8)"," at SteamClient._send (C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\node_modules\steam\lib\steam_client.js:70:20)"," at SteamClient.prototype.toGC (C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\node_modules\steam\lib\handlers\game_coordinator.js:35:8)"," at Dota2Client._sendClientHello (C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\node_modules\dota2\index.js:49:20)"," at wrapper as _onTimeout"," at Timer.listOnTimeout as ontimeout"],"level":"error","message":"uncaughtException: This socket is closed.","timestamp":"2015-02-18T01:09:48.747Z"}
{"date":"Tue Feb 17 2015 20:28:02 GMT-0500 (Eastern Standard Time)","process":{"pid":8512,"uid":null,"gid":null,"cwd":"C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app","execPath":"C:\Users\Thomas Fuller\AppData\Roaming\D2RM\node-webkit\nw.exe","version":"v0.10.22","argv":["node","C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\js\node-main.js"],"memoryUsage":{"rss":220606464,"heapTotal":108206080,"heapUsed":72781452}},"os":{"loadavg":[0,0,0],"uptime":19659.136242},"trace":[{"column":31932,"file":"app://d2rm/js/app.js","function":"a.update_flare","line":2,"method":"update_flare","native":false},{"column":826,"file":"app://d2rm/js/app.js","function":"a.init","line":3,"method":"init","native":false},{"column":14,"file":"","function":"eval (eval at (app://d2rm/js/vendor/jquery-2.1.1.min.js),","line":11,"method":"1.1.min.js),","native":false},{"column":null,"file":null,"function":"eval","line":null,"method":null,"native":true},{"column":2536,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"Function.n.extend.globalEval","line":2,"method":"n.extend.globalEval","native":false},{"column":17163,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"n.fn.extend.domManip","line":3,"method":"fn.extend.domManip","native":false},{"column":14846,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"n.fn.extend.append","line":3,"method":"fn.extend.append","native":false},{"column":16206,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"eval","line":3,"method":null,"native":false},{"column":30073,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"n.access","line":2,"method":"access","native":false},{"column":15877,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"n.fn.extend.html","line":3,"method":"fn.extend.html","native":false}],"stack":["TypeError: Cannot read property 'stat' of undefined"," at a.update_flare (app://d2rm/js/app.js:2:31932)"," at a.init (app://d2rm/js/app.js:3:826)"," at eval (eval at (app://d2rm/js/vendor/jquery-2.1.1.min.js), :11:14)"," at eval (native)"," at Function.n.extend.globalEval (app://d2rm/js/vendor/jquery-2.1.1.min.js:2:2536)"," at n.fn.extend.domManip (app://d2rm/js/vendor/jquery-2.1.1.min.js:3:17163)"," at n.fn.extend.append (app://d2rm/js/vendor/jquery-2.1.1.min.js:3:14846)"," at eval (app://d2rm/js/vendor/jquery-2.1.1.min.js:3:16206)"," at n.access (app://d2rm/js/vendor/jquery-2.1.1.min.js:2:30073)"," at n.fn.extend.html (app://d2rm/js/vendor/jquery-2.1.1.min.js:3:15877)"],"level":"error","message":"uncaughtException: Cannot read property 'stat' of undefined","timestamp":"2015-02-18T01:28:02.737Z"}
{"date":"Tue Feb 17 2015 20:28:13 GMT-0500 (Eastern Standard Time)","process":{"pid":10928,"uid":null,"gid":null,"cwd":"C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app","execPath":"C:\Users\Thomas Fuller\AppData\Roaming\D2RM\node-webkit\nw.exe","version":"v0.10.22","argv":["node","C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\js\node-main.js"],"memoryUsage":{"rss":170958848,"heapTotal":82331904,"heapUsed":62966392}},"os":{"loadavg":[0,0,0],"uptime":19669.4788335},"trace":[{"column":31932,"file":"app://d2rm/js/app.js","function":"a.update_flare","line":2,"method":"update_flare","native":false},{"column":826,"file":"app://d2rm/js/app.js","function":"a.init","line":3,"method":"init","native":false},{"column":14,"file":"","function":"eval (eval at (app://d2rm/js/vendor/jquery-2.1.1.min.js),","line":11,"method":"1.1.min.js),","native":false},{"column":null,"file":null,"function":"eval","line":null,"method":null,"native":true},{"column":2536,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"Function.n.extend.globalEval","line":2,"method":"n.extend.globalEval","native":false},{"column":17163,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"n.fn.extend.domManip","line":3,"method":"fn.extend.domManip","native":false},{"column":14846,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"n.fn.extend.append","line":3,"method":"fn.extend.append","native":false},{"column":16206,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"eval","line":3,"method":null,"native":false},{"column":30073,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"n.access","line":2,"method":"access","native":false},{"column":15877,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"n.fn.extend.html","line":3,"method":"fn.extend.html","native":false}],"stack":["TypeError: Cannot read property 'stat' of undefined"," at a.update_flare (app://d2rm/js/app.js:2:31932)"," at a.init (app://d2rm/js/app.js:3:826)"," at eval (eval at (app://d2rm/js/vendor/jquery-2.1.1.min.js), :11:14)"," at eval (native)"," at Function.n.extend.globalEval (app://d2rm/js/vendor/jquery-2.1.1.min.js:2:2536)"," at n.fn.extend.domManip (app://d2rm/js/vendor/jquery-2.1.1.min.js:3:17163)"," at n.fn.extend.append (app://d2rm/js/vendor/jquery-2.1.1.min.js:3:14846)"," at eval (app://d2rm/js/vendor/jquery-2.1.1.min.js:3:16206)"," at n.access (app://d2rm/js/vendor/jquery-2.1.1.min.js:2:30073)"," at n.fn.extend.html (app://d2rm/js/vendor/jquery-2.1.1.min.js:3:15877)"],"level":"error","message":"uncaughtException: Cannot read property 'stat' of undefined","timestamp":"2015-02-18T01:28:13.078Z"}
{"date":"Tue Feb 17 2015 20:29:02 GMT-0500 (Eastern Standard Time)","process":{"pid":11248,"uid":null,"gid":null,"cwd":"C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app","execPath":"C:\Users\Thomas Fuller\AppData\Roaming\D2RM\node-webkit\nw.exe","version":"v0.10.22","argv":["node","C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\js\node-main.js"],"memoryUsage":{"rss":225583104,"heapTotal":106856320,"heapUsed":93972740}},"os":{"loadavg":[0,0,0],"uptime":19719.2166784},"trace":[{"column":38,"file":"","function":"eval (eval at (C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\node_modules\jade\lib\index.js),","line":705,"method":"js),","native":false},{"column":4,"file":"","function":"eval (eval at (C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\node_modules\jade\lib\index.js),","line":765,"method":"js),","native":false},{"column":4,"file":"","function":"eval (eval at (C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\node_modules\jade\lib\index.js),","line":1070,"method":"js),","native":false},{"column":22,"file":"","function":"eval (eval at (C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\node_modules\jade\lib\index.js),","line":1462,"method":"js),","native":false},{"column":38,"file":"Fuller\AppData\Roaming\D2RM\app\node_modules\jade\lib\index.js","function":"res (C:\Users\Thomas","line":186,"method":null,"native":false},{"column":25495,"file":"app://d2rm/js/app.js","function":"makeView","line":1,"method":null,"native":false},{"column":15951,"file":"app://d2rm/js/app.js","function":"eval","line":3,"method":null,"native":false},{"column":17,"file":"Fuller\AppData\Roaming\D2RM\app\node_modules\nedb\lib\executor.js","function":"callback (C:\Users\Thomas","line":30,"method":null,"native":false},{"column":12,"file":"Fuller\AppData\Roaming\D2RM\app\node_modules\nedb\lib\datastore.js","function":"Cursor.eval [as execFn](C:\Users\Thomas","line":417,"method":"eval [as execFn] %28C:\Users\Thomas","native":false},{"column":17,"file":"Fuller\AppData\Roaming\D2RM\app\node_modules\nedb\lib\cursor.js","function":"Cursor._exec %28C:\Users\Thomas","line":172,"method":"_exec %28C:\Users\Thomas","native":false}],"stack":["TypeError: Cannot read property '0' of undefined"," at eval %28eval at %28C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\node_modules\jade\lib\index.js), :705:38)"," at eval (eval at (C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\node_modules\jade\lib\index.js), :765:4)"," at eval (eval at (C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\node_modules\jade\lib\index.js), :1070:4)"," at eval (eval at (C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\node_modules\jade\lib\index.js), :1462:22)"," at res (C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\node_modules\jade\lib\index.js:186:38)"," at makeView (app://d2rm/js/app.js:1:25495)"," at eval (app://d2rm/js/app.js:3:15951)"," at callback (C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\node_modules\nedb\lib\executor.js:30:17)"," at Cursor.eval [as execFn](C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\node_modules\nedb\lib\datastore.js:417:12)"," at Cursor._exec (C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\node_modules\nedb\lib\cursor.js:172:17)"],"level":"error","message":"uncaughtException: Cannot read property '0' of undefined on line 59","timestamp":"2015-02-18T01:29:02.815Z"}
{"date":"Tue Feb 17 2015 20:49:15 GMT-0500 (Eastern Standard Time)","process":{"pid":7340,"uid":null,"gid":null,"cwd":"C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app","execPath":"C:\Users\Thomas Fuller\AppData\Roaming\D2RM\node-webkit\nw.exe","version":"v0.10.22","argv":["node","C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\js\node-main.js"],"memoryUsage":{"rss":247279616,"heapTotal":86501248,"heapUsed":85431052}},"os":{"loadavg":[0,0,0],"uptime":20931.5950224},"trace":[{"column":31932,"file":"app://d2rm/js/app.js","function":"a.update_flare","line":2,"method":"update_flare","native":false},{"column":826,"file":"app://d2rm/js/app.js","function":"a.init","line":3,"method":"init","native":false},{"column":14,"file":"","function":"eval (eval at (app://d2rm/js/vendor/jquery-2.1.1.min.js),","line":11,"method":"1.1.min.js),","native":false},{"column":null,"file":null,"function":"eval","line":null,"method":null,"native":true},{"column":2536,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"Function.n.extend.globalEval","line":2,"method":"n.extend.globalEval","native":false},{"column":17163,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"n.fn.extend.domManip","line":3,"method":"fn.extend.domManip","native":false},{"column":14846,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"n.fn.extend.append","line":3,"method":"fn.extend.append","native":false},{"column":16206,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"eval","line":3,"method":null,"native":false},{"column":30073,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"n.access","line":2,"method":"access","native":false},{"column":15877,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"n.fn.extend.html","line":3,"method":"fn.extend.html","native":false}],"stack":["TypeError: Cannot read property 'stat' of undefined"," at a.update_flare (app://d2rm/js/app.js:2:31932)"," at a.init (app://d2rm/js/app.js:3:826)"," at eval (eval at (app://d2rm/js/vendor/jquery-2.1.1.min.js), :11:14)"," at eval (native)"," at Function.n.extend.globalEval (app://d2rm/js/vendor/jquery-2.1.1.min.js:2:2536)"," at n.fn.extend.domManip (app://d2rm/js/vendor/jquery-2.1.1.min.js:3:17163)"," at n.fn.extend.append (app://d2rm/js/vendor/jquery-2.1.1.min.js:3:14846)"," at eval (app://d2rm/js/vendor/jquery-2.1.1.min.js:3:16206)"," at n.access (app://d2rm/js/vendor/jquery-2.1.1.min.js:2:30073)"," at n.fn.extend.html (app://d2rm/js/vendor/jquery-2.1.1.min.js:3:15877)"],"level":"error","message":"uncaughtException: Cannot read property 'stat' of undefined","timestamp":"2015-02-18T01:49:15.195Z"}
{"date":"Tue Feb 17 2015 20:49:29 GMT-0500 (Eastern Standard Time)","process":{"pid":11704,"uid":null,"gid":null,"cwd":"C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app","execPath":"C:\Users\Thomas Fuller\AppData\Roaming\D2RM\node-webkit\nw.exe","version":"v0.10.22","argv":["node","C:\Users\Thomas Fuller\AppData\Roaming\D2RM\app\js\node-main.js"],"memoryUsage":{"rss":181964800,"heapTotal":76953216,"heapUsed":76688316}},"os":{"loadavg":[0,0,0],"uptime":20945.4618156},"trace":[{"column":31932,"file":"app://d2rm/js/app.js","function":"a.update_flare","line":2,"method":"update_flare","native":false},{"column":826,"file":"app://d2rm/js/app.js","function":"a.init","line":3,"method":"init","native":false},{"column":14,"file":"","function":"eval (eval at (app://d2rm/js/vendor/jquery-2.1.1.min.js),","line":11,"method":"1.1.min.js),","native":false},{"column":null,"file":null,"function":"eval","line":null,"method":null,"native":true},{"column":2536,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"Function.n.extend.globalEval","line":2,"method":"n.extend.globalEval","native":false},{"column":17163,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"n.fn.extend.domManip","line":3,"method":"fn.extend.domManip","native":false},{"column":14846,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"n.fn.extend.append","line":3,"method":"fn.extend.append","native":false},{"column":16206,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"eval","line":3,"method":null,"native":false},{"column":30073,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"n.access","line":2,"method":"access","native":false},{"column":15877,"file":"app://d2rm/js/vendor/jquery-2.1.1.min.js","function":"n.fn.extend.html","line":3,"method":"fn.extend.html","native":false}],"stack":["TypeError: Cannot read property 'stat' of undefined"," at a.update_flare (app://d2rm/js/app.js:2:31932)"," at a.init (app://d2rm/js/app.js:3:826)"," at eval (eval at (app://d2rm/js/vendor/jquery-2.1.1.min.js), :11:14)"," at eval (native)"," at Function.n.extend.globalEval (app://d2rm/js/vendor/jquery-2.1.1.min.js:2:2536)"," at n.fn.extend.domManip (app://d2rm/js/vendor/jquery-2.1.1.min.js:3:17163)"," at n.fn.extend.append (app://d2rm/js/vendor/jquery-2.1.1.min.js:3:14846)"," at eval (app://d2rm/js/vendor/jquery-2.1.1.min.js:3:16206)"," at n.access (app://d2rm/js/vendor/jquery-2.1.1.min.js:2:30073)"," at n.fn.extend.html (app://d2rm/js/vendor/jquery-2.1.1.min.js:3:15877)"],"level":"error","message":"uncaughtException: Cannot read property 'stat' of undefined","timestamp":"2015-02-18T01:49:29.060Z"}

Crashes when selecting "Track Steam Account"

{"date":"Wed Jan 28 2015 22:03:38 GMT+0200 (FLE Standard Time)","process":{"pid":12552,"uid":null,"gid":null,"cwd":"C:\\Users\\os\\AppData\\Roaming\\D2RM\\app","execPath":"C:\\Users\\os\\AppData\\Roaming\\D2RM\\node-webkit\\nw.exe","version":"v0.10.22","argv":["node","C:\\Users\\os\\AppData\\Roaming\\D2RM\\app\\js\\node-main.js"],"memoryUsage":{"rss":120242176,"heapTotal":53900032,"heapUsed":35886048}},"os":{"loadavg":[0,0,0],"uptime":1350661.4135946},"trace":[{"column":32,"file":"module.js","function":"Module.load","line":359,"method":"load","native":false},{"column":12,"file":"module.js","function":"Function.Module._load","line":315,"method":"Module._load","native":false},{"column":17,"file":"module.js","function":"Module.require","line":367,"method":"require","native":false},{"column":17,"file":"module.js","function":"require","line":383,"method":null,"native":false},{"column":18,"file":"C:\\Users\\os\\AppData\\Roaming\\D2RM\\app\\node_modules\\steam\\node_modules\\ursa\\lib\\ursa.js","function":"Object.eval","line":18,"method":"eval","native":false},{"column":26,"file":"module.js","function":"Module._compile","line":459,"method":"_compile","native":false},{"column":10,"file":"module.js","function":"Object.Module._extensions..js","line":477,"method":"Module._extensions..js","native":false},{"column":32,"file":"module.js","function":"Module.load","line":359,"method":"load","native":false},{"column":12,"file":"module.js","function":"Function.Module._load","line":315,"method":"Module._load","native":false},{"column":17,"file":"module.js","function":"Module.require","line":367,"method":"require","native":false},{"column":17,"file":"module.js","function":"require","line":383,"method":null,"native":false}],"stack":["Error: The specified module could not be found.\r","C:\\Users\\os\\AppData\\Roaming\\D2RM\\app\\node_modules\\steam\\node_modules\\ursa\\bin\\ursaNative.node"," at Module.load (module.js:359:32)"," at Function.Module._load (module.js:315:12)"," at Module.require (module.js:367:17)"," at require (module.js:383:17)"," at Object.eval (C:\\Users\\os\\AppData\\Roaming\\D2RM\\app\\node_modules\\steam\\node_modules\\ursa\\lib\\ursa.js:18:18)"," at Module._compile (module.js:459:26)"," at Object.Module._extensions..js (module.js:477:10)"," at Module.load (module.js:359:32)"," at Function.Module._load (module.js:315:12)"," at Module.require (module.js:367:17)"," at require (module.js:383:17)"],"level":"error","message":"uncaughtException: The specified module could not be found.\r\nC:\\Users\\os\\AppData\\Roaming\\D2RM\\app\\node_modules\\steam\\node_modules\\ursa\\bin\\ursaNative.node","timestamp":"2015-01-28T20:03:38.370Z"}

nothing in dota.log

application is lacking versioning information

The application must provide

  • an About… dialog or similar
  • a --version command line switch

stating the version of the program.

As it is currently implemented, it is not evident at all which version of the application is installed.

application is unable to run due to outdated dependency

The application links dynamically again an old version of libudev.

/tmp/D2RM-0.3.0$ chmod +x D2RM
/tmp/D2RM-0.3.0$ ./D2RM
./D2RM: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory
/tmp/D2RM-0.3.0$ ldd ./D2RM | ack found
        libudev.so.0 => not found

OS info:

$ cat /etc/os-release
NAME=openSUSE
VERSION="13.2 (Harlequin)"
VERSION_ID="13.2"
PRETTY_NAME="openSUSE 13.2 (Harlequin) (x86_64)"
ID=opensuse
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:opensuse:13.2"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://opensuse.org/"
ID_LIKE="suse"

Rebuild the application to depend on libudev.so.1.

error: [PARSER] Error: {}

Thanks for the updates, did a quick test and found that my matches are being parsed at all.
Logs now return these error
2015-02-17T22:40:22.738Z - info: [PARSER] match 1246539866
2015-02-17T22:40:22.738Z - info: [PARSER] found local replay for match 1246539866
2015-02-17T22:40:22.738Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1246539866.dem
2015-02-17T22:40:26.895Z - info: [PARSER] Finished parsing 1246539866
2015-02-17T22:40:26.895Z - error: [PARSER] Error: {}
2015-02-17T22:40:26.896Z - info: [PARSER] match 1240613494
2015-02-17T22:40:26.896Z - info: [PARSER] found local replay for match 1240613494
2015-02-17T22:40:26.896Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1240613494.dem
2015-02-17T22:40:30.900Z - info: [PARSER] Finished parsing 1240613494
2015-02-17T22:40:30.901Z - error: [PARSER] Error: {}
2015-02-17T22:40:30.902Z - info: [PARSER] match 1243672261
2015-02-17T22:40:30.902Z - info: [PARSER] found local replay for match 1243672261
2015-02-17T22:40:30.902Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1243672261.dem
2015-02-17T22:40:34.526Z - info: [PARSER] Finished parsing 1243672261
2015-02-17T22:40:34.526Z - error: [PARSER] Error: {}
2015-02-17T22:40:34.527Z - info: [PARSER] match 1245564714
2015-02-17T22:40:34.527Z - info: [PARSER] found local replay for match 1245564714
2015-02-17T22:40:34.527Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1245564714.dem
2015-02-17T22:40:38.115Z - info: [PARSER] Finished parsing 1245564714
2015-02-17T22:40:38.115Z - error: [PARSER] Error: {}

Java Runtime Installation

I already have the lastest JRE installed but the application won't install because it cannot detect the Java Runtime.

Does it look for a specific environment variable?

About Steam Guard

I have a issue because I cant enter my steam guard key into the program

error: [PARSER] Error: Error: stderr maxBuffer exceeded.

Being getting alot of these errors lately.

2015-02-16T22:56:13.680Z - info: [PARSER] match 1234797996
2015-02-16T22:56:13.680Z - info: [PARSER] found local replay for match 1234797996
2015-02-16T22:56:13.680Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1234797996.dem
2015-02-16T22:56:23.008Z - warn: [DOTA] request timed out.
2015-02-16T22:56:40.051Z - info: [PARSER] Finished parsing 1234797996
2015-02-16T22:56:40.051Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:56:40.052Z - info: [PARSER] match 1237583380
2015-02-16T22:56:40.052Z - info: [PARSER] found local replay for match 1237583380
2015-02-16T22:56:40.052Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1237583380.dem
2015-02-16T22:56:51.336Z - info: [PARSER] Finished parsing 1237583380
2015-02-16T22:56:51.337Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:56:51.337Z - info: [PARSER] match 1234592641
2015-02-16T22:56:51.338Z - info: [PARSER] found local replay for match 1234592641
2015-02-16T22:56:51.338Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1234592641.dem
2015-02-16T22:56:54.670Z - info: [PARSER] Finished parsing 1234592641
2015-02-16T22:56:54.671Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:56:54.671Z - info: [PARSER] match 1236955213
2015-02-16T22:56:54.672Z - info: [PARSER] found local replay for match 1236955213
2015-02-16T22:56:54.672Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1236955213.dem
2015-02-16T22:56:58.053Z - info: [PARSER] Finished parsing 1236955213
2015-02-16T22:56:58.054Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:56:58.055Z - info: [PARSER] match 1235534008
2015-02-16T22:56:58.055Z - info: [PARSER] found local replay for match 1235534008
2015-02-16T22:56:58.055Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1235534008.dem
2015-02-16T22:57:01.625Z - info: [PARSER] Finished parsing 1235534008
2015-02-16T22:57:01.626Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:57:01.626Z - info: [PARSER] match 1234809879
2015-02-16T22:57:01.626Z - info: [PARSER] found local replay for match 1234809879
2015-02-16T22:57:01.626Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1234809879.dem
2015-02-16T22:57:05.362Z - info: [PARSER] Finished parsing 1234809879
2015-02-16T22:57:05.363Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:57:05.364Z - info: [PARSER] match 1236494752
2015-02-16T22:57:05.364Z - info: [PARSER] found local replay for match 1236494752
2015-02-16T22:57:05.364Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1236494752.dem
2015-02-16T22:57:09.424Z - info: [PARSER] Finished parsing 1236494752
2015-02-16T22:57:09.425Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:57:09.425Z - info: [PARSER] match 1235663786
2015-02-16T22:57:09.426Z - info: [PARSER] found local replay for match 1235663786
2015-02-16T22:57:09.426Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1235663786.dem
2015-02-16T22:57:13.161Z - info: [PARSER] Finished parsing 1235663786
2015-02-16T22:57:13.162Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:57:13.162Z - info: [PARSER] match 1235607732
2015-02-16T22:57:13.162Z - info: [PARSER] found local replay for match 1235607732
2015-02-16T22:57:13.162Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1235607732.dem
2015-02-16T22:57:16.611Z - info: [PARSER] Finished parsing 1235607732
2015-02-16T22:57:16.611Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:57:16.612Z - info: [PARSER] match 1238457031
2015-02-16T22:57:18.209Z - info: [STEAM] Logged on.
2015-02-16T22:57:18.214Z - info: [STEAM] Received servers.
2015-02-16T22:57:24.444Z - info: [DOTA] requesting replay 1238457031
2015-02-16T22:57:25.105Z - info: [PARSER] downloading from http://replay151.valve.net/570/1238457031_89807102.dem.bz2
2015-02-16T22:57:42.399Z - info: [PARSER] downloaded/decompressed replay for match 1238457031
2015-02-16T22:57:42.401Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1238457031.dem
2015-02-16T22:57:45.439Z - info: [PARSER] Finished parsing 1238457031
2015-02-16T22:57:45.441Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:57:45.441Z - info: [PARSER] match 1237583358
2015-02-16T22:57:45.442Z - info: [PARSER] found local replay for match 1237583358
2015-02-16T22:57:45.442Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1237583358.dem
2015-02-16T22:57:48.319Z - info: [PARSER] Finished parsing 1237583358
2015-02-16T22:57:48.320Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:57:48.321Z - info: [PARSER] match 1239737118
2015-02-16T22:57:48.323Z - info: [DOTA] requesting replay 1239737118
2015-02-16T22:57:48.994Z - info: [PARSER] downloading from http://replay151.valve.net/570/1239737118_1322700843.dem.bz2
2015-02-16T22:58:29.283Z - info: [PARSER] downloaded/decompressed replay for match 1239737118
2015-02-16T22:58:29.285Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1239737118.dem
2015-02-16T22:58:32.461Z - info: [PARSER] Finished parsing 1239737118
2015-02-16T22:58:32.463Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:58:32.467Z - info: [PARSER] match 1233898687
2015-02-16T22:58:32.468Z - info: [PARSER] found local replay for match 1233898687
2015-02-16T22:58:32.468Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1233898687.dem
2015-02-16T22:58:35.935Z - info: [PARSER] Finished parsing 1233898687
2015-02-16T22:58:35.936Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:58:35.937Z - info: [PARSER] match 1235423054
2015-02-16T22:58:35.937Z - info: [PARSER] found local replay for match 1235423054
2015-02-16T22:58:35.937Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1235423054.dem
2015-02-16T22:58:39.823Z - info: [PARSER] Finished parsing 1235423054
2015-02-16T22:58:39.824Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:58:39.824Z - info: [PARSER] match 1235602264
2015-02-16T22:58:39.824Z - info: [PARSER] found local replay for match 1235602264
2015-02-16T22:58:39.824Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1235602264.dem
2015-02-16T22:58:43.253Z - info: [PARSER] Finished parsing 1235602264
2015-02-16T22:58:43.254Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:58:43.254Z - info: [PARSER] match 1235132275
2015-02-16T22:58:43.255Z - info: [PARSER] found local replay for match 1235132275
2015-02-16T22:58:43.255Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1235132275.dem
2015-02-16T22:58:46.614Z - info: [PARSER] Finished parsing 1235132275
2015-02-16T22:58:46.614Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:58:46.615Z - info: [PARSER] match 1244066106
2015-02-16T22:58:46.617Z - info: [DOTA] requesting replay 1244066106
2015-02-16T22:58:47.264Z - info: [PARSER] downloading from http://replay151.valve.net/570/1244066106_260094719.dem.bz2
2015-02-16T22:59:21.255Z - info: [PARSER] downloaded/decompressed replay for match 1244066106
2015-02-16T22:59:21.256Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1244066106.dem
2015-02-16T22:59:23.812Z - info: [PARSER] Finished parsing 1244066106
2015-02-16T22:59:23.814Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:59:23.814Z - info: [PARSER] match 1233664663
2015-02-16T22:59:23.815Z - info: [PARSER] found local replay for match 1233664663
2015-02-16T22:59:23.815Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1233664663.dem
2015-02-16T22:59:26.774Z - info: [PARSER] Finished parsing 1233664663
2015-02-16T22:59:26.774Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T22:59:26.775Z - info: [PARSER] match 1238576474
2015-02-16T22:59:26.777Z - info: [DOTA] requesting replay 1238576474
2015-02-16T22:59:27.455Z - info: [PARSER] downloading from http://replay153.valve.net/570/1238576474_382349820.dem.bz2
2015-02-16T23:00:04.810Z - info: [PARSER] downloaded/decompressed replay for match 1238576474
2015-02-16T23:00:04.812Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1238576474.dem
2015-02-16T23:00:07.718Z - info: [PARSER] Finished parsing 1238576474
2015-02-16T23:00:07.719Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T23:00:07.720Z - info: [PARSER] match 1237120328
2015-02-16T23:00:07.720Z - info: [PARSER] found local replay for match 1237120328
2015-02-16T23:00:07.721Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1237120328.dem
2015-02-16T23:00:10.538Z - info: [PARSER] Finished parsing 1237120328
2015-02-16T23:00:10.539Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T23:00:10.539Z - info: [PARSER] match 1238190106
2015-02-16T23:00:10.542Z - info: [DOTA] requesting replay 1238190106
2015-02-16T23:00:11.211Z - info: [PARSER] downloading from http://replay151.valve.net/570/1238190106_849095201.dem.bz2
2015-02-16T23:00:33.895Z - info: [PARSER] downloaded/decompressed replay for match 1238190106
2015-02-16T23:00:33.896Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1238190106.dem
2015-02-16T23:00:36.515Z - info: [PARSER] Finished parsing 1238190106
2015-02-16T23:00:36.518Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T23:00:36.518Z - info: [PARSER] match 1235004072
2015-02-16T23:00:36.539Z - info: [PARSER] found local replay for match 1235004072
2015-02-16T23:00:36.540Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1235004072.dem
2015-02-16T23:00:39.323Z - info: [PARSER] Finished parsing 1235004072
2015-02-16T23:00:39.324Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.
2015-02-16T23:00:39.325Z - info: [PARSER] match 1236982487
2015-02-16T23:00:39.325Z - info: [PARSER] found local replay for match 1236982487
2015-02-16T23:00:39.325Z - info: [PARSER] running parse on C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\replays\1236982487.dem
2015-02-16T23:00:42.673Z - info: [PARSER] Finished parsing 1236982487
2015-02-16T23:00:42.674Z - error: [PARSER] Error: Error: stderr maxBuffer exceeded.

GPM and XPM graphs

It would be good to see GPM and XPM graphs in d2rm. Dotabuff only offers XPM to regular users.

Here is a screenshot of what they look like for paid users.
dotabuffcharts

Crashes when Synchronizing / After Startup

Looks like I'm a bug magnet haha

So i decided to use this to track some pro player replays

Arteezy:
.../Arteezy

S4:
.../76561198001497299

and Eternal Envy:
.../76561198003541947

And at first it worked really well, then i hit synchronize and it crashed. And now it crashes after about 5 seconds, like it did last time.

Exception log:
http://pastebin.com/SzGJGFVL

Dota log:
2014-12-28T05:28:43.035Z - info: [BACKEND] Fetching players' histories
2014-12-28T05:28:43.038Z - info: [BACKEND] Parsing unparsed matches
2014-12-28T05:28:43.038Z - info: Scraping tracked player information

Crash Followed by Java update

After Syncing, it says an error has occured and it has been writen to the dota.log file or something, I need to go back and check and then it opens like 15 tabs telling me to download java. I'll see if I can find the log file.

EDIT1: I cant seem to find the dota.log file.

does not unpack tidy

When I unpack the application package D2RM-linux64.tar.gz, no top level directory is created, making a mess of the current directory. Package the application so that everything is contained in a top level directory, e.g. D2RM-0.3.0.

Still crashing on sync

d2rm still crashes while syncing. I can send you debug information if you want to fix this.

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.