"Buy Me A Coffee"

  • 3 Posts
  • 44 Comments
Joined 1 year ago
cake
Cake day: June 13th, 2023

help-circle

  • Correct. As I can only provide links to posts that are on your selected home instance. Eventually I’ll change this but you’ll get a 404 page for links that aren’t on your home instance, but see my P.S. below.

    P.s. there have been changes to the Lemmy API that have prevented me from getting updates for about a month now. So most of the results you’re seeing are from old posts only. Until I can rebuild the crawler or find a new API there won’t be any new content.



  • Yep that’s the new idea. The sad part is that with this method there’s no way to get historical data. Only new posts. So if a server goes down, gets DDOSd etc… I’ll lose posts forever.

    Also building an ActivityPub implementation from scratch isn’t trivial either. So that’ll take some time.

    I’ve got a few other ideas I’m playing with as well. Like just assuming that internal post IDs are all sequential and literally fetching them one by one. Or maybe some combination of both?






  • Think of Lemmy as email. Each post or comment is just an email sent to a distribution group (a community). If your email server goes down, all of those users and distribution groups are gone. Now I’ll still have the emails I sent to you in my email box but you won’t be able to see them as your email server is offline. Sure you could create a new account on a new server but you’d have to tell everyone about your new address (federate) but there’s nothing to associate your old user with your new one and there’s no way to backfill data. I could reply-all or forward (comment) on to your new address but there’s still no way to associate those old posts with your new account.


  • So the builder pattern is supposed to solve the problem of: if you have a large number of optional fields that may or may not need to be set to construct your object. Then once the dev has called all of the setters that they require, they call build to fully realize that object.

    Some rules that all builders should follow:

    • All setters SHOULD represent optional parameters. (Or ones that have a default value). If a parameter is required for all instances, include it in the constructor of the Builder itself.
    • All setters SHOULD return a copy of the Builder. This way you can chain calls off of each other.
    • Setters SHOULD do nothing more than store the provided value in a field local to the builder itself and then return itself (or a copy of itself).
    • You MUST expose a .build() method that will return the fully realized object. This method should essentially call the constructor for your target object using all of the parameters, regardless if a setter was called or not. Obviously any value where the setter wasn’t called will be null or some default value.


  • That looks like 8.8.8.8 actually responded. The ::1 is ipv6’s localhost which seems odd. As for the wong ipv4 I’m not sure.

    I normally see something like requested 8.8.8.8 but 1.2.3.4 responded if the router was forcing traffic to their DNS servers.

    You can also specify the DNS server to use when using nslookup like: nslookup www.google.com 1.1.1.1. And you can see if you get and different answers from there. But what you posted doesn’t seem out of the ordinary other than the ::1.

    Edit just for shits and giggles also try nslookup xx.xx.xx.xx where xx.xx… is the wrong up from the other side of the world and see what domain it returns.


  • Another thing that can be happening is that the router or firewall is redirecting all port 53 traffic to their internal DNS servers. (I do the same thing at home to prevent certain devices from ignoring my router’s DNS settings cough Android cough)

    One way you can check for this is to run “nslookup some.domain” from a terminal and see where the response comes from.



  • There is a public API now. While I won’t support sorting, you can process and do what you will with the results as-is. Currently I only support Posts and Communities for now.

    When you search for posts you’re just matching against the title or body. For communities it’s searching the posts within that community.

    There’s also more filters now with: instance/community/author/since/until and a safe-search option.

    So I’m not sure how close this comes to your idea but I thought I’d share.





  • I’ve already started to abstract away Lemmy from the search engine itself. So the first steps are in place. Once I get the kinks of the 0.4.x release knocked out then I plan on reading up on Kbin’s API and I’ll start working on the crawler. I can’t promise anything but that should give you a rough timeline.

    If you have any programming skills I could always use a hand.