Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - [Lestrades.com] Nao 尚
1201
The Noble Talk / Time to give back a little..?
« on April 3rd, 2017, 12:55 AM »
Yes, I know the website isn't finished, and even just the trading system is FAR from being finished.
Starting tomorrow I'll resume work on the list mass-editor, I'll start with the ability to add multiple games from a text file, like B does.

I've got a long road ahead.
I need to make sure this isn't going to end in ashes like it did with Wedge, so I need motivated users who trust me to do great, and who in turn can give me some motivation!

When the offer system is more or less finished, I'll release a premium system where paying members will get multiple advantages. One of those will be access to custom filters for even simpler and quicker matches.
I've already 3 filters in place, and they're very efficient and actually do make life easier. A handful of users were able to test them.

Premium access costs haven't been established yet, but I'm thinking there'll be an entry level between $1.5 and $2.5.

Today I'm offering you the ability to get premium access in advance and for free until it gets officially introduced. You'll also get about 1 month of extra access per ~$2 of investment. (So, if I release premium filters in 5 weeks and you buy be a $1 game, you'll get a total of 7 weeks of use.)

When the premium system is opened, I'll take PayPal for subscriptions. In the meantime I'm allowing for Steam wallet and really mostly regular games :) Just contact me on Steam or e-mail.

Games that are currently on sale and that you might wanna buy me: Arvale Deluxe (1€), Wind Child (1€), Thorne (2 episodes, 1€ each), The way we all go (1.5€), Celestian Tales DLC (1.7€), Putt-Putt Goes to the Moon (1.95€, by far the one I want the most, as they're my kid's favorites ;)), Snail Bob 2 (2€), Starchaser (3€), Forget Me Not (4€), and all three Neptunia Re:Birth games (5.6€ each). Other cheap games: you can always suggest, but I'm not too interested in games that aren't on sale.
If you had to offer me a game that's not on sale, might as well take from my top 10 wishlisted games.. :P (I really want the first two, ah ah. So expensive for the first!)

These are just suggestions of course.
You can also do a match with me (https://lestrades.com/offer/?u=1), and see if there's anything I want from you. The same rules apply, depending on how much you paid for the copy. ;)

As a final note: I'm building a site, I know I'll never get properly paid for it, but I'm not doing it for the money. But that doesn't mean money can't serve as an extra motivator. If you're not into premium features, just ignore this topic. No need to create another flame war like we had in December. I understand that there are people who think that web developers are already paid a billion dollars a year by the Internetz Web Development Fund for Smart People Who Can Code. But they skipped this month's check bounced and now I'm $100M behind; and my 100th Ferrari isn't gonna buy itself!

PS: message written before going to bed. Meaning I'm not proofreading myself. I may be full of sh** for all I know.
1202
The Noble Talk / Re: What's up at Lestrade's?
« on April 2nd, 2017, 10:45 PM »
The problem with e-mail notifications is that I don't have e-mail addresses by default, so you have to enter them.
I respect e-mail notification settings for all other notification types (mentions, likes.. stuff that doesn't really matter!), but for offers, they have a direct influence on the sender of the notification. I found that Barter was more engaging once I went through the very convoluted system of adding my RSS feed to that external website and started getting notifications, so I feel like if you enter your e-mail address, it would be a shame not to use that. If you really change your mind, I can simply reset your e-mail address in the database, but it'll make you unable to receive any notifications until you re-enter it.
1203
The Noble Talk / Re: What's up at Lestrade's?
« on April 2nd, 2017, 06:19 PM »
I tested in chrome and firefox and didn't have width issues.
The space + backspace trick isn't working, sorry. What I meant is backspace first, then another letter. In this case you can see D show up in first position. ;)

Adding from search box is actually a thing I looked into, but... it's a bit complicated. Js doesn't cooperate well. I'll try again later but right now I'll focus on using the new search engine to mass-add games in tradables. Eheh that was the plan all along.

Also, it doesn't really matter but my rewritten JavaScript code is several kilobytes shorter, saving a total of ~1000 bytes when loading the page without cache.
1204
The Noble Talk / Re: What's up at Lestrade's?
« on April 2nd, 2017, 05:14 PM »
IMPROVED: The search engine is as close as possible to what I wanted. It features thumbnails (that load and show up in a fade-in effect), it gives you extra information to help you find your game (tells you if it's decommissioned, a Steam package, or an Origin or Uplay key...), mobile version takes up more space, I've fixed many of the bugs it used to have, and the sorting is now pretty, PRETTY accurate. I'm not going to reveal my algorithm but I found it was cool (and a quick trick, too.)
Oh, and if you can't find the game you're looking for after typing 5-6 characters, press Space then Backspace. It's sort of a cheat mode , not a bug. I could have fixed it but it helps compensate for issues that could come up with game names that are very common, such as typing 'the'... I may try to improve that in the future to avoid having to do that trick, though.
1205
The Fatal Problem / Re: If it bugs you, then it bugs me.
« on April 2nd, 2017, 01:25 AM »
First things first, as mentioned in the FAQ, expiry dates are just for show right now. They're not enforced. In fact those who talked with me about LT's last year may remember that for a long time I considered not having expiry dates, only accepts, declines and cancels. I'm not sure I'll stick to that, but for now, there isn't an expiry.

Yes, removing and adding an item will change its tradable ID, thus screwing up your offers that include it. That's why I asked a couple days ago whether I should disable the Remove from List button for these items (until they're removed from all offers), or instead auto-cancel offers (an idea I'm not very fond of.)

In the long run, these problems won't be problems anymore.

Gosh I'm so SLOW at work. I was tweaking the search engine and ended up spending my entire day on it, and it's broken right now... (Well, I had JS errors; I reverted my code to make it work, but it's uglier than earlier today, I'll fix that tomorrow, too tired right now.

Oh, and I've found a UI solution for multiple tradables. That's some progress.
1206
The Noble Talk / Re: What's up at Lestrade's?
« on April 1st, 2017, 10:43 PM »
FIX: E-mail notifications for offers (accepted, declined) will now always be triggered immediately. That's a change from Barter where you had to wait for another site to parse its RSS :)

NEW: E-mail notifications now include a short text summary of the bundle offer. It's not perfect, I know. I'd rather send HTML, too, but I've noticed that sending in HTML tends to have Google flag my e-mails as Notifications (which, yeah, I *know* they are, but Google doesn't bother to give me a notification (sigh) on my phone when it's not a 'General tab' e-mail. Which defeats the purpose of these notifications entirely.)

@joaoarena, no, but you can ask me in private, I won't bite. :P
1207
The Noble Talk / Re: What's up at Lestrade's?
« on April 1st, 2017, 07:20 PM »
Again, what's next, asking me to sync with your steamtrades lists..? Because that's not impossible :-P

In fact there's another site I'd want to sync with in priority. You guys will understand when it's done. ;)
1208
The Noble Talk / Re: What's up at Lestrade's?
« on April 1st, 2017, 04:47 PM »
Quote from ☺☺☺ on April 1st, 2017, 04:04 AM
Like you said yourself several messages ago:

-Scrape/export the Tradables list (or whichever other list) from Barter, but don't even attempt to code any automatic item add/removal logic. instead:
-just compare the list against the equivalent list here AND print a list of items that are different using this simple criteria: "items that are listed at Barter but not here" AND of course there should be "Add to Tradables" button next to them.
Hmm, yeah, that may be a thing I can do.
I'd still have to bother with quantities, though...
Quote from ☺☺☺ on April 1st, 2017, 04:04 AM
This way, it's super simple task of just comparing the itemIDs between the 2 lists, and some fairly simple filtering of the results. The complexity goes away when leave the adding/removal part to be the users' responsibility.
I suppose so. But it won't be realistic until I add the mass-edit feature to lists. Which won't happen until I have a single-edit feature for game pages (to tag, modify quantities, etc.)

One thing I didn't realize when I opened the trading system to the public was that I couldn't 'play' with game lists anymore. Previously, if I broke something, I could just reset it from a backup or just wait until the sync was done automatically again. Now it's likely to eliminate offers sent between a potential backup and the moment I screwed up... Ah well, I can always backup the table right before I run a test, right? Well, I for one wouldn't like that. :P

It's one of the reasons it's not going as fast as I'd like right now. Just look at the notification system. It works fine, except it doesn't frigging send e-mails all the time. But now that there are thousands of trade offers flying around, any change can have a drastic effect.
I didn't write the initial code (which was quite messy, although I do appreciate and respect its author Dragooon), and I've had to rewrite it several times. At one point it was deleting a user entry from memory, then immediately testing that user entry (!!) to see if it was empty or not.[1]
From what I'm seeing right now (even after that fix which I hoped would fix e-mail notifications), it looks like notifications don't get sent if you still have an unread notification in your popup. Except that in this code, an "unread notification" is a notification for which you haven't read the preview. So, if you receive a "like" on a post, you open the popup, you see someone liked it, cool, you close the popup... That's it, you won't get any further e-mail notifications until you come back and click 'Mark as read' (which is my convenient addition for those who got too many notifications recently.) Worse, e-mail notifications are all disabled by default. I wouldn't enable like notifications by default of course, but it's not particularly easy to find these settings, and having to find it and enable it separately is daunting, for a noob-friendly website.
I'm thinking I'll just modify my code to check if it's an offer-related notification, and if yes, and an e-mail address was entered, forcibly send a notification.[2] And yes, I'm going to meet another problem: "Okay man, I don't want your notifications!!!"... But why did you enter your address then :P So I'll probably do it. If too many users complain, then I'll restore it to disabled by default, and I'll try to make it clearer where to set this up.
Quote from ☺☺☺ on April 1st, 2017, 04:04 AM
I think the priority should be to make the list syncing possible in the first place, and then improve it at later time as a separate project if feel like.
The priority should be to help Lestrade's stand on its own. , not reference Barter for everything. Personally, I have no plans to trade over there anymore, and I don't get why Barter wouldn't offer the ability to import its lists from LT's. :P
I don't know about you, but regardless of the Barter admin's good will, I have no plans to trade over there anymore. (The last offer I sent was 5 days ago, and even then it was at best a way to compare something between our two offer systems.)
I want to find a good balance between helping out users and wanting to put LT first.
Quote from ☺☺☺ on April 1st, 2017, 04:04 AM
This would be totally doable with userscript also, in case Nao isn't too interested to implement this on-site. Anybody out there who wants to do it? If not, I guess I could do it sometime in the near future...
Well, this would allows me to focus on more important parts of LT (according to me at least).
Quote from ☺☺☺ on April 1st, 2017, 04:04 AM
(edit: actually I have already made very primitive script for my own use that does the job for Steam items, but there is no proper GUI (yet because of course I don't need such myself), so I'm hesitant to release such version some might find too technical to use)
You know what, you should do it. Know why? Because anyone who's used a user script to fix Barter before *is* already a frigging nerd. :P
 1. For the curious: https://github.com/Wedge/wedge/blob/master/core/app/Class-Notification.php#L220
 2. Unfortunately, there are only 178 users who bothered to enter one... So, it's like 700 users don't care. :P) (And no, I can't get their e-mail address automatically, Steam doesn't provide it, thankfully. It *should* be on a voluntary basis.
1209
The Noble Talk / Re: What's up at Lestrade's?
« on April 1st, 2017, 03:44 PM »
UPDATE:
- Search engine will now sort results in a slightly less dumb way. It's not perfect (type "one pi" and it'll show you "Half Life 2 Episode One before One Piece), but it's probably better than before, where I sorted by most recent Steam additions first.
- Added a thumbnail next to game titles. Your mileage may vary. I like it, but it loses the 'fast query' aspect of it, because it has to load the thumbnails from Steam. Then again, not having to always read the text can make up for it. I don't know. Opinions welcome.

Yeah, I know, none of you want me to focus on the search engine... I'm still working on the rest, it's just that I use that damn search engine a lot to test my other features, and it always hurts my eyes a bit. :^^;:
1210
The Noble Talk / Re: What's up at Lestrade's?
« on April 1st, 2017, 01:09 AM »
I can do it manually but not automatically. It would be a real mess. It would also automatically cancel all your offers, and even your previous offers could end up being unreadable because of changed tradable IDs.

Note: I just remembered that Barter never deletes its tradable entries. Maybe the admin (I still hate not even having a nickname to address him... -_-) could do an API that returns tradable IDs. That way I might be able (not sure) to keep track of tradable IDs from Barter (but that does imply an extra column to my tables >_<) and it'd be easier to sync. There would still be a problem with quantities, of course. And that I don't want to have too many columns. Eventually slows everything down.

Bed time.

(And I hate that this Barter sync thing is getting asked so much. I know we share most of our userbases, but why doesn't anyone ask SteamTrades to sync with Barter as well? And why shouldn't it be Barter that bothers syncing with LT? :P)
1211
The Fatal Problem / Re: Sync Buttons
« on April 1st, 2017, 01:04 AM »
Quote from uktvuktv on March 31st, 2017, 08:06 PM
Still it would be nice to have some editing options down the line.
There will be. I released the system early for users to be able to trade when Barter died out on them.

@Victor Jota, you were out of luck. You registered on Barter *after* I stopped syncing. And since I had server crashes when analyzing user data at barter, I decided to go for a static array in a static file, meaning new users wouldn't be added. It was a logical choice a week ago, less so now-- but I've also removed the Barter new user scraping code so it's annoying to fix. :P

I fixed your account manually, you should be able to import now.
1212
The Noble Talk / Re: What's up at Lestrade's?
« on March 31st, 2017, 11:54 PM »
FIX: The search engine was a bit broken, as you all know. It would narrow results down too much when typing more letters. I finally found the reason for the problem-- the code to narrow the search down was written with member search in mind, and only kept a result if the exact beginning was your search string. I've modified it to instead behave the same way as the alternate path does: take each word you typed in the search box, and make sure each of them is part of a game's name. It's slower than the previous bit of code, by a few milliseconds. I'm really sorry about that. (No I'm not. I'm sorry for the half-broken search, though.)
Quote from /u/humpaaa on March 31st, 2017, 01:43 PM
Any thoughts on enabling a "sync Lestrades lists with barter lists"-feature?
Again: it's technically impossible.
What I *could* do is load your Barter tradables, compare each of them with LT's, then offer to add games it couldn't find at LT's, and remove games that are at LT's but not on Barter. But again, it wouldn't be able to take multiple entries of a game into account. Well, it could, but that would make it even harder to sort out list modifications. Also, a single game's quantity can be set to different values. And even if the value is x1, it's pretty compicated. Let's say I have Firewatch on both LT's and Barter. Now I'm trading my copy of my game at LT's. I no longer have a copy. Let's sync with Barter. It says Fiewatch. Okay. So the question is now, is that a NEW copy that was recently added to Barter, in which case I should import it, or is that the copy I traded on LT, therefore needing to be ignored? So, Lestrade's now has several possible actions: ignore the game (which is silly), add it anyway (which is also silly), or the realistic one: load LT offer history, see how many copies of that game I possibly traded. Then check the last time LT imported Barter data. Then LT can determine the number of copies you had before your last sync. At this point, it has two choices: if you traded your copy at LT's after the last sync, then Barter's copy is likely (but not 'certain') to be the copy you traded, in which case we'll ignore it (and it's up to Barter to sync with LT and remove that copy), or you traded your copy before the last sync, in which case it's very likely the game should be added to the database again.

I'll let you imagine the complexity of adding this code, having to ask users for their opinion on all games that different in quantity (that would be a relatively complex UI and writing good UI isn't my strong suit), and having to keep track of the last time you synced with Barter, once for each different list. Not only that (!), but in order to make things realistic, Barter would have to do the exact same thing for its tradables, in the opposite direction. There's another alternative, sending each other completed offer data, but that wouldn't take care of items you added manually... So, we'd have to send each other, in real time, every single addition or removal we do (either manually or automatically) to our lists. And because networks are what they are, it can't be guaranteed that all data will be transmitted properly. For instance if one of the sites is down for an hour. So in that situation we need to create an update queue where additions and removals are temporarily stored, and sent regularly to the other site until it acknowledges it received the data. But we'd also have to enable an acknowledgement queue, just in case a network issue prevented sending confirmation to the other site. And finally, if we receive the data but there's a bug on the local website, we could get corrupted data that's seen as 'correctly transmitted', or even funnier, site crashes while attempting to add data, then all games being added in that moment get lost, probably without your knowledge of it.

So, in our realistic situation (i.e. all lists are perfectly synced in realtime), we find ourselves with a *monstruous* codebase just to implement the basic feature of syncing our lists. I know I won't write that, because I have more important things to write first, and I doubt the Barter admin would write that, because I'm not sure he'd think himself capable of building a network-fool-proof syncing mechanism.

Let's think about it again in a year's time, okay...?

There's also the possibility that someone would want to write user scripts to accommodate for these problems, but they'd have to keep all syncing dates in storage, and account for all situations I listed above from the top of my head (a word which here means "I'm sure there are plenty more ways to break sync.")
What you wanna do is maintain one list thoroughly and then update the other one from time to time. My Steamtrades list is far from complete, I try to put most of my unbundled (or rarely bundled) games there, because that's what gets traded the most at ST, and my bundle games can stay on LT.

I wouldn't have been able to automatically sync forever between Barter and LT like I did in February and most of March, because the moment you become able to edit your LT lists (and send offers), then it's no longer a simple game of scraping Barter for list data. You can't have your cake and eat it, if I may say.
Quote from /u/humpaaa on March 31st, 2017, 01:43 PM
The numbers in the URL's still match, don't they?
No, game IDs match, not tradable IDs. That's where it counts. But even if I did sync only by game ID (thereby destroying all metadata regarding quantities and stores), I'd still have the problem of having to determine whether the non-matching quantities for your games are due to the addition or removal of one game on one side... But which one, eh?
Quote from /u/humpaaa on March 31st, 2017, 01:43 PM
Personally, i don't see me using that feature.
Yeah it was useless anyway-- you'll understand when you start using the bundle game importer.

Which reminds me I still haven't finished writing the new bundle update script, AH AH...
That's always my problem with forums: either I answer thoroughly and hope it'll help, or I work on the code itself. I just spent half an hour explaining why I can't do syncing, but maybe someone will figure out a way to do perfect sync in less than half an hour. :P
1213
The Noble Talk / Re: What's up at Lestrade's?
« on March 31st, 2017, 01:31 PM »
In the last couple of days I added plenty of very minor features, mostly fixes, and didn't bother to mention them.
I also forgot to mention that game pages now mention all offers involving you that contain the game. Completed offers are still shown separately, but technically it'd be simpler to show them alongside the rest. Dunno what you think. If you do a lot of offers for a specific game, their page will be filled with those every time you visit it, so I'll have to devise some extra HTML/JS to allow you to hide & show all declined/expired offers. Someone will just need to remind me because right now I'm gone to other areas.

I also started work on tagging games. The thing that's slowing me down is the ability to tag multiple copies of the same game differently. Well, when you see how it turns out (I think it'll be... nice?), you'll understand why I had trouble.
After that, it'll be easier to allow tagging from list pages.

I'm also trying to tweak the offer notifications, more precisely by e-mail. I noticed yesterday that e-mails weren't sent immediately. I looked into the code (which I only partially wrote), and didn't see anything peculiar, except from one variable being unset right before testing for its existence. Looks like debugging code to me but it was like that when first committed, ahah.[1] So I moved that to later in the code and I'm waiting to see if it helps. Well, I'm not receiving a lot of offers, so... You know what to do :P

What else..?

Oh yes, I'm working on importing the most recent bundles. I figured I'd do it in reverse, latest first and oldest last. It'll be more useful. Once I'm done importing (which requires rewriting my scraper, which was really built for a 'one and done' task), I'll work on the ability to add bundle items directly to your lists. I'd like to know, though, if you guys think it'd be useful to add a flag to those games indicating the exact bundle where they're from (rather than just the store they're from). I'm wary of that, as it does mean adding more data to the database. Plus I'd start wondering "should I allow for wishlists to have that flag as well...?", and then I'll go mad. Bwuhuhahahuhhahuhuhahahauhuhu.
Tell my car I love her. Blue daffodil over & out.
 1. Seriously, that piece of code initially seems brilliant, but then you realize it's the perfect example of object-oriented programming gone mad.
1214
The Fatal Problem / Re: Sync Buttons
« on March 31st, 2017, 01:01 AM »
It's been addressed 6727 times, + in the FAQ... :whistle: :ph34r:
1215
The Trader's Clerk / Re: The Beginner's Guide to Lestrade's
« on March 30th, 2017, 08:32 PM »
Did you have a barter account at the time you registered here?