e1ila / farmlog Goto Github PK
View Code? Open in Web Editor NEWLogs loot, monster kills, honor and instances. Know exactly what your farm session has yielded.
Logs loot, monster kills, honor and instances. Know exactly what your farm session has yielded.
Usecase 1: Two skinners agree to split Onyxia skins. One would have to add the skins to farmlog, and the other remove.
Usecase 2: You forget to start your farmlog session after a break, and you immediately get a significant drop.
Usecase 3: A random world BoE drops, and your g/h suddenly triples. (Can be /fl ignore
'd.)
I'm imagining a command like /fl add <ITEMLINK>
, maybe with an optional amount
parameter. I haven't looked at the code, but it could maybe be implemented by simulating an itemdrop-event. The remove-suggestion may be harder and not very important anyway as it's partially covered by the ignore feature, but could be useful as the items I imagine are one-offs.
First error:
2x FarmLog\FarmLog-v1.19.lua:854: attempt to index field 'farms' (a nil value)
FarmLog\FarmLog-v1.19.lua:854: in function ResetSessionVars' FarmLog\FarmLog-v1.19.lua:467: in function
Migrate'
FarmLog\FarmLog-v1.19.lua:2225: in function OnAddonLoaded' FarmLog\FarmLog-v1.19.lua:2592: in function
OnEvent'
[string ":OnEvent"]:1: in function <[string ":OnEvent"]:1>
Locals:
self = FarmLog {
OnSkillsEvent = defined @FarmLog\FarmLog.lua:1758
Migrate = defined @FarmLog\FarmLog.lua:438
OnLootEvent = defined @FarmLog\FarmLog.lua:2155
OnCurrencyEvent = defined @FarmLog\FarmLog.lua:1906
OnInstanceInfoEvent = defined @FarmLog\FarmLog.lua:2404
EstimatedHonorPercent = defined @FarmLog\FarmLog.lua:1649
PurgeInstances = defined @FarmLog\FarmLog.lua:784
IncreaseBlackLotusPickStat = defined @FarmLog\FarmLog.lua:2001
debug = defined @FarmLog\FarmLog.lua:269
PrepareAuctionHouseResults = defined @FarmLog\FarmLog.lua:2491
AddonName = "FarmLog"
ParseMinimapTooltip = defined @FarmLog\FarmLog.lua:2021
OnCombatFactionChange = defined @FarmLog\FarmLog.lua:1828
OnPlayerDead = defined @FarmLog\FarmLog.lua:1727
PauseSession = defined @FarmLog\FarmLog.lua:834
OnCombatHonorEvent = defined @FarmLog\FarmLog.lua:1667
HookTooltip = defined @FarmLog\FarmLog.lua:2462
AddInstance = defined @FarmLog\FarmLog.lua:773
ShowBlackLotusTimers = defined @FarmLog\FarmLog.lua:2055
ParseRepEvent = defined @FarmLog\FarmLog.lua:1819
ShowBlackLotusLog = defined @FarmLog\FarmLog.lua:1582
Version = "1.19.3"
OnCombatXPEvent = defined @FarmLog\FarmLog.lua:1802
SwitchFarm = defined @FarmLog\FarmLog.lua:862
OnAuctionUpdate = defined @FarmLog\FarmLog.lua:2483
OnEnteringWorld = defined @FarmLog\FarmLog.lua:2321
OnSpellCastSuccessEvent = defined @FarmLog\FarmLog.lua:1630
GetBlackLotusItemName = defined @FarmLog\FarmLog.lua:1954
UpdateInstanceCount = defined @FarmLog\FarmLog.lua:758
GetItemValue = defined @FarmLog\FarmLog.lua:2078
CloseOpenInstances = defined @FarmLog\FarmLog.lua:808
CheckPvPDayReset = defined @FarmLog\FarmLog.lua:1658
SaveBLSeenTime = defined @FarmLog\FarmLog.lua:2028
OnPlayerLevelUp = defined @FarmLog\FarmLog.lua:1734
ResetSessionVars = defined @FarmLog\FarmLog.lua:849
DeleteFarm = defined @FarmLog\FarmLog.lua:896
InsertLoot = defined @FarmLog\FarmLog.lua:2105
Consumes =
And another one:
2x FarmLog\FarmLog-v1.19.lua:704: attempt to index field 'farms' (a nil value)
FarmLog\FarmLog-v1.19.lua:704: in function <FarmLog\FarmLog.lua:702>
FarmLog\FarmLog-v1.19.lua:820: in function GetCurrentSessionTime' FarmLog\FarmLog-v1.19.lua:1105: in function
GetTitleText'
FarmLog\FarmLog-v1.19.lua:1120: in function UpdateTitle' FarmLog\FarmLog-v1.19.lua:844: in function
PauseSession'
FarmLog\FarmLog-v1.19.lua:2339: in function OnEnteringWorld' FarmLog\FarmLog-v1.19.lua:2586: in function
OnEvent'
[string ":OnEvent"]:1: in function <[string ":OnEvent"]:1>
Locals:
varName = "seconds"
total = false
sessionName = nil
mergeFunc = nil
name = "Winterspring"
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field 'farms' (a nil value)"
emptySession = defined @FarmLog\FarmLog.lua:204
Last one:
1x FarmLog\FarmLog-v1.19.lua:2351: attempt to index field 'farms' (a nil value)
FarmLog\FarmLog-v1.19.lua:2351: in function OnEnteringWorld' FarmLog\FarmLog-v1.19.lua:2586: in function
OnEvent'
[string ":OnEvent"]:1: in function <[string ":OnEvent"]:1>
Locals:
self = FarmLog {
OnSkillsEvent = defined @FarmLog\FarmLog.lua:1758
Migrate = defined @FarmLog\FarmLog.lua:438
OnLootEvent = defined @FarmLog\FarmLog.lua:2155
OnCurrencyEvent = defined @FarmLog\FarmLog.lua:1906
OnInstanceInfoEvent = defined @FarmLog\FarmLog.lua:2404
EstimatedHonorPercent = defined @FarmLog\FarmLog.lua:1649
PurgeInstances = defined @FarmLog\FarmLog.lua:784
IncreaseBlackLotusPickStat = defined @FarmLog\FarmLog.lua:2001
debug = defined @FarmLog\FarmLog.lua:269
PrepareAuctionHouseResults = defined @FarmLog\FarmLog.lua:2491
AddonName = "FarmLog"
ParseMinimapTooltip = defined @FarmLog\FarmLog.lua:2021
OnCombatFactionChange = defined @FarmLog\FarmLog.lua:1828
OnPlayerDead = defined @FarmLog\FarmLog.lua:1727
PauseSession = defined @FarmLog\FarmLog.lua:834
OnCombatHonorEvent = defined @FarmLog\FarmLog.lua:1667
HookTooltip = defined @FarmLog\FarmLog.lua:2462
AddInstance = defined @FarmLog\FarmLog.lua:773
ShowBlackLotusTimers = defined @FarmLog\FarmLog.lua:2055
ParseRepEvent = defined @FarmLog\FarmLog.lua:1819
ShowBlackLotusLog = defined @FarmLog\FarmLog.lua:1582
Version = "1.19.3"
OnCombatXPEvent = defined @FarmLog\FarmLog.lua:1802
SwitchFarm = defined @FarmLog\FarmLog.lua:862
OnAuctionUpdate = defined @FarmLog\FarmLog.lua:2483
OnEnteringWorld = defined @FarmLog\FarmLog.lua:2321
OnSpellCastSuccessEvent = defined @FarmLog\FarmLog.lua:1630
GetBlackLotusItemName = defined @FarmLog\FarmLog.lua:1954
UpdateInstanceCount = defined @FarmLog\FarmLog.lua:758
GetItemValue = defined @FarmLog\FarmLog.lua:2078
CloseOpenInstances = defined @FarmLog\FarmLog.lua:808
CheckPvPDayReset = defined @FarmLog\FarmLog.lua:1658
SaveBLSeenTime = defined @FarmLog\FarmLog.lua:2028
OnPlayerLevelUp = defined @FarmLog\FarmLog.lua:1734
ResetSessionVars = defined @FarmLog\FarmLog.lua:849
DeleteFarm = defined @FarmLog\FarmLog.lua:896
InsertLoot = defined @FarmLog\FarmLog.lua:2105
Consumes =
Not sure what the root cause is but it doesn't seem to track across play sessions.
Message: Interface\AddOns\FarmLog\FarmLog.lua:656: attempt to index field 'farms' (a nil value)
Time: Wed Nov 13 21:37:32 2019
Count: 1
Stack: Interface\AddOns\FarmLog\FarmLog.lua:656: attempt to index field 'farms' (a nil value)
Interface\AddOns\FarmLog\FarmLog.lua:656: in function `ResetSessionVars'
Interface\AddOns\FarmLog\FarmLog.lua:354: in function `Migrate'
Interface\AddOns\FarmLog\FarmLog.lua:1763: in function `OnAddonLoaded'
Interface\AddOns\FarmLog\FarmLog.lua:2029: in function `OnEvent'
[string ":OnEvent"]:1: in function <[string ":OnEvent"]:1>
Locals: self = FarmLog {
OnSkillsEvent = defined @interface\AddOns\FarmLog\FarmLog.lua:1351
NewSession = defined @interface\AddOns\FarmLog\FarmLog.lua:721
OnCombatLogEvent = defined @interface\AddOns\FarmLog\FarmLog.lua:1427
OnCurrencyEvent = defined @interface\AddOns\FarmLog\FarmLog.lua:1494
OnInstanceInfoEvent = defined @interface\AddOns\FarmLog\FarmLog.lua:1891
OnEnteringWorld = defined @interface\AddOns\FarmLog\FarmLog.lua:1845
GetBlackLotusItemName = defined @interface\AddOns\FarmLog\FarmLog.lua:1540
PurgeInstances = defined @interface\AddOns\FarmLog\FarmLog.lua:587
UpdateInstanceCount = defined @interface\AddOns\FarmLog\FarmLog.lua:561
CloseOpenInstances = defined @interface\AddOns\FarmLog\FarmLog.lua:611
IncreaseBlackLotusPickStat = defined @interface\AddOns\FarmLog\FarmLog.lua:1587
AskQuestion = defined @interface\AddOns\FarmLog\FarmLog.lua:753
GetLastInstance = defined @interface\AddOns\FarmLog\FarmLog.lua:597
OnSpellCastEvent = defined @interface\AddOns\FarmLog\FarmLog.lua:1297
ResetSessionVars = defined @interface\AddOns\FarmLog\FarmLog.lua:651
DeleteFarm = defined @interface\AddOns\FarmLog\FarmLog.lua:694
PrepareAuctionHouseResults = defined @interface\AddOns\FarmLog\FarmLog.lua:1933
UIError = defined @interface\AddOns\FarmLog\FarmLog.lua:2386
ParseCSV = defined @interface\AddOns\FarmLog\FarmLog.lua:1283
InsertLoot = defined @interface\AddOns\FarmLog\FarmLog.lua:1638
OnUpdate = defined @interface\AddOns\FarmLog\FarmLog.lua:2046
OnCombatFactionChange = defined @interface\AddOns\FarmLog\FarmLog.lua:1416
OnEvent = defined @interface\AddOns\FarmLog\FarmLog.lua:1993
OnLootEvent = defined @interface\AddOns\FarmLog\FarmLog.lua:1691
OnPlayerDead = defined @interface\AddOns\FarmLog\FarmLog.lua:1330
OnLootOpened = defined @interface\AddOns\FarmLog\FarmLog.lua:1451
OnAuctionUpdate = defined @interface\AddOns\FarmLog\FarmLog.lua:1925
PauseSession = defined @interface\AddOns\FarmLog\FarmLog.lua:637
Migrate = defined @interface\AddOns\FarmLog\FarmLog.lua:329
OnEnterCombat = defined @interface\AddOns\FarmLog\FarmLog.lua:1902
OnAddonLoaded = defined @interface\AddOns\FarmLog\FarmLog.lua:1758
AnalyzeAuctionHouseResults = defined @interface\AddOns\FarmLog\FarmLog.lua:1944
OnCombatHonorEvent = defined @interface\AddOns\FarmLog\FarmLog.lua:1326
0 =
GetCurrentSessionTime = defined @interface\AddOns\FarmLog\FarmLog.lua:621
ParseSkillEvent = defined @interface\AddOns\FarmLog\FarmLog.lua:1342
OnMoneyEvent = defined @interface\AddOns\FarmLog\FarmLog.lua:1526
ClearSession = defined @interface\AddOns\FarmLog\FarmLog.lua:708
ParseMinimapTooltip = defined @interface\AddOns\FarmLog\FarmLog.lua:1607
AddInstance = defined @interface\AddOns\FarmLog\FarmLog.lua:576
SetBlackLotusItemId = defined @interface\AddOns\FarmLog\FarmLog.lua:1534
ParseXPEvent = defined @interface\AddOns\FarmLog\FarmLog.lua:1378
LogBlackLotusCurrentLocation = defined @interface\AddOns\FarmLog\FarmLog.lua:1544
LogBl
Everytime I click on the button I get this message:
Message: Interface\AddOns\FarmLog\FarmLog.lua:106: Usage: GetCoinText(amount, fontHeight)
Time: Sat Oct 19 16:46:49 2019
Count: 1
Stack: Interface\AddOns\FarmLog\FarmLog.lua:106: Usage: GetCoinText(amount, fontHeight)
[C]: in function `GetCoinTextureString'
Interface\AddOns\FarmLog\FarmLog.lua:106: in function <Interface\AddOns\FarmLog\FarmLog.lua:98>
Interface\AddOns\FarmLog\FarmLog.lua:482: in function `AddSessionYieldItems'
Interface\AddOns\FarmLog\FarmLog.lua:541: in function `FLogRefreshSChildFrame'
Interface\AddOns\FarmLog\FarmLog.lua:1014: in function <Interface\AddOns\FarmLog\FarmLog.lua:1002>
Interface\AddOns\FarmLog\FarmLog.lua:1164: in function <Interface\AddOns\FarmLog\FarmLog.lua:1164>
Locals: (*temporary) = Infinite
(*temporary) = 12
In anycase, the addon seems to work well except this error every time I press the minimap button.
That and the /fl set i'm not sure if is my fault (making something wrong) but cannot set a item value to X value, what i am doing is target with the cursor a item and typing /fl set 15. The error I get is:
Message: Interface\AddOns\FarmLog\FarmLog.lua:1848: bad argument #2 to 'sub' (number expected, got nil)
Time: Sat Oct 19 16:54:57 2019
Count: 2
Stack: Interface\AddOns\FarmLog\FarmLog.lua:1848: bad argument #2 to 'sub' (number expected, got nil)
[C]: in function `sub'
Interface\AddOns\FarmLog\FarmLog.lua:1848: in function `?'
Interface\FrameXML\ChatFrame.lua:4609: in function `ChatEdit_ParseText'
Interface\FrameXML\ChatFrame.lua:4270: in function `ChatEdit_SendText'
Interface\FrameXML\ChatFrame.lua:4306: in function `ChatEdit_OnEnterPressed'
[string "*:OnEnterPressed"]:1: in function <[string "*:OnEnterPressed"]:1>
Locals: (*temporary) = "15"
(*temporary) = nil
(*temporary) = nil
(*temporary) = "number expected, got nil"
Is there a way to track consumes (lures) for fishing?
Rather than setting a minimum threshold, it would be great to have checkboxes we can select. For example, AH data for greens is often wrong on my server so it would be great to track whites without greens.
Hi,
Please support the normal minimap behavior. It's not "attached" to the minimap, which means that it breaks SexyMap for example as it's "visible" all the time (SexyMap hides the minimap buttons when you're not hovering it).
Thanks!
As most people use TSM with custom source strings, it would be really useful if we could choose to use these for the addon.
I have the problem that my lootet items won't show up in the list (therefore no price)
What works:
what i tried/did:
If you need some logs/settings, please let me know.
Edit: disabled all auto/fast loot settings
Edit 2: disabled every other addon
Edit 3: does not work on my laptop either
Not an issue report, but I'd like the ability to export sessions in some kind of standardized format. (Preferably JSON). I saw that there's an upcoming enhancement to "send reports", but I'm not sure what that means. I'd like to be able to work with the session data outside of the little window in the game.
I'd like all data collected to be exportable or, even better, be able to specify which data to export.
If this is already stored somewhere, and I assume it is, I haven't been able to find it.
Addon shows ??????? when kill mobs or took loot (because client in cyrillic language)
Allow the use of TSM DATA
Even though you have the price for some BoE, e.g. 60s vendor and 1.5g AH, usually these BoE are not really worthy to sell on the AH. So, it would be nice if you add a feature to enable/disable green BoE auction house
is it possible to include a hotkey e.g. right click over an item from the list, to remove a picked item from the log list, thanks
I've installed v1.22 on Wow Classic and while I'm killing mobs the counter doesn't always increase. I think I've narrowed down this problem to my pet getting the killing blow instead of my hunter character.
You have to relog/maybe reload/join instance for counter to refresh. If You are instance locked on main and waiting on alt, this would be nice improvement for You.
Multiple accounts should be able to use the addon. Currently only a single account can use it correctly, the rest are non-responsive.
Would also like the ability to rename existing sessions.
The black lotus timer linked to DBM needs updating for the new black lotus spawn changes :)
This is probably my new favorite addon...
I would prefer that it didn't automatically start the farming session when I create it. Sometimes I want to plan ahead and create the session, but I don't want it to start tracking as soon as the session is created. Maybe an option for that?
Title. AH min quality has its use to calculate price for greens and\or blues without AH price, this leads to herbs and other trading goods being calculated by vendor price too.
Simple solution:
Add L["trading-good"] = Trade Goods (needs testing, only tested on RU client tho) into localization
Line 2007: local _, _, quality, _, _, itemType, _, _, _, _, vendorPrice = GetItemInfo(itemLink)
Line 2012: elseif not quality or quality >= FLogGlobalVars.ahMinQuality or itemType == L["trading-good"] then
May need checkbox for that option, thats totaly up to you
Bonus honor from objectives and rewards are not being added to farmlog. Only those from kills.
Hey,
Would be nice to have option to log the full group loot log.
I have been unable to find a way to rename sessions. This would be an incredibly useful feature, as it would be great to be able to keep track of the gph in different farm spots in the overworld.
For example I would like to know the difference between farming on satyrs, or farming in plaguelands.
Thanks.
I disenchant almost all greens and blues. Wouldn't mind having to enter DE mat prices myself
I currently have an issue in jump runs where i disenchant everything except weapons, but it doesn't (as far as i can tell) remove the initial vendor price from gp/hr or gold acquired. It instead adds the materials i get from disenchanting to the vendor price of the item. I could disable disenchanting mats or what have you, but i believe it's more gp/hr to disenchant and i want to see how much it actually is.
Show XP/hour the same way gold/hour is shown, at least for characters that are below level 60
This is what i am getting
Date: 2020-01-22 10:45:23
ID: 3
Error occured in: Global
Count: 1
Message: ..\AddOns\FarmLog\FarmLog.lua line 729:
attempt to index field 'farms' (a nil value)
Debug:
[C]: ?
FarmLog\FarmLog.lua:729:
FarmLog\FarmLog.lua:728
FarmLog\FarmLog.lua:3152: UpdateTooltipText()
FarmLog\FarmLog.lua:3138: ShowTooltip()
[string ":OnEnter"]:1:
[string ":OnEnter"]:1
Locals:
AddOns:
Swatter, v8.2.6377 (SwimmingSeadragon)
TotemModFix, v0.0.10
AccountantClassic, vv2.11.08.11302
AdiBags, vv1.9.17-classic
AdvancedInterfaceOptions, v1.3.3-3-g58f2fa4
Atlas, vv1.47.00.11303.00
AtlasClassicWoW, vv1.47.00.11303.00
AtlasLootClassic, vv1.4.5
AtlasLootClassicData, vv1.4.5
AtlasLootClassicDungeonsAndRaids, vv1.4.5
AucAdvanced, v8.2.6430 (SwimmingSeadragon)
AucFilterBasic, v8.2.6364 (SwimmingSeadragon)
AucScanData, v8.2.6365 (SwimmingSeadragon)
AucStatHistogram, v8.2.6366 (SwimmingSeadragon)
AucStatiLevel, v8.2.6370 (SwimmingSeadragon)
AucStatPurchased, v8.2.6367 (SwimmingSeadragon)
AucStatSimple, v8.2.6399 (SwimmingSeadragon)
AucStatStdDev, v8.2.6369 (SwimmingSeadragon)
AucUtilFixAH, v8.2.6371 (SwimmingSeadragon)
Bartender4, v4.8.9-2-gc5bd6e2
BeanCounter, v8.2.6434 (SwimmingSeadragon)
BlackList, vv1.13.2
ButterQuestTracker, v1.9.21
Capping, vv4-classic
ClassicGuildBank, v1.3
ClassicPremade, v7.2
DBMCore, v1.13.30-6-g4bf9a4d
DBMDefaultSkin, v
DBMStatusBarTimers, v
DejaClassicStats, v1303r001
Details, v
DetailsTinyThreat, v
Enchantrix, v8.2.6428 (SwimmingSeadragon)
EnchantrixBarker, v8.2.6469 (SwimmingSeadragon)
ExoLink, v1.0.1
ExoLinkBIS, v1.0.1
FarmHud, v8.3-6-classic-release
FarmLog, vv1.19
FishingBuddy, v0.7.3 Beta 2
GatherMate2, v1.45.5-1-gab6216a
HandyNotes, vv1.5.9
honorspy, v1.7.1
InFlightLoad, v1.13.005
Informant, v8.2.6374 (SwimmingSeadragon)
ItemRack, v
KuiMedia, v
KuiNameplates, v
KuiNameplatesCore, v
LeatrixMaps, v1.13.45.alpha.1
LeatrixPlus, v1.13.46.alpha.2
LFG113, v
Misspelled, v1.7.7
MoveAnything, v17.1.0
OmniCC, v8.3.1
OPie, vAncient Walnut 5
PerlArcaneBar, v
PerlCombatDisplay, v
PerlConfig, v
PerlFocus, v
PerlParty, v
PerlPartyPet, v
PerlPartyTarget, v
PerlPlayer, v
PerlPlayerPet, v
PerlTarget, v
PerlTargetTarget, v
Prat30, v3.7.47
Prat30Libraries, v
Quartz, v3.5-classic-5
Questie, v5.5.1
QuestLogExperience, v11302.07-Classic
Rank14LosSAClassic, v2.0.0
RealMobHealth, v2.18
ServerFriendsOnly, v1.1.14
SlideBar, v8.2.6375 (SwimmingSeadragon)
Spy, v1.0.21
Stubby, v8.2.6376 (SwimmingSeadragon)
TitanClassic, v1.1.5.11303
TitanClassicAmmo, v1.1.5.11303
TitanClassicBag, v1.1.5.11303
TitanClassicClock, v1.1.5.11303
TitanClassicGold, v1.1.5.11303
TitanClassicGuild, v1.0.0.3
TitanClassicLocation, v1.1.5.11303
TitanClassicLootType, v1.1.5.11303
TitanClassicPerformance, v1.1.5.11303
TitanClassicRegen, v1.1.5.11303
TitanClassicRepair, v1.1.5.11303
TitanClassicVolume, v1.1.5.11303
TitanClassicXP, v1.1.5.11303
TomTom, vv11303-1.0.9
TownsfolkTracker, v1.0.7
TradeSkillMaster, vv4.9.17
TradeSkillMasterAppHelper, vv4.0.7
VuhDo, v3.111-classic
VuhDoOptions, v3.111-classic
WeakAuras, v2.16.1-4-ge6439ac
WhatsTraining, v1.8.7
WhereToGatherClassic, v1.0
WideQuestLog, v
WideQuestLogLevels, v
BlizRuntimeLib_enUS v1.13.3.11303
(ck=baa)
In addition to using FarmLog for gold farming sessions, I also use it on my alts while leveling to track both gold earned and XP/hr. It would be really nice if tracking gold earned from quests was included as an option.
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.