I am logging out at the moment. But I don’t want to forget this topic. So tagging you in advance.
I am thinking of buying a gaming system for this Thanksgiving. Any help? You seem to be the most knowledgeable gamer on the threads.
Background:
Played a lot in childhood. Not much in recent years. Final Fantasy 14 is the last major game I played a couple of years ago. Play games like Pokémon Go, Harry Potter Wizards Unite, Genshin Impact, Stardew Valley etc. on mobile intermittently.
I don’t know what your budget is, but if you can afford a PS4, I say go for it! It may not be as powerful as an XBOX, but it has a way better range of games (especially if you like RPGs), in my opinion. There’s the option to buy the cheaper PS4 Slim, if that suits your budget better.
A Nintendo Switch is also a great option, because you can play games handheld and on your TV. If you’re a Nintendo fan, it’s a must-have, and the 3rd party library of games is probably the best Nintendo has ever had in history, so you can even play some games like The Witcher and a select range of Final Fantasy titles. If that’s too expensive, you can go for the Switch Lite, but this eliminates your ability to play games on your TV and use external controllers.
Now, you may have noticed that I haven’t recommended buying a PS5 or an XBOX Series X, and that’s because I really don’t recommend buying the first batch of new consoles. That’s because they often have bugs, and the games library is going to be super small in the beginning.
So to summarize, I say go for a PS4, but if handheld gaming is more your thing, then go for a Switch. Hope that helps!
Based on your advice, I am mostly leaning towards PS4 (80%) and Switch (20%). I walk around enough for PoGo and Harry Potter. And I generally prefer to focus on the game instead of stops/constant noise. PoGo/HP is a different case since there is not much story to it and the actions are mostly mechanical
@BIsTheAnswer Is there a way for us to extract the first posts by all users in the forum for the year 2020? Whenever a user posts for the first time in the forum, a welcome prompt appears above the post. So, it must be operating on a tag. or If there is a tag related to posts, we can declare it to 1.
Is it possible?
If yes, how difficult is it?
If it is relatively easy (from a coding perspective), how time consuming is it?
Certainly, basically you can query all activity from a given user by going to the user_actions endpoint of the forum, which is used to load the data for the activity tab on a users profile.
The filter tag can be used to filter out the otherwise massive amounts of information. If I remember correctly, 1 are likes given by the user, 4 are the user’s topics, and 5 are the user’s replies, so you’ll probably want to put the filter to 4 and 5 if you want to find out the users topics.
The offset parameter can be used to browse further back, if you put it to a value of n it starts at the n-th most recent post, so 0 gives you the most recent post as the first element, which is the default.
It’s not too hard to do, all you’d have to do is go through all users and query that endpoint, increasing offset until you hit one where the year flips back (or you reach the end, of the stream, whichever comes first). Getting all users is easy too, you can use the badges to do so. There’s an endpoint called user_badges that simply returns information on a given badge, including an array users you can use to go through all users who have a given badge. For example, for the Basic badge, the id is 1, so you can go to https://community.wanikani.com/user_badges.json?badge_id=1 to see how the object looks. It also accepts an offset parameter which you can increase to advance the user array. If I remember correctly it’s sorted by the date on which any given user acquired the badge. Querying all users takes maybe a minute at most or so.
If you want to take the Campfire or any other non-public parts into account, you would need to provide some form of authentication, as without it only the public parts of the forum are visible. For the like graph I just logged in with my browser and took the Cookie string right out of it, then provided that as Cookie header from the script I used, which is a bit of a hack, but it works nonetheless. You then get the same visibility as whatever account you’re logged in as (so actually my like graph was a bit off, it didn’t take any of the level-based campfire subforums aside from “Pain” into account, as I didn’t have access to those myself, but since most of those are pretty inactive, they’re probably not enough to change any totals).
Now this is the harder part. The data is sorted by date, so that at least helps. But linearly walking back can take a long time for some users (the most active users specifically). There’s also a rate limit on how fast you can query the endpoint, so you’ll have to take that into account. I think you can query maybe 30-50 posts a second or so, so if you have to go back far that might take a while. And since it’s using the same endpoint as you would when you’re using the forum, you’re essentially locked out until it finishes (at least if you’re requesting at maximum speed). You can optimize it a bit by querying the total number of posts from any given users’ summary, and then binary searching for the date. You can even bias the starting point based on the date a given user joined.
Maybe there’s even a way to change the order or to filter based on the date field, but I haven’t experimented with it a lot, so I can’t be sure. You could try passing a couple of extra query parameters to the endpoint to see if it changes anything.
Going through all user summaries to get their most-liked and most-liked by list took around 3-4 hours or so for all Basic users, and that’s essentially 1 request per user. So if you increase the number of requests you’ll be looking at a heavily increased search time. The vast majority of basic users have barely ever posted anything, so you should be able to get their info with 1 request. For the heaviest posters on the platform, you might be looking at around 16 requests with a binary search. All in all, I’d say it might take a script running from a single IP around 8-12 hours, so you could probably do it if you let the thing run for a night.
If you have multiple IP addresses you can run the script from, then you can easily parallelize it by just splitting the users up over every IP address.
So all in all, if you’re willing to let the script run for a night, then it’s not that hard to implement.
The reason discourse has an easier time is because it’s a lot easier to verify if a given post is someone’s first than it is to find someone’s first post. Basically, the moment you make a post, if your activity log is empty, then that post is the user’s first post, and it can simply mark it immediately. It also sets a field called notice in the object describing to an object indicating that the given post was a user’s first post. So if you want to exclude anyone who already made a post before 2020, you could simply look at the post id for the first post in 2020 and see if it contains this.
Sorry for writing such an enormous dissertation. I hope it helps anyways
Should probably be clear from my previous response that the answer is “no”. I used to watch cricket, and tennis when the Australian Open is on, but I don’t really watch either any more. The family are big AFL fans, mind.
Not… entirely sure where the question came from, though.
Sweet. I was going for Hewitt because he was an Aussie. Did you ever watch Australian Open in the arena? Or did you ever see a Boxing Day Test Match? (Considering your previous replies, I am assuming a NO ) Gilly used to be my fav keeper. I am more of a Federer fan in Tennis (I also cried a lot during the 2009 award ceremony )
Unfortunately the only Socceroo player I know of is Cahill and I think he retired a couple of years ago.
Note:
I apologize if I made you uncomfortable with my out of the blue sports conversation/questions
Unfortunately there are no PS4 deals so far. It sucks big time. My friend got it for $199 last year and prices are jacked up to $400 even for open pieces. And the new PS5 is $500.