Go to Page... |
Compatibility: | Gold Road (10.0.0) |
Updated: | 06/03/24 01:03 PM |
Created: | 08/12/14 10:44 AM |
Monthly downloads: | 47,767 |
Total downloads: | 4,300,029 |
Favorites: | 2,061 |
MD5: | |
Categories: | Auction House & Vendors, Data Mods, Map, Coords, Compasses, Mail |
File Name |
Version |
Size |
Uploader |
Date |
1.6.10 |
361kB |
sirinsidiator |
03/17/24 03:40 PM |
|
1.6.9 |
361kB |
sirinsidiator |
03/10/24 05:04 PM |
|
1.6.8 |
361kB |
sirinsidiator |
10/12/23 10:47 AM |
|
1.6.7 |
360kB |
sirinsidiator |
06/06/23 02:27 PM |
|
1.6.6 |
360kB |
sirinsidiator |
06/05/23 10:25 AM |
|
1.6.5 |
397kB |
sirinsidiator |
03/13/23 02:25 PM |
|
1.6.4 |
397kB |
sirinsidiator |
11/15/22 06:23 AM |
|
1.6.3 |
388kB |
sirinsidiator |
06/26/22 02:53 PM |
|
1.6.2 |
391kB |
sirinsidiator |
06/15/22 02:29 PM |
|
1.6.1 |
391kB |
sirinsidiator |
06/06/22 04:33 AM |
|
1.5.8 |
384kB |
sirinsidiator |
03/16/22 10:06 AM |
|
1.5.7 |
384kB |
sirinsidiator |
01/09/22 11:26 AM |
|
1.5.6 |
379kB |
sirinsidiator |
10/06/21 12:42 PM |
|
1.5.5 |
379kB |
sirinsidiator |
08/03/21 02:32 PM |
|
1.5.4 |
379kB |
sirinsidiator |
06/01/21 06:29 AM |
|
1.5.3 |
378kB |
sirinsidiator |
03/29/21 12:19 PM |
|
1.5.2 |
378kB |
sirinsidiator |
03/22/21 12:19 PM |
|
1.5.1 |
381kB |
sirinsidiator |
12/29/20 02:04 PM |
|
1.5.0 |
381kB |
sirinsidiator |
11/14/20 10:39 AM |
|
1.4.4-beta |
612kB |
sirinsidiator |
11/03/20 07:16 AM |
|
1.4.3-beta |
618kB |
sirinsidiator |
10/21/20 07:29 AM |
|
1.4.2-beta |
618kB |
sirinsidiator |
09/22/20 12:33 PM |
|
1.4.1-beta |
618kB |
sirinsidiator |
07/18/20 02:27 PM |
|
1.4.0-beta |
618kB |
sirinsidiator |
07/06/20 10:45 AM |
|
1.3.1-beta |
632kB |
sirinsidiator |
04/07/20 02:25 PM |
|
1.3.0-beta |
628kB |
sirinsidiator |
02/24/20 02:48 AM |
|
1.2.3-beta |
627kB |
sirinsidiator |
10/21/19 06:36 AM |
|
1.2.2-beta |
626kB |
sirinsidiator |
08/12/19 10:44 AM |
|
1.2.1-beta |
619kB |
sirinsidiator |
06/23/19 04:08 PM |
|
1.2.0-beta |
619kB |
sirinsidiator |
06/17/19 12:44 PM |
|
1.1.0-beta |
623kB |
sirinsidiator |
05/20/19 08:33 AM |
|
1.0.2-beta |
732kB |
sirinsidiator |
03/17/19 03:06 PM |
|
1.0.1-beta |
728kB |
sirinsidiator |
03/10/19 10:32 AM |
|
1.0.0-beta |
728kB |
sirinsidiator |
03/04/19 05:01 PM |
|
0.43.5 |
641kB |
sirinsidiator |
01/29/19 02:31 PM |
|
0.43.4 |
640kB |
sirinsidiator |
10/28/18 03:57 PM |
|
0.43.3 |
640kB |
sirinsidiator |
10/25/18 02:02 PM |
|
0.43.2 |
647kB |
sirinsidiator |
10/22/18 12:49 PM |
|
0.43.1 |
631kB |
sirinsidiator |
08/13/18 04:29 PM |
|
0.43 |
631kB |
sirinsidiator |
05/31/18 02:28 PM |
|
0.42.2 |
630kB |
sirinsidiator |
05/29/18 03:35 PM |
|
0.42.1 |
630kB |
sirinsidiator |
05/21/18 02:22 PM |
|
0.42 |
629kB |
sirinsidiator |
05/21/18 02:45 AM |
|
0.41.1 |
617kB |
sirinsidiator |
03/03/18 12:18 PM |
|
0.41 |
616kB |
sirinsidiator |
02/18/18 08:56 AM |
|
0.40 |
610kB |
sirinsidiator |
11/12/17 01:59 PM |
|
0.39.1 |
608kB |
sirinsidiator |
10/25/17 01:19 PM |
|
0.39 |
608kB |
sirinsidiator |
10/24/17 02:18 PM |
|
0.38.3 |
598kB |
sirinsidiator |
10/04/17 12:33 PM |
|
0.38.2 |
598kB |
sirinsidiator |
10/03/17 04:09 PM |
|
0.38.1 |
598kB |
sirinsidiator |
10/02/17 11:34 AM |
|
0.38 |
597kB |
sirinsidiator |
09/30/17 11:00 AM |
|
0.37.6 |
592kB |
sirinsidiator |
08/20/17 01:45 PM |
|
0.37.5 |
592kB |
sirinsidiator |
08/20/17 10:12 AM |
|
0.37.4 |
592kB |
sirinsidiator |
08/14/17 01:37 PM |
|
0.37.3 |
592kB |
sirinsidiator |
08/14/17 01:46 AM |
|
0.37.2 |
590kB |
sirinsidiator |
07/15/17 05:47 AM |
|
0.37.1 |
588kB |
sirinsidiator |
06/24/17 07:40 AM |
|
0.36 |
578kB |
sirinsidiator |
05/22/17 04:00 AM |
|
0.35.2 |
578kB |
sirinsidiator |
02/15/17 01:17 PM |
|
0.35.1 |
577kB |
sirinsidiator |
02/14/17 02:31 PM |
|
0.35 |
577kB |
sirinsidiator |
02/13/17 12:31 PM |
|
0.34.2 |
543kB |
sirinsidiator |
02/06/17 06:28 AM |
|
0.33.2 |
502kB |
sirinsidiator |
11/05/16 10:51 AM |
|
0.33.1 |
495kB |
sirinsidiator |
08/10/16 06:39 AM |
|
0.33 |
495kB |
sirinsidiator |
08/06/16 07:43 AM |
|
0.32.5 |
488kB |
sirinsidiator |
07/21/16 04:13 AM |
|
0.32.4 |
488kB |
sirinsidiator |
07/20/16 03:11 PM |
|
0.32.3 |
488kB |
sirinsidiator |
07/17/16 11:17 AM |
|
0.32.2 |
488kB |
sirinsidiator |
07/01/16 12:08 PM |
|
0.32.1 |
488kB |
sirinsidiator |
06/29/16 06:15 AM |
|
0.32 |
487kB |
sirinsidiator |
06/09/16 11:01 AM |
|
0.31.1 |
486kB |
sirinsidiator |
04/26/16 10:10 AM |
|
0.31 |
472kB |
sirinsidiator |
04/21/16 02:12 PM |
|
0.30.2 |
468kB |
sirinsidiator |
03/26/16 02:59 PM |
|
0.30.1 |
463kB |
sirinsidiator |
03/23/16 01:47 PM |
|
0.30 |
463kB |
sirinsidiator |
03/19/16 02:42 AM |
|
0.29.1 |
461kB |
sirinsidiator |
03/07/16 09:59 AM |
|
0.29 |
461kB |
sirinsidiator |
03/07/16 07:49 AM |
|
0.28 |
459kB |
sirinsidiator |
01/06/16 11:39 AM |
|
0.27.4 |
411kB |
sirinsidiator |
11/14/15 02:03 PM |
|
0.27.3 |
411kB |
sirinsidiator |
11/02/15 10:31 AM |
|
0.27.2 |
411kB |
sirinsidiator |
11/02/15 03:40 AM |
|
0.27.1 |
411kB |
sirinsidiator |
10/24/15 04:57 AM |
|
0.27 |
411kB |
sirinsidiator |
10/11/15 01:23 PM |
|
0.26 |
370kB |
sirinsidiator |
09/12/15 09:36 AM |
|
0.25 |
370kB |
sirinsidiator |
08/22/15 08:56 AM |
|
0.24 |
361kB |
sirinsidiator |
07/05/15 06:24 AM |
|
0.23 |
360kB |
sirinsidiator |
07/01/15 01:02 PM |
|
0.22 |
353kB |
sirinsidiator |
06/24/15 01:05 PM |
|
0.21 |
348kB |
sirinsidiator |
06/14/15 01:38 PM |
|
0.20 |
342kB |
sirinsidiator |
04/12/15 09:14 AM |
|
0.19.1 |
328kB |
sirinsidiator |
03/10/15 12:14 PM |
|
0.19 |
328kB |
sirinsidiator |
02/24/15 04:36 PM |
|
0.18 |
320kB |
sirinsidiator |
01/24/15 11:36 AM |
|
0.17 |
319kB |
sirinsidiator |
01/09/15 02:17 PM |
|
0.16 |
316kB |
sirinsidiator |
12/23/14 02:57 PM |
|
0.15 |
316kB |
sirinsidiator |
11/23/14 10:29 AM |
|
0.14 |
316kB |
sirinsidiator |
11/09/14 05:18 AM |
|
0.13.1 |
314kB |
sirinsidiator |
11/08/14 03:13 AM |
|
0.13 |
314kB |
sirinsidiator |
11/04/14 01:43 PM |
|
0.12.4 |
313kB |
sirinsidiator |
10/01/14 10:56 AM |
|
0.12.3 |
313kB |
sirinsidiator |
09/30/14 01:22 PM |
|
0.12.2 |
313kB |
sirinsidiator |
09/29/14 02:42 PM |
|
0.12.1 |
313kB |
sirinsidiator |
09/23/14 12:49 PM |
|
0.12 |
313kB |
sirinsidiator |
09/21/14 09:49 AM |
|
0.11 |
309kB |
sirinsidiator |
09/16/14 12:15 PM |
|
0.10 |
308kB |
sirinsidiator |
09/13/14 06:04 AM |
|
0.9.2 |
306kB |
sirinsidiator |
09/10/14 02:13 PM |
|
0.9.1 |
306kB |
sirinsidiator |
09/07/14 06:36 AM |
|
0.9 |
306kB |
sirinsidiator |
09/06/14 12:59 PM |
|
0.8.3 |
305kB |
sirinsidiator |
09/02/14 09:20 AM |
|
0.8.2 |
305kB |
sirinsidiator |
08/30/14 06:41 AM |
|
0.8.1 |
305kB |
sirinsidiator |
08/29/14 01:20 PM |
|
0.8 |
305kB |
sirinsidiator |
08/29/14 10:15 AM |
|
0.7 |
294kB |
sirinsidiator |
08/24/14 12:55 PM |
|
0.7 |
292kB |
sirinsidiator |
08/22/14 09:30 AM |
|
0.5 |
289kB |
sirinsidiator |
08/19/14 01:19 PM |
|
0.4 |
286kB |
sirinsidiator |
08/18/14 03:01 PM |
|
0.3.1 |
92kB |
sirinsidiator |
08/15/14 12:53 PM |
|
0.3 |
92kB |
sirinsidiator |
08/15/14 10:43 AM |
|
0.2.1 |
90kB |
sirinsidiator |
08/14/14 02:44 PM |
|
0.2 |
89kB |
sirinsidiator |
08/14/14 08:45 AM |
|
0.1.1 |
3kB |
sirinsidiator |
08/12/14 04:22 PM |
|
0.1 |
3kB |
sirinsidiator |
08/12/14 10:44 AM |
![]() |
Comment Options |
sirinsidiator |
View Public Profile |
Send a private message to sirinsidiator |
Find More Posts by sirinsidiator |
Add sirinsidiator to Your Buddy List |
![]() |
|||
Thank you sirinsidiator for your replies to my questions and it is much clearer to me now.
Do you have any guidance on how to specify filters to improve performance? I did see you have reduced the Text Search string length. My searches when I use a search string include + to include an item and +- to exclude an item and a min of 3 unique chars of the item name. Other than that I use a combination of unit price range, quality level, level range, item knowledge across my filters. Thanks. |
|||
![]() |
![]() |
Onigar |
View Public Profile |
Send a private message to Onigar |
Send email to Onigar |
Find More Posts by Onigar |
Add Onigar to Your Buddy List |
![]() |
|||
Maybe I should write a proper guide at some point. The short of it is you should be very specific with the filters to reduce the required search requests as much as possible. Example: We are looking for any newly released motifs we do not know yet. First we select the consumable category, then the motif subcategory. Since we are looking for motifs to learn, we definitely want the unknown motifs filter. But that will still take around 10 requests to search through all motifs for an average sized trading guild. So how to make it faster? Let's assume we already know all the basic motifs, so we set the quality filter to purple. That will also exclude full books, but they are overpriced anyway. With that we are down to 8 requests. But we can still do better. Since the market for most older motifs is already saturated and many of them are easy to come by, we should definitely set a minimum price that will cut down the clutter. Since we do not want to break our wallet, we also have an upper price limit, so let's filter for motifs between 3k and 40k gold. That worked great. Now we are down to just 2 requests, which should take only ~3 seconds to load (unless the server is having issues again).
|
|||
![]() |
![]() |
sirinsidiator |
View Public Profile |
Send a private message to sirinsidiator |
Send email to sirinsidiator |
Find More Posts by sirinsidiator |
Add sirinsidiator to Your Buddy List |
![]() |
|
Forum posts: 0
File comments: 4
Uploads: 0
|
Very slow searches
Awesome addon that makes my selling a breeze but... (why is there always a but :-) )
It's making searches incredibly slow - first search results typically take between 1-2 minutes and it can take 10 minutes to get all results for an item. I use MM and TTC as well. I do frequent MM scans and update any missed sales with /mm missing daily. As soon as I disable AGS then searches are virtually instant. I'm on EU btw. Sad as love this addon... |
![]() |
![]() |
lordtyrion |
View Public Profile |
Send a private message to lordtyrion |
Send email to lordtyrion |
Find More Posts by lordtyrion |
Add lordtyrion to Your Buddy List |
![]() |
||
Re: Very slow searches
![]() |
||
![]() |
![]() |
sirinsidiator |
View Public Profile |
Send a private message to sirinsidiator |
Send email to sirinsidiator |
Find More Posts by sirinsidiator |
Add sirinsidiator to Your Buddy List |
![]() |
|
Forum posts: 0
File comments: 4
Uploads: 0
|
Re: Re: Very slow searches
As I said in my previous comments, the search is faster than ever with AGS 1.0 (at least for me). If it is slower for you, you are a) doing it wrong, or b) there is a bug that only you see. If you don't explain in more detail what you are doing, I can't help you. A video of what you see would be incredibly helpful to determine what's going on (ideally with the Activity Queue window that appears when you click on the "x requests queued" status line on the bottom).
![]() I'm really confused now. So yesterday the searches were slow so I disabled AGS and went back to default. Later on that day I wanted to check settings on AGS - so i re-enabled it - and the searches were normal speed again. This morning I logged in and searches were super slow on AGS - disabled and re-enabled and back to normal speed. I should have done a video before disabling/re-enabling, my bad. If its slow again when i next login will take a video. Again thanks for the addon and your great support :-)
Last edited by lordtyrion : 11/25/19 at 01:15 AM.
|
![]() |
![]() |
lordtyrion |
View Public Profile |
Send a private message to lordtyrion |
Send email to lordtyrion |
Find More Posts by lordtyrion |
Add lordtyrion to Your Buddy List |
![]() |
|
Forum posts: 1
File comments: 42
Uploads: 0
|
Uh, hi!
I cannot get your addon to work. Even with only AGS and its dependencies installed, I keep getting the follow errors: Code:
user:/AddOns/LibDebugLogger/LibDebugLogger.lua:108: attempt to index a nil value stack traceback: user:/AddOns/LibDebugLogger/LibDebugLogger.lua:108: in function 'FormatTime' |caaaaaa<Locals> timestamp = 1574725994376 </Locals>|r user:/AddOns/LibDebugLogger/LibDebugLogger.lua:401: in function '(main chunk)' |caaaaaa<Locals> LIB_IDENTIFIER = "LibDebugLogger", lib = [table:1]{TAG_INGAME = "UI", CALLBACK_LOG_CLEARED = "LogCleared", LOG_LEVEL_ERROR = "E", CALLBACK_LOG_ADDED = "LogAdded", ENTRY_STACK_INDEX = 7, LOG_LEVEL_INFO = "I", ENTRY_TIME_INDEX = 1, LOG_LEVEL_DEBUG = "D", LOG_LEVEL_WARNING = "W", ENTRY_TAG_INDEX = 5, ENTRY_MESSAGE_INDEX = 6, ENTRY_FORMATTED_TIME_INDEX = 2, ENTRY_OCCURENCES_INDEX = 3, CALLBACK_LOG_PRUNED = "LogPruned", ENTRY_LEVEL_INDEX = 4}, TAG_INGAME = "UI", LOG_LEVEL_DEBUG = "D", LOG_LEVEL_INFO = "I", LOG_LEVEL_WARNING = "W", LOG_LEVEL_ERROR = "E", NUM_MAX_ENTRIES = 10000, LOG_PRUNE_THRESHOLD = 11000, MAX_ENTRY_AGE = 86400000, MAX_SAVE_DATA_LENGTH = 1999, ENTRY_TIME_INDEX = 1, ENTRY_FORMATTED_TIME_INDEX = 2, ENTRY_OCCURENCES_INDEX = 3, ENTRY_LEVEL_INDEX = 4, ENTRY_TAG_INDEX = 5, ENTRY_MESSAGE_INDEX = 6, ENTRY_STACK_INDEX = 7, STARTUP_LOG_TRACES = T, STARTUP_LOG_LEVEL = "D" </Locals>|r user:/AddOns/LibDateTime/LibDateTime.lua:106: operator + is not supported for number + nil stack traceback: user:/AddOns/LibDateTime/LibDateTime.lua:106: in function 'lib:CombineIsoWeekAndYear' |caaaaaa<Locals> self = [table:1]{}, year = 2019 </Locals>|r user:/AddOns/LibDateTime/LibDateTime.lua:144: in function 'lib:GetTraderWeek' |caaaaaa<Locals> self = [table:1], weekOffset = 0, _ = 1575248100, endTime = 1575248400, startTime = 1574643600, isoWeekTime = 1574816400, year = 2019 </Locals>|r user:/AddOns/AwesomeGuildStore/guildstorelist/OwnerList.lua:85: in function 'OwnerList:GetCurrentWeek' |caaaaaa<Locals> self = [table:2]{} </Locals>|r user:/AddOns/AwesomeGuildStore/guildstorelist/OwnerList.lua:59: in function 'OwnerList:Initialize' |caaaaaa<Locals> self = [table:2], saveData = [table:3]{}, guildIdMapping = [table:4]{}, weekOrder = [table:5]{} </Locals>|r user:/AddOns/AwesomeGuildStore/guildstorelist/OwnerList.lua:10: in function 'OwnerList:New' |caaaaaa<Locals> self = [table:6]{}, object = [table:2] </Locals>|r user:/AddOns/AwesomeGuildStore/guildstorelist/GuildStoreList.lua:602: in function 'InitializeGuildStoreList' |caaaaaa<Locals> globalSaveData = [table:7]{showTraderTooltip = T, guildTraderListEnabled = T, disableCustomSellTabFilter = F, version = 25, minimizeChatOnOpen = T, purchaseNotification = T, listingSortOrder = F, skipGuildKioskDialog = T, preferredBankerStoreTab = 2, mailAugmentationShowInvoice = F, shortMessagePrefix = F, augementMails = T, listingSortField = 3, listWithSingleClick = T, listedNotification = F, cancelNotification = T}, KioskData = [table:8]{}, StoreData = [table:9]{}, saveData = [table:10]{language = "en", version = 3}, lang = "en", guildIdMapping = [table:4] </Locals>|r user:/AddOns/AwesomeGuildStore/StartUp.lua:247: in function 'callback' |caaaaaa<Locals> saveData = [table:7] </Locals>|r user:/AddOns/AwesomeGuildStore/StartUp.lua:47: in function '(anonymous)' |caaaaaa<Locals> event = 65536, name = "AwesomeGuildStore" </Locals>|r ![]()
Last edited by SneakyWitchTheif : 11/25/19 at 06:16 PM.
|
![]() |
![]() |
SneakyWitchTheif |
View Public Profile |
Send a private message to SneakyWitchTheif |
Send email to SneakyWitchTheif |
Find More Posts by SneakyWitchTheif |
Add SneakyWitchTheif to Your Buddy List |
![]() |
||
|
||
![]() |
![]() |
sirinsidiator |
View Public Profile |
Send a private message to sirinsidiator |
Send email to sirinsidiator |
Find More Posts by sirinsidiator |
Add sirinsidiator to Your Buddy List |
![]() |
|||
Forum posts: 1
File comments: 42
Uploads: 0
|
I'll see if I can get it working with that, thank you! |
||
![]() |
![]() |
SneakyWitchTheif |
View Public Profile |
Send a private message to SneakyWitchTheif |
Send email to SneakyWitchTheif |
Find More Posts by SneakyWitchTheif |
Add SneakyWitchTheif to Your Buddy List |
![]() |
|
Forum posts: 0
File comments: 4
Uploads: 0
|
Re: Re: Very slow searches
As I said in my previous comments, the search is faster than ever with AGS 1.0 (at least for me). If it is slower for you, you are a) doing it wrong, or b) there is a bug that only you see. If you don't explain in more detail what you are doing, I can't help you. A video of what you see would be incredibly helpful to determine what's going on (ideally with the Activity Queue window that appears when you click on the "x requests queued" status line on the bottom).
![]() Hey sirinsidiator, As requested I've taken some vids on the slow searches: Without AGS: https://www.youtube.com/watch?v=JMkl...ature=youtu.be With AGS: https://www.youtube.com/watch?v=jpwmS-qZntQ I'm on a 300mbps fibre connection and the PC hardware is decent. On the vid uploaded it took over 5 minutes to get the requested search result as it seemed to scan 100 listings per request and also frequently timed out?. The other 2 searches I didn't record (as the vid was getting huge) but they took 4 minutes and the last one didn't finish at all. If I disable/re-enable AGS then searches are fine for a few hours or until logout but then it gets slow again. Appreciate your work on the addon and your support :-) |
![]() |
![]() |
lordtyrion |
View Public Profile |
Send a private message to lordtyrion |
Send email to lordtyrion |
Find More Posts by lordtyrion |
Add lordtyrion to Your Buddy List |
![]() |
|
|
request feature
keybind to rotate Browse/Sell/Listings ![]() |
![]() |
![]() |
Marazota |
View Public Profile |
Send a private message to Marazota |
Send email to Marazota |
Find More Posts by Marazota |
Add Marazota to Your Buddy List |
![]() |
|
Hey, could you remove the bundled libs from the addon for standalone ones please?
|
|
![]() |
![]() |
Octopuss |
View Public Profile |
Send a private message to Octopuss |
Send email to Octopuss |
Find More Posts by Octopuss |
Add Octopuss to Your Buddy List |
![]() |
|
|
AGS's performance has been absolutely atrocious the past week or so. Sometimes it gets stuck trying to find whatever I'm searching for and just stalls forever, seemingly doing nothing. After turning off AGS, searches are extremely fast and responsive. Please look into this. I know others have complained of this as well in the comments.
|
![]() |
![]() |
NeuroticPixels |
View Public Profile |
Send a private message to NeuroticPixels |
Send email to NeuroticPixels |
Visit NeuroticPixels's homepage! |
Find More Posts by NeuroticPixels |
Add NeuroticPixels to Your Buddy List |
![]() |
|
Forum posts: 0
File comments: 61
Uploads: 0
|
AGS guild owners list BUG
AGS saves current week's guildkiosk owners data as week 201901 instead of correctly creating week 202001 for it. Please fix it, thanks!
|
![]() |
![]() |
refinicus |
View Public Profile |
Send a private message to refinicus |
Send email to refinicus |
Visit refinicus's homepage! |
Find More Posts by refinicus |
Add refinicus to Your Buddy List |
![]() |
|
would it be possible to add "move to top/bottom" context menu entry in the custom searches?
|
|
![]() |
![]() |
Octopuss |
View Public Profile |
Send a private message to Octopuss |
Send email to Octopuss |
Visit Octopuss's homepage! |
Find More Posts by Octopuss |
Add Octopuss to Your Buddy List |
![]() |
You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.